:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors: active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--scale-factor));width:100%;min-width:calc(180px * var(--scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--scale-factor)) calc(5px * var(--scale-factor)) #888;border-radius:calc(2px * var(--scale-factor));padding:calc(6px * var(--scale-factor));margin-left:calc(5px * var(--scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--scale-factor));padding-top:calc(2px * var(--scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors: active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}.md-content{line-height:1.7;word-break:break-word;color:var(--text)}.md-content>*:first-child{margin-top:0}.md-content>*:last-child{margin-bottom:0}.md-content p{margin:0 0 14px}.md-content h1,.md-content h2,.md-content h3,.md-content h4,.md-content h5,.md-content h6{margin:20px 0 10px;line-height:1.25;font-weight:500;letter-spacing:-.01em}.md-content h1{font-size:1.6em}.md-content h2{font-size:1.35em}.md-content h3{font-size:1.15em}.md-content h4{font-size:1.02em}.md-content h5{font-size:.95em;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim)}.md-content h6{font-size:.9em;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.md-content ul,.md-content ol{margin:0 0 14px;padding-left:26px}.md-content li{margin-bottom:4px}.md-content li>p{margin:0}.md-content li::marker{color:var(--text-dim)}.md-content blockquote{margin:14px 0;padding:10px 16px;border-left:3px solid var(--accent-strong);background:var(--card-bg);color:var(--text-dim);border-radius:var(--radius-sm)}.md-content blockquote p:last-child{margin-bottom:0}.md-content code{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.9em;background:var(--chip-bg);padding:2px 6px;border-radius:4px;border:1px solid var(--border);color:var(--text)}.md-content pre{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;overflow-x:auto;margin:14px 0}.md-content pre code{background:none;border:none;padding:0;font-size:12.5px;line-height:1.55;color:var(--text)}.md-content a{color:var(--accent-strong);text-decoration:underline;text-decoration-color:var(--accent-glow);text-underline-offset:2px}.md-content a:hover{text-decoration-color:var(--accent-strong)}.md-content img{max-width:100%;height:auto;border-radius:var(--radius-sm);margin:12px 0}.md-content hr{border:none;border-top:1px solid var(--border);margin:20px 0}.md-content table{border-collapse:collapse;margin:14px 0;width:100%;font-size:.95em}.md-content th,.md-content td{border:1px solid var(--border);padding:8px 12px;text-align:left;vertical-align:top}.md-content th{background:var(--bg-soft);font-weight:500}.md-content strong{font-weight:600}.md-content em{font-style:italic}.md-content del{text-decoration:line-through;opacity:.75}.md-content u{text-decoration:underline;text-underline-offset:2px}.md-content input[type=checkbox]{width:auto;margin-right:6px;accent-color:var(--accent-strong)}.md-editor{display:flex;flex-direction:column;gap:6px;width:100%}.md-editor textarea{min-height:120px;margin:0;font-family:inherit;font-size:14px;line-height:1.6}.md-toolbar{display:flex;flex-wrap:wrap;gap:2px;align-items:center;background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px}.md-toolbar button{min-width:30px;height:28px;padding:0 8px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-dim);cursor:pointer;font-size:13px;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,color .15s}.md-toolbar button:hover{background:var(--input-bg-focus);border-color:var(--border-hover);color:var(--text)}.md-toolbar button:active{transform:scale(.94)}.md-toolbar .md-sep{width:1px;height:20px;background:var(--border);margin:0 4px}.md-hint{font-size:11.5px;color:var(--muted);line-height:1.4}.presentation-block{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);margin:20px 0;overflow:hidden}.presentation-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--bg-soft);font-size:13px;font-weight:500;color:var(--text)}.presentation-download{margin:0!important;padding:6px 14px!important;font-size:12px!important;white-space:nowrap}.presentation-image{display:block;width:100%;height:auto;margin:0}.presentation-body{padding:20px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.presentation-file-name{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:13px;background:var(--chip-bg);border:1px solid var(--border);padding:6px 12px;border-radius:6px;word-break:break-all;color:var(--text)}.presentation-note{font-size:12px;line-height:1.5;max-width:560px}.presentation-empty{padding:20px;text-align:center}.pdf-presentation .presentation-header{border-bottom:none}.pdf-toolbar{display:flex;align-items:center;justify-content:center;gap:16px;padding:8px 14px;border-bottom:1px solid var(--border);background:var(--bg-soft)}.pdf-nav-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-hover);background:transparent;color:var(--text);font-size:22px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background .15s,border-color .15s,color .15s}.pdf-nav-btn:hover:not(:disabled){background:var(--input-bg-focus);border-color:var(--text)}.pdf-nav-btn:disabled{opacity:.3;cursor:not-allowed}.pdf-counter{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:13px;color:var(--text-dim);min-width:70px;text-align:center}.pdf-canvas-wrap{display:flex;justify-content:center;padding:16px;background:var(--bg-soft);overflow:auto;min-height:220px;position:relative}.pdf-canvas-wrap.clickable{cursor:pointer}.pdf-canvas-wrap .react-pdf__Document,.pdf-canvas-wrap .react-pdf__Page{max-width:100%}.pdf-canvas-wrap .react-pdf__Page__canvas{max-width:100%;height:auto!important;border-radius:6px;box-shadow:0 8px 24px #0000002e;display:block}.pdf-loading,.pdf-error{padding:40px 20px;text-align:center;font-size:13px}.pdf-bottom-nav{display:flex;gap:10px;justify-content:center;padding:12px;border-top:1px solid var(--border)}.block-controls{display:flex;flex-direction:column;gap:2px;flex-shrink:0;padding-top:2px}.block-controls button{width:26px;height:22px;padding:0;background:transparent;border:1px solid var(--border);border-radius:5px;color:var(--text-dim);cursor:pointer;font-size:10px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,color .15s}.block-controls button:hover:not(:disabled){background:var(--input-bg-focus);border-color:var(--border-hover);color:var(--text)}.block-controls button:active:not(:disabled){transform:scale(.94)}.block-controls button:disabled{opacity:.3;cursor:not-allowed}@media (max-width: 640px){.pdf-canvas-wrap{padding:10px}.pdf-toolbar{gap:10px;padding:6px 10px}.pdf-nav-btn{width:32px;height:32px;font-size:20px}.presentation-body{padding:14px}.block-controls button{width:24px;height:20px}}:root{color-scheme:dark;--bg: #000000;--bg-soft: #0a0a0a;--card: #000000;--card-hover: #0a0a0a;--card-bg: rgba(255, 255, 255, .02);--card-bg-hover: rgba(255, 255, 255, .05);--border: rgba(255, 255, 255, .09);--border-hover: rgba(255, 255, 255, .22);--border-input: rgba(255, 255, 255, .1);--text: #ffffff;--text-dim: #b0b0b0;--muted: #6a6a6a;--input-bg: rgba(255, 255, 255, .03);--input-bg-focus: rgba(255, 255, 255, .06);--select-option-bg: #0a0a0a;--select-option-text: #ffffff;--chip-bg: rgba(255, 255, 255, .03);--btn-primary-bg: #ffffff;--btn-primary-text: #000000;--btn-primary-hover-bg: transparent;--btn-primary-hover-text: #ffffff;--overlay-bg: rgba(0, 0, 0, .92);--shadow-box: 0 40px 100px rgba(0, 0, 0, .65);--accent-strong: #ffffff;--accent-soft: rgba(255, 255, 255, .55);--accent-glow: rgba(255, 255, 255, .55);--green: #4ade80;--green-glow: rgba(74, 222, 128, .7);--row-current-bg: rgba(74, 222, 128, .1);--row-current-border: rgba(74, 222, 128, .28);--red: #f87171;--amber: #fbbf24;--err-bg: rgba(248, 113, 113, .06);--err-border: rgba(248, 113, 113, .24);--warn-bg: rgba(251, 191, 36, .06);--warn-border: rgba(251, 191, 36, .32);--radius-lg: 22px;--radius: 16px;--radius-sm: 10px;--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}html[data-theme=light]{color-scheme:light;--bg: #f7f7f8;--bg-soft: #ffffff;--card: #ffffff;--card-hover: #f1f1f3;--card-bg: #ffffff;--card-bg-hover: #f4f4f6;--border: rgba(0, 0, 0, .09);--border-hover: rgba(0, 0, 0, .2);--border-input: rgba(0, 0, 0, .12);--text: #111111;--text-dim: #555555;--muted: #888888;--input-bg: #ffffff;--input-bg-focus: #ffffff;--select-option-bg: #ffffff;--select-option-text: #111111;--chip-bg: #ffffff;--btn-primary-bg: #111111;--btn-primary-text: #f7f7f8;--btn-primary-hover-bg: transparent;--btn-primary-hover-text: #111111;--overlay-bg: rgba(255, 255, 255, .92);--shadow-box: 0 30px 80px rgba(0, 0, 0, .18);--accent-strong: #111111;--accent-soft: rgba(0, 0, 0, .55);--accent-glow: rgba(0, 0, 0, .35);--green: #109646;--green-glow: rgba(16, 150, 70, .45);--row-current-bg: rgba(16, 150, 70, .12);--row-current-border: rgba(16, 150, 70, .32);--red: #d53232;--amber: #b88000;--err-bg: rgba(213, 50, 50, .07);--err-border: rgba(213, 50, 50, .24);--warn-bg: rgba(184, 128, 0, .08);--warn-border: rgba(184, 128, 0, .32)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font);font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background-color .25s ease,color .25s ease}body{min-height:100vh;overflow-x:hidden}a{color:inherit}img{display:block;max-width:100%}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}h1,h2,h3,h4{margin:0 0 12px;font-weight:500;letter-spacing:-.02em;color:var(--text);line-height:1.15}h1{font-size:clamp(24px,2.6vw,32px);font-weight:400}h2{font-size:clamp(20px,2vw,24px);font-weight:400}h3{font-size:17px}h4{font-size:15px}.muted{color:var(--muted);font-size:13px}.error{color:var(--red);font-size:13px;margin-bottom:8px}.row{display:flex;align-items:center}.row.between{justify-content:space-between}.row.gap{gap:8px}.mb{margin-bottom:12px}.mt{margin-top:12px}.page{min-height:100vh}.container{max-width:1080px;margin:0 auto;padding:24px 32px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 32px;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:20;transition:background-color .25s,border-color .25s}.brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none;font-weight:500;min-width:0;flex-shrink:0}button.brand{background:none;border:none;padding:0;font-family:inherit;font-size:inherit;cursor:pointer;text-align:left;color:inherit;transition:opacity .2s ease,transform .2s ease}button.brand:hover{opacity:.85}button.brand:active{opacity:.7;transform:scale(.98)}button.brand:focus-visible{outline:2px solid var(--border-hover);outline-offset:4px;border-radius:8px}.brand-text{font-size:17px;font-weight:500;letter-spacing:-.01em;white-space:nowrap;color:var(--text);transition:color .25s}.logo-svg{display:block;flex-shrink:0;overflow:visible}.logo-page-bg{fill:var(--text);opacity:.15;transition:fill .25s ease}.logo-cover{fill:var(--bg);stroke:var(--text);stroke-width:2.2;transition:fill .25s ease,stroke .25s ease}.logo-line{stroke:var(--text);stroke-width:1;opacity:.35;transition:stroke .25s ease}.logo-eye{fill:var(--text);transition:fill .25s ease}.logo-iris{fill:var(--bg);transition:fill .25s ease}.logo-shine{fill:var(--text);transition:fill .25s ease}.logo-eye-group{transform-box:fill-box;transform-origin:center;animation:logoBlink 5s ease-in-out infinite}.logo-iris-group{transform-box:fill-box;transform-origin:center;animation:logoLook 6s ease-in-out infinite}@keyframes logoBlink{0%,42%,46%,to{transform:scaleY(1)}44%{transform:scaleY(.08)}}@keyframes logoLook{0%,5%,70%,to{transform:translate(0)}15%,25%{transform:translate(-2px)}40%,55%{transform:translate(2px,.5px)}}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--chip-bg);color:var(--text-dim);cursor:pointer;flex:0 0 auto;transition:background-color .2s,border-color .2s,color .2s,transform .2s}.theme-toggle:hover{border-color:var(--border-hover);color:var(--text);background:var(--input-bg-focus)}.theme-toggle:active{transform:scale(.94)}.theme-icon{width:18px;height:18px;display:block}.theme-toggle .icon-sun{display:block}.theme-toggle .icon-moon,html[data-theme=light] .theme-toggle .icon-sun{display:none}html[data-theme=light] .theme-toggle .icon-moon{display:block}.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:11px 22px;font-family:inherit;font-size:13px;font-weight:500;letter-spacing:.01em;color:var(--btn-primary-text);background:var(--btn-primary-bg);border:1px solid var(--btn-primary-bg);border-radius:999px;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s}.btn-primary:hover{background:var(--btn-primary-hover-bg);color:var(--btn-primary-hover-text)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.btn-primary.full{width:100%}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;font-family:inherit;font-size:13px;font-weight:500;color:var(--text);background:transparent;border:1px solid var(--border-hover);border-radius:999px;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s}.btn-ghost:hover{border-color:var(--text);background:var(--input-bg-focus)}.btn-ghost:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin-bottom:16px;transition:background-color .25s,border-color .25s}.card.inner{padding:16px;background:var(--bg-soft)}input,select,textarea{font-family:inherit;font-size:14px;padding:10px 14px;width:100%;color:var(--text);background:var(--input-bg);border:1px solid var(--border-input);border-radius:var(--radius-sm);outline:none;margin-bottom:10px;transition:border-color .2s,background .2s,color .2s}input::placeholder,textarea::placeholder{color:var(--muted)}input:focus,select:focus,textarea:focus{border-color:var(--border-hover);background:var(--input-bg-focus)}textarea{min-height:80px;resize:vertical}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'><path d='M3 4.5L6 7.5L9 4.5' stroke='%23888' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer}select option{background:var(--select-option-bg);color:var(--select-option-text)}input[type=file]{padding:8px 14px;font-size:12px;cursor:pointer}input[type=file]::file-selector-button{font-family:inherit;font-size:12px;padding:6px 12px;margin-right:10px;color:var(--text-dim);background:transparent;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:.2s}input[type=file]::file-selector-button:hover{border-color:var(--border-hover);color:var(--text)}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=checkbox],input[type=radio]{width:auto;margin:0;accent-color:var(--text);cursor:pointer}input[disabled],select[disabled],textarea[disabled]{opacity:.5;cursor:not-allowed}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;padding:3px 9px;border-radius:999px;background:var(--chip-bg);border:1px solid var(--border);color:var(--text-dim);margin-left:6px;white-space:nowrap;letter-spacing:.01em;vertical-align:middle}.badge-green{color:var(--green);border-color:var(--green);background:var(--row-current-bg)}.badge-blue{color:var(--accent-strong);border-color:var(--border-hover)}.code{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;background:var(--chip-bg);padding:2px 8px;border-radius:6px;font-size:12px;color:var(--text);border:1px solid var(--border)}.lock{font-size:14px}.breadcrumbs-bar{background:var(--bg);border-bottom:1px solid var(--border);padding:10px 32px;transition:background-color .25s,border-color .25s}.breadcrumbs{max-width:1080px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--text-dim)}.bc-sep{color:var(--muted);margin:0 6px}.bc-link{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:0;font-size:13px;transition:color .2s}.bc-link:hover{color:var(--text);text-decoration:underline}.bc-current{color:var(--text);font-weight:500}.page-hero{margin-bottom:20px}.hero-title{font-size:clamp(28px,3vw,36px);margin:0 0 6px;font-weight:400;letter-spacing:-.03em}.hero-sub{color:var(--text-dim);margin:0;font-size:14px;line-height:1.55}.code-bar{display:flex;gap:10px;background:var(--card-bg);border:1px solid var(--border);padding:14px;border-radius:var(--radius);margin-bottom:24px}.code-input{margin:0;flex:1}.section-title{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:24px 0 12px}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.theme-card-v2{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}.theme-card-v2:hover{border-color:var(--border-hover);background:var(--card-bg-hover);transform:translateY(-2px)}.theme-card-v2-title{font-size:17px;font-weight:500;margin-bottom:6px;color:var(--text)}.theme-card-v2-desc{color:var(--text-dim);font-size:13px;margin-bottom:14px;line-height:1.5}.theme-card-v2-meta{font-size:12px;color:var(--muted);margin-top:10px}.progress-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--accent-strong);transition:width .3s ease,background-color .25s}.theme-hero{padding:24px 0;border-bottom:1px solid var(--border);margin-bottom:20px}.theme-hero h1{font-size:clamp(26px,3vw,34px);margin:0 0 6px;font-weight:400}.lesson-list{display:flex;flex-direction:column;gap:14px}.lesson-card{display:flex;gap:16px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:border-color .2s,transform .2s,background .2s}.lesson-card:hover{border-color:var(--border-hover);transform:translateY(-1px)}.lesson-card.locked{cursor:not-allowed;opacity:.85}.lesson-card.locked:hover{border-color:var(--border);transform:none}.lesson-cover{width:160px;min-height:120px;flex-shrink:0;background:var(--bg-soft);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;position:relative}.lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;font-size:28px}html[data-theme=light] .lock-overlay{background:#ffffffb3}.lesson-body{padding:16px 16px 16px 0;flex:1;min-width:0}.lesson-body h3{margin:0 0 6px;font-size:16px;font-weight:500}.lesson-body p{margin:0 0 10px;color:var(--text-dim);font-size:13px}.lesson-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.grade-pill{background:var(--chip-bg);color:var(--text);border:1px solid var(--border);padding:4px 12px;border-radius:999px;font-size:12px;font-weight:500}.grade-pill.empty{color:var(--muted)}.grade-pill b{font-weight:600}.lesson-hero{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:24px}.lesson-hero-cover{height:220px;background-size:cover;background-position:center}.lesson-hero-body{padding:24px}.lesson-hero-body h1{font-size:clamp(26px,3vw,34px);margin:4px 0 8px;font-weight:400;letter-spacing:-.02em}.lesson-stats{display:flex;gap:40px;margin-top:20px;flex-wrap:wrap}.lesson-big-grade{font-size:28px;font-weight:500;margin-top:2px;color:var(--text);letter-spacing:-.02em}.task-card{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;cursor:pointer;transition:border-color .2s,transform .2s,background .2s}.task-card:hover{border-color:var(--border-hover);transform:translateY(-1px);background:var(--card-bg-hover)}.task-card-left{display:flex;align-items:center;gap:16px;min-width:0}.task-index{width:36px;height:36px;border-radius:50%;background:var(--chip-bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:500;flex-shrink:0;color:var(--text)}.task-index.hw{background:var(--row-current-bg);border-color:var(--row-current-border);color:var(--green)}.arrow{font-size:22px;color:var(--muted)}.task-fs{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);overflow-y:auto;z-index:50}.task-fs-bar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:14px 24px;background:var(--bg);border-bottom:1px solid var(--border);gap:12px;-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px)}.task-fs-content{max-width:780px;margin:0 auto;padding:48px 24px 96px}.task-fs-meta{margin-bottom:8px}.task-fs-title{font-size:clamp(28px,3.4vw,38px);line-height:1.15;letter-spacing:-.03em;margin:0 0 24px;font-weight:400}.article-body{font-size:17px;line-height:1.75;color:var(--text)}.article-body .block-text{font-size:17px;line-height:1.75;margin:0 0 18px}.article-body .block-img{display:block;max-width:100%;border-radius:var(--radius);margin:24px 0}.article-body .block-hint{font-size:15px;background:var(--card-bg);border:1px solid var(--border);padding:14px 18px;border-left:3px solid var(--accent-strong);border-radius:var(--radius-sm);margin:24px 0}.article-body .block-hint summary{font-weight:500;cursor:pointer}.article-body .block-hint div{margin-top:8px;line-height:1.65;color:var(--text-dim)}.task-fs-answer{margin-top:40px;padding-top:32px;border-top:1px solid var(--border)}.task-fs-textarea{min-height:160px;font-size:16px;line-height:1.6}.task-fs-file{padding:16px;border:2px dashed var(--border);border-radius:var(--radius-sm);background:var(--bg-soft)}.fs-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);overflow-y:auto;z-index:200}.tabs{display:flex;padding:0 32px;border-bottom:1px solid var(--border);background:var(--bg);gap:4px;overflow-x:auto;transition:background-color .25s,border-color .25s}.tabs button{background:transparent;padding:14px 16px;border:none;border-bottom:2px solid transparent;color:var(--text-dim);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:color .2s,border-color .2s}.tabs button:hover{color:var(--text)}.tabs button.active{color:var(--text);border-bottom-color:var(--text)}.form-field{margin-bottom:14px}.form-label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:500;letter-spacing:.02em}.req{color:var(--red);margin-left:3px}.scale-editor{display:flex;flex-direction:column;gap:4px}.test-block{margin:8px 0}.test-question{border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;margin-bottom:10px;background:var(--card-bg)}.test-q-title{font-weight:500;margin-bottom:8px;color:var(--text)}.test-option{display:flex;align-items:center;gap:8px;padding:6px 0;cursor:pointer;font-size:14px;color:var(--text-dim)}.test-option input[type=radio]{width:auto;margin:0}.test-work-editor,.test-work-questions{display:flex;flex-direction:column;gap:12px}.test-work-question{border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;background:var(--card-bg)}.test-work-question>.row.between{margin-bottom:8px}.test-work-question textarea{min-height:60px}.list-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;background:var(--card-bg);transition:border-color .2s,background .2s}.list-item:hover{border-color:var(--border-hover)}.answer{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.answer-text{background:var(--bg-soft);padding:10px 14px;border-radius:var(--radius-sm);margin:8px 0;border:1px solid var(--border);word-break:break-word}.submission-status{font-size:13px;padding:8px 14px;border-radius:var(--radius-sm);margin-bottom:8px;border:1px solid}.submission-status.pending{background:var(--warn-bg);color:var(--amber);border-color:var(--warn-border)}.submission-status.accepted{background:var(--row-current-bg);color:var(--green);border-color:var(--row-current-border)}.submission-status.rejected{background:var(--err-bg);color:var(--red);border-color:var(--err-border)}.block-editor{display:flex;flex-direction:column;gap:8px}.block-edit-item{display:flex;gap:8px;align-items:flex-start}.block-edit-item textarea{flex:1;margin:0}.block-text{white-space:pre-wrap;line-height:1.6}.block-img{max-width:100%;border-radius:var(--radius-sm);margin:8px 0}.block-hint{background:var(--card-bg);padding:10px 14px;border-radius:var(--radius-sm);margin:10px 0;font-size:14px;border:1px solid var(--border)}.block-hint summary{cursor:pointer;font-weight:500}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;width:100%;max-width:680px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-box)}.import-block{padding:12px 14px;background:var(--bg-soft);border-radius:var(--radius-sm);margin-bottom:12px;border:1px dashed var(--border)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}.stat{padding:4px 0}.stat-value{font-size:24px;font-weight:500;margin-top:4px;color:var(--text);letter-spacing:-.02em}.task-stat-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.task-stat-row:last-child{border-bottom:none}.progress-table{font-size:13px}.progress-row{display:grid;grid-template-columns:1.6fr 40px 1.4fr 90px 90px 110px 80px;gap:8px;padding:10px 0;border-bottom:1px solid var(--border);align-items:center}.progress-row.header{font-weight:500;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.student-detail{background:var(--bg-soft);padding:16px;border-radius:var(--radius-sm);margin:8px 0 16px;border:1px solid var(--border)}.task-detail-row{padding:10px 0;border-bottom:1px solid var(--border)}.task-detail-row:last-child{border-bottom:none}.theme-checkbox{transition:border-color .2s,background .2s}.theme-checkbox:hover{border-color:var(--border-hover);background:var(--card-bg-hover)}.bell-wrap{position:relative}.bell-btn{position:relative;padding:8px 12px}.bell-badge{position:absolute;top:-2px;right:-2px;background:var(--red);color:#fff;font-size:10px;font-weight:600;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}.bell-panel{position:absolute;top:calc(100% + 8px);right:0;width:340px;max-height:480px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-box);z-index:100}.bell-scroll{max-height:380px;overflow-y:auto}.bell-item{padding:10px 12px;border-radius:var(--radius-sm);margin-bottom:6px;cursor:pointer;transition:background .15s;border:1px solid transparent}.bell-item:hover{background:var(--card-bg-hover)}.bell-item.unread{background:var(--bg-soft);border-color:var(--border-hover)}.dot{width:8px;height:8px;border-radius:50%;background:var(--accent-strong);display:inline-block;box-shadow:0 0 8px var(--accent-glow)}.code-textarea{width:100%;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:13px;line-height:1.55;padding:12px 14px;border:1px solid var(--border-input);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text);resize:vertical;outline:none;min-height:160px;-moz-tab-size:4;tab-size:4;transition:border-color .2s,background .2s}.code-textarea:focus{border-color:var(--border-hover);background:var(--input-bg-focus)}.code-editor{display:flex;flex-direction:column;gap:6px}.code-result{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;font-size:12.5px}.code-result b{font-size:12px;color:var(--text)}.code-out,.code-err,.code-block{margin:6px 0 0;padding:10px 12px;border-radius:6px;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.55;white-space:pre-wrap;word-break:break-word;overflow-x:auto}.code-out{background:#4ade8014;color:var(--green);border:1px solid var(--row-current-border)}html[data-theme=light] .code-out{background:#1096460f}.code-err{background:var(--err-bg);color:var(--red);border:1px solid var(--err-border)}.code-block{background:var(--bg-soft);color:var(--text);border:1px solid var(--border)}.code-config{border-top:1px dashed var(--border);padding-top:12px;margin-top:8px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;padding:24px;background:var(--bg)}.login-theme-toggle{position:absolute;top:20px;right:20px}.login-wrap{width:100%;max-width:380px}.login-card{padding:36px 32px 32px;text-align:center;display:flex;flex-direction:column;gap:10px;margin-bottom:0}.login-logo{display:flex;justify-content:center;margin-bottom:8px}.login-card h1{font-size:22px;margin:4px 0 0;font-weight:500;letter-spacing:-.02em}.login-card .muted{margin:0 0 8px;font-size:13px}.login-card input{margin:0;text-align:left}.login-card .btn-primary{margin-top:6px}@media (max-width: 900px){.topbar{padding:14px 20px;gap:10px}.brand-text{font-size:15px}.container{padding:20px}.breadcrumbs-bar{padding:10px 20px}.tabs{padding:0 20px}.topbar .theme-toggle{width:36px;height:36px}.theme-icon{width:16px;height:16px}}@media (max-width: 640px){.topbar{padding:12px 16px}.brand-text{font-size:14px}.brand{gap:8px}.logo-svg{height:34px!important;width:42px!important}.container{padding:16px 16px 60px}.breadcrumbs-bar{padding:8px 16px}.tabs{padding:0 16px}.tabs button{padding:12px;font-size:12px}.card{padding:18px;border-radius:var(--radius)}h1{font-size:24px}.lesson-card{flex-direction:column}.lesson-cover{width:100%;height:160px;min-height:0}.lesson-body{padding:16px}.btn-primary,.btn-ghost{padding:9px 16px;font-size:12px}.theme-toggle{width:34px;height:34px}.progress-row{grid-template-columns:1fr auto;grid-template-areas:"name name" "current current" "class hw" "activity details";gap:6px;padding:14px 0;font-size:13px}.progress-row>div:nth-child(1){grid-area:name}.progress-row>div:nth-child(2){display:none}.progress-row>div:nth-child(3){grid-area:current}.progress-row>div:nth-child(4){grid-area:class}.progress-row>div:nth-child(5){grid-area:hw}.progress-row>div:nth-child(6){grid-area:activity}.progress-row>div:nth-child(7){grid-area:details;justify-self:end}.progress-row.header{display:none}.lesson-stats{gap:24px}.lesson-big-grade{font-size:24px}.task-fs-content{padding:32px 16px 64px}.bell-panel{width:calc(100vw - 32px);right:-8px}}@media (max-width: 380px){.topbar .btn-ghost{padding:8px 12px;font-size:11px}}@media (prefers-reduced-motion: reduce){.logo-eye-group,.logo-iris-group,.progress-fill,button.brand{animation:none!important;transition:none!important}}.impersonation-banner{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 24px;background:var(--warn-bg);border-bottom:1px solid var(--warn-border);color:var(--amber);font-size:13px;font-weight:500}.impersonation-banner .btn-ghost{border-color:var(--warn-border);color:var(--amber)}.impersonation-banner .btn-ghost:hover{border-color:var(--amber);background:transparent}.impersonate-student-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;margin-bottom:6px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:14px;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.impersonate-student-item:hover{border-color:var(--border-hover);background:var(--card-bg-hover)}@media (max-width: 640px){.impersonation-banner{padding:8px 16px;font-size:12px}}
