.worksheet-panel{min-width:0;background:var(--app-bg)}.worksheet-panel-head{display:flex;align-items:center;gap:12px;padding:12px 14px 12px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.worksheet-panel-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;border-radius:9px;background:var(--accent-soft);color:var(--accent-text)}.worksheet-panel-title{display:flex;flex:1;flex-direction:column;min-width:0;line-height:1.3}.worksheet-panel-title strong{overflow:hidden;font-family:var(--font-heading);font-size:.98rem;text-overflow:ellipsis;white-space:nowrap}.worksheet-panel-title span{color:var(--subtle);font-size:.8rem}.worksheet-panel-notice{margin:16px}.pdf-loading{display:flex;flex:1;align-items:center;justify-content:center;padding:60px 0}.pdf-sheet,.digital-sheet-wrap{display:flex;flex:1;flex-direction:column;min-height:0}.sheet-toolbar{display:flex;align-items:center;gap:6px;margin:10px 12px 0;padding:5px;border:1px solid var(--border);border-radius:14px;background:var(--bg);box-shadow:var(--shadow);overflow-x:auto;scrollbar-width:none}.tool-group{display:flex;align-items:center;gap:2px}.tool-button{display:inline-flex;align-items:center;gap:6px;flex:none;height:34px;min-width:34px;padding:0 9px;justify-content:center;border:none;border-radius:9px;background:none;color:var(--muted);font:inherit;font-size:.84rem;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease}.tool-button:hover:not(:disabled){background:var(--surface-strong);color:var(--ink)}.tool-button:disabled{opacity:.35;cursor:default}.tool-button.is-active{background:var(--accent);color:#fff}.tool-button .tool-label{display:none}.tool-button.is-active .tool-label{display:inline;animation:fade-in .2s ease both}.tool-divider{flex:none;width:1px;height:20px;background:var(--border)}.tool-spacer{flex:1}.tool-zoom{flex:none;min-width:46px;padding:0 4px;border:none;background:none;color:var(--muted);font:inherit;font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer}.save-state{flex:none;padding:0 6px;color:var(--subtle);font-size:.78rem;font-weight:700;transition:color .2s ease}.save-saving{color:var(--muted)}.save-error{color:var(--danger)}.sheet-hint{margin:8px 18px 0;color:var(--subtle);font-size:.8rem;animation:fade-in .22s ease both}.pdf-scroll,.sheet-scroll,.sheet-originals{flex:1;min-height:0;overflow:auto;padding:14px 16px 40px}.pdf-page{position:relative;margin:0 auto 16px;border-radius:3px;background:#fff;box-shadow:0 1px 3px #0000004f,0 8px 24px #00000036;user-select:none}.pdf-canvas{position:absolute;inset:0;border-radius:3px}.pdf-surface{position:absolute;inset:0;touch-action:pan-y pinch-zoom}.pdf-page[data-tool=write] .pdf-surface{cursor:text}.pdf-page[data-tool=draw] .pdf-surface,.pdf-page[data-tool=highlight] .pdf-surface,.pdf-page[data-tool=ask] .pdf-surface,.pdf-page[data-tool=erase] .pdf-surface{cursor:crosshair;touch-action:none}.pdf-spots,.pdf-ink{position:absolute;inset:0;pointer-events:none}.pdf-spot{position:absolute;border-radius:4px;background:#1238ff0d;transition:background .15s ease,box-shadow .15s ease}.pdf-spot.is-hovered{background:#1238ff1f;box-shadow:0 0 0 1.5px #1238ff73}.ink-highlight{mix-blend-mode:multiply}.pdf-note{position:absolute;border-radius:3px;transition:box-shadow .15s ease}.pdf-note.is-active{box-shadow:0 0 0 1.5px #1f4fd173;background:#1f4fd108}.pdf-note.is-erasable:hover{box-shadow:0 0 0 1.5px #b4231899;background:#b423180f;cursor:pointer}.pdf-note textarea{display:block;width:100%;margin:0;padding:0;overflow:hidden;border:none;outline:none;resize:none;background:transparent;font-family:var(--font-body);font-weight:600;white-space:pre-wrap;overflow-wrap:anywhere}.pdf-note.is-erasable textarea{cursor:pointer}.pdf-note-grip,.pdf-note-remove{position:absolute;display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;animation:fade-in .15s ease both}.pdf-note-grip{top:50%;left:-16px;width:12px;height:22px;margin-top:-11px;border-radius:4px;background:#1f4fd1;cursor:grab;touch-action:none}.pdf-note-grip span{width:2px;height:10px;border-left:2px dotted rgba(255,255,255,.9)}.pdf-note-remove{top:-9px;right:-9px;width:18px;height:18px;border-radius:50%;background:var(--ink);color:#fff}.pdf-region{position:absolute;border:1.5px dashed var(--accent);border-radius:4px;background:#1238ff14;pointer-events:none}.pdf-region.is-final{border-style:solid;box-shadow:0 0 0 4000px #0000004f;animation:fade-in .18s ease both}.region-bar{position:absolute;z-index:5;display:flex;align-items:center;gap:2px;padding:4px;border-radius:12px;background:var(--ink);box-shadow:0 10px 30px #0009;animation:region-bar-in .22s cubic-bezier(.2,.9,.3,1.2) both;white-space:nowrap}.region-bar button{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:none;border-radius:8px;background:none;color:#ffffffd9;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .14s ease,color .14s ease}.region-bar button:hover:not(:disabled){background:#ffffff1f;color:#fff}.region-bar button:disabled{opacity:.6}.region-bar .region-bar-main{background:var(--accent);color:#fff}.region-bar .region-bar-main:hover:not(:disabled){background:var(--accent-hover)}.region-bar .region-bar-close{padding:7px}@keyframes region-bar-in{0%{opacity:0;transform:translateY(-4px) scale(.96)}}.region-bar.is-above{animation-name:region-bar-in-above}@keyframes region-bar-in-above{0%{opacity:0;transform:translateY(4px) scale(.96)}}.converting{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 32px;text-align:center}.converting-page{display:flex;flex-direction:column;gap:10px;width:200px;margin-bottom:14px;padding:22px 20px;border-radius:4px;background:#fff;box-shadow:0 8px 24px #00000042}.converting-page span{height:7px;border-radius:4px;background:var(--surface-strong);animation:line-write 1.8s ease-in-out infinite;transform-origin:left}.converting-page span:first-child{height:10px;background:var(--border-strong)}@keyframes line-write{0%{transform:scaleX(.1);opacity:.4}45%,to{transform:scaleX(1);opacity:1}}.view-switch{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:3px;border-radius:10px;background:var(--surface-strong)}.view-switch-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:8px;background:var(--border-strong);box-shadow:0 1px 3px #0000005c;transform:translate(calc(var(--index) * 100%));transition:transform .24s cubic-bezier(.3,.8,.3,1)}.view-switch button{position:relative;padding:5px 14px;border:none;background:none;color:var(--subtle);font:inherit;font-size:.84rem;font-weight:700;cursor:pointer}.view-switch button[aria-selected=true]{color:var(--ink)}.sheet-originals{display:flex;flex-direction:column;gap:14px}.sheet-originals img{display:block;width:100%;border-radius:4px;box-shadow:0 8px 24px #00000042}.digital-sheet{max-width:760px;margin:0 auto;padding:44px 48px 56px;border-radius:3px;background:#fff;box-shadow:0 1px 3px #0000004f,0 8px 24px #00000036}.digital-sheet h1{margin:0 0 6px;font-size:1.45rem}.sheet-instructions{color:var(--muted);font-size:.92rem}.sheet-section{margin:30px 0 4px;padding-bottom:6px;border-bottom:2px solid var(--ink);font-size:1.08rem}.sheet-text{margin-top:18px;color:var(--muted)}.sheet-question{position:relative;margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.sheet-question:first-of-type{border-top:none}.sheet-question-head{display:flex;align-items:flex-start;gap:12px}.sheet-number{flex:none;min-width:30px;padding:2px 8px;border-radius:8px;background:var(--ink);color:#fff;font-family:var(--font-heading);font-size:.86rem;font-weight:800;text-align:center}.sheet-question-text{flex:1;min-width:0}.sheet-question-text .rich-text p:first-child{margin-top:0}.gap-text{line-height:2}.rich-inline,.rich-inline p{display:inline;margin:0}.sheet-gap{margin:0 4px;padding:0 4px;border:none;border-bottom:1.5px solid #9aa3b5;outline:none;background:transparent;color:#1f4fd1;font:inherit;font-weight:600;text-align:center;transition:border-color .15s ease}.sheet-gap:focus{border-bottom-color:#1f4fd1}.sheet-marks{flex:none;padding:2px 8px;border:1px solid var(--border);border-radius:999px;color:var(--subtle);font-size:.78rem;font-weight:700}.sheet-marks:after{content:" marks"}.sheet-figure{display:flex;gap:8px;margin:8px 0 0;padding:10px 12px;border-radius:10px;background:var(--surface);color:var(--muted);font-size:.86rem}.sheet-figure svg{flex:none;margin-top:3px}.sheet-answer{display:block;width:100%;margin-top:10px;padding:0 4px;overflow:hidden;border:none;outline:none;resize:none;background:repeating-linear-gradient(to bottom,transparent 0,transparent 29px,#c9cfdb 29px,#c9cfdb 30px);color:#1f4fd1;font:inherit;font-weight:600;line-height:30px}.sheet-answer::placeholder{color:var(--border-strong);font-weight:500}.sheet-answer:focus{background:repeating-linear-gradient(to bottom,transparent 0,transparent 29px,rgba(31,79,209,.45) 29px,rgba(31,79,209,.45) 30px)}.sheet-answer-box{padding:0 10px;border:1.5px solid #c9cfdb;border-radius:6px;background:none}.sheet-answer-box:focus{border-color:#1f4fd199;background:none}.sheet-choices{display:flex;flex-direction:column;gap:6px;margin-top:10px}.sheet-choices button{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.sheet-choices button:hover{border-color:var(--border-strong)}.sheet-choices button.is-selected{border-color:#1f4fd1;background:#1f4fd10d}.sheet-choices .rich-text p{margin:0}.sheet-choice-letter{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;border:1.5px solid var(--border-strong);border-radius:50%;color:var(--muted);font-size:.78rem;font-weight:800;transition:background .15s ease,color .15s ease,border-color .15s ease}.sheet-choices button.is-selected .sheet-choice-letter{border-color:#1f4fd1;background:#1f4fd1;color:#fff}.sheet-question-actions{display:flex;gap:4px;justify-content:flex-end;margin-top:6px;opacity:0;transition:opacity .16s ease}.sheet-question:hover .sheet-question-actions,.sheet-question:focus-within .sheet-question-actions{opacity:1}.sheet-question-actions button{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--muted);font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;transition:border-color .15s ease,color .15s ease}.sheet-question-actions button:hover{border-color:var(--accent);color:var(--accent-text)}@media (hover: none){.sheet-question-actions{opacity:1}}@media (max-width: 1100px){.worksheet-panel.side-panel{height:100dvh}}@media (max-width: 640px){.digital-sheet{padding:28px 20px 40px}.pdf-scroll,.sheet-scroll{padding:10px 8px 32px}.region-bar button:not(.region-bar-main):not(.region-bar-close){display:none}}@media print{body:has(.digital-sheet) *{visibility:hidden}.digital-sheet,.digital-sheet *{visibility:visible}.digital-sheet{position:absolute;top:0;left:0;width:100%;max-width:none;box-shadow:none}.sheet-question-actions{display:none}}.worksheet-page{display:flex;flex-direction:column;height:100dvh;background:var(--app-bg)}.worksheet-page-head{display:flex;align-items:center;gap:16px;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--surface)}.worksheet-back{display:inline-flex;align-items:center;gap:6px;max-width:260px;padding:6px 10px 6px 8px;overflow:hidden;border-radius:9px;color:var(--muted);font-size:.86rem;font-weight:700;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;transition:background .15s ease,color .15s ease}.worksheet-back:hover{background:var(--surface-strong);color:var(--ink)}.worksheet-back-icon{flex:none;transform:rotate(180deg)}.worksheet-page-head .worksheet-panel-title{flex:1;padding-left:16px;border-left:1px solid var(--border)}.worksheet-page-body{display:flex;flex:1;flex-direction:column;min-height:0}.worksheet-page-body .sheet-toolbar{align-self:center;width:min(900px,calc(100% - 24px))}.worksheet-page-body .sheet-hint{align-self:center;width:min(900px,calc(100% - 24px));margin-left:0;margin-right:0;padding-left:6px}.worksheet-page-body .pdf-scroll{padding-top:18px}@media (max-width: 640px){.worksheet-page-head{flex-wrap:wrap;gap:8px;padding:10px 12px}.worksheet-page-head .worksheet-panel-title{order:3;flex-basis:100%;padding-left:0;border-left:none}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.47"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}:root{--accent: #1238ff;--accent-hover: #0f2fe0;--accent-pressed: #0a22a8;--accent-text: #859dff;--accent-soft: rgba(18, 56, 255, .15);--accent-line: rgba(18, 56, 255, .45);--accent-gradient: linear-gradient(100deg, #1238ff 0%, #4a6bff 55%, #9db0ff 100%);--ink: #f5f5f6;--ink-soft: #dcdce0;--panel: #1c1d21;--panel-strong: #1f2024;--bg: #0c0c0e;--app-bg: #0c0c0e;--surface: #17181b;--surface-strong: #232428;--surface-raised: #1d1e22;--border: #2a2b30;--border-focus: #4a4b53;--border-strong: #38393f;--text: #e9e9ec;--muted: #a9aab0;--subtle: #7f8087;--success: #3dcc8e;--gold: #e2b04a;--success-soft: rgba(61, 204, 142, .14);--danger: #ff7366;--danger-soft: rgba(255, 115, 102, .13);--warning: #f5b544;--radius-small: 8px;--radius: 12px;--radius-large: 16px;--font-heading: "Nunito", system-ui, sans-serif;--font-body: "Nunito Sans", system-ui, sans-serif;--shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 4px 16px rgba(0, 0, 0, .25);color-scheme:dark}.pdf-page,.digital-sheet,.visual-frame,.converting-page{--ink: #1e2a4a;--ink-soft: #2c3a60;--bg: #ffffff;--surface: #f5f7fb;--surface-strong: #eceff5;--border: #e1e5ee;--border-strong: #cdd3df;--text: #1e2a4a;--muted: #4b5563;--subtle: #6b7280;--accent-text: #0f2fe0;--accent-soft: rgba(18, 56, 255, .1);color:var(--text);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:800;letter-spacing:-.015em;line-height:1.2;margin:0}h1{font-size:2rem}h2{font-size:1.4rem}h3{font-size:1.1rem;font-weight:700}p{margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}img{max-width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.subtle{color:var(--subtle);font-size:.9rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border-radius:var(--radius-small);border:1px solid transparent;font-weight:700;font-size:.95rem;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color .12s ease,border-color .12s ease,transform .12s ease,box-shadow .12s ease}.button:disabled{opacity:.55;cursor:not-allowed}.button-primary{background:var(--accent);color:#fff;box-shadow:inset 0 -2px 0 var(--accent-pressed)}.button-primary:hover:not(:disabled){background:var(--accent-hover)}.button-primary:active:not(:disabled){box-shadow:none;transform:translateY(1px)}.button-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--ink)}.button-secondary:hover:not(:disabled){background:var(--surface-strong)}.button-ghost{background:transparent;color:var(--ink)}.button-ghost:hover:not(:disabled){background:var(--surface-strong)}.button-danger{background:var(--surface);border-color:var(--border-strong);color:var(--danger)}.button-small{min-height:32px;padding:0 12px;font-size:.875rem}.button-large{min-height:48px;padding:0 22px;font-size:1rem}.field{display:flex;flex-direction:column;gap:6px}.field label,.label{font-weight:700;font-size:.9rem}.input,.select,.textarea{width:100%;min-height:42px;padding:9px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-small);background:var(--surface)}.textarea{min-height:140px;resize:vertical;line-height:1.5}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.error-text{color:var(--danger);font-size:.9rem}.notice{padding:12px 14px;border-radius:var(--radius-small);background:var(--surface);border:1px solid var(--border);font-size:.92rem}.notice-error{background:var(--danger-soft);border-color:#ff736659;color:var(--danger)}.tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:var(--surface-strong);color:var(--muted);font-size:.78rem;font-weight:700}.tag-orange{background:var(--accent-soft);color:var(--accent-text)}.progress{height:6px;border-radius:999px;background:var(--surface-strong);overflow:hidden}.progress>span{display:block;height:100%;border-radius:999px;background:var(--accent)}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:spin .8s linear infinite}.page-loading{display:flex;justify-content:center;padding:80px 0}@keyframes spin{to{transform:rotate(360deg)}}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;align-items:center;gap:12px}.kbd{display:inline-block;min-width:20px;padding:0 5px;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:4px;font-size:.75rem;text-align:center;color:var(--subtle)}.rich-text{line-height:1.6}.rich-text>*+*{margin-top:.7em}.rich-text h1,.rich-text h2,.rich-text h3{font-size:1.05rem;margin-top:1.2em}.rich-text ul,.rich-text ol{padding-left:1.3em;margin-bottom:0}.rich-text code{background:var(--surface-strong);padding:1px 5px;border-radius:4px;font-size:.9em}.rich-text .katex-display{overflow-x:auto;overflow-y:hidden;padding:4px 0}.rich-text table{border-collapse:collapse}.rich-text th,.rich-text td{border:1px solid var(--border);padding:6px 10px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.page{max-width:1040px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.page-narrow{max-width:720px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.link-small{font-size:.9rem;font-weight:600;color:var(--subtle)}.mastery{display:flex;align-items:center;gap:10px}.mastery .progress{flex:1}.mastery-label{min-width:36px;text-align:right;font-size:.85rem;font-weight:700;color:var(--muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-actions{flex-wrap:wrap}.dropzone{display:flex;flex-direction:column;align-items:center;gap:4px;padding:28px;border:1.5px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface);text-align:center;cursor:pointer}.dropzone:hover,.dropzone-active{border-color:var(--ink);background:var(--surface)}.file-list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.file-list li{display:flex;align-items:center;gap:12px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-small)}.file-list li span:first-child{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.textarea-small{min-height:80px}.processing{display:flex;flex-direction:column;gap:12px}.processing-steps{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.processing-steps li{display:flex;align-items:center;gap:10px;color:var(--subtle)}.processing-steps li.current{color:var(--ink);font-weight:700}.processing-steps li.done{color:var(--success)}.processing-dot{width:18px;height:18px;border-radius:50%;border:2px solid currentColor;opacity:.6}.processing-steps li.done .processing-dot{background:currentColor;opacity:1}.set-progress{display:flex;flex-direction:column;gap:4px;width:220px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border)}.tab{padding:10px 14px;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;color:var(--subtle);font-weight:700;cursor:pointer}.tab:hover{color:var(--ink)}.tab-active{color:var(--ink);border-bottom-color:var(--ink)}.action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.action-card{display:flex;flex-direction:column;gap:2px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius);text-decoration:none}.action-card:hover{border-color:var(--ink)}.action-card .muted{font-size:.9rem}.topic-list{list-style:none;margin:0;padding:0}.topic-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;align-items:center;gap:18px;padding:12px 0;border-top:1px solid var(--border)}.topic-row:first-child{border-top:none}.topic-name{display:flex;flex-direction:column}.topic-actions{display:flex;gap:6px}.summary{display:flex;flex-direction:column;gap:28px;padding:28px}.summary-section ul{margin:10px 0 0;padding-left:1.2em;display:flex;flex-direction:column;gap:8px}.summary-section li .rich-text{display:inline}.summary-section li .rich-text>p{display:inline}.card-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--radius)}.card-item{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;padding:16px 18px;border-top:1px solid var(--border)}.card-item:first-child{border-top:none}.card-item-meta{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.card-item-delete{margin-left:auto;color:var(--subtle)}.passage-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.passage-list>li{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:start}.passage-list>li>p{white-space:pre-wrap;font-size:.95rem;color:var(--muted)}.danger-zone{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.source-chip{display:inline-flex;align-items:center;padding:0 6px;height:20px;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface);color:var(--muted);font-size:.72rem;font-weight:700;font-family:var(--font-body);cursor:pointer;line-height:1}.source-chip:hover{border-color:var(--ink);color:var(--ink)}.source-popover{position:fixed;z-index:80;display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 12px 32px #0000006b;text-align:left;font-weight:400;animation:menu-in .12s ease both}.source-popover-title{font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--subtle)}.source-popover-text{font-size:.92rem;line-height:1.55;color:var(--text)}.review-top{display:flex;justify-content:space-between;align-items:center}.review-card{display:flex;flex-direction:column;gap:20px;min-height:300px;padding:32px;border:1px solid var(--border);border-radius:var(--radius-large);box-shadow:var(--shadow)}.review-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.review-front{font-size:1.3rem;font-weight:600}.review-back{padding-top:20px;border-top:1px solid var(--border);font-size:1.05rem}.review-source{display:flex;align-items:center;gap:8px;margin-top:14px}.review-reveal{width:100%}.kbd-light{border-color:#fff6;color:#fffc}.grade-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.grade{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border:1px solid var(--border-strong);border-radius:var(--radius-small);background:var(--surface);cursor:pointer}.grade:hover:not(:disabled){border-color:var(--ink)}.grade-label{font-weight:700}.grade-interval{font-size:.8rem;color:var(--subtle)}.grade-1 .grade-label{color:var(--danger)}.grade-4 .grade-label{color:var(--success)}.review-done{display:flex;flex-direction:column;gap:14px;padding:32px}.quiz-progress{margin-top:-12px}.quiz-card{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:28px}.quiz-prompt{font-size:1.2rem;font-weight:600}.quiz-options{display:flex;flex-direction:column;gap:8px;width:100%}.option{display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-small);background:var(--surface);text-align:left;cursor:pointer}.option:hover:not(:disabled){border-color:var(--ink);background:var(--surface)}.option:disabled{cursor:default}.option-letter{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;border-radius:6px;background:var(--surface-strong);font-size:.8rem;font-weight:700}.option-text{padding-top:1px}.option-correct{border-color:var(--success);background:var(--success-soft)}.option-correct .option-letter{background:var(--success);color:#06281a}.option-wrong{border-color:var(--danger);background:var(--danger-soft)}.option-wrong .option-letter{background:var(--danger);color:#3a0904}.option-dim{opacity:.6}.feedback{display:flex;flex-direction:column;gap:6px;width:100%;padding:14px 16px;border-radius:var(--radius-small);border-left:3px solid}.feedback-correct{background:var(--success-soft);border-color:var(--success)}.feedback-wrong{background:var(--surface);border-color:var(--accent)}.feedback-meta{display:flex;align-items:center;gap:10px}.quiz-next{align-self:flex-end}.quiz-result h1{font-size:1.8rem}.select-small{width:auto;min-height:32px;padding:4px 10px;font-size:.875rem}.auth-page{position:relative;display:flex;flex-direction:column;min-height:100dvh;overflow:hidden;background:var(--app-bg);isolation:isolate}.auth-stripe{position:absolute;top:22vh;right:-5%;left:-5%;z-index:-1;height:300px;background:radial-gradient(38% 120% at 12% 60%,#1238ff,transparent 72%),radial-gradient(34% 130% at 40% 35%,#8b5cf6,transparent 72%),radial-gradient(34% 120% at 66% 70%,#14b8a6,transparent 72%),radial-gradient(30% 120% at 90% 40%,#f59e0b,transparent 72%),linear-gradient(90deg,#4f6bff,#a78bfa 45%,#5eead4 70%,#fcd34d);opacity:.32;transform:skewY(-7deg);pointer-events:none}.auth-top{display:flex;align-items:center;justify-content:space-between;padding:18px 24px}.auth-logo{display:inline-flex;text-decoration:none}.auth-main{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px 32px}.auth-bottom{display:flex;justify-content:center;padding:0 16px 24px}.auth-bottom .legal-links{margin-top:0}.auth-card{display:flex;flex-direction:column;gap:18px;width:100%;max-width:440px;padding:40px;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:0 1px 2px #0000004d,0 30px 70px #0006}.auth-card h1{font-size:1.75rem;letter-spacing:-.02em}.auth-note:empty{display:none}.auth-note{color:var(--muted);font-size:.85rem;text-align:center}.auth-providers{display:flex;flex-direction:column;gap:8px}.auth-provider{width:100%;min-height:44px}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--subtle);font-size:.85rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-footer{margin-top:20px;color:var(--muted)}.onboarding{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:28px 16px 64px;background:var(--surface)}.onboarding-top{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:640px;margin-bottom:32px}.onboarding-card{display:flex;flex-direction:column;gap:24px;width:100%;max-width:640px;padding:36px;border:1px solid var(--border);border-radius:var(--radius-large);background:var(--surface)}.onboarding-card h1{font-size:1.6rem;margin-bottom:6px}.onboarding-actions{display:flex;justify-content:space-between}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{display:flex;flex-direction:column;gap:4px;padding:16px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);text-align:left;cursor:pointer}.choice:hover{border-color:var(--ink)}.choice-active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:var(--surface)}.pill-grid{display:flex;flex-wrap:wrap;gap:8px}.pill{padding:6px 12px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);font-size:.9rem;font-weight:600;cursor:pointer}.pill:hover{border-color:var(--ink)}.pill-active{border-color:var(--ink);background:var(--ink);color:var(--app-bg)}.subject-table{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius)}.subject-table-head,.subject-table-row{display:grid;grid-template-columns:minmax(0,1fr) auto 160px;align-items:center;gap:12px;padding:10px 14px}.subject-table-head{color:var(--subtle);font-size:.8rem;font-weight:700;border-bottom:1px solid var(--border)}.subject-table-head:has(span:nth-child(2):last-child),.subject-table-row:has(>:nth-child(2):last-child){grid-template-columns:minmax(0,1fr) 160px}.subject-table-row+.subject-table-row{border-top:1px solid var(--border)}.subject-name{font-weight:600}.segmented{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--radius-small);overflow:hidden}.segmented button{padding:4px 12px;border:none;background:var(--surface);font-weight:700;font-size:.85rem;cursor:pointer}.segmented button+button{border-left:1px solid var(--border-strong)}.segmented .segmented-active{background:var(--ink);color:var(--app-bg)}.auth-lead{margin-top:-6px;margin-bottom:18px;color:var(--muted);font-size:.95rem}.field-row{display:flex;align-items:baseline;justify-content:space-between}.field-link{color:var(--accent-text);font-size:.85rem;font-weight:700;text-decoration:none}.field-link:hover{text-decoration:underline}.auth-card .link-button,.auth-footer .link-button{align-self:center;color:var(--muted);font-size:.9rem}.auth-card .link-button:hover:not(:disabled),.auth-footer .link-button:hover{color:var(--ink)}.code-input{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.code-box{width:100%;height:54px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface);color:var(--ink);font-family:var(--font-heading);font-size:1.5rem;font-weight:800;text-align:center;caret-color:var(--accent);transition:border-color .15s ease,background .15s ease}.code-box:focus{outline:none;border-color:var(--accent)}.code-box.is-filled{background:var(--surface-strong)}.tag-success{background:var(--success-soft);color:var(--success)}.reminder-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:14px}.reminder-row .field{width:140px}.connection-lost{flex-direction:column;align-items:center;gap:14px}.video-field{position:relative}.video-field svg{position:absolute;top:50%;left:12px;color:#ff5a5f;transform:translateY(-50%)}.video-field .input{padding-left:38px}.card-editor{display:flex;flex-direction:column;gap:16px;padding:20px;border:1px solid var(--border-strong);border-radius:16px;background:var(--surface)}.card-type-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.card-type-picker button{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--border);border-radius:12px;background:none;color:var(--muted);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.card-type-picker button>svg{flex:none;margin-top:2px}.card-type-picker span{display:flex;flex-direction:column;gap:2px}.card-type-picker strong{color:var(--ink);font-size:.92rem}.card-type-picker small{font-size:.78rem;line-height:1.35}.card-type-picker button:hover{border-color:var(--border-strong)}.card-type-picker button.is-selected{border-color:var(--accent);background:#1238ff1f;color:var(--muted)}.card-type-picker button.is-selected>svg{color:var(--accent-text)}.card-editor-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.textarea-small{min-height:92px}.card-choices{display:flex;flex-direction:column;gap:8px}.card-choices-head{display:flex;align-items:center;justify-content:space-between}.card-choice-row{display:flex;align-items:center;gap:10px}.card-choice-mark{display:inline-flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;border-radius:50%;background:var(--danger-soft);color:var(--danger)}.card-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.card-editor-shortcut{margin-right:auto}.card-item-wrong{display:block;margin-top:6px;color:var(--subtle);font-size:.82rem}.card-item-actions{display:inline-flex;margin-left:auto}.cards-empty{padding:28px;border:1px dashed var(--border-strong);border-radius:14px;text-align:center}.review-top-right{display:inline-flex;align-items:center;gap:16px}.review-type{display:flex;flex-direction:column;gap:8px;margin-top:18px}.review-type .input{min-height:50px;font-size:1.05rem}.review-type.is-right .input{border-color:var(--success);background:var(--success-soft)}.review-type.is-almost .input{border-color:var(--warning);background:#f5b5441a}.review-type.is-wrong .input{border-color:var(--danger);background:var(--danger-soft)}.review-verdict{font-size:.88rem;font-weight:800}.review-type.is-right .review-verdict{color:var(--success)}.review-type.is-almost .review-verdict{color:var(--warning)}.review-type.is-wrong .review-verdict{color:var(--danger)}.review-options{display:flex;flex-direction:column;gap:8px;margin-top:18px}.review-option{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,opacity .15s ease}.review-option:hover:not(:disabled){border-color:var(--accent)}.review-option:disabled{cursor:default}.review-option .rich-text p{margin:0}.review-option-key{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;border-radius:7px;background:var(--surface-strong);color:var(--muted);font-size:.8rem;font-weight:800}.review-option.is-right{border-color:var(--success);background:var(--success-soft)}.review-option.is-right .review-option-key{background:var(--success);color:#06281a}.review-option.is-wrong{border-color:var(--danger);background:var(--danger-soft)}.review-option.is-wrong .review-option-key{background:var(--danger);color:#3a0904}.review-option.is-dim{opacity:.5}.review-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.grade.is-suggested{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}@media (max-width: 640px){.card-type-picker,.card-editor-sides{grid-template-columns:minmax(0,1fr)}.card-editor-shortcut{display:none}}.review-meta .review-edit{margin-left:auto}.review-edit-back{padding:0;border:none;background:none;font:inherit;cursor:pointer}.legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:18px;font-size:.84rem}.legal-links a{color:var(--subtle);text-decoration:none}.legal-links a:hover{color:var(--ink)}.legal-page{min-height:100dvh;background:var(--app-bg)}.legal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border)}.legal-main{width:min(760px,100%);margin:0 auto;padding:40px 24px 60px;color:var(--text);line-height:1.65}.legal-main h1{margin:0 0 6px}.legal-main h2{margin:30px 0 8px;font-size:1.15rem}.legal-main h3{margin:18px 0 4px;font-size:1rem}.legal-main p,.legal-main ul{margin:0 0 10px}.legal-main a{color:var(--accent-text)}.legal-foot{padding:0 24px 40px}.consent-check{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:.88rem;line-height:1.5;cursor:pointer}.consent-check input{flex-shrink:0;width:18px;height:18px;margin-top:2px;accent-color:var(--accent)}.consent-check a{color:var(--accent-text)}.landing-footer .legal-links{margin-top:0;margin-left:auto}.consent-logout{align-self:center}.language-switch{position:relative}.language-trigger{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid transparent;border-radius:10px;background:none;color:var(--muted);font:inherit;font-size:.86rem;font-weight:800;cursor:pointer}.language-trigger:hover,.language-trigger[aria-expanded=true]{border-color:var(--border-strong);color:var(--ink)}.theme-toggle{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid transparent;border-radius:10px;background:none;color:var(--muted);cursor:pointer}.theme-toggle:hover{border-color:var(--border-strong);color:var(--ink)}.language-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:40;display:flex;flex-direction:column;min-width:150px;padding:6px;border:1px solid var(--border-strong);border-radius:12px;background:#131417;box-shadow:0 18px 40px #00000073;animation:dialog-in .14s ease both}.language-panel a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:8px;color:var(--muted);font-size:.9rem;font-weight:700;text-decoration:none}.language-panel a:hover,.language-panel a.is-selected{background:var(--surface-strong);color:var(--ink)}.language-links{display:inline-flex;gap:14px;padding-left:12px;border-left:1px solid var(--border)}.language-links a{display:inline-flex;align-items:center;gap:6px}.language-links a[aria-current=true]{color:var(--ink)}.language-name{display:inline-flex;align-items:center;gap:9px}.flag{flex:none;border-radius:3px;box-shadow:0 0 0 1px #0000001f}.logo{display:inline-flex;align-items:center;gap:9px;color:#f2f5fc;text-decoration:none}[data-theme=light] .logo{color:var(--ink)}.logo-word{font-family:var(--font-heading);font-weight:700;letter-spacing:-.025em;line-height:1}.app-shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh;background:var(--app-bg)}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:18px;height:100vh;padding:22px 14px 18px;border-right:1px solid var(--border);background:var(--panel);color:#fff}.app-shell{transition:grid-template-columns .18s ease}.sidebar-icon-button{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;padding:0;border:none;border-radius:9px;background:none;color:#ffffff8c;cursor:pointer;transition:background-color .15s ease,color .15s ease}.sidebar-icon-button:hover{background:#ffffff12;color:#fff}@media (min-width: 961px){.app-shell.sidebar-small{grid-template-columns:68px minmax(0,1fr)}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.sidebar-head .sidebar-logo{padding:2px 10px 0}.sidebar.is-small{align-items:center;padding-left:10px;padding-right:10px}.sidebar.is-small .sidebar-head{flex-direction:column;gap:12px}.sidebar.is-small .sidebar-head .sidebar-logo{padding:0}.sidebar.is-small .sidebar-new span,.sidebar.is-small .sidebar-search span,.sidebar.is-small .sidebar-search kbd,.sidebar.is-small .sidebar-link span:not(.sidebar-badge),.sidebar.is-small .sidebar-user-text{display:none}.sidebar.is-small .sidebar-new,.sidebar.is-small .sidebar-search,.sidebar.is-small .sidebar-link{justify-content:center;width:44px;height:40px;padding:0}.sidebar.is-small .sidebar-search{margin-top:-6px}.sidebar.is-small .sidebar-nav,.sidebar.is-small .sidebar-footer{align-items:center}.sidebar.is-small .sidebar-link.active:before{left:-10px}.sidebar.is-small .sidebar-badge{position:absolute;background:var(--accent);color:#fff;top:2px;right:0;min-width:16px;padding:0 4px;font-size:.62rem;line-height:16px}.sidebar.is-small .sidebar-user{justify-content:center;padding:10px 0 0}.sidebar.is-small [data-tip]:hover:after,.sidebar.is-small [data-tip]:focus-visible:after,.sidebar-size:hover:after,.sidebar-size:focus-visible:after{content:attr(data-tip);position:absolute;top:50%;left:calc(100% + 10px);z-index:30;padding:5px 9px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-strong);color:var(--ink);font-size:.8rem;font-weight:600;white-space:pre;pointer-events:none;transform:translateY(-50%)}}.sidebar-new,.sidebar-search{position:relative}.subjects-toggle{position:fixed;top:14px;right:16px;z-index:40;display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--panel);color:var(--muted);font:inherit;font-size:.86rem;font-weight:700;cursor:pointer;transition:border-color .15s ease,color .15s ease}.subjects-toggle svg{transform:scaleX(-1)}.subjects-toggle:hover{border-color:var(--accent);color:var(--ink)}.drawer-backdrop{position:fixed;inset:0;z-index:45;background:#00000073;animation:fade-in .15s ease both}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:50;display:flex;flex-direction:column;gap:8px;width:min(320px,88vw);padding:12px 12px 18px;border-left:1px solid var(--border-strong);background:var(--panel);color:#fff;box-shadow:-18px 0 50px #00000073;animation:drawer-in .18s ease backwards}.drawer-head{display:flex;justify-content:flex-end}.drawer .sidebar-scroll{margin:0;padding:0 2px}@keyframes drawer-in{0%{transform:translate(24px);opacity:0}}.sidebar-logo{padding:2px 10px 6px;text-decoration:none}.sidebar-new{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-small);background:var(--surface-strong);color:var(--ink);font-weight:700;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.sidebar-new svg{color:var(--accent-text)}.sidebar-new:hover{border-color:var(--border-focus);background:#ffffff14}.sidebar-new:active{transform:scale(.98)}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.sidebar-link{position:relative;display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:var(--radius-small);color:#ffffffad;font-weight:600;text-decoration:none;transition:background-color .15s ease,color .15s ease}.sidebar-link:hover{background:#ffffff0f;color:#fff}.sidebar-link.active{background:#ffffff17;color:#fff}.sidebar-link.active:before{content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.sidebar-badge{margin-left:auto;min-width:22px;padding:1px 7px;border-radius:999px;background:#ffffff1f;color:var(--ink);font-size:.75rem;font-weight:800;text-align:center}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:10px}.sidebar-user{display:flex;align-items:center;gap:10px;padding:10px 12px 0;border-top:1px solid rgba(255,255,255,.1)}.sidebar-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:50%;background:#ffffff24;font-weight:800;font-size:.8rem}.sidebar-user-text{display:flex;flex-direction:column;min-width:0;line-height:1.3}.sidebar-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;font-size:.92rem}.sidebar-logout{padding:0;border:none;background:none;color:#ffffff8c;font-size:.82rem;text-align:left;cursor:pointer}.sidebar-logout:hover{color:#fff}.app-main{min-width:0;padding:36px 44px 80px}.page{max-width:1080px;margin:0 auto;display:flex;flex-direction:column;gap:24px;animation:page-in .3s ease backwards}.page-narrow{max-width:760px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.page-header h1+p,.page-header h1+.row{margin-top:6px}.back-link{align-self:flex-start;color:var(--subtle);font-weight:600;font-size:.9rem;text-decoration:none}.back-link:before{content:"← "}.back-link:hover{color:var(--ink)}.section-head,.panel-head,.section-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.small{font-size:.92rem}.card{border-color:var(--border);box-shadow:var(--shadow)}.panel{padding:22px;border:1px solid var(--border);border-radius:var(--radius-large);background:var(--surface);box-shadow:var(--shadow)}.notice-info{display:flex;align-items:center;gap:10px;margin-bottom:12px;background:#1238ff24;border-color:#1238ff4d}.chat-row{display:flex;animation:bubble-in .26s ease both}.chat-bubble{max-width:88%;padding:12px 16px;border-radius:16px;line-height:1.5}.chat-files{display:inline-flex;align-items:center;gap:5px;font-size:.82rem;font-weight:600;opacity:.9}.chat-bubble-plan,.chat-bubble-build{width:100%;max-width:100%;border-bottom-left-radius:4px;background:var(--surface);color:var(--text)}.chat-text{font-size:1.02rem}.suggestions{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;margin-top:14px}.suggestion{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,transform .15s ease}.suggestion:hover:not(:disabled){border-color:var(--border-strong);transform:translateY(-1px)}.suggestion:disabled{cursor:default}.suggestion-active{border-color:var(--ink);background:var(--surface-strong)}.suggestion-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:10px}.suggestion-icon-study_guide{background:#1238ff24;color:#8fb0ff}.suggestion-icon-flashcards{background:var(--accent-soft);color:var(--accent-text)}.suggestion-icon-quiz{background:#a078ff26;color:#b99eff}.suggestion-icon-exam_plan{background:var(--success-soft);color:var(--success)}.suggestion-icon-explain{background:#28bebe24;color:#63d4d4}.suggestion-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.suggestion-text span{color:var(--muted);font-size:.88rem;line-height:1.4}.suggestion-box{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;border:1.5px solid var(--border-strong);border-radius:6px;color:#fff;transition:background-color .15s ease,border-color .15s ease}.suggestion-active .suggestion-box{background:var(--accent);border-color:var(--accent)}.plan-details{display:flex;flex-direction:column;gap:14px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.plan-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.topic-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px;border:1px solid var(--border-strong);border-radius:var(--radius-small)}.topic-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 6px 4px 10px;border-radius:999px;background:var(--surface-strong);font-size:.87rem;font-weight:600}.topic-chip button{display:inline-flex;padding:3px;border:none;border-radius:50%;background:none;color:var(--subtle);cursor:pointer}.topic-chip button:hover{background:var(--border);color:var(--ink)}.topic-input{flex:1;min-width:120px;padding:4px 6px;border:none;outline:none;background:none}.plan-actions{display:flex;align-items:center;gap:12px;margin-top:16px}.build-line{display:flex;align-items:center;gap:12px}.build-line>div{display:flex;flex-direction:column;flex:1;min-width:0}.build-check,.build-fail{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:50%;background:var(--success-soft);color:var(--success);animation:pop .3s ease both}.build-fail{background:var(--danger-soft);color:var(--danger);font-weight:800}.composer{display:flex;flex-direction:column;gap:8px;padding:12px 12px 10px 16px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);transition:border-color .15s ease}.composer:focus-within{border-color:var(--border-focus)}.composer-files{display:flex;flex-wrap:wrap;gap:6px}.composer-input{width:100%;min-height:28px;padding:4px 0;border:none;outline:none;resize:none;background:none;font-size:1.05rem;line-height:1.5}.composer-bar{display:flex;align-items:center;justify-content:space-between}.composer-attach{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:none;border-radius:var(--radius-small);background:var(--surface);color:var(--muted);font-weight:700;font-size:.85rem;cursor:pointer}.composer-attach:hover{background:var(--surface-strong);color:var(--ink)}.composer-send{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:12px;background:var(--accent);color:#fff;cursor:pointer;transition:background-color .15s ease,transform .15s ease,opacity .15s ease}.composer-send:hover:not(:disabled){background:var(--accent-hover);transform:translate(1px)}.composer-send:disabled{opacity:.35;cursor:default}.empty-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex-shrink:0;border-radius:12px;background:var(--success-soft);color:var(--success)}.set-card-subject,.subject-tag{align-self:flex-start;padding:2px 9px;border-radius:999px;background:var(--subject-soft);color:var(--subject);font-weight:800;font-size:.76rem}.filter-row{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{--subject: var(--ink);--subject-soft: var(--surface-strong);display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-weight:700;font-size:.88rem;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.filter-chip>span:last-child{color:var(--subtle);font-weight:600}.filter-chip:hover{border-color:var(--border-strong)}.filter-chip-active{border-color:var(--subject);background:var(--subject-soft);color:var(--subject)}.subject-dot{display:inline-block;width:10px;height:10px;flex-shrink:0;border-radius:50%}.set-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}.set-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:18px 18px 18px 22px;border:1px solid var(--border);border-radius:var(--radius-large);background:var(--surface);text-decoration:none;box-shadow:var(--shadow);overflow:hidden;transition:transform .15s ease,border-color .15s ease}.set-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--subject)}.set-card:hover{transform:translateY(-2px);border-color:var(--border-strong)}.set-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.set-card-bottom{display:flex;flex-direction:column;gap:6px;margin-top:auto}.empty-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:32px;border:1px solid var(--border);border-radius:var(--radius-large);background:var(--surface);box-shadow:var(--shadow)}.empty-card p{max-width:560px}.empty-icon{background:#1238ff24;color:#8fb0ff}.mini-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}.mini-list-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.subject-rows{list-style:none;margin:0 0 18px;padding:0;border:1px solid var(--border);border-radius:var(--radius)}.subject-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px}.subject-row+.subject-row{border-top:1px solid var(--border)}.subject-row-name{flex:1;min-width:120px;font-weight:700}.subject-row-error{width:100%}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-small);background:none;color:var(--subtle);cursor:pointer}.icon-button:hover{background:var(--danger-soft);color:var(--danger)}.add-subject{display:flex;flex-direction:column;gap:12px}.add-subject-form{display:flex;flex-wrap:wrap;gap:8px}.add-subject-form .input{flex:1;min-width:180px}.add-subject-form .select{width:150px}.quick-add{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.quick-add .pill{padding:4px 10px;font-size:.85rem}.profile-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.profile-form .field:first-child{grid-column:1 / -1}.profile-form .input:disabled{background:var(--surface);color:var(--subtle)}.saved-note{color:var(--success);font-weight:700;font-size:.88rem;animation:pop .25s ease both}.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.toggle-row h2{margin-bottom:4px}.switch{position:relative;width:48px;height:28px;flex-shrink:0;border:none;border-radius:999px;background:var(--border-strong);cursor:pointer;transition:background-color .2s ease}.switch span{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px #0003;transition:transform .2s ease}.switch-on{background:var(--success)}.switch-on span{transform:translate(20px)}.passage-rich{font-size:.95rem}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes bubble-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}@keyframes pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){.page,.chat-row,.build-check,.saved-note{animation:none}}@media (max-width: 960px){.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar>*{min-width:0}.sidebar{position:sticky;top:0;z-index:10;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 16px}.sidebar-logo{padding:0}.sidebar-logo .logo-word,.sidebar-new span,.sidebar-user{display:none}.sidebar-new{order:2;margin-left:auto;padding:8px}.sidebar-footer{order:3;flex-direction:row;margin-top:0}.sidebar-footer .sidebar-link span{display:none}.sidebar-footer button.sidebar-link{width:auto}.sidebar-nav{order:4;flex-direction:row;width:100%;overflow-x:auto}.sidebar-link{white-space:nowrap}.sidebar-link.active:before{display:none}.sidebar{padding-right:136px}.sidebar .sidebar-nav{width:calc(100% + 120px);margin-right:-120px}.sidebar-head{order:0}.sidebar-size,.sidebar-search kbd{display:none}.sidebar-search{order:2;margin-top:0;padding:8px}.sidebar-search span{display:none}.subjects-toggle{top:10px;right:12px}.app-main{padding:24px 16px 64px}.action-grid{grid-template-columns:1fr}}@media (max-width: 640px){h1{font-size:1.6rem}.page-header{flex-direction:column}.chat-bubble{max-width:100%}.suggestions,.form-row,.choice-grid,.profile-form{grid-template-columns:1fr}.topic-row{grid-template-columns:1fr;gap:8px}.card-item{grid-template-columns:1fr}.review-card,.quiz-card,.onboarding-card,.auth-card,.panel{padding:18px}.grade-row{grid-template-columns:repeat(2,minmax(0,1fr))}.subject-table-head,.subject-table-row{grid-template-columns:1fr}.set-progress{width:100%}}.tag,.subject-tag,.set-card-subject{white-space:nowrap}.page-header .row{flex-wrap:wrap;gap:8px}.study-options{display:flex;flex-direction:column;gap:14px}.option-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.option-cards-two{grid-template-columns:repeat(2,minmax(0,1fr))}.option-card{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1.5px solid var(--border);border-radius:var(--radius-small);background:var(--surface);text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.option-card span{color:var(--subtle);font-size:.82rem;line-height:1.35}.option-card:hover{border-color:var(--border-strong)}.option-card-active{border-color:var(--ink);background:var(--surface-strong)}.option-card-active strong{color:var(--ink)}.suggestion-locked{cursor:default}.suggestion-note{font-size:.78rem;font-weight:700;color:var(--subtle)}.topic-chip,.chat-files{min-width:0;overflow-wrap:anywhere}.chat-files{flex-wrap:wrap}.build-links{display:flex;gap:6px;flex-shrink:0}@media (max-width: 640px){.option-cards,.option-cards-two{grid-template-columns:1fr}.build-line{flex-wrap:wrap}}.home-simple{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:40px 24px 12vh}.home-center{display:flex;flex-direction:column;align-items:center;gap:22px;width:min(760px,100%)}.home-greeting{color:var(--ink);font-size:clamp(1.9rem,4vw,2.6rem);letter-spacing:-.03em;text-align:center;animation:rise-in .5s ease both}.topic-picker{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;animation:rise-in .5s 80ms ease both}.topic{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:.9rem;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.topic:hover{border-color:var(--border-strong);color:var(--ink)}.topic.is-selected{border-color:var(--ink);background:var(--ink);color:var(--app-bg)}.topic.is-selected .topic-dot{box-shadow:0 0 0 2px var(--app-bg)}.topic-dot{width:8px;height:8px;border-radius:50%;background:var(--topic, var(--subtle))}.home-center .composer{width:100%;animation:rise-in .5s .16s ease both}.home-center .composer-input{min-height:64px}.home-target{color:var(--subtle);font-size:.85rem}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}}@media (max-width: 640px){.home-simple{align-items:flex-start;min-height:0;padding-top:12vh}}.planner{max-width:760px}.planner-head{display:flex;flex-direction:column;gap:18px;margin-bottom:28px}.planner-head h1{font-size:1.8rem}.quick-add{display:flex;align-items:center;gap:12px;padding:0 16px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--subtle);transition:border-color .15s ease}.quick-add:focus-within{border-color:var(--border-focus)}.quick-add input{flex:1;min-width:0;height:52px;border:none;outline:none;background:none;color:var(--ink);font-size:1rem}.quick-add input::placeholder{color:var(--subtle)}.planner-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:60px 20px;border:1px dashed var(--border-strong);border-radius:16px;color:var(--subtle);text-align:center}.planner-empty strong{color:var(--ink)}.planner-group{margin-bottom:26px}.planner-group h2{margin-bottom:6px;padding-left:4px;color:var(--subtle);font-size:.78rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.planner-group.is-overdue h2{color:var(--danger)}.planner-group ul{margin:0;padding:0;list-style:none}.planner-row{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 8px;border-bottom:1px solid var(--border)}.planner-row:last-child{border-bottom:none}.planner-row:hover,.planner-row.is-editing{background:#ffffff05}.check{display:inline-flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;border:1.5px solid var(--border-strong);border-radius:50%;background:none;color:transparent;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.check:hover{border-color:var(--accent);color:var(--accent-text)}.check.is-checked{border-color:var(--accent);background:var(--accent);color:#fff}.planner-main{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0;padding:0;border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.planner-title{color:var(--ink);font-weight:700}.planner-row.is-done .planner-title{flex:1;color:var(--subtle);text-decoration:line-through}.planner-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;color:var(--subtle);font-size:.84rem}.planner-subject{display:inline-flex;align-items:center;gap:6px;color:var(--muted)}.planner-subject i{width:7px;height:7px;border-radius:50%}.planner-kind{padding:1px 8px;border-radius:999px;background:var(--surface-strong);color:var(--muted);font-size:.75rem;font-weight:800}.planner-kind-test{background:var(--accent);color:#fff}.planner-note{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-actions{display:flex;align-items:center;gap:4px;opacity:0;transition:opacity .15s ease}.planner-row:hover .planner-actions,.planner-row:focus-within .planner-actions{opacity:1}.planner-action{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);color:var(--ink);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;transition:border-color .15s ease}.planner-action:hover{border-color:var(--accent)}.planner-icon{display:inline-flex;padding:7px;border:none;border-radius:8px;background:none;color:var(--subtle);cursor:pointer}.planner-icon:hover{background:var(--surface-strong);color:var(--danger)}.test-ring{display:inline-flex;align-items:center;justify-content:center;flex:none;width:26px;height:26px;margin:-2px;border-radius:50%;background:conic-gradient(var(--accent) var(--ready),var(--surface-strong) 0);color:var(--accent-text);position:relative}.test-ring:before{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--bg)}.test-ring svg{position:relative}.planner-editor{display:flex;flex-direction:column;gap:10px;width:100%;padding:12px 0 4px 34px}.planner-editor-row{display:grid;grid-template-columns:1fr 180px;gap:10px}.planner-notes{min-height:0;resize:vertical}.planner-editor-actions{display:flex;justify-content:flex-end;gap:8px}.planner-done-toggle{display:inline-flex;align-items:center;gap:8px;padding:4px;border:none;background:none;color:var(--subtle);font:inherit;font-size:.85rem;font-weight:800;cursor:pointer}.planner-done-toggle svg{transform:rotate(-90deg);transition:transform .15s ease}.planner-done-toggle svg.is-open{transform:none}@media (hover: none){.planner-actions{opacity:1}}@media (max-width: 640px){.planner-editor{padding-left:0}.planner-editor-row{grid-template-columns:1fr}}.sidebar-search{display:flex;align-items:center;gap:10px;margin-top:-8px;padding:8px 12px;border:none;border-radius:var(--radius-small);background:none;color:#ffffff8c;font:inherit;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.sidebar-search:hover{background:#ffffff0f;color:#fff}.sidebar-search kbd{margin-left:auto;padding:1px 6px;border:1px solid var(--border-strong);border-radius:6px;color:var(--subtle);font-family:var(--font-body);font-size:.72rem}.palette-backdrop{position:fixed;inset:0;z-index:80;display:flex;justify-content:center;padding:12vh 16px 16px;background:#0000008c;animation:fade-in .12s ease both}.palette{display:flex;flex-direction:column;width:min(600px,100%);max-height:64vh;overflow:hidden;border:1px solid var(--border-strong);border-radius:16px;background:var(--panel);box-shadow:0 30px 80px #0009;animation:dialog-in .16s ease both}.palette-input{display:flex;align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid var(--border);color:var(--subtle)}.palette-input input{flex:1;height:54px;border:none;outline:none;background:none;color:var(--ink);font-size:1.02rem}.palette-list{margin:0;padding:6px;overflow-y:auto;list-style:none}.palette-group{display:block;padding:10px 10px 4px;color:var(--subtle);font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.palette-item{display:flex;align-items:center;gap:12px;width:100%;padding:9px 10px;border:none;border-radius:10px;background:none;color:var(--muted);font:inherit;text-align:left;cursor:pointer}.palette-item.is-active{background:#ffffff14;color:var(--ink)}.palette-label{overflow:hidden;color:var(--ink);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.palette-detail{margin-left:auto;flex:none;max-width:45%;overflow:hidden;color:var(--subtle);font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}.palette-empty{padding:22px 12px;color:var(--subtle);text-align:center}@media (min-width: 961px){.app-main{padding-top:64px}.sidebar{z-index:20}.app-shell .chat-header,.app-shell .side-panel-head,.app-shell .worksheet-panel-head{padding-right:140px}.app-shell .writing-side{top:64px}}.sidebar-footer button.sidebar-link{width:100%;border:none;background:none;font:inherit;text-align:left;cursor:pointer}.review-dialog{max-width:460px}.review-dialog h2,.review-dialog p{margin:0}.review-dialog .textarea{min-height:130px}.review-stars{display:flex;gap:4px}.review-stars button{display:inline-flex;padding:2px;border:none;background:none;color:var(--border-strong);cursor:pointer;transition:color .12s ease,transform .12s ease}.review-stars button.is-on{color:#f5b544}.review-stars button.is-on svg{fill:currentColor}.review-stars button:hover{transform:scale(1.08)}.profile-menu{position:relative}.profile-trigger{width:100%;border-top:1px solid rgba(255,255,255,.1);border-right:none;border-bottom:none;border-left:none;border-radius:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.profile-trigger:hover .sidebar-name{text-decoration:underline;text-underline-offset:3px}.profile-email{overflow:hidden;color:#ffffff73;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.profile-chevron{flex:none;margin-left:auto;opacity:.55;transform:rotate(180deg)}.profile-panel{position:absolute;right:0;bottom:calc(100% + 8px);left:0;z-index:40;display:flex;flex-direction:column;gap:8px;min-width:220px;padding:8px;border:1px solid var(--border-strong);border-radius:14px;background:var(--surface);box-shadow:0 18px 40px #00000073;animation:dialog-in .14s ease both}.profile-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.profile-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 8px;border:1px solid var(--border);border-radius:10px;background:none;color:var(--ink);font:inherit;font-size:.84rem;font-weight:700;cursor:pointer}.profile-chip:hover{background:var(--surface-strong)}.profile-chip svg{color:var(--muted)}.profile-languages{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--border);border-radius:10px;color:var(--muted)}.profile-languages button{display:inline-flex;flex:1;align-items:center;justify-content:center;gap:7px;padding:6px 4px;border:none;border-radius:7px;background:none;color:var(--muted);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.profile-languages button.is-selected{background:var(--surface-strong);color:var(--ink)}.profile-logout{display:flex;align-items:center;gap:8px;padding:8px 10px;border:none;border-radius:9px;background:none;color:var(--muted);font:inherit;font-size:.86rem;font-weight:700;cursor:pointer}.profile-logout:hover{background:var(--surface-strong);color:var(--ink)}.sidebar.is-small .profile-panel{right:auto;left:0;width:230px}[data-theme=light] .profile-trigger{border-top-color:#dcdde6}[data-theme=light] .profile-email{color:var(--subtle)}[data-theme=light] .profile-panel{background:var(--surface-raised);box-shadow:0 18px 40px #14161b24}@media (max-width: 960px){.profile-panel{top:calc(100% + 8px);right:0;bottom:auto;left:auto;width:240px}.profile-trigger{width:auto;border-top:none}.profile-trigger .sidebar-user-text,.profile-chevron{display:none}}.premium-mark{display:inline-flex;align-items:center;justify-content:center;flex:none;margin-left:auto;color:var(--gold);opacity:.85}.sidebar-link .premium-mark+.sidebar-badge{margin-left:6px}.sidebar.is-small .premium-mark{display:none}.plan-pill{display:flex;align-items:center;gap:10px;margin-bottom:4px;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-small);color:var(--ink);font-size:.86rem;font-weight:700;text-decoration:none;transition:border-color .15s ease,background-color .15s ease}.plan-pill:hover{border-color:var(--border-strong);background:#ffffff0a}.plan-pill svg{flex:none}.plan-pill>span{display:flex;flex:1;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.plan-pill strong{font-variant-numeric:tabular-nums}.plan-pill.is-trial svg,.plan-pill.is-premium svg{color:var(--gold)}.plan-pill.is-locked{border-color:color-mix(in srgb,var(--gold) 45%,transparent);background:color-mix(in srgb,var(--gold) 9%,transparent)}.plan-pill.is-locked svg{color:var(--gold)}.sidebar.is-small .plan-pill{justify-content:center;padding:9px 0}.sidebar.is-small .plan-pill>span{display:none}.trial-dialog,.paywall-dialog{max-width:440px;padding:28px}.trial-dialog h2,.paywall-dialog h2{font-size:1.35rem}.trial-icon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--gold) 14%,transparent);color:var(--gold)}.trial-points{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;color:var(--text);font-size:.92rem}.trial-points li{display:flex;align-items:center;gap:10px}.trial-points svg{flex:none;color:var(--success)}.composer-send.is-locked{background:var(--surface-strong);color:var(--muted)}.composer-send.is-locked:hover{background:color-mix(in srgb,var(--gold) 16%,var(--surface-strong));color:var(--gold);transform:none}.premium-page{gap:28px;padding-top:24px}.premium-head{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.premium-head h1{font-size:clamp(1.8rem,4vw,2.4rem);letter-spacing:-.03em}.premium-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--gold) 14%,transparent);color:var(--gold);font-size:.8rem;font-weight:800}.premium-card{display:flex;flex-direction:column;gap:20px;padding:28px;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.premium-price{display:flex;align-items:baseline;gap:8px}.premium-price strong{color:var(--ink);font-family:var(--font-heading);font-size:2.6rem;letter-spacing:-.03em}.premium-price span{color:var(--muted)}.premium-list{display:grid;gap:12px;margin:0;padding:0;list-style:none;color:var(--text)}.premium-list li{display:flex;align-items:flex-start;gap:10px}.premium-list svg{flex:none;margin-top:2px;color:var(--success)}.premium-note{font-size:.84rem;text-align:center}.sidebar-scroll{flex:1;min-height:0;margin:0 -6px;padding:0 6px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.tree{display:flex;flex-direction:column;gap:2px}.tree-heading{padding:6px 12px;color:#ffffff73;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tree-row{display:flex;align-items:center;border-radius:var(--radius-small)}.tree-row:hover{background:#ffffff0f}.tree-toggle{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:6px 8px 6px 10px;border:none;background:none;color:#ffffffd9;font-weight:700;font-size:.9rem;text-align:left;cursor:pointer}.tree-toggle-unit{font-weight:600;color:#ffffffb8}.tree-chevron{width:6px;height:6px;flex-shrink:0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;opacity:.6;transform:rotate(-45deg);transition:transform .15s ease}.tree-chevron-open{transform:rotate(45deg)}.tree-dot{width:9px;height:9px;flex-shrink:0;border-radius:3px}.tree-dot-other{background:#ffffff59}.tree-name,.tree-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-count{margin-left:auto;color:#ffffff59;font-size:.75rem}.tree-add,.tree-more{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;margin-right:4px;border:none;border-radius:6px;background:none;color:#ffffff80;cursor:pointer;opacity:0;transition:opacity .12s ease,background-color .12s ease}.tree-more{gap:2px}.tree-more span{width:3px;height:3px;border-radius:50%;background:currentColor}.tree-row:hover .tree-add,.tree-row:hover .tree-more,.tree-item-wrap:hover .tree-more,.tree-add:focus-visible,.tree-more:focus-visible{opacity:1}.tree-add:hover,.tree-more:hover{background:#ffffff1f;color:#fff}.tree-children{display:flex;flex-direction:column;gap:1px;margin-left:14px;padding-left:6px;border-left:1px solid rgba(255,255,255,.08)}.tree-item-wrap{display:flex;align-items:center;border-radius:var(--radius-small)}.tree-item-wrap:hover{background:#ffffff0f}.tree-item{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:5px 8px;border-radius:var(--radius-small);color:#ffffff9e;font-size:.87rem;text-decoration:none}.tree-item:hover{color:#fff}.tree-item.active{background:#ffffff17;color:#fff}.tree-item svg{flex-shrink:0;opacity:.7}.tree-empty{padding:4px 8px;color:#ffffff4d;font-size:.8rem}.tree-new-unit{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:4px 8px;border:none;border-radius:6px;background:none;color:#fff6;font-size:.8rem;font-weight:700;cursor:pointer}.tree-new-unit:hover{background:#ffffff0f;color:#fff}.tree-input{margin:2px 4px;padding:5px 8px;border:1px solid rgba(255,255,255,.25);border-radius:6px;outline:none;background:#ffffff14;color:#fff;font-size:.87rem}.menu{position:fixed;z-index:50;display:flex;flex-direction:column;min-width:170px;padding:5px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 12px 32px #00000078;animation:menu-in .12s ease both}.menu button{padding:8px 10px;border:none;border-radius:6px;background:none;color:var(--text);font-weight:600;font-size:.9rem;text-align:left;cursor:pointer}.menu button:hover{background:var(--surface)}.menu .menu-danger{color:var(--danger)}.dialog-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:16px;background:#0009;animation:fade-in .15s ease both}.dialog{display:flex;flex-direction:column;gap:14px;width:100%;max-width:420px;padding:24px;border-radius:var(--radius-large);background:var(--surface);box-shadow:0 24px 60px #0009;animation:dialog-in .18s ease both}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.composer-large .composer-input{min-height:56px;font-size:1.08rem}.recent-chats{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.recent-chat{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-decoration:none;box-shadow:var(--shadow);transition:border-color .15s ease,transform .15s ease}.recent-chat:hover{border-color:var(--border-strong);transform:translateY(-1px)}.recent-chat-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:10px;background:#28bebe24;color:#63d4d4}.recent-chat-text{display:flex;flex-direction:column;min-width:0}.recent-chat-text strong,.recent-chat-text span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-main-flush{padding:0}.chat-layout{display:grid;grid-template-columns:minmax(0,1fr);height:100dvh;background:var(--bg)}.chat-layout-panel{grid-template-columns:minmax(0,1fr) 420px}.chat-page{display:flex;flex-direction:column;min-width:0;height:100dvh}.chat-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;border-bottom:1px solid var(--border);background:var(--bg)}.chat-header-text{display:flex;flex:1 1 auto;flex-direction:column;gap:3px;min-width:0}.chat-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.1rem}.chat-location{display:inline-flex;align-items:center;align-self:flex-start;gap:6px;padding:2px 8px 2px 6px;border:none;border-radius:6px;background:none;color:var(--muted);font-weight:600;font-size:.85rem;cursor:pointer}.chat-location:hover{background:var(--surface)}.chat-location-sep{color:var(--border-strong)}.chat-location-edit{margin-left:4px;color:var(--subtle);font-size:.78rem;opacity:0;transition:opacity .12s ease}.chat-location:hover .chat-location-edit{opacity:1}.chat-linked{display:inline-flex;align-items:center;gap:8px;max-width:280px;padding:7px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-weight:700;font-size:.88rem;cursor:pointer}.chat-linked span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-linked:hover{border-color:var(--ink)}.chat-scroll{flex:1;min-height:0;overflow-y:auto}.chat-column{width:100%;max-width:780px;margin:0 auto;padding:0 24px}.chat-scroll .chat-column{display:flex;flex-direction:column;gap:26px;padding-top:28px;padding-bottom:28px}.chat-empty{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:12vh;text-align:center}.message{display:flex;gap:14px;animation:bubble-in .22s ease both}.message-user{justify-content:flex-end}.message-user-bubble{display:flex;flex-direction:column;gap:6px;max-width:78%;padding:11px 16px;border-radius:18px 18px 5px;background:var(--surface-strong);white-space:pre-wrap;overflow-wrap:anywhere}.message-avatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:9px;background:var(--accent)}.message-avatar-error{background:var(--danger-soft);color:var(--danger);font-weight:800}.message-body{flex:1;min-width:0;padding-top:3px;font-size:1rem;line-height:1.65}.message-body .rich-text h2,.message-body .rich-text h3{font-size:1.05rem}.message-body .katex-display{overflow-x:auto;overflow-y:hidden}.streaming>:last-child:after{content:"";display:inline-block;width:7px;height:1em;margin-left:3px;vertical-align:-2px;border-radius:2px;background:var(--accent);animation:blink .9s steps(2) infinite}.thinking{display:inline-flex;align-items:center;gap:5px;font-weight:600;font-size:.92rem}.thinking>span:not(.thinking-text){width:6px;height:6px;border-radius:50%;background:#4a4d55;animation:typing 1.1s ease-in-out infinite}.thinking>span:nth-child(2){animation-delay:.15s}.thinking>span:nth-child(3){margin-right:6px;animation-delay:.3s}.thinking-text{background:linear-gradient(90deg,#4a4d55 0% 38%,#d9dbe0 50%,#4a4d55 62% 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:thinking-wave 1.9s linear infinite,thinking-word-in .32s ease both}@keyframes thinking-wave{0%{background-position:100% 0}to{background-position:0% 0}}@keyframes thinking-word-in{0%{opacity:0;transform:translateY(3px)}}@media (prefers-reduced-motion: reduce){.thinking-text{animation:none;background:none;color:#8a8d95}.thinking>span:not(.thinking-text){animation:none;opacity:.6}}.message-action{margin-top:14px}.message-action .chat-row{display:block;animation:none}.message-action .chat-bubble{border:1px solid var(--border);border-radius:var(--radius-large);box-shadow:var(--shadow)}.update-card{display:flex;align-items:center;gap:12px;width:100%;margin-top:14px;padding:12px 14px;border:1px solid rgba(61,204,142,.35);border-radius:var(--radius);background:var(--success-soft);text-align:left;cursor:pointer}.update-card-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:50%;background:var(--success);color:#06281a}.update-card-text{display:flex;flex-direction:column;flex:1;min-width:0}.update-card-text span{color:var(--muted);font-size:.88rem}.update-card-open{font-weight:700;color:var(--success)}.chat-composer{padding:10px 0 16px;background:var(--bg)}.chat-hint{margin-top:8px;color:var(--subtle);font-size:.78rem;text-align:center}.chat-missing{display:flex;justify-content:center;padding:80px 16px}.side-panel{display:flex;flex-direction:column;height:100dvh;border-left:1px solid var(--border);background:var(--app-bg);animation:panel-slide .22s ease both}.side-panel-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border)}.side-panel-kicker{font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--subtle)}.side-panel-body{display:flex;flex-direction:column;gap:14px;flex:1;min-height:0;padding:18px;overflow-y:auto}.side-panel-body h2{font-size:1.3rem}.side-panel-actions{display:flex;flex-wrap:wrap;gap:6px}.side-panel-guide{display:flex;flex-direction:column;gap:16px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:.94rem}.side-panel-guide section{display:flex;flex-direction:column;gap:10px}.side-panel-guide ul{margin:0;padding-left:1.2em}.side-panel-source{font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--subtle)}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes panel-slide{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}@keyframes blink{to{visibility:hidden}}@media (prefers-reduced-motion: reduce){.message,.menu,.dialog,.side-panel{animation:none}}@media (max-width: 1100px){.chat-layout-panel{grid-template-columns:minmax(0,1fr)}.side-panel{position:fixed;top:0;right:0;z-index:40;width:min(420px,100vw);box-shadow:-12px 0 40px #00000078}}@media (max-width: 960px){.side-panel{top:auto;bottom:0}}@media (max-width: 640px){.chat-header{padding:10px 16px}.chat-column{padding:0 14px}.message-user-bubble{max-width:90%}.message-avatar,.chat-linked span{display:none}}.action-failed{margin-top:12px}@media (max-width: 960px){.drawer .tree-add,.drawer .tree-more{opacity:1}.chat-layout,.chat-page{height:auto;min-height:0}.chat-page{height:calc(100dvh - var(--sidebar-height, 110px))}.side-panel{height:85dvh}}.composer-tools{display:flex;align-items:center;gap:6px;min-width:0}.composer .composer-attach{width:34px;height:34px;padding:0;justify-content:center;border:1px solid var(--border);border-radius:50%;background:var(--surface);transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}.composer .composer-attach:hover{border-color:var(--border-strong);background:var(--surface)}.composer .composer-attach:active{transform:scale(.94)}.mode-picker{position:relative}.mode-trigger{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px 0 11px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:.86rem;font-weight:700;cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease}.mode-trigger:hover,.mode-trigger.is-open{background:var(--surface);color:var(--ink)}.mode-trigger.is-guided{color:var(--accent-text)}.mode-trigger.is-guided:hover,.mode-trigger.is-guided.is-open{background:var(--accent-soft);color:var(--accent-text)}.mode-trigger:focus-visible{outline:none;border-color:var(--ink)}.mode-trigger-length{color:var(--subtle);font-weight:600}.mode-trigger-length:before{content:"·";margin-right:6px}.mode-trigger-chevron{transition:transform .2s ease}.mode-trigger.is-open .mode-trigger-chevron{transform:rotate(180deg)}.mode-menu{position:absolute;bottom:calc(100% + 10px);left:-6px;z-index:30;display:flex;flex-direction:column;gap:4px;width:290px;padding:8px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:0 16px 40px #0000006b,0 2px 6px #00000029;opacity:0;transform:translateY(6px) scale(.97);transform-origin:bottom left;visibility:hidden;pointer-events:none;transition:opacity .16s ease,transform .2s cubic-bezier(.2,.9,.3,1.2),visibility 0s linear .2s}.mode-menu.is-open{opacity:1;transform:none;visibility:visible;pointer-events:auto;transition:opacity .16s ease,transform .22s cubic-bezier(.2,.9,.3,1.2),visibility 0s}.composer-large .mode-menu{bottom:auto;top:calc(100% + 10px);transform-origin:top left;transform:translateY(-6px) scale(.97)}.composer-large .mode-menu.is-open{transform:none}.mode-menu-label{padding:6px 8px 2px;color:var(--subtle);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.mode-option{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border:none;border-radius:10px;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:background .14s ease}.mode-option:hover,.mode-option:focus-visible{outline:none;background:var(--surface)}.mode-option-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;border-radius:9px;background:var(--surface-strong);color:var(--ink);transition:background .16s ease,color .16s ease}.mode-option.is-selected .mode-option-icon{background:var(--accent);color:#fff}.mode-option:last-child.is-selected .mode-option-icon{background:var(--accent)}.mode-option-text{display:flex;flex:1;flex-direction:column;min-width:0;line-height:1.3}.mode-option-text strong{font-size:.92rem}.mode-option-text span{color:var(--subtle);font-size:.8rem}.mode-option-check{flex:none;color:var(--ink);opacity:0;transform:scale(.6);transition:opacity .16s ease,transform .2s cubic-bezier(.2,.9,.3,1.3)}.mode-option.is-selected .mode-option-check{opacity:1;transform:none}.length-switch{position:relative;display:grid;grid-template-columns:repeat(3,1fr);margin:2px 4px 0;padding:3px;border-radius:10px;background:var(--surface-strong)}.length-switch-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px) / 3);border-radius:8px;background:var(--surface);box-shadow:0 1px 3px #0000005c;transform:translate(calc(var(--index) * 100%));transition:transform .24s cubic-bezier(.3,.8,.3,1)}.length-switch button{position:relative;padding:6px 0;border:none;background:none;color:var(--subtle);font:inherit;font-size:.84rem;font-weight:700;cursor:pointer;transition:color .16s ease}.length-switch button.is-selected{color:var(--ink)}.length-switch button:focus-visible{outline:2px solid var(--ink);outline-offset:-2px;border-radius:8px}.mode-preview{margin:4px 8px;color:var(--muted);font-size:.8rem;animation:fade-in .22s ease both}.composer-context{display:flex;align-items:center;gap:10px;align-self:flex-start;max-width:100%;padding:6px 8px 6px 6px;border:1px solid var(--border);border-radius:12px;background:var(--surface);animation:context-in .22s cubic-bezier(.2,.9,.3,1.2) both}.composer-context img{width:44px;height:36px;border-radius:7px;object-fit:cover;border:1px solid var(--border);background:var(--surface)}.composer-context>svg{margin:0 4px;color:var(--accent-text)}.composer-context-text{display:flex;flex-direction:column;min-width:0;line-height:1.25}.composer-context-text span{color:var(--subtle);font-size:.74rem}.composer-context-text strong{overflow:hidden;font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}.composer-context-clear{display:inline-flex;padding:5px;border:none;border-radius:50%;background:none;color:var(--subtle);cursor:pointer}.composer-context-clear:hover{background:var(--surface-strong);color:var(--ink)}@keyframes context-in{0%{opacity:0;transform:translateY(6px) scale(.96)}}.message-user-stack{display:flex;flex-direction:column;align-items:flex-end;gap:6px;max-width:78%}.message-user-stack .message-user-bubble{max-width:100%}.message-context{display:inline-flex;align-items:center;gap:5px;color:var(--subtle);font-size:.8rem;font-weight:700}.message-context svg{color:var(--accent-text)}.message-images{display:grid;grid-template-columns:repeat(var(--columns, 1),minmax(0,1fr));gap:6px;width:min(320px,100%)}.message-images.count-2,.message-images.count-3,.message-images.count-4{--columns: 2}.message-images a,.message-images>img{display:block;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.message-images img{display:block;width:100%;max-height:240px;object-fit:cover;transition:transform .3s ease}.message-images.count-2 img,.message-images.count-3 img,.message-images.count-4 img{aspect-ratio:4 / 3}.message-images a:hover img{transform:scale(1.03)}.message-file{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--muted);font-size:.86rem;font-weight:700}.worksheet-card{display:flex;align-items:center;gap:12px;width:min(340px,100%);padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow);animation:context-in .26s cubic-bezier(.2,.9,.3,1.2) both;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}button.worksheet-card:hover{border-color:var(--border-strong);box-shadow:0 6px 20px #00000042;transform:translateY(-1px)}.worksheet-card-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;border-radius:10px;background:var(--accent-soft);color:var(--accent-text)}.worksheet-card-text{display:flex;flex:1;flex-direction:column;min-width:0;line-height:1.3}.worksheet-card-text strong{overflow:hidden;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.worksheet-card-text span{color:var(--subtle);font-size:.8rem}.worksheet-card-action{flex:none;padding:5px 10px;border:none;border-radius:8px;background:var(--surface-strong);color:var(--ink);font:inherit;font-size:.8rem;font-weight:800;cursor:pointer}.worksheet-card.is-converting .worksheet-card-text span{background:linear-gradient(90deg,var(--subtle) 30%,var(--border-strong) 50%,var(--subtle) 70%) 0 0 / 200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 1.6s linear infinite}.worksheet-card.is-failed .worksheet-card-icon{background:var(--danger-soft);color:var(--danger)}.spinner-small{width:14px;height:14px;border-top-color:var(--accent)}.convert-button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px dashed var(--border-strong);border-radius:999px;background:var(--surface);color:var(--muted);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;transition:border-color .16s ease,color .16s ease,background .16s ease}.convert-button:hover{border-style:solid;border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}@keyframes shimmer{to{background-position:-200% 0}}.chat-layout-worksheet{grid-template-columns:minmax(380px,1fr) minmax(0,1.15fr)}@media (max-width: 1100px){.chat-layout-worksheet{grid-template-columns:minmax(0,1fr)}.worksheet-panel.side-panel{width:100vw}}@media (max-width: 640px){.message-user-stack{max-width:90%}.mode-trigger-length{display:none}}@media (prefers-reduced-motion: reduce){.mode-menu,.length-switch-thumb,.worksheet-card,.composer-context{transition:none;animation:none}}.chat-composer{position:relative}.jump-latest{position:absolute;top:-44px;left:50%;z-index:5;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--ink);box-shadow:0 6px 20px #0000006b;cursor:pointer;opacity:0;pointer-events:none;transform:translate(-50%,8px) scale(.9);transition:opacity .18s ease,transform .22s cubic-bezier(.2,.9,.3,1.2),background .15s ease}.jump-latest.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%) scale(1)}.jump-latest:hover{background:var(--surface)}.jump-latest.is-streaming:after{content:"";position:absolute;top:1px;right:1px;width:9px;height:9px;border:2px solid var(--bg);border-radius:50%;background:var(--accent);animation:blink 1.2s ease-in-out infinite}.chat-title-button{display:block;max-width:calc(100% + 6px);padding:2px 6px;margin-left:-6px;overflow:hidden;border:none;border-radius:8px;background:none;color:inherit;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;transition:background .15s ease}.chat-title-button:hover{background:var(--surface)}.inline-name{min-width:0;padding:2px 6px;border:1px solid var(--ink);border-radius:7px;outline:none;background:var(--surface);color:var(--text);font:inherit;box-shadow:0 0 0 3px #0000004f}.chat-title-input{width:min(520px,100%);margin-left:-7px;font-family:var(--font-heading);font-size:1.1rem;font-weight:800}.tree-inline{flex:1;width:100%;border-color:#ffffff80;background:#ffffff1a;color:#fff;font-size:.88rem;box-shadow:0 0 0 3px #1238ff59}.tree-toggle-editing,.tree-item-editing{display:flex;align-items:center;gap:8px;cursor:default}.subject-row-name{display:inline-flex;align-items:center;gap:6px;padding:3px 6px;margin-left:-6px;border:none;border-radius:7px;background:none;color:inherit;font:inherit;font-weight:700;cursor:text}.subject-row-name svg{color:var(--subtle);opacity:0;transition:opacity .15s ease}.subject-row-name:hover{background:var(--surface)}.subject-row-name:hover svg{opacity:1}.subject-row-input{flex:1;max-width:260px;font-weight:700}.confirm-dialog h2{margin:0;font-size:1.15rem}.confirm-dialog p{margin:0}.toasts{position:fixed;bottom:24px;left:50%;z-index:70;display:flex;flex-direction:column;align-items:center;gap:8px;transform:translate(-50%);pointer-events:none}.toast{display:flex;align-items:center;gap:10px;max-width:min(440px,calc(100vw - 32px));padding:10px 10px 10px 16px;border-radius:12px;background:var(--panel);color:#fff;font-size:.9rem;box-shadow:0 12px 32px #0009;animation:context-in .22s cubic-bezier(.2,.9,.3,1.2) both;pointer-events:auto}.toast button{display:inline-flex;padding:4px;border:none;border-radius:50%;background:none;color:#ffffffb3;cursor:pointer}@media (prefers-reduced-motion: reduce){.jump-latest{transition:none}}.composer{transition:box-shadow .15s ease,border-color .15s ease,background .15s ease}.composer.is-dragging{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px #1238ff40}.file-chip-image{padding-left:4px}.file-chip-image img{width:26px;height:26px;border-radius:6px;object-fit:cover;background:var(--surface)}.visual{position:relative;margin:14px 0 6px}.visual-frame{overflow:hidden;border:1px solid var(--border);border-radius:14px;background:#fff;padding:10px;animation:fade-in .26s ease both}.visual-frame svg{display:block;width:100%;max-height:420px;height:auto;font-family:var(--font-body)}.sketch text{font-family:var(--font-body)}.visual-copy{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid var(--border);border-radius:8px;background:#1a1b1feb;color:var(--muted);font:inherit;font-size:.76rem;font-weight:700;cursor:pointer;opacity:0;transition:opacity .15s ease,color .15s ease}.visual:hover .visual-copy,.visual-copy:focus-visible{opacity:1}.visual-copy:hover{color:var(--ink)}.visual-pending,.visual-failed{display:flex;align-items:center;gap:10px;min-height:120px;justify-content:center;border:1px dashed var(--border-strong);border-radius:14px;background:var(--surface);color:var(--subtle);font-size:.88rem;font-weight:600}.visual-failed{min-height:0;padding:12px}.graph-title{fill:var(--ink);font-size:15px;font-weight:800}.graph-grid{stroke:#e8ebf1;stroke-width:1}.graph-axis{stroke:#1e2a4a;stroke-width:1.4}.graph-tick{fill:#6b7280;font-size:11.5px}.graph-label{fill:#1e2a4a;font-size:13px;font-weight:700}.graph-curve{fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.graph-helper{stroke:#9aa3b5;stroke-width:1.4}.graph-point{fill:#fff;stroke:#1e2a4a;stroke-width:2}.graph-point-label{fill:#1e2a4a;font-size:13px;font-weight:700}.graph-legend{fill:#ffffffeb;stroke:#e3e6ec}.graph-legend-text{fill:#1e2a4a;font-size:12.5px;font-weight:600}@media (hover: none){.visual-copy{opacity:1}}.tree-folder-icon{flex:none;opacity:.75}.tree-dot-small{flex:none;width:7px;height:7px}.tree-spinner{flex:none;border-color:#ffffff40;border-top-color:var(--accent)}.message-video{align-items:flex-start;max-width:340px}.message-video>svg{flex:none;margin-top:2px;color:#ff5a5f}.message-video span{display:flex;flex-direction:column;color:var(--ink);line-height:1.35}.message-video small{color:var(--subtle);font-size:.76rem;font-weight:600}.tree-row.is-drop-target{border-radius:8px;background:#1238ff2e;box-shadow:inset 0 0 0 1px #1238ffb3}.is-dragging-item .tree-row{transition:background .12s ease}.tree-item[draggable=true]{cursor:grab}.tree-item[draggable=true]:active{cursor:grabbing}.tree-item-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px;border-radius:6px}.tree-item-icon.is-chat{background:#1238ff2e;color:#8ea2ff}.tree-item-icon.is-set{background:#ffffff12;color:#fff9}.tree-item-time{flex:none;margin-left:auto;color:#ffffff61;font-size:.72rem}.drawer-recent{display:flex;flex-direction:column;gap:2px;margin-bottom:14px}.mode-note{overflow:hidden;min-width:0;color:var(--subtle);font-size:.8rem;font-weight:600;white-space:nowrap;text-overflow:ellipsis;animation:mode-note-in .24s ease both}@keyframes mode-note-in{0%{opacity:0;transform:translate(-4px)}}.molecule{display:block;max-width:100%;height:auto;overflow:visible}.molecule-bonds line,.molecule-pair{stroke:#141414;stroke-width:1.7;stroke-linecap:round}.molecule-dot{fill:#141414}.molecule-atom{fill:#141414;font-family:var(--font-body);font-size:21px;text-anchor:middle}.molecule-charge circle{fill:#fff;stroke:#141414;stroke-width:1.2}.molecule-charge text{fill:#141414;font-family:var(--font-body);font-size:11px;font-weight:700;text-anchor:middle}.visual-structure{display:flex;justify-content:center;padding:6px 0}.visual-frame .visual-structure svg{width:auto;max-width:100%}.graph-compact .graph-label{font-size:16px}.graph-compact .graph-curve{stroke-width:3}.chat-share{display:inline-flex;flex-shrink:0;align-items:center;gap:8px}.share-button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border-strong);border-radius:999px;background:none;color:var(--muted);font:inherit;font-size:.84rem;font-weight:700;white-space:nowrap;cursor:pointer}.share-button:hover{border-color:var(--border-focus);color:var(--ink)}.share-avatar{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--surface-strong);color:var(--ink);font-size:.78rem;font-weight:800}.share-avatar.is-small{width:22px;height:22px;font-size:.64rem}.share-presence{position:relative;display:inline-flex}.share-presence .share-avatar+.share-avatar{margin-left:-6px}.share-presence .share-avatar{border:2px solid var(--app-bg)}.share-presence-dot{position:absolute;right:-1px;bottom:-1px;width:8px;height:8px;border:2px solid var(--app-bg);border-radius:50%;background:var(--success)}.share-dialog{max-width:460px}.share-dialog h2,.share-dialog p{margin:0}.share-form{display:flex;gap:8px}.share-form .input{flex:1}.share-list{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.share-list li{display:flex;align-items:center;gap:10px}.share-person{display:flex;flex:1;flex-direction:column;min-width:0}.share-person small{overflow:hidden;color:var(--subtle);text-overflow:ellipsis;white-space:nowrap}.message-author{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.8rem;font-weight:700}.message-user.is-other{justify-content:flex-start}.message-user.is-other .message-user-stack{align-items:flex-start}.message-user.is-other .message-user-bubble{background:var(--surface-strong)}.message-user.is-typing .message-user-bubble{opacity:.6;font-style:italic}.sheet-writer{display:inline-block;margin:2px 0 6px;color:#23794f;font-size:.8rem;font-weight:700}.guide{display:grid;grid-template-columns:210px minmax(0,1fr);gap:28px;align-items:start}.guide-toc{position:sticky;top:20px;display:flex;flex-direction:column;gap:2px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:.88rem}.guide-toc-title{margin-bottom:6px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--subtle)}.guide-toc a{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:6px;color:var(--muted);font-weight:600;text-decoration:none;line-height:1.3}.guide-toc a:hover{background:var(--surface-strong);color:var(--ink)}.guide-toc-dot{width:8px;height:8px;flex-shrink:0;border-radius:3px}.guide-main{display:flex;flex-direction:column;gap:22px;min-width:0}.guide-overview{display:flex;flex-direction:column;gap:8px;padding:22px 24px;border-radius:var(--radius-large);background:var(--panel);color:#fff;font-size:1.05rem;line-height:1.6}.guide-kicker{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}.guide-block{padding:22px;border:1px solid var(--border);border-radius:var(--radius-large);background:var(--surface);box-shadow:var(--shadow);scroll-margin-top:20px}.guide-block-title{margin-bottom:16px;font-size:1.2rem}.mind-map{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px 56px;padding:8px 0}.mind-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.mind-lines path{fill:none;stroke-width:2;opacity:.55}.mind-column{position:relative;display:flex;flex-direction:column;gap:14px}.mind-center-wrap{position:relative;display:flex;justify-content:center}.mind-center{max-width:190px;padding:16px 20px;border-radius:18px;background:var(--accent);color:#fff;font-family:var(--font-heading);font-weight:800;font-size:1.1rem;text-align:center;box-shadow:0 10px 24px #00000085}.mind-branch{padding:12px 14px;border:1.5px solid var(--branch);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.mind-branch-label{display:block;margin-bottom:6px;color:var(--branch);font-family:var(--font-heading);font-size:.98rem}.mind-branch ul{display:flex;flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none}.mind-branch li{padding:2px 9px;border-radius:999px;background:var(--surface);font-size:.82rem;line-height:1.5}.mind-branch .rich-text>*+*{margin-top:0}.guide-section{display:flex;flex-direction:column;gap:16px;padding:24px;border:1px solid var(--border);border-top:4px solid var(--section);border-radius:var(--radius-large);background:var(--surface);box-shadow:var(--shadow);scroll-margin-top:20px}.guide-section-head{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.guide-section-head h2{flex:1;min-width:0;font-size:1.3rem}.guide-section-number{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:10px;background:var(--section);color:#0a0d18;font-family:var(--font-heading);font-weight:800}.guide-explanation{font-size:1.02rem;line-height:1.7}.guide-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.guide-card{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:var(--radius);background:var(--surface)}.guide-card-title,.guide-callout-title{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--subtle)}.guide-points{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.guide-points li{display:flex;align-items:flex-start;gap:9px;font-size:.95rem}.guide-point-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;margin-top:2px;border-radius:50%;background:var(--section);color:#0a0d18}.guide-terms{display:flex;flex-direction:column;gap:10px;margin:0}.guide-terms dt{font-weight:800;color:var(--section)}.guide-terms dd{margin:2px 0 0;font-size:.93rem;color:var(--muted)}.guide-callout{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-left:4px solid;border-radius:var(--radius-small)}.guide-example{border-color:#8fb0ff;background:#1238ff24}.guide-example .guide-callout-title{color:#8fb0ff}.guide-memory{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.guide-memory .guide-callout-title{color:var(--accent-text)}.guide-mistake{border-color:var(--danger);background:var(--danger-soft)}.guide-mistake .guide-callout-title{color:var(--danger)}.check-list-guide{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin:0;padding:0;list-style:none}.check-item{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.check-item-open{border-color:#3dcc8e59;background:var(--success-soft)}.check-question{display:flex;gap:10px;font-weight:600}.check-number{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;border-radius:50%;background:var(--surface-strong);font-size:.8rem;font-weight:800}.check-answer{padding-left:34px;color:var(--text);animation:panel-in .2s ease both}.check-reveal{align-self:flex-start;margin-left:34px;padding:5px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-small);background:var(--surface);font-weight:700;font-size:.85rem;cursor:pointer}.check-reveal:hover{border-color:var(--ink)}@media (max-width: 1100px){.guide{grid-template-columns:minmax(0,1fr)}.guide-toc{position:static;flex-direction:row;flex-wrap:wrap}.guide-toc-title{width:100%}}@media (max-width: 760px){.mind-map{grid-template-columns:1fr;gap:12px}.mind-center-wrap{order:-1}.mind-center{max-width:none;width:100%}.guide-section{padding:18px}}.guide-rebuild{margin-top:8px;padding:5px 6px;text-align:left}.worksheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.worksheet-head .guide-block-title{margin-bottom:4px}.worksheet-items{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none}.worksheet-item{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;scroll-margin-top:20px}.worksheet-question{display:flex;gap:14px;padding:16px 18px;background:var(--surface);border-bottom:1px solid var(--border)}.worksheet-number{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 8px;flex-shrink:0;border-radius:10px;background:var(--accent);color:#fff;font-family:var(--font-heading);font-weight:800;font-size:.95rem}.worksheet-question-text{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0;font-weight:600}.worksheet-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-weight:400}.worksheet-solution{display:flex;flex-direction:column;gap:12px;padding:16px 18px;animation:panel-in .2s ease both}.worksheet-answer{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-left:4px solid var(--success);border-radius:var(--radius-small);background:var(--success-soft);font-weight:600}.worksheet-steps{display:flex;flex-direction:column;gap:6px;line-height:1.65}.worksheet-label{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--subtle)}.worksheet-answer .worksheet-label{color:var(--success)}.worksheet-reveal{margin:14px 18px}@media (max-width: 640px){.worksheet-head{flex-direction:column}.worksheet-question,.worksheet-solution{padding:14px}}.gap-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:56px 24px;border:1px dashed var(--border-strong);border-radius:18px;text-align:center}.gap-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:var(--accent-soft);color:var(--accent-text)}.gap-empty p{max-width:420px}.gap-empty .button{margin-top:8px}.gap-practice{display:flex;flex-direction:column;gap:18px;max-width:760px}.gap-progress{display:flex;gap:6px}.gap-progress span{flex:1;height:4px;border-radius:2px;background:var(--surface-strong);transition:background .25s ease}.gap-progress span.is-done{background:var(--accent)}.gap-progress span.is-current{background:var(--accent-text)}.gap-card{padding:26px 28px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}.gap-count{color:var(--subtle);font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.gap-card h3{margin:6px 0 14px;color:var(--ink);font-size:1.25rem}.gap-text{color:var(--text);font-size:1.08rem;line-height:2.3}.gap-slot{display:inline-flex;flex-direction:column;align-items:center;vertical-align:baseline;margin:0 3px}.gap-slot input{padding:1px 6px;border:none;border-bottom:2px solid var(--border-strong);border-radius:6px 6px 0 0;outline:none;background:var(--surface-strong);color:var(--ink);font:inherit;font-weight:700;text-align:center;transition:border-color .15s ease,background .15s ease}.gap-slot input:focus{border-bottom-color:var(--accent)}.gap-slot input::placeholder{color:var(--subtle)}.gap-slot.is-right input{border-bottom-color:var(--success);background:var(--success-soft);color:var(--success)}.gap-slot.is-almost input{border-bottom-color:var(--warning);background:#f5b5441f}.gap-slot.is-wrong input{border-bottom-color:var(--danger);background:var(--danger-soft);color:var(--danger);text-decoration:line-through}.gap-answer{margin-top:-6px;color:var(--success);font-size:.82rem;font-weight:800;line-height:1.4}.gap-answer-almost{color:var(--warning)}.gap-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.gap-result{margin-right:auto;color:var(--muted);font-weight:700}.gap-summary{display:flex;flex-direction:column;align-items:flex-start;gap:16px;max-width:760px}.gap-score{display:flex;align-items:baseline;gap:10px}.gap-score strong{color:var(--ink);font-family:var(--font-heading);font-size:2.4rem}.gap-mistakes{display:flex;flex-direction:column;gap:8px;width:100%;margin:0;padding:0;list-style:none}.gap-mistakes li{display:flex;justify-content:space-between;gap:16px;padding:12px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text)}.gap-mistakes strong{flex:none;color:var(--success)}:root{--w-spelling: #ff6b6b;--w-grammar: #ff7fae;--w-punctuation: #f5b544;--w-structure: #b99eff;--w-style: #7fa6ff;--w-strength: #4fd69c}.writing-new{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;align-items:start}.writing-drop{display:flex;flex-direction:column;min-height:340px;border:1.5px dashed var(--border-strong);border-radius:var(--radius-large);background:var(--surface);overflow:hidden;transition:border-color .15s ease}.writing-drop:focus-within,.writing-drop.dropzone-active{border-color:var(--ink);border-style:solid}.writing-drop-filled{justify-content:center;border-style:solid}.writing-textarea{flex:1;min-height:280px;padding:20px;border:none;outline:none;resize:vertical;font-size:1.02rem;line-height:1.7}.writing-drop-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid var(--border);background:var(--surface)}.writing-file{display:flex;align-items:center;gap:12px;padding:24px}.writing-file-icon,.writing-item-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:12px;background:#a078ff26;color:#b99eff}.writing-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.writing-options{display:flex;flex-direction:column;gap:14px;padding:20px;border:1px solid var(--border);border-radius:var(--radius-large);background:var(--surface);box-shadow:var(--shadow)}.writing-legend{display:flex;flex-direction:column;gap:6px;font-size:.9rem}.writing-legend span:not(.label){display:flex;align-items:center;gap:8px;color:var(--muted)}.legend-dot{display:inline-block;width:10px;height:10px;flex-shrink:0;border-radius:3px}.legend-spelling{background:var(--w-spelling)}.legend-grammar{background:var(--w-grammar)}.legend-punctuation{background:var(--w-punctuation)}.legend-structure{background:var(--w-structure)}.legend-style{background:var(--w-style)}.legend-strength{background:var(--w-strength)}.writing-page{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;max-width:1240px;margin:0 auto;align-items:start;animation:page-in .3s ease backwards}.writing-doc-column{display:flex;flex-direction:column;gap:16px;min-width:0}.writing-doc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.writing-doc-head h1{margin:6px 0 2px}.writing-doc{padding:40px 48px;border:1px solid var(--border);border-radius:var(--radius-large);background:var(--surface);box-shadow:var(--shadow);font-size:1.06rem;line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere}.w-mark{padding:1px;border-radius:3px;background:color-mix(in srgb,var(--mark) 12%,transparent);color:inherit;text-decoration:underline wavy var(--mark);text-decoration-thickness:1.5px;text-underline-offset:4px;cursor:pointer;transition:background-color .12s ease,box-shadow .12s ease}.w-mark:hover{background:color-mix(in srgb,var(--mark) 22%,transparent)}.w-spelling{--mark: var(--w-spelling)}.w-grammar{--mark: var(--w-grammar)}.w-punctuation{--mark: var(--w-punctuation)}.w-structure{--mark: var(--w-structure)}.w-style{--mark: var(--w-style)}.w-mark.w-selected{background:color-mix(in srgb,var(--mark) 26%,transparent);box-shadow:0 0 0 2px var(--mark)}.w-strength{padding:1px;border-radius:3px;background:#3dcc8e24;color:inherit;border-bottom:2px solid var(--w-strength)}.w-applied{cursor:pointer;border-radius:3px}.w-applied del,.issue-diff del{color:var(--w-spelling);text-decoration:line-through;text-decoration-thickness:1.5px;background:#ff6e6e24;border-radius:3px;padding:0 2px}.w-applied ins,.issue-diff ins{color:var(--w-strength);text-decoration:none;background:#3dcc8e24;border-radius:3px;padding:0 2px;font-weight:600}.w-applied.w-selected{box-shadow:0 0 0 2px var(--w-strength)}.writing-doc-clean{font-family:var(--font-body)}.writing-side{position:sticky;top:20px;display:flex;flex-direction:column;gap:12px;max-height:calc(100dvh - 40px);overflow-y:auto;padding-right:4px}.writing-score,.writing-feedback{display:flex;flex-direction:column;gap:12px;padding:18px;border:1px solid var(--border);border-radius:var(--radius-large);background:var(--surface);box-shadow:var(--shadow)}.writing-score-row{display:flex;justify-content:space-between;align-items:center}.writing-score-number{font-family:var(--font-heading);font-weight:800;font-size:2rem;line-height:1}.writing-fixed-tag{background:#3dcc8e24;color:var(--w-strength)}.writing-filters{display:flex;flex-wrap:wrap;gap:6px}.writing-filter{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-weight:700;font-size:.82rem;cursor:pointer}.writing-filter span{color:var(--subtle)}.writing-filter-off{opacity:.45;text-decoration:line-through}.writing-actions{display:flex;flex-wrap:wrap;gap:6px}.writing-feedback p{font-size:.95rem}.writing-strengths{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;font-size:.9rem}.writing-strengths li{display:flex;gap:8px}.writing-strengths .legend-dot{margin-top:6px}.writing-issues{display:flex;flex-direction:column;gap:8px}.issue-card{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid var(--border);border-left:4px solid var(--mark);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease}.issue-card:hover{box-shadow:var(--shadow)}.issue-card-open{box-shadow:0 6px 20px #00000042}.issue-card-done{opacity:.7}.issue-spelling{--mark: var(--w-spelling)}.issue-grammar{--mark: var(--w-grammar)}.issue-punctuation{--mark: var(--w-punctuation)}.issue-structure{--mark: var(--w-structure)}.issue-style{--mark: var(--w-style)}.issue-head{display:flex;justify-content:space-between;align-items:center}.issue-category{color:var(--mark);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.issue-done{color:var(--w-strength);font-weight:800;font-size:.8rem}.issue-message{font-weight:600;font-size:.93rem}.issue-diff{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.92rem;color:var(--subtle)}.issue-detail{display:flex;flex-direction:column;gap:10px;padding-top:6px;cursor:default}.issue-buttons{display:flex;flex-wrap:wrap;gap:6px}.issue-buttons .button{white-space:normal;text-align:left}.writing-delete{align-self:flex-start;margin-top:8px}@media (max-width: 1100px){.writing-page{grid-template-columns:minmax(0,1fr)}.writing-side{position:static;max-height:none;overflow:visible}}@media (max-width: 760px){.writing-new{grid-template-columns:minmax(0,1fr)}.writing-doc{padding:22px 18px;font-size:1rem}}.w-mark:focus-visible,.w-applied:focus-visible,.issue-card:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.link-button{align-self:flex-start;padding:2px 0;border:none;background:none;color:var(--subtle);font-weight:700;font-size:.85rem;cursor:pointer}.link-button:hover{color:var(--ink)}.grader-heading{margin:0;font-size:1rem;font-weight:800}.grader-scheme-toggle{align-self:flex-start}.grader-hint{margin:-6px 0 0;font-size:.82rem}.grader-files{display:flex;flex-direction:column;gap:6px;margin:4px 0 0;padding:0;list-style:none}.grader-files li{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 10px;border:1px solid var(--border);border-radius:10px}.grader-file-index{display:inline-flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;border-radius:6px;background:var(--surface-strong);color:var(--muted);font-size:.75rem;font-weight:800}.grader-file-name{overflow:hidden;flex:1;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.grader-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.grader-row{display:flex;align-items:center;gap:14px;padding:12px 16px 12px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--ink);text-decoration:none;transition:border-color .15s ease}.grader-row:hover{border-color:var(--border-strong)}.grader-badge{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:44px;height:44px;padding:0 8px;border-radius:12px;background:#1238ff24;color:var(--accent-text);font-size:1.05rem;font-weight:800}.grader-badge.is-low{background:var(--danger-soft);color:var(--danger)}.grader-row-text{display:flex;overflow:hidden;flex:1;flex-direction:column;gap:2px}.grader-row-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grader-row-percent{color:var(--muted);font-weight:700}.grader-result{gap:22px}.grader-title h1{margin:4px 0 8px}.grader-title-button{padding:0;border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:text}.grader-title-input{font-size:1.6rem;font-weight:800}.grader-meta{flex-wrap:wrap;gap:10px}.grader-delete{margin-left:auto}.grader-waiting{display:flex;align-items:center;gap:18px}.grader-waiting p{margin:4px 0 0}.grader-waiting.is-failed{justify-content:space-between;border-color:var(--danger-soft)}.grade-hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:center;padding:24px;border:1px solid var(--border-strong);border-radius:18px;background:var(--surface)}.grade-big{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:140px;padding:18px 20px;border-radius:16px;background:var(--accent);color:#fff;text-align:center}.grade-big strong{font-size:3.2rem;font-weight:900;line-height:1}.grade-big span{margin-top:6px;font-size:.85rem;font-weight:700}.grade-big .subtle{margin-top:2px;color:#ffffffb8;font-weight:600}.grade-big.is-low{background:var(--danger-soft);color:var(--danger)}.grade-big.is-low .subtle{color:var(--danger)}.grade-numbers{display:flex;flex-direction:column;gap:12px}.grade-score{display:flex;align-items:baseline;gap:12px}.grade-score strong{font-size:2rem;font-weight:900}.grade-bar{overflow:hidden;height:8px;border-radius:999px;background:var(--surface-strong)}.grade-bar span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.grade-system{display:flex;align-items:center;gap:10px}.grade-system .subtle{white-space:nowrap}.grade-system .select{width:auto;min-width:0;max-width:100%}.grade-notes{display:flex;flex-direction:column;gap:4px;margin-top:-10px}.grade-notes p{margin:0;font-size:.84rem}.grade-summary{font-size:1.02rem;line-height:1.6}.grade-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grade-list{display:flex;flex-direction:column;gap:12px;padding:18px;border:1px solid var(--border);border-radius:16px}.grade-list ul{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.grade-list li{display:flex;align-items:flex-start;gap:10px;font-size:.92rem;line-height:1.5}.grade-list li>svg{flex:none;margin-top:3px}.grade-list li p{margin:0}.grade-list.is-good li>svg{color:var(--success)}.grade-list.is-improve li>svg{color:var(--accent-text)}.marked-list{display:flex;flex-direction:column;gap:8px}.marked-question{border:1px solid var(--border);border-left-width:3px;border-radius:12px;background:var(--surface)}.marked-question.is-correct{border-left-color:var(--success)}.marked-question.is-partial{border-left-color:var(--warning)}.marked-question.is-wrong,.marked-question.is-unanswered{border-left-color:var(--danger)}.marked-question summary{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;cursor:pointer;list-style:none}.marked-question summary::-webkit-details-marker{display:none}.marked-number{flex:none;min-width:34px;color:var(--muted);font-weight:800}.marked-question-text{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.marked-question-text p{margin:0}.marked-question-text .subtle{font-size:.8rem}.marked-points{display:flex;flex:none;flex-direction:column;align-items:flex-end;gap:2px;font-size:.78rem;color:var(--subtle)}.marked-points strong{color:var(--ink);font-size:.95rem}.marked-question.is-correct .marked-points span{color:var(--success)}.marked-question.is-partial .marked-points span{color:var(--warning)}.marked-question.is-wrong .marked-points span,.marked-question.is-unanswered .marked-points span{color:var(--danger)}.marked-body{display:flex;flex-direction:column;gap:12px;padding:0 16px 16px 62px;font-size:.92rem;line-height:1.55}.marked-body p{margin:2px 0 0}.marked-model{padding:10px 12px;border-radius:10px;background:var(--success-soft)}.grader-pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.grader-page{position:relative;display:flex;overflow:hidden;flex-direction:column;align-items:center;justify-content:center;gap:6px;aspect-ratio:3 / 4;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--muted);font-size:.78rem;text-decoration:none}.grader-page img{width:100%;height:100%;object-fit:cover}.grader-page.is-file span:not(.grader-page-tag){overflow:hidden;max-width:90%;text-overflow:ellipsis;white-space:nowrap}.grader-page-tag{position:absolute;bottom:6px;left:6px;padding:2px 6px;border-radius:6px;background:#000000b3;color:#fff;font-size:.7rem;font-weight:700}@media (max-width: 640px){.grade-hero,.grade-columns{grid-template-columns:minmax(0,1fr)}.grade-hero{gap:18px;padding:16px}.grade-big{min-width:0;padding:14px}.marked-body{padding-left:16px}.grader-waiting.is-failed{flex-direction:column;align-items:flex-start}}.grader-waiting .spinner{flex:none}.grader-result .section-head,.card-choices-head{flex-wrap:wrap;gap:10px}.tabs{overflow-x:auto;padding-bottom:1px;scrollbar-width:none}.tab{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.tab-badge{min-width:20px;padding:1px 6px;border-radius:999px;background:var(--accent);color:#fff;font-size:.72rem;font-weight:800;text-align:center}.set-sources-link{font-size:inherit}.study-start{display:grid;gap:16px;padding:20px;border:1px solid var(--border-strong);border-radius:16px;background:var(--surface)}.study-start-text{display:flex;flex-direction:column;gap:2px}.study-start-text strong{font-size:1.1rem}.study-modes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.study-modes button{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:none;color:var(--muted);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.study-modes button>svg{flex:none;margin-top:2px}.study-modes span{display:flex;flex-direction:column;gap:2px}.study-modes strong{color:var(--ink);font-size:.92rem}.study-modes small{font-size:.76rem;line-height:1.35}.study-modes button:hover{border-color:var(--border-strong)}.study-modes button.is-selected{border-color:var(--accent);background:#1238ff1f}.study-modes button.is-selected>svg{color:var(--accent-text)}.study-start-actions{flex-wrap:wrap;gap:10px}.cards-heading{display:inline-flex;align-items:baseline;gap:8px;margin:0;font-size:1rem;font-weight:800}.summary-map-title{margin:0 0 12px;font-size:1rem;font-weight:800}.start-picker{margin-bottom:-6px}.review-mode{display:inline-flex;align-items:center;gap:8px}.review-mode .select{width:auto;min-height:32px;padding-top:4px;padding-bottom:4px;font-size:.86rem}.review-verdict-self{color:var(--muted)}.practice-switch{display:inline-flex;align-self:flex-start;gap:4px;padding:4px;border:1px solid var(--border);border-radius:12px}.practice-switch button{padding:7px 14px;border:none;border-radius:9px;background:none;color:var(--muted);font:inherit;font-size:.88rem;font-weight:700;cursor:pointer}.practice-switch button.is-selected{background:#1238ff29;color:var(--ink)}.practice-waiting{display:flex;align-items:center;gap:18px}.practice-waiting .spinner{flex:none}.practice-waiting p{margin:4px 0 0}.practice-test-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.practice-test-head h2{margin:0 0 4px;font-size:1.25rem}.practice-question{display:flex;flex-direction:column;gap:12px;padding:20px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.practice-question-head{display:flex;align-items:center;gap:10px;font-size:.84rem}.practice-number{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:26px;padding:0 7px;border-radius:8px;background:var(--surface-strong);color:var(--ink);font-weight:800}.practice-marks{margin-left:auto;color:var(--muted);font-weight:700}.practice-prompt{font-size:1rem;line-height:1.6}.practice-prompt p:first-child{margin-top:0}.practice-answer{min-height:110px}.practice-hints{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.practice-hints li{padding:10px 12px;border-left:3px solid var(--warning);border-radius:8px;background:#f5b54414;font-size:.92rem}.practice-hints p{margin:2px 0 0}.practice-hint-label{color:var(--warning);font-size:.76rem;font-weight:800}.practice-check{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--border-strong);border-radius:12px;font-size:.92rem}.practice-check p{margin:0}.practice-check-head{display:flex;align-items:baseline;gap:10px}.practice-check-head strong{font-size:1.05rem}.practice-check.is-correct{border-color:var(--success);background:var(--success-soft)}.practice-check.is-correct .practice-check-head span:first-of-type{color:var(--success)}.practice-check.is-partial{border-color:var(--warning);background:#f5b54414}.practice-check.is-partial .practice-check-head span:first-of-type{color:var(--warning)}.practice-check.is-wrong{border-color:var(--danger);background:var(--danger-soft)}.practice-check.is-wrong .practice-check-head span:first-of-type{color:var(--danger)}.practice-solution{padding:12px 14px;border-radius:12px;background:var(--surface-strong);font-size:.94rem;line-height:1.6}.practice-ask{display:flex;flex-direction:column;gap:10px}.practice-exchange{display:flex;flex-direction:column;gap:6px}.practice-asked{align-self:flex-end;max-width:85%;margin:0;padding:8px 12px;border-radius:12px;background:#1238ff29;font-size:.92rem}.practice-reply{font-size:.92rem;line-height:1.55}.practice-reply p:first-child{margin-top:0}.practice-ask-form{display:flex;gap:8px}.practice-ask-form .input{flex:1}.practice-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.practice-check-button{margin-left:auto}@media (max-width: 760px){.study-modes{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-check-button{margin-left:0}}.practice-save{margin-left:auto;color:var(--subtle);font-size:.8rem}.practice-save+.practice-marks{margin-left:0}.practice-save.is-error{color:var(--danger)}.review-top,.review-top-right{flex-wrap:wrap;gap:8px}.review-notice{margin:0 0 12px}.podcast-new{flex-wrap:wrap;gap:8px}.podcast-player{display:flex;flex-direction:column;gap:14px}.podcast-controls{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--border-strong);border-radius:16px;background:var(--surface)}.podcast-play{display:inline-flex;align-items:center;justify-content:center;flex:none;width:48px;height:48px;border:none;border-radius:50%;background:var(--accent);color:#fff;cursor:pointer;transition:transform .15s ease,background-color .15s ease}.podcast-play svg{fill:currentColor}.podcast-play:hover{background:#0f2fe0}.podcast-play:active{transform:scale(.96)}.podcast-skip,.podcast-speed{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:36px;height:36px;padding:0 8px;border:none;border-radius:10px;background:none;color:var(--muted);font:inherit;font-size:.86rem;font-weight:800;cursor:pointer}.podcast-skip:hover,.podcast-speed:hover{background:var(--surface-strong);color:var(--ink)}.podcast-progress{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}.podcast-progress input[type=range]{width:100%;height:6px;margin:0;border-radius:999px;background:linear-gradient(to right,var(--accent) var(--progress, 0%),var(--surface-strong) var(--progress, 0%));appearance:none;cursor:pointer}.podcast-progress input[type=range]::-webkit-slider-thumb{width:14px;height:14px;border-radius:50%;background:#fff;appearance:none}.podcast-progress input[type=range]::-moz-range-thumb{width:14px;height:14px;border:none;border-radius:50%;background:#fff}.podcast-times{display:flex;justify-content:space-between;color:var(--subtle);font-size:.76rem;font-variant-numeric:tabular-nums}.podcast-transcript{display:flex;flex-direction:column;gap:2px;max-height:460px;margin:0;padding:6px;overflow-y:auto;border:1px solid var(--border);border-radius:16px;list-style:none}.podcast-transcript button{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;width:100%;padding:9px 10px;border:none;border-radius:10px;background:none;color:var(--muted);font:inherit;font-size:.94rem;line-height:1.55;text-align:left;cursor:pointer}.podcast-transcript button:hover{background:#ffffff0a}.podcast-host{color:var(--subtle);font-size:.8rem;font-weight:800;line-height:1.9}.podcast-transcript .is-a .podcast-host{color:#8ea2ff}.podcast-transcript .is-b .podcast-host{color:#5ec8a8}.podcast-transcript .is-current button{background:#1238ff1f;color:var(--ink)}@media (max-width: 640px){.podcast-controls{flex-wrap:wrap}.podcast-progress{flex-basis:100%;order:5}.podcast-transcript button{grid-template-columns:minmax(0,1fr);gap:2px}}.podcast-pending{display:flex;align-items:center;gap:10px;margin:0}.guide-request-bar{display:flex;flex-direction:column;gap:10px}.guide-request-toggle{display:inline-flex;align-items:center;align-self:flex-start;gap:8px;padding:8px 12px;border:1px dashed var(--border-strong);border-radius:10px;background:none;color:var(--muted);font:inherit;font-size:.88rem;font-weight:700;cursor:pointer}.guide-request-toggle:hover:not(:disabled){border-color:var(--accent);color:var(--ink)}.guide-request{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--border-strong);border-radius:14px;background:var(--surface)}.guide-request-chips{display:flex;flex-wrap:wrap;gap:6px}.guide-request-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.guide-request-actions .subtle{margin-right:auto;font-size:.82rem}.guide-focus{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px;padding:10px 14px;border-radius:12px;background:#1238ff1f;font-size:.9rem}.guide-busy{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.9rem}.guide-dimmed{opacity:.45;pointer-events:none;transition:opacity .2s ease}.create-shell{display:flex;flex-direction:column;min-height:100dvh;background:var(--app-bg)}.create-bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:20px;padding:14px 24px;border-bottom:1px solid var(--border);background:var(--app-bg)}.create-brand{display:inline-flex;align-items:center;gap:10px;font-weight:800}.create-steps{display:flex;gap:6px;margin:0 auto;padding:0;list-style:none}.create-steps button,.create-step-label{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:none;border-radius:999px;background:none;color:var(--subtle);font:inherit;font-size:.88rem;font-weight:700}.create-steps button{cursor:pointer}.create-steps span span,.create-steps button span{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--surface-strong);font-size:.75rem}.create-steps .is-current button,.create-steps .is-current .create-step-label{color:var(--ink)}.create-steps .is-current span span,.create-steps .is-current button span{background:var(--accent);color:#fff}.create-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:10px;background:none;color:var(--muted);cursor:pointer}.create-close:hover{color:var(--ink);border-color:var(--border-strong)}.create-main{flex:1;padding:40px 24px 80px}.create-step{display:flex;flex-direction:column;gap:20px;max-width:720px;margin:0 auto;animation:page-in .26s ease backwards}.create-step-wide{max-width:980px}.create-heading h1{margin:0 0 6px;font-size:1.9rem}.create-heading p{margin:0}.create-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.create-actions .button-large{gap:8px}.create-count{margin-right:auto}.part-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.part-tile{position:relative;border:1px solid var(--border-strong);border-radius:16px;background:var(--surface);transition:border-color .15s ease,background .15s ease}.part-tile.is-selected{border-color:var(--accent);background:#1238ff14}.part-tile-main{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;min-height:168px;padding:18px;border:none;border-radius:inherit;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.part-tile-main strong{font-size:1.05rem}.part-tile-description{color:var(--muted);font-size:.86rem;line-height:1.45}.part-tile-summary{margin-top:auto;color:var(--accent-text);font-size:.78rem;font-weight:700}.part-tile-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--surface-strong);color:var(--muted)}.part-tile.is-selected .part-tile-icon{background:var(--accent);color:#fff}.part-tile-check{position:absolute;top:16px;right:52px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1.5px solid var(--border-strong);border-radius:50%;color:#fff}.part-tile.is-selected .part-tile-check{border-color:var(--accent);background:var(--accent)}.part-tile:not(.is-selected) .part-tile-check{right:16px}.part-tile-gear{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:9px;background:none;color:var(--muted);cursor:pointer}.part-tile-gear:hover,.part-tile-gear[aria-expanded=true]{background:var(--surface-strong);color:var(--ink)}.part-settings{position:absolute;top:48px;right:10px;z-index:20;display:flex;flex-direction:column;gap:14px;width:min(320px,calc(100vw - 48px));padding:14px;border:1px solid var(--border-strong);border-radius:14px;background:var(--surface);box-shadow:0 18px 40px #00000073;animation:dialog-in .16s ease both}.part-setting{display:flex;flex-direction:column;gap:6px}.part-setting-label{color:var(--subtle);font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.part-segmented{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;padding:4px;border:1px solid var(--border);border-radius:10px}.part-segmented button{display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 4px;border:none;border-radius:7px;background:none;color:var(--muted);font:inherit;cursor:pointer}.part-segmented strong{font-size:.84rem}.part-segmented small{color:var(--subtle);font-size:.7rem}.part-segmented button.is-selected{background:#1238ff2e;color:var(--ink)}.part-tile.is-soon{opacity:.55}.part-tile.is-soon .part-tile-main{cursor:default}.part-tile-soon{margin-top:auto;padding:2px 8px;border-radius:999px;background:var(--surface-strong);color:var(--muted);font-size:.74rem;font-weight:700}@media (max-width: 860px){.part-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.part-grid{grid-template-columns:minmax(0,1fr)}.create-steps{display:none}.create-bar{justify-content:space-between}}.set-tabs-row{position:relative;display:flex;align-items:flex-end;border-bottom:1px solid var(--border)}.set-tabs-row .tabs{flex:1;min-width:0;border-bottom:none}.add-part{position:relative;flex-shrink:0}.add-part-toggle{color:var(--muted)}.add-part-toggle[aria-expanded=true]{color:var(--ink)}.add-part-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:30;display:flex;flex-direction:column;gap:10px;width:min(340px,calc(100vw - 32px));padding:12px;border:1px solid var(--border-strong);border-radius:14px;background:var(--surface);box-shadow:0 18px 40px #00000073;animation:dialog-in .16s ease both}.add-part-option{display:flex;align-items:center;gap:12px;padding:8px;border:none;border-radius:10px;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.add-part-option:hover{background:var(--surface-strong)}.add-part-option>span:last-child{display:flex;flex-direction:column;gap:2px}.add-part-option small{color:var(--muted);font-size:.8rem}.add-part-option .part-tile-icon{flex-shrink:0;width:34px;height:34px;border-radius:10px}.add-part-back{align-self:flex-start}.mc-start{display:flex;flex-direction:column;gap:18px}.mc-start h2{margin:0 0 4px}.mc-start p{margin:0}.mc-start .part-segmented{max-width:360px}.mc-topics{display:flex;flex-wrap:wrap;gap:6px}.mc-topics button{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--border-strong);border-radius:999px;background:none;color:var(--muted);font:inherit;font-size:.86rem;font-weight:700;cursor:pointer}.mc-topics button.is-selected{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.mc-start-actions{gap:10px}.mc-start-actions .button-large{gap:8px}.empty-card .part-setting{width:min(320px,100%)}.focus-shell{display:flex;flex-direction:column;min-height:100dvh;background:var(--app-bg);transition:padding-right .22s ease}.focus-bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;padding:12px 20px;background:var(--app-bg)}.focus-title{overflow:hidden;max-width:260px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.focus-topic{width:auto;max-width:240px;padding-top:7px;padding-bottom:7px;font-size:.88rem}.focus-spacer{flex:1}.focus-count{font-variant-numeric:tabular-nums;font-weight:700}.focus-bar .button-small{gap:6px}.focus-progress{height:3px;background:var(--surface-strong)}.focus-progress span{display:block;height:100%;background:var(--accent);transition:width .3s ease}.focus-main{display:flex;flex:1;justify-content:center;padding:48px 24px 64px}.focus-message{display:flex;flex-direction:column;align-items:center;gap:14px;width:min(560px,100%);margin-top:40px;text-align:center}.mc-result h1{margin:0}.mc-result .mini-list{width:100%;text-align:left}.mc-result-score{font-family:var(--font-heading);font-size:3.4rem;font-weight:900;line-height:1}.mc-result-actions{justify-content:center;gap:10px}.mc-stage{display:flex;flex-direction:column;gap:28px;width:min(860px,100%);animation:page-in .22s ease backwards}.mc-question{display:flex;flex-direction:column;gap:10px;font-family:var(--font-heading);font-size:clamp(1.3rem,2.4vw,1.75rem);font-weight:800;line-height:1.35}.mc-question p{margin:0}.mc-topic{font-family:var(--font-body);font-size:.85rem;font-weight:700}.mc-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mc-option{display:flex;align-items:flex-start;gap:14px;min-height:96px;padding:18px;border:1.5px solid var(--border-strong);border-radius:16px;background:var(--surface);color:var(--ink);font:inherit;font-size:1.04rem;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,opacity .15s ease,transform .15s ease}.mc-option:not(:disabled):hover{border-color:var(--accent-line);background:var(--surface-raised)}.mc-option:not(:disabled):active{transform:scale(.99)}.mc-option:disabled{cursor:default}.mc-option-text p{margin:0}.mc-letter{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:var(--surface-strong);color:var(--muted);font-size:.85rem;font-weight:800}.mc-option.is-picked{border-color:var(--accent)}.mc-option.is-correct{border-color:var(--success);background:var(--success-soft)}.mc-option.is-correct .mc-letter{background:var(--success);color:#0c0c0e}.mc-option.is-wrong{border-color:var(--danger);background:var(--danger-soft)}.mc-option.is-wrong .mc-letter{background:var(--danger);color:#0c0c0e}.mc-option.is-dim{opacity:.45}.mc-after{display:flex;flex-direction:column;gap:14px;animation:page-in .2s ease backwards}.mc-verdict{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;font-size:1.1rem}.mc-after.is-correct .mc-verdict strong{color:var(--success)}.mc-after.is-wrong .mc-verdict strong{color:var(--danger)}.mc-explanation{display:flex;flex-direction:column;gap:10px;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--surface);line-height:1.6}.mc-explanation-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.mc-after-actions{display:flex;justify-content:flex-end;gap:10px}.mc-after-actions .button-large{gap:8px}.mc-hint{margin:0;text-align:center;font-size:.82rem}.dialog.question-editor{display:flex;flex-direction:column;gap:10px;width:min(620px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 48px);overflow-y:auto}.question-editor h2{margin:0 0 4px}.question-editor-options{display:flex;flex-direction:column;gap:8px}.question-editor-option{display:flex;align-items:center;gap:8px}.question-editor-option button{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border-strong);border-radius:9px;background:none;color:var(--muted);font:inherit;font-weight:800;cursor:pointer}.question-editor-option.is-correct button{border-color:var(--success);background:var(--success);color:#0c0c0e}.question-editor-option.is-correct .input{border-color:var(--success)}.side-chat{position:fixed;top:0;right:0;bottom:0;z-index:60;display:flex;flex-direction:column;width:min(420px,100vw);border-left:1px solid var(--border);background:var(--panel);box-shadow:-24px 0 48px #00000059;transform:translate(100%);visibility:hidden;transition:transform .24s ease,visibility 0s linear .24s}.side-chat.is-open{transform:none;visibility:visible;transition:transform .24s ease}.side-chat-head{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}.side-chat-title{display:inline-flex;align-items:center;gap:8px;margin-right:auto;font-weight:800}.side-chat-link{color:var(--muted);font-size:.82rem;font-weight:700}.side-chat-link:hover{color:var(--ink)}.side-chat-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:8px;background:none;color:var(--muted);cursor:pointer}.side-chat-close:hover{background:var(--surface-strong);color:var(--ink)}.side-chat-thread{display:flex;flex:1;flex-direction:column;min-height:0;gap:16px;overflow-y:auto;padding:18px 16px;overscroll-behavior:contain}.side-chat-empty{display:flex;flex-direction:column;gap:4px;margin-top:24px;text-align:center}.side-chat-empty p{margin:0;font-size:.9rem}.side-chat-user{display:flex;flex-direction:column;align-items:flex-end;gap:6px;max-width:90%;margin-left:auto}.side-chat-user .message-context{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-chat-answer{font-size:.95rem;line-height:1.6}.side-chat-composer{display:flex;flex-direction:column;gap:8px;padding:12px 16px 16px;border-top:1px solid var(--border)}.side-chat-attach{display:inline-flex;align-items:center;align-self:flex-start;gap:6px;max-width:100%;padding:4px 6px 4px 10px;border-radius:999px;background:var(--accent-soft);color:var(--ink-soft);font-size:.8rem;font-weight:700}.side-chat-attach span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-chat-attach button{display:inline-flex;padding:3px;border:none;border-radius:50%;background:none;color:var(--muted);cursor:pointer}.side-chat-input{display:flex;align-items:flex-end;gap:8px;padding:8px 8px 8px 12px;border:1px solid var(--border-strong);border-radius:14px;background:var(--surface)}.side-chat-input:focus-within{border-color:var(--border-focus)}.side-chat-input textarea{flex:1;max-height:160px;border:none;background:none;color:var(--ink);font:inherit;resize:none;outline:none}.side-chat-send{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:10px;background:var(--accent);color:#fff;cursor:pointer}.side-chat-send:disabled{background:var(--surface-strong);color:var(--subtle);cursor:default}.side-chat-toggle{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);color:var(--ink);font:inherit;font-size:.88rem;font-weight:700;cursor:pointer}.side-chat-toggle:hover{border-color:var(--accent-line)}.side-chat-toggle svg{color:var(--accent-text)}.side-chat-dock{position:fixed;right:24px;bottom:24px;z-index:40}.side-chat-dock .side-chat-toggle{padding:11px 18px;box-shadow:0 10px 30px #00000073}.ask-selection{position:relative}.ask-selection-button{position:absolute;z-index:25;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:none;border-radius:999px;background:var(--accent);color:#fff;font:inherit;font-size:.84rem;font-weight:800;white-space:nowrap;box-shadow:0 8px 24px #00000073;transform:translate(-50%,calc(-100% - 8px));cursor:pointer;animation:ask-in .14s ease both}@keyframes ask-in{0%{opacity:0;transform:translate(-50%,calc(-100% - 2px))}to{opacity:1;transform:translate(-50%,calc(-100% - 8px))}}.ask-selection-button:hover{background:var(--accent-hover)}@media (min-width: 1100px){.focus-shell.has-chat{padding-right:420px}}@media (max-width: 700px){.mc-options{grid-template-columns:minmax(0,1fr)}.mc-option{min-height:0}.focus-title{display:none}.focus-main{padding:28px 16px 48px}.mc-after-actions{flex-direction:column-reverse}}@media (prefers-reduced-motion: reduce){.side-chat,.side-chat.is-open,.mc-stage,.mc-after,.ask-selection-button{transition:none;animation:none}}@media (min-width: 1100px){body.has-side-chat .app-main{padding-right:420px;transition:padding-right .22s ease}}.exam-mode-button{gap:8px}.set-header-side{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.exam-dialog{max-width:480px}.exam-dialog h2,.exam-dialog p{margin:0}.exam-dialog-note{font-size:.8rem;text-align:right}.exam-past{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.exam-past a{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:8px;color:var(--ink);font-size:.9rem;text-decoration:none}.exam-past a:hover{background:var(--surface-strong)}.exam-past span{color:var(--muted)}.exam-main{align-items:flex-start}.exam-center{display:flex;flex-direction:column;align-items:center;gap:14px;width:min(560px,100%);margin:60px auto 0;text-align:center}.exam-center h1{margin:0}.exam-rules{display:flex;flex-direction:column;gap:8px;margin:6px 0 10px;padding:18px 22px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--muted);text-align:left;list-style:none}.exam-rules strong{color:var(--ink)}.exam-run{display:grid;grid-template-columns:64px minmax(0,1fr);gap:28px;width:min(980px,100%)}.exam-nav{position:sticky;top:90px;display:flex;flex-direction:column;gap:6px;align-self:start}.exam-nav button{height:40px;border:1px solid var(--border-strong);border-radius:10px;background:none;color:var(--muted);font:inherit;font-weight:800;cursor:pointer}.exam-nav button.is-answered{border-color:var(--border-focus);background:var(--surface-strong);color:var(--ink)}.exam-nav button.is-current{border-color:var(--accent);color:var(--ink);box-shadow:0 0 0 1px var(--accent)}.exam-question{display:flex;flex-direction:column;gap:14px;min-width:0}.exam-question-head{display:flex;align-items:center;gap:12px}.exam-question-number{font-family:var(--font-heading);font-size:1.25rem;font-weight:800}.exam-clock{margin-left:auto;padding:6px 12px;border:1px solid var(--border-strong);border-radius:999px;font-size:1rem;font-weight:800;font-variant-numeric:tabular-nums}.exam-clock.is-low{border-color:var(--warning);color:var(--warning)}.exam-clock.is-critical{border-color:var(--danger);color:var(--danger)}.exam-prompt{padding:18px 20px;border:1px solid var(--border);border-radius:14px;background:var(--surface);font-size:1.04rem;line-height:1.6}.exam-answer{min-height:260px;font-size:1rem;line-height:1.55}.exam-question-foot{display:flex;align-items:center;gap:10px}.exam-save{margin-right:auto;font-size:.84rem}.exam-save.is-failed{color:var(--danger)}.exam-results{display:flex;flex-direction:column;gap:24px;width:min(820px,100%)}.exam-score{display:flex;align-items:center;gap:24px;padding:24px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.exam-score h1{margin:0 0 4px;font-size:1.4rem}.exam-score p{margin:0}.exam-score-percent{font-family:var(--font-heading);font-size:3.2rem;font-weight:900;line-height:1}.exam-grade{margin-bottom:4px!important;font-weight:800}.exam-topics{display:flex;flex-wrap:wrap;gap:24px}.exam-topics>div{display:flex;flex-direction:column;gap:8px}.exam-topic-list{display:flex;flex-wrap:wrap;gap:6px}.exam-topic{padding:5px 11px;border-radius:999px;font-size:.86rem;font-weight:700}.exam-topic.is-weak{background:var(--danger-soft);color:var(--danger)}.exam-topic.is-strong{background:var(--success-soft);color:var(--success)}.exam-review{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none}.exam-review-item{display:flex;flex-direction:column;gap:10px;padding:18px 20px;border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:14px;background:var(--surface)}.exam-review-item.is-correct{border-left-color:var(--success)}.exam-review-item.is-partial{border-left-color:var(--warning)}.exam-review-item.is-wrong{border-left-color:var(--danger)}.exam-review-head{display:flex;align-items:center;gap:10px}.exam-review-number{font-weight:800}.exam-review-marks{margin-left:auto;font-weight:800;font-variant-numeric:tabular-nums}.exam-review-answer p{margin:4px 0 0;white-space:pre-wrap}.exam-review-feedback{padding:10px 14px;border-radius:10px;background:var(--surface-strong)}.exam-review-solution{display:flex;flex-direction:column;gap:8px;padding-top:6px;border-top:1px solid var(--border)}.exam-mark-scheme{margin:0;padding-left:20px;color:var(--muted)}.exam-results-actions{gap:10px}.link-button[aria-expanded]{align-self:flex-start}@media (max-width: 700px){.exam-run{grid-template-columns:minmax(0,1fr);gap:14px}.exam-nav{position:static;flex-direction:row;flex-wrap:wrap}.exam-nav button{width:40px}.exam-score{flex-direction:column;align-items:flex-start}.set-header-side{align-items:flex-start}}.admin-page{min-height:100dvh;background:var(--app-bg);color:var(--text)}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid var(--border)}.admin-brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none}.admin-label{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;background:var(--surface-strong);color:var(--muted);font-size:.78rem;font-weight:800}.admin-main{display:flex;flex-direction:column;gap:22px;width:min(1180px,100%);margin:0 auto;padding:28px 24px 60px}.admin-gate{display:flex;flex-direction:column;align-items:center;gap:14px;width:min(420px,100%);margin:40px auto 0;text-align:center}.admin-gate h1{font-size:1.6rem}.admin-qr{width:200px;height:200px;padding:8px;border-radius:14px;background:#fff}.admin-qr svg{display:block;width:100%;height:100%}.admin-secret code{font-size:.85rem;letter-spacing:.04em;word-break:break-all}.admin-code-form{width:100%;text-align:left}.admin-code-input{font-size:1.4rem;font-variant-numeric:tabular-nums;letter-spacing:.3em;text-align:center}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-stat{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.admin-stat strong{color:var(--ink);font-family:var(--font-heading);font-size:1.7rem}.admin-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border)}.admin-tabs button{padding:10px 14px;border:none;border-bottom:2px solid transparent;background:none;color:var(--muted);font:inherit;font-weight:700;cursor:pointer}.admin-tabs button.is-active{border-bottom-color:var(--ink);color:var(--ink)}.admin-section{display:flex;flex-direction:column;gap:14px}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-search{position:relative;flex:1;max-width:380px}.admin-search svg{position:absolute;top:50%;left:12px;color:var(--subtle);transform:translateY(-50%)}.admin-search .input{padding-left:36px}.admin-table{overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.admin-row{display:grid;grid-template-columns:minmax(200px,2fr) minmax(150px,1.2fr) minmax(90px,.8fr) minmax(110px,.8fr) 290px;align-items:center;gap:14px;padding:12px 16px;border-top:1px solid var(--border);font-size:.9rem}.admin-row-head{border-top:none;color:var(--subtle);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.admin-user{display:flex;flex-direction:column;gap:2px;min-width:0}.admin-user strong{display:flex;align-items:center;gap:8px;color:var(--ink)}.admin-user small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-tag{padding:1px 7px;border-radius:999px;background:var(--surface-strong);color:var(--muted);font-size:.72rem}.admin-status{display:inline-block;padding:3px 9px;border-radius:999px;font-size:.8rem;font-weight:700}.admin-status.is-premium{background:color-mix(in srgb,var(--gold) 16%,transparent);color:var(--gold)}.admin-status.is-trial{background:var(--success-soft);color:var(--success)}.admin-status.is-ended{background:var(--danger-soft);color:var(--danger)}.admin-status.is-idle{background:var(--surface-strong);color:var(--muted)}.admin-actions{display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:6px}.admin-actions-head{text-align:right}.admin-delete:hover:not(:disabled){color:var(--danger)}.admin-empty{padding:18px 16px}.admin-pager{display:flex;align-items:center;justify-content:center;gap:14px}.admin-reviews{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.admin-review{display:flex;flex-direction:column;gap:8px;padding:16px 18px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.admin-review header{display:flex;justify-content:space-between;gap:10px;font-size:.85rem}.admin-stars{color:var(--gold);letter-spacing:.1em}.admin-review p{margin:0;color:var(--text);white-space:pre-wrap}.admin-events{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.admin-events li{display:flex;flex-wrap:wrap;gap:6px 14px;padding:12px 0;border-top:1px solid var(--border);font-size:.9rem}@media (max-width: 900px){.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-row{grid-template-columns:minmax(0,1fr);gap:8px}.admin-row-head{display:none}.admin-actions{flex-wrap:wrap;justify-content:flex-start}}.admin-email-row{grid-template-columns:minmax(130px,.8fr) minmax(180px,1.2fr) minmax(220px,2fr) minmax(120px,.8fr)}.admin-email-recipient{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-email-error{display:block;margin-top:4px;color:var(--danger);font-size:.78rem;word-break:break-word}@media (max-width: 900px){.admin-email-row{grid-template-columns:minmax(0,1fr)}}:root[data-theme=light]{--accent-text: #1a3be6;--accent-soft: rgba(18, 56, 255, .08);--accent-line: rgba(18, 56, 255, .32);--ink: #1d1c19;--ink-soft: #302e29;--panel: #ebe6dc;--panel-strong: #e2dccf;--bg: #f1ece3;--app-bg: #f1ece3;--surface: #f7f3ec;--surface-strong: #e9e3d8;--surface-raised: #faf7f1;--card: #fbf8f2;--card-soft: #f8f4ed;--border: #e0d9cc;--border-focus: #b0a795;--border-strong: #d0c8b8;--text: #2a2823;--muted: #59554c;--subtle: #625e55;--success: #17875a;--gold: #9a6a08;--success-soft: rgba(23, 135, 90, .1);--danger: #c8372a;--danger-soft: rgba(200, 55, 42, .09);--warning: #a86a00;--shadow: 0 1px 2px rgba(40, 34, 20, .06), 0 6px 18px rgba(40, 34, 20, .06);color-scheme:light}[data-theme=light] body{background:var(--app-bg);color:var(--text)}[data-theme=light] .sidebar,[data-theme=light] .drawer{border-color:var(--border);color:var(--ink)}[data-theme=light] .sidebar-link,[data-theme=light] .sidebar-icon-button,[data-theme=light] .sidebar-search,[data-theme=light] .sidebar-logout{color:var(--muted)}[data-theme=light] .sidebar-link:hover,[data-theme=light] .sidebar-icon-button:hover,[data-theme=light] .sidebar-search:hover{background:#2822140f;color:var(--ink)}[data-theme=light] .sidebar-link.active,[data-theme=light] .tree-item.active,[data-theme=light] .palette-item.is-active{background:#28221414;color:var(--ink)}[data-theme=light] .sidebar-badge{background:#28221417}[data-theme=light] .sidebar-new:hover{background:#2822140d}[data-theme=light] .sidebar-logout:hover{color:var(--ink)}[data-theme=light] .sidebar-user{border-top-color:var(--border)}[data-theme=light] .sidebar-avatar{background:#28221414;color:var(--ink)}[data-theme=light] .sidebar-name{color:var(--ink)}[data-theme=light] .info-panel-stage,[data-theme=light] .info-fullscreen{background:#e7e9ee}[data-theme=light] .info-paper{box-shadow:0 6px 24px #14161b1f}[data-theme=light] .dialog-backdrop{background:#14161b59}[data-theme=light] .message-user-bubble{background:#e8e2d7;color:var(--ink)}[data-theme=light] .tree-heading,[data-theme=light] .tree-count,[data-theme=light] .tree-empty,[data-theme=light] .tree-item-time{color:var(--subtle)}[data-theme=light] .tree-toggle,[data-theme=light] .tree-toggle-unit,[data-theme=light] .tree-item,[data-theme=light] .tree-add,[data-theme=light] .tree-more,[data-theme=light] .tree-new-unit{color:var(--muted)}[data-theme=light] .tree-toggle,[data-theme=light] .tree-item:hover,[data-theme=light] .tree-item.active,[data-theme=light] .tree-add:hover,[data-theme=light] .tree-more:hover,[data-theme=light] .tree-new-unit:hover{color:var(--ink)}[data-theme=light] .tree-row:hover,[data-theme=light] .tree-item-wrap:hover,[data-theme=light] .tree-new-unit:hover,[data-theme=light] .tree-add:hover,[data-theme=light] .tree-more:hover{background:#2822140f}[data-theme=light] .tree-children{border-left-color:var(--border-strong)}[data-theme=light] .tree-dot-other{background:var(--subtle)}[data-theme=light] .tree-input,[data-theme=light] .tree-inline{border-color:var(--border-strong);background:var(--surface-raised);color:var(--ink)}[data-theme=light] .tree-spinner{border-color:var(--border-strong)}[data-theme=light] .tree-item-icon.is-set{background:#28221412;color:var(--muted)}[data-theme=light] .toast,[data-theme=light] .guide-overview{color:var(--ink)}[data-theme=light] .toast button{color:var(--muted)}[data-theme=light] .planner-row:hover,[data-theme=light] .planner-row.is-editing{background:var(--surface)}[data-theme=light] .auth-stripe{opacity:.5}[data-theme=light] .auth-card{border-color:#28221414;background:var(--card);box-shadow:0 1px 3px #2822140f,0 30px 70px #2822141f}.landing{min-height:100vh;background:var(--app-bg);overflow-x:clip}.landing-container{width:min(1120px,calc(100% - 32px));margin:0 auto}.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}.reveal.is-visible{opacity:1;transform:none}.lp-cta{display:inline-flex;white-space:nowrap;align-items:center;justify-content:center;gap:10px;border-radius:999px;background:var(--accent);color:#fff;font-family:var(--font-heading);font-weight:800;text-decoration:none;box-shadow:inset 0 -3px 0 var(--accent-pressed),0 10px 30px #1238ff47;transition:transform .14s ease,background .14s ease,box-shadow .14s ease}.lp-cta:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:inset 0 -3px 0 var(--accent-pressed),0 14px 36px #1238ff5c}.lp-cta:active{transform:translateY(1px);box-shadow:inset 0 -1px 0 var(--accent-pressed),0 6px 18px #1238ff3d}.lp-cta svg{transition:transform .16s ease}.lp-cta:hover svg{transform:translate(3px)}.lp-cta-small{min-height:40px;padding:0 18px;font-size:.95rem}.lp-cta-large{min-height:58px;padding:0 30px;font-size:1.15rem}.landing-nav-wrap{position:sticky;top:12px;z-index:20;padding:0 16px}.landing-nav{display:flex;align-items:center;gap:24px;width:min(1120px,100%);margin:12px auto 0;padding:10px 10px 10px 20px;border:1px solid var(--border);border-radius:18px;background:#0f1012c7;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.landing-nav>a{display:inline-flex;text-decoration:none}.landing-links{display:flex;flex:1;justify-content:center;gap:28px}.landing-links a{color:var(--muted);font-size:.95rem;font-weight:700;text-decoration:none;transition:color .15s ease}.landing-links a:hover{color:var(--ink)}.landing-nav-actions{display:flex;align-items:center;gap:14px}.landing-login{color:var(--ink);font-weight:700;text-decoration:none}.landing-login:hover{color:var(--accent-text)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.lp-scene{width:min(520px,100%)}.lp-hero{position:relative;padding:96px 0 72px;overflow:clip}.lp-hero-split{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}.lp-hero-copy{display:flex;flex-direction:column;align-items:flex-start}.lp-hero-eyebrow{color:var(--hue-violet);font-size:.9rem;font-weight:800;letter-spacing:.02em;animation:rise .6s ease both}.lp-hero-title{margin-top:16px;color:var(--ink);font-size:clamp(2.5rem,5.6vw,4.3rem);font-weight:800;letter-spacing:-.035em;line-height:1.05;animation:rise .6s 80ms ease both}.scribble{position:relative;display:inline-block;white-space:nowrap}.scribble svg{position:absolute;left:-2%;bottom:-.16em;width:104%;height:.32em;overflow:visible}.scribble path{fill:none;stroke:url(#scribble-ink);stroke-width:7;stroke-linecap:round;stroke-dasharray:340;stroke-dashoffset:340;animation:draw .9s .7s ease forwards}.lp-hero-lead{max-width:500px;margin-top:22px;color:var(--muted);font-size:1.15rem;line-height:1.6;animation:rise .6s .16s ease both}.lp-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:32px;animation:rise .6s .24s ease both}.lp-hero-secondary{color:var(--ink);font-weight:700;text-decoration:none;border-bottom:1px solid var(--border-strong);padding-bottom:2px;transition:border-color .15s ease}.lp-hero-secondary:hover{border-color:var(--ink)}.lp-hero-note{margin-top:16px;color:var(--subtle);font-size:.86rem;animation:rise .6s .3s ease both}.try-card{border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:0 30px 80px #00000073}.try-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 14px 20px;border-bottom:1px solid var(--border)}.try-label{color:var(--subtle);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.try-switch{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:3px;border-radius:999px;background:var(--surface-strong)}.try-switch-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:999px;background:var(--ink);transform:translate(calc(var(--index) * 100%));transition:transform .38s cubic-bezier(.3,.8,.3,1)}.try-switch button{position:relative;padding:6px 16px;border:none;background:none;color:var(--subtle);font:inherit;font-size:.86rem;font-weight:800;cursor:pointer;transition:color .25s ease}.try-switch button.is-on{color:var(--app-bg)}.try-body{display:flex;flex-direction:column;gap:14px;min-height:190px;padding:22px 20px}.try-question,.subject-ask{align-self:flex-end;padding:10px 16px;border-radius:18px 18px 5px;background:var(--surface-strong);color:var(--ink);font-weight:600}.try-reply,.subject-reply{display:flex;gap:12px;animation:rise .45s ease both}.try-reply p,.subject-reply p{color:var(--text);line-height:1.6;clip-path:inset(0 100% 0 0);animation:type-reveal 1.1s .25s steps(36) forwards}.try-avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;border-radius:10px;background:var(--accent)}.try-foot{padding:12px 20px 16px;border-top:1px solid var(--border);color:var(--subtle);font-size:.86rem}.landing-section{padding:110px 0 20px}.kicker{display:block;margin-bottom:12px;color:var(--accent-text);font-size:.85rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.landing-head{max-width:680px;margin:0 auto 52px;text-align:center}.landing-head-left{margin-left:0;text-align:left}.landing-head h2{color:var(--ink);font-size:clamp(1.9rem,4.2vw,2.9rem);letter-spacing:-.03em;line-height:1.12}.landing-head p{margin-top:14px;color:var(--muted);font-size:1.08rem}.story{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:48px}.story-steps{margin:0;padding:0;list-style:none}.story-step{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;min-height:46vh;padding:24px 0;opacity:.38;transition:opacity .3s ease}.story-step.is-active{opacity:1}.story-number{color:var(--subtle);font-family:var(--font-heading);font-size:1rem;font-weight:800;padding-top:4px;transition:color .3s ease}.story-step.is-active .story-number{color:var(--hue, var(--accent-text))}.story-step h3{color:var(--ink);font-size:1.5rem;letter-spacing:-.02em}.story-step p{margin-top:8px;max-width:380px;color:var(--muted);font-size:1.05rem;line-height:1.6}.story-inline{display:none}.story-stage{position:relative}.story-frame{position:sticky;top:14vh;display:flex;flex-direction:column;min-height:460px;padding:26px;border:1px solid var(--border);border-radius:24px;background:radial-gradient(110% 70% at 85% 115%,color-mix(in srgb,var(--hue, var(--accent)) 14%,transparent),transparent 60%),var(--surface);transition:background .4s ease}.story-progress{display:flex;gap:6px}.story-progress span{flex:1;height:3px;border-radius:2px;background:var(--surface-strong);transition:background .3s ease}.story-progress span.is-done{background:var(--hue, var(--accent))}.story-scene{display:flex;flex:1;align-items:center;justify-content:center;padding-top:24px}.evening{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.lane{padding:28px;border:1px solid var(--border);border-radius:22px;background:var(--surface)}.lane-title{color:var(--subtle);font-size:.85rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.lane-together{border-color:color-mix(in srgb,var(--hue-violet) 55%,transparent)}.lane-together .lane-title{color:var(--hue-violet)}.lane ol{position:relative;margin:22px 0 0;padding:0 0 0 22px;list-style:none}.lane ol:before{content:"";position:absolute;top:6px;bottom:6px;left:4px;width:2px;background:var(--border-strong)}.lane-together ol:before{background:linear-gradient(var(--hue-violet),color-mix(in srgb,var(--hue-violet) 20%,transparent))}.lane li{position:relative;display:flex;flex-direction:column;gap:2px;padding:10px 0;color:var(--text)}.lane li:before{content:"";position:absolute;top:16px;left:-22px;width:10px;height:10px;border-radius:50%;background:var(--surface-strong);border:2px solid var(--border-strong)}.lane-together li:before{background:var(--hue-violet);border-color:var(--hue-violet)}.lane time{color:var(--subtle);font-size:.82rem;font-weight:800;font-variant-numeric:tabular-nums}.lane-alone li{color:var(--muted)}.lane-result{margin-top:18px;padding-top:16px;border-top:1px solid var(--border);color:var(--ink);font-family:var(--font-heading);font-size:1.15rem;font-weight:800}.lane-alone .lane-result{color:var(--muted)}.subjects-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:center}.subjects-split .landing-head{margin-bottom:0}.subjects{display:flex;flex-direction:column;gap:16px}.subject-tabs{display:flex;flex-wrap:wrap;gap:8px}.subject-tabs button{display:inline-flex;align-items:center;gap:8px;padding:8px 15px;border:1px solid var(--border);border-radius:999px;background:none;color:var(--muted);font:inherit;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.subject-tabs button i{width:8px;height:8px;border-radius:50%;background:var(--subject)}.subject-tabs button:hover{color:var(--ink);border-color:var(--border-strong)}.subject-tabs button.is-on{border-color:var(--ink);background:var(--ink);color:var(--app-bg)}.subject-chat{display:flex;flex-direction:column;gap:14px;min-height:200px;padding:24px;border:1px solid var(--border);border-radius:22px;background:var(--surface)}.closing{display:flex;flex-direction:column;align-items:center;gap:14px;padding:40px 0 10px;text-align:center}.closing h2{max-width:640px;color:var(--ink);font-size:clamp(1.9rem,4.2vw,2.8rem);letter-spacing:-.03em;line-height:1.12}.closing p{max-width:480px;color:var(--muted);font-size:1.05rem}.closing .lp-cta{margin-top:14px}.closing-glow{position:absolute;top:50%;left:50%;z-index:-1;width:min(980px,100%);height:420px;background:radial-gradient(closest-side at 28% 55%,rgba(18,56,255,.55),transparent),radial-gradient(closest-side at 50% 40%,rgba(139,92,246,.45),transparent),radial-gradient(closest-side at 70% 60%,rgba(20,184,166,.4),transparent),radial-gradient(closest-side at 86% 45%,rgba(245,158,11,.35),transparent);filter:blur(60px);opacity:.32;transform:translate(-50%,-50%);pointer-events:none}.closing-mark{width:130px;height:130px;margin-bottom:4px;overflow:visible}.closing-disc{fill:var(--accent);transform:translate(-34px);transition:transform 1.1s cubic-bezier(.3,.8,.3,1)}.closing-ring{fill:none;stroke:var(--accent);stroke-width:14;transform:translate(34px);transition:transform 1.1s cubic-bezier(.3,.8,.3,1)}.closing-lens{fill:#9db0ff;opacity:0;transition:opacity .5s 1s ease}.is-visible .closing-disc,.is-visible .closing-ring{transform:none}.is-visible .closing-lens{opacity:1}.lp-scene-upload{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}.upload-doc{position:relative;display:flex;flex-direction:column;gap:11px;padding:20px;overflow:hidden;border:1px solid var(--border-strong);border-radius:16px;background:var(--surface);animation:drop-in .7s cubic-bezier(.2,.9,.3,1.15) both}.upload-doc-name{display:flex;align-items:center;gap:7px;margin-bottom:4px;color:var(--ink);font-size:.86rem;font-weight:800}.upload-doc-line{height:7px;border-radius:4px;background:var(--surface-strong)}.upload-scan{position:absolute;left:0;right:0;height:40px;background:linear-gradient(transparent,rgba(18,56,255,.28),transparent);border-bottom:2px solid var(--accent);animation:scan 1.5s .7s ease-in-out both}@keyframes scan{0%{top:-40px}to{top:100%}}@keyframes drop-in{0%{opacity:0;transform:translateY(-30px) rotate(-3deg) scale(.96)}}.upload-found{display:flex;flex-direction:column;align-items:flex-start;gap:10px;color:var(--ink)}.upload-check{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--success);color:#06281a;animation:pop-in .4s 2.2s cubic-bezier(.2,.9,.3,1.4) both}.upload-found strong{font-family:var(--font-heading);font-size:1.15rem;animation:rise .4s 2.3s ease both}.upload-chips{display:flex;flex-wrap:wrap;gap:7px}.upload-chips span{padding:5px 11px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface-strong);color:var(--muted);font-size:.82rem;font-weight:700;animation:pop-in .36s cubic-bezier(.2,.9,.3,1.3) both}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}}.lp-guide-map{display:block;width:100%;height:auto}.lp-guide-branch{fill:none;stroke:var(--accent-line);stroke-width:2;stroke-dasharray:300;stroke-dashoffset:300;animation:draw .9s ease forwards}@keyframes draw{to{stroke-dashoffset:0}}.lp-guide-center rect{fill:var(--accent)}.lp-guide-center text{fill:#fff;font-family:var(--font-heading);font-size:15px;font-weight:800}.lp-guide-center{animation:pop-in .5s cubic-bezier(.2,.9,.3,1.3) both;transform-box:fill-box;transform-origin:center}.lp-guide-node{animation:pop-in .42s cubic-bezier(.2,.9,.3,1.3) both;transform-box:fill-box;transform-origin:center}.lp-guide-node rect{fill:var(--surface-strong);stroke:var(--border-strong)}.lp-guide-node text{fill:var(--ink);font-size:13.5px;font-weight:700}.lp-guide-aid{display:flex;flex-direction:column;gap:4px;max-width:360px;margin:6px auto 0;padding:12px 16px;border:1px solid rgba(240,169,51,.35);border-radius:12px;background:#f0a9331a;color:var(--text);font-size:.9rem;animation:rise .5s 2.2s ease both}.lp-guide-aid span{color:#f0a933;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.lp-scene-tutor{display:flex;flex-direction:column;gap:14px}.tutor-bubble{align-self:flex-end;max-width:80%;padding:11px 16px;border-radius:18px 18px 5px;background:var(--surface-strong);color:var(--ink);font-size:.95rem;animation:rise .45s ease both}.tutor-answer{display:flex;gap:12px}.tutor-avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;border-radius:9px;background:var(--accent);animation:pop-in .3s .6s both}.tutor-body{position:relative;flex:1;min-height:160px}.tutor-typing{position:absolute;top:8px;display:flex;gap:5px;animation:vanish 0s 1.7s forwards}.tutor-typing i{width:7px;height:7px;border-radius:50%;background:var(--subtle);animation:typing-dot .9s infinite ease-in-out}.tutor-typing i:nth-child(2){animation-delay:.15s}.tutor-typing i:nth-child(3){animation-delay:.3s}@keyframes typing-dot{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@keyframes vanish{to{opacity:0;visibility:hidden}}.tutor-text{color:var(--text);font-size:.98rem;line-height:1.55;clip-path:inset(0 100% 0 0);animation:type-reveal 1.3s 1.7s steps(40) forwards}@keyframes type-reveal{to{clip-path:inset(0 0 0 0)}}.tutor-graph{display:block;width:min(320px,100%);margin-top:12px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface);animation:rise .4s 3s ease both}.tutor-axis{stroke:var(--border-strong);stroke-width:1.5}.tutor-curve{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-dasharray:400;stroke-dashoffset:400;animation:draw 1.2s 3.3s ease forwards}.tutor-dash{stroke:#859dff;stroke-width:1.5;stroke-dasharray:4 4;opacity:0;animation:fade-in .4s 4.3s forwards}.tutor-label{fill:#859dff;font-size:12px;font-weight:700;opacity:0;animation:fade-in .4s 4.4s forwards}.lp-scene-worksheet{display:flex;flex-direction:column;align-items:center;gap:14px}.lp-sheet-paper{position:relative;width:100%;padding:22px 26px 26px;border-radius:6px;background:#fff;color:#1e2a4a;box-shadow:0 20px 50px #00000073;animation:drop-in .6s cubic-bezier(.2,.9,.3,1.1) both}.lp-sheet-q{font-size:.95rem;line-height:1.5}.lp-sheet-lines{position:relative;height:84px;margin-top:8px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 27px,#c9cfdb 27px,#c9cfdb 28px)}.lp-sheet-ink{position:absolute;top:2px;left:4px;color:#1f4fd1;font-size:1.05rem;font-weight:700;white-space:nowrap;clip-path:inset(0 100% 0 0);animation:type-reveal 1.5s .8s steps(24) forwards}.lp-sheet-select{position:absolute;top:14px;left:14px;right:14px;height:92px;border:2px dashed var(--accent);border-radius:8px;background:#1238ff0f;opacity:0;transform:scale(.94);animation:select-in .4s 2.6s ease forwards}@keyframes select-in{to{opacity:1;transform:none}}.lp-sheet-chip{position:absolute;right:24px;bottom:-16px;padding:8px 14px;border-radius:10px;background:var(--accent);color:#fff;font-size:.85rem;font-weight:800;box-shadow:0 8px 22px #1238ff66;animation:pop-in .36s 3.1s cubic-bezier(.2,.9,.3,1.4) both}.lp-sheet-reply{display:flex;align-items:center;gap:8px;margin-top:14px;padding:10px 16px;border:1px solid rgba(61,204,142,.35);border-radius:12px;background:var(--success-soft);color:var(--success);font-size:.92rem;font-weight:700;animation:rise .45s 3.8s ease both}.lp-scene-writing{display:flex;flex-direction:column;gap:18px}.lp-writing-text{padding:22px 24px;border:1px solid var(--border-strong);border-radius:16px;background:var(--surface);color:var(--text);font-size:1.05rem;line-height:1.8;animation:rise .45s ease both}.lp-mark{position:relative;border-radius:3px}.lp-mark:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2.5px;border-radius:2px;transform:scaleX(0);transform-origin:left;animation:underline .4s forwards}.lp-mark-wrong:after{background:#ff6b6b;animation-delay:.9s}.lp-mark-comma:after{background:#f5b544;animation-delay:1.3s}.lp-mark-fixed:after{background:#f5b544;animation-delay:1.7s}.lp-mark-wrong{animation:tint-red .4s .9s forwards}@keyframes underline{to{transform:scaleX(1)}}@keyframes tint-red{to{background:#ff6b6b29}}.lp-writing-tips{display:flex;flex-wrap:wrap;gap:8px}.lp-writing-tip{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-strong);color:var(--text);font-size:.86rem;font-weight:700;animation:pop-in .36s cubic-bezier(.2,.9,.3,1.3) both}.lp-writing-tip i{width:8px;height:8px;border-radius:50%}.tip-red{animation-delay:2.2s}.tip-red i{background:#ff6b6b}.tip-amber{animation-delay:2.45s}.tip-amber i{background:#f5b544}.tip-green{animation-delay:2.7s}.tip-green i{background:var(--success)}.landing-footer{margin-top:90px;padding:28px 0 40px;border-top:1px solid var(--border);color:var(--subtle);font-size:.9rem}.landing-footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 18px}@media (max-width: 900px){.lp-hero-split,.story,.subjects-split{grid-template-columns:minmax(0,1fr)}.story-stage{display:none}.story-step{min-height:0;opacity:1}.story-inline{display:block;grid-column:1 / -1}.story-step:not(.is-active) .story-inline{display:none}}@media (max-width: 720px){.landing-links{display:none}.landing-nav{justify-content:space-between;gap:12px;padding:8px 8px 8px 14px}.landing-nav-wrap{padding:0 10px}.lp-hero{padding-top:56px}.evening,.lp-scene-upload{grid-template-columns:minmax(0,1fr)}.landing-section{padding-top:80px}}@media (max-width: 420px){.landing-nav-actions .lp-cta-small{display:none}.landing-login{padding:8px 14px;border:1px solid var(--border-strong);border-radius:12px}}@media (prefers-reduced-motion: reduce){.reveal,.landing *,.landing *:before,.landing *:after{animation-duration:1ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.reveal{opacity:1;transform:none}}.landing-links{align-items:center}.nav-menu{position:static}.landing-nav{position:relative}.nav-menu-trigger{display:inline-flex;align-items:center;gap:4px;padding:0;border:none;background:none;color:var(--muted);font:inherit;font-size:.95rem;font-weight:700;cursor:pointer;transition:color .15s ease}.nav-menu-trigger svg{transition:transform .18s ease}.nav-menu-trigger:hover,.nav-menu-trigger.is-open{color:var(--ink)}.nav-menu-trigger.is-open svg{transform:rotate(180deg)}.nav-menu-panel{position:absolute;top:calc(100% + 10px);right:0;left:0;z-index:30;padding:22px;border:1px solid var(--border-strong);border-radius:20px;background:#131417;box-shadow:0 30px 70px #0000008c;animation:dialog-in .16s ease both}.nav-menu-panel:before{position:absolute;top:-12px;right:0;left:0;height:12px;content:""}.nav-menu-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.nav-menu-group{display:flex;flex-direction:column;gap:4px}.nav-menu-heading{margin:0 0 6px 10px;color:var(--subtle);font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.nav-menu-item{display:flex;align-items:flex-start;gap:10px;padding:9px 10px;border-radius:12px;color:var(--ink);text-decoration:none;transition:background .14s ease}.nav-menu-item:hover{background:var(--surface-strong)}.nav-menu-item>span:last-child{display:flex;flex-direction:column;gap:1px}.nav-menu-item strong{font-size:.92rem}.nav-menu-item small{color:var(--muted);font-size:.8rem;line-height:1.35}.nav-menu-icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:#1238ff24;color:var(--accent-text)}.nav-menu-footer{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding:12px 14px;border-radius:12px;background:var(--surface);color:var(--ink);font-size:.9rem;font-weight:700;text-decoration:none}.nav-menu-footer:hover{background:var(--surface-strong)}.nav-mobile{display:none}.nav-mobile-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--border-strong);border-radius:12px;background:none;color:var(--ink);cursor:pointer}.nav-mobile-panel{position:absolute;top:calc(100% + 10px);right:0;left:0;display:flex;flex-direction:column;gap:16px;max-height:calc(100dvh - 110px);overflow-y:auto;padding:18px;border:1px solid var(--border-strong);border-radius:18px;background:#131417;box-shadow:0 30px 70px #0000008c}.nav-mobile-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.nav-mobile-group .nav-menu-heading{grid-column:1 / -1;margin-left:4px}.nav-mobile-group a,.nav-mobile-links a{display:flex;align-items:center;gap:8px;padding:8px;border-radius:10px;color:var(--ink);font-size:.92rem;font-weight:700;text-decoration:none}.nav-mobile-group a svg{color:var(--accent-text)}.nav-mobile-links{display:flex;flex-wrap:wrap;gap:4px;padding-top:12px;border-top:1px solid var(--border)}.nav-mobile-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.compare{overflow:hidden;border:1px solid var(--border);border-radius:20px;background:var(--surface)}.compare-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:center;padding:14px 22px;border-top:1px solid var(--border);font-size:.94rem}.compare-head{border-top:none;background:var(--surface-strong);color:var(--muted);font-size:.82rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.compare-label{color:var(--ink);font-weight:700}.compare-us{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-weight:700}.compare-us svg{flex:none;color:var(--accent-text)}.compare-head .compare-us{color:var(--ink)}.compare-others{color:var(--subtle)}.faq-split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:40px;align-items:start}.faq{display:flex;flex-direction:column;gap:10px}.faq-item{border:1px solid var(--border);border-radius:14px;background:var(--surface)}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;color:var(--ink);font-weight:700;list-style:none;cursor:pointer}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary svg{flex:none;color:var(--muted);transition:transform .18s ease}.faq-item[open] summary svg{transform:rotate(180deg)}.faq-item p{margin:0;padding:0 18px 16px;color:var(--muted);line-height:1.6}@media (max-width: 1000px){.nav-menu-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-links{gap:20px}}@media (max-width: 720px){.nav-mobile{display:block}.landing-nav{position:relative}.landing-nav-actions .landing-login,.landing-nav-actions .theme-toggle{display:none}.landing-nav-actions{margin-left:auto}.compare-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:14px 16px}.compare-label{grid-column:1 / -1}.compare-head span:first-child{display:none}.faq-split{grid-template-columns:minmax(0,1fr);gap:20px}}.landing{--hue-blue: #6b83ff;--hue-violet: #a78bfa;--hue-teal: #2dd4bf;--hue-amber: #fbbf24;--hue-green: #4ade80;--hue-rose: #fb7185;position:relative}.landing .hue-blue{--hue: var(--hue-blue)}.landing .hue-violet{--hue: var(--hue-violet)}.landing .hue-teal{--hue: var(--hue-teal)}.landing .hue-amber{--hue: var(--hue-amber)}.landing .hue-green{--hue: var(--hue-green)}.landing .hue-rose{--hue: var(--hue-rose)}.landing:before{position:absolute;top:0;bottom:0;left:50%;z-index:0;width:min(1160px,calc(100% - 12px));border-right:1px solid rgba(255,255,255,.045);border-left:1px solid rgba(255,255,255,.045);transform:translate(-50%);pointer-events:none;content:""}.landing>section,.landing>footer{position:relative;z-index:1}.hero-ribbon{position:absolute;top:0;right:-14%;width:72%;height:680px;overflow:hidden;pointer-events:none;opacity:.42;-webkit-mask-image:radial-gradient(ellipse 62% 55% at 58% 52%,#000 35%,transparent 78%);mask-image:radial-gradient(ellipse 62% 55% at 58% 52%,#000 35%,transparent 78%)}.hero-ribbon.is-paused .ribbon-band{animation-play-state:paused}.ribbon-band{position:absolute;width:140%;height:120px;border-radius:999px;filter:blur(42px) saturate(1.25);transform-origin:center;animation:ribbon-flow 18s ease-in-out infinite alternate;will-change:translate}.ribbon-blue{top:170px;left:-10%;background:linear-gradient(90deg,transparent,#1238ff 30%,#4f6bff 60%,transparent);transform:rotate(-18deg)}.ribbon-violet{top:240px;left:-5%;background:linear-gradient(90deg,transparent,#7c3aed 35%,#a78bfa 65%,transparent);transform:rotate(-22deg);animation-delay:-4s}.ribbon-teal{top:310px;left:0;background:linear-gradient(90deg,transparent,#0d9488 40%,#2dd4bf 70%,transparent);transform:rotate(-26deg);animation-delay:-8s;opacity:.8}.ribbon-amber{top:380px;left:6%;background:linear-gradient(90deg,transparent,#f59e0b 45%,#fb7185 75%,transparent);transform:rotate(-30deg);animation-delay:-12s;opacity:.75}@keyframes ribbon-flow{0%{translate:-4% 0}to{translate:6% -30px}}.lp-hero-lead strong{color:var(--ink);font-weight:700}.facts{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px 28px;margin-top:64px;padding-top:26px;border-top:1px solid rgba(255,255,255,.06)}.fact{display:inline-flex;align-items:baseline;gap:8px;color:var(--subtle);font-size:.92rem}.fact strong{color:var(--hue);font-family:var(--font-heading);font-size:1.15rem;font-weight:800}.landing-section[class*=glow-]:before{opacity:var(--glow-opacity, .16)!important;position:absolute;top:40px;z-index:-1;width:620px;height:520px;border-radius:50%;filter:blur(90px);pointer-events:none;content:""}.landing-section[class*=glow-]{position:relative;isolation:isolate}.glow-teal:before{left:-160px;background:#14b8a6}.glow-amber{--glow-opacity: .11}.glow-green{--glow-opacity: .1}.glow-amber:before{right:-120px;background:#f59e0b}.glow-violet:before{left:20%;background:#8b5cf6}.glow-blue:before{right:-200px;background:#1238ff}.glow-green:before{left:-120px;background:#22c55e}.landing .kicker[class*=hue-]{color:var(--hue)}.landing-head-wide{max-width:820px}.two-tone{letter-spacing:-.02em}.two-tone span{color:var(--subtle)}.showcase{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-top:8px}.showcase-card{position:relative;display:flex;flex-direction:column;grid-column:span 2;min-height:330px;overflow:hidden;border:1px solid rgba(255,255,255,.07);border-radius:22px;background:#121317;background:radial-gradient(120% 90% at 80% 110%,color-mix(in srgb,var(--hue) 22%,transparent),transparent 60%),linear-gradient(180deg,#141519,#101114)}.showcase-card.is-wide{grid-column:span 4}.showcase-card:nth-child(2){grid-column:span 2}.showcase-card h3{margin:0;padding:24px 26px 0;color:var(--ink);font-size:1.12rem;font-weight:800;line-height:1.4}.showcase-card h3 span{color:var(--subtle);font-weight:700}.showcase-stage{display:flex;flex:1;align-items:center;justify-content:center;padding:22px 24px 26px}.mini-window{width:min(560px,100%);overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:#17181c;box-shadow:0 24px 50px #00000073}.mini-window-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.06)}.mini-window-bar>span{width:9px;height:9px;border-radius:50%;background:#34353b}.mini-window-bar small{margin-left:10px;color:var(--muted);font-size:.8rem;font-weight:700}.mini-parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:14px}.mini-part{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:var(--muted);font-size:.84rem;font-weight:700}.mini-part.is-on{border-color:color-mix(in srgb,var(--hue) 55%,transparent);background:color-mix(in srgb,var(--hue) 12%,transparent);color:var(--ink)}.mini-check{display:inline-flex;flex:none;align-items:center;justify-content:center;width:18px;height:18px;border:1.5px solid rgba(255,255,255,.2);border-radius:50%;color:#fff}.mini-part.is-on .mini-check{border-color:var(--hue);background:var(--hue)}.mini-exam{display:flex;flex-direction:column;gap:14px;width:100%;padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#17181c}.mini-exam-top{display:flex;align-items:center;justify-content:space-between;color:var(--ink);font-size:.86rem;font-weight:800}.mini-clock{padding:3px 10px;border:1px solid color-mix(in srgb,var(--hue) 60%,transparent);border-radius:999px;color:var(--hue);font-variant-numeric:tabular-nums}.mini-lines{display:flex;flex-direction:column;gap:7px}.mini-lines span{height:7px;border-radius:4px;background:#ffffff14}.mini-grade{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;background:color-mix(in srgb,var(--hue) 13%,transparent)}.mini-grade strong{color:var(--hue);font-family:var(--font-heading);font-size:2rem;font-weight:900;line-height:1}.mini-grade span{display:flex;flex-direction:column;color:var(--ink);font-size:.86rem;font-weight:700}.mini-grade small{color:var(--muted);font-weight:600}.mini-quiz{display:flex;flex-direction:column;gap:8px;width:100%}.mini-quiz p{margin:0 0 4px;color:var(--ink);font-size:.92rem;font-weight:700}.mini-option{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#17181c;color:var(--muted);font-size:.86rem;font-weight:600}.mini-option.is-right{border-color:color-mix(in srgb,var(--hue) 65%,transparent);background:color-mix(in srgb,var(--hue) 14%,#17181c);color:var(--ink)}.mini-option.is-right svg{color:var(--hue)}.mini-paper{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:8px;align-items:center;width:100%;padding:12px;border-radius:12px;background:#fff;box-shadow:0 20px 44px #0006}.mini-graph svg{display:block;width:100%;height:auto}.mini-molecule{display:flex;justify-content:center}.mini-molecule .molecule{width:100%;max-width:110px}.mini-chat{display:flex;flex-direction:column;gap:8px;width:100%}.mini-bubble{align-self:flex-end;max-width:85%;padding:9px 13px;border-radius:14px;background:#23252b;color:var(--ink);font-size:.86rem;font-weight:600}.mini-bubble.is-other{align-self:flex-start;background:color-mix(in srgb,var(--hue) 16%,#17181c)}.mini-typing{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.8rem;font-weight:700}.mini-typing i{width:22px;height:6px;background:radial-gradient(circle,var(--hue) 2.5px,transparent 3px) 0 50% / 8px 6px repeat-x;animation:typing-pulse 1.2s ease-in-out infinite}@keyframes typing-pulse{50%{opacity:.35}}.mini-avatar{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:color-mix(in srgb,var(--hue) 30%,#17181c);color:var(--ink);font-size:.62rem;font-weight:800}.catalogue{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin-top:56px;padding-top:34px;border-top:1px solid rgba(255,255,255,.06)}.catalogue-group h3{margin:0 0 14px;color:var(--hue);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.catalogue-group ul{display:flex;flex-direction:column;gap:16px;margin:0;padding:0;list-style:none}.catalogue-group li{display:flex;gap:12px;scroll-margin-top:120px}.catalogue-group li:target strong{color:var(--hue)}.catalogue-group li>span:last-child{display:flex;flex-direction:column;gap:3px}.catalogue-group strong{color:var(--ink);font-size:.95rem}.catalogue-group small{color:var(--muted);font-size:.84rem;line-height:1.5}.catalogue-icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:color-mix(in srgb,var(--hue) 15%,transparent);color:var(--hue)}.nav-menu-group .nav-menu-icon,.nav-mobile-group a svg{background:color-mix(in srgb,var(--hue) 15%,transparent);color:var(--hue)}.nav-mobile-group a svg{background:none}.nav-menu-group .nav-menu-heading{color:var(--hue)}.compare-us svg{color:var(--hue-green)}@media (max-width: 1000px){.showcase-card,.showcase-card.is-wide,.showcase-card:nth-child(2){grid-column:span 3}.showcase-card.is-wide{grid-column:span 6}.catalogue{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.showcase{grid-template-columns:minmax(0,1fr)}.showcase-card,.showcase-card.is-wide,.showcase-card:nth-child(2){grid-column:auto;min-height:0}.mini-parts{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogue{grid-template-columns:minmax(0,1fr)}.facts{justify-content:flex-start;margin-top:40px}.hero-ribbon{right:-40%;width:120%;opacity:.4}.landing-section[class*=glow-]:before{width:320px;height:320px}}@media (prefers-reduced-motion: reduce){.ribbon-band,.mini-typing i{animation:none}}[data-theme=light] .landing{--ink: #14213d;--text: #3d4659;--muted: #566072;--subtle: #6b717d;--hue-blue: #3451e6;--hue-violet: #7a4fd6;--hue-teal: #0a7166;--hue-amber: #8f5800;--hue-green: #187a3f;--hue-rose: #bf2d50;--soft-shadow: 0 1px 2px rgba(40, 34, 20, .05), 0 12px 32px rgba(40, 34, 20, .07);--float-shadow: 0 1px 3px rgba(40, 34, 20, .06), 0 24px 60px rgba(40, 34, 20, .12)}[data-theme=light] .landing-nav{border-color:#28221414;background:#f6f2ebd1;box-shadow:0 1px 2px #2822140a,0 8px 24px #2822140d}[data-theme=light] .nav-menu-panel,[data-theme=light] .nav-mobile-panel,[data-theme=light] .language-panel{border-color:#28221417;background:var(--card-soft);box-shadow:var(--float-shadow, 0 24px 60px rgba(40, 34, 20, .12))}[data-theme=light] .landing .lp-cta{box-shadow:inset 0 -2px 0 var(--accent-pressed),0 1px 2px #1238ff33,0 6px 16px #1238ff2e}[data-theme=light] .landing .lp-cta:hover{box-shadow:inset 0 -2px 0 var(--accent-pressed),0 2px 4px #1238ff33,0 10px 22px #1238ff38}[data-theme=light] .landing .lp-cta:active{box-shadow:inset 0 -1px 0 var(--accent-pressed),0 2px 8px #1238ff2e}[data-theme=light] .landing:before{border-color:#2822140f}[data-theme=light] .hero-ribbon{top:-60px;right:-8%;width:86%;height:820px;opacity:.72;-webkit-mask-image:radial-gradient(ellipse 66% 58% at 62% 46%,#000 40%,transparent 80%);mask-image:radial-gradient(ellipse 66% 58% at 62% 46%,#000 40%,transparent 80%)}[data-theme=light] .ribbon-band{height:160px;filter:blur(34px) saturate(1.5)}[data-theme=light] .closing-glow{opacity:.6}[data-theme=light] .story-frame{border-color:#28221414;background:radial-gradient(110% 70% at 85% 115%,color-mix(in srgb,var(--hue, var(--accent)) 22%,transparent),transparent 60%),var(--card-soft);box-shadow:var(--soft-shadow)}[data-theme=light] .facts,[data-theme=light] .catalogue{border-top-color:#28221414}[data-theme=light] .landing-section[class*=glow-]:before{opacity:calc(var(--glow-opacity, .16) * 1.3)!important}[data-theme=light] .try-card{border-color:#28221414;background:var(--card-soft);box-shadow:var(--float-shadow)}[data-theme=light] .lp-sheet-paper,[data-theme=light] .mini-paper{background:var(--card);box-shadow:var(--float-shadow)}[data-theme=light] .lp-guide-aid span{color:#8f5400}[data-theme=light] .tutor-dash{stroke:var(--accent-text)}[data-theme=light] .tutor-label{fill:var(--accent-text)}[data-theme=light] .upload-check{color:#fff}[data-theme=light] .showcase-card{border-color:#28221412;background:radial-gradient(120% 90% at 80% 110%,color-mix(in srgb,var(--hue) 12%,transparent),transparent 62%),linear-gradient(180deg,var(--card-soft),#f2ede4);box-shadow:var(--soft-shadow)}[data-theme=light] .mini-window,[data-theme=light] .mini-exam,[data-theme=light] .mini-option{border-color:#28221417;background:var(--card)}[data-theme=light] .mini-window{box-shadow:var(--float-shadow)}[data-theme=light] .mini-exam{box-shadow:var(--soft-shadow)}[data-theme=light] .mini-window-bar{border-bottom-color:#28221412}[data-theme=light] .mini-window-bar>span{background:#dedad1}[data-theme=light] .mini-part:not(.is-on){border-color:#2822141a}[data-theme=light] .mini-part.is-on{background:color-mix(in srgb,var(--hue) 8%,var(--card))}[data-theme=light] .mini-check{border-color:#28221438}[data-theme=light] .mini-lines span{background:#28221414}[data-theme=light] .mini-grade,[data-theme=light] .mini-option.is-right{background:color-mix(in srgb,var(--hue) 9%,var(--card))}[data-theme=light] .mini-bubble{background:#ece9e2}[data-theme=light] .mini-bubble.is-other{background:color-mix(in srgb,var(--hue) 11%,var(--card))}[data-theme=light] .mini-avatar{background:color-mix(in srgb,var(--hue) 16%,var(--card))}@media (max-width: 720px){[data-theme=light] .hero-ribbon{top:0;right:-40%;width:120%;opacity:.5}}[data-theme=light] .story-progress span.hue-amber.is-done{background:#e0960f}.landing .landing-nav-actions .lp-cta{background:var(--ink);color:var(--app-bg);box-shadow:none}.landing .landing-nav-actions .lp-cta:hover{background:color-mix(in srgb,var(--ink) 85%,var(--app-bg));box-shadow:none}.landing .landing-nav-actions .lp-cta:active{box-shadow:none}.subject-tabs button.is-on i{box-shadow:0 0 0 2px var(--app-bg)}.quote-bar{margin-top:28px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.quote-track{display:flex;width:max-content;animation:quote-scroll var(--quote-duration, 60s) linear infinite}.quote-bar:hover .quote-track,.quote-bar:focus-within .quote-track{animation-play-state:paused}.quote-list{display:flex;gap:16px;margin:0;padding:4px 16px 36px 0;list-style:none}.quote-card{display:flex;flex-direction:column;justify-content:space-between;gap:16px;width:min(330px,78vw);padding:20px 22px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}.quote-card p{margin:0;color:var(--text);font-size:.95rem;line-height:1.55}.quote-card footer{display:flex;align-items:center;gap:10px}.quote-card footer>span:last-child{display:flex;flex-direction:column;min-width:0}.quote-card strong{color:var(--ink);font-size:.88rem}.quote-card small{color:var(--subtle);font-size:.8rem}.quote-avatar{display:inline-grid;flex:none;place-items:center;width:32px;height:32px;border-radius:50%;background:color-mix(in srgb,var(--hue) 18%,transparent);color:var(--hue);font-size:.75rem;font-weight:800}[data-theme=light] .quote-card{border-color:#28221414;background:var(--card);box-shadow:var(--soft-shadow)}@keyframes quote-scroll{to{transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.quote-bar{overflow-x:auto}.quote-bar .quote-list[aria-hidden=true]{display:none}.quote-track{animation:none}}
