/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Inter", system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#22222a;--color-surface:#2e2e38;--color-surface-2:#3a3a44;--color-border:#3a3a48;--color-text:#f2f2f7;--color-muted:#8e8e9a;--color-accent:#ed5755;--color-teal:#0ea6b1}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}html.light{--color-bg:#f2f2f7;--color-surface:#fff;--color-surface-2:#ebebf2;--color-border:#e0e0e8;--color-text:#3a3a42;--color-muted:#8a8a96;--color-accent:#ed5755;--color-teal:#0ea6b1}html.light .card,html.light .course-card,html.light .last-course-card,html.light .landing-cta,html.light .register-prompt-box,html.light .reset-box,html.light .skill-tree-confirm-box,html.light .super-quiz-section,html.light .gen-budget-suggestion,html.light .qm-weak-item,html.light .quiz-group-editor,html.light .cert-modal,html.light .burger-menu{box-shadow:0 1px 4px #0000001a}html.light .form-input,html.light .search-input{box-shadow:0 1px 3px #00000012}html.font-l{font-size:18px}html.font-xl{font-size:21px}html.light .top-bar{box-shadow:0 1px 4px #0000001a}html.light .skill-tree-btn{border-color:var(--color-border);background:#f0f0f0}html.light .skill-tree-btn:active{background:#e0e0e0}html.light .skill-tree-hero-btn{background:#c8c8c8}html.light .answer-btn{background:#fff}html.light .node-image-broken{background:#e8e8e8}html.light .admin-img-search-thumb{background:#f0f0f0}html.light .emoji-picker-grid{border-color:var(--color-border);background:#f5f5f5}html.light .emoji-picker-cell:hover{border-color:var(--color-border);background:#e8e8e8}html.light .admin-import-info,html.light .admin-import-log{border-color:var(--color-border);background:#f5f5f5}html.light .gen-overall-bar{background:#0000001f}html.light .gen-live-list,html.light .gen-live-item{border-color:var(--color-border)}html.light .gen-duration-hint,html.light .outline-review-info{border-color:var(--color-border);background:#0000000a}html.light .outline-choice-card{background:#fff}html.light .outline-choice-card.active{background:#00000008}html.light .doc-source-item{border-color:var(--color-border)}html.light .doc-source-name{background:#0000000a}html.light .doc-review-tab-btn:not(.active) .doc-review-tab-count{background:#00000014}html.light .outline-editor-title{border-color:var(--color-border);background:#fff}html.light .outline-editor-rel{border-color:var(--color-border)}html.light .type-editor{background:#0000000a}html.light .quiz-question-editor,html.light .true-false-btn,html.light .fill-blank-chip,html.light .matching-item{background:#f5f5f5}html.light .relevance-pill-core{color:#b03330;background:#ed57551a;border-color:#ed57554d}html.light .relevance-pill-extended{color:#6b4a0e;background:#a0783024;border-color:#a0783059}html.light .relevance-pill-deep{color:#0a7a84;background:#0ea6b11f;border-color:#0ea6b159}html.light .relevance-filter-btn.active.relevance-filter-core{color:#b03330}html.light .relevance-filter-btn.active.relevance-filter-extended{color:#6b4a0e}html.light .relevance-filter-btn.active.relevance-filter-deep{color:#0a7a84}html.light .answer-correct{color:#1a5c34!important}html.light .answer-wrong{color:#7a1e1b!important}html.light .qm-feedback-ok{color:#1a5c34}html.light .qm-feedback-wrong,html.light .qm-score-failed,html.light .qm-badge-failed,html.light .feedback-fail,html.light .quiz-result-failed p{color:#7a1e1b}html.light .field-error{color:#8b2020}html.eink{--color-bg:#f2f2f2;--color-surface:#fff;--color-surface-2:#e8e8e8;--color-border:#000;--color-text:#000;--color-muted:#444;--color-accent:#000}html.eink *,html.eink :before,html.eink :after{transition:none!important;animation:none!important}html.eink .top-bar{box-shadow:none;border-bottom:2px solid #000}html.eink .card,html.eink .last-course-card,html.eink .skill-tree-btn,html.eink .answer-btn,html.eink .modal-box,html.eink .burger-menu{box-shadow:none;border:1px solid #000}html.eink .skill-tree-btn.node-done{color:#fff;background:#000;border-color:#000}html.eink .skill-tree-btn.node-active{color:#000;background:#fff;border:2px solid #000;font-weight:700}html.eink .skill-tree-btn.node-locked{color:#444;background:#e8e8e8;border:1px dashed #888}html.eink .answer-btn{color:#000;background:#fff}html.eink .answer-btn.answer-selected{color:#fff;background:#000;border-color:#000}html.eink .answer-btn.answer-correct{background:#fff;border:2px solid #000;padding-right:2.4rem;font-weight:700;position:relative;color:#000!important}html.eink .answer-btn.answer-wrong{background:#f0f0f0;border:2px solid #888;padding-right:2.4rem;position:relative;color:#000!important}html.eink .answer-btn.answer-correct:after,html.eink .answer-btn.answer-wrong:after{content:"";text-align:center;border-radius:50%;justify-content:center;align-items:center;width:1.35rem;height:1.35rem;font-size:.7rem;font-weight:900;line-height:1.35rem;display:flex;position:absolute;top:50%;right:.65rem;transform:translateY(-50%)}html.eink .answer-btn.answer-correct:after{content:"✓";color:#fff;background:#000}html.eink .answer-btn.answer-wrong:after{content:"✕";color:#fff;background:#888}html.eink .true-false-btn.answer-correct,html.eink .true-false-btn.answer-wrong{padding-right:2.4rem;position:relative}html.eink .true-false-btn.answer-correct:after{content:"✓";color:#fff;text-align:center;background:#000;border-radius:50%;width:1.35rem;height:1.35rem;font-size:.7rem;font-weight:900;line-height:1.35rem;position:absolute;top:50%;right:.65rem;transform:translateY(-50%)}html.eink .true-false-btn.answer-wrong:after{content:"✕";color:#fff;text-align:center;background:#888;border-radius:50%;width:1.35rem;height:1.35rem;font-size:.7rem;font-weight:900;line-height:1.35rem;position:absolute;top:50%;right:.65rem;transform:translateY(-50%)}html.eink .fill-blank-chip{background:#fff;border:1px solid #000}html.eink .fill-blank-chip-selected{color:#fff;background:#000}html.eink .fill-blank-chip-correct{background:#fff;border:2px solid #000;font-weight:700}html.eink .fill-blank-chip-wrong{background:#e8e8e8;text-decoration:line-through}html.eink .true-false-btn{background:#fff;border:1px solid #000}html.eink .true-false-btn.answer-selected{color:#fff;background:#000}html.eink .matching-item{background:#fff;border:1px solid #000}html.eink .matching-item-pending{background:#ddd;border:2px dashed #000}html.eink .qm-feedback-ok{color:#000;background:#fff;border:2px solid #000}html.eink .qm-feedback-wrong{color:#000;background:#e8e8e8;border:2px solid #000}html.eink .qm-feedback-icon{color:#fff;background:#000}html.eink .answer-correct,html.eink .answer-wrong{color:#000!important}html.eink .progress-bar{background:#d8d8d8!important}html.eink .progress-fill{background:#1a1a1a!important}html.eink .qm-progress-fill{background:#000}html.eink .qm-progress-track{background:#ccc}html.eink .memory-progress-seg.done{background:#000}html.eink .memory-progress-seg.current{background:#888}html.eink .memory-progress-seg{background:#ccc;border-color:#0000}html.eink .memory-card-face{box-shadow:none;border:1px solid #000}html.eink .btn-primary{color:#fff;box-shadow:none;background:#000;border-color:#000}html.eink .btn-ghost{color:#000;box-shadow:none;background:#fff;border:1px solid #000}html.eink .relevance-pill-core,html.eink .relevance-pill-extended,html.eink .relevance-pill-deep{color:#000;background:#e8e8e8;border-color:#888}html.eink .qm-score-passed,html.eink .qm-score-failed{color:#000}html.eink .qm-badge-passed,html.eink .qm-badge-failed{color:#000;border-color:#000}html.eink .fireworks-overlay,html.eink .thumbsup-overlay,html.eink .unlock-overlay{display:none!important}html.eink .gen-overall-bar-fill{background:#000}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;touch-action:manipulation;scrollbar-width:none;font-size:16px;overflow-y:scroll}html::-webkit-scrollbar{display:none}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;width:100%;min-height:100dvh;margin:0 auto;line-height:1.6;overflow-x:hidden}.app-scrollbar-track{cursor:pointer;z-index:9999;opacity:1;width:12px;transition:opacity .25s;position:fixed;top:0;bottom:0;right:0}.app-scrollbar-track.app-scrollbar-idle{opacity:0}.app-scrollbar-thumb{background:var(--color-accent);opacity:.85;pointer-events:none;border-radius:5px;position:absolute;left:0;right:0}.app-scrollbar-track:hover .app-scrollbar-thumb{opacity:1}@media (pointer:coarse){.app-scrollbar-track{pointer-events:none;width:4px}}#root{flex-direction:column;min-height:100dvh;display:flex}.page{padding:1.5rem 1rem;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px) + 1rem);flex-direction:column;flex:1;gap:1.5rem;display:flex}@media (width>=640px){.page{padding-bottom:calc(96px + 1.5rem)}}.page-centered-message{justify-content:center;align-items:center}h1{letter-spacing:-.02em;font-size:1.75rem;font-weight:700}h2{font-size:1.25rem;font-weight:600}h3{font-size:1rem;font-weight:600}p,li{font-size:.95rem}a{color:inherit;text-decoration:none}@keyframes lock-fall{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)rotate(0)}12%{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}28%{opacity:1;transform:translate(-50%,-50%)scale(1.5)rotate(-12deg)}44%{opacity:1;transform:translate(-50%,-50%)scale(1.9)rotate(10deg)}58%{opacity:1;transform:translate(-50%,-50%)scale(2.2)rotate(-6deg)}72%{opacity:1;transform:translate(-50%,-50%)scale(2.1)rotate(3deg)translateY(0)}to{opacity:0;transform:translate(-50%,-50%)scale(1.8)rotate(8deg)translateY(90vh)}}.unlock-overlay{z-index:490;pointer-events:none;width:100vw;height:100vh;position:fixed;top:0;left:0}.unlock-lock{filter:drop-shadow(0 4px 16px #0009);font-size:2.2rem;animation:1s cubic-bezier(.4,0,.8,1) both lock-fall;position:absolute}@keyframes thumbsup-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}40%{opacity:1;transform:translate(-50%,-50%)scale(1.3)}65%{opacity:1;transform:translate(-50%,-50%)scale(1)}85%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.8)}}.thumbsup-overlay{z-index:500;pointer-events:none;position:fixed;inset:0}.thumbsup-icon{filter:drop-shadow(0 4px 24px #00000080);width:5rem;height:5rem;animation:1.4s cubic-bezier(.34,1.56,.64,1) forwards thumbsup-pop;position:absolute;top:45%;left:50%}@keyframes particle-burst{0%{opacity:1;transform:translate(0)scale(1)}80%{opacity:.6}to{transform:translate(var(--tx), var(--ty)) scale(0);opacity:0}}@keyframes burst-appear{0%{opacity:0}to{opacity:1}}.eink-toast{z-index:600;color:#fff;text-align:center;letter-spacing:.02em;background:#000;border-top:2px solid #000;padding:.75rem 1rem;font-size:.95rem;font-weight:600;position:fixed;bottom:0;left:0;right:0}.partial-course-banner{color:var(--color-teal);background:#0ea6b11a;border:1px solid #0ea6b140;border-radius:10px;align-items:center;gap:.6rem;margin:.75rem 1rem 0;padding:.55rem .85rem;font-size:.8rem;line-height:1.4;display:flex}html.light .partial-course-banner{background:#0ea6b112}.partial-course-badge{background:var(--color-teal);color:#fff;letter-spacing:.04em;text-transform:uppercase;border-radius:5px;flex-shrink:0;padding:2px 7px;font-size:.65rem;font-weight:700}.resume-banner{z-index:400;background:var(--color-accent);color:#fff;justify-content:center;align-items:center;gap:.75rem;padding:.5rem 1rem;font-size:.88rem;font-weight:500;display:flex;position:fixed;top:3.5rem;left:0;right:0}.resume-banner-close{color:#fff;cursor:pointer;opacity:.8;background:0 0;border:none;padding:.1rem .3rem;font-size:.9rem;line-height:1}.resume-banner-close:hover{opacity:1}.fireworks-overlay{z-index:500;pointer-events:none;position:fixed;inset:0}.fireworks-burst{position:absolute}.fireworks-particle{transform-origin:50%;border-radius:50%;animation:ease-out forwards particle-burst;position:absolute;top:0;left:0}.top-bar{background:var(--color-bg);border-bottom:1px solid var(--color-border);z-index:100;justify-content:space-between;align-items:center;width:100%;max-width:480px;height:56px;padding:0 1rem;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%)}.top-bar-title{letter-spacing:-.01em;color:var(--color-text);align-items:center;gap:.45rem;font-size:1rem;font-weight:700;text-decoration:none;display:flex}.top-bar-icon{border-radius:5px;flex-shrink:0;width:24px;height:24px}.top-bar-right{align-items:center;gap:.75rem;display:flex}.theme-btn{border:1px solid var(--color-border);cursor:pointer;height:36px;color:var(--color-text);background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:.35rem;padding:0 .6rem;font-size:.8rem;font-weight:500;transition:color .15s,border-color .15s;display:flex}.theme-btn:hover{border-color:var(--color-text)}.theme-btn-icon{flex-shrink:0;display:block}.theme-btn-label{white-space:nowrap}html.eink .theme-btn{border-width:2px;border-color:#000}.theme-modal-box{width:min(360px,94vw);padding:0;overflow:hidden}.theme-modal-header{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:.875rem 1rem;display:flex}.theme-modal-title{font-size:.95rem;font-weight:600}.theme-modal-cards{flex-direction:column;gap:.75rem;padding:1rem;display:flex}.theme-card{border:1.5px solid var(--color-border);cursor:pointer;color:var(--color-text);text-align:left;background:0 0;border-radius:10px;align-items:center;gap:.9rem;padding:.75rem;display:flex;position:relative}.theme-card-active{border-color:var(--color-accent);border-width:2px}.theme-card-label{font-size:.95rem;font-weight:600;display:block}.theme-card-desc{color:var(--color-muted);margin-top:.1rem;font-size:.78rem;display:block}.theme-card-badge{text-transform:uppercase;color:var(--color-accent);letter-spacing:.04em;font-size:.65rem;font-weight:700;position:absolute;top:.4rem;right:.5rem}.theme-modal-divider{background:var(--color-border);height:1px;margin:0 1rem}.theme-modal-fontsize{justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1rem;display:flex}.theme-modal-section-label{color:var(--color-text);white-space:nowrap;font-size:.88rem;font-weight:600}.fontsize-btn-group{gap:.4rem;display:flex}.fontsize-btn{border:1.5px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;border-radius:7px;padding:.3rem .75rem;font-weight:600;transition:border-color .15s}.fontsize-btn-s{font-size:.78rem}.fontsize-btn-l{font-size:.95rem}.fontsize-btn-xl{font-size:1.1rem}.fontsize-btn-active{border-color:var(--color-accent);color:var(--color-accent)}.theme-preview{border:1px solid var(--color-border);border-radius:6px;flex-direction:column;flex-shrink:0;width:72px;height:58px;display:flex;overflow:hidden}.theme-preview-dark{background:#0a0a0a}.theme-preview-light{background:#e8e8e8}.theme-preview-eink{background:#f2f2f2}.tp-bar{background:#141414;flex-shrink:0;align-items:center;gap:3px;height:10px;padding:0 4px;display:flex}.tp-bar-light{background:#fff;border-bottom:1px solid #c8c8c8}.tp-bar-eink{background:#fff;border-bottom:2px solid #000}.tp-bar-dot{background:#3a3a3a;border-radius:50%;width:4px;height:4px}.tp-bar-dot-light{background:silver}.tp-bar-dot-eink{background:#888}.tp-body{flex:1;justify-content:center;align-items:center;gap:4px;padding:4px;display:flex}.tp-node{border-radius:3px;width:10px;height:10px}.tp-node-done{background:#4a7c59}.tp-node-active{background:#6db88a;border:2px solid #fff}.tp-node-locked{background:#2a2a2a}.tp-node-done-light{background:#4a7c59}.tp-node-active-light{background:#fff;border:2px solid #4a7c59}.tp-node-locked-light{background:#ddd;border:1px solid #bbb}.tp-node-eink-done{background:#000}.tp-node-eink-active{background:#fff;border:2px solid #000}.tp-node-eink-locked{background:#e0e0e0;border:1px dashed #888}.tp-quiz{flex-direction:column;flex-shrink:0;gap:2px;padding:3px 4px;display:flex}.tp-quiz-light{border-top:1px solid #c8c8c8}.tp-quiz-eink{border-top:2px solid #000}.tp-answer{background:#2a2a2a;border-radius:2px;height:5px}.tp-answer-sel{background:#4a7c59}.tp-answer-light{background:#ddd}.tp-answer-sel-light{background:#4a7c59}.tp-answer-eink{background:#ccc;border:1px solid #888}.tp-answer-eink-sel{background:#000}.burger-btn{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:flex}.burger-btn span{background:var(--color-text);border-radius:2px;width:22px;height:2px;display:block}.menu-overlay{z-index:200;opacity:0;pointer-events:none;background:#0009;transition:opacity .2s;position:fixed;inset:0}.menu-overlay-visible{opacity:1;pointer-events:all}.burger-menu{background:var(--color-surface);border-left:1px solid var(--color-border);z-index:300;width:82%;max-width:360px;transition:transform .25s;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}.burger-menu-open{transform:translate(0)}.burger-menu-inner{flex-direction:column;gap:0;min-height:100%;padding:1rem;display:flex}.burger-close{color:var(--color-muted);cursor:pointer;background:0 0;border:none;align-self:flex-end;margin-bottom:.5rem;padding:.25rem;font-size:1.1rem}.menu-section{border-bottom:1px solid var(--color-border)}.menu-section:last-child{border-bottom:none}.menu-section-header{width:100%;color:var(--color-text);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:1rem 0;font-size:.95rem;font-weight:600;display:flex}.menu-chevron{color:var(--color-muted);font-size:.7rem}.menu-section-body{flex-direction:column;gap:.625rem;padding-bottom:1.25rem;display:flex}.account-info{align-items:center;gap:.75rem;margin-bottom:.25rem;display:flex}.account-avatar{background:var(--color-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;font-weight:700;display:flex}.account-name{font-size:.95rem;font-weight:600}.menu-auth-hint{margin-bottom:.25rem}.menu-standalone{padding:.75rem 1rem}.menu-item-btn-spaced{margin-top:.5rem}.menu-item-btn{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;text-align:left;background:0 0;border-radius:8px;align-items:center;gap:.5rem;width:100%;padding:.625rem .875rem;font-size:.9rem;display:flex}.menu-item-danger{color:#c0524e;border-color:#8b3a3a}.menu-item-btn-row{justify-content:space-between}.menu-item-btn-label,.menu-section-header-label{align-items:center;gap:.5rem;display:flex}.menu-reports-badge{color:#fff;text-align:center;background:#c0392b;border-radius:99px;min-width:1.3em;padding:.2em .45em;font-size:.7rem;font-weight:700;line-height:1}.menu-subsection-label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);margin-top:.5rem;font-size:.75rem;font-weight:600}.achievement-list{flex-direction:column;gap:.625rem;margin-bottom:.5rem;list-style:none;display:flex}.achievement-item{align-items:flex-start;gap:.625rem;display:flex}.achievement-locked{opacity:.4}.achievement-icon{color:var(--color-accent);flex-shrink:0;font-size:1rem;line-height:1.4}.achievement-title{font-size:.875rem;font-weight:500}.learned-list{flex-direction:column;gap:.375rem;list-style:none;display:flex}.learned-item{align-items:center;gap:.5rem;font-size:.875rem;display:flex}.auth-page{max-width:100%}.auth-confirm{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem 0;display:flex}.auth-confirm-icon{margin:0 auto;display:block}.auth-confirm-title{font-size:1.3rem;font-weight:700}.auth-confirm-text{font-size:.95rem;line-height:1.6}.auth-confirm-hint{font-size:.82rem}.auth-form{flex-direction:column;gap:1rem;display:flex}.form-field{flex-direction:column;gap:.375rem;display:flex}.form-label{font-size:.875rem;font-weight:500}.form-input{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:8px;outline:none;width:100%;padding:.75rem 1rem;font-size:1rem}.form-input:focus{border-color:var(--color-accent)}.form-input::placeholder{color:var(--color-muted)}.input-error{border-color:#8b3a3a!important}.field-error{color:#c0524e;font-size:.8rem}.field-success{color:#4a7c59;font-size:.8rem}.profile-avatar-row{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.profile-avatar{flex-shrink:0;width:3rem;height:3rem;font-size:1.25rem}.profile-page-avatar-wrap{flex-shrink:0;position:relative}.profile-page-avatar-cam{background:var(--color-surface);border:1.5px solid var(--color-border);width:22px;height:22px;color:var(--color-text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;bottom:-2px;right:-2px}.profile-page-avatar-cam:disabled{opacity:.5;cursor:default}.profile-section-title{margin-bottom:.25rem;font-size:1rem;font-weight:600}.code-input{letter-spacing:.15em;text-align:center;text-transform:uppercase;font-family:ui-monospace,monospace;font-size:1.25rem}.muted{color:var(--color-muted);font-size:.85rem}.empty-state{color:var(--color-muted);padding:1rem 0;font-size:.9rem;list-style:none}.search-wrapper{width:100%}.search-input{background:var(--color-surface);border:1px solid var(--color-border);width:100%;color:var(--color-text);border-radius:8px;outline:none;padding:.75rem 1rem;font-size:1rem}.search-input:focus{border-color:var(--color-accent)}.search-input::placeholder{color:var(--color-muted)}.home-header{flex-direction:column;gap:.25rem;display:flex}.landing{gap:0;padding:0}.lp-root{flex-direction:column;display:flex}.lp-hero{background:linear-gradient(170deg, var(--color-surface) 0%, var(--color-bg) 70%);border-bottom:1px solid var(--color-border);flex-direction:column;gap:1rem;padding:3rem 1.25rem 2.5rem;display:flex;position:relative;overflow:hidden}.lp-hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#ed57552e 0%,#0000 70%);border-radius:50%;width:220px;height:220px;position:absolute;top:-60px;right:-60px}.lp-wordmark{font-size:1.15rem}.lp-title{letter-spacing:-.03em;font-size:2.4rem;font-weight:900;line-height:1.1}.lp-subtitle{color:var(--color-muted);max-width:36ch;font-size:.93rem;line-height:1.65}.lp-hero-btns{gap:.65rem;display:flex}.lp-hero-btns .btn-primary,.lp-hero-btns .btn-ghost{flex:1}.lp-hero-cta{font-weight:700}.lp-login-hint{color:var(--color-muted);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:.82rem}.lp-login-hint:hover{color:var(--color-text)}.lp-section{border-bottom:1px solid var(--color-border);padding:1.75rem 1.25rem}.lp-sec-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);margin-bottom:1rem;font-size:.72rem;font-weight:700}.lp-demo-card{background:var(--color-surface);border:1.5px solid var(--color-accent);cursor:pointer;border-radius:16px;flex-direction:column;gap:.55rem;padding:1.25rem;transition:box-shadow .2s;display:flex;box-shadow:0 0 0 4px #ed575514}.lp-demo-card:hover{box-shadow:0 0 0 6px #ed575526}.lp-demo-badge{letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent);font-size:.72rem;font-weight:700}.lp-demo-title{font-size:1.15rem;font-weight:800}.lp-demo-desc{color:var(--color-muted);font-size:.88rem;line-height:1.6}.lp-demo-arrow{color:var(--color-accent);margin-top:.25rem;font-size:.88rem;font-weight:700}.lp-steps{flex-direction:column;gap:1.25rem;display:flex}.lp-step{align-items:flex-start;gap:1rem;display:flex}.lp-step-num{background:var(--color-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;font-weight:800;display:flex}.lp-step-body{flex-direction:column;gap:.25rem;display:flex}.lp-step-title{font-size:.97rem;font-weight:700}.lp-step-desc{font-size:.86rem;line-height:1.6}.lp-features{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.lp-feature{background:var(--lf-color)}@supports (color:color-mix(in lab, red, red)){.lp-feature{background:color-mix(in srgb, var(--lf-color) 8%, var(--color-surface))}}.lp-feature{border:1px solid var(--lf-color)}@supports (color:color-mix(in lab, red, red)){.lp-feature{border:1px solid color-mix(in srgb, var(--lf-color) 25%, var(--color-border))}}.lp-feature{border-radius:14px;flex-direction:column;gap:.4rem;padding:1rem;display:flex}.lp-feature-icon{font-size:1.5rem}.lp-feature-title{font-size:.88rem;font-weight:700}.lp-feature-desc{font-size:.8rem;line-height:1.55}.lp-pricing-section{background:var(--color-surface)}.lp-pricing-title{margin-bottom:1.25rem;font-size:1.2rem;font-weight:800}.lp-plans{flex-direction:column;gap:.75rem;display:flex}.lp-plan{border:1px solid var(--color-border);background:var(--color-bg);border-radius:16px;flex-direction:column;gap:.65rem;padding:1.25rem;display:flex;position:relative}.lp-plan-featured{border-color:var(--color-accent);background:#2c252c}@supports (color:color-mix(in lab, red, red)){.lp-plan-featured{background:color-mix(in srgb, var(--color-accent) 5%, var(--color-bg))}}.lp-plan-featured{box-shadow:0 0 0 3px #ed57551a}.lp-plan-badge{background:var(--color-accent);color:#fff;letter-spacing:.06em;border-radius:20px;padding:2px 10px;font-size:.7rem;font-weight:700;position:absolute;top:-11px;left:1.25rem}.lp-plan-name{text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);font-size:.8rem;font-weight:700}.lp-plan-price-row{align-items:baseline;gap:.25rem;display:flex}.lp-plan-price{letter-spacing:-.02em;font-size:1.6rem;font-weight:900}.lp-plan-period{color:var(--color-muted);font-size:.85rem}.lp-plan-alt{color:var(--color-muted);align-items:center;gap:.4rem;font-size:.82rem;display:flex}.lp-plan-save{color:var(--color-teal);background:#0ea6b12e;border-radius:20px;padding:2px 7px;font-size:.72rem;font-weight:700}.lp-plan-note{font-size:.82rem}.lp-plan-perks{flex-direction:column;gap:.35rem;margin:0;padding:0;font-size:.84rem;list-style:none;display:flex}.lp-plan-perks li{align-items:center;gap:.4rem;display:flex}.lp-plan-perks li.ok:before{content:"✓";color:var(--color-teal);font-weight:700}.lp-plan-perks li.no{color:var(--color-muted)}.lp-plan-perks li.no:before{content:"✗";color:var(--color-muted)}.lp-plan-btn{margin-top:.25rem}.lp-plan-featured .lp-plan-perks li.ok:before{color:var(--color-accent)}.lp-cta-final{background:linear-gradient(170deg, var(--color-surface) 0%, var(--color-bg) 100%);border-bottom:1px solid var(--color-border);flex-direction:column;gap:.75rem;padding:2rem 1.25rem 2.5rem;display:flex}.lp-cta-title{letter-spacing:-.02em;font-size:1.4rem;font-weight:900}.lp-cta-desc{font-size:.88rem;line-height:1.55}.lp-cta-btns{gap:.65rem;display:flex}.lp-cta-btns .btn-primary,.lp-cta-btns .btn-ghost{flex:1}.lp-footer{background:var(--color-surface);flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1.25rem 2rem;display:flex}.lp-footer-brand{color:var(--color-muted);font-size:.78rem}.brand-wordmark{letter-spacing:-.01em;white-space:nowrap;font-weight:800}.brand-wordmark-dot{background:var(--color-teal);vertical-align:baseline;border-radius:50%;width:.26em;height:.26em;margin:0 .03em;display:inline-block}.install-drawer-backdrop{z-index:400;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.install-drawer{background:var(--color-surface);border-top:1px solid var(--color-border);width:100%;max-width:440px;padding:1.4rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom,0px));text-align:center;border-radius:18px 18px 0 0;flex-direction:column;align-items:center;gap:.7rem;animation:.25s cubic-bezier(.4,0,.2,1) install-slide-up;display:flex}@media (width>=640px){.install-drawer-backdrop{align-items:center}.install-drawer{border:1px solid var(--color-border);border-radius:18px}}.install-drawer-icon{border-radius:15px;display:block}.install-drawer-title{font-size:1.3rem}.install-drawer-text{color:var(--color-muted);margin:0;font-size:.9rem;line-height:1.5}.install-drawer-actions{gap:.6rem;width:100%;margin-top:.5rem;display:flex}.install-drawer-actions>button{flex:1}@keyframes install-slide-up{0%{opacity:.4;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.lp-footer-links{gap:1.25rem;display:flex}.lp-footer-links a{color:var(--color-muted);font-size:.78rem;text-decoration:none}.lp-footer-links a:hover{color:var(--color-text);text-decoration:underline}.lp-cookie{background:var(--color-surface);border-top:1px solid var(--color-border);z-index:800;flex-direction:column;gap:.6rem;padding:.9rem 1.1rem;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #00000040}.lp-cookie-text{color:var(--color-muted);font-size:.8rem;line-height:1.5}.lp-cookie-row{align-items:center;gap:1rem;display:flex}.lp-cookie-ok{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.4rem 1rem;font-size:.84rem;font-weight:700}.lp-cookie-more{color:var(--color-muted);font-size:.8rem;text-decoration:none}.lp-cookie-more:hover{color:var(--color-text)}.legal-page h1{margin-bottom:1.5rem}.legal-page h2{margin:1.5rem 0 .5rem;font-size:1rem;font-weight:700}.legal-page p,.legal-page li{color:var(--color-muted);font-size:.9rem;line-height:1.7}.legal-page ul{margin:.5rem 0;padding-left:1.25rem}.legal-page strong{color:var(--color-text)}.legal-notice{color:var(--color-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;margin-top:2rem;padding:1rem;font-size:.82rem;font-style:italic}.dashboard{gap:1.75rem}.dashboard-greeting h1{font-size:1.5rem;font-weight:800}.dashboard-section{flex-direction:column;gap:.75rem;display:flex}.dashboard-section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);font-size:.8rem;font-weight:700}.dashboard-achievement-count{text-transform:none;letter-spacing:0;font-weight:400}.dashboard-empty{font-size:.9rem}.last-course-card{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;border-radius:14px;flex-direction:column;gap:.5rem;padding:1rem 1.1rem;transition:border-color .15s;display:flex}.last-course-card:active{border-color:var(--color-accent)}.last-course-meta{font-size:.75rem}.last-course-title{font-size:1rem;font-weight:600}.last-course-progress{flex-direction:column;gap:.3rem;display:flex}.last-course-count{font-size:.8rem}.dashboard-section-header{justify-content:space-between;align-items:center;display:flex}.dashboard-section-header .dashboard-section-title{margin:0}.dashboard-link{color:var(--color-accent);white-space:nowrap;align-self:flex-start;font-size:.88rem;font-weight:600;text-decoration:none}.dashboard-link:hover{text-decoration:underline}.dashboard-link-btn{color:var(--color-accent);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.88rem;font-weight:600}.dashboard-link-btn:hover{text-decoration:underline}.course-carousel-wrap{position:relative;overflow:hidden}.course-carousel{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.75rem;padding-inline:10%;scroll-padding-inline:10%;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 9% 91%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 9% 91%,#0000 100%)}.course-carousel::-webkit-scrollbar{display:none}.course-carousel.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none;scroll-snap-type:none}.course-carousel-item{scroll-snap-align:center;flex:0 0 220px;display:flex}.course-carousel-item .course-card{flex:1}.all-completed-overlay{z-index:200;background:#0000008c;align-items:flex-end;display:flex;position:fixed;inset:0}.all-completed-sheet{background:var(--color-surface);border-radius:18px 18px 0 0;flex-direction:column;width:100%;max-height:85vh;display:flex;overflow:hidden}.all-completed-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.1rem .75rem;display:flex}.all-completed-title{margin:0;font-size:1.05rem;font-weight:700}.all-completed-close{color:var(--color-muted);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.1rem}.all-completed-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;padding:1rem;display:grid;overflow-y:auto}.completed-course-card{cursor:default}.completed-course-top{cursor:pointer;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.completed-badge{color:#4caf7d;flex-shrink:0;font-size:1rem;font-weight:700}.completed-superquiz-btn{width:100%;margin-top:.6rem;font-size:.88rem}.dashboard-achievement-row{gap:.6rem;padding-bottom:.25rem;list-style:none;display:flex;overflow-x:auto}.dashboard-achievement-item{flex-direction:column;flex-shrink:0;align-items:center;gap:.35rem;width:4.5rem;display:flex}.dashboard-achievement-item.locked{opacity:.35}.dashboard-achievement-badge{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:1.3rem;display:flex}.dashboard-achievement-item:not(.locked) .dashboard-achievement-badge{background:#4a7c591a;border-color:#4a7c5980}.dashboard-achievement-name{text-align:center;color:var(--color-muted);font-size:.68rem;line-height:1.3}.dashboard-achievement-empty{font-size:.85rem;list-style:none}.achievements-count{margin:.25rem 0 1.25rem}.achievement-page-list{flex-direction:column;list-style:none;display:flex}.achievement-page-item{border-bottom:1px solid var(--color-border);opacity:.4;align-items:center;gap:1rem;padding:.85rem 0;display:flex}.achievement-page-item.is-unlocked{opacity:1}.achievement-page-left{flex-shrink:0;align-items:center;gap:.6rem;min-width:9rem;display:flex}.achievement-page-icon{font-size:1.4rem;line-height:1}.achievement-page-title{font-size:.9rem;font-weight:600}.achievement-page-desc{color:var(--color-muted);font-size:.82rem;line-height:1.4}.card-list{flex-direction:column;gap:.75rem;list-style:none;display:flex}.categories-section-label{margin:1rem 0 .25rem}.categories-course-category{margin-bottom:.15rem}.card{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem;transition:border-color .15s;display:flex}.card:active{border-color:var(--color-accent)}.card-body{flex-direction:column;gap:.25rem;display:flex}.card-meta{color:var(--color-muted);white-space:nowrap;font-size:.8rem}.card-title-row{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}.card-title-row h2{margin:0}.course-source-badge{letter-spacing:.04em;text-transform:uppercase;color:#82aee8;background:#648cc82e;border-radius:4px;flex-shrink:0;margin-top:.2rem;padding:.15em .5em;font-size:.65rem;font-weight:600;display:inline-block}.course-badge-original{color:#a78bfa;background:#a78bfa26}.course-card-badges{flex-wrap:wrap;flex-shrink:0;align-items:flex-start;gap:.25rem;display:flex}.course-lang-badge{letter-spacing:.05em;color:var(--color-muted);background:#ffffff12;border-radius:4px;flex-shrink:0;margin-top:.2rem;padding:.15em .45em;font-size:.6rem;font-weight:700;display:inline-block}html.light .course-lang-badge{background:#00000012}.course-audience-badge{letter-spacing:.04em;color:#818cf8;background:#6366f126;border-radius:4px;flex-shrink:0;margin-top:.2rem;padding:.15em .45em;font-size:.6rem;font-weight:700;display:inline-block}html.light .course-audience-badge{color:#4f46e5;background:#6366f11a}.course-card-cover{object-fit:cover;width:100%;height:100%;display:block}.course-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.85rem;display:grid}.course-card{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;border-radius:12px;flex-direction:column;transition:border-color .15s;display:flex;overflow:hidden}.course-card:active{border-color:var(--color-accent)}.course-card-skeleton{pointer-events:none;background:linear-gradient(90deg, var(--color-surface) 25%, var(--color-border) 50%, var(--color-surface) 75%);background-size:200% 100%;min-height:220px;animation:1.4s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.course-card-thumb{aspect-ratio:1;background:var(--color-bg);justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.course-card-body{flex-direction:column;flex:1;gap:.25rem;padding:.65rem .75rem .8rem;display:flex}.course-card-category{font-size:.72rem}.course-card-title-row{align-items:flex-start;gap:.3rem;display:flex}.course-card-title{flex:1;font-size:.9rem;font-weight:700;line-height:1.3}.course-card-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.76rem;line-height:1.35;display:-webkit-box;overflow:hidden}.course-card-progress{flex-direction:column;gap:.25rem;margin-top:.2rem;display:flex}.course-card-count{font-size:.72rem}.course-card-superquiz{margin-top:.35rem;padding:.3rem .6rem;font-size:.75rem}.cat-page-with-banner{padding-top:0!important}.cat-banner{background-position:50%;background-size:cover;flex-shrink:0;height:160px;margin:0 -1rem;position:relative;overflow:hidden}.cat-banner:after{content:"";background:linear-gradient(#00000026 0%,#000000b3 100%);position:absolute;inset:0}.cat-banner-back{z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#00000059;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:absolute;top:14px;left:14px}.cat-banner-text{z-index:2;position:absolute;bottom:16px;left:16px;right:16px}.cat-banner-super{color:#ffffffa6;letter-spacing:.04em;text-transform:uppercase;margin-bottom:3px;font-size:11px;font-weight:600}.cat-banner-title{color:#fff;letter-spacing:-.02em;font-size:22px;font-weight:800;line-height:1.1}.course-card-placeholder{width:100%;height:100%;color:var(--color-text-muted);background:var(--color-bg);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:3rem;font-weight:700;display:flex}.course-card-banner{aspect-ratio:2.8;background:var(--color-bg);flex-shrink:0;width:100%;position:relative;overflow:hidden}.course-card-banner img{object-fit:cover;width:100%;height:100%;display:block}.course-card-banner-thumb{border:2px solid var(--color-surface);background:var(--color-surface);border-radius:8px;width:36px;height:36px;position:absolute;bottom:7px;right:7px;overflow:hidden}.course-card-banner-thumb img{object-fit:cover;width:100%;height:100%;display:block}html.eink .course-card{border-color:#000}html.eink .course-card-thumb{background:#e8e8e8}.skill-tree-header{margin-bottom:.75rem;position:relative}.skill-tree-btn{z-index:2;background:var(--color-surface);border:1px solid var(--color-border);width:44px;height:44px;color:var(--color-text);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.35rem;font-weight:700;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.skill-tree-header>button:first-child{left:.5rem}.skill-tree-header>button:last-child{right:.5rem}.skill-tree-btn:active{background:var(--color-border)}.skill-tree-compact{width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 32% 68%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 32% 68%,#0000 100%)}.skill-tree-root{width:100%;overflow:hidden}.skill-tree-header-root{margin-bottom:.75rem;position:relative}.skill-tree-header-root>button:last-child{position:absolute;top:.5rem;right:.5rem}.node-root-split{align-items:flex-start;gap:.5rem;margin-bottom:.25rem;display:flex}.node-root-split-img{aspect-ratio:1;border-radius:.75rem;flex:1;min-width:0;overflow:hidden}.node-root-split-img img{object-fit:cover;width:100%;height:100%;display:block}.node-root-split-tree{aspect-ratio:1;flex:1;min-width:0}.node-root-split-tree .skill-tree-header-root{height:100%;margin-bottom:0}.node-root-split-tree .skill-tree-root,.node-root-split-tree .skill-tree-root svg{height:100%}.skill-tree-fullscreen{background:var(--color-bg);z-index:400;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.skill-tree-fullscreen:active{cursor:grabbing}.skill-tree-fs-title-group{z-index:10;pointer-events:none;flex-direction:column;align-items:center;gap:.35rem;display:flex;position:absolute;top:1rem;left:50%;transform:translate(-50%)}.skill-tree-fs-title-badge{z-index:auto;color:#ffffffe6;letter-spacing:.03em;pointer-events:none;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008c;border:1px solid #ffffff1f;border-radius:999px;padding:.4rem 1.1rem;font-size:.9rem;font-weight:600;position:static;transform:none}html.light .skill-tree-fs-title-badge{color:#000c;background:#ffffffbf;border-color:#0000001a}.skill-tree-fs-progress-badge{color:#fffffff2;letter-spacing:.03em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);white-space:nowrap;background:#0ea6b1bf;border:1px solid #ffffff26;border-radius:20px;padding:.2rem .7rem;font-size:.72rem;font-weight:600}html.light .skill-tree-fs-progress-badge{color:#fff;background:#0ea6b1e6}.skill-tree-fs-close{z-index:10;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.4rem;display:flex;position:absolute;top:1rem;right:1rem}.skill-tree-fs-close:active{background:var(--color-border)}.drill-depth-dots{bottom:calc(env(safe-area-inset-bottom,0px) + 5.5rem);z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;background:#0006;border-radius:20px;align-items:center;gap:5px;padding:5px 10px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.drill-depth-dot{background:#ffffff47;border-radius:50%;flex-shrink:0;width:6px;height:6px;transition:background .25s,transform .25s}.drill-depth-dot--active{background:#ffffffe6;transform:scale(1.35)}.drill-depth-label{color:#ffffffa6;white-space:nowrap;margin-left:3px;font-size:.65rem;font-weight:700}.drill-fractal-back{z-index:10;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-accent);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);-webkit-tap-highlight-color:transparent;border-radius:20px;max-width:calc(100vw - 9rem);padding:.45rem 1rem;font-size:.85rem;font-weight:600;position:absolute;top:1rem;left:1rem;overflow:hidden}.drill-fractal-back:active{opacity:.7}.drill-fractal-nav-btn{bottom:calc(env(safe-area-inset-bottom,0px) + 1.2rem);z-index:10;background:var(--color-accent);color:#fff;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;-webkit-tap-highlight-color:transparent;border:none;border-radius:20px;max-width:70vw;padding:.55rem 1.1rem;font-size:.85rem;font-weight:700;position:absolute;right:1rem;overflow:hidden;box-shadow:0 2px 14px #7c3aed59}.drill-fractal-nav-btn:active{opacity:.85;transform:scale(.97)}.drill-fractal-nav-btn--locked{background:var(--color-surface);color:var(--color-muted);box-shadow:none;border:1px solid var(--color-border);opacity:.75}.drill-fractal-nav-btn--locked:active{opacity:.6}.skill-tree-fs-inner{transform-origin:50%;-webkit-user-select:none;user-select:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(1)}.skill-tree-confirm{z-index:10;background:#0000008c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.skill-tree-confirm-box{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;gap:1rem;width:min(320px,85vw);padding:1.25rem 1.5rem;display:flex}.skill-tree-confirm-text{text-align:center;font-size:1rem}.skill-tree-confirm-actions{flex-direction:column;gap:.5rem;display:flex}.skill-tree-confirm-yes{font-size:.95rem}.course-back-link{color:var(--color-muted);margin-bottom:.6rem;font-size:.85rem;text-decoration:none;display:inline-block}.course-back-link:active{opacity:.6}.breadcrumb{white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:center;gap:0;margin-bottom:.75rem;display:flex;overflow-x:auto}.breadcrumb::-webkit-scrollbar{display:none}.breadcrumb-item{align-items:center;display:inline-flex}.breadcrumb-sep{color:var(--color-muted);-webkit-user-select:none;user-select:none;padding:0 .3rem;font-size:.8rem}.breadcrumb-link{color:var(--color-accent);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;max-width:9rem;padding:0;font-size:.8rem;overflow:hidden}.breadcrumb-link:active{opacity:.7}.breadcrumb-ellipsis{color:var(--color-muted);cursor:pointer;letter-spacing:.05em;background:0 0;border:none;padding:0 .1rem;font-size:.8rem}.breadcrumb-ellipsis:hover{color:var(--color-accent)}.breadcrumb-current{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;max-width:10rem;font-size:.8rem;overflow:hidden}.node-list{flex-direction:column;gap:0;list-style:none;display:flex}.node-entry{border-bottom:1px solid var(--color-border);cursor:pointer;flex-direction:column;gap:.5rem;padding:1rem 0;display:flex}.node-entry:first-child{border-top:1px solid var(--color-border)}.node-entry-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.node-title{flex:1;font-size:1rem;font-weight:500}.node-entry-badges{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.badge-passed{color:var(--color-accent);font-size:.85rem;font-weight:700}.relevance-pill{letter-spacing:.03em;white-space:nowrap;border-radius:999px;padding:.15rem .45rem;font-size:.68rem;font-weight:600}.relevance-pill-core{color:#7ddba0;background:#4a7c5933;border:1px solid #4a7c5959}.relevance-pill-extended{color:#d4a84b;background:#a0783033;border:1px solid #a0783059}.relevance-pill-deep{color:#a78bfa;background:#7c3aed33;border:1px solid #7c3aed59}.relevance-filter{gap:.5rem;margin-bottom:1rem;display:flex}.relevance-filter-btn{border:1px solid var(--color-border);color:var(--color-muted);cursor:pointer;background:0 0;border-radius:8px;flex:1;padding:.45rem .5rem;font-size:.8rem;font-weight:500;transition:background .15s,color .15s,border-color .15s}.relevance-filter-btn.active.relevance-filter-core{color:#7ddba0;background:#4a7c592e;border-color:#4a7c5980}.relevance-filter-btn.active.relevance-filter-extended{color:#d4a84b;background:#a078302e;border-color:#a0783080}.relevance-filter-btn.active.relevance-filter-deep{color:#a78bfa;background:#7c3aed2e;border-color:#7c3aed80}.node-entry-progress{flex-direction:column;gap:.25rem;display:flex}.node-card-list{flex-direction:column;gap:.75rem;display:flex}.node-card{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;border-radius:12px;transition:border-color .15s;overflow:hidden}.node-card:active{border-color:var(--color-accent)}.node-card-header{padding:.65rem .75rem .3rem}.node-card-title-row{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.node-card-title{flex:1;font-size:.92rem;font-weight:600;line-height:1.3}.node-card-badges{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.node-card-tree-row{align-items:center;padding:0 .25rem 0 .75rem;display:flex}.node-card-tree{flex:1;min-width:0;height:28px;overflow:hidden}.node-card-footer{align-items:center;gap:.5rem;padding:.15rem .75rem .5rem;display:flex}.node-card-progress{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.node-card-progress .progress-bar{flex:1}.node-card-count{white-space:nowrap;font-size:.7rem}.node-card-tree-btn{color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;align-items:center;padding:.3rem;display:flex}.node-card-tree-btn:active{color:var(--color-accent)}html.light .node-card{background:var(--color-surface)}html.eink .node-card{border-color:#000}.progress-bar{background:var(--color-border);border-radius:2px;height:3px;overflow:hidden}.progress-fill{background:var(--color-accent);transform-origin:0;width:100%;height:100%;transform:scaleX(var(--pct,0));border-radius:2px;transition:transform .3s}.progress-label{font-size:.75rem}.node-entry-progress .progress-bar,.node-entry-progress-bar{background:#3a3a3a;border-radius:3px;height:6px;overflow:hidden}.node-entry-progress .progress-fill,.node-entry-progress-bar .progress-fill{background:var(--color-accent);border-radius:3px}html.light .node-entry-progress .progress-bar,html.light .node-entry-progress-bar{background:#d0d0d0}html.eink .node-entry-progress .progress-bar,html.eink .node-entry-progress-bar{background:#d8d8d8!important}html.eink .node-entry-progress .progress-fill,html.eink .node-entry-progress-bar .progress-fill{background:#1a1a1a!important}.course-card-progress{flex-direction:column;gap:.3rem;padding-top:.25rem;display:flex}body.node-body{max-width:100%;margin-left:0;margin-right:0}body.node-body .top-bar{max-width:100%}.node-page{padding-top:0!important;padding-left:0!important;padding-right:0!important}@media (width>=640px){.node-page{padding-left:1.5rem!important;padding-right:1.5rem!important}}.node-header{align-items:center;gap:.5rem;display:flex}.node-hero{flex-shrink:0;width:100%;height:480px;position:relative;overflow:hidden}.node-hero-img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.node-hero-gradient{background:linear-gradient(to bottom, transparent 0%, transparent 40%, var(--color-bg) 100%);pointer-events:none;height:50px;position:absolute;bottom:0;left:0;right:0}.node-hero-footer{justify-content:space-between;align-items:center;gap:.5rem;display:flex;position:absolute;bottom:.75rem;left:1rem;right:1rem}.node-hero-title{color:#fff;text-shadow:0 1px 4px #000,0 2px 10px #000c;flex:1;margin:0;font-size:1.3rem;font-weight:700;line-height:1.3}.node-hero-actions{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.skill-tree-hero-btn{border:1.5px solid var(--color-border);cursor:pointer;z-index:5;background:#1e1e1e;border-radius:50%;flex-shrink:0;width:80px;height:80px;padding:0;position:absolute;top:.85rem;right:.85rem;overflow:hidden;box-shadow:0 2px 8px #0009}.skill-tree-hero-btn:active{filter:brightness(1.15)}.explanation{flex-direction:column;gap:1rem;line-height:1.7;display:flex}@media (width<=639px){.node-header,.explanation,.quiz-section,.report-section,.children-section{padding-left:1rem;padding-right:1rem}}.summary-mode-bar{background:var(--color-surface-alt,#ffffff0a);border:1px solid var(--color-border);border-radius:8px;gap:.25rem;width:fit-content;padding:.25rem;display:flex}.summary-mode-btn{color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.3rem .75rem;font-size:.78rem;font-weight:500;transition:background .15s,color .15s}.summary-mode-btn:hover{color:var(--color-text)}.summary-mode-btn.active{background:var(--color-surface);color:var(--color-text);font-weight:600;box-shadow:0 1px 3px #00000040}.node-image{border:1px solid var(--color-border);border-radius:.75rem;width:100%;height:auto;display:block}.node-image-clickable{cursor:zoom-in}.node-image-broken{border:1px dashed var(--color-border);background:var(--color-bg);border-radius:.75rem;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;width:100%;height:80px;display:flex}.node-image-broken-icon{opacity:.4;font-size:1.5rem}.nig-img{border:1px solid var(--color-border);border-radius:.75rem;width:100%;height:auto;display:block}.nig-img-clickable{cursor:zoom-in}.nig-sidebar{flex-direction:column;gap:.75rem;display:flex}.nig-sidebar-item{flex-direction:column;gap:.25rem;display:flex}.nig-carousel{flex-direction:column;gap:.5rem;display:flex}.nig-track{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.5rem;display:flex;overflow-x:auto}.nig-track::-webkit-scrollbar{display:none}.nig-slide{scroll-snap-align:start;flex-direction:column;flex:0 0 100%;gap:.25rem;display:flex}.nig-dots{justify-content:center;gap:.4rem;display:flex}.nig-dot{background:var(--color-border);cursor:pointer;border:none;border-radius:50%;width:7px;height:7px;padding:0;transition:background .2s}.nig-dot-active{background:var(--color-accent)}.img-attribution{color:var(--color-muted);margin:0;font-size:.7rem;line-height:1.3}.img-attribution a{color:inherit;text-decoration:underline}u{-webkit-text-decoration-color:var(--color-accent);-webkit-text-decoration-color:var(--color-accent);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:2px}.speech-error{color:#e55;margin:0;font-size:.72rem}.reading-player-wrap{display:block}.reading-player{z-index:200;padding:.5rem 1rem calc(.6rem + env(safe-area-inset-bottom,0px));background:var(--color-surface);border-top:1px solid var(--color-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;gap:.3rem;display:flex;position:fixed;bottom:0;left:0;right:0}.rp-controls{align-items:center;gap:.65rem;display:flex}.rp-error{color:var(--color-error,#e05a5a);margin:0;padding:0;font-size:.78rem}.rp-play-btn{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;transition:opacity .15s;display:flex}.rp-play-btn:disabled{opacity:.5;cursor:default}.rp-play-btn:not(:disabled):hover{opacity:.85}.rp-timeline{flex:1;align-items:center;display:flex;position:relative}.rp-markers{pointer-events:none;height:0;position:absolute;top:50%;left:0;right:0}.rp-marker{background:var(--color-surface);border:1.5px solid var(--color-muted);width:22px;height:22px;color:var(--color-muted);cursor:pointer;pointer-events:all;z-index:2;border-radius:50%;justify-content:center;align-items:center;font-size:9px;font-weight:700;line-height:1;transition:border-color .15s,background .15s,color .15s;display:flex;position:absolute;transform:translate(-50%,-50%)}.rp-marker:not(:disabled):hover{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.rp-marker:disabled{opacity:.3;cursor:default}.rp-seekbar{appearance:none;cursor:pointer;border:none;border-radius:2px;outline:none;width:100%;height:4px;padding:0}.rp-seekbar:disabled{opacity:.35;cursor:default}.rp-seekbar::-webkit-slider-thumb{appearance:none;background:var(--color-accent);cursor:pointer;border:none;border-radius:50%;width:14px;height:14px}.rp-seekbar::-moz-range-thumb{background:var(--color-accent);cursor:pointer;border:none;border-radius:50%;width:14px;height:14px}.rp-voice-select{background:var(--color-border);color:var(--color-text);cursor:pointer;border:none;border-radius:6px;outline:none;flex-shrink:0;padding:.2rem .4rem;font-size:.78rem}.rp-voice-select:disabled{opacity:.45;cursor:default}.rp-volume{flex-shrink:0;align-items:center;gap:.3rem;display:flex}.rp-vol-icon{color:var(--color-muted);flex-shrink:0}.rp-volume-bar{width:64px}.rp-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:1rem;height:1rem;animation:.7s linear infinite rp-spin;display:block}@keyframes rp-spin{to{transform:rotate(360deg)}}.reading-text{flex-direction:column;gap:0;display:flex}.reading-line{border-radius:6px;margin:0 -.3rem;padding:.05rem .3rem;transition:background .25s;display:block}.reading-line-active{background:#4a7c592e}html.light .reading-line-active{background:#4a7c5924}.explanation-p{margin:.2rem 0;line-height:1.7}.explanation-li{gap:.5em;margin:.15rem 0;line-height:1.7;display:flex}.explanation-li-bullet{color:var(--color-muted);flex-shrink:0;min-width:1.2em}.explanation-inline-img{object-fit:contain;border-radius:.5rem;max-width:100%;margin:.75rem 0;display:block}.explanation-inline-img-clickable{cursor:zoom-in}.explanation-img-caption{background:var(--color-surface-alt,#80808014);border-left:3px solid var(--color-border);color:var(--color-muted);border-radius:0 .25rem .25rem 0;margin:.75rem 0;padding:.5rem .75rem;font-size:.85rem;font-style:italic;display:block}.explanation-img-attribution{color:var(--color-muted);opacity:.8;margin-top:.2rem;margin-bottom:.5rem;font-size:.72rem;display:block}.explanation-heading{color:var(--color-text);margin:1.2rem 0 .3rem;font-size:1rem;font-weight:600}.explanation-subheading{color:var(--color-text);opacity:.85;margin:1rem 0 .25rem;font-size:.9rem;font-weight:600}.explanation-list{margin:0;padding-left:1.25rem;line-height:1.7}.explanation-list li{margin-bottom:.2rem}.rp-word{border-radius:3px;transition:background-color .12s;display:inline}.rp-word-read{background:#34d39947}.rp-word-active{color:#0b1a12;background:#34d399b8;box-shadow:0 0 0 2px #34d399b8}html.light .rp-word-read{background:#2d643c2e}html.light .rp-word-active{background:#2d643c66}.explanation-mark{color:var(--color-text);background:#fbbf2447;border-radius:3px;padding:0 .15em;font-style:normal}html.light .explanation-mark{background:#d977062e}.explanation-callout{border-left:3px solid;border-radius:.5rem;align-items:flex-start;gap:.6em;margin:.25rem 0;padding:.65rem .85rem;font-size:.93rem;line-height:1.6;display:flex}.callout-emoji{flex-shrink:0;margin-top:.05em;font-size:1rem}.callout-content{flex:1;min-width:0}.explanation-callout-tip{background:#4a7c591f;border-color:#4a7c59}.explanation-callout-warning{background:#ea580c1a;border-color:#ea580c}.explanation-callout-note{background:#6366f11a;border-color:#6366f1}.explanation-callout-example{background:#8b5cf61a;border-color:#8b5cf6}html.light .explanation-callout-tip{background:#4a7c5914}html.light .explanation-callout-warning{background:#ea580c12}html.light .explanation-callout-note{background:#6366f112}html.light .explanation-callout-example{background:#8b5cf612}.explanation-table-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--color-border);border-radius:.4rem;margin:.5rem 0;overflow-x:auto}.explanation-table{border-collapse:collapse;width:100%;min-width:max-content;font-size:.88rem;line-height:1.5}.explanation-table th,.explanation-table td{text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap;padding:.45rem .75rem}.explanation-table th{color:var(--color-text);background:#80808014;font-weight:600}.explanation-table tr:last-child td{border-bottom:none}.explanation-table tr:hover td{background:#8080800a}.explanation-code{border:1px solid var(--color-border);white-space:pre;tab-size:2;background:#0000002e;border-radius:.4rem;margin:.25rem 0;padding:.75rem 1rem;font-family:Fira Code,Consolas,monospace;font-size:.82rem;line-height:1.6;position:relative;overflow-x:auto}.explanation-code code{font-size:inherit;background:0 0;padding:0}.explanation-code-lang{color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;font-family:sans-serif;font-size:.7rem;position:absolute;top:.4rem;right:.6rem}html.light .explanation-code{background:#0000000a}.explanation-code-inline{color:var(--color-text);white-space:nowrap;background:#ffffff1a;border-radius:3px;padding:.1em .35em;font-family:Fira Code,Consolas,monospace;font-size:.82em}html.light .explanation-code-inline{background:#00000012}.hljs-comment,.hljs-quote{color:#6b737e}.hljs-keyword,.hljs-selector-tag,.hljs-type{color:#ff7b72}.hljs-title,.hljs-title\.class_,.hljs-title\.function_{color:#d2a8ff}.hljs-number,.hljs-literal{color:#79c0ff}.hljs-string,.hljs-regexp,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-attr{color:#ffa657}.hljs-variable,.hljs-template-variable{color:#e2b673}.hljs-operator,.hljs-punctuation,.hljs-params{color:#c9d1d9}html.light .hljs-comment,html.light .hljs-quote{color:#6e7781}html.light .hljs-keyword,html.light .hljs-selector-tag,html.light .hljs-type{color:#cf222e}html.light .hljs-title,html.light .hljs-title\.class_,html.light .hljs-title\.function_{color:#8250df}html.light .hljs-number,html.light .hljs-literal{color:#0550ae}html.light .hljs-string,html.light .hljs-regexp,html.light .hljs-meta .hljs-string{color:#0a3069}html.light .hljs-built_in,html.light .hljs-attr,html.light .hljs-variable,html.light .hljs-template-variable{color:#953800}html.light .hljs-operator,html.light .hljs-punctuation{color:#24292f}.mermaid-block{-webkit-overflow-scrolling:touch;margin:.5rem 0;overflow-x:auto}.mermaid-block svg{max-width:100%;height:auto;margin:0 auto;display:block}.mermaid-placeholder{background:#8080800f;border-radius:.4rem;height:6rem;animation:1.4s ease-in-out infinite mermaid-pulse}@keyframes mermaid-pulse{0%,to{opacity:.5}50%{opacity:1}}.math-display-wrap{-webkit-overflow-scrolling:touch;margin:1rem 0;overflow-x:auto}.math-display{text-align:center;display:block}.math-inline{vertical-align:middle;display:inline}.math-placeholder{vertical-align:middle;background:#8080801f;border-radius:3px;width:5rem;height:1.1em;animation:1.4s ease-in-out infinite mermaid-pulse;display:inline-block}.rp-indeterminate{background:var(--color-border);border-radius:2px;width:100%;height:4px;overflow:hidden}.rp-indeterminate-bar{background:var(--color-accent);border-radius:2px;width:40%;height:100%;animation:1.4s ease-in-out infinite rp-slide}@keyframes rp-slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}.quiz-section{flex-direction:column;gap:0;display:flex}.quiz-toggle{width:100%;color:var(--color-text);cursor:pointer;background:linear-gradient(135deg,#4a7c5924 0%,#4a7c5912 100%);border:1.5px solid #4a7c5980;border-radius:12px;align-items:center;gap:.85rem;padding:.8rem .9rem;transition:background .15s,border-color .15s,transform .1s;display:flex}.quiz-toggle:hover{border-color:var(--color-accent);background:linear-gradient(135deg,#4a7c593d 0%,#4a7c5924 100%)}.quiz-toggle:active{transform:scale(.98)}.quiz-toggle-icon{width:40px;height:40px;color:var(--color-accent);background:#4a7c592e;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.quiz-toggle-body{flex-direction:column;flex:1;align-items:flex-start;gap:.1rem;min-width:0;display:flex}.quiz-toggle-label{font-size:.95rem;font-weight:600}.quiz-toggle-meta{color:var(--color-accent);font-size:.78rem;font-weight:500}.quiz-toggle-arrow{color:var(--color-text-muted,var(--color-text));opacity:.4;flex-shrink:0}.quiz{flex-direction:column;gap:1.25rem;padding-top:1rem;display:flex}.quiz-title{display:none}.quiz-questions{flex-direction:column;gap:1.5rem;list-style:none;display:flex}.quiz-question{flex-direction:column;gap:.75rem;display:flex}.quiz-question-text{font-size:.95rem;font-weight:500}.quiz-answers{counter-reset:optidx;flex-direction:column;gap:.625rem;padding:.25rem 0;list-style:none;display:flex}.answer-btn{counter-increment:optidx;text-align:left;background:var(--color-surface);border:1.5px solid var(--color-border);width:100%;color:var(--color-text);cursor:pointer;border-radius:16px;align-items:center;gap:.75rem;padding:.9375rem 1rem;font-size:.875rem;font-weight:600;transition:border-color .15s,background .15s;display:flex}.answer-btn:before{content:counter(optidx, upper-alpha);background:var(--color-surface-2);width:28px;height:28px;color:var(--color-text);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:800;display:flex}.answer-btn-text{text-align:left;flex:1}.answer-btn:not(:disabled):active{border-color:var(--color-teal)}.answer-selected{border-color:var(--color-teal)!important;background:#0ea6b10f!important}.answer-correct{border-color:var(--color-teal)!important;color:var(--color-teal)!important;background:#0ea6b11f!important}.answer-correct:before{background:var(--color-teal)!important;color:#fff!important}.answer-wrong{color:#ed5755f2!important;background:#ed575514!important;border-color:#ed575566!important}.answer-wrong:before{background:var(--color-accent)!important;color:#fff!important}.answer-correct-missed{color:var(--color-muted)!important;background:#0ea6b10d!important;border-style:dashed!important;border-color:#0ea6b180!important}.answer-wrong-missed{color:var(--color-muted)!important;border:1.5px dashed #ed575580!important}.answer-badge{white-space:nowrap;border-radius:4px;flex-shrink:0;padding:.15rem .4rem;font-size:.65rem;font-weight:700}.answer-badge-correct{color:#7ddba0;background:#5aad7840}.answer-badge-wrong{color:#e07a77;background:#c0524e40}html.light .answer-badge-correct{color:#235c35;background:#4a7c5933}html.light .answer-badge-wrong{color:#7a1e1b;background:#c0524e26}.quiz-feedback{font-size:.8rem}.feedback-ok{color:var(--color-accent)}.feedback-fail{color:#c0524e}.quiz-result{flex-direction:column;gap:.75rem;padding-top:.25rem;display:flex}.quiz-result p{font-size:.9rem}.quiz-result-passed p{color:var(--color-accent)}.quiz-result-failed p{color:#c0524e}.btn-primary{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1.25rem;font-size:.95rem;font-weight:600;display:flex}.btn-primary:disabled{opacity:.35;cursor:not-allowed}.btn-ghost{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.625rem 1rem;font-size:.9rem;display:flex}.children-heading{margin-bottom:.5rem}.locked-hint{margin-bottom:.75rem}.child-nav-list{flex-direction:column;gap:0;list-style:none;display:flex}.child-nav-btn{border:none;border-bottom:1px solid var(--color-border);width:100%;color:var(--color-text);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:.5rem;padding:.875rem 0;font-size:.95rem;transition:color .15s;display:flex}.child-nav-list li:first-child .child-nav-btn{border-top:1px solid var(--color-border)}.child-nav-btn:not(:disabled):hover{color:var(--color-accent,#818cf8)}.child-nav-btn:not(:disabled):active{opacity:.7}.child-nav-locked{opacity:.45;cursor:not-allowed}.child-nav-title{flex:1;font-weight:500}.child-nav-meta{color:var(--color-muted);flex-shrink:0;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.child-nav-arrow{color:var(--color-muted);font-size:1.1rem}.lock-icon{align-items:center;display:flex}.child-card-grid{flex-direction:column;gap:.5rem;list-style:none;display:flex}.child-card{aspect-ratio:16/7;border:1px solid var(--color-border);background:var(--color-surface-alt,#ffffff0d);cursor:pointer;text-align:left;will-change:transform;backface-visibility:hidden;border-radius:.5rem;width:100%;padding:0;transition:transform .2s;display:block;position:relative;overflow:hidden;transform:translateZ(0)}.child-card:not(.child-card-locked):hover{transform:scale(1.025)translateZ(0)}.child-card:not(.child-card-locked):active{transform:scale(.98)translateZ(0)}.child-card-locked{cursor:not-allowed}.child-card-locked .child-card-img{filter:grayscale(.85);opacity:.55}.child-card-shallow{cursor:default;opacity:.5}.child-card-shallow .child-card-footer{background:var(--color-surface-2)}.child-card-shallow-badge{color:var(--color-muted);letter-spacing:.02em;white-space:nowrap;flex-shrink:0;font-size:.65rem;font-weight:600}.child-card-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.child-card-gradient{display:none}.child-card-footer{background:var(--color-surface);border-top:1px solid var(--color-border);align-items:center;gap:.35rem;padding:.45rem .6rem;display:flex;position:absolute;bottom:0;left:0;right:0}.child-card-icon{flex-shrink:0;font-size:.8rem;line-height:1}.child-card-title{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.82rem;font-weight:500;line-height:1.3;overflow:hidden}.child-card-pct{color:var(--color-text);flex-shrink:0;font-size:.78rem;font-weight:500}.child-card-pct-done{color:#16a34a;font-weight:700}.admin-page-header{justify-content:space-between;align-items:center;display:flex}.admin-section-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.admin-section-title{font-size:1.1rem;font-weight:600}.admin-section-collapse-btn{cursor:pointer;width:100%;color:inherit;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.admin-section-collapse-btn:hover .admin-section-title{color:var(--color-accent)}.admin-section-collapse-icon{color:var(--color-muted);margin-left:.5rem;font-size:.75rem}.regen-batch-toggle{margin-top:.6rem}.regen-batch-label{color:var(--color-muted);cursor:pointer;align-items:center;gap:.4rem;font-size:.82rem;display:flex}.regen-batch-label input[type=checkbox]{accent-color:var(--color-accent);width:14px;height:14px}.admin-assign-row{align-items:center;gap:.5rem;display:flex}.admin-assign-row .form-input{flex:1}.admin-form-section{flex-direction:column;gap:1rem;display:flex}.course-picker{flex-direction:column;gap:.4rem;display:flex}.course-picker-row{align-items:flex-start;gap:.5rem;display:flex}.course-picker-input-wrap{flex:1;position:relative}.course-picker-input-wrap .form-input{width:100%}.course-picker-list{z-index:50;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;max-height:220px;margin:0;padding:.25rem 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 16px #0000002e}.course-picker-item{cursor:pointer;padding:.55rem .9rem;font-size:.95rem;transition:background .12s}.course-picker-item:hover{background:var(--color-border)}.course-picker-item-active{background:var(--color-border);font-weight:600}.course-picker-hint{margin:0;font-size:.82rem}.admin-label{color:var(--color-muted);font-size:.8rem;font-weight:500}.admin-list{flex-direction:column;list-style:none;display:flex}.admin-item{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.875rem 0;display:flex}.admin-item-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.admin-item-title{font-size:.95rem;font-weight:500}.admin-item-sub{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.admin-item-actions{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.admin-btn{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;white-space:nowrap;border-radius:.375rem;padding:.3rem .6rem;font-size:.78rem}.admin-btn:active{opacity:.7}.admin-btn-danger{color:#e05c5c;border-color:#e05c5c4d}.admin-btn-add{color:var(--color-accent);border-color:#4a7c5966}.admin-btn-publish{color:#5bbf8a;border-color:#5bbf8a4d}.admin-unpublished-badge{color:#f0b450e6;border:1px solid #f0b4504d;border-radius:4px;align-self:flex-start;padding:.1rem .35rem;font-size:.7rem;font-weight:500}.admin-node-tree{flex-direction:column;list-style:none;display:flex}.admin-node-item{border-left:2px solid var(--color-border);margin-left:.25rem}.admin-node-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem .75rem;display:flex}.admin-node-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.9rem;overflow:hidden}.admin-node-add-root{padding:.75rem}.admin-node-hover-popup{background:var(--color-surface);border:1px solid var(--color-border);z-index:9000;pointer-events:none;border-radius:14px;align-items:flex-start;gap:1rem;width:auto;max-height:320px;padding:1rem;display:flex;position:fixed;overflow:hidden;box-shadow:0 8px 40px #00000059}.admin-node-hover-popup-img{object-fit:cover;border-radius:8px;flex-shrink:0;width:150px;height:150px}.admin-node-hover-popup-text{flex:1;min-width:0;max-height:296px;overflow:hidden}.admin-popup-md-h2{margin:.35rem 0 .1rem;font-size:.85rem;font-weight:700}.admin-popup-md-h3{margin:.25rem 0 .05rem;font-size:.82rem;font-weight:700}.admin-popup-md-p{color:var(--color-text);margin:.1rem 0;font-size:.8rem;line-height:1.5}.admin-popup-md-ul{color:var(--color-text);margin:.1rem 0;padding-left:1.1rem;font-size:.8rem;line-height:1.5}.admin-image-preview{flex-direction:column;gap:.5rem;display:flex}.admin-image-actions{gap:.5rem;display:flex}.admin-image-url-row{gap:.5rem;margin-top:.5rem;display:flex}.admin-image-url-row .form-input{flex:1;min-width:0}.admin-img-search{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.admin-img-search-bar{align-items:center;gap:.4rem;display:flex}.admin-img-search-bar .form-input{flex:1;min-width:0}.admin-img-search-grid{grid-template-columns:repeat(3,1fr);gap:.4rem;display:grid}.admin-img-search-thumb{aspect-ratio:4/3;cursor:pointer;background:var(--color-surface);border:2px solid #0000;border-radius:6px;padding:0;overflow:hidden}.admin-img-search-thumb:hover{border-color:var(--color-accent)}.admin-img-search-thumb img{object-fit:cover;width:100%;height:100%;display:block}.emoji-picker{flex-direction:column;gap:.5rem;display:flex}.emoji-picker-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.emoji-picker-preview{text-align:center;min-width:2rem;font-size:1.75rem}.emoji-picker-input{flex:none;width:8rem}.emoji-picker-grid{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;grid-template-columns:repeat(8,1fr);gap:.25rem;padding:.5rem;display:grid}.emoji-picker-cell{cursor:pointer;text-align:center;background:0 0;border:1px solid #0000;border-radius:6px;padding:.3rem;font-size:1.4rem;line-height:1}.emoji-picker-cell:hover{background:var(--color-surface);border-color:var(--color-border)}.admin-textarea{resize:vertical;font-family:inherit;line-height:1.6}.admin-textarea-sm{resize:vertical;font-family:inherit;line-height:1.5}.quiz-group-editor{border:1px solid var(--color-border);border-radius:.5rem;flex-direction:column;gap:.75rem;margin-bottom:.75rem;padding:.875rem;display:flex}.quiz-group-header{align-items:flex-start;gap:.5rem;display:flex}.quiz-concept-input{flex:1}.quiz-question-editor{background:var(--color-surface);border-radius:.375rem;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.quiz-question-header{justify-content:space-between;align-items:center;display:flex}.quiz-type-row{align-items:center;gap:.5rem;display:flex}.quiz-answers-editor{flex-direction:column;gap:.35rem;display:flex}.quiz-answer-row{align-items:center;gap:.5rem;display:flex}.answer-radio{accent-color:var(--color-accent);cursor:pointer;flex-shrink:0;width:1rem;height:1rem}.answer-text-input{flex:1}.type-editor{border:1px solid var(--color-border);background:#ffffff08;border-radius:.375rem;flex-direction:column;gap:.4rem;padding:.5rem;display:flex}.relevance-divider{color:var(--color-muted);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:.75rem;padding:.5rem 0;font-size:.78rem;list-style:none;display:flex}.relevance-divider:before,.relevance-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.login-prompt{border:1px dashed var(--color-border);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;list-style:none;display:flex}.login-prompt p{margin:0}.login-prompt-actions{gap:.75rem;display:flex}.register-prompt-overlay{z-index:500}.register-prompt-box{text-align:center;flex-direction:column;align-items:center;gap:.75rem;max-width:340px;padding:1.75rem 1.5rem;display:flex}.register-prompt-title{margin:0;font-size:1.2rem;font-weight:600}.register-prompt-actions{flex-direction:column;gap:.5rem;width:100%;margin-top:.5rem;display:flex}.cert-backdrop{z-index:510;align-items:center}.cert-modal{background:var(--color-surface);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:.2rem;width:100%;max-width:360px;padding:0 1.5rem 1.5rem;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 48px #00000080}.cert-deco-top,.cert-deco-bottom{background:linear-gradient(90deg,#f59e0b,#fbbf24,#f59e0b);width:calc(100% + 3rem);height:6px}.cert-deco-top{border-radius:16px 16px 0 0;margin-bottom:1.2rem}.cert-deco-bottom{border-radius:0 0 16px 16px;margin-top:1.2rem}.cert-trophy{color:#f59e0b;margin-bottom:.4rem}.cert-label{letter-spacing:.15em;text-transform:uppercase;color:#f59e0b;margin:0 0 .6rem;font-size:.7rem;font-weight:600}.cert-confirm{color:var(--color-muted);margin:.25rem 0 0;font-size:.85rem}.cert-name{margin:.15rem 0;font-size:1.5rem;font-weight:700;line-height:1.2}.cert-course{color:var(--color-accent);margin:.15rem 0 .5rem;font-size:1rem;font-style:italic;font-weight:600;line-height:1.3}.cert-date{margin:.5rem 0 0;font-size:.78rem}.cert-brand{letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);margin:.1rem 0 0;font-size:.7rem;font-weight:700}.cert-actions{flex-direction:column;gap:.5rem;width:100%;margin-top:.5rem;display:flex}html.light .cert-modal{box-shadow:0 4px 24px #00000026}.modal-backdrop{-webkit-backdrop-filter:blur(5px);background:#000000b8;justify-content:center;align-items:center;padding:1rem 1rem calc(72px + 1rem);display:flex;position:fixed;inset:0}.modal-box{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;flex-direction:column;width:100%;max-width:480px;max-height:90dvh;display:flex;overflow-y:auto;box-shadow:0 8px 40px #00000073}.qm-backdrop{z-index:600;-webkit-backdrop-filter:none;background:var(--color-bg);align-items:stretch;padding:0}.qm-overlay{width:100%;max-width:560px;height:100dvh;max-height:none;box-shadow:none;border:none;border-radius:0;margin:0 auto;overflow:hidden}.qm-progress-track{border-radius:0;order:-1}.qm-header{border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.qm-close{color:var(--color-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:.25rem;font-size:1.1rem;line-height:1}.qm-title-wrap{flex-direction:column;flex:1;gap:.1rem;display:flex}.qm-title{font-size:.95rem;font-weight:600}.qm-last-score{color:var(--color-muted);font-size:.72rem}.qm-live-score-wrap{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.1rem;display:flex}@keyframes qm-score-pulse{0%{transform:scale(1)}35%{transform:scale(1.18)}to{transform:scale(1)}}.qm-live-score{font-size:1.4rem;font-weight:800;line-height:1;animation:.35s ease-out qm-score-pulse}.qm-score-green{color:#4a9c6a}.qm-score-orange{color:#c07830}.qm-score-lightred{color:#c05050}.qm-score-darkred{color:#8b2020}.qm-counter{color:var(--color-muted);flex-shrink:0;font-size:.8rem}.qm-progress-track{background:0 0;flex-shrink:0;padding:.5rem 1rem}.qm-progress-fill{background:var(--color-accent);height:100%;transition:width .25s}.qm-body{flex-direction:column;flex:1;gap:1rem;padding:1.25rem 1rem;display:flex;overflow-y:auto}.qm-topic{letter-spacing:.1em;text-transform:uppercase;color:var(--color-teal);margin-bottom:-.5rem;font-size:.625rem;font-weight:700}.qm-question-text{font-size:1.1875rem;font-weight:800;line-height:1.3}.qm-ancestor-hint{margin-top:-.5rem;font-size:.75rem}.qm-feedback{border-radius:14px;align-items:flex-start;gap:.6rem;padding:.8125rem;font-size:.75rem;font-weight:500;line-height:1.5;display:flex}.qm-feedback-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;margin-top:.05rem;font-size:.75rem;font-weight:700;display:flex}.qm-feedback-ok .qm-feedback-icon{background:var(--color-teal);color:#fff}.qm-feedback-wrong .qm-feedback-icon{background:var(--color-accent);color:#fff}.qm-feedback-text{flex:1}.qm-feedback-ok{color:var(--color-text);background:#0ea6b114;border:1px solid #0ea6b140}.qm-feedback-wrong{color:var(--color-text);background:#ed575512;border:1px solid #ed575540}.qm-feedback-correct{font-weight:400}.qm-explanation{border-top:1px solid var(--color-border);opacity:.95;margin-top:.6rem;padding-top:.5rem;font-size:.75rem;font-weight:400;line-height:1.5}.qm-footer{border-top:1px solid var(--color-border);flex-direction:column;flex-shrink:0;gap:.875rem;padding:.875rem 1rem;display:flex}.qm-footer .btn-primary{border-radius:16px;padding:.9375rem;font-size:.9375rem;font-weight:700;box-shadow:0 6px 20px #ed575559}.qm-footer .btn-primary:disabled{box-shadow:none}.qm-result{flex-direction:column;flex:1;align-items:center;gap:1.5rem;padding:2rem 1rem 1.5rem;display:flex;overflow-y:auto}.qm-result-score-wrap{flex-direction:column;align-items:center;gap:.5rem;display:flex}.qm-result-score{letter-spacing:-.03em;font-size:3.5rem;font-weight:700;line-height:1}.qm-score-passed{color:var(--color-accent)}.qm-score-failed{color:#c0524e}.qm-result-badge{text-transform:uppercase;letter-spacing:.07em;border-radius:999px;padding:.25rem .75rem;font-size:.8rem;font-weight:600}.qm-badge-passed{color:var(--color-accent);background:#4a7c5933}.qm-badge-failed{color:#c0524e;background:#8b3a3a33}.qm-weak-node-link{color:var(--color-accent);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:.78rem}.qm-review-list{flex-direction:column;gap:.9rem;width:100%;list-style:none;display:flex}.qm-review-item{border:2px solid var(--color-border);background:var(--color-surface);border-radius:10px;gap:.6rem;padding:.7rem .75rem;display:flex}.qm-review-ok{border-color:#4a7c598c}.qm-review-wrong{border-color:#c0524e80}html.light .qm-review-ok{border-color:#4a7c5999}html.light .qm-review-wrong{border-color:#c0524e8c}.qm-review-indicator{flex-shrink:0;padding-top:.05rem;font-size:.85rem;font-weight:700}.qm-review-ok .qm-review-indicator{color:var(--color-accent)}.qm-review-wrong .qm-review-indicator{color:#c0524e}.qm-review-body{flex-direction:column;gap:.2rem;min-width:0;display:flex}.qm-review-renderer{pointer-events:none;cursor:default}.qm-review-renderer *{cursor:default!important}.qm-review-q{font-size:.87rem;font-weight:500}.qm-review-chosen{font-size:.8rem}.qm-review-correct{color:var(--color-accent);font-size:.8rem}.qm-fb-review{flex-direction:column;gap:.35rem;display:flex}.qm-fb-sentence{margin:0;font-size:.87rem;line-height:1.65}.qm-fb-word{border-radius:3px;padding:0 .25em;font-weight:600;display:inline-block}.qm-fb-ok{color:var(--color-accent);background:#4a7c5926}.qm-fb-err{color:#c0524e;background:#c0524e1f}.qm-result-actions{flex-direction:column;gap:.5rem;width:100%;margin-top:auto;display:flex}.true-false-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.true-false-btn{background:var(--color-surface);border:1px solid var(--color-border);min-height:64px;color:var(--color-text);cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;font-size:1rem;font-weight:500;transition:border-color .15s;display:flex}.true-false-btn:not(:disabled):active{border-color:var(--color-accent)}.fill-blank-wrap{flex-direction:column;gap:1rem;display:flex}.fill-blank-sentence{font-size:1rem;line-height:1.8}.fill-blank-gap{border-bottom:2px solid var(--color-accent);text-align:center;min-width:80px;color:var(--color-accent);padding:0 .25rem;font-weight:600;display:inline-block}.fill-blank-gap-empty{color:var(--color-muted);border-color:var(--color-muted)}.fill-blank-chips{flex-wrap:wrap;gap:.5rem;display:flex}.fill-blank-chip{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;border-radius:999px;padding:.4rem .875rem;font-size:.9rem;transition:border-color .15s}.fill-blank-chip-selected{background:#4a7c5926;border-color:var(--color-accent)!important}.fill-blank-chip-correct{background:#4a7c5933;border-color:var(--color-accent)!important}.fill-blank-chip-wrong{background:#dc50501a;border-color:#dc5050cc!important}.fill-blank-chip:disabled{opacity:.55;cursor:not-allowed}.fill-blank-gap-numbered{text-align:center;border-bottom:2px solid var(--color-accent);border-radius:3px;min-width:5rem;margin:0 .2em;padding:0 .3em;font-style:italic;display:inline-block}.fill-blank-gaps-list{flex-direction:column;gap:.75rem;margin-top:.75rem;display:flex}.fill-blank-gap-group{flex-direction:column;gap:.4rem;display:flex}.fill-blank-gap-label{color:var(--color-muted);font-size:.78rem}.matching-grid{grid-template-columns:1fr 1fr;gap:.5rem 2.5rem;display:grid}.matching-col{flex-direction:column;gap:.5rem;display:flex}.matching-item{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:44px;padding:.625rem .5rem;font-size:.82rem;line-height:1.4;transition:border-color .15s;display:flex}.matching-container{position:relative}.matching-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.matching-item-pending{border:2px dashed var(--color-teal);background:#0ea6b11a}.matching-item-paired{border-color:var(--color-teal);background:#0ea6b114}.matching-item-correct{background:#34d3991a!important;border-color:#34d399!important}.matching-item-wrong{background:#f871711a!important;border-color:#f87171!important}.matching-item-target{box-shadow:0 0 0 3px #34d399}.matching-correction{color:#34d399;margin-top:.2rem;font-size:.72rem;font-weight:600}.quiz-pick-image{object-fit:cover;border-radius:8px;width:100%;max-height:200px}.quiz-attachment{margin-bottom:.75rem}.quiz-question-image{object-fit:contain;border-radius:8px;width:100%;max-height:180px}.quiz-formula{background:var(--color-surface);border:1px solid var(--color-border);text-align:center;border-radius:8px;padding:.6rem .75rem;font-size:1.05rem;overflow-x:auto}.quiz-code-block{border:1px solid var(--color-border);background:#1a1a1a;border-radius:8px;font-size:.82rem;overflow:hidden}.quiz-code-lang{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;background:#242424;padding:.25rem .6rem;font-size:.72rem;display:block}.quiz-code-block pre{white-space:pre;margin:0;padding:.6rem .75rem;overflow-x:auto}.quiz-code-block code{color:#d4d4d4;font-family:JetBrains Mono,Fira Mono,Cascadia Code,monospace}.calc-input-wrap{flex-direction:column;gap:.4rem;display:flex}.calc-input-row{align-items:center;gap:.5rem;display:flex}.calc-input-field{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);text-align:center;border-radius:8px;outline:none;flex:1;padding:.55rem .75rem;font-size:1.1rem;transition:border-color .15s}.calc-input-field:focus{border-color:var(--color-accent)}.calc-input-field:disabled{opacity:.85}.calc-input-field.calc-input-correct{background:#4caf8014;border-color:#4caf80}.calc-input-field.calc-input-wrong{background:#e05c5c14;border-color:#e05c5c}.calc-input-unit{color:var(--color-muted);white-space:nowrap;font-size:1rem}.calc-input-hint{color:var(--color-muted);margin:0;font-size:.82rem}.calc-unit-keyboard{flex-wrap:wrap;gap:.4rem;margin-top:.15rem;display:flex}.calc-unit-chip{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:6px;padding:.3rem .7rem;font-size:.9rem;transition:border-color .12s,background .12s}.calc-unit-chip:hover:not(:disabled){border-color:var(--color-accent)}.calc-unit-chip-selected{border-color:var(--color-accent);background:#4a7c592e}.calc-unit-chip-correct{background:#4caf801f!important;border-color:#4caf80!important}.calc-unit-chip-wrong{background:#e05c5c14!important;border-color:#e05c5c!important}html.light .quiz-code-block{background:#f5f5f5}html.light .quiz-code-lang{background:#ebebeb}html.light .quiz-code-block code{color:#1e1e1e}.category-header-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.category-header-row h1{margin:0}.review-btn{white-space:nowrap;padding:.4rem .75rem;font-size:.82rem}.qm-weak-node-link{color:var(--color-accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;margin-top:.3rem;padding:0;font-size:.78rem;text-decoration:underline;display:inline-block}.super-quiz-section{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;flex-direction:column;gap:.75rem;margin-top:2rem;padding:1.25rem;display:flex}.super-quiz-counter{font-size:.95rem;font-weight:600}.super-quiz-count{font-size:1.4rem;font-weight:700}.super-quiz-bar{margin:0}.super-quiz-desc{margin:0;font-size:.82rem;line-height:1.5}.super-quiz-btn{width:100%}.reset-course-btn{width:100%;color:var(--color-muted);margin-top:.75rem;font-size:.82rem}.reset-overlay{z-index:500;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.reset-box{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;flex-direction:column;gap:.75rem;width:min(320px,88vw);padding:1.75rem 1.5rem;display:flex}.reset-title{margin:0;font-size:1.1rem;font-weight:600}.reset-desc{margin:0;font-size:.85rem;line-height:1.5}.reset-actions{flex-direction:column;gap:.5rem;margin-top:.25rem;display:flex}.btn-danger{color:#fff;cursor:pointer;background:#722828;border:none;border-radius:10px;width:100%;padding:.7rem 1rem;font-size:.95rem;font-weight:600}.btn-danger:active{background:#8b3232}.admin-import-info{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;margin-bottom:1.25rem;padding:.9rem 1rem;font-size:.9rem;line-height:1.7}.admin-import-log{background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;flex-direction:column;gap:2px;max-height:60vh;margin-top:1.25rem;padding:.9rem 1rem;display:flex;overflow-y:auto}.gen-summary-bar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;flex-direction:column;gap:.35rem;margin-bottom:1.1rem;padding:.7rem .9rem;font-size:.85rem;display:flex}.gen-summary-row{align-items:baseline;gap:.55rem;display:flex}.gen-summary-row-docs{align-items:flex-start}.gen-summary-label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;min-width:5.5rem;font-size:.78rem}.gen-summary-value{color:var(--color-text);font-weight:500}.gen-summary-extra{color:var(--color-muted);font-style:italic;font-weight:400}.gen-summary-docs{flex-wrap:wrap;gap:.3rem;display:flex}.gen-summary-doc-chip{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-muted);border-radius:5px;padding:.1rem .45rem;font-size:.78rem;font-weight:400}.gen-tab-warning{color:#f0b450e6;background:#f0b45014;border:1px solid #f0b45033;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem .75rem;font-size:.82rem;display:flex}.gen-tab-warning:before{content:"⚠"}.gen-overall-bar-wrap{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.gen-overall-bar{background:var(--color-border);border-radius:99px;flex:1;height:6px;overflow:hidden}.gen-overall-bar-fill{background:var(--color-accent);border-radius:99px;height:100%;transition:width .5s;animation:1.5s ease-in-out infinite gen-bar-pulse}.gen-overall-bar-fill[style]{animation:none}@keyframes gen-bar-pulse{0%,to{opacity:.4}50%{opacity:1}}.gen-overall-pct{text-align:right;min-width:2.5rem;font-size:.78rem}.gen-live-list{border:1px solid #ffffff12;border-radius:10px;flex-direction:column;gap:0;margin-top:1.25rem;list-style:none;display:flex;overflow:hidden}.gen-live-item{border-bottom:1px solid #ffffff0d;align-items:center;gap:.6rem;padding:.55rem .875rem;font-size:.85rem;animation:.25s gen-item-in;display:flex}.gen-live-item:last-child{border-bottom:none}@keyframes gen-item-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.gen-live-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.gen-live-outline .gen-live-dot{background:#ffffff40}.gen-live-expl .gen-live-dot{background:#f0b450cc}.gen-live-done .gen-live-dot{background:var(--color-accent)}.gen-live-img .gen-live-dot{background:#5bbf8a}.gen-live-saved .gen-live-dot{background:#a37fe0}.gen-live-title{flex:1}.gen-live-outline .gen-live-title{color:var(--color-muted)}.gen-live-img .gen-live-badge{color:#5bbf8a}.gen-live-saved .gen-live-badge{color:#a37fe0}.gen-live-badge{color:var(--color-muted);white-space:nowrap;font-size:.72rem}.gen-live-expl .gen-live-badge{color:#f0b450cc}.gen-live-done .gen-live-badge{color:var(--color-accent)}.gen-progress{flex-direction:column;gap:2rem;padding-top:1rem;display:flex}.gen-progress-steps{justify-content:space-between;gap:.5rem;display:flex}.gen-progress-step{color:var(--color-muted);text-align:center;flex-direction:column;flex:1;align-items:center;gap:.4rem;font-size:.78rem;display:flex}.gen-progress-step.active{color:var(--color-text)}.gen-progress-step.done{color:var(--color-accent)}.gen-progress-dot{background:var(--color-surface);border:1px solid var(--color-border);border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.8rem;font-weight:600;display:flex}.gen-progress-step.active .gen-progress-dot{border-color:var(--color-accent);color:var(--color-accent)}.gen-progress-step.done .gen-progress-dot{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.gen-progress-detail{text-align:center;font-size:.85rem}.gen-budget-list{flex-direction:column;gap:.5rem;display:flex}.gen-budget-option{border:1px solid var(--color-border);cursor:pointer;border-radius:.5rem;align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.gen-budget-option.selected{border-color:var(--color-accent);background:#ed575514}@supports (color:color-mix(in lab, red, red)){.gen-budget-option.selected{background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.gen-budget-option input[type=radio]{accent-color:var(--color-accent);margin-top:.1rem}.gen-budget-info{flex-direction:column;gap:.1rem;display:flex}.gen-budget-label{font-size:.92rem;font-weight:600}.gen-budget-detail{font-size:.78rem}.gen-mode-toggle{flex-direction:column;gap:.5rem;display:flex}.gen-mode-btn{border:1px solid var(--color-border);background:var(--color-surface);text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;gap:.15rem;padding:.65rem .85rem;transition:border-color .15s,background .15s;display:flex}.gen-mode-btn.active{border-color:var(--color-accent);background:#ed575514}@supports (color:color-mix(in lab, red, red)){.gen-mode-btn.active{background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.gen-mode-title{color:var(--color-text);font-size:.92rem;font-weight:600}.gen-mode-desc{color:var(--color-muted);font-size:.78rem}.gen-abort-btn{color:var(--color-error,#e55);border-color:var(--color-error,#e55);margin:1.5rem auto 0;display:block}.gen-partial-banner{background:#f0a01e14;border:1px solid #f0a01e4d;border-radius:10px;margin-bottom:1rem;padding:.875rem 1rem}.gen-partial-title{color:#f0aa32f2;margin:0 0 .3rem;font-size:.9rem;font-weight:600}.gen-partial-stats{color:var(--color-muted);flex-wrap:wrap;gap:.35rem;font-size:.82rem;display:flex}.gen-partial-actions{flex-direction:column;gap:.5rem;display:flex}.gen-analyzing-wrap{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1rem;display:flex}.gen-analyzing-spinner{border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:2rem;height:2rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.gen-analyzing-label{font-size:1rem;font-weight:600}.quiz-regen-warning{background:#e05c5c14;border:1px solid #e05c5c4d;border-radius:10px;margin-top:.75rem;padding:.75rem 1rem;font-size:.88rem}.gen-budget-suggestion{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;margin-bottom:1rem;padding:1rem 1.1rem}.gen-budget-suggestion-title{margin-bottom:.5rem;font-weight:600}.gen-live-stats{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.82rem;display:flex}.gen-file-list{flex-direction:column;gap:.25rem;margin-bottom:.5rem;list-style:none;display:flex}.gen-file-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.375rem;align-items:center;gap:.5rem;padding:.35rem .5rem;display:flex}.gen-file-name{color:var(--color-accent);word-break:break-all;flex:1;min-width:0;font-size:.82rem}.gen-file-remove{flex-shrink:0;padding:.1rem .4rem;font-size:.75rem}.gen-summary{flex-wrap:wrap;gap:.5rem;font-size:.85rem;display:flex}.gen-node-list{flex-direction:column;gap:.25rem;list-style:none;display:flex}.gen-node-item{border:1px solid var(--color-border);border-radius:.5rem;overflow:hidden}.gen-node-header{width:100%;color:var(--color-text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;padding:.6rem .75rem;font-size:.9rem;display:flex}.gen-node-arrow{color:var(--color-muted);flex-shrink:0;font-size:.75rem}.gen-node-title{flex:1;font-weight:500}.gen-relevance-badge{border:1px solid;border-radius:999px;flex-shrink:0;padding:.1rem .4rem;font-size:.68rem}.gen-rel-core{color:var(--color-accent)}.gen-rel-extended{color:#7a8fbf}.gen-rel-deep{color:#a07abf}.gen-node-body{border-top:1px solid var(--color-border);flex-direction:column;gap:.6rem;padding:.75rem;display:flex}.gen-node-parent{font-size:.78rem}.gen-node-image{object-fit:cover;border-radius:6px;width:100%;max-height:140px}.gen-node-explanation{font-size:.85rem;line-height:1.5}.gen-quiz-list{flex-direction:column;gap:.6rem;list-style:none;display:flex}.gen-quiz-item{font-size:.82rem}.gen-quiz-q{margin-bottom:.25rem;font-weight:500;display:block}.gen-quiz-answers{flex-direction:column;gap:.1rem;padding-left:.5rem;list-style:none;display:flex}.gen-answer-correct{color:var(--color-accent)}.gen-answer-wrong{color:var(--color-muted)}.gen-save-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.gen-save-row .form-input{flex:1;min-width:0}.gen-duration-hint{color:var(--color-muted);background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;margin-bottom:.75rem;padding:.6rem .875rem;font-size:.82rem;line-height:1.5}.gen-timer-row{color:var(--color-muted);justify-content:center;align-items:center;gap:.6rem;margin:.25rem 0 .5rem;font-size:.84rem;display:flex}.gen-timer-row strong{color:var(--color-text)}.outline-review-info{background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.88rem;line-height:1.55}.outline-analyze-section{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.outline-analyze-btn{align-self:flex-start;font-size:.82rem}.outline-analysis-result{border:1px solid var(--color-border);border-radius:.75rem;font-size:.85rem;overflow:hidden}.outline-analysis-header{border-bottom:1px solid var(--color-border);text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);background:#ffffff0a;justify-content:space-between;align-items:center;padding:.5rem .85rem;font-size:.75rem;font-weight:600;display:flex}.outline-analysis-close{color:var(--color-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;line-height:1}.outline-analysis-body{color:var(--color-text);padding:.85rem;line-height:1.65}.analysis-md-h2{text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);margin:.85rem 0 .35rem;font-size:.82rem;font-weight:700}.analysis-md-h3{margin:.65rem 0 .25rem;font-size:.85rem;font-weight:600}.analysis-md-p{margin:0 0 .5rem}.analysis-md-list{margin:0 0 .5rem 1rem;padding:0;list-style:outside}.analysis-md-list li{margin-bottom:.2rem}.analysis-suggestion-list{border-top:1px solid var(--color-border)}.analysis-suggestion-header{text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);background:#ffffff08;padding:.4rem .85rem;font-size:.7rem;font-weight:700}.analysis-suggestion-item{border-top:1px solid var(--color-border);flex-direction:column;gap:.3rem;padding:.65rem .85rem;font-size:.85rem;display:flex}.analysis-suggestion-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.analysis-suggestion-tag{white-space:nowrap;border-radius:.3rem;padding:.1rem .45rem;font-size:.72rem;font-weight:700}.analysis-suggestion-tag--add{color:#34d399;background:#34d39926}.analysis-suggestion-tag--remove{color:#f87171;background:#ef44441f}.analysis-suggestion-title{font-weight:600}.analysis-suggestion-reason{color:var(--color-muted);margin:0;font-size:.8rem;line-height:1.4}.suggestion-delta{white-space:nowrap;border-radius:.3rem;padding:.05rem .35rem;font-size:.72rem;font-weight:700}.suggestion-delta--pos{color:#34d399;background:#34d39926}.suggestion-delta--neg{color:#f87171;background:#ef44441f}.analysis-suggestion-apply-btn{align-self:flex-start;margin-top:.15rem;padding:.25rem .65rem;font-size:.78rem}.analysis-suggestion-apply-btn--undo{color:var(--color-muted);border-color:var(--color-border)}.analysis-suggestion-item--applied{opacity:.6}.analysis-suggestion-footer{border-top:1px solid var(--color-border);justify-content:flex-end;padding:.65rem .85rem;display:flex}.analysis-suggestion-done-btn{font-size:.82rem}.node-delta{vertical-align:middle;border-radius:.35rem;margin-left:.4rem;padding:.05rem .4rem;font-size:.75rem;font-weight:700;display:inline-block}.node-delta--pos{color:#34d399;background:#34d39926}.node-delta--neg{color:#f87171;background:#ef44441f}html.light .outline-analysis-result{background:#fff}html.light .outline-analysis-header{background:#00000008}html.light .analysis-suggestion-header{background:#00000006}.outline-review-actions{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.review-media-section{border-top:1px solid var(--color-border);margin-top:1.25rem;padding-top:1.25rem}.review-cost-breakdown{border:1px solid var(--color-border);border-radius:.65rem;margin-top:.85rem;font-size:.82rem;overflow:hidden}.review-cost-title{border-bottom:1px solid var(--color-border);text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);background:#ffffff0a;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.45rem .85rem;font-size:.72rem;font-weight:700;display:flex}.review-cost-warn-badge{text-transform:none;letter-spacing:0;color:#f59e0b;background:#f59e0b26;border-radius:.3rem;padding:.1rem .4rem;font-size:.68rem;font-weight:600}.review-cost-rows{padding:.35rem 0}.review-cost-row{grid-template-columns:1fr auto auto;align-items:baseline;gap:.5rem;padding:.3rem .85rem;display:grid}.review-cost-detail{text-align:right;font-size:.75rem}.review-cost-amount{text-align:right;min-width:4.5rem;font-weight:600}.review-cost-total{border-top:1px solid var(--color-border);margin-top:.25rem;padding-top:.45rem;font-weight:700}html.light .review-cost-breakdown{background:#fff}html.light .review-cost-title{background:#00000006}.outline-choice-section{gap:.75rem;margin-bottom:1rem;display:flex}.outline-choice-card{border:2px solid var(--color-border);background:var(--color-surface);cursor:pointer;text-align:left;border-radius:.75rem;flex-direction:column;flex:1;gap:.15rem;min-width:0;padding:.7rem .9rem;transition:border-color .15s,background .15s;display:flex}.outline-choice-card.active{border-color:var(--color-muted);background:#ffffff0f}.outline-choice-card--budget.active{border-color:var(--color-accent);background:#4a7c5914}.outline-choice-card-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);font-size:.72rem;font-weight:600}.outline-choice-card--budget.active .outline-choice-card-label{color:var(--color-accent)}.outline-choice-card-count{color:var(--color-text);font-size:1rem;font-weight:700}.doc-review-tabs{border-bottom:1px solid var(--color-border);gap:.5rem;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.doc-review-tab-btn{border:1px solid var(--color-border);color:var(--color-muted);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:.4rem;padding:.4rem .9rem;font-size:.85rem;display:flex}.doc-review-tab-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.doc-review-tab-count{background:#fff3;border-radius:99px;padding:.05em .45em;font-size:.72rem;font-weight:600}.doc-review-tab-btn:not(.active) .doc-review-tab-count{background:#ffffff14}.doc-review-source{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.doc-source-item{border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.doc-source-name{color:var(--color-muted);border-bottom:1px solid var(--color-border);background:#ffffff0a;margin:0;padding:.4rem .75rem;font-size:.78rem;font-weight:600}.doc-source-content{color:var(--color-text);white-space:pre-wrap;word-break:break-word;max-height:55vh;margin:0;padding:.75rem;font-family:inherit;font-size:.8rem;line-height:1.6;overflow-y:auto}.outline-editor-tree{padding:0}.outline-tree-list{margin:0;padding:0;list-style:none}.outline-tree-item{margin:0}.outline-tree-root-item>.outline-tree-row{background:#ffffff0d;border-radius:8px;margin-bottom:.25rem;padding:.3rem .5rem}.outline-tree-row{align-items:center;gap:.4rem;padding:.15rem 0;display:flex}.outline-tree-icon{color:var(--color-muted);text-align:center;flex-shrink:0;width:.9rem;font-size:.6rem}.outline-tree-badge{color:#f59e0b;letter-spacing:.02em;background:#f59e0b2e;border-radius:10px;flex-shrink:0;padding:.1rem .45rem;font-size:.67rem}.outline-legend{color:var(--color-muted);background:#ffffff0a;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.9rem;padding:.6rem .75rem;font-size:.75rem;display:flex}.outline-legend-sep{background:var(--color-border);width:1px;height:.9em;margin:0 .2rem;display:inline-block}.outline-tree-children{border-left:1px solid #ffffff14;margin-left:.9rem;padding-left:.75rem}.outline-editor-title{color:var(--color-text);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;flex:1;min-width:0;padding:.35rem .6rem;font-size:.88rem}.outline-editor-title:focus{border-color:var(--color-accent);outline:none}.outline-editor-title-readonly{color:var(--color-text);flex:1;min-width:0;padding:.35rem .6rem;font-size:.88rem}.outline-editor-rel{cursor:pointer;appearance:none;background:0 0;border:1px solid #ffffff1f;border-radius:12px;flex-shrink:0;padding:.25rem .45rem;font-size:.72rem}.outline-editor-rel:focus{outline:none}.outline-editor-del{color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:.25rem .4rem;font-size:.8rem}.outline-editor-del:hover{color:#dc5050e6}.outline-tree-item-shallow{opacity:.45}.outline-tree-shallow-title{color:var(--color-muted)!important}.outline-tree-shallow-badge{color:var(--color-muted);background:var(--color-surface-2);border:1px solid var(--color-border);white-space:nowrap;border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:.65rem;font-weight:600}.partial-gen-section{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:10px;margin-bottom:.75rem;padding:.65rem .75rem}.partial-gen-header{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.partial-gen-depth-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.partial-gen-depth-btn{border:1.5px solid var(--color-border);background:var(--color-surface);width:28px;height:28px;color:var(--color-text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;transition:border-color .15s,background .15s;display:flex}.partial-gen-depth-btn.active{border-color:var(--color-teal);color:var(--color-teal);background:#0ea6b11f}.partial-gen-hint{margin-top:.4rem;font-size:.78rem;line-height:1.45}.partial-gen-budget-hint{margin-left:.25rem;font-size:.75rem}.partial-gen-depth-btn--suggested{border-color:var(--color-accent)!important;background:#ed575514!important}.partial-gen-depth-btn--suggested.active{color:var(--color-accent)!important;background:#ed575526!important}.partial-gen-depth-star{color:var(--color-accent);font-size:.5rem;line-height:1;position:absolute;top:1px;right:1px}.partial-gen-depth-btn{position:relative}.partial-gen-depth-btn--alle{width:auto;padding:0 10px;font-size:.75rem}.gq-regen-box{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:10px;width:100%;margin-top:.5rem;padding:.6rem .75rem}.gq-regen-title{margin-bottom:.5rem;font-size:.8rem;font-weight:600}.gq-regen-opts{flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem;display:flex}.gq-regen-opt{border:1.5px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:7px;padding:4px 12px;font-size:.8rem;font-weight:600;transition:border-color .15s,background .15s}.gq-regen-opt.active{border-color:var(--color-teal);color:var(--color-teal);background:#0ea6b11f}.gq-regen-actions{flex-wrap:wrap;gap:.4rem;display:flex}.outline-preview-tree-btn{background:var(--color-surface-2);border:1.5px solid var(--color-border);width:100%;color:var(--color-text);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.75rem 1rem;font-size:.875rem;font-weight:600;transition:border-color .15s,background .15s;display:flex}.outline-preview-tree-btn:hover{border-color:var(--color-teal);background:#0ea6b10d}.outline-refine-section{margin-bottom:1rem}.gen-success-msg{text-align:center;color:var(--color-accent);padding-top:4rem;font-size:1rem}.gen-keys-toggle{width:100%;color:var(--color-text);cursor:pointer;text-align:left;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;justify-content:space-between;align-items:center;padding:.65rem .875rem;font-size:.9rem;font-weight:500;display:flex}.gen-keys-toggle:hover{background:#ffffff12}.gen-keys-toggle:active{background:#ffffff1a}.gen-keys-status{color:var(--color-muted);font-size:.78rem;font-weight:400}.gen-keys-body{background:#ffffff08;border:1px solid #ffffff12;border-radius:8px;flex-direction:column;gap:.25rem;margin-top:.5rem;padding:.75rem;display:flex}.gen-toggle-row{cursor:pointer;align-items:center;gap:.5rem;padding:.25rem 0;font-size:.9rem;display:flex}.ai-generated-badge{color:var(--color-muted);letter-spacing:.01em;align-items:center;gap:.3rem;margin-top:.35rem;font-size:.72rem;display:inline-flex}.ai-generated-badge:before{content:"✦";opacity:.6;font-size:.65rem}.course-title-row{align-items:center;gap:.6rem;display:flex}.course-title-row h1{margin:0}.admin-edit-btn{border:1px solid var(--color-border);cursor:pointer;opacity:.6;background:0 0;border-radius:6px;flex-shrink:0;padding:.2rem .45rem;font-size:.85rem;line-height:1}.admin-edit-btn:hover{opacity:1;background:var(--color-surface)}.ai-generated-block{flex-direction:column;align-items:flex-start;gap:.3rem;margin-top:.35rem;display:flex}.ai-generated-block .ai-generated-badge{margin-top:0}.src-doc-btn{border:1px solid var(--color-border);color:var(--color-muted);cursor:pointer;letter-spacing:.01em;background:0 0;border-radius:4px;padding:.2rem .55rem;font-size:.72rem}.src-doc-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.src-doc-overlay{z-index:800;background:#000000bf;align-items:flex-end;display:flex;position:fixed;inset:0}.src-doc-modal{background:var(--color-surface);border-top:1px solid var(--color-border);border-radius:16px 16px 0 0;flex-direction:column;width:100%;max-height:80dvh;display:flex}.src-doc-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1rem .75rem;display:flex}.src-doc-title{font-size:.9rem;font-weight:600}.src-doc-close{color:var(--color-muted);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1rem}.src-doc-body{flex-direction:column;gap:1.5rem;padding:1rem;display:flex;overflow-y:auto}.src-doc-section{flex-direction:column;gap:.5rem;display:flex}.src-doc-name{color:var(--color-accent);letter-spacing:.02em;font-size:.75rem;font-weight:600}.src-doc-content{color:var(--color-text);flex-direction:column;gap:.25rem;font-size:.85rem;line-height:1.65;display:flex}.src-doc-content p{margin:0}.src-doc-content li{margin-left:1.2rem}.src-doc-h1{margin-top:.5rem;font-size:1.1rem;font-weight:700}.src-doc-h2{margin-top:.4rem;font-size:1rem;font-weight:600}.src-doc-h3{margin-top:.3rem;font-size:.9rem;font-weight:600}.src-doc-no-content{color:var(--color-muted);font-size:.8rem;font-style:italic}.src-doc-header-btn{color:#111;cursor:pointer;white-space:nowrap;background:#fff;border:1.5px solid #111;border-radius:.4rem;flex-shrink:0;padding:.22rem .7rem;font-size:.78rem;font-weight:500;line-height:1.4;transition:background .12s}.src-doc-header-btn:hover{background:#f0f0f0}.src-doc-modal-split{border-top:none;border-radius:0;width:100vw;height:100dvh;max-height:100dvh}.src-doc-split-body{flex:1;min-height:0;display:flex;overflow:hidden}.src-doc-file-list{border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:11rem;min-width:8rem;padding:.5rem 0;display:flex;overflow-y:auto}.src-doc-file-btn{text-align:left;cursor:pointer;width:100%;color:var(--color-text);word-break:break-word;background:0 0;border:none;padding:.55rem .85rem;font-size:.8rem;line-height:1.35;display:block}.src-doc-file-btn:hover{background:var(--color-hover,#0000000a)}.src-doc-file-btn.active{background:var(--color-surface);color:var(--color-accent);font-weight:600}.src-doc-content-pane{color:var(--color-text);flex-direction:column;flex:1;gap:.25rem;padding:1rem 1.25rem;font-size:.85rem;line-height:1.65;display:flex;overflow-y:auto}.src-doc-content-pane p{margin:0}.src-doc-content-pane li{margin-left:1.2rem}.src-doc-image{border-radius:6px;max-width:100%;margin-bottom:.75rem}.admin-edit-overlay{z-index:10;position:absolute;top:.45rem;right:.45rem}.admin-edit-pill{border:1px solid var(--color-accent);color:var(--color-accent);cursor:pointer;opacity:.55;white-space:nowrap;background:#00000073;border-radius:5px;align-items:center;gap:.22rem;padding:.2rem .45rem;font-size:.68rem;font-weight:600;transition:opacity .15s,background .15s;display:inline-flex}.admin-edit-pill:hover{opacity:1;background:var(--color-accent);color:#fff}.quiz-section-wrap{position:relative}.quiz-section-admin{position:absolute;top:.4rem;right:.4rem}.report-section{border-top:1px solid #ffffff0f;margin-top:2.5rem;padding-top:1.5rem}.report-btn{color:#dc5a5abf;cursor:pointer;text-align:center;background:#dc3c3c14;border:1px solid #dc3c3c40;border-radius:8px;width:100%;padding:.45rem 1rem;font-size:.78rem;font-weight:500;transition:background .15s,border-color .15s}.report-btn:hover{background:#dc3c3c24;border-color:#dc3c3c66}.report-btn:active{background:#dc3c3c33}.report-overlay{z-index:700}.report-box{gap:.75rem;padding:1.25rem 1.25rem 1.5rem}.report-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding-bottom:.5rem;display:flex}.report-title{font-size:.95rem;font-weight:600}.report-close{cursor:pointer;color:var(--color-muted);background:0 0;border:none;padding:.25rem;font-size:1rem}.report-body{flex-direction:column;gap:.75rem;display:flex}.report-success{color:var(--color-accent);text-align:center;padding:1rem 0}.report-scope-row{gap:.5rem;display:flex}.report-scope-btn{cursor:pointer;color:var(--color-muted);border:1.5px solid #ffffff1a;border-radius:8px;flex-direction:column;flex:1;gap:.15rem;padding:.6rem .75rem;font-size:.85rem;font-weight:500;transition:border-color .15s,color .15s,background .15s;display:flex}.report-scope-btn input[type=radio]{display:none}.report-scope-btn.active{border-color:var(--color-accent);color:var(--color-text);background:#4a7c591a}.report-scope-btn.disabled{opacity:.35;cursor:not-allowed}.report-scope-sub-muted{opacity:.5}.report-scope-sub{color:var(--color-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;font-weight:400;overflow:hidden}.report-textarea{resize:vertical;min-height:6rem;font-family:inherit}.admin-top-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.report-admin-list{flex-direction:column;gap:1rem;list-style:none;display:flex}.report-admin-item{background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;gap:.4rem;padding:.875rem 1rem;display:flex}.report-admin-meta{color:var(--color-muted);flex-wrap:wrap;gap:.3rem;font-size:.78rem;display:flex}.report-admin-date{color:var(--color-muted)}.report-admin-user{color:var(--color-text)}.report-admin-email{color:var(--color-accent);text-decoration:none}.report-admin-email:hover{text-decoration:underline}.report-admin-sep{opacity:.5}.report-admin-scope{flex-wrap:wrap;gap:.3rem;font-size:.82rem;display:flex}.report-admin-course{font-weight:600}.report-admin-node{color:var(--color-muted)}.report-admin-text{border-left:2px solid #ffffff1f;margin:.15rem 0;padding-left:.75rem;font-size:.88rem;line-height:1.5}.report-admin-actions{flex-wrap:wrap;gap:.5rem;margin-top:.25rem;display:flex}.report-admin-goto{color:var(--color-text);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:6px;padding:.3rem .75rem;font-size:.8rem;transition:background .15s}.report-admin-goto:hover{background:#ffffff1f}.report-admin-delete{align-self:auto}.report-admin-quiz-badge{background:rgba(var(--color-accent-rgb,99,102,241), .18);color:var(--color-accent,#818cf8);border:1px solid rgba(var(--color-accent-rgb,99,102,241), .3);border-radius:4px;align-self:center;padding:.1em .45em;font-size:.72rem;font-weight:600}.report-admin-quiz-meta{color:var(--color-muted);border-left:2px solid rgba(var(--color-accent-rgb,99,102,241), .4);margin:.1rem 0;padding-left:.75rem;font-size:.8rem;font-style:italic}.report-quiz-context{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;flex-direction:column;gap:.3rem;padding:.65rem .85rem;display:flex}.report-quiz-context-label{color:var(--color-accent,#818cf8);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.report-quiz-context-text{color:var(--color-text);margin:0;font-size:.88rem;line-height:1.45}.invite-create-form{background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:flex}.invite-list{flex-direction:column;gap:.875rem;list-style:none;display:flex}.invite-item{background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;gap:.6rem;padding:.875rem 1rem;display:flex}.invite-item-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.invite-item-info{flex-direction:column;gap:.15rem;display:flex}.invite-name{font-size:.92rem;font-weight:600}.invite-code{color:var(--color-muted);letter-spacing:.08em;font-family:monospace;font-size:.82rem}.invite-item-actions{flex-wrap:wrap;gap:.5rem;display:flex}.invite-copy-btn{transition:background .15s,color .15s}.invite-copy-btn.copied{color:var(--color-accent);border-color:var(--color-accent)}.invite-usage-row{align-items:center;gap:.75rem;display:flex}.invite-usage-bar{background:#ffffff1a;border-radius:99px;flex:1;height:5px;overflow:hidden}.invite-usage-fill{background:var(--color-accent);border-radius:99px;height:100%;transition:width .3s}.invite-usage-label{white-space:nowrap;font-size:.78rem}.invite-expand-btn{color:var(--color-muted);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:.78rem}.invite-expand-btn:hover{color:var(--color-text)}.invite-users{background:#0003;border-radius:8px;padding:.75rem}.invite-user-list{flex-direction:column;gap:.4rem;list-style:none;display:flex}.invite-user-item{justify-content:space-between;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.invite-user-name{font-weight:500}.invite-user-email{color:var(--color-muted);font-size:.78rem;text-decoration:none}.invite-user-email:hover{color:var(--color-accent);text-decoration:underline}.gen-history-toggle{width:100%;color:var(--color-text);cursor:pointer;text-align:left;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;justify-content:space-between;align-items:center;padding:.65rem .875rem;font-size:.9rem;font-weight:500;display:flex}.gen-history-toggle:hover{background:#ffffff12}.gen-history-toggle:active{background:#ffffff1a}.gen-history-toggle-meta{color:var(--color-muted);font-size:.78rem;font-weight:400}.gen-history-body{border:1px solid #ffffff12;border-radius:8px;flex-direction:column;gap:0;margin-top:.5rem;display:flex;overflow:hidden}.gen-history-entry{border-bottom:1px solid #ffffff0d;flex-direction:column;gap:.2rem;padding:.7rem .875rem;display:flex}.gen-history-entry:last-child{border-bottom:none}.gen-history-course{white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:500;overflow:hidden}.gen-history-meta{color:var(--color-muted);flex-wrap:wrap;gap:.3rem .6rem;font-size:.75rem;display:flex}.gen-history-cost{color:var(--color-text);white-space:nowrap;align-self:flex-start;font-size:.82rem;font-weight:600}.gen-history-footer{background:#ffffff08;border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:.6rem .875rem;font-size:.82rem;display:flex}.gen-history-total{color:var(--color-text);font-weight:600}.gen-history-clear{color:var(--color-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem}.changelog-list{flex-direction:column;gap:.75rem;margin-top:1.25rem;display:flex}.changelog-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:.85rem 1rem}.changelog-card-header{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.changelog-tag{letter-spacing:.04em;text-transform:uppercase;border-radius:4px;padding:.15em .55em;font-size:.7rem;font-weight:600}.changelog-tag-commit,.changelog-tag-update,.changelog-tag-improvement{color:#6db88a;background:#4a7c592e}.changelog-tag-feature{color:#b48aef;background:#8264c82e}.changelog-tag-fix{color:#e08070;background:#c864502e}.changelog-tag-course{color:#82aee8;background:#648cc82e}.changelog-date{color:var(--color-muted);font-size:.78rem}.changelog-sha{color:var(--color-muted);margin-left:auto;font-family:monospace;font-size:.72rem;text-decoration:none}.changelog-sha:hover{color:var(--color-text);text-decoration:underline}.changelog-title{color:var(--color-text);margin:0;font-size:.93rem;font-weight:500;line-height:1.4}.changelog-body{flex-direction:column;gap:.15rem;margin:.4rem 0 0 1rem;padding:0;list-style:outside;display:flex}.changelog-body li{color:var(--color-muted);font-size:.82rem;line-height:1.45}.changelog-files{border-top:1px solid var(--color-border);flex-direction:column;gap:.2rem;margin-top:.55rem;padding-top:.55rem;display:flex}.changelog-file{align-items:center;gap:.35rem;font-family:monospace;font-size:.75rem;line-height:1.4;display:flex}.changelog-file-icon{text-align:center;flex-shrink:0;width:.9rem;font-size:.7rem;font-weight:700}.changelog-file-added .changelog-file-icon{color:#6db88a}.changelog-file-deleted .changelog-file-icon{color:#e06c75}.changelog-file-modified .changelog-file-icon{color:var(--color-muted)}.changelog-file-name{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.changelog-file-diff{flex-shrink:0;gap:.3rem;display:flex}.changelog-diff-add{color:#6db88a}.changelog-diff-del{color:#e06c75}.changelog-file-more{color:var(--color-muted);opacity:.7;font-family:inherit;font-size:.75rem}.changelog-subject{color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .15rem;font-size:.75rem}.changelog-description{color:var(--color-muted);margin:.25rem 0 0;font-size:.83rem;line-height:1.5}.changelog-open-btn{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:7px;align-self:flex-start;margin-top:.75rem;padding:.45rem 1rem;font-size:.85rem;font-weight:500}.changelog-open-btn:active{opacity:.85}.changelog-card-course{flex-direction:column;display:flex}.gen-history-clear:hover{color:#dc5050cc}.he-layout{background:var(--color-bg);z-index:10;flex-direction:column;display:flex;position:fixed;inset:56px 0 0;overflow:hidden}.he-topbar{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.75rem;padding:.5rem 1rem;display:flex}.he-title{cursor:pointer;border-radius:4px;margin:0;padding:2px 6px;font-size:1.1rem;font-weight:700;transition:background .15s}.he-title:hover{background:var(--color-border)}.he-title-input{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:4px;min-width:200px;padding:2px 8px;font-size:1.1rem;font-weight:700}.he-hint{font-size:.78rem}.he-error{margin-left:auto;font-size:.82rem}.he-body{flex:1;display:flex;overflow:hidden}.he-sidebar{border-right:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;flex-shrink:0;gap:0;width:240px;display:flex;overflow-y:auto}.he-sidebar-section{border-bottom:1px solid var(--color-border);padding:.75rem}.he-prompt-section{flex-direction:column;flex:1;display:flex}.he-section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);margin-bottom:.4rem;font-size:.72rem;font-weight:700;display:block}.he-module-list{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.he-module-item{align-items:center;gap:.4rem;padding:3px 0;font-size:.82rem;display:flex}.he-module-dot{cursor:pointer;border-radius:50%;flex-shrink:0;width:10px;height:10px}.he-module-dot:hover{outline-offset:2px;outline:2px solid #fff}.he-color-palette{flex-wrap:wrap;gap:5px;width:100%;padding:4px 0 2px;display:flex}.he-color-swatch{cursor:pointer;border:none;border-radius:50%;flex-shrink:0;width:16px;height:16px;padding:0}.he-color-swatch:hover{transform:scale(1.25)}.he-module-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.he-mod-form{background:var(--color-bg);border-radius:6px;flex-direction:column;margin-bottom:.5rem;padding:.5rem;display:flex}.he-checkbox-label{cursor:pointer;align-items:center;gap:.4rem;font-size:.82rem;display:flex}.he-prompt-input{resize:vertical;min-height:90px;margin-top:.4rem;font-size:.82rem;line-height:1.45}.he-icon-btn{color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;padding:2px 4px;font-size:.75rem;line-height:1}.he-icon-btn:hover{color:#ef4444;background:#ef444414}.he-canvas-wrap{background:#040810;flex:1;position:relative;overflow:hidden}.he-canvas{-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.he-canvas-hint{pointer-events:none;white-space:nowrap;background:#0000008c;border-radius:999px;padding:3px 10px;font-size:.72rem;position:absolute;bottom:.6rem;left:50%;transform:translate(-50%)}.he-node-panel{border-left:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;flex-shrink:0;width:240px;padding:.75rem;display:flex;overflow-y:auto}.he-field-label{text-transform:uppercase;letter-spacing:.07em;color:var(--color-muted);margin-bottom:.3rem;font-size:.72rem;font-weight:600;display:block}.he-sketch-input{resize:vertical;min-height:100px;font-size:.82rem;line-height:1.5}.he-edges path{pointer-events:none}html.light .he-canvas-wrap{background:#1a1a2e}html.light .he-canvas-hint{color:#fff;background:#00000073}.hero-skilltree-page{z-index:50;background:#070707;position:fixed;inset:56px 0 0;overflow:hidden}.hero-skilltree-svg{width:100%;height:100%;display:block}@keyframes hs-text-fadein{0%{opacity:0}to{opacity:1}}.he-canvas.is-zooming text,.hero-skilltree-svg.is-zooming text,.he-canvas.zoom-small text,.hero-skilltree-svg.zoom-small text{display:none}.he-canvas.zoom-done:not(.zoom-small) text,.hero-skilltree-svg.zoom-done:not(.zoom-small) text{animation:.3s forwards hs-text-fadein}.hero-back-btn{z-index:60;color:#aaa;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;border:1px solid #333;border-radius:20px;padding:6px 12px;font-size:.8rem;transition:color .15s,border-color .15s;position:absolute;top:12px;left:12px}.hero-back-btn:hover{color:#c8a96e;border-color:#c8a96e}.hero-bs-backdrop{z-index:70;background:#0000008c;position:absolute;inset:0}.hero-bottom-sheet{z-index:80;max-height:72%;padding-bottom:env(safe-area-inset-bottom,0);background:#111;border-top:1px solid #2a2a2a;border-radius:16px 16px 0 0;flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0}.hero-bs-drag-handle{background:#333;border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:10px auto 0}.hero-bs-header{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem 1rem .5rem;display:flex}.hero-bs-meta{flex-direction:column;gap:.2rem;display:flex}.hero-bs-type{text-transform:uppercase;letter-spacing:.06em;opacity:.9;font-size:.75rem;font-weight:600}.hero-bs-title{color:var(--color-text);margin:0;font-size:1.15rem;font-weight:700}.hero-bs-close{color:#666;cursor:pointer;background:0 0;border:none;flex-shrink:0;margin-top:-2px;padding:4px 6px;font-size:1.1rem}.hero-bs-close:hover{color:#aaa}.hero-bs-body{flex-direction:column;flex:1;gap:.75rem;padding:0 1rem .5rem;display:flex;overflow-y:auto}.hero-bs-image{object-fit:cover;border:1px solid #2a2a2a;border-radius:8px;width:100%;max-height:180px}.hero-bs-text{color:var(--color-text);opacity:.85;white-space:pre-wrap;font-size:.9rem;line-height:1.6}.hero-bs-footer{border-top:1px solid #1e1e1e;flex-shrink:0;padding:.75rem 1rem}.hero-bs-action{text-align:center;width:100%;padding:.7rem 1rem;font-size:.9rem}.heroes-hero-card{gap:0;padding:0;overflow:hidden}.heroes-hero-img-wrap{aspect-ratio:16/7;flex-shrink:0;width:100%;position:relative;overflow:hidden}.heroes-hero-img{object-fit:cover;width:100%;height:100%;display:block}.heroes-hero-img-fade{background:linear-gradient(to bottom, #0000 40%, var(--color-card,#141414) 100%);position:absolute;inset:0}.heroes-hero-body{padding:.75rem 1rem .25rem}.heroes-hero-card .card-meta{padding:0 1rem .75rem}.heroes-lore{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.82rem;display:-webkit-box;overflow:hidden}.heroes-progress{background:#ffffff1a;border-radius:2px;height:3px;margin:.35rem 1rem 0;position:relative;overflow:hidden}.heroes-progress-bar{background:#4a7c59;border-radius:2px;height:100%;transition:width .4s}.heroes-progress-label{color:#666;margin:.2rem 1rem .5rem;font-size:.72rem;display:block}.hero-node-tooltip{z-index:200;pointer-events:none;background:#0a0c12f2;border:1px solid #333;border-radius:8px;max-width:200px;padding:.45rem .7rem;position:fixed;box-shadow:0 4px 16px #0009}.hero-node-tooltip-title{color:#ddd;margin:0 0 2px;font-size:.82rem;font-weight:600}.hero-node-tooltip-meta{color:#666;margin:0;font-size:.72rem}.heroes-teaser-card{aspect-ratio:16/7;-webkit-user-select:none;user-select:none;background:#12101a;border:1px solid #2a2535;border-radius:12px;position:relative;overflow:hidden}.heroes-teaser-img{object-fit:cover;opacity:.8;color:#0000;width:100%;height:100%;position:absolute;inset:0}.heroes-teaser-overlay{text-align:center;background:linear-gradient(160deg,#0000000d 0%,#00000080 100%);flex-direction:column;justify-content:center;align-items:center;gap:.6rem;padding:1.25rem;display:flex;position:absolute;inset:0}.heroes-teaser-badge{color:#0d0a04;letter-spacing:.14em;text-transform:uppercase;background:#c8a96e;border-radius:20px;padding:3px 12px;font-size:.65rem;font-weight:800}.heroes-teaser-text{color:#e8e0d0;text-shadow:0 1px 6px #000000e6;max-width:260px;margin:0;font-size:.9rem;font-weight:600;line-height:1.45}.seg-progress{gap:3px;height:4px;display:flex}.seg-progress-item{background:var(--color-surface-2);border-radius:99px;flex:1;min-width:2px;transition:background .2s}.seg-correct{background:var(--color-teal)}.seg-wrong{background:var(--color-accent)}.seg-current{background:var(--color-muted)}.seg-todo{background:var(--color-surface-2)}.memory-toggle{background:linear-gradient(135deg,#3c8c6e1f 0%,#3c8c6e0f 100%)!important;border-color:#3c8c6e73!important}.memory-toggle:hover{background:linear-gradient(135deg,#3c8c6e38 0%,#3c8c6e21 100%)!important}.memory-toggle-icon{background:#3c8c6e2e!important}.memory-modal{background:var(--color-surface);width:100%;max-width:560px;height:100dvh;max-height:none;box-shadow:none;border:none;border-radius:0;flex-direction:column;margin:0 auto;display:flex;overflow:hidden}.memory-backdrop{z-index:600;-webkit-backdrop-filter:none;background:var(--color-bg);align-items:stretch;padding:0}.memory-progress-track{background:var(--color-border);flex-shrink:0;height:3px}.memory-progress-fill{background:var(--color-teal);height:100%;transition:width .3s}.memory-modal-header{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.memory-modal-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.95rem;font-weight:600;overflow:hidden}.memory-modal-footer{border-top:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;flex-shrink:0;gap:.5rem;padding:.875rem 1rem;display:flex}.memory-pick-body{flex-direction:column;flex:1;gap:1rem;padding:1.25rem 1rem;display:flex;overflow-y:auto}.memory-pick-label{text-align:center;margin:0;font-size:.9rem;font-weight:600}.memory-pick-options{gap:.5rem;display:flex}.memory-pick-btn{border:2px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;border-radius:10px;flex:1;padding:.6rem .75rem;font-size:.88rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.memory-pick-btn.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.memory-pick-footer{justify-content:center;display:flex}.memory-card-scene-demo .memory-card-inner,.memory-card-scene-demo .memory-card-face{min-height:160px}.memory-learn-body{flex-direction:column;flex:1;justify-content:center;gap:1rem;padding:1rem;display:flex;overflow-y:auto}.memory-progress-row{flex-direction:column;flex-shrink:0;gap:.35rem;padding:.75rem 1rem 0;display:flex}.memory-progress-bar{gap:3px;height:5px;display:flex}.memory-progress-seg{background:var(--color-surface-2);border-radius:99px;flex:1;transition:background .2s}.memory-progress-seg.done{background:var(--color-teal)}.memory-progress-seg.current{background:var(--color-accent)}.memory-card-scene{perspective:900px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:0 1rem}.memory-card-inner{width:100%;min-height:200px;transform-style:preserve-3d;transition:transform .4s;position:relative}.memory-card-scene.flipped .memory-card-inner{transform:rotateY(180deg)}.memory-card-face{backface-visibility:hidden;border:1px solid var(--color-border);background:var(--color-surface);text-align:center;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:.625rem;min-height:200px;padding:1.5rem 1.25rem;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:0 4px 24px #0000004d}.memory-card-text{max-width:100%;min-height:0;overflow-y:auto}html.light .memory-card-face{box-shadow:0 4px 24px #3a3a421f}.memory-card-back{background:var(--color-surface);transform:rotateY(180deg)}.memory-card-hint{letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.5625rem;font-weight:700;color:var(--color-teal)!important}.memory-card-term{color:var(--color-text);margin:0;font-size:1.35rem;font-weight:800;line-height:1.3}.memory-card-definition{color:var(--color-text);margin:0;font-size:.875rem;font-weight:600;line-height:1.6}.memory-card-tap{letter-spacing:.03em;margin:0;font-size:.625rem}.memory-assess{gap:.625rem;display:flex}.memory-assess-btn{cursor:pointer;color:#fff;-webkit-tap-highlight-color:transparent;border:none;border-radius:14px;flex:1;padding:.875rem .5rem;font-size:.875rem;font-weight:700;transition:transform .1s}.memory-assess-btn:active{transform:scale(.97)}.memory-assess-no{background:var(--color-accent);box-shadow:0 4px 14px #ed575559}.memory-assess-yes{background:var(--color-teal);box-shadow:0 4px 14px #0ea6b159}.memory-complete-body{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;padding:2rem 1.5rem;display:flex}.memory-complete-title{margin:0;font-size:1.25rem;font-weight:800}.memory-complete-actions{flex-direction:column;gap:.5rem;width:100%;max-width:280px;margin-top:.75rem;display:flex}.games-section{margin-top:1.5rem}.games-section-btn{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:.5rem;width:100%;padding:.85rem 1rem;font-size:.92rem;transition:border-color .15s;display:flex}.games-section-btn:active{border-color:var(--color-accent)}.games-section-label{font-weight:600}.games-section-meta{color:var(--color-muted);white-space:nowrap;font-size:.82rem}html.light .games-section-btn{background:var(--color-surface)}html.eink .games-section-btn{border-color:#000}.games-page-title{margin:.25rem 0 .5rem}.games-badges{gap:.4rem;margin-bottom:.75rem;display:flex}.game-type-badge{color:#3b82f6;background:#3b82f626;border-radius:20px;padding:.2rem .55rem;font-size:.72rem;font-weight:700}.game-diff-badge{border-radius:20px;padding:.2rem .55rem;font-size:.72rem;font-weight:700}.game-diff-easy{color:#4a7c59;background:#4a7c5926}.game-diff-medium{color:#ca8a04;background:#eab30826}.game-diff-hard{color:#dc2626;background:#dc262626}.games-empty{text-align:center;padding:2rem 0}.games-list{flex-direction:column;gap:.75rem;margin-top:.5rem;display:flex}.game-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:.85rem .9rem .75rem}html.eink .game-card{border-color:#000}.game-card-header{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.game-card-title{margin:0 0 .25rem;font-size:.95rem;font-weight:600}.game-card-meta{margin:0 0 .65rem;font-size:.78rem}.game-delete-btn{cursor:pointer;color:var(--color-muted);background:0 0;border:none;border-radius:4px;padding:.2rem .4rem;font-size:.8rem}.game-delete-btn:hover{color:#dc2626}.game-play-btn{width:100%;margin-top:.1rem}.game-card-progress{background:var(--color-border);border-radius:3px;height:6px;margin-bottom:.5rem;position:relative;overflow:hidden}.game-card-progress-bar{background:#4a7c59;border-radius:3px;transition:width .3s;position:absolute;inset:0 auto 0 0}.game-card-progress-label{color:var(--color-muted);font-size:.7rem;position:absolute;top:-1.3rem;right:0}.cw-wrap{flex-direction:column;gap:.75rem;padding-bottom:1rem;display:flex}.cw-hidden-input{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed;top:0;left:-9999px}.cw-grid-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.cw-grid{background:var(--color-border);-webkit-user-select:none;user-select:none;border-radius:6px;gap:2px;padding:2px;display:inline-grid}.cw-cell{background:var(--color-surface);cursor:pointer;border-radius:2px;justify-content:center;align-items:center;display:flex;position:relative}html.light .cw-cell{background:#fff}.cw-black{cursor:default;background:#1a1a1a;border-radius:2px}html.light .cw-black{background:#333}.cw-selected{background:#3b82f6!important}.cw-highlighted{background:#3b82f638}.cw-correct{background:#22c55e}html.light .cw-correct{background:#4ade80}.cw-correct .cw-letter{color:#fff}.cw-correct .cw-number{color:#fffc}.cw-number{color:var(--color-muted);pointer-events:none;font-size:7px;font-weight:700;line-height:1;position:absolute;top:1px;left:2px}.cw-selected .cw-number{color:#ffffffbf}.cw-letter{pointer-events:none;font-size:13px;font-weight:700;line-height:1}.cw-selected .cw-letter{color:#fff}.cw-active-clue{background:#3b82f61a;border-radius:8px;align-items:baseline;gap:.5rem;padding:.55rem .75rem;font-size:.88rem;display:flex}.cw-clue-dir{color:#3b82f6;white-space:nowrap;font-size:.82rem;font-weight:800}.cw-reset-row{justify-content:center;padding-top:.25rem;display:flex}.cw-reset-btn{flex-shrink:0}.cw-solved{color:#4a7c59;background:#4a7c5926;border-radius:10px;align-items:center;gap:.6rem;padding:.7rem .9rem;font-size:1rem;font-weight:700;display:flex}.cw-solved-icon{align-items:center;display:flex}.cw-clues{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.25rem;display:grid}.cw-clues-heading{text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);margin:0 0 .4rem;font-size:.78rem;font-weight:800}.cw-clue-item{cursor:pointer;border-radius:4px;gap:.3rem;padding:.18rem .3rem;font-size:.78rem;line-height:1.35;display:flex}.cw-clue-item:active{background:var(--color-surface)}.cw-clue-item-active{color:#3b82f6;font-weight:700}.cw-clue-item-num{flex-shrink:0;min-width:1.4rem;font-weight:700}.cw-clue-item-text{color:var(--color-text)}.cw-clue-item-active .cw-clue-item-text{color:#3b82f6}.cw-clue-item-correct,.cw-clue-item-correct .cw-clue-item-text{color:#4a7c59}.mem-wrap{flex-direction:column;gap:.75rem;padding-bottom:1rem;display:flex}.mem-meta{margin:0;font-size:.8rem}.mem-grid{grid-template-columns:repeat(4,1fr);gap:.45rem;display:grid}.mem-card{text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;border-radius:8px;justify-content:center;align-items:center;min-height:72px;padding:.35rem .3rem;font-size:.65rem;font-weight:600;line-height:1.35;transition:background .15s,transform .1s;display:flex}.mem-card:active{transform:scale(.95)}.mem-back{background:var(--color-accent);color:#ffffffb3;font-size:1.1rem}html.light .mem-back{color:#fffc;background:#3b82f6}.mem-term{color:var(--color-text);background:#3b82f626;border:1.5px solid #3b82f659}html.light .mem-term{background:#3b82f61a}.mem-def{background:var(--color-surface);border:1.5px solid var(--color-border);color:var(--color-text)}.mem-matched{color:#4a7c59;cursor:default;background:#4a7c592e;border:1.5px solid #4a7c5973}html.light .mem-matched{background:#4a7c591f}.mem-solved{background:#4a7c5926;border-radius:10px;align-items:center;gap:.7rem;padding:.8rem 1rem;display:flex}.mem-solved-icon{align-items:center;display:flex}.mem-solved-title{color:#4a7c59;font-size:1rem;font-weight:700}.quiz-save-row{justify-content:flex-end;margin-bottom:.75rem;display:flex}.quiz-save-btn{cursor:pointer;background:var(--color-accent);color:#fff;border:none;border-radius:8px;padding:.35rem .9rem;font-size:.82rem;font-weight:600;transition:background .15s,opacity .15s}.quiz-save-btn:disabled{cursor:default}.quiz-save-btn.quiz-save-btn-saving{background:var(--color-surface);color:var(--color-text-muted);animation:1s infinite pulse}.quiz-save-btn.quiz-save-btn-saved{color:var(--color-text-muted);border:1.5px solid var(--color-border);background:0 0}.quiz-editor{margin-top:1.5rem}.qe-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.qe-header-left{align-items:center;gap:.65rem;display:flex}.qe-question-count{color:var(--color-text-muted);font-size:.8rem}.qe-header-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.qe-body{border:1px solid var(--color-border);border-radius:10px;gap:0;min-height:520px;display:flex;overflow:hidden}.qe-mobile-tabs{display:none}.qe-sidebar{border-right:1px solid var(--color-border);background:var(--color-surface-alt,var(--color-bg));flex-direction:column;flex-shrink:0;width:220px;display:flex;overflow-y:auto}.qe-sidebar-item{text-align:left;border:none;border-bottom:1px solid var(--color-border);cursor:pointer;color:var(--color-text);background:0 0;align-items:flex-start;gap:.45rem;padding:.6rem .75rem;font-size:.8rem;line-height:1.35;transition:background .12s;display:flex}.qe-sidebar-item:hover{background:var(--color-hover,#ffffff0f)}.qe-sidebar-item.selected{background:var(--color-accent-alpha,#4a7c592e)}.qe-sidebar-type-badge{opacity:.7;flex-shrink:0;min-width:1.6rem;margin-top:1px;font-size:.72rem}.qe-sidebar-text{word-break:break-word;flex:1}.qe-sidebar-num{color:var(--color-text-muted);flex-shrink:0;margin-top:1px;font-size:.7rem}.qe-sidebar-add{border:1.5px dashed var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:7px;margin:.5rem;padding:.45rem .75rem;font-size:.8rem;transition:border-color .15s,color .15s}.qe-sidebar-add:hover{border-color:var(--color-accent);color:var(--color-accent)}.qe-status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:5px;display:inline-block}.qe-status-ok{background:#4a7c59}.qe-status-warn{background:#c47a1a}.qe-status-empty{background:var(--color-text-muted);opacity:.4}.qe-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow-y:auto}.qe-main-editor{flex-direction:column;gap:0;padding:1rem 1.1rem 1.5rem;display:flex}.qe-editor-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.qe-editor-label{color:var(--color-text-muted);font-size:.8rem}.qe-editor-actions{gap:.4rem;display:flex}.qe-type-picker{background:var(--color-surface-alt,#ffffff08);border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:.35rem;padding:.6rem .75rem;display:flex}.qe-type-group{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.qe-type-group-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;width:3.8rem;font-size:.68rem}.qe-type-group-btns{flex-wrap:wrap;gap:.3rem;display:flex}.qe-type-btn{border:1.5px solid var(--color-border);cursor:pointer;color:var(--color-text);white-space:nowrap;background:0 0;border-radius:5px;align-items:center;gap:.3rem;padding:.25rem .5rem;font-size:.75rem;line-height:1.2;transition:border-color .12s,background .12s,color .12s;display:flex}.qe-type-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.qe-type-btn.active{border-color:var(--color-accent);background:var(--color-accent-alpha,#4a7c592e);color:var(--color-accent);font-weight:600}.qe-type-icon{font-size:.8rem}.qe-type-name{font-size:.72rem}.qe-explanation-panel{margin-top:1rem}.qe-explanation-toggle{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;align-items:center;gap:.35rem;margin-bottom:.4rem;padding:.3rem 0;font-size:.82rem;display:flex}.qe-explanation-toggle:hover{color:var(--color-text)}.qe-explanation-toggle-icon{font-size:.7rem}.qe-explanation-badge{color:#4a7c59;margin-left:.2rem;font-size:.65rem}@media (width<=700px){.qe-body{min-height:unset;flex-direction:column}.qe-mobile-tabs{border-bottom:1px solid var(--color-border);display:flex}.qe-tab{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:.5rem;font-size:.82rem}.qe-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.qe-sidebar{border-right:none;border-bottom:1px solid var(--color-border);width:100%;max-height:40vh;display:none}.qe-sidebar.qe-sidebar-visible{display:flex}.qe-main{display:none}.qe-main.qe-main-visible{display:flex}.qe-type-group-label{width:auto}}.qe-sidebar-drag{cursor:grab;color:var(--color-text-muted);-webkit-user-select:none;user-select:none;flex-shrink:0;padding:0 2px;font-size:1rem}.qe-sidebar-item.drag-over{border-top:2px solid var(--color-accent)}.qe-answer-block{flex-direction:column;gap:2px;margin-bottom:6px;display:flex}.qe-answer-btn{background:var(--color-surface,#ffffff0d);border:1.5px solid var(--color-border);border-radius:8px;align-items:center;gap:.5rem;padding:.45rem .6rem;transition:border-color .15s,background .15s;display:flex}.qe-answer-btn.qe-answer-correct{background:#4a7c591f;border-color:#4a7c59}.qe-answer-marker{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;flex-shrink:0;padding:0;font-size:1rem;line-height:1}.qe-answer-correct .qe-answer-marker{color:#4a7c59}.qe-answer-text-input{color:var(--color-text);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:0;font-family:inherit;font-size:.9rem}.qe-answer-feedback-toggle{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;align-items:center;gap:1px;padding:0 2px;font-size:.85rem;display:flex}.qe-answer-delete{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:.8rem}.qe-answer-delete:hover{color:var(--color-error,#ef4444)}.qe-answer-feedback-field{padding:4px 2.4rem}.qe-answers-section{margin-top:.65rem}.qe-add-answer-btn{margin-top:.25rem}.qe-fillblank-editor{border:1px solid var(--color-border);background:var(--color-surface,#ffffff0a);min-height:3rem;color:var(--color-text);cursor:text;border-radius:6px;outline:none;padding:.55rem .7rem;font-size:.92rem;line-height:1.6}.qe-fillblank-editor:focus{border-color:var(--color-accent)}.qe-fillblank-gap{color:var(--color-text);background:#4a7c5940;border:1px solid #4a7c59;border-radius:4px;padding:0 4px;font-weight:600;display:inline-block}.qe-fillblank-preview{border:1px solid var(--color-border);background:var(--color-surface,#ffffff08);word-break:break-word;border-radius:6px;margin-top:.4rem;padding:.5rem .65rem;font-size:.9rem;line-height:1.7}html.light .qe-fillblank-preview{background:#00000008}.qe-diagram-wrap{cursor:crosshair;border:1px solid var(--color-border);border-radius:6px;max-width:100%;margin-top:.35rem;display:inline-block;position:relative;overflow:hidden}.qe-diagram-img{-webkit-user-select:none;user-select:none;max-width:100%;height:auto;display:block}.qe-diagram-pin{background:var(--color-accent,#4a7c59);color:#fff;cursor:grab;-webkit-user-select:none;user-select:none;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:.72rem;font-weight:700;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0006}.qe-diagram-pin:active{cursor:grabbing}.qe-diagram-pin-label-num{background:var(--color-accent,#4a7c59);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.7rem;font-weight:700;display:inline-flex}.qe-matching-row{align-items:center;gap:.4rem;margin-bottom:.3rem;display:flex}.qe-matching-arrow{color:var(--color-text-muted);flex-shrink:0;font-size:.8rem}.qe-panels{margin-top:1rem}.qe-panels-row{flex-wrap:wrap;gap:.4rem;display:flex}.qe-panel-toggle{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:.3rem;padding:.3rem .65rem;font-size:.8rem;transition:border-color .15s,color .15s,background .15s;display:flex}.qe-panel-toggle:hover{border-color:var(--color-accent);color:var(--color-text)}.qe-panel-toggle.active{border-color:var(--color-accent);color:var(--color-accent);background:#4a7c5914}.qe-panel-dot{background:var(--color-accent,#4a7c59);border-radius:50%;width:6px;height:6px;margin-left:2px;display:inline-block}.qe-panel-body{background:var(--color-surface,#ffffff08);border:1px solid var(--color-border);border-top:none;border-radius:0 0 6px 6px;margin-top:-1px;padding:.65rem .75rem}.qe-panel-ki{border-top:1px solid var(--color-border);border-radius:6px;margin-top:.4rem}.qe-ai-actions{flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem;display:flex}.qe-ai-btn{flex:auto;align-items:center;gap:.35rem;min-width:120px;font-size:.8rem;display:flex}.qe-ai-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:12px;height:12px;animation:.7s linear infinite spin}.qe-ai-error{color:var(--color-error,#ef4444);background:#ef444414;border-radius:5px;margin-bottom:.5rem;padding:.35rem .5rem;font-size:.78rem}.qe-ai-results{border:1px solid var(--color-border);border-radius:7px;margin-top:.5rem;overflow:hidden}.qe-ai-results-header{background:var(--color-surface,#ffffff0a);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.35rem .65rem;font-size:.78rem;font-weight:600;display:flex}.qe-ai-dismiss{cursor:pointer;color:var(--color-muted,#888);background:0 0;border:none;padding:0;font-size:.75rem}.qe-ai-dismiss:hover{color:var(--color-error,#ef4444)}.qe-ai-card{border-bottom:1px solid var(--color-border);padding:.55rem .65rem}.qe-ai-card:last-child{border-bottom:none}.qe-ai-card-inline{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.qe-ai-card-question{margin:0 0 .25rem;font-size:.82rem;font-weight:500}.qe-ai-card-answers{color:var(--color-muted,#888);margin:0 0 .3rem;font-size:.75rem}.qe-ai-correct{color:var(--color-success,#22c55e);font-weight:600}.qe-ai-accept{background:var(--color-primary,#6366f1);color:#fff;cursor:pointer;border:none;border-radius:5px;margin-top:.3rem;padding:.2rem .5rem;font-size:.75rem;display:inline-block}.qe-ai-accept:hover{opacity:.85}.qe-ai-card-inline .qe-ai-accept{flex-shrink:0;margin-top:0}.qe-ai-label{margin:0 0 .3rem;font-size:.8rem}.qe-ai-key-form{border-bottom:1px solid var(--color-border);margin-bottom:.65rem;padding-bottom:.65rem}.qe-ai-key-saved{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.qe-text-toolbar{gap:.25rem;margin-bottom:.25rem;display:flex}.qe-text-tool{background:var(--color-surface,#ffffff0f);border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-muted);border-radius:4px;padding:.15rem .45rem;font-size:.82rem;transition:border-color .12s,color .12s}.qe-text-tool:hover{border-color:var(--color-accent);color:var(--color-text)}.qe-type-grid-wrap{margin-top:.5rem}.qe-type-grid-group{margin-bottom:.5rem}.qe-type-grid-group-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.7rem;display:block}.qe-type-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.45rem;display:grid}.qe-type-card{border:1.5px solid var(--color-border);background:var(--color-surface,#ffffff0a);border-radius:10px;transition:border-color .13s,background .13s;position:relative;overflow:hidden}.qe-type-card:hover{border-color:var(--color-accent);background:#4a7c5914}.qe-type-card.active{border-color:var(--color-accent);background:#4a7c5926}.qe-type-info-btn{border:1px solid var(--color-border);cursor:pointer;width:18px;height:18px;color:var(--color-text-muted);z-index:1;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:.65rem;font-style:italic;font-weight:700;line-height:1;transition:background .12s,color .12s,border-color .12s;display:flex;position:absolute;top:5px;right:5px}.qe-type-info-btn:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.qe-type-card-body{cursor:pointer;text-align:center;background:0 0;border:none;flex-direction:column;align-items:center;gap:.2rem;width:100%;padding:.7rem .45rem .55rem;display:flex}.qe-tile-icon{margin-bottom:.15rem;font-size:1.35rem;line-height:1}.qe-tile-label{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.69rem;font-weight:600;overflow:hidden}.qe-type-card.active .qe-tile-label{color:var(--color-accent)}.qe-tile-desc{color:var(--color-text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.6rem;line-height:1.3;display:-webkit-box;overflow:hidden}.qe-type-modal-backdrop{z-index:1000;background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.qe-type-modal{background:var(--color-bg,#1a1a1a);border-radius:16px 16px 0 0;width:100%;max-width:480px;max-height:80dvh;padding:1.25rem 1.25rem 2.5rem;position:relative;overflow-y:auto}.qe-type-modal-close{border:1px solid var(--color-border);cursor:pointer;width:28px;height:28px;color:var(--color-text-muted);background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;display:flex;position:absolute;top:.75rem;right:.75rem}.qe-type-modal-close:hover{background:var(--color-hover,#ffffff12)}.qe-type-modal-icon{text-align:center;margin-bottom:.45rem;font-size:2.25rem;display:block}.qe-type-modal-title{text-align:center;margin:0 0 .7rem;font-size:1.05rem}.qe-type-modal-desc{color:var(--color-text);margin:0 0 1rem;font-size:.87rem;line-height:1.55}.qe-type-modal-tips{border-top:1px solid var(--color-border);padding-top:.75rem}.qe-type-modal-tips-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin:0 0 .4rem;font-size:.7rem;font-weight:600}.qe-type-modal-tips ul{flex-direction:column;gap:.3rem;margin:0;padding-left:1.1rem;display:flex}.qe-type-modal-tips li{font-size:.83rem;line-height:1.45}.qe-settings-panel{border:1px solid var(--color-border);background:var(--color-surface,#ffffff08);border-radius:8px;flex-direction:column;gap:.65rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.qe-settings-row{flex-wrap:wrap;align-items:flex-start;gap:.75rem;display:flex}.qe-settings-label{color:var(--color-text-muted);flex-shrink:0;min-width:140px;padding-top:.25rem;font-size:.82rem}.qe-settings-control{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.qe-settings-active{border-color:var(--color-accent)!important}.qe-ctx-menu{z-index:200;background:var(--color-bg,#1a1a1a);border:1px solid var(--color-border);border-radius:7px;min-width:140px;padding:.25rem 0;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 4px 16px #0000004d}.qe-ctx-menu button{text-align:left;cursor:pointer;width:100%;color:var(--color-text);background:0 0;border:none;padding:.4rem .85rem;font-size:.85rem;display:block}.qe-ctx-menu button:hover{background:var(--color-hover,#ffffff0f)}html.light .qe-fillblank-editor,html.light .qe-answer-btn{background:#00000008}html.light .qe-type-card{background:#fff}html.light .qe-type-card.active{background:#4a7c591a}html.light .qe-type-modal{background:#fff}html.light .qe-settings-panel,html.light .qe-panel-body{background:#00000008}html.light .qe-ctx-menu{background:#fff}.qe-answer-drag{cursor:grab;color:var(--color-text-muted);-webkit-user-select:none;user-select:none;opacity:.5;flex-shrink:0;padding:0 2px;font-size:1rem;transition:opacity .1s}.qe-answer-btn:hover .qe-answer-drag{opacity:1}.qe-answer-block.drag-over{border-top:2px solid var(--color-accent)}.qe-formula-panel{background:var(--color-surface,#ffffff0a);border:1px solid var(--color-border);border-top:none;border-radius:0 0 6px 6px;margin-bottom:.35rem;padding:.5rem .6rem}.qe-formula-preview{border:1px solid var(--color-border);background:var(--color-bg,#111);border-radius:5px;margin-top:.4rem;padding:.4rem .5rem;font-size:1rem;overflow-x:auto}.qe-text-tool.active{border-color:var(--color-accent);color:var(--color-accent);background:#4a7c5914}html.light .qe-formula-panel{background:#00000008}html.light .qe-formula-preview{background:#f7f7f7}.qe-save-error{color:var(--color-error,#ef4444);align-items:center;gap:.4rem;font-size:.78rem;display:flex}.qe-retry-btn{border:1px solid var(--color-error,#ef4444);color:var(--color-error,#ef4444);cursor:pointer;background:0 0;border-radius:4px;padding:1px 6px;font-size:.75rem}.qe-retry-btn:hover{background:#ef44441a}.qe-preview{flex-direction:column;flex:1;gap:.5rem;padding:1rem .75rem;display:flex}.qe-preview-badge{color:var(--color-accent,#4a7c59);text-transform:uppercase;letter-spacing:.04em;background:#4a7c5926;border-radius:4px;align-self:flex-start;padding:.15rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.qe-preview-text{font-size:.95rem;font-weight:500;line-height:1.5}.qe-preview-answers{flex-direction:column;gap:.4rem;display:flex}.qe-preview-answer{border:1.5px solid var(--color-border);border-radius:8px;padding:.4rem .7rem;font-size:.88rem}.qe-preview-answer.correct{color:#4a7c59;background:#4a7c591a;border-color:#4a7c59}.qe-preview-fillblank{border:1px solid var(--color-border);background:var(--color-surface,#ffffff08);border-radius:8px;padding:.5rem .7rem}a.admin-btn{text-decoration:none}@media (width<=700px){.qe-mobile-tabs{display:flex}}.report-status-badge{white-space:nowrap;border-radius:99px;padding:.15rem .55rem;font-size:.72rem;font-weight:600;display:inline-block}.report-status-pending{color:#ca8a04;background:#eab3082e}.report-status-resolved{color:#4a7c59;background:#4a7c592e}.report-status-followup{color:#3b82f6;background:#3b82f62e}.report-status-unsolvable{color:#dc2626;background:#ef44442e}.report-status-ignored{color:var(--color-text-muted);background:#6b72802e}html.light .report-status-pending{color:#b45309;background:#eab30826}html.light .report-status-resolved{color:#15803d;background:#4a7c5926}html.light .report-status-followup{color:#1d4ed8;background:#3b82f626}html.light .report-status-unsolvable{color:#b91c1c;background:#ef444426}html.light .report-status-ignored{color:#6b7280;background:#6b728026}.report-filter-row{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.report-filter-btn{border:1.5px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:99px;padding:.25rem .65rem;font-size:.75rem}.report-filter-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.report-action-panel{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:10px;flex-direction:column;gap:.6rem;margin-top:.6rem;padding:.75rem;display:flex}.report-action-with-note{flex-direction:column;gap:.35rem;display:flex}.report-action-note{resize:vertical;font-size:.82rem}.report-action-note-btns{flex-wrap:wrap;gap:.5rem;display:flex}.report-action-btn{cursor:pointer;border:none;border-radius:8px;padding:.3rem .75rem;font-size:.82rem;font-weight:600;transition:opacity .15s}.report-action-btn:disabled{opacity:.45;cursor:default}.report-action-resolved{color:#4a7c59;background:#4a7c5933}.report-action-followup{color:#3b82f6;background:#3b82f633}.report-action-unsolvable{color:#dc2626;background:#ef44442e}.report-action-ignored{color:var(--color-text-muted);background:#6b72802e}html.light .report-action-resolved{color:#15803d;background:#4a7c591f}html.light .report-action-followup{color:#1d4ed8;background:#3b82f61f}html.light .report-action-unsolvable{color:#b91c1c;background:#ef44441f}html.light .report-action-ignored{color:#6b7280;background:#6b72801f}.report-admin-note-display{color:var(--color-text-muted);background:var(--color-surface);border-left:3px solid var(--color-border);border-radius:0 6px 6px 0;margin-top:.25rem;padding:.3rem .6rem;font-size:.82rem}.report-user-reply{border-left-color:var(--color-accent);color:var(--color-text)}.my-reports-list{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.my-report-item{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:12px;position:relative;overflow:hidden}.my-report-blur-wrap{filter:blur(.8px);opacity:.6;pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;gap:.4rem;padding:.9rem 1rem;display:flex}.my-report-item>div:not(.my-report-notfound-overlay):not(.my-report-blur-wrap){flex-direction:column;gap:.4rem;padding:.9rem 1rem;display:flex}.my-report-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem;display:flex}.my-report-date{font-size:.78rem}.my-report-scope{color:var(--color-text-muted);font-size:.8rem}.my-report-text{white-space:pre-wrap;word-break:break-word;font-size:.88rem;line-height:1.5}.my-report-reply-input{resize:vertical;font-size:.85rem}.my-report-reply-section{flex-direction:column;display:flex}.my-report-followup-sent{font-size:.82rem}.my-report-chat-history{border-bottom:1px solid var(--color-border);flex-direction:column;gap:.35rem;margin-bottom:.75rem;padding-bottom:.75rem;display:flex}.my-report-chat-msg{border-radius:6px;max-width:90%;padding:.4rem .6rem;font-size:.82rem;line-height:1.45}.my-report-chat-admin{background:var(--color-surface-2,#0000000f);align-self:flex-start}.my-report-chat-user{background:#ed57551f}@supports (color:color-mix(in lab, red, red)){.my-report-chat-user{background:color-mix(in srgb, var(--color-accent) 12%, transparent)}}.my-report-chat-user{text-align:right;align-self:flex-end}.my-report-notfound-overlay{pointer-events:none;background:#00000038;border-radius:12px;justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;inset:0}html.light .my-report-notfound-overlay{background:#ffffff59}.my-report-notfound-inner{pointer-events:auto;flex-direction:column;align-items:center;gap:.5rem;display:flex}.my-report-notfound-text{color:#fff;text-align:center;background:#0000008c;border-radius:7px;padding:.4rem .8rem;font-size:.85rem;font-weight:600}html.light .my-report-notfound-text{color:var(--color-text);background:#ffffffe0;box-shadow:0 2px 8px #0000001a}.my-report-notfound-delete{cursor:pointer;color:#fff;background:#dc2626d9;border:none;border-radius:7px;align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.8rem;font-weight:600;transition:background .15s;display:flex}.my-report-notfound-delete:hover,html.light .my-report-notfound-delete{background:#dc2626}.my-report-quiz-preview{background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:10px;flex-direction:column;gap:.3rem;padding:.65rem .75rem;display:flex}.my-report-quiz-type{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:600}.my-report-quiz-text{font-size:.9rem;font-weight:600;line-height:1.45}.my-report-quiz-answers{flex-direction:column;gap:.2rem;margin:.2rem 0 0;padding:0;list-style:none;display:flex}.my-report-quiz-answers-ol{padding-left:.25rem;list-style:inside decimal}.my-report-quiz-answer{color:var(--color-text-muted);align-items:baseline;gap:.35rem;padding:.1rem 0;font-size:.82rem;display:flex}.my-report-quiz-answer.correct{color:#4a7c59;font-weight:600}html.light .my-report-quiz-answer.correct{color:#15803d}.my-report-quiz-answer-icon{flex-shrink:0;font-size:.78rem}.my-report-feedback{border-radius:10px;flex-direction:column;gap:.35rem;padding:.65rem .75rem;display:flex}.my-report-feedback-resolved{background:#4a7c591a;border:1.5px solid #4a7c5947}.my-report-feedback-unsolvable{background:#ef444414;border:1.5px solid #ef444438}.my-report-feedback-ignored{border:1.5px solid var(--color-border);background:#6b72801a}.my-report-feedback-followup{background:#3b82f614;border:1.5px solid #3b82f647}.my-report-feedback-intro{color:var(--color-text-muted);font-size:.8rem;font-weight:600;line-height:1.4}.my-report-feedback-date{font-weight:400}.my-report-feedback-note{font-size:.88rem;line-height:1.5}.my-report-feedback-followup .my-report-feedback-intro{color:#3b82f6}.my-report-feedback-resolved .my-report-feedback-note{color:#4a7c59}html.light .my-report-feedback-resolved .my-report-feedback-note{color:#15803d}.my-report-delete-btn{cursor:pointer;color:var(--color-text-muted);opacity:.55;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:4px;transition:opacity .15s,color .15s;display:flex}.my-report-delete-btn:hover{opacity:1;color:#dc2626}.report-cards{flex-direction:column;gap:.85rem;display:flex}.report-card{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:12px;flex-direction:column;gap:.45rem;padding:.9rem 1rem;display:flex}.report-card-pending{border-left:3px solid #ca8a04}.report-card-followup{border-left:3px solid #3b82f6}.report-card-resolved{opacity:.85;border-left:3px solid #4a7c59}.report-card-unsolvable{opacity:.85;border-left:3px solid #dc2626}.report-card-ignored{border-left:3px solid var(--color-border);opacity:.75}.report-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.report-card-header-left{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.report-status-date{opacity:.8;font-weight:400}.report-card-kind-badge{background:var(--color-bg);border:1.5px solid var(--color-border);color:var(--color-text-muted);border-radius:99px;padding:.12rem .45rem;font-size:.7rem;font-weight:600}.report-card-goto{white-space:nowrap;flex-shrink:0;font-size:.8rem}.report-card-meta{flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.78rem;display:flex}.report-card-user{font-weight:600}.report-card-scope{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:.2rem;font-size:.82rem;display:flex}.report-card-context-meta{font-size:.78rem;font-style:italic}.report-card-text{border-left:2.5px solid var(--color-border);white-space:pre-wrap;word-break:break-word;margin:.1rem 0;padding-left:.75rem;font-size:.9rem;line-height:1.55}.report-card-actions{border-top:1px solid var(--color-border);flex-direction:column;gap:.5rem;margin-top:.25rem;padding-top:.6rem;display:flex}.report-card-quick{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.report-action-toggle{border:1.5px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:8px;padding:.28rem .7rem;font-size:.8rem;transition:background .15s,border-color .15s}.report-action-toggle:hover,.report-action-toggle.active{background:var(--color-surface);border-color:var(--color-accent);color:var(--color-text)}.report-card-expand{background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:8px;flex-direction:column;gap:.4rem;padding:.6rem .75rem;display:flex}.game-card-footer{align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.game-card-footer .game-play-btn{flex:1;margin-top:0}.game-report-btn{border:1.5px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;opacity:.6;background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:.45rem;transition:opacity .15s,border-color .15s,color .15s;display:flex}.game-report-btn:hover{opacity:1;border-color:var(--color-accent);color:var(--color-accent)}.regen-reports-box{background:#eab30812;border:1.5px solid #eab30847;border-radius:10px;flex-direction:column;gap:.4rem;padding:.65rem .75rem;display:flex}html.light .regen-reports-box{background:#eab30814;border-color:#ca8a0459}.regen-reports-title{color:#ca8a04;font-size:.8rem;font-weight:600}html.light .regen-reports-title{color:#b45309}.regen-reports-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.regen-reports-item{flex-wrap:wrap;align-items:baseline;gap:.35rem;font-size:.82rem;line-height:1.45;display:flex}.regen-reports-node{color:var(--color-text-muted);flex-shrink:0;font-size:.75rem;font-weight:600}.regen-reports-kind{color:#ca8a04;background:#eab30826;border-radius:4px;flex-shrink:0;padding:.08rem .35rem;font-size:.7rem;font-weight:600}html.light .regen-reports-kind{color:#b45309;background:#eab3081f}.regen-reports-text{color:var(--color-text);word-break:break-word}.quiz-answer-block,.my-report-quiz-preview,.report-card-quiz-block{background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:10px;flex-direction:column;gap:.3rem;padding:.65rem .75rem;display:flex}.qab-type{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:600}.qab-text{margin:0;font-size:.9rem;font-weight:600;line-height:1.45}.qab-sentence{color:var(--color-text-muted);margin:.1rem 0;font-size:.85rem;font-style:italic}.qab-hint{color:var(--color-text-muted);margin:.15rem 0 0;font-size:.75rem}.qab-list{flex-direction:column;gap:.2rem;margin:.1rem 0 0;padding:0;list-style:none;display:flex}.qab-ordered{list-style:none}.qab-item{color:var(--color-text-muted);align-items:baseline;gap:.35rem;padding:.1rem 0;font-size:.82rem;display:flex}.qab-correct{color:#4a7c59;font-weight:600}html.light .qab-correct{color:#15803d}.qab-icon{flex-shrink:0;min-width:1.1em;font-size:.78rem}.qab-pair-sep{color:var(--color-text-muted);margin:0 .1rem;font-weight:400}.qab-image{object-fit:contain;border-radius:6px;max-width:100%;max-height:120px;margin-bottom:.25rem}.gen-topic-cost-row{align-items:flex-start;gap:.85rem;margin-bottom:.25rem;display:flex}.gen-topic-area{flex:1;min-width:0}.gen-header-cost{background:#4a7c5917;border:1px solid #4a7c5959;border-radius:8px;flex-direction:column;flex-shrink:0;align-self:flex-end;align-items:flex-end;gap:.1rem;min-width:9rem;padding:.5rem .75rem .55rem;display:flex}.gen-header-cost-unknown{border-color:var(--color-border);background:var(--color-surface)}.gen-header-cost-label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.66rem}.gen-header-cost-amount{color:var(--color-accent);font-size:1.1rem;font-weight:700;line-height:1}.gen-header-cost-unknown .gen-header-cost-amount{color:var(--color-muted)}.gen-header-cost-detail{color:var(--color-muted);font-size:.66rem}.gen-mode-tiles{grid-template-columns:repeat(3,1fr);gap:.55rem;display:grid}.gen-mode-tile{border:1.5px solid var(--color-border);background:var(--color-surface);text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;gap:.25rem;padding:.7rem .75rem .75rem;transition:border-color .15s,background .15s;display:flex}.gen-mode-tile:hover{border-color:#94494f}@supports (color:color-mix(in lab, red, red)){.gen-mode-tile:hover{border-color:color-mix(in srgb, var(--color-accent) 50%, var(--color-border))}}.gen-mode-tile.active{border-color:var(--color-accent);background:#ed575514}@supports (color:color-mix(in lab, red, red)){.gen-mode-tile.active{background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.gen-mode-tile-badges{flex-wrap:wrap;gap:.3rem;margin-bottom:.15rem;display:flex}.gen-mode-badge{border:1px solid var(--color-border);color:var(--color-muted);background:var(--color-bg);border-radius:4px;align-items:center;gap:.2rem;padding:.1rem .35rem;font-size:.63rem;font-weight:700;line-height:1.4;display:inline-flex}.gen-mode-tile-title{color:var(--color-text);font-size:.9rem;font-weight:600}.gen-mode-tile-desc{color:var(--color-muted);font-size:.74rem;line-height:1.35}.gen-orientation-row{gap:.4rem;display:flex}.gen-orientation-btn{border:1.5px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;text-align:center;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:.15rem;padding:.55rem .5rem;transition:background .15s,border-color .15s;display:flex}.gen-orientation-btn:hover{border-color:#94494f}@supports (color:color-mix(in lab, red, red)){.gen-orientation-btn:hover{border-color:color-mix(in srgb, var(--color-accent) 50%, var(--color-border))}}.gen-orientation-btn.active{border-color:var(--color-accent);background:#ed57551f}@supports (color:color-mix(in lab, red, red)){.gen-orientation-btn.active{background:color-mix(in srgb, var(--color-accent) 12%, transparent)}}.gen-orientation-label{font-size:.82rem;font-weight:600}.gen-orientation-hint{color:var(--color-muted);font-size:.67rem;line-height:1.3}.gen-orientation-btn.active .gen-orientation-hint{color:inherit;opacity:.7}.gen-billing-links{gap:.5rem;margin-bottom:.75rem;display:flex}.gen-billing-btn{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);border-radius:6px;align-items:center;gap:.3rem;padding:.3rem .7rem;font-size:.78rem;text-decoration:none;transition:border-color .12s,color .12s;display:inline-flex}.gen-billing-btn:hover{border-color:var(--color-accent);color:var(--color-text)}.media-illus-prompt-wrap{margin-top:.5rem}.gen-debug-section{border-top:1px solid var(--color-border);margin-top:.75rem;padding-top:.5rem}.gen-header-row{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.gen-queue-link{white-space:nowrap;font-size:.82rem}.gq-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);margin-bottom:.5rem;font-size:.78rem}.gq-done-section{margin-top:.25rem}.gq-done-toggle{cursor:pointer;width:100%;color:var(--color-muted);background:0 0;border:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem 0;display:flex}.gq-done-toggle:hover{color:var(--color-text)}.gq-list{flex-direction:column;gap:.75rem;display:flex}.gq-card{background:var(--color-surface-alt,#ffffff0a);border:1px solid var(--color-border);border-radius:.75rem;flex-direction:column;gap:.4rem;padding:.9rem 1rem;display:flex}.gq-card-queued{opacity:.85;border-color:#94a3b84d}.gq-card-awaiting_review{border-color:#f0b45073}.gq-card-generating{border-color:#4a7c5973}.gq-card-done{border-color:#4a7c5940}.gq-card-error{border-color:#dc505066}.gq-card-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.gq-status-badge{color:var(--color-muted);white-space:nowrap;background:#ffffff0f;border-radius:99px;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.75rem;font-weight:600;display:inline-flex}.gq-status-queued{color:#94a3b8;background:#94a3b81a}.gq-status-awaiting_review{color:#f0b450e6;background:#f0b4501a}.gq-status-generating{color:var(--color-accent);background:#4a7c591f}.gq-status-done{color:#5bbf8a;background:#5bbf8a1a}.gq-status-error{color:#e05c5c;background:#e05c5c1a}html.light .gq-status-badge{background:#0000000f}html.light .gq-status-done{background:#15803d14}.gq-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:.65rem;height:.65rem;animation:.7s linear infinite spin;display:inline-block}.gq-card-topic{margin:0;font-size:.95rem;font-weight:600}.gq-card-meta{gap:.4rem;font-size:.78rem;display:flex}.gq-card-date{font-size:.75rem}.gq-card-detail{margin:0;font-size:.8rem}.gq-queue-position{margin:0;font-size:.8rem;font-style:italic}.gq-gen-cards{flex-wrap:wrap;gap:.75rem;display:flex}.gq-gen-card{background:var(--color-surface-alt,#ffffff0a);border:1px solid var(--color-border);cursor:pointer;text-align:left;border-radius:.75rem;flex:1;align-items:center;gap:.75rem;min-width:140px;padding:.85rem 1rem;transition:border-color .15s,background .15s;display:flex}.gq-gen-card:hover{border-color:var(--color-accent);background:#ed57550f}@supports (color:color-mix(in lab, red, red)){.gq-gen-card:hover{background:color-mix(in srgb, var(--color-accent) 6%, transparent)}}.gq-gen-card-icon{flex-shrink:0}.gq-gen-card-title{margin:0 0 .1rem;font-size:.9rem;font-weight:600}.gq-gen-card-desc{margin:0;font-size:.75rem}.media-opts-wrap{flex-direction:column;gap:.5rem;display:flex}.media-opts-bar{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.media-opt-card{background:var(--color-surface-alt,#ffffff0a);border:1.5px solid var(--color-border);cursor:pointer;text-align:left;touch-action:manipulation;border-radius:.6rem;align-items:center;gap:.55rem;padding:.65rem .75rem;transition:border-color .15s,background .15s;display:flex;position:relative}.media-opt-card:hover{border-color:var(--color-accent)}.media-opt-card.active{border-color:var(--color-accent);background:#ed575514}@supports (color:color-mix(in lab, red, red)){.media-opt-card.active{background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.media-opt-card.media-opt-warn.active{background:#d9770614;border-color:#d97706}.media-opt-icon{flex-shrink:0;font-size:1.1rem}.media-opt-body{flex-direction:column;flex:1;min-width:0;display:flex}.media-opt-title{flex-wrap:wrap;align-items:center;gap:.3rem;font-size:.82rem;font-weight:600;display:flex}.media-opt-desc{color:var(--color-muted);margin-top:.1rem;font-size:.72rem;line-height:1.3}.media-opt-badge{color:#d97706;white-space:nowrap;background:#d977062e;border-radius:.25rem;padding:.05rem .3rem;font-size:.62rem;font-weight:500}.media-opt-badge-ok{color:#22c55e;background:#22c55e26}.media-opt-check{color:var(--color-border);flex-shrink:0;font-size:.8rem;transition:color .15s}.media-opt-check.on{color:var(--color-accent)}.media-opts-hint{color:var(--color-muted);background:#ffffff08;border-radius:.4rem;margin:0;padding:.35rem .5rem;font-size:.75rem}.media-opts-hint-warn{color:#d97706}.media-opts-styles{border:1px solid var(--color-border);background:var(--color-surface-alt,#ffffff08);border-radius:.6rem;flex-direction:column;gap:.4rem;padding:.5rem .6rem;display:flex}.media-style-btn{cursor:pointer;text-align:left;background:0 0;border:1.5px solid #0000;border-radius:.4rem;align-items:center;gap:.5rem;padding:.45rem .6rem;transition:border-color .12s,background .12s;display:flex}.media-style-btn:hover{border-color:var(--color-border)}.media-style-btn.active{border-color:var(--color-accent);background:#ed57551a}@supports (color:color-mix(in lab, red, red)){.media-style-btn.active{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}}.media-style-label{min-width:80px;font-size:.82rem;font-weight:600}.media-style-desc{color:var(--color-muted);font-size:.75rem}.media-opts-style-row{border:1px solid var(--color-border);background:var(--color-surface-alt,#ffffff08);border-radius:.6rem;flex-direction:column;gap:.4rem;padding:.5rem .6rem;display:flex}.media-style-pick-btn{border:1.5px solid var(--color-accent);background:#ed57551a;border-radius:.5rem;align-items:center;gap:.6rem;padding:.55rem .7rem;display:flex}@supports (color:color-mix(in lab, red, red)){.media-style-pick-btn{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}}.media-style-pick-btn{cursor:pointer;text-align:left;width:100%;transition:border-color .12s,background .12s}.media-style-pick-btn:hover{background:#ed57552e}@supports (color:color-mix(in lab, red, red)){.media-style-pick-btn:hover{background:color-mix(in srgb, var(--color-accent) 18%, transparent)}}.media-style-pick-thumb{object-fit:cover;background:var(--color-border);border-radius:.5rem;flex-shrink:0;width:5.5rem;height:5.5rem}.media-style-pick-label{flex:1;font-size:.85rem;font-weight:600}.media-style-pick-desc{color:var(--color-muted);flex:2;font-size:.73rem}.media-style-pick-arrow{color:var(--color-muted);flex-shrink:0;font-size:1.1rem}.style-catalog-overlay{z-index:300;background:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.style-catalog-modal{background:var(--color-surface);border-radius:1rem 1rem 0 0;flex-direction:column;width:100%;max-height:90dvh;display:flex;overflow:hidden}@media (width>=600px){.style-catalog-overlay{align-items:center}.style-catalog-modal{border-radius:1rem;width:min(95vw,900px);max-height:88dvh}}.style-catalog-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:.9rem 1rem .7rem;display:flex}.style-catalog-title{font-size:1rem;font-weight:700}.style-catalog-close{color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-radius:.3rem;padding:.2rem .4rem;font-size:1.1rem}.style-catalog-search-wrap{flex-shrink:0;padding:.6rem .85rem .4rem}.style-catalog-search{border:1px solid var(--color-border);background:var(--color-bg);width:100%;color:var(--color-text);box-sizing:border-box;border-radius:.5rem;outline:none;padding:.5rem .75rem;font-size:.9rem}.style-catalog-search:focus{border-color:var(--color-accent)}.style-catalog-tabs{scrollbar-width:none;flex-shrink:0;gap:.25rem;padding:0 .85rem .4rem;display:flex;overflow-x:auto}.style-cat-tab{border:1.5px solid var(--color-border);color:var(--color-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:2rem;align-items:center;gap:.25rem;padding:.3rem .65rem;font-size:.78rem;font-weight:500;transition:border-color .12s,color .12s,background .12s;display:flex}.style-cat-tab.active{border-color:var(--color-accent);color:var(--color-accent);background:#ed57551f}@supports (color:color-mix(in lab, red, red)){.style-cat-tab.active{background:color-mix(in srgb, var(--color-accent) 12%, transparent)}}.style-cat-count{background:var(--color-border);color:var(--color-muted);border-radius:1rem;padding:.05rem .3rem;font-size:.7rem}.style-cat-tab.active .style-cat-count{background:#ed575540}@supports (color:color-mix(in lab, red, red)){.style-cat-tab.active .style-cat-count{background:color-mix(in srgb, var(--color-accent) 25%, transparent)}}.style-cat-tab.active .style-cat-count{color:var(--color-accent)}.style-catalog-scroll{flex:1;min-height:0;overflow-y:auto}.style-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.6rem;padding:.5rem .85rem .85rem;display:grid}.style-card{border:1.5px solid var(--color-border);background:var(--color-bg);cursor:pointer;text-align:left;border-radius:.7rem;flex-direction:column;padding:0;transition:border-color .12s,transform .1s;display:flex;overflow:hidden}.style-card:active{transform:scale(.97)}.style-card.selected{border-color:var(--color-accent)}.style-card-img{aspect-ratio:1;background:var(--color-border);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.style-card-img img{object-fit:cover;width:100%;height:100%;display:block}.style-card-placeholder{opacity:.3;font-size:1.8rem}.style-card-check{background:var(--color-accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:1.3rem;height:1.3rem;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:.3rem;right:.3rem}.style-card-info{flex-direction:column;gap:.15rem;padding:.45rem .55rem .5rem;display:flex}.style-card-label{font-size:.78rem;font-weight:600;line-height:1.25}.style-card-desc{color:var(--color-muted);font-size:.68rem;line-height:1.3}.style-catalog-footer{border-top:1px solid var(--color-border);flex-direction:column;flex-shrink:0;gap:.5rem;padding:.6rem .85rem;display:flex}.style-catalog-key-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.style-key-toggle{cursor:pointer;color:var(--color-muted);background:0 0;border:none;flex-shrink:0;padding:0;font-size:.75rem;text-decoration:underline}.style-preview-error{color:#ef4444;word-break:break-word;font-size:.73rem}.style-preview-progress{background:var(--color-border);border-radius:2px;flex:1;min-width:60px;height:4px;overflow:hidden}.style-preview-bar{background:var(--color-accent);border-radius:2px;height:100%;transition:width .3s}.style-preview-label{color:var(--color-muted);flex:1;font-size:.75rem}.btn-sm{padding:.3rem .7rem!important;font-size:.78rem!important}.style-catalog-selected-hint{color:var(--color-muted);flex-shrink:0;padding:.45rem .85rem .7rem;font-size:.75rem}.admin-interface-menu{flex-direction:column;gap:.5rem;display:flex}.admin-interface-item{background:var(--color-surface-alt,#ffffff0a);border:1px solid var(--color-border);cursor:pointer;text-align:left;width:100%;color:var(--color-text);border-radius:.75rem;align-items:center;gap:.75rem;padding:.9rem 1rem;font-size:.95rem;font-weight:500;transition:border-color .15s,background .15s;display:flex}.admin-interface-item:hover{border-color:var(--color-accent);background:#ed57550f}@supports (color:color-mix(in lab, red, red)){.admin-interface-item:hover{background:color-mix(in srgb, var(--color-accent) 6%, transparent)}}.admin-interface-item-icon{opacity:.65;flex-shrink:0}.admin-interface-item-title{flex:1}.admin-interface-alert{color:var(--color-text);background:#2563eb1a;border:1px solid #2563eb4d;border-radius:.75rem;align-items:center;gap:.6rem;margin-top:.25rem;padding:.7rem .9rem;font-size:.85rem;display:flex}.gq-stuck-banner{color:#e05c5c;background:#dc50501a;border:1px solid #dc50504d;border-radius:8px;flex-direction:column;padding:.5rem .65rem;font-size:.8rem;display:flex}.gq-error-msg{color:#e05c5c;margin:0;font-size:.8rem}.gq-progress-bar-wrap{align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.gq-progress-bar{background:#ffffff1a;border-radius:2px;flex:1;height:4px;overflow:hidden}html.light .gq-progress-bar{background:#0000001a}.gq-progress-bar-fill{background:var(--color-accent);border-radius:2px;height:100%;transition:width .4s}.gq-card-actions{flex-wrap:wrap;gap:.5rem;margin-top:.3rem;display:flex}.gq-action-btn{padding:.3rem .7rem;font-size:.82rem}.gq-timeline-wrap{border-top:1px solid var(--color-border);margin-top:.6rem;padding-top:.6rem}.gq-timeline{--gq-tl-pending:#ffffff2e;align-items:flex-start;padding-top:5px;display:flex;overflow:hidden}html.light .gq-timeline{--gq-tl-pending:#00000024}.gq-tl-step{flex-direction:column;flex-shrink:0;align-items:center;gap:.3rem;display:flex}.gq-tl-dot{background:var(--gq-tl-pending);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:13px;height:13px;transition:background .3s,box-shadow .3s;display:flex}.gq-tl-x{color:#fff;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:8px;font-weight:900;line-height:1}@keyframes gq-tl-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.35)}}.gq-tl-dot-pulse{animation:1.3s ease-in-out infinite gq-tl-pulse}.gq-tl-label{color:var(--color-muted);text-align:center;white-space:nowrap;font-size:.68rem}.gq-tl-done .gq-tl-label{color:var(--color-text)}.gq-tl-active .gq-tl-label{color:var(--color-text);font-weight:600}.gq-tl-failed .gq-tl-label{color:#e05c5c}.gq-tl-line{background:var(--gq-tl-pending);border-radius:3px;flex:1;align-self:flex-start;min-width:10px;height:5px;margin-top:4px;transition:background .4s}.gq-eta{text-align:right;margin-top:.1rem;font-size:.72rem}.gq-progress-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin:.1rem 0;display:flex}.gq-progress-count{font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:600}.gq-progress-cost{font-size:.75rem}.gq-progress-eta{margin-left:auto;font-size:.75rem}.gen-balance-bar{border:1px solid var(--color-border);background:var(--color-surface-alt,#ffffff0a);border-radius:.6rem;align-items:center;gap:.6rem;padding:.55rem .9rem;font-size:.82rem;display:flex}.gen-balance-bar-loading{opacity:.6}.gen-balance-bar-ok{background:#5bbf8a0f;border-color:#5bbf8a59}.gen-balance-bar-low{background:#f0b45012;border-color:#f0b45073}.gen-balance-icon{flex-shrink:0;align-items:center;display:flex}.gen-balance-amount{flex:1}.gen-balance-bar-ok .gen-balance-amount{color:#5bbf8a}.gen-balance-bar-low .gen-balance-amount{color:#f0b450e6}.gen-balance-link{color:var(--color-accent);text-underline-offset:2px;white-space:nowrap;font-size:.78rem;text-decoration:underline}.gen-balance-link:hover{opacity:.8}.gen-balance-spinner{border:2px solid var(--color-muted);border-right-color:#0000;border-radius:50%;flex-shrink:0;width:.7rem;height:.7rem;animation:.7s linear infinite spin;display:inline-block}html.light .gen-balance-bar{background:#00000008}.gen-cost-preview{color:var(--color-accent);white-space:nowrap;background:#4a7c591a;border:1px solid #4a7c5940;border-radius:6px;padding:.2rem .55rem;font-size:.78rem}html.light .gen-cost-preview{background:#4a7c5914}.gen-option-cards{gap:.75rem;margin-top:.25rem;display:flex}.gen-option-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.75rem;flex-direction:column;flex:1;gap:.2rem;min-width:0;padding:.85rem 1rem;display:flex}.gen-option-card--budget{border-color:var(--color-accent);background:#4a7c590f}.gen-option-card-title{text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);font-size:.72rem;font-weight:600}.gen-option-card--budget .gen-option-card-title{color:var(--color-accent)}.gen-option-card-nodes{color:var(--color-text);font-size:1rem;font-weight:700;line-height:1.2}.gen-option-card-cost{color:var(--color-muted);margin-bottom:.5rem;font-size:.8rem}.gen-option-card-btn{width:100%;padding:.4rem .5rem;font-size:.82rem}.gen-audience-row{flex-wrap:wrap;gap:.4rem;display:flex}.gen-audience-btn{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;border-radius:8px;flex-direction:column;align-items:center;gap:.1rem;padding:.4rem .65rem;transition:background .15s,border-color .15s;display:flex}.gen-audience-btn.active{color:#818cf8;background:#6366f126;border-color:#6366f1}html.light .gen-audience-btn.active{color:#4f46e5;background:#6366f11a}.gen-audience-label{font-size:.8rem;font-weight:600}.gen-audience-hint{color:var(--color-muted);font-size:.65rem}.gen-audience-btn.active .gen-audience-hint{color:inherit;opacity:.75}.cat-audience-filter{flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem;display:flex}.cat-audience-pill{border:1px solid var(--color-border);color:var(--color-muted);cursor:pointer;background:0 0;border-radius:99px;padding:.25rem .65rem;font-size:.75rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.cat-audience-pill.active{color:#818cf8;background:#6366f126;border-color:#6366f1}html.light .cat-audience-pill.active{color:#4f46e5;background:#6366f11a}.topic-grid,.topic-sub-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:.5rem;display:grid}.topic-main-card{border:1px solid var(--color-border);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:#2c2c2c;border-radius:14px;flex-direction:column;transition:transform .1s,box-shadow .15s;display:flex;overflow:hidden}html.light .topic-main-card{background:#ececec}html.light .topic-main-body{background-color:#d8d8d8}html.eink .topic-main-card{background:#f0f0f0}html.eink .topic-main-body{background-color:#e0e0e0;background-image:none!important}.topic-main-card:active{transform:scale(.97)}.topic-main-body{background-color:#2c2c2c;background-position:50%;background-size:cover;min-height:6.5rem}.topic-main-footer{background:var(--topic-color,#6366f1);justify-content:space-between;align-items:center;gap:.4rem;min-height:2.5rem;padding:.55rem .75rem;display:flex}.topic-main-label{color:#000;font-size:.82rem;font-weight:700;line-height:1.2}.topic-sub-card{border:1px solid var(--color-border);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:#2c2c2c;border-radius:12px;flex-direction:column;transition:transform .1s;display:flex;overflow:hidden}html.light .topic-sub-card{background:#ececec}html.eink .topic-sub-card{background:#f0f0f0}html.eink .topic-sub-body{background-color:#e0e0e0!important;background-image:none!important}.topic-sub-card:active{transform:scale(.97)}.topic-sub-body{background-color:#2c2c2c;background-position:50%;background-size:cover;min-height:5rem}html.light .topic-sub-body{background-color:#d8d8d8}.topic-sub-footer{background:var(--topic-color,#6366f1);justify-content:space-between;align-items:center;gap:.4rem;min-height:2.25rem;padding:.55rem .75rem;display:flex}.topic-sub-label{color:#000;font-size:.75rem;font-weight:700;line-height:1.2}.topic-count-badge{color:#000;background:#00000040;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:1.6rem;height:1.6rem;padding:0 .35rem;font-size:.72rem;font-weight:700;line-height:1;display:flex}.topic-breadcrumb{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.85rem;display:flex}.topic-back-btn{cursor:pointer;color:var(--color-muted);background:0 0;border:none;align-items:center;gap:.25rem;padding:.25rem 0;font-size:.85rem;display:flex}.topic-back-btn:active{opacity:.7}.topic-breadcrumb-sep{color:var(--color-muted)}.topic-empty{color:var(--color-muted);text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1rem;display:flex}.topic-empty-emoji{font-size:3rem}@media (width>=640px){body{max-width:100%}.top-bar{max-width:100%;left:0;transform:none}.page{box-sizing:border-box;width:100%;max-width:1440px;margin-left:auto;margin-right:auto;padding-left:1.5rem;padding-right:1.5rem}}.sidebar-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;gap:.6rem;padding:.9rem 1rem;display:flex}.sidebar-card+.sidebar-card{margin-top:.75rem}.sidebar-card-title{text-transform:uppercase;letter-spacing:.07em;color:var(--color-muted);font-size:.7rem;font-weight:700}.node-sidebar-left{display:none}.node-image-center-only{display:block}.node-layout,.node-layout-center{flex-direction:column;gap:1.5rem;display:flex}.node-sidebar-right{flex-direction:column;gap:1rem;display:flex}@media (width>=640px){.node-layout{grid-template-columns:minmax(0,1fr) 240px;grid-template-areas:"center right";align-items:start;gap:0 1.5rem;display:grid}.node-layout-center{grid-area:center}.node-sidebar-right{grid-area:right;align-self:start;gap:.75rem;position:sticky;top:calc(56px + 1rem)}.node-layout.node-layout--no-right{grid-template-columns:minmax(0,1fr);grid-template-areas:"center"}}@media (width>=1100px){.node-layout{grid-template-columns:200px minmax(0,1fr) 260px;grid-template-areas:"left center right"}.node-layout.node-layout--no-right{grid-template-columns:200px minmax(0,1fr);grid-template-areas:"left center"}.node-sidebar-left{flex-direction:column;grid-area:left;align-self:start;gap:.75rem;display:flex;position:sticky;top:calc(56px + 1rem)}.node-image-center-only{display:none}}.node-ancestor-nav{flex-direction:column;gap:.1rem;display:flex}.node-ancestor-btn{cursor:pointer;text-align:left;color:var(--color-muted);background:0 0;border:none;border-radius:6px;padding:.3rem .5rem;font-size:.82rem;line-height:1.3;transition:background .15s,color .15s}.node-ancestor-btn:hover{background:var(--color-surface);color:var(--color-text)}.node-ancestor-current{color:var(--color-text);border-left:2px solid var(--color-accent);padding:.3rem .5rem .3rem .65rem;font-size:.85rem;font-weight:600;line-height:1.3}.node-intro-nav-row{align-items:center;gap:.2rem;display:flex}.node-intro-nav-row .node-ancestor-btn{flex:1;min-width:0}.node-intro-action-btn{background:var(--color-surface);width:2.4rem;height:2.4rem;color:var(--color-muted);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.node-intro-action-btn:hover:not(:disabled){background:var(--color-border);color:var(--color-text)}.node-intro-action-btn:disabled{opacity:.28;cursor:default}.node-ancestor-separator{background:var(--color-border);height:1px;margin:.2rem .5rem}.node-nav-fab-backdrop{z-index:149;background:#00000073;animation:.2s nav-sheet-fade-in;position:fixed;inset:0}@keyframes nav-sheet-fade-in{0%{opacity:0}to{opacity:1}}.node-title-nav-btn{color:#111;cursor:pointer;background:#ffffffeb;border:none;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;padding:5px 6px;transition:filter .1s;display:flex;box-shadow:0 1px 4px #0000004d}.node-title-nav-btn:active{filter:brightness(.9)}.node-nav-fab-panel{z-index:150;padding:0 0 calc(5rem + env(safe-area-inset-bottom,0px));background:#1e1e1e;border-top:2px solid #ffffff24;border-radius:16px 16px 0 0;flex-direction:column;max-height:65vh;animation:.25s cubic-bezier(.32,.72,0,1) nav-sheet-slide-up;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 24px #00000040}html.light .node-nav-fab-panel{background:var(--color-surface);border-top:1px solid var(--color-border)}html.eink .node-nav-fab-panel{background:var(--color-surface);border-top:2px solid #000}@keyframes nav-sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.node-nav-sheet-handle{flex-shrink:0;justify-content:center;padding:.6rem 0 .4rem;display:flex}.node-nav-sheet-handle:before{content:"";background:var(--color-border);border-radius:2px;width:36px;height:4px;display:block}.node-nav-sheet-scroll{flex-direction:column;flex:1;gap:.05rem;padding:0 .75rem .5rem;display:flex;overflow-y:auto}.node-nav-fab-coursemenu{cursor:pointer;color:var(--color-text);text-align:left;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:.4rem;width:100%;padding:.65rem .5rem;font-size:.9rem;font-weight:600;transition:background .15s;display:flex}.node-nav-fab-coursemenu:active{background:var(--color-bg)}.node-nav-sheet-scroll .node-intro-action-btn{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-muted);letter-spacing:.03em;border-radius:10px;flex-direction:column;gap:2px;width:auto;min-width:56px;height:auto;padding:6px 8px;font-size:9px;font-weight:600}.node-nav-sheet-scroll .node-intro-action-btn:hover:not(:disabled){background:var(--color-surface);color:var(--color-text)}.node-nav-sheet-scroll .node-intro-action-btn:disabled{opacity:.3}.node-nav-sheet-scroll .node-intro-action-superquiz:not(:disabled){background:linear-gradient(135deg, var(--color-teal), var(--color-accent));color:#fff;border-color:#0000}.node-nav-sheet-scroll .node-intro-action-superquiz:not(:disabled):hover{filter:brightness(1.08);background:linear-gradient(135deg, var(--color-teal), var(--color-accent));color:#fff}.node-nav-fab-icons{opacity:.6;flex-shrink:0;gap:.2rem;display:flex}.node-nav-fab-icons svg{width:1rem;height:1rem}.node-nav-fab-sep{background:var(--color-border);height:1px;margin:.25rem .5rem}.node-nav-fab-item{cursor:pointer;text-align:left;color:var(--color-muted);background:0 0;border:none;border-radius:6px;width:100%;padding:.55rem .5rem;font-size:.88rem;line-height:1.3;transition:background .15s,color .15s}.node-nav-fab-item:active{background:var(--color-bg);color:var(--color-text)}.node-nav-fab-current{color:var(--color-text);border-left:2px solid var(--color-accent);padding:.55rem .65rem;font-size:.88rem;font-weight:600;line-height:1.3;display:block}@media (width>=1100px){.node-title-nav-btn,.node-nav-fab-panel,.node-nav-fab-backdrop{display:none}}.admin-layout{flex-direction:column;gap:.75rem;display:flex}.admin-layout-center{flex-direction:column;gap:1.5rem;display:flex}.admin-sidebar-right{display:none}.admin-sidebar-left{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-flow:row;gap:.2rem;display:flex;overflow-x:auto}.admin-sidebar-left::-webkit-scrollbar{display:none}.admin-sidebar-left .admin-nav-section-title{display:none}.admin-sidebar-left .admin-nav-link{white-space:nowrap;flex-shrink:0;width:auto}@media (width>=640px){.admin-layout{grid-template-columns:minmax(0,1fr) 220px;grid-template-areas:"nav nav""center right";align-items:start;gap:.75rem 1.5rem;display:grid}.admin-layout--no-right{grid-template-columns:minmax(0,1fr);grid-template-areas:"nav""center"}.admin-layout--no-right .admin-sidebar-right{display:none}.admin-sidebar-left{grid-area:nav}.admin-layout-center{grid-area:center}.admin-sidebar-right{flex-direction:column;grid-area:right;align-self:start;gap:.75rem;display:flex;position:sticky;top:calc(56px + 1rem)}}@media (width>=1100px){.admin-layout{grid-template-columns:180px minmax(0,1fr) 220px;grid-template-areas:"left center right";row-gap:0}.admin-layout--no-right{grid-template-columns:180px minmax(0,1fr);grid-template-areas:"left center"}.admin-sidebar-left{flex-flow:column;grid-area:left;align-self:start;gap:.1rem;position:sticky;top:calc(56px + 1rem);overflow-x:visible}.admin-sidebar-left .admin-nav-section-title{display:block}.admin-sidebar-left .admin-nav-link{white-space:normal;flex-shrink:unset;width:100%}}.menu-admin-shortcuts{flex-direction:column;gap:.5rem;padding:.75rem 1rem 0;display:flex}.menu-admin-catalog-btn{color:#d48b1a;cursor:pointer;text-align:left;background:#dc8c281f;border:1px solid #dc8c2859;border-radius:10px;align-items:center;gap:.6rem;width:100%;padding:.75rem 1rem;font-size:.95rem;font-weight:600;display:flex}.menu-admin-catalog-btn:hover{background:#dc8c2833}html.light .menu-admin-catalog-btn{color:#a96b0f;border-color:#b46e144d}.menu-admin-interface-btn{color:#818cf8;cursor:pointer;text-align:left;background:#6366f11f;border:1px solid #6366f159;border-radius:10px;align-items:center;gap:.6rem;width:100%;padding:.75rem 1rem;font-size:.95rem;font-weight:600;display:flex}.menu-admin-interface-btn:hover{background:#6366f133}html.light .menu-admin-interface-btn{color:#4f46e5;border-color:#6366f14d}.menu-admin-badge{text-align:center;color:#fff;border-radius:99px;min-width:1.3em;margin-left:auto;padding:.2em .45em;font-size:.7rem;font-weight:700;line-height:1}.menu-admin-badge+.menu-admin-badge{margin-left:.3rem}.menu-admin-badge-red{background:#c0392b}.menu-admin-badge-blue{background:#2563eb}.admin-quick-actions{flex-wrap:wrap;gap:.4rem;display:flex}.admin-quick-chip{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.32rem .8rem;font-size:.82rem;transition:background .12s;display:inline-flex}.admin-quick-chip:hover{background:var(--color-border)}.admin-quick-chip-primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.admin-quick-chip-primary:hover{opacity:.88;background:var(--color-accent)}.admin-nav-section-title{text-transform:uppercase;letter-spacing:.07em;color:var(--color-muted);padding:.5rem .7rem .2rem;font-size:.68rem;font-weight:700}.admin-nav-link{cursor:pointer;text-align:left;color:var(--color-text);background:0 0;border:none;border-radius:8px;align-items:center;gap:.35rem;width:100%;padding:.45rem .7rem;font-size:.88rem;transition:background .15s;display:flex}.admin-nav-icon{opacity:.6;flex-shrink:0;align-items:center;display:flex}.admin-nav-link:hover{background:var(--color-surface)}.admin-nav-link.active{background:var(--color-surface);color:var(--color-accent);font-weight:600}.admin-sidebar-placeholder{color:var(--color-muted);font-size:.78rem;font-style:italic}.course-layout,.course-layout-center{flex-direction:column;gap:1.5rem;display:flex}.course-sidebar-right{flex-direction:column;gap:.75rem;display:flex}@media (width>=640px){.course-layout{grid-template-columns:minmax(0,1fr) 240px;grid-template-areas:"center right";align-items:start;gap:0 1.5rem;display:grid}.course-layout-center{grid-area:center}.course-sidebar-right{grid-area:right;align-self:start;position:sticky;top:calc(56px + 1rem)}}.demo-coach-overlay{z-index:200;background:#00000059;justify-content:center;align-items:flex-end;padding-bottom:calc(72px + 1rem);display:flex;position:fixed;inset:0}.demo-coach{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;flex-direction:column;gap:.55rem;width:min(360px,100vw - 2rem);padding:1.1rem 1.2rem 1rem;display:flex;box-shadow:0 8px 32px #0006}.demo-coach-header{justify-content:space-between;align-items:center;display:flex}.demo-coach-step{letter-spacing:.06em;color:var(--color-accent);text-transform:uppercase;font-size:.7rem;font-weight:700}.demo-coach-close{color:var(--color-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;line-height:1}.demo-coach-title{font-size:.95rem;font-weight:700}.demo-coach-text{font-size:.85rem;line-height:1.55}.demo-coach-cta{align-self:stretch;margin-top:.25rem}.stats-section{margin-top:1.5rem}.stats-kpi-grid{grid-template-columns:repeat(2,1fr);gap:.625rem;margin-bottom:.25rem;display:grid}@media (width>=640px){.stats-kpi-grid{grid-template-columns:repeat(4,1fr)}}.stats-kpi-card{background:var(--color-card-bg);border:1px solid var(--color-border);text-align:center;border-radius:10px;padding:.875rem .75rem}.stats-kpi-highlight{border-color:var(--color-primary)}.stats-kpi-value{letter-spacing:-.03em;font-size:1.6rem;font-weight:700;line-height:1.1}.stats-kpi-label{margin-top:.2rem;font-size:.7rem}.stats-chart-wrap{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:10px;padding:.875rem .75rem .5rem}.stats-chart-meta{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;font-size:.72rem;display:flex}.stats-bar-chart{align-items:flex-end;gap:2px;height:80px;padding-bottom:1.1rem;display:flex;position:relative}.stats-bar-col{flex-direction:column;flex:1;align-items:center;height:100%;display:flex;position:relative}.stats-bar{background:var(--color-primary);opacity:.65;border-radius:2px 2px 0 0;flex-shrink:0;align-self:flex-end;width:100%;transition:opacity .12s}.stats-bar-col:hover .stats-bar{opacity:1}.stats-bar-date{white-space:nowrap;font-size:.58rem;position:absolute;bottom:-1.1rem;left:50%;transform:translate(-50%)}.stats-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.stats-table{border-collapse:collapse;width:100%;font-size:.8rem}.stats-table th{text-align:left;border-bottom:1px solid var(--color-border);color:var(--color-muted);white-space:nowrap;padding:.35rem .5rem;font-size:.7rem;font-weight:500}.stats-table td{border-bottom:1px solid #3a3a4880;padding:.45rem .5rem}@supports (color:color-mix(in lab, red, red)){.stats-table td{border-bottom:1px solid color-mix(in srgb, var(--color-border) 50%, transparent)}}.stats-table td{vertical-align:middle}.stats-table-sm td{padding:.3rem .4rem}.stats-num{text-align:right;white-space:nowrap}.stats-cell-primary{font-weight:500}.stats-badge-green{color:#34d399;background:#34d3992e;border-radius:4px;padding:.1em .45em;font-size:.75rem}.stats-badge-warn{color:#f59e0b;background:#f59e0b2e;border-radius:4px;padding:.1em .45em;font-size:.75rem}.stats-badge-admin{background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.stats-badge-admin{background:color-mix(in srgb, var(--color-primary) 15%, transparent)}}.stats-badge-admin{color:var(--color-primary);vertical-align:middle;border-radius:4px;margin-left:.35rem;padding:.1em .4em;font-size:.7rem}.stats-table-row-clickable{cursor:pointer}.stats-table-row-clickable:hover td{background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.stats-table-row-clickable:hover td{background:color-mix(in srgb, var(--color-primary) 6%, transparent)}}.stats-user-name{font-size:.83rem;font-weight:500}.stats-user-email{font-size:.7rem}.stats-sort-row{flex-wrap:wrap;align-items:center;gap:.375rem;margin-bottom:.5rem;display:flex}.stats-sort-btn{border:1px solid var(--color-border);color:var(--color-muted);cursor:pointer;background:0 0;border-radius:6px;padding:.2rem .5rem;font-size:.7rem;transition:background .12s,color .12s,border-color .12s}.stats-sort-btn.active,.stats-sort-btn:hover{background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.stats-sort-btn.active,.stats-sort-btn:hover{background:color-mix(in srgb, var(--color-primary) 14%, transparent)}}.stats-sort-btn.active,.stats-sort-btn:hover{color:var(--color-text);border-color:var(--color-primary)}.stats-user-sheet{background:var(--color-surface);color:var(--color-text);border-radius:16px 16px 0 0;flex-direction:column;max-width:640px;max-height:88vh;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.stats-user-sheet .all-completed-header{flex-shrink:0}.stats-user-sheet .all-completed-list{flex:1;padding:1rem;display:block;overflow-y:auto}.stats-user-email-link{font-size:.78rem;text-decoration:none}.stats-user-email-link:hover{text-decoration:underline}.stats-user-summary-row{background:var(--color-primary);justify-content:space-around;gap:.5rem;margin-bottom:.75rem;padding:.75rem .5rem;display:flex}@supports (color:color-mix(in lab, red, red)){.stats-user-summary-row{background:color-mix(in srgb, var(--color-primary) 6%, transparent)}}.stats-user-summary-row{border-radius:10px}.stats-user-stat{text-align:center;flex:1}.stats-user-stat-value{font-size:1.05rem;font-weight:700}.stats-user-stat-label{margin-top:.1rem;font-size:.6rem}.stats-section-subtitle{text-transform:uppercase;letter-spacing:.07em;color:var(--color-muted);margin:.9rem 0 .4rem;font-size:.68rem;font-weight:600}.stats-account-meta{font-size:.75rem;line-height:1.6}.stats-mini-chart{align-items:flex-end;gap:3px;height:50px;padding-bottom:1rem;display:flex}.stats-mini-bar-col{flex-direction:column;flex:1;align-items:center;height:100%;display:flex;position:relative}.stats-mini-bar{background:var(--color-primary);opacity:.7;border-radius:2px 2px 0 0;flex-shrink:0;align-self:flex-end;width:100%}.stats-mini-bar-label{white-space:nowrap;font-size:.58rem;position:absolute;bottom:-1rem}.stats-course-row{margin-bottom:.5rem}.stats-course-row-header{align-items:center;gap:.5rem;margin-bottom:.2rem;display:flex}.stats-course-title{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.82rem;font-weight:500;overflow:hidden}.stats-course-cat{flex-shrink:0;font-size:.7rem}.stats-course-pct{flex-shrink:0;font-size:.72rem}.stats-course-complete{color:#34d399}.stats-course-bar{background:var(--color-border);border-radius:2px;height:4px;overflow:hidden}.stats-course-bar-fill{background:var(--bar-color,var(--color-primary));border-radius:2px;height:100%;transition:width .3s}.stats-permission-hint{border:1px solid var(--color-border);border-radius:8px;margin-bottom:1rem;padding:.6rem .75rem;font-size:.78rem;line-height:1.5}.text-input-wrap{flex-direction:column;gap:.4rem;display:flex}.text-input-field{background:var(--color-surface);width:100%;color:var(--color-text);border:1.5px solid var(--color-border);border-radius:8px;padding:.65rem .75rem;font-family:inherit;font-size:1rem;transition:border-color .15s}.text-input-field:focus{border-color:var(--color-primary);outline:none}.text-input-field.calc-input-correct{background:#34d39914;border-color:#34d399}.text-input-field.calc-input-wrong{background:#f8717114;border-color:#f87171}.sentence-build-wrap{flex-direction:column;gap:.75rem;display:flex}.sb-answer-area{border:1.5px dashed var(--color-border);background:#ffffff08;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.4rem;min-height:52px;padding:.5rem .6rem;display:flex}.sb-placeholder{color:var(--color-text-muted);font-size:.82rem;font-style:italic}.sb-bank{border:1px solid var(--color-border);border-radius:10px;flex-wrap:wrap;gap:.4rem;padding:.5rem .6rem;display:flex}.sb-chip{background:var(--color-surface-2,#1e1e2e);color:var(--color-text);border:1px solid var(--color-border);cursor:pointer;border-radius:20px;padding:.3rem .65rem;font-size:.9rem;transition:background .12s,transform .1s}.sb-chip:hover:not(:disabled){background:var(--color-primary);color:#fff;transform:translateY(-1px)}.sb-chip-placed{border-color:var(--color-primary);background:#6366f126}.sb-chip-correct{color:#34d399;background:#34d39926!important;border-color:#34d399!important}.sb-chip-wrong{color:#f87171;background:#f8717126!important;border-color:#f87171!important}.flashcard-wrap{flex-direction:column;align-items:center;gap:1rem;display:flex}.flashcard{perspective:800px;cursor:pointer;width:100%;min-height:140px}.flashcard-inner{width:100%;min-height:140px;transform-style:preserve-3d;transition:transform .5s;position:relative}.flashcard.flashcard-flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-front,.flashcard-back{backface-visibility:hidden;border:1.5px solid var(--color-border);background:var(--color-surface);text-align:center;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;padding:1.25rem 1rem;display:flex;position:absolute;inset:0}.flashcard-back{background:var(--color-surface-2,#1e1e2e);transform:rotateY(180deg)}.flashcard-term{margin:0;font-size:1.3rem;font-weight:700}.flashcard-definition{margin:0;font-size:1rem;line-height:1.55}.flashcard-flip-hint{margin-top:.6rem;font-size:.75rem}.flashcard-assess{gap:.75rem;width:100%;display:flex}.flashcard-btn{border:1.5px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:10px;flex:1;padding:.65rem 1rem;font-size:.95rem;font-weight:600;transition:background .15s,border-color .15s,transform .1s}.flashcard-btn:hover{transform:translateY(-1px)}.flashcard-btn-known.active,.flashcard-btn-known:hover{color:#34d399;background:#34d39926;border-color:#34d399}.flashcard-btn-unknown.active,.flashcard-btn-unknown:hover{color:#f87171;background:#f8717126;border-color:#f87171}.audio-quiz-wrap{flex-direction:column;gap:.75rem;display:flex}.audio-play-btn{background:var(--color-surface-2,#1e1e2e);color:var(--color-text);border:1.5px solid var(--color-border);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:1rem;font-weight:600;transition:background .15s,border-color .15s;display:flex}.audio-play-btn:hover{border-color:var(--color-primary);background:#6366f126}.audio-play-btn-active{color:#34d399;background:#34d3991f;border-color:#34d399}.diagram-label-wrap{flex-direction:column;gap:.75rem;display:flex}.diagram-img-wrap{border:1px solid var(--color-border);border-radius:10px;width:100%;position:relative;overflow:hidden}.diagram-img{width:100%;height:auto;display:block}.diagram-pin{background:var(--color-primary);color:#fff;pointer-events:none;border:2px solid #fff9;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.7rem;font-weight:700;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0006}.diagram-pin-correct{background:#34d399}.diagram-pin-wrong{background:#f87171}.diagram-zones-list{flex-direction:column;gap:.4rem;display:flex}.diagram-zone-row{align-items:flex-start;gap:.5rem;display:flex}.diagram-zone-num{background:var(--color-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:2px;font-size:.7rem;font-weight:700;display:flex}.diagram-zone-options{flex-wrap:wrap;gap:.3rem;display:flex}.diagram-label-chip{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:16px;padding:.25rem .6rem;font-size:.85rem;transition:background .12s}.diagram-label-chip:hover:not(:disabled){border-color:var(--color-primary);background:#6366f126}.diagram-label-chip-selected{border-color:var(--color-primary);background:#6366f133}.diagram-label-chip-correct{color:#34d399;background:#34d39926!important;border-color:#34d399!important}.diagram-label-chip-wrong{color:#f87171;background:#f8717126!important;border-color:#f87171!important}.timeline-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.timeline-item{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;align-items:stretch;gap:0;display:flex}.timeline-item.timeline-dragging{opacity:.6}.timeline-connector{flex-direction:column;flex-shrink:0;align-items:center;width:28px;display:flex}.timeline-dot{background:var(--color-primary);border:2px solid var(--color-surface);width:12px;height:12px;box-shadow:0 0 0 2px var(--color-primary);z-index:1;border-radius:50%;flex-shrink:0;margin-top:14px}.timeline-line{background:var(--color-border);flex:1;width:2px;margin-top:2px}.timeline-content{background:var(--color-surface-2,#1e1e2e);border:1px solid var(--color-border);border-radius:8px;flex:1;align-items:center;gap:.5rem;margin:3px 0;padding:.55rem .6rem .55rem .25rem;display:flex}.timeline-text{font-size:.92rem;line-height:1.35}.timeline-correct .timeline-dot{background:#34d399;box-shadow:0 0 0 2px #34d399}.timeline-correct .timeline-content{border-color:#34d39966}.timeline-wrong .timeline-dot{background:#f87171;box-shadow:0 0 0 2px #f87171}.timeline-wrong .timeline-content{border-color:#f8717166}.eq-input-wrap{flex-direction:column;gap:.4rem;display:flex}.eq-preview{background:var(--color-surface-2,#1e1e2e);border:1px solid var(--color-border);text-align:center;border-radius:8px;padding:.5rem .75rem;font-size:1.1rem;overflow-x:auto}.step-input-wrap{flex-direction:column;gap:.75rem;display:flex}.step-item{flex-direction:column;gap:.3rem;display:flex}.step-prompt{color:var(--color-text);font-size:.9rem;font-weight:600}.step-input-field{background:var(--color-surface-2,#1e1e2e);border:1.5px solid var(--color-border);color:var(--color-text);border-radius:8px;flex:1;min-width:0;padding:.55rem .75rem;font-size:1rem}.step-input-field:disabled{opacity:.85}.code-editor-wrap{flex-direction:column;gap:.5rem;display:flex}.code-editor-textarea{box-sizing:border-box;color:#e6edf3;border:1.5px solid var(--color-border);resize:vertical;white-space:pre;background:#0d1117;border-radius:8px;width:100%;padding:.65rem .75rem;font-family:Courier New,Courier,monospace;font-size:.85rem;line-height:1.55;overflow-x:auto}.code-editor-textarea:disabled{opacity:.75}.code-editor-textarea-sm{font-family:Courier New,Courier,monospace;font-size:.8rem}.code-editor-run-btn{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:8px;align-self:flex-start;padding:.45rem 1rem;font-size:.9rem;font-weight:600;transition:opacity .15s}.code-editor-run-btn:disabled{opacity:.5;cursor:default}.code-editor-run-btn-active{opacity:.7}.code-editor-output{border:1.5px solid;border-radius:8px;padding:.6rem .75rem;font-size:.85rem}.code-editor-output-pass{border-color:var(--color-correct,#22c55e);background:#22c55e14}.code-editor-output-fail{border-color:var(--color-wrong,#ef4444);background:#ef444414}.code-editor-output-status{margin-bottom:.3rem;font-weight:700;display:block}.code-editor-output-pre{white-space:pre-wrap;word-break:break-all;opacity:.85;margin:0;font-family:Courier New,Courier,monospace;font-size:.8rem}.exam-entry-btn{width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:#4a7c591f;border:1px solid #4a7c5959;border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.95rem;font-weight:600;transition:background .15s;display:block}.exam-entry-btn:hover{background:#4a7c5938}.exam-quiz-cta{text-align:center;margin-bottom:1.25rem}.exam-quiz-cta .btn-primary{width:100%}.exam-topics-details{border:1px solid var(--color-border);border-radius:8px;margin-bottom:1rem;padding:.5rem .75rem}.exam-topics-details summary{color:var(--color-muted);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.82rem}.exam-topics-pre{white-space:pre-wrap;word-break:break-word;color:var(--color-muted);margin:.5rem 0 0;font-family:inherit;font-size:.82rem}.exam-course-group{margin-bottom:1.25rem}.exam-course-header{flex-direction:column;gap:.1rem;margin-bottom:.4rem;display:flex}.exam-course-cat{text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.exam-course-title{font-size:.9rem;font-weight:600}.exam-node-item{cursor:pointer}.exam-node-item:active{opacity:.7}.exam-node-arrow{color:var(--color-muted);flex-shrink:0;font-size:1rem}.exam-session-topics{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.exam-unmatched-box{background:#f0b4500f;border:1px solid #f0b45059;border-radius:10px;margin-bottom:1.25rem;padding:.85rem 1rem}.exam-unmatched-title{color:#f0b450e6;margin-bottom:.2rem;font-size:.88rem;font-weight:600}.exam-unmatched-list{margin:0;padding-left:1.1rem;font-size:.85rem;line-height:1.6}.exam-unmatched-sent{color:#5bbf8a;margin-top:.6rem;font-size:.82rem}.suggestion-item{align-items:flex-start;gap:.75rem}.suggestion-item-done{opacity:.5}.suggestion-topics-list{margin:.3rem 0 0;padding-left:1.1rem;font-size:.85rem;line-height:1.6}.exam-publish-row{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.75rem 0;display:flex}.exam-published-badge{color:#5bbf8a;background:#5bbf8a1f;border-radius:999px;padding:.25rem .6rem;font-size:.82rem;font-weight:600}.exam-publish-btn{font-size:.85rem}.exam-public-link{color:var(--accent);text-decoration:none}.exam-public-link:hover{text-decoration:underline}.pub-container-list{flex-direction:column;gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.pub-container-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;display:flex}.pub-container-meta{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.pub-container-title{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.pub-container-sub{font-size:.78rem}.pub-container-topics{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.15rem 0 0;font-size:.78rem;display:-webkit-box;overflow:hidden}.pub-container-actions{flex-direction:column;flex-shrink:0;gap:.4rem;display:flex}.pub-adopt-btn{white-space:nowrap;font-size:.82rem}.lightbox-overlay{z-index:9999;background:#000000e6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-close{color:#fff;cursor:pointer;z-index:10000;background:#ffffff2e;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.2rem;line-height:1;display:flex;position:fixed;top:1rem;right:1rem}.lightbox-close:hover{background:#ffffff4d}.lightbox-img-wrap{touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;overflow:hidden}.lightbox-img{object-fit:contain;transform-origin:50%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:100%;max-height:100%}.exam-course-banner{background:rgba(var(--accent-rgb,99,102,241), .08);border:1px solid rgba(var(--accent-rgb,99,102,241), .25);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.7rem 1rem;font-size:.82rem;display:flex}.exam-course-banner-text{font-weight:500}.exam-course-original-link{color:var(--accent);white-space:nowrap;font-size:.8rem;text-decoration:none}.exam-course-original-link:hover{text-decoration:underline}.node-card-exam-dimmed{opacity:.3;cursor:default;pointer-events:none}.custom-quiz-frame{background:#0a0a0a;border:none;border-radius:12px;width:100%;min-height:70dvh;display:block}.page-custom-quiz .custom-quiz-frame{min-height:calc(100dvh - 8rem)}.game-card-custom,html.light .game-card-custom{border-color:var(--color-accent)}.quiz-gen-page{max-width:680px;padding-bottom:3rem}.quiz-gen-heading{margin:0 0 .25rem;font-size:1.4rem}.quiz-gen-subhead{margin:0 0 1.75rem;font-size:.9rem}.quiz-gen-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:1.25rem}html.light .quiz-gen-section{background:var(--color-surface)}.quiz-gen-section-title{letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted);margin:0 0 1rem;font-size:.82rem;font-weight:700}.quiz-gen-row{flex-direction:column;gap:.35rem;margin-bottom:.85rem;display:flex}.quiz-gen-row:last-child{margin-bottom:0}.quiz-gen-textarea{resize:vertical;min-height:140px;font-family:inherit;line-height:1.55}.quiz-gen-char-count{align-self:flex-end;font-size:.76rem}.quiz-gen-actions{flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:.75rem;display:flex}.quiz-gen-hint{font-size:.82rem}.quiz-gen-preview-box{background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;margin-bottom:.85rem;padding:1rem}.quiz-gen-preview-header{align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.quiz-gen-preview-badge{letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent);background:#4a7c592e;border-radius:4px;padding:.15rem .5rem;font-size:.72rem;font-weight:700}.quiz-gen-preview-type{font-size:.8rem}.quiz-gen-preview-title{margin:0 0 .35rem;font-size:1.05rem;font-weight:700}.quiz-gen-preview-summary{margin:0 0 .65rem;font-size:.88rem;line-height:1.5}.quiz-gen-preview-bullets{color:var(--color-text);margin:0 0 .65rem;padding-left:1.1rem;font-size:.88rem;line-height:1.6}.quiz-gen-preview-time{margin:0 0 .65rem;font-size:.8rem}.quiz-gen-token-row{border-top:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;padding-top:.5rem;font-size:.78rem;display:flex}.quiz-gen-token-detail{flex:1;min-width:160px}.quiz-gen-cost-badge{color:var(--color-accent);white-space:nowrap;background:#4a7c591f;border-radius:4px;padding:.15rem .5rem;font-size:.76rem;font-weight:600}.quiz-gen-cost-badge.muted{color:var(--color-muted);background:#ffffff0d}.quiz-gen-gen-estimate{margin-top:.4rem}.quiz-gen-cost-row{margin-bottom:.75rem}.quiz-gen-total-cost{margin-top:.35rem}.quiz-gen-frame-wrap{border:1px solid var(--color-border);background:#0a0a0a;border-radius:12px;margin-bottom:.85rem;overflow:hidden}.quiz-gen-frame-wrap .custom-quiz-frame{border-radius:0;min-height:60dvh}.quiz-gen-save-row{flex-direction:column;gap:.65rem;display:flex}.quiz-gen-save-info{font-size:.88rem}.quiz-gen-save-course strong{color:var(--color-accent)}.quiz-gen-saved{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.quiz-gen-saved-msg{color:var(--color-accent);margin:0;font-size:.95rem;font-weight:600}.quiz-gen-error{color:#ef4444;background:#ef444414;border:1px solid #ef444440;border-radius:8px;margin-top:.5rem;padding:.65rem .85rem;font-size:.88rem}html.light .quiz-gen-preview-box{background:var(--color-surface-2,#f4f4f4)}html.light .quiz-gen-cost-badge{background:#4a7c591a}.quiz-gen-file-btn{align-self:flex-start;margin-top:.25rem}.quiz-gen-asset-list{flex-direction:column;gap:.375rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.quiz-gen-asset-item{background:#141414;border:1px solid #2a2a2a;border-radius:6px;align-items:center;gap:.5rem;padding:.375rem .625rem;font-size:.85rem;display:flex}.quiz-gen-asset-name{text-overflow:ellipsis;white-space:nowrap;color:#f0f0f0;flex:1;overflow:hidden}.quiz-gen-asset-size{flex-shrink:0;font-size:.78rem}.quiz-gen-asset-remove{cursor:pointer;color:#6b6b6b;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:.125rem .3rem;font-size:.75rem;transition:color .15s}.quiz-gen-asset-remove:hover:not(:disabled){color:#ef4444}.quiz-gen-asset-remove:disabled{opacity:.4;cursor:default}.quiz-gen-checkbox-row{color:var(--color-text);cursor:pointer;align-items:flex-start;gap:.5rem;padding:.5rem 0 .25rem;font-size:.88rem;display:flex}.quiz-gen-checkbox-row input[type=checkbox]{accent-color:var(--color-accent);flex-shrink:0;width:1rem;height:1rem;margin-top:.15rem}.brand-page{max-width:860px;margin:0 auto}.brand-section{margin-bottom:2.5rem}.brand-section h2{color:var(--color-text);margin-bottom:1rem;font-size:1.1rem;font-weight:700}.brand-hero{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;align-items:flex-start;gap:1.5rem;padding:1.5rem;display:flex}.brand-hero-logo-box{background:#0d1910;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:20px;display:flex}.brand-hero-text h1{margin:0 0 .25rem;font-size:1.6rem;font-weight:700}.brand-hero-tagline{color:#4a7c59;letter-spacing:.05em;text-transform:uppercase;margin:0 0 .75rem;font-size:.85rem;font-weight:600}.brand-hero-desc{color:var(--color-muted);margin:0;font-size:.9rem}.brand-color-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;display:grid}.brand-color-swatch{border:1px solid var(--color-border);border-radius:10px;overflow:hidden}.brand-color-swatch-block{height:64px}.brand-color-swatch-info{background:var(--color-surface);padding:8px 10px}.brand-color-hex{color:var(--color-text);font-family:monospace;font-size:.75rem;font-weight:600;display:block}.brand-color-name{color:var(--color-muted);margin-top:2px;font-size:.7rem;display:block}.brand-color-group-title{text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);margin:1rem 0 .5rem;font-size:.7rem;font-weight:700}.brand-typo-specimen{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;margin-bottom:.75rem;padding:1.25rem 1.5rem}.brand-typo-label{text-transform:uppercase;letter-spacing:.07em;color:var(--color-muted);margin-bottom:.4rem;font-size:.68rem}.brand-logo-row{flex-wrap:wrap;gap:1rem;margin-bottom:1rem;display:flex}.brand-logo-box-dark{background:#0d1910;border-radius:12px;flex-direction:column;align-items:center;gap:.75rem;padding:20px;display:flex}.brand-logo-box-light{background:#f0f0f0;border:1px solid #ddd;border-radius:12px;flex-direction:column;align-items:center;gap:.75rem;padding:20px;display:flex}.brand-logo-size-label{color:#888;text-align:center;font-size:.7rem}.brand-email-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;display:grid}.brand-email-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;flex-direction:column;gap:.4rem;padding:1rem 1.1rem;display:flex}.brand-email-type-badge{text-transform:uppercase;letter-spacing:.06em;border-radius:20px;align-self:flex-start;padding:2px 8px;font-size:.68rem;font-weight:700;display:inline-block}.brand-email-title{color:var(--color-text);font-size:.9rem;font-weight:600}.brand-email-desc{color:var(--color-muted);flex:1;font-size:.8rem}.brand-email-link{color:#4a7c59;margin-top:.25rem;font-size:.8rem;font-weight:500;text-decoration:none}.brand-appwrite-box{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;margin-top:1rem;padding:1.25rem 1.5rem}.brand-principles-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;display:grid}.brand-principle-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:1rem 1.1rem}.brand-principle-title{color:var(--color-text);margin:0 0 .35rem;font-size:.88rem;font-weight:700}.brand-principle-desc{color:var(--color-muted);margin:0;font-size:.8rem}.quiz-gen-checkbox-warning{color:#f59e0b}.focus-btn{border:1px solid var(--color-border);cursor:pointer;height:36px;color:var(--color-muted);background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:.35rem;padding:0 .6rem;font-size:.8rem;font-weight:500;transition:color .15s,border-color .15s,background .15s;display:none}.focus-btn:hover{color:var(--color-text);border-color:var(--color-text)}.focus-btn.active{color:var(--color-accent);border-color:var(--color-accent);background:#ed57551a}@supports (color:color-mix(in lab, red, red)){.focus-btn.active{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}}html.eink .focus-btn{border-width:2px;border-color:#000}@media (width>=640px){.focus-btn{display:flex}}body.focus-mode .node-sidebar-left>*,body.focus-mode .node-sidebar-right>*{cursor:pointer;border-radius:6px;position:relative;overflow:hidden;border:1.5px dashed var(--color-border)!important;box-shadow:none!important}body.focus-mode .node-sidebar-left>:before,body.focus-mode .node-sidebar-right>:before{content:"";background:var(--color-bg);z-index:2;pointer-events:none;border-radius:5px;transition:opacity .18s;position:absolute;inset:0}body.focus-mode .node-sidebar-left>:hover:before,body.focus-mode .node-sidebar-right>:hover:before{opacity:0}body.focus-mode .node-sidebar-left>:hover,body.focus-mode .node-sidebar-right>:hover{z-index:10;overflow:visible}.taxonomy-editor{flex-direction:column;gap:.25rem;display:flex}.taxonomy-main-item{border:1px solid var(--color-border);border-radius:10px;overflow:hidden}.taxonomy-main-row{background:var(--color-surface);align-items:center;gap:.5rem;padding:.55rem .75rem;display:flex}.taxonomy-sub-list{border-top:1px solid var(--color-border);background:var(--color-bg);flex-direction:column;gap:0;display:flex}.taxonomy-expand-btn{cursor:pointer;color:var(--color-muted);background:0 0;border:none;align-items:center;padding:0;line-height:1;display:flex}.taxonomy-color-dot{border:1px solid #0000001a;border-radius:50%;flex-shrink:0;width:12px;height:12px}.taxonomy-emoji{flex-shrink:0;font-size:1rem}.taxonomy-label{color:var(--color-text);flex:1;font-size:.85rem;font-weight:500}.taxonomy-sub-count{font-size:.75rem}.taxonomy-actions{gap:.25rem;margin-left:auto;display:flex}.taxonomy-inline-form{background:var(--color-surface);border-top:1px solid var(--color-border);align-items:center;gap:.4rem;padding:.5rem .75rem;display:flex}.taxonomy-form-input{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:6px;flex:1;padding:.3rem .5rem;font-size:.82rem}.taxonomy-form-input:focus{border-color:var(--color-accent);outline:none}.taxonomy-form-emoji{flex:0 0 4rem}.taxonomy-form-color{border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;width:32px;height:28px;padding:1px}.taxonomy-add-sub-btn{cursor:pointer;color:var(--color-muted);background:0 0;border:none;align-items:center;gap:.3rem;width:100%;padding:.35rem .75rem .35rem 1.75rem;font-size:.78rem;display:flex}.taxonomy-add-sub-btn:hover{color:var(--color-accent)}.taxonomy-add-main-btn{border:1px dashed var(--color-border);cursor:pointer;color:var(--color-muted);background:0 0;border-radius:10px;align-items:center;gap:.4rem;width:100%;padding:.5rem .75rem;font-size:.82rem;display:flex}.taxonomy-add-main-btn:hover{color:var(--color-accent);border-color:var(--color-accent)}.admin-btn-icon{align-items:center;line-height:1;display:flex;min-width:0!important;padding:.25rem .35rem!important}.taxonomy-course-list{background:var(--color-bg);border-top:1px solid var(--color-border)}.taxonomy-course-row{border-bottom:1px solid var(--color-border);align-items:center;gap:.5rem;padding:.35rem .75rem .35rem 3.25rem;display:flex}.taxonomy-course-row:last-child{border-bottom:none}.taxonomy-course-title{color:var(--color-text);flex:1;font-size:.8rem}.taxonomy-course-empty{padding:.4rem .75rem .4rem 3.25rem;font-size:.78rem}.taxonomy-sub-row{border-bottom:1px solid var(--color-border);align-items:center;gap:.5rem;padding:.4rem .75rem .4rem 1.25rem;display:flex}.taxonomy-sub-row:last-of-type{border-bottom:none}.style-sampler-overlay{z-index:1100;background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=600px){.style-sampler-overlay{align-items:center}}.style-sampler-modal{background:var(--color-surface);border-radius:1rem 1rem 0 0;flex-direction:column;width:100%;max-width:640px;max-height:92vh;display:flex;overflow:hidden;box-shadow:0 -4px 32px #00000040}@media (width>=600px){.style-sampler-modal{border-radius:1rem;max-height:85vh}}.style-sampler-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1rem .75rem;display:flex}.style-sampler-title{font-size:1rem;font-weight:700}.style-sampler-tabs{border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.style-sampler-tab{color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-bottom:2.5px solid #0000;flex:1;padding:.65rem .5rem;font-size:.8rem;font-weight:600;transition:color .15s,border-color .15s}.style-sampler-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.style-sampler-body{flex-shrink:0;padding:.85rem 1rem .5rem}.style-sampler-desc{color:var(--color-muted);margin:0 0 .75rem;font-size:.82rem}.style-sampler-gen-btn{width:100%;margin-bottom:.4rem}.style-sampler-cost-hint{color:var(--color-muted);text-align:center;margin:0;font-size:.74rem}.style-sampler-custom-wrap{margin-bottom:.75rem}.style-sampler-custom-label{margin-bottom:.35rem;font-size:.8rem;font-weight:600;display:block}.style-sampler-custom-input{box-sizing:border-box;resize:vertical;width:100%;font-family:inherit;font-size:.82rem}.style-sampler-loading{flex-shrink:0;justify-content:center;align-items:center;gap:.75rem;padding:1rem;display:flex}.style-sampler-spinner{border:2.5px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;flex-shrink:0;width:20px;height:20px;animation:.7s linear infinite spin}.style-sampler-loading span{color:var(--color-muted);font-size:.82rem}.style-prompt-grid{flex-direction:column;gap:.45rem;padding:.5rem 1rem 0;display:flex}.style-prompt-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:.55rem .75rem}.style-prompt-label{color:var(--color-accent);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem;font-size:.72rem;font-weight:700;display:block}.style-prompt-text{color:var(--color-text);margin:0;font-size:.82rem;line-height:1.4}.style-sampler-grid{flex:1;grid-template-columns:repeat(2,1fr);gap:.6rem;padding:.6rem 1rem;display:grid;overflow-y:auto}@media (width>=480px){.style-sampler-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}}.style-sampler-card{background:var(--color-bg);border:2px solid var(--color-border);cursor:pointer;border-radius:.6rem;flex-direction:column;align-items:center;padding:0;transition:border-color .15s,transform .1s;display:flex;position:relative;overflow:hidden}.style-sampler-card:active{transform:scale(.97)}.style-sampler-card.selected{border-color:var(--color-accent)}.style-sampler-card.error{opacity:.45;cursor:default}.style-sampler-img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.style-sampler-img-err{aspect-ratio:1;width:100%;color:var(--color-muted);background:var(--color-border);justify-content:center;align-items:center;font-size:.7rem;display:flex}.style-sampler-label{text-align:center;color:var(--color-text);padding:.2rem .3rem .35rem;font-size:.67rem;font-weight:600;line-height:1.2}.style-sampler-check{background:var(--color-accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:1.2rem;height:1.2rem;font-size:.7rem;font-weight:700;display:flex;position:absolute;top:.25rem;right:.25rem}.style-sampler-error{color:#ef4444;background:#ef44441a;border-radius:.4rem;margin:.5rem 1rem;padding:.5rem .75rem;font-size:.8rem}.style-sampler-footer{border-top:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.style-sampler-selected-preview{color:var(--color-muted);flex:1;align-items:center;gap:.5rem;font-size:.82rem;display:flex;overflow:hidden}.style-sampler-preview-thumb{object-fit:cover;border-radius:.35rem;flex-shrink:0;width:36px;height:36px}.media-style-pick-thumb-empty{background:var(--color-bg);border:1px solid var(--color-border);border-radius:.35rem;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;display:flex}.nbe-page{background:var(--color-bg);flex-direction:column;min-height:100dvh;padding-top:56px;display:flex}.nbe-topbar{z-index:200;background:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;gap:.75rem;width:100%;padding:.6rem 1rem;display:flex;position:fixed;top:56px;left:0}.nbe-back-btn{color:var(--color-accent);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:.25rem 0;font-size:.85rem}.nbe-topbar-center{flex:1;justify-content:center;display:flex}.nbe-relevance-select{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:6px;padding:.25rem .5rem;font-size:.82rem}.nbe-topbar-right{align-items:center;gap:.6rem;display:flex}.nbe-save-btn{padding:.35rem .9rem;font-size:.85rem}.nbe-save-error{color:var(--color-error,#e55);font-size:.78rem}.nbe-save-ok{color:var(--color-accent);font-size:.78rem}.nbe-body{width:100%;max-width:720px;margin:0 auto;padding:3.25rem 0 4rem}.nbe-hero{cursor:pointer;background:var(--color-surface);width:100%;position:relative}.nbe-hero-img{width:100%;height:auto;display:block}.nbe-hero-empty{width:100%;min-height:140px;color:var(--color-muted);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.nbe-hero-uploading{color:#fff;background:#0000008c;justify-content:center;align-items:center;font-size:.9rem;display:flex;position:absolute;inset:0}.nbe-hero-overlay{color:#fff;opacity:0;background:#00000073;justify-content:center;align-items:center;gap:.4rem;font-size:.85rem;transition:opacity .15s;display:flex;position:absolute;inset:0}.nbe-hero:hover .nbe-hero-overlay{opacity:1}.nbe-title-wrap{padding:1.2rem 1.25rem .5rem}.nbe-title{cursor:text;margin:0;font-size:1.7rem;font-weight:700;line-height:1.2}.nbe-title:hover{opacity:.8}.nbe-title-input{border:none;border-bottom:2px solid var(--color-accent);width:100%;color:var(--color-text);background:0 0;outline:none;padding:0;font-size:1.7rem;font-weight:700}.nbe-blocks{padding:0 1.25rem}.nbe-insert-row{flex-direction:column;align-items:stretch;margin:.15rem 0;display:flex;position:relative}.nbe-insert-divider{cursor:pointer;width:100%;color:var(--color-border);opacity:0;background:0 0;border:none;align-items:center;gap:.55rem;padding:.28rem 0;transition:opacity .15s,color .15s;display:flex}.nbe-blocks:hover .nbe-insert-divider{opacity:.6}.nbe-insert-divider:hover,.nbe-insert-divider.active,.nbe-insert-row:focus-within .nbe-insert-divider{color:var(--color-accent);opacity:1!important}.nbe-insert-line{background:currentColor;border-radius:1px;flex:1;height:1.5px}.nbe-insert-label{white-space:nowrap;color:currentColor;align-items:center;gap:.22rem;font-size:.72rem;font-weight:600;display:flex}.nbe-insert-backdrop{z-index:190;position:fixed;inset:0}.nbe-insert-popup{background:var(--color-surface);border:1px solid var(--color-border);z-index:200;border-radius:12px;min-width:240px;padding:.75rem .85rem .65rem;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);box-shadow:0 8px 28px #00000059}.nbe-insert-grid{grid-template-columns:repeat(4,1fr);gap:.35rem;margin-top:.1rem;display:grid}.nbe-insert-tile{border:1.5px solid var(--color-border);color:var(--color-text);cursor:pointer;aspect-ratio:1;background:0 0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;padding:.7rem .3rem .6rem;transition:border-color .12s,background .12s,color .12s;display:flex}.nbe-insert-tile span{text-align:center;color:var(--color-muted);font-size:.67rem;font-weight:600;line-height:1.2;transition:color .12s}.nbe-insert-tile:hover{border-color:var(--color-accent);color:var(--color-accent);background:#4a7c5914}.nbe-insert-tile:hover span{color:var(--color-accent)}.nbe-insert-popup-back{align-items:center;gap:.6rem;margin-bottom:.6rem;display:flex}.nbe-insert-back-btn{color:var(--color-accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.82rem}.nbe-insert-popup-subtitle{color:var(--color-text);font-size:.82rem;font-weight:600}.nbe-insert-heading-row{gap:.4rem;display:flex}.nbe-insert-heading-btn{border:1.5px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;border-radius:8px;flex:1;padding:.65rem 0;font-size:.88rem;font-weight:700;transition:border-color .12s,background .12s,color .12s}.nbe-insert-heading-btn:hover{border-color:var(--color-accent);color:var(--color-accent);background:#4a7c5914}.nbe-block{border-radius:8px;margin:0 -.6rem;padding:.5rem .6rem;transition:background .1s;position:relative}.nbe-block:hover{background:#ffffff0a}.nbe-block-toolbar{opacity:0;background:var(--color-surface);border:1px solid var(--color-border);z-index:10;border-radius:6px;gap:.15rem;padding:.2rem .3rem;transition:opacity .15s;display:flex;position:absolute;top:.35rem;right:.4rem}.nbe-block:hover .nbe-block-toolbar{opacity:1}.nbe-tb-btn{width:24px;height:24px;color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;display:flex}.nbe-tb-btn:hover:not(:disabled){color:var(--color-text);background:#ffffff14}.nbe-tb-btn:disabled{opacity:.25;cursor:default}.nbe-tb-ai:hover:not(:disabled){color:#c084fc}.nbe-tb-del:hover:not(:disabled){color:#f87171}.nbe-block-view{cursor:default;padding:.1rem 0}.nbe-empty-hint{color:var(--color-muted);font-size:.82rem;font-style:italic}.nbe-h2{margin:.25rem 0;font-size:1.25rem;font-weight:700}.nbe-h3{margin:.2rem 0;font-size:1.05rem;font-weight:600}.nbe-h4{margin:.18rem 0;font-size:.97rem;font-weight:600}.nbe-h5{color:var(--color-muted);margin:.15rem 0;font-size:.9rem;font-weight:600}.nbe-h6{color:var(--color-muted);margin:.12rem 0;font-size:.83rem;font-weight:600}.nbe-p{margin:.1rem 0;font-size:.95rem;line-height:1.65}.nbe-list,.nbe-ol{margin:.1rem 0;padding-left:1.3rem;font-size:.95rem;line-height:1.65}.nbe-list li,.nbe-ol li{margin-bottom:.15rem}.nbe-ol{list-style-type:decimal}.nbe-heading-level-row{flex-wrap:wrap;align-items:center;gap:.3rem;margin-bottom:.25rem;display:flex}.nbe-heading-level-btn{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;border-radius:5px;padding:.2rem .5rem;font-size:.8rem;font-weight:700;transition:background .12s,border-color .12s}.nbe-heading-level-btn:hover{border-color:var(--color-accent);background:#4a7c5914}.nbe-heading-level-btn.active{border-color:var(--color-accent);color:var(--color-accent);background:#4a7c5926}.nbe-list-type-row{gap:.35rem;margin-bottom:.25rem;display:flex}.nbe-list-type-btn{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;border-radius:5px;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.78rem;transition:background .12s,border-color .12s;display:flex}.nbe-list-type-btn:hover{border-color:var(--color-accent);background:#4a7c5914}.nbe-list-type-btn.active{border-color:var(--color-accent);color:var(--color-accent);background:#4a7c5926;font-weight:600}.nbe-figure{margin:.25rem 0}.nbe-figure-img{border-radius:6px;max-width:100%;display:block}.nbe-figcaption{color:var(--color-muted);margin-top:.3rem;font-size:.78rem}.nbe-rtt{border-bottom:1px solid var(--color-border);gap:.2rem;margin-bottom:.1rem;padding:.25rem .1rem;display:flex}.nbe-rtt-btn{border:1px solid var(--color-border);background:var(--color-surface);width:28px;height:28px;color:var(--color-text);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;transition:background .15s;display:flex}.nbe-rtt-btn:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.nbe-block-edit{background:var(--color-surface);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);flex-direction:column;gap:.4rem;margin:0 -1.25rem;padding:.4rem 1.25rem;display:flex}.nbe-block-textarea{background:var(--color-bg);border:1.5px solid var(--color-accent);width:100%;color:var(--color-text);resize:none;border-radius:6px;outline:none;min-height:2.8rem;padding:.5rem .7rem;font-family:inherit;font-size:.93rem;line-height:1.6;transition:min-height .15s;overflow:hidden}.nbe-block-textarea--h2{font-size:1.25rem;font-weight:700}.nbe-block-textarea--h3{font-size:1.05rem;font-weight:700}.nbe-block-textarea--h4{font-size:.97rem;font-weight:700}.nbe-block-textarea--h5{font-size:.9rem;font-weight:700}.nbe-block-textarea--h6{font-size:.83rem;font-weight:700}.nbe-block-textarea--expanded{min-height:60vh}.nbe-block-textarea--code{tab-size:2;white-space:pre;font-family:Fira Code,Cascadia Code,monospace;font-size:.82rem;overflow-x:auto}.nbe-code-lang-row{align-items:center;gap:.5rem;padding-bottom:.25rem;display:flex}.nbe-code-lang-select{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;border-radius:5px;flex:1;padding:.25rem .4rem;font-size:.82rem}.nbe-mermaid-textarea{tab-size:2;font-family:Fira Code,Cascadia Code,monospace;font-size:.85rem;line-height:1.55}.nbe-block-edit-btns{align-items:center;gap:.4rem;display:flex}.nbe-edit-done{align-items:center;gap:.3rem;font-size:.83rem;display:flex}.nbe-expand-btn{border:1px solid var(--color-border);background:var(--color-surface);width:32px;height:32px;color:var(--color-muted);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;transition:background .12s,color .12s;display:flex}.nbe-expand-btn:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.nbe-callout-type-row{flex-wrap:wrap;align-items:center;gap:.3rem;padding-bottom:.1rem;display:flex}.nbe-callout-type-label{color:var(--color-muted);white-space:nowrap;font-size:.75rem}.nbe-callout-type-btn{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;border-radius:5px;padding:.18rem .45rem;font-size:.78rem;transition:background .12s,border-color .12s}.nbe-callout-type-btn:hover{border-color:var(--color-accent);background:#4a7c5914}.nbe-callout-type-btn.active{border-color:var(--color-accent);background:#4a7c5926;font-weight:600}.nbe-mermaid-code{background:var(--color-surface);border:1px solid var(--color-border);white-space:pre;color:var(--color-text);border-radius:6px;margin:.1rem 0;padding:.65rem .85rem;font-family:Fira Code,Cascadia Code,monospace;font-size:.82rem;line-height:1.55;overflow-x:auto}.nbe-ai-panel{background:#c084fc12;border:1px solid #c084fc40;border-radius:8px;flex-direction:column;gap:.5rem;margin-top:.5rem;padding:.6rem .7rem;display:flex}.nbe-ai-row{align-items:center;gap:.4rem;display:flex}.nbe-ai-input{flex:1;font-size:.83rem}.nbe-ai-preview{background:var(--color-surface);border-radius:6px;flex-direction:column;gap:.5rem;padding:.6rem .7rem;display:flex}.nbe-ai-preview-text{white-space:pre-wrap;margin:0;font-size:.88rem;line-height:1.6}.nbe-ai-preview-btns{gap:.4rem;display:flex}.nbe-modal-backdrop{z-index:500;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.nbe-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;flex-direction:column;gap:.7rem;width:min(420px,92vw);padding:1.25rem;display:flex}.nbe-modal-header{justify-content:space-between;align-items:center;font-size:1rem;font-weight:600;display:flex}.nbe-modal-close{cursor:pointer;color:var(--color-muted);background:0 0;border:none;display:flex}.nbe-modal-preview{object-fit:cover;border-radius:8px;width:100%;max-height:180px}.nbe-modal-row{align-items:center;gap:.4rem;display:flex}.nbe-modal-row .form-input,.nbe-upload-full{flex:1}.nbe-img-search-trigger{width:100%;margin-top:.5rem}.nbe-footer{flex-wrap:wrap;gap:.6rem;padding:1rem 1.25rem 0;display:flex}.nbe-regen-section{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;margin:1.5rem 1.25rem 0;padding:1rem}.nbe-regen-title{color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .65rem;font-size:.85rem;font-weight:700}.nbe-regen-scope{flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem;display:flex}.nbe-regen-checks{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:.75rem;font-size:.85rem;display:flex}.nbe-regen-checks label{cursor:pointer;align-items:center;gap:.3rem;display:flex}.nbe-regen-scope button{padding:.25rem .65rem;font-size:.82rem}.nbe-regen-error{margin-top:.5rem;font-size:.82rem}.nbe-regen-done{color:var(--color-accent);margin-top:.5rem;font-size:.85rem}.bie-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;flex-direction:column;gap:.65rem;width:min(480px,94vw);max-height:90dvh;padding:1.1rem 1.2rem 1rem;display:flex;overflow-y:auto}.bie-modal-header{flex-shrink:0;justify-content:space-between;align-items:center;font-size:1rem;font-weight:600;display:flex}.bie-modal-header-actions{align-items:center;gap:.5rem;display:flex}.bie-remove-btn{padding:.2rem .6rem;font-size:.78rem}.bie-tabs{border-bottom:1px solid var(--color-border);flex-shrink:0;gap:.25rem;padding-bottom:.5rem;display:flex}.bie-tab{color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.3rem;padding:.3rem .65rem;font-size:.82rem;transition:background .12s,color .12s;display:flex}.bie-tab:hover{color:var(--color-text);background:#ffffff0f}.bie-tab.active{color:var(--color-accent);background:#4a7c5926;font-weight:600}.bie-preview{border:2px solid var(--color-accent);border-radius:8px;flex-direction:column;flex-shrink:0;gap:.5rem;display:flex;overflow:hidden}.bie-preview-img{object-fit:contain;background:#0000001a;width:100%;height:auto;max-height:260px;display:block}.bie-preview-attribution{color:var(--color-muted);margin:0;padding:.2rem .65rem 0;font-size:.72rem}.bie-preview-actions{background:#4a7c5912;gap:.4rem;padding:.4rem .65rem .5rem;display:flex}.bie-body{flex-direction:column;flex:1;gap:.5rem;min-height:0;display:flex}.bie-info{text-align:center;padding:1rem 0}.bie-upload-area{border:2px dashed var(--color-border);border-radius:10px;justify-content:center;align-items:center;min-height:130px;display:flex}.bie-upload-btn{color:var(--color-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;font-size:.9rem;transition:color .12s;display:flex}.bie-upload-btn:hover{color:var(--color-accent)}.bie-url-area{align-items:center;gap:.4rem;display:flex}.bie-url-area .form-input{flex:1}.bie-search-bar{flex-wrap:wrap;align-items:stretch;gap:.35rem;display:flex}.bie-search-bar .form-input{flex:1;min-width:120px}.bie-source-btn{border:1px solid var(--color-border);color:var(--color-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:0 .6rem;font-size:.78rem;transition:border-color .12s,color .12s}.bie-source-btn:disabled{opacity:.4;cursor:default}.bie-source-btn.active{border-color:var(--color-accent);color:var(--color-accent);background:#ed575514;font-weight:600}@supports (color:color-mix(in lab, red, red)){.bie-source-btn.active{background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.bie-license-hint{color:var(--color-muted);margin:.2rem 0 .1rem;font-size:.74rem}.bie-ai-prompt{width:100%;margin-bottom:.4rem}.bie-ai-generate-btn{width:100%}.bie-grid{grid-template-columns:repeat(3,1fr);gap:.4rem;max-height:260px;display:grid;overflow-y:auto}.bie-thumb{aspect-ratio:1;background:var(--color-bg);cursor:pointer;border:2px solid #0000;border-radius:6px;padding:0;transition:border-color .12s,transform .1s;position:relative;overflow:hidden}.bie-thumb:hover{border-color:var(--color-accent);transform:scale(1.03)}.bie-thumb.selected{border-color:var(--color-accent)}.bie-thumb img{object-fit:cover;width:100%;height:100%;display:block}.bie-thumb-label{color:#fff;text-align:center;white-space:nowrap;text-overflow:ellipsis;background:#0000008c;padding:.15rem .3rem;font-size:.6rem;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.bie-thumb-error{aspect-ratio:1;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-muted);border-radius:6px;justify-content:center;align-items:center;font-size:.72rem;display:flex}.bie-caption-row{flex-shrink:0}.bde-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;flex-direction:column;gap:.6rem;width:min(820px,96vw);max-height:92dvh;padding:1rem 1.1rem;display:flex;overflow:hidden}.bde-modal-header{flex-shrink:0;justify-content:space-between;align-items:center;font-size:1rem;font-weight:600;display:flex}.bde-header-right{align-items:center;gap:.5rem;display:flex}.bde-save-btn{align-items:center;gap:.3rem;font-size:.85rem;display:flex}.bde-tabs{border-bottom:1px solid var(--color-border);flex-shrink:0;gap:.25rem;padding-bottom:.45rem;display:flex}.bde-tab{color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.28rem .75rem;font-size:.83rem;transition:background .12s,color .12s}.bde-tab:hover{color:var(--color-text);background:#ffffff0f}.bde-tab.active{color:var(--color-accent);background:#4a7c5926;font-weight:600}.bde-code-pane{flex:1;gap:.75rem;min-height:0;display:flex}.bde-code-textarea{background:var(--color-bg);border:1.5px solid var(--color-accent);color:var(--color-text);resize:none;tab-size:2;border-radius:8px;outline:none;flex:1;min-height:300px;padding:.6rem .75rem;font-family:Fira Code,Cascadia Code,monospace;font-size:.83rem;line-height:1.55}.bde-preview-pane{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;flex:1;justify-content:center;align-items:flex-start;min-height:300px;padding:.6rem;display:flex;overflow:auto}.bde-preview-compact{min-height:160px}.bde-preview{width:100%}.bde-preview svg{max-width:100%;height:auto}.bde-preview-placeholder{color:var(--color-muted);align-self:center;font-size:.82rem}.bde-visual-pane{flex-direction:column;flex:1;gap:.5rem;min-height:0;display:flex;overflow:hidden}.bde-visual-wrap{flex-direction:column;gap:.4rem;display:flex}.bde-visual-toolbar{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.bde-vbtn{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;border-radius:5px;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.78rem;transition:border-color .12s,background .12s,color .12s;display:flex}.bde-vbtn:hover{border-color:var(--color-accent);background:#4a7c5914}.bde-vbtn.active{border-color:var(--color-accent);color:var(--color-accent);background:#4a7c592e}.bde-vbtn-del:hover{color:#f87171;border-color:#f87171}.bde-vbtn-hint{color:var(--color-muted);font-size:.72rem}.bde-svg{border:1px solid var(--color-border);background:var(--color-bg);cursor:crosshair;border-radius:8px;max-width:100%;display:block}.bde-label-edit{align-items:center;gap:.35rem;margin-top:.3rem;display:flex}.bde-label-edit .form-input{flex:1;font-size:.88rem}.bde-ai-pane{flex-direction:column;flex:1;gap:.5rem;display:flex;overflow-y:auto}.bde-ai-row{align-items:flex-start;gap:.4rem;display:flex}.bde-ai-textarea{resize:vertical;flex:1}.bde-ai-preview-wrap{margin-top:.5rem}.bde-ai-preview{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;padding:.6rem;overflow-x:auto}.bottom-nav{width:100%;height:calc(76px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--color-surface);border-top:1px solid var(--color-border);z-index:200;align-items:flex-start;padding-top:10px;display:flex;position:fixed;bottom:0;left:0;right:0}html.light .bottom-nav{box-shadow:0 -2px 8px #3a3a420d}@media (width>=640px){.bottom-nav{border:1px solid var(--color-border);border-radius:20px;align-items:center;width:380px;height:64px;padding:0 12px;bottom:20px;left:50%;right:auto;transform:translate(-50%);box-shadow:0 8px 32px #00000047}html.light .bottom-nav{box-shadow:0 8px 32px #3a3a4226}}.bottom-nav-item{cursor:pointer;color:#c0c0cc;letter-spacing:.03em;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:0;font-size:.625rem;font-weight:600;text-decoration:none;transition:color .18s;display:flex}html.light .bottom-nav-item,html.eink .bottom-nav-item{color:var(--color-muted)}.bottom-nav-item.active{color:var(--color-accent)}.bottom-nav-icon-wrap{border-radius:10px;justify-content:center;align-items:center;width:24px;height:24px;transition:background .18s,width .18s;display:flex}.bottom-nav-item.active .bottom-nav-icon-wrap{background:#ed57551f;width:40px;height:30px}.profile-sheet-overlay{z-index:300;background:#00000073;animation:.18s fadeIn;position:fixed;inset:0}.profile-sheet{background:var(--color-surface);width:100%;max-width:480px;padding:0 0 env(safe-area-inset-bottom,0px);z-index:301;border-radius:20px 20px 0 0;animation:.22s cubic-bezier(.32,.72,0,1) slideUp;position:fixed;bottom:0;left:50%;transform:translate(-50%)}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.profile-sheet-handle{background:var(--color-border);border-radius:2px;width:36px;height:4px;margin:10px auto 0}.profile-sheet-inner{flex-direction:column;gap:16px;padding:16px 20px 24px;display:flex}.profile-sheet-user{align-items:center;gap:12px;display:flex}.profile-sheet-avatar-wrap{flex-shrink:0;position:relative}.profile-sheet-avatar{background:var(--color-accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;font-weight:700;display:flex;overflow:hidden}.profile-sheet-avatar-cam{background:var(--color-surface);border:1.5px solid var(--color-border);width:20px;height:20px;color:var(--color-text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;bottom:-2px;right:-2px}.profile-sheet-name{color:var(--color-text);font-size:15px;font-weight:700}.profile-sheet-email{color:var(--color-muted);font-size:12px}.profile-sheet-divider{background:var(--color-border);height:1px;margin:0 -20px}.profile-sheet-section-label{letter-spacing:.06em;color:var(--color-muted);text-transform:uppercase;font-size:11px;font-weight:700}.profile-sheet-theme-row{gap:8px;display:flex}.profile-sheet-theme-btn{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-muted);cursor:pointer;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:5px;padding:10px 6px;font-size:11px;font-weight:600;transition:border-color .15s,color .15s;display:flex}.profile-sheet-theme-btn.active{border-color:var(--color-accent);color:var(--color-accent)}.profile-sheet-fontsize-row{gap:6px;display:flex}.profile-sheet-fontsize-btn{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-muted);cursor:pointer;border-radius:10px;flex:1;padding:8px;font-weight:700;transition:border-color .15s,color .15s}.profile-sheet-fontsize-btn.active{border-color:var(--color-accent);color:var(--color-accent)}.profile-sheet-row-btn{width:100%;color:var(--color-text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:6px 0;font-size:14px;font-weight:500;display:flex}.profile-sheet-row-btn.danger{color:#ed5755}.sno-page-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:10;justify-content:space-between;align-items:center;padding:14px 18px 10px;display:flex;position:sticky;top:0}html.light .sno-page-header{box-shadow:0 1px 0 var(--color-border)}.sno-logo{letter-spacing:-.5px;color:var(--color-text);font-size:1.3125rem;font-weight:800}.sno-logo-no{color:var(--color-accent)}.sno-logo-dot{color:var(--color-teal)}.sno-avatar-btn{background:linear-gradient(135deg, var(--color-accent), var(--color-teal));color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.8125rem;font-weight:700;display:flex}.sno-greeting{color:var(--color-text);letter-spacing:-.3px;font-size:1.25rem;font-weight:600}.sno-hero-card{cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(140deg,#2e2a38,#1e2430);border-radius:20px;min-height:140px;padding:24px;position:relative;overflow:hidden}.sno-hero-card:after{content:"";pointer-events:none;background:radial-gradient(circle,#ed575538 0%,#0000 70%);border-radius:50%;width:160px;height:160px;position:absolute;top:-50px;right:-50px}.sno-hero-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--color-teal);margin-bottom:6px;font-size:.625rem;font-weight:700}.sno-hero-title{color:#fff;margin-bottom:4px;font-size:1.15rem;font-weight:800;line-height:1.2}.sno-hero-sub{color:#ffffff80;margin-bottom:14px;font-size:.75rem}.sno-pbar-wrap{background:#ffffff26;border-radius:99px;height:4px;margin-bottom:6px;overflow:hidden}.sno-pbar-fill{background:linear-gradient(to right, var(--color-accent), var(--color-teal));border-radius:99px;height:100%}.sno-pbar-meta{color:#ffffff73;justify-content:space-between;font-size:.6875rem;display:flex}.sno-hero-btn{background:var(--color-accent);color:#fff;border-radius:12px;margin-top:14px;padding:9px 18px;font-size:.8125rem;font-weight:700;display:inline-block}.sno-sec-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.sno-sec-title{color:var(--color-text);letter-spacing:.01em;font-size:.875rem;font-weight:700}.sno-sec-more{color:var(--color-teal);cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;font-weight:600;text-decoration:none}.sno-course-list{flex-direction:column;gap:10px;display:flex}.sno-carousel-track .sno-course-item{width:calc(100vw - 2rem)}.sno-course-item{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:18px;align-items:center;gap:14px;padding:10px 14px 10px 10px;display:flex}html.light .sno-course-item{box-shadow:0 1px 4px #3a3a4214}.sno-ci-thumb{background:var(--color-surface-2);border-radius:12px;flex-shrink:0;width:80px;height:80px;overflow:hidden}.sno-ci-thumb img{object-fit:cover;width:100%;height:100%;display:block}.sno-ci-body{flex:1;min-width:0}.sno-ci-name{-webkit-line-clamp:2;color:var(--color-text);-webkit-box-orient:vertical;font-size:.9375rem;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.sno-ci-meta{color:var(--color-muted);margin-top:3px;font-size:.75rem}.sno-ci-prog{background:var(--color-surface-2);border-radius:99px;height:3px;margin-top:8px;overflow:hidden}.sno-ci-prog-fill{background:linear-gradient(to right, var(--color-accent), var(--color-teal));border-radius:99px;height:100%}.sno-ci-tag{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:7px;flex-shrink:0;align-self:flex-start;padding:4px 8px;font-size:.5625rem;font-weight:700}.sno-ci-tag-abo{background:linear-gradient(135deg, var(--color-accent), var(--color-teal));color:#fff}.sno-ci-tag-owned{color:var(--color-teal);background:#0ea6b12e;border:1px solid #0ea6b14d}.sno-ci-partial-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--color-teal);background:#0ea6b126;border:1px solid #0ea6b14d;border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:.55rem;font-weight:700}.sno-scroll-dots{justify-content:center;gap:5px;padding:8px 0 0;display:flex}.sno-sd{background:var(--color-muted);opacity:.35;border-radius:50%;flex-shrink:0;width:5px;height:5px}.sno-sd.on{background:var(--color-accent);opacity:1}.sno-ach-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.sno-ach-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:13px;flex-direction:column;align-items:center;gap:5px;padding:10px 6px;display:flex}html.light .sno-ach-item{box-shadow:0 1px 3px #3a3a420f}.sno-ach-item.locked{opacity:.3;border-style:dashed}.sno-ach-icon{color:var(--color-teal);display:flex}.sno-ach-lbl{color:var(--color-muted);text-align:center;letter-spacing:.04em;text-transform:uppercase;font-size:.5625rem;font-weight:700;line-height:1.2}.sno-empty{background:var(--color-surface);border:1px solid var(--color-border);text-align:center;color:var(--color-muted);border-radius:14px;padding:20px;font-size:.8125rem}.sno-search-bar{background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-muted);cursor:text;border-radius:14px;flex-shrink:0;align-items:center;gap:9px;margin:12px 16px 0;padding:10px 14px;font-size:.8125rem;display:flex}.sno-search-input-wrap{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:12px;align-items:center;gap:8px;height:36px;padding:0 10px;display:flex}.sno-search-input{min-width:0;color:var(--color-text);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.875rem}.sno-search-input::placeholder{color:var(--color-muted)}.sno-search-clear{cursor:pointer;color:var(--color-muted);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:flex}.sno-featured-banner{cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:18px;flex-shrink:0;height:130px;position:relative;overflow:hidden}.sno-featured-overlay{background:linear-gradient(#0000 30%,#000000c7 100%);flex-direction:column;justify-content:flex-end;height:100%;padding:10px 14px 12px;display:flex;position:absolute;bottom:0;left:0;right:0}.sno-featured-badge{letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--color-accent);border-radius:6px;align-self:flex-start;margin-bottom:5px;padding:2px 7px;font-size:.5625rem;font-weight:700}.sno-featured-title{color:#fff;font-size:.9375rem;font-weight:800;line-height:1.2}.sno-featured-sub{color:#fff9;margin-top:2px;font-size:.6875rem}.sno-carousel-wrap{position:relative}.sno-carousel-track{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px;display:flex;overflow-x:auto}.sno-carousel-track::-webkit-scrollbar{display:none}.sno-carousel-track>*{scroll-snap-align:start;flex-shrink:0}.sno-carousel-dots{justify-content:center;gap:5px;padding:8px 0 0;display:flex}.sno-carousel-dot{background:var(--color-muted);opacity:.35;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;width:5px;height:5px;padding:0;transition:opacity .2s,background .2s,width .2s}.sno-carousel-dot.on{background:var(--color-accent);opacity:1;border-radius:99px;width:14px}.sno-carousel-arrow{display:none}@media (width>=640px){.sno-carousel-arrow{z-index:2;background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;width:32px;height:32px;color:var(--color-text);border-radius:50%;justify-content:center;align-items:center;transition:opacity .15s,background .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 8px #0000002e}.sno-carousel-arrow:disabled{opacity:.3;cursor:default}.sno-carousel-arrow:not(:disabled):hover{background:var(--color-accent);color:#fff}.sno-carousel-arrow-left{left:-14px}.sno-carousel-arrow-right{right:-14px}}.sno-cat-grid{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.sno-cat-tile{background:var(--color-surface-2);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:14px;height:90px;position:relative;overflow:hidden}.sno-carousel-track .sno-cat-tile{width:calc(33.3333vw - .666667rem - 4.66667px)}.sno-cat-tile-img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.sno-cat-tile-overlay{background:linear-gradient(#0000000d 0%,#000000a6 100%);flex-direction:column;justify-content:flex-end;padding:8px 10px;display:flex;position:absolute;inset:0}.sno-cat-label{color:#fff;font-size:.6875rem;font-weight:700;line-height:1.2}.sno-kurse-section{padding:14px 16px 0}.kurse-grid{flex-wrap:wrap;justify-content:center;gap:10px;max-width:1160px;margin:0 auto;display:flex}.kurse-cat-tile{background:var(--color-surface-2);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:14px;width:100%;height:96px;padding:0;transition:transform .15s;position:relative;overflow:hidden}.kurse-cat-tile:active{transform:scale(.97)}.kurse-cat-tile-img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.kurse-cat-tile-overlay{text-align:left;background:linear-gradient(#0000000d 0%,#000000a8 100%);flex-direction:column;justify-content:flex-end;padding:8px 10px;display:flex;position:absolute;inset:0}.kurse-cat-emoji{margin-bottom:3px;font-size:1rem;line-height:1}.kurse-cat-label{color:#fff;font-size:.75rem;font-weight:700;line-height:1.2}.kurse-cat-count{color:#ffffffb8;margin-top:2px;font-size:.5625rem}.home-course-stack{flex-wrap:wrap;justify-content:center;gap:8px;max-width:1156px;margin:0 auto;display:flex}.home-discover-btn{text-align:center;color:var(--color-accent);margin-top:10px;padding:8px;font-size:.82rem;font-weight:600;text-decoration:none;display:block}.home-discover-btn:active{opacity:.7}.home-completed-kurs-card{flex-direction:column;display:flex}.home-completed-img-wrap{cursor:pointer}.home-completed-badge{letter-spacing:.03em;text-align:center;color:#fff;transform-origin:50%;pointer-events:none;z-index:2;background:#16a34a;width:120px;padding:3px 0;font-size:.48rem;font-weight:700;position:absolute;top:15px;left:-32px;transform:rotate(-45deg);box-shadow:0 1px 4px #00000040}.home-completed-sq-btn{width:100%;color:var(--color-teal);border:none;border-top:1px solid var(--color-border);cursor:pointer;-webkit-tap-highlight-color:transparent;white-space:nowrap;background:0 0;justify-content:center;align-items:center;gap:6px;padding:8px 6px;font-size:.7rem;font-weight:700;display:flex}.home-completed-sq-btn:active{opacity:.7}.home-completed-sq-pill{background:linear-gradient(135deg, var(--color-teal) 0%, var(--color-accent) 100%);color:#fff;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:18px;display:flex;box-shadow:0 2px 6px #0ea6b159}.home-completed-row{align-items:stretch;gap:10px;display:flex}.home-completed-row .home-completed-card{flex:1;min-width:0}.home-completed-stack{flex-direction:column;gap:10px;display:flex}.home-completed-card{text-align:left;background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:16px;align-items:center;gap:12px;width:100%;padding:10px 12px 10px 10px;transition:border-color .15s,transform .12s;display:flex}.home-completed-card:active{transform:scale(.99)}html.light .home-completed-card{box-shadow:0 1px 4px #3a3a4214}.home-completed-thumb{background:var(--color-surface-2);width:52px;height:52px;color:var(--color-muted);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;font-weight:800;display:flex;overflow:hidden}.home-completed-thumb img{object-fit:cover;width:100%;height:100%;display:block}.home-completed-body{flex:1;min-width:0}.home-completed-title{color:var(--color-text);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.875rem;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.home-completed-meta{margin-top:2px;font-size:.6875rem}.home-completed-sq{color:#fff;background:linear-gradient(135deg, var(--color-teal) 0%, var(--color-accent) 100%);border-radius:10px;flex-shrink:0;align-items:center;gap:4px;padding:6px 10px;font-size:.6875rem;font-weight:700;display:inline-flex}.home-completed-all{background:var(--color-surface-2);border:1px solid var(--color-border);width:88px;color:var(--color-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:16px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:2px;font-size:.625rem;font-weight:700;display:flex}.home-completed-all-count{color:var(--color-teal);font-size:1.25rem;font-weight:800;line-height:1}.learning-profile-box{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;margin:.75rem 0;overflow:hidden}.learning-profile-toggle{cursor:pointer;width:100%;color:var(--color-text);background:0 0;border:none;justify-content:space-between;align-items:center;padding:.7rem .9rem;font-size:.9rem;font-weight:600;display:flex}.learning-profile-fields{flex-direction:column;gap:.6rem;padding:0 .9rem .9rem;display:flex}.learning-profile-field{flex-direction:column;gap:.2rem;display:flex}.learning-profile-label{color:var(--color-muted);font-size:.78rem;font-weight:600}.learning-profile-input{box-sizing:border-box;background:var(--color-surface-2);border:1px solid var(--color-border);width:100%;font:inherit;color:var(--color-text);resize:vertical;border-radius:8px;padding:.45rem .6rem;font-size:.85rem}.learning-profile-input:focus{border-color:var(--color-teal);outline:none}.subtopic-stories{background:var(--color-surface);flex-shrink:0;margin-bottom:-1.5rem;position:relative}.subtopic-stories-scroll{scrollbar-width:none;gap:16px;padding:14px 16px 8px;display:flex;overflow-x:auto}.subtopic-stories-scroll::-webkit-scrollbar{display:none}.story-item{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex-shrink:0;align-items:center;gap:7px;width:96px;padding:0;display:flex}.story-circle{background:var(--color-surface-2);border-radius:50%;flex-shrink:0;width:87px;height:87px;position:relative;overflow:hidden}.story-circle img{object-fit:cover;width:100%;height:100%;display:block}.story-circle-empty{width:100%;height:100%;color:var(--color-muted);justify-content:center;align-items:center;font-size:1.65rem;font-weight:800;display:flex}.story-label{color:var(--color-text);text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.story-item.locked .story-label{color:var(--color-muted)}.story-circle.locked img,.story-circle.locked .story-circle-empty{filter:grayscale(.55)brightness(.42)}.story-lock{color:#ffffffeb;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.story-circle.ring-blue{box-shadow:0 0 0 3px var(--color-surface), 0 0 0 6px var(--color-teal)}.story-circle.shallow{box-shadow:0 0 0 3px var(--color-surface), 0 0 0 6px var(--color-muted)}.story-circle.shallow img,.story-circle.shallow .story-circle-empty{filter:grayscale(.5)brightness(.45)}.story-shallow{background:#0000006b;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.story-interest-badge{background:var(--color-teal);color:#fff;white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;line-height:1;box-shadow:0 1px 4px #0000004d}.story-item.shallow .story-label{color:var(--color-muted)}.story-check{color:#34d399;background:#00000057;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.story-back-overlay{color:#fff;background:#0000007a;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.story-back .story-label{color:var(--color-muted)}.story-sep{background:var(--color-border);flex-shrink:0;align-self:flex-start;width:1px;height:87px;margin:0 1px}.subtopic-stories-arrow{background:var(--color-surface);border:1px solid var(--color-border);width:30px;height:30px;color:var(--color-text);cursor:pointer;z-index:2;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 8px #00000047}.subtopic-stories-arrow.left{left:6px}.subtopic-stories-arrow.right{right:6px}.subtopic-hint{left:50%;bottom:calc(76px + env(safe-area-inset-bottom,0px) + 12px);background:var(--color-accent);color:#fff;text-align:center;z-index:250;border-radius:12px;width:max-content;max-width:calc(100vw - 32px);padding:8px 14px;font-size:.78rem;font-weight:600;animation:.22s subtopic-hint-pop;position:fixed;transform:translate(-50%);box-shadow:0 4px 16px #ed575573}@keyframes subtopic-hint-pop{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.kurs-card{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:16px;flex-shrink:0;width:380px;transition:transform .15s;position:relative;overflow:hidden}.kurs-card:active{transform:scale(.985)}.sno-carousel-track .kurs-card{width:calc(100vw - 2rem)}.kurs-card-img-wrap{aspect-ratio:2;position:relative;overflow:hidden}.kurs-card-img{object-fit:cover;width:100%;height:100%;display:block}.kurs-card-img-empty{background:var(--color-surface-2);width:100%;height:100%;color:var(--color-muted);justify-content:center;align-items:center;font-size:2rem;font-weight:800;display:flex}.kurs-card-tag{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:6px;padding:3px 7px;font-size:.5625rem;font-weight:700;position:absolute;top:8px;right:8px}.kurs-card-tag-abo{background:linear-gradient(135deg, var(--color-accent), var(--color-teal));color:#fff}.kurs-card-tag-preview{color:#fff;background:#0ea6b1e6}.kurs-card-tag-review{color:#fff;background:#f59e0bf2}.kurs-card-overlay{-webkit-backdrop-filter:blur(14px);background:#16161c9e;border-top:1px solid #ffffff12;align-items:center;gap:10px;padding:9px 12px 10px;display:flex;position:absolute;bottom:0;left:0;right:0}.kurs-card-overlay-body{flex:1;min-width:0}.kurs-card-title{color:#fff;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8125rem;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.kurs-card-meta{color:#fff9;margin-top:3px;font-size:.625rem}.kurs-card-prog{background:#ffffff26;border-radius:99px;height:2px;margin-top:5px;overflow:hidden}.kurs-card-prog-fill{background:linear-gradient(to right, var(--color-accent), var(--color-teal));border-radius:99px;height:100%}.kurse-back-btn{cursor:pointer;color:var(--color-text);-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;margin-right:4px;padding:0;display:flex}.kurse-header-title{letter-spacing:-.3px;color:var(--color-text);flex:1;font-size:1.125rem;font-weight:800}.kurse-search-btn{background:var(--color-surface-2);width:34px;height:34px;color:var(--color-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:10px;justify-content:center;align-items:center;display:flex}.kurse-hero-banner{flex-shrink:0;width:100%;height:200px;position:relative;overflow:hidden}.kurse-hero-banner-img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.kurse-hero-banner-overlay{padding:calc(env(safe-area-inset-top,0px) + 12px) 14px 16px;background:linear-gradient(#00000073 0%,#0000 38%,#000000b8 100%);flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.kurse-hero-banner-top{justify-content:space-between;align-items:center;display:flex}.kurse-hero-nav-btn{-webkit-backdrop-filter:blur(8px);color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#00000061;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.kurse-hero-banner-title{color:#fff;letter-spacing:-.3px;text-shadow:0 1px 10px #00000073;font-size:1.5rem;font-weight:800;line-height:1.15}.sno-chat-coming-soon{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:2rem 1rem;display:flex}.sno-chat-icon{background:var(--color-surface);border:1px solid var(--color-border);width:72px;height:72px;color:var(--color-teal);border-radius:20px;justify-content:center;align-items:center;display:flex}.sno-chat-badge{color:var(--color-teal);background:#0ea6b124;border:1px solid #0ea6b14d;border-radius:20px;padding:5px 14px;font-size:13px;font-weight:700;display:inline-block}.sno-menu-section{margin-bottom:24px}.sno-menu-section-label{letter-spacing:.06em;color:var(--color-muted);text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700}.sno-menu-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;overflow:hidden}html.light .sno-menu-list{box-shadow:0 1px 4px #3a3a420f}.sno-menu-item{border:none;border-top:1px solid var(--color-border);text-align:left;width:100%;color:var(--color-text);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;align-items:center;gap:12px;padding:13px 16px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.sno-menu-item:first-child{border-top:none}.sno-menu-item.danger{color:#ed5755}.sno-menu-item-icon{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.sno-menu-item-chevron{color:var(--color-muted);flex-shrink:0;margin-left:auto}.sno-menu-badge{background:var(--color-accent);color:#fff;border-radius:10px;flex-shrink:0;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:700}.dev-watermark{letter-spacing:.08em;text-transform:uppercase;color:#dc3232;white-space:nowrap;pointer-events:none;z-index:9999;background:#dc32321f;border:1px solid #dc323273;border-radius:5px;padding:2px 8px;font-size:.6rem;font-weight:700;position:fixed;top:8px;left:50%;transform:translate(-50%)}.node-bottom-bar{width:100%;height:calc(76px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--color-surface);border-top:1px solid var(--color-border);z-index:200;align-items:flex-start;padding-top:10px;display:flex;position:fixed;bottom:0;left:0;right:0}@media (width>=640px){.node-bottom-bar{border:1px solid var(--color-border);border-radius:20px;align-items:center;width:380px;height:64px;padding:0 12px;bottom:20px;left:50%;right:auto;transform:translate(-50%);box-shadow:0 8px 32px #00000047}html.light .node-bottom-bar{box-shadow:0 8px 32px #3a3a4226}}.node-bottom-btn{cursor:pointer;color:#c0c0cc;letter-spacing:.03em;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:0;font-size:.625rem;font-weight:600;transition:color .15s;display:flex}html.light .node-bottom-btn,html.eink .node-bottom-btn{color:var(--color-muted)}.node-bottom-btn:disabled{opacity:.35;cursor:default}.node-bottom-btn:not(:disabled):active,.node-bottom-btn.passed{color:var(--color-accent)}.node-bottom-btn--superquiz:not(:disabled){color:var(--color-teal)}.node-bottom-btn--superquiz .superquiz-pill{border-radius:10px;justify-content:center;align-items:center;width:44px;height:24px;transition:box-shadow .15s;display:flex;position:relative;overflow:hidden}.node-bottom-btn--superquiz:not(:disabled) .superquiz-pill{background:linear-gradient(135deg, var(--color-teal) 0%, var(--color-accent) 100%);color:#fff;box-shadow:0 2px 8px #0ea6b166}.node-bottom-btn--superquiz:not(:disabled) .superquiz-pill:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff47 50%,#0000 100%);animation:2.8s ease-in-out infinite superquiz-shimmer;position:absolute;inset:0;transform:translate(-110%)}@keyframes superquiz-shimmer{0%{transform:translate(-110%)}50%,to{transform:translate(140%)}}@keyframes node-btn-shake{0%,to{transform:translate(0)rotate(0)}15%{transform:translate(-6px)rotate(-4deg)}30%{transform:translate(6px)rotate(4deg)}45%{transform:translate(-4px)rotate(-2deg)}60%{transform:translate(4px)rotate(2deg)}80%{transform:translate(-2px)}}.node-bottom-btn--shake{animation:.5s ease-in-out node-btn-shake}.node-page{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px) + 1rem)!important}@media (width>=640px){.node-page{padding-bottom:calc(96px + 1.5rem)!important}}.tts-fab{right:12px;bottom:calc(60px + env(safe-area-inset-bottom,0px) + 10px);background:var(--color-surface);border:1px solid var(--color-border);z-index:201;border-radius:28px;flex-direction:row;align-items:center;gap:0;width:54px;padding:5px;transition:width .28s cubic-bezier(.4,0,.2,1),padding .28s cubic-bezier(.4,0,.2,1),gap .28s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;overflow:hidden;box-shadow:0 4px 20px #00000059}@media (width>=640px){.tts-fab{bottom:90px}}.tts-fab.active{gap:10px;width:calc(100vw - 24px);padding:5px 5px 5px 14px}.tts-fab-expand{opacity:0;flex:1;align-items:center;min-width:0;transition:opacity .15s 80ms;display:flex}.tts-fab.active .tts-fab-expand{opacity:1}.tts-fab-seekbar-wrap{flex:1;min-width:0}.tts-fab-seekbar-wrap .rp-seekbar{width:100%}.tts-fab-btn{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:opacity .15s,transform .1s;display:flex}.tts-fab-btn:disabled{opacity:.55;cursor:default}.tts-fab-btn:not(:disabled):active{transform:scale(.93)}.tts-fab-error{color:var(--color-error,#e05a5a);white-space:nowrap;flex-shrink:0;font-size:.7rem}.lernen-sheet{bottom:calc(60px + env(safe-area-inset-bottom,0px));background:var(--color-surface);border-top:1px solid var(--color-border);z-index:310;border-radius:18px 18px 0 0;width:100%;padding:8px 0 12px;animation:.22s cubic-bezier(.4,0,.2,1) slideUp;position:fixed;left:0;right:0}@media (width>=640px){.lernen-sheet{max-width:420px;animation:.22s cubic-bezier(.4,0,.2,1) slideUpCentered;bottom:0;left:50%;transform:translate(-50%)}}@keyframes slideUpCentered{0%{opacity:0;transform:translate(-50%,100%)}to{opacity:1;transform:translate(-50%)}}.lernen-sheet-handle{background:var(--color-border);border-radius:2px;width:36px;height:4px;margin:0 auto 10px}.lernen-sheet-title{color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;padding:0 16px 8px;font-size:.82rem;font-weight:700}.lernen-sheet-item{cursor:pointer;width:100%;color:var(--color-text);text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:12px;padding:12px 16px;transition:background .15s;display:flex}.lernen-sheet-item:active{background:var(--color-surface-2)}.lernen-sheet-icon{background:var(--color-surface-2);width:40px;height:40px;color:var(--color-accent);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.lernen-sheet-body{flex-direction:column;flex:1;gap:1px;display:flex}.lernen-sheet-label{font-size:.95rem;font-weight:600}.lernen-sheet-meta{color:var(--color-muted);font-size:.78rem}.prof-hero{background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;align-items:center;gap:14px;padding:16px;display:flex}.prof-avatar{background:var(--color-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;font-size:24px;font-weight:800;display:flex}.prof-hero-name{color:var(--color-text);font-size:17px;font-weight:800}.prof-hero-email{color:var(--color-muted);margin-top:2px;font-size:12px}.prof-stats-row{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.prof-stat{background:var(--color-surface);border:1px solid var(--color-border);text-align:center;border-radius:16px;padding:12px 10px}html.light .prof-stat{box-shadow:0 1px 3px #3a3a420f}.prof-stat-val{color:var(--color-text);font-size:22px;font-weight:800}.prof-stat-lbl{color:var(--color-muted);margin-top:2px;font-size:10px}.prof-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;padding:20px}html.light .prof-section{box-shadow:0 1px 3px #3a3a420f}.prof-donut-wrap{flex-direction:column;align-items:center;gap:20px;display:flex}.prof-donut-chart{flex-shrink:0;width:160px;height:160px}.prof-donut-legend{flex-direction:column;gap:10px;width:100%;display:flex}.prof-legend-row{align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.prof-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.prof-legend-label{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.prof-legend-count{color:var(--color-muted);flex-shrink:0;font-size:13px;font-weight:700}.prof-ach-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.prof-ach-item{background:var(--color-surface-2);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:10px 6px 8px;transition:background .15s;display:flex}.prof-ach-item.locked{opacity:.3}.prof-ach-icon{font-size:22px;line-height:1}.prof-ach-lbl{color:var(--color-text);font-size:9px;font-weight:600;line-height:1.2}.prof-ach-desc{display:none}.prof-public-card{background:var(--color-surface-2);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.prof-public-icon{flex-shrink:0;display:flex}.prof-public-body{flex:1;min-width:0}.prof-public-title{color:var(--color-text);font-size:14px;font-weight:700}.prof-public-sub{color:var(--color-muted);margin-top:2px;font-size:11px}.prof-toggle{background:var(--color-border);cursor:pointer;border:none;border-radius:13px;flex-shrink:0;width:44px;height:26px;padding:0;transition:background .2s;position:relative}.prof-toggle.active{background:var(--color-teal)}.prof-toggle-thumb{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.prof-toggle.active .prof-toggle-thumb{transform:translate(18px)}.prof-link-row{background:var(--color-surface-2);border-radius:12px;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;display:flex}.prof-link-url{color:var(--color-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11px;overflow:hidden}.prof-link-copy{color:var(--color-teal);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;align-items:center;gap:5px;padding:4px 8px;font-size:12px;font-weight:600;transition:background .15s;display:flex}.prof-link-copy:active{background:var(--color-surface)}.prof-field-label{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:700}.lernen-sheet-arrow{color:var(--color-muted);flex-shrink:0}.pub-profile-root{background:var(--color-bg);justify-content:center;align-items:flex-start;min-height:100dvh;padding:24px 16px 40px;display:flex}.pub-profile-card{flex-direction:column;gap:12px;width:100%;max-width:420px;display:flex}.pub-profile-brand{text-align:center;letter-spacing:-.5px;color:var(--color-text);margin-bottom:4px;font-size:22px;font-weight:800}.pub-profile-hero{flex-direction:column;align-items:center;gap:10px;padding:20px 0 8px;display:flex}.pub-profile-name{color:var(--color-text);text-align:center;font-size:20px;font-weight:800}.pub-profile-loading{justify-content:center;padding:60px 0;display:flex}.pub-profile-spinner{border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite spin}.pub-profile-unavail{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:60px 0;display:flex}.pub-profile-lock{font-size:48px}.pub-profile-unavail-title{color:var(--color-text);font-size:16px;font-weight:700}.pub-profile-unavail-sub{color:var(--color-muted);max-width:260px;font-size:13px}.bottom-nav-icon-wrap{position:relative}.bottom-nav-badge{background:var(--color-accent);color:#fff;border:2px solid var(--color-surface);border-radius:99px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:800;display:flex;position:absolute;top:-4px;right:-8px}.grp-page{flex-direction:column;gap:16px;padding:16px 16px 100px;display:flex}.grp-page-title{font-size:1.4rem;font-weight:800}.grp-page-sub{color:var(--color-muted);margin-top:2px;font-size:.78rem}.grp-actions{gap:8px;display:flex}.grp-action-btn{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;border-radius:14px;flex-direction:column;flex:1;align-items:center;gap:6px;padding:14px;font-size:.8rem;font-weight:700;display:flex}.grp-action-btn.primary{background:linear-gradient(135deg,#ed575524,#0ea6b11a);border-color:#ed57554d}.grp-action-btn.disabled{opacity:.5}.grp-action-btn svg{color:var(--color-teal)}.grp-hint{color:var(--color-muted);text-align:center;margin-top:-8px;font-size:.72rem}.grp-sec-head{justify-content:space-between;align-items:center;margin:4px 0 2px;display:flex}.grp-sec-title{color:var(--color-text);font-size:.82rem;font-weight:700}.grp-empty{text-align:center;color:var(--color-muted);background:var(--color-surface);border-radius:14px;padding:24px 16px;font-size:.85rem}.grp-card-list{flex-direction:column;gap:10px;display:flex}.grp-card{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;text-align:left;border-radius:16px;align-items:center;gap:13px;width:100%;padding:14px;display:flex}.grp-card-ava{color:#fff;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:20px;display:flex}.grp-card-body{flex-direction:column;flex:1;min-width:0;display:flex}.grp-card-name{font-size:.9rem;font-weight:700}.grp-card-meta{color:var(--color-muted);margin-top:2px;font-size:.72rem}.grp-card-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--color-teal);background:#0ea6b129;border-radius:6px;flex-shrink:0;padding:3px 7px;font-size:.56rem;font-weight:800}.grp-card-badge.owner{color:var(--color-accent);background:#ed575524}.grp-modal-bg{z-index:400;background:#0000008c;align-items:flex-end;display:flex;position:fixed;inset:0}.grp-sheet{background:var(--color-bg);width:100%;max-height:92vh;padding:8px 16px calc(18px + env(safe-area-inset-bottom,0px));border-radius:22px 22px 0 0;flex-direction:column;gap:13px;display:flex;overflow-y:auto}.grp-sheet-handle{background:var(--color-surface-2);border-radius:99px;align-self:center;width:38px;height:4px;margin:4px 0}.grp-sheet-title{font-size:1rem;font-weight:800}.grp-form-group{flex-direction:column;gap:7px;display:flex}.grp-form-label{font-size:.75rem;font-weight:700}.grp-form-label .muted{color:var(--color-muted);font-weight:500}.grp-form-input{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:12px;width:100%;padding:12px 14px;font-size:.9rem}.emoji-free{align-items:center;gap:10px;display:flex}.emoji-free-preview{background:var(--color-surface-2);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:26px;display:flex}.emoji-free-input{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:12px;flex:1;padding:11px 14px;font-size:22px}.color-palette{flex-wrap:wrap;gap:8px;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:10px;width:34px;height:34px;position:relative}.color-swatch.sel{border-color:#fff;box-shadow:0 0 0 1px #fff6}.color-swatch.sel:after{content:"✓";color:#fff;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex;position:absolute;inset:0}.stepper{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;align-items:center;width:fit-content;display:flex;overflow:hidden}.stepper-btn{width:44px;height:44px;color:var(--color-accent);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:22px;font-weight:700;display:flex}.stepper-val{text-align:center;width:56px;font-size:1.05rem;font-weight:800}.grp-cta-btn{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:13px;width:100%;margin-top:4px;padding:14px;font-size:.9rem;font-weight:700}.grp-cta-btn:disabled{opacity:.5}.grp-code-input{letter-spacing:6px;text-align:center;text-transform:uppercase;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:12px;padding:14px;font-family:monospace;font-size:1.4rem;font-weight:800}.grp-join-ico{width:64px;height:64px;color:var(--color-accent);background:linear-gradient(135deg,#ed57552e,#0ea6b11f);border-radius:18px;justify-content:center;align-self:center;align-items:center;display:flex}.grp-join-preview{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;align-items:center;gap:12px;padding:12px;display:flex}.grp-dash{flex-direction:column;height:100vh;padding:0;display:flex}.grp-dash-head{border-bottom:2px solid var(--color-border);flex-shrink:0;align-items:center;gap:12px;padding:14px 14px 12px;display:flex}.grp-back{color:var(--color-muted);cursor:pointer;background:0 0;border:none;padding:4px;display:flex}.grp-dash-ava{color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:17px;display:flex}.grp-dash-titles{flex:1;min-width:0}.grp-dash-name{font-size:1.05rem;font-weight:800}.grp-dash-sub{color:var(--color-muted);font-size:.72rem}.grp-gear{color:var(--color-muted);cursor:pointer;background:0 0;border:none;padding:6px}.grp-tabs{background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;gap:4px;padding:0 12px;display:flex;overflow-x:auto}.grp-tab{color:var(--color-muted);text-align:center;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:11px 6px;font-size:.74rem;font-weight:600}.grp-tab.on{color:var(--color-accent);border-bottom-color:var(--color-accent)}.grp-tab-body{flex-direction:column;flex:1;display:flex;overflow:hidden}.grp-scroll{flex-direction:column;flex:1;gap:9px;padding:14px 14px 90px;display:flex;overflow-y:auto}.grp-foot-note{color:var(--color-muted);text-align:center;font-size:.68rem}.usr-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:15px;align-items:center;gap:12px;padding:13px;display:flex}.usr-card.me{background:#ed57550f;border-color:#ed57554d}.usr-ava{background:linear-gradient(135deg, var(--color-accent), var(--color-teal));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:.95rem;font-weight:700;display:flex}.usr-body{flex:1;min-width:0}.usr-name-row{align-items:center;gap:7px;display:flex}.usr-name{font-size:.9rem;font-weight:700}.usr-role{text-transform:uppercase;letter-spacing:.03em;background:var(--color-surface-2);color:var(--color-muted);border-radius:5px;padding:2px 6px;font-size:.5rem;font-weight:800}.usr-role.admin{color:var(--color-accent);background:#ed575524}.usr-role.mod{color:#818cf8;background:#6366f129}.usr-stats{color:var(--color-muted);flex-wrap:wrap;gap:10px;margin-top:3px;font-size:.72rem;display:flex}.usr-realname{color:var(--color-teal)}.usr-self-controls{flex-wrap:wrap;gap:6px;margin-top:5px;display:flex}.usr-chip{background:var(--color-surface-2);color:var(--color-text);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:4px;padding:4px 9px;font-size:.66rem;font-weight:600;display:flex}.usr-toggle{color:var(--color-muted);cursor:pointer;align-items:center;gap:5px;font-size:.7rem;display:flex}.usr-toggle input{accent-color:var(--color-accent)}.usr-chat{background:var(--color-surface-2);width:38px;height:38px;color:var(--color-teal);cursor:pointer;border:none;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.gc-card{cursor:pointer;text-align:left;background:linear-gradient(135deg,#ed575524,#0ea6b11a);border:1px solid #ed575540;border-radius:16px;align-items:center;gap:13px;width:100%;padding:14px;display:flex}.gc-ico{background:linear-gradient(135deg, var(--color-accent), var(--color-teal));color:#fff;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.gc-body{flex-direction:column;flex:1;min-width:0;display:flex}.gc-title{font-size:.9rem;font-weight:800}.gc-preview{color:var(--color-muted);margin-top:2px;font-size:.72rem}.gc-badge{background:var(--color-accent);color:#fff;border-radius:99px;flex-shrink:0;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.72rem;font-weight:800;display:flex}.dm-list{flex-direction:column;gap:8px;display:flex}.dm-item{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;text-align:left;border-radius:14px;align-items:center;gap:11px;width:100%;padding:10px 12px;display:flex}.dm-ava{background:var(--color-surface-2);width:38px;height:38px;color:var(--color-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.82rem;font-weight:700;display:flex}.dm-body{flex-direction:column;flex:1;min-width:0;display:flex}.dm-name{font-size:.82rem;font-weight:700}.dm-preview{color:var(--color-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.72rem;overflow:hidden}.dm-badge{background:var(--color-accent);color:#fff;border-radius:99px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.66rem;font-weight:800;display:flex}.grp-chat-page{height:calc(100dvh - 76px - env(safe-area-inset-bottom,0px));flex-direction:column;flex:none;min-height:0;padding:0;display:flex}.grp-chat-head{background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:12px;padding:14px;display:flex}.grp-chat-title{flex:1;font-size:1rem;font-weight:700}.grp-chat-body{background:var(--color-bg);flex-direction:column;flex:1;gap:10px;padding:14px;display:flex;overflow-y:auto}.msg{gap:8px;max-width:80%;display:flex}.msg.mine{flex-direction:row-reverse;align-self:flex-end}.msg-ava{background:var(--color-surface-2);width:28px;height:28px;color:var(--color-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.62rem;font-weight:700;display:flex}.msg-bubble{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;padding:8px 11px;position:relative}.msg.mine .msg-bubble{background:linear-gradient(135deg, var(--color-accent), #c73e3c);border-color:#0000}.msg-author{color:var(--color-teal);margin-bottom:2px;font-size:.62rem;font-weight:700}.msg-text{color:var(--color-text);font-size:.8rem;line-height:1.4}.msg.mine .msg-text{color:#fff}.msg-time{color:var(--color-muted);text-align:right;margin-top:3px;font-size:.56rem}.msg.mine .msg-time{color:#ffffffb3}.msg-mod{color:var(--color-muted);cursor:pointer;background:0 0;border:none;margin-top:2px;font-size:.56rem;text-decoration:underline}.grp-chat-input{background:var(--color-surface);border-top:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:9px;padding:10px 14px;display:flex}.grp-chat-field{background:var(--color-surface-2);color:var(--color-text);border:none;border-radius:20px;flex:1;padding:10px 14px;font-size:.82rem}.grp-chat-send{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.lh-search{background:var(--color-surface-2);color:var(--color-muted);border-radius:11px;align-items:center;gap:9px;padding:9px 13px;display:flex}.lh-search input{color:var(--color-text);background:0 0;border:none;flex:1;font-size:.82rem}.lh-list{flex-direction:column;gap:10px;display:flex}.q-card{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;text-align:left;border-radius:15px;flex-direction:column;gap:8px;width:100%;padding:13px;display:flex}.q-card.resolved{border-color:#34d3994d}.q-top{align-items:center;gap:9px;display:flex}.q-author{flex:1;font-size:.78rem;font-weight:700}.q-pill{text-transform:uppercase;letter-spacing:.04em;border-radius:6px;padding:3px 7px;font-size:.56rem;font-weight:700}.q-pill-open{color:#f5c451;background:#f5c45129}.q-pill-done{color:#34d399;background:#34d39929}.q-text{font-size:.85rem;font-weight:600;line-height:1.4}.q-ctx{color:var(--color-teal);align-items:center;gap:5px;font-size:.66rem;display:flex}.q-ctx.free{color:var(--color-accent)}.q-foot{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:12px;font-size:.68rem;display:flex}.q-foot-item{align-items:center;gap:4px;display:flex}.grp-thread{height:calc(100dvh - 76px - env(safe-area-inset-bottom,0px));flex-direction:column;flex:none;min-height:0;padding:0;display:flex}.thr-q{background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;padding:14px}.thr-q-top{align-items:center;gap:9px;margin-bottom:9px;display:flex}.thr-q-ava{background:var(--color-surface-2);width:32px;height:32px;color:var(--color-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.74rem;font-weight:700;display:flex}.thr-q-author{flex:1;font-size:.74rem;font-weight:700}.thr-q-text{margin-bottom:7px;font-size:.95rem;font-weight:700;line-height:1.35}.thr-q-body{color:var(--color-muted);margin-bottom:8px;font-size:.82rem;line-height:1.5}.thr-q-ctx{color:var(--color-teal);background:#0ea6b11f;border-radius:7px;align-items:center;gap:5px;margin-bottom:8px;padding:4px 9px;font-size:.62rem;display:inline-flex}.thr-q-meta{color:var(--color-muted);font-size:.62rem}.thr-body{background:var(--color-bg);flex-direction:column;flex:1;gap:11px;padding:13px 14px;display:flex;overflow-y:auto}.thr-ans{gap:9px;display:flex}.thr-ans-ava{background:var(--color-teal);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.7rem;font-weight:700;display:flex}.thr-ans-body{flex:1;min-width:0}.thr-ans-bubble{background:var(--color-surface);border:1px solid var(--color-border);border-radius:13px;padding:9px 12px}.thr-ans-bubble.best{background:#34d3990f;border-color:#34d39966}.thr-ans-author{color:var(--color-teal);align-items:center;gap:6px;margin-bottom:3px;font-size:.7rem;font-weight:700;display:flex}.thr-best-tag{text-transform:uppercase;letter-spacing:.04em;color:#34d399;background:#34d3992e;border-radius:5px;align-items:center;gap:3px;padding:2px 6px;font-size:.5rem;font-weight:800;display:inline-flex}.thr-ans-text{color:var(--color-text);font-size:.8rem;line-height:1.45}.thr-ans-foot{color:var(--color-muted);gap:12px;margin-top:6px;padding-left:2px;font-size:.62rem;display:flex}.thr-ans-foot button{color:var(--color-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;display:flex}.thr-reply{gap:8px;margin-top:8px;margin-left:24px;display:flex}.thr-reply-ava{background:var(--color-surface-2);width:24px;height:24px;color:var(--color-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.58rem;font-weight:700;display:flex}.thr-reply-bubble{background:var(--color-surface-2);border-radius:11px;flex:1;min-width:0;padding:7px 10px}.thr-reply-author{color:var(--color-muted);margin-bottom:2px;font-size:.62rem;font-weight:700}.thr-reply-text{color:var(--color-text);font-size:.72rem;line-height:1.4}.thr-replying{color:var(--color-teal);background:var(--color-surface);justify-content:space-between;padding:8px 14px;font-size:.72rem;display:flex}.thr-replying button{color:var(--color-muted);cursor:pointer;background:0 0;border:none;font-size:1rem}.thr-actions{padding:8px 14px 0}.thr-resolve-btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:7px;width:100%;padding:11px;font-size:.8rem;font-weight:700;display:flex}.thr-resolve-btn.solve{color:#34d399;background:#34d39929;border:1px solid #34d3994d}.ses-list{flex-direction:column;gap:11px;display:flex}.ses-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;gap:13px;padding:13px;display:flex}.ses-card.full{opacity:.6}.ses-date{background:var(--color-surface-2);border-radius:12px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:50px;padding:8px 0;display:flex}.ses-date-day{color:var(--color-accent);font-size:1.25rem;font-weight:800;line-height:1}.ses-date-mon{text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);margin-top:3px;font-size:.56rem;font-weight:700}.ses-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.ses-topic{font-size:.9rem;font-weight:700;line-height:1.25}.ses-meta{flex-direction:column;gap:3px;display:flex}.ses-meta-row{color:var(--color-muted);align-items:center;gap:6px;font-size:.7rem;display:flex}.ses-meta-row svg{color:var(--color-teal);flex-shrink:0}.ses-foot{align-items:center;gap:9px;margin-top:3px;display:flex}.ses-spots{color:var(--color-muted);font-size:.7rem;font-weight:700}.ses-spots.few{color:var(--color-accent)}.ses-join{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:10px;flex-shrink:0;align-items:center;gap:5px;margin-left:auto;padding:7px 14px;font-size:.7rem;font-weight:700;display:flex}.ses-join.joined{color:#34d399;background:#34d39929}.ses-join.disabled{background:var(--color-surface-2);color:var(--color-muted)}.grp-fab{bottom:calc(90px + env(safe-area-inset-bottom,0px));background:var(--color-accent);color:#fff;cursor:pointer;z-index:50;border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;display:flex;position:fixed;right:16px;box-shadow:0 6px 20px #ed575573}.grp-course-list{flex-direction:column;gap:10px;display:flex}.grp-course-card{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;text-align:left;border-radius:14px;align-items:center;gap:12px;width:100%;padding:12px;display:flex}.grp-course-thumb{background:var(--color-surface-2);width:44px;height:44px;color:var(--color-muted);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.grp-course-thumb img{object-fit:cover;width:100%;height:100%}.grp-course-title{font-size:.88rem;font-weight:600}.grp-admin{max-height:92vh}.grp-admin-head{justify-content:space-between;align-items:center;display:flex}.invite-box{text-align:center;background:linear-gradient(135deg,#ed57551f,#0ea6b11a);border:1px solid #ed575540;border-radius:16px;padding:16px}.invite-lbl{text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);margin-bottom:8px;font-size:.62rem;font-weight:700}.invite-code{letter-spacing:3px;color:var(--color-text);margin-bottom:10px;font-family:monospace;font-size:1.5rem;font-weight:800}.invite-actions{justify-content:center;gap:8px;display:flex}.invite-btn{background:var(--color-surface-2);color:var(--color-text);cursor:pointer;border:none;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:.7rem;font-weight:700;display:flex}.invite-btn.primary{background:var(--color-accent);color:#fff}.invite-meta{color:var(--color-muted);margin-top:10px;font-size:.62rem}.grp-setting-row{justify-content:space-between;align-items:center;padding:4px 0;font-size:.8rem;display:flex}.grp-setting-row select{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:8px;padding:6px 10px;font-size:.78rem}.cp-list{flex-direction:column;gap:8px;max-height:220px;display:flex;overflow-y:auto}.cp-item{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:11px;width:100%;padding:10px 12px;display:flex}.cp-item.sel{border-color:var(--color-accent);background:#ed57550f}.cp-thumb{background:var(--color-surface-2);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:17px;display:flex}.cp-name{flex:1;font-size:.8rem;font-weight:700}.cp-check{border:2px solid var(--color-border);color:#fff;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.cp-item.sel .cp-check{background:var(--color-accent);border-color:var(--color-accent)}.mem-row{border-bottom:1px solid var(--color-border);align-items:center;gap:11px;padding:9px 0;display:flex}.mem-ava{background:linear-gradient(135deg, var(--color-accent), var(--color-teal));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.7rem;font-weight:700;display:flex}.mem-name{flex:1;font-size:.8rem;font-weight:600}.mem-role{text-transform:uppercase;background:var(--color-surface-2);color:var(--color-muted);cursor:pointer;border:none;border-radius:5px;padding:3px 8px;font-size:.56rem;font-weight:700}.mem-role.admin{color:var(--color-accent);background:#ed575524}.mem-role.mod{color:#818cf8;background:#6366f129}.mem-kick{color:var(--color-muted);cursor:pointer;background:0 0;border:none;font-size:.9rem}.grp-leave-btn{width:100%;color:var(--color-accent);cursor:pointer;background:#ed57551a;border:1px solid #ed575533;border-radius:12px;margin-top:8px;padding:12px;font-size:.82rem;font-weight:700}.node-grp-q{flex-direction:column;gap:8px;margin:12px 0;display:flex}.node-grp-q-info{color:var(--color-teal);cursor:pointer;text-align:left;background:#0ea6b11a;border:1px solid #0ea6b140;border-radius:12px;align-items:center;gap:8px;width:100%;padding:10px 12px;font-size:.78rem;font-weight:600;display:flex}.node-grp-q-info span{flex:1}.node-grp-q-ask{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-accent);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:10px;font-size:.78rem;font-weight:700;display:flex}.invite-reveal{flex-direction:column;gap:14px;display:flex}.invite-reveal-warn{color:#f5c451;background:#f5c4511f;border:1px solid #f5c45140;border-radius:10px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:.74rem;line-height:1.4;display:flex}.invite-reveal-warn svg{flex-shrink:0;margin-top:1px}.invite-hidden-note{color:var(--color-muted);margin-bottom:10px;font-size:.72rem;line-height:1.4}.grp-chat-icon{width:36px;height:36px;color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.grp-chat-icon:disabled{opacity:.5}.emoji-pop{background:var(--color-surface);border:1px solid var(--color-border);z-index:60;border-radius:16px;flex-direction:column;max-height:280px;display:flex;position:absolute;bottom:64px;left:8px;right:8px;overflow:hidden;box-shadow:0 -4px 24px #0000004d}.emoji-pop-scroll{flex:1;padding:10px 12px;overflow-y:auto}.emoji-pop-group{margin-bottom:8px}.emoji-pop-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);margin-bottom:5px;font-size:.62rem;font-weight:700}.emoji-pop-grid{grid-template-columns:repeat(8,1fr);gap:2px;display:grid}.emoji-pop-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px;font-size:1.3rem;line-height:1.3}.emoji-pop-btn:active{background:var(--color-surface-2)}.emoji-pop-close{color:var(--color-accent);background:var(--color-surface-2);border:none;border-top:1px solid var(--color-border);cursor:pointer;padding:10px;font-size:.78rem;font-weight:700}.emoji-free-trigger{cursor:pointer;border:none}.msg-col{flex-direction:column;min-width:0;max-width:100%;display:flex}.msg.mine .msg-col{align-items:flex-end}.msg-image{cursor:pointer;object-fit:cover;background:var(--color-surface-2);border-radius:10px;width:100%;max-width:220px;margin-bottom:4px;display:block}.chat-link{color:#60a5fa;word-break:break-all;text-decoration:underline}.msg.mine .chat-link{color:#dbeafe}.msg-reactions{flex-wrap:wrap;gap:4px;margin-top:3px;display:flex}.msg-reactions.mine{justify-content:flex-end}.msg-reaction{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;border-radius:99px;align-items:center;gap:3px;padding:2px 7px;font-size:.78rem;display:inline-flex}.msg-reaction.mine{background:#ed575524;border-color:#ed575559}.msg-reaction-n{color:var(--color-muted);font-size:.64rem;font-weight:700}.msg-menu-bg{z-index:300;background:#0006;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.msg-menu{background:var(--color-surface);border-radius:18px;width:100%;max-width:320px;padding:8px;box-shadow:0 8px 32px #0006}.msg-menu-react{justify-content:space-around;gap:2px;padding:6px;display:flex}.msg-menu-emoji{cursor:pointer;background:0 0;border:none;border-radius:50%;padding:6px;font-size:1.7rem;transition:transform .1s}.msg-menu-emoji:active{background:var(--color-surface-2);transform:scale(1.3)}.msg-menu-action{cursor:pointer;background:var(--color-surface-2);width:100%;color:var(--color-text);border:none;border-radius:12px;margin-top:4px;padding:12px;font-size:.82rem;font-weight:700}.msg-menu-action.danger{color:var(--color-accent);background:#ed57551a}.msg-react-detail{background:var(--color-surface);border-radius:18px;width:100%;max-width:320px;overflow:hidden}.msg-react-detail-head{border-bottom:1px solid var(--color-border);align-items:center;gap:8px;padding:14px 16px;font-size:.85rem;font-weight:700;display:flex}.msg-react-detail-emoji{font-size:1.3rem}.msg-react-detail-list{max-height:240px;padding:8px 0;overflow-y:auto}.msg-react-detail-row{align-items:center;gap:10px;padding:8px 16px;font-size:.82rem;display:flex}.msg-react-detail-ava{background:linear-gradient(135deg, var(--color-accent), var(--color-teal));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:.66rem;font-weight:700;display:flex}.chat-pending{background:var(--color-surface);border-top:1px solid var(--color-border);align-items:center;gap:10px;padding:8px 14px;display:flex;position:relative}.chat-pending img{object-fit:cover;border-radius:8px;width:48px;height:48px}.chat-pending-x{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:absolute;top:4px;left:52px}.chat-pending-label{color:var(--color-muted);font-size:.74rem}.chat-lightbox{z-index:500;background:#000000e6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.chat-lightbox img{border-radius:8px;max-width:100%;max-height:100%}.docs-crumb{color:var(--color-teal);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:2px 0;font-size:.78rem;font-weight:600;display:inline-flex}.docs-folder-list{flex-direction:column;gap:8px;display:flex}.docs-folder{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;border-radius:14px;align-items:center;gap:12px;padding:12px;display:flex}.docs-folder-ico{color:#f5c451;background:#f5c45124;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.docs-folder-body{flex-direction:column;flex:1;min-width:0;display:flex}.docs-folder-name{font-size:.88rem;font-weight:700}.docs-folder-meta{color:var(--color-muted);font-size:.7rem}.docs-folder-del{color:var(--color-muted);cursor:pointer;background:0 0;border:none;padding:4px}.docs-folder-arrow{color:var(--color-muted);flex-shrink:0}.docs-list{flex-direction:column;gap:9px;display:flex}.doc-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;align-items:center;display:flex;position:relative;overflow:visible}.doc-card.hidden{opacity:.55}.doc-card-main{flex:1;align-items:center;gap:12px;min-width:0;padding:12px;display:flex}.doc-card-ico{border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.doc-card-ico.file{color:#818cf8;background:#6366f129}.doc-card-ico.link{color:var(--color-teal);background:#0ea6b129}.doc-card-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.doc-card-title{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:700;overflow:hidden}.doc-card-desc{color:var(--color-text);opacity:.8;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.74rem;line-height:1.35;display:-webkit-box;overflow:hidden}.doc-card-meta{color:var(--color-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.66rem;overflow:hidden}.doc-card-actions{align-items:center;gap:2px;padding-right:8px;display:flex}.doc-card-act{width:32px;height:32px;color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:1.1rem;text-decoration:none;display:flex}.doc-card-menu{z-index:30;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;min-width:150px;padding:5px;display:flex;position:absolute;top:100%;right:8px;box-shadow:0 6px 20px #0000004d}.doc-card-menu button{color:var(--color-text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:9px 12px;font-size:.78rem;display:flex}.doc-card-menu button.danger{color:var(--color-accent)}.docs-fab-group{bottom:calc(90px + env(safe-area-inset-bottom,0px));z-index:50;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;right:16px}.docs-fab-mini{background:var(--color-surface);border:1px solid var(--color-border);width:42px;height:42px;color:var(--color-teal);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 3px 12px #0003}.docs-filepick{border:2px dashed var(--color-border);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:18px;font-size:.82rem;display:flex}.docs-filepick-name{color:var(--color-teal);word-break:break-all;font-weight:700}.docs-move-opt{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;color:var(--color-text);text-align:left;border-radius:11px;align-items:center;gap:10px;width:100%;margin-bottom:6px;padding:12px;font-size:.82rem;display:flex}.docs-move-opt.cur{border-color:var(--color-accent);background:#ed575514}.sno-sec-link{color:var(--color-teal);cursor:pointer;background:0 0;border:none;align-items:center;gap:2px;font-size:.74rem;font-weight:600;display:inline-flex}.home-grp-row{gap:10px;display:flex}.home-grp-card{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;border-radius:16px;flex-direction:column;flex:1;align-items:center;gap:6px;min-width:0;padding:12px 8px;display:flex}.home-grp-ava{color:#fff;border-radius:15px;justify-content:center;align-items:center;width:50px;height:50px;font-size:24px;display:flex;position:relative}.home-grp-badge{background:var(--color-accent);color:#fff;border:2px solid var(--color-surface);border-radius:99px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.6rem;font-weight:800;display:flex;position:absolute;top:-5px;right:-5px}.home-grp-name{text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.78rem;font-weight:700;overflow:hidden}.home-grp-meta{color:var(--color-muted);font-size:.66rem}.docs-breadcrumb{flex-wrap:wrap;align-items:center;gap:2px;margin-bottom:4px;display:flex}.docs-crumb-wrap{align-items:center;display:inline-flex}.docs-crumb-sep{color:var(--color-muted);margin:0 1px}.docs-crumb{color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;padding:3px 4px;font-size:.76rem;font-weight:600;display:inline-flex}.docs-crumb.cur{color:var(--color-text)}.docs-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.docs-tile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;flex-direction:column;display:flex;position:relative;overflow:visible}.docs-tile.folder{cursor:pointer}.docs-tile.hidden{opacity:.55}.docs-tile-link{color:inherit;flex-direction:column;text-decoration:none;display:flex}.docs-tile-preview{background:var(--color-surface-2);height:96px;color:var(--color-muted);border-radius:13px 13px 0 0;justify-content:center;align-items:center;display:flex;overflow:hidden}.docs-tile-preview.folder{color:#f5c451;background:#f5c4511f}.docs-tile-preview.link{color:var(--color-teal);background:#0ea6b11f}.docs-tile-preview.file{color:#818cf8;background:#6366f11a}.docs-tile-preview img{object-fit:cover;width:100%;height:100%}.docs-tile-ext{letter-spacing:.04em;color:#ef4444;font-size:1.1rem;font-weight:800}.docs-tile-title{white-space:nowrap;text-overflow:ellipsis;padding:8px 10px 0;font-size:.8rem;font-weight:700;overflow:hidden}.docs-tile-desc{color:var(--color-text);opacity:.75;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:2px 10px 0;font-size:.7rem;line-height:1.35;display:-webkit-box;overflow:hidden}.docs-tile-meta{color:var(--color-muted);white-space:nowrap;text-overflow:ellipsis;padding:4px 10px 10px;font-size:.62rem;overflow:hidden}.docs-tile-actions{gap:2px;display:flex;position:absolute;top:6px;right:6px}.docs-tile-act{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;border:none;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;text-decoration:none;display:flex}.docs-tile-del{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;border:none;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:absolute;top:6px;right:6px}.docs-tile .doc-card-menu{top:36px;right:6px}.grp-course-cards{flex-direction:column;align-items:center;gap:14px;display:flex}.grp-course-cards .kurs-card{width:100%;max-width:380px}.docs-del-opt{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);cursor:pointer;text-align:left;border-radius:12px;margin-top:8px;padding:13px;font-size:.82rem;font-weight:700;line-height:1.3}.docs-del-opt.danger{color:var(--color-accent);background:#ed57551a;border-color:#ed57554d}.docs-del-opt:disabled{opacity:.5}.docs-del-cancel{width:100%;color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-radius:12px;margin-top:4px;padding:12px;font-size:.8rem;font-weight:600}.tts-fab-vol{flex-shrink:0;display:none}.tts-fab.active .tts-fab-vol{display:block}.tts-fab-vol-btn{background:var(--color-surface-2);width:38px;height:38px;color:var(--color-text);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.tts-vol-pop{right:12px;bottom:calc(60px + env(safe-area-inset-bottom,0px) + 10px + 60px);background:var(--color-surface);border:1px solid var(--color-border);z-index:202;color:var(--color-text);border-radius:22px;align-items:center;gap:10px;padding:10px 16px;display:flex;position:fixed;box-shadow:0 4px 20px #00000059}@media (width>=640px){.tts-vol-pop{bottom:150px}}.tts-vol-slider{width:130px;accent-color:var(--color-accent)}.tts-vol-val{color:var(--color-muted);text-align:right;width:26px;font-size:.72rem;font-weight:700}.emoji-free-choose{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;text-align:left;border-radius:12px;flex:1;padding:13px 16px;font-size:.88rem;font-weight:600}.lpn-root{--color-bg:#22222a;--color-surface:#2e2e38;--color-surface-2:#3a3a44;--color-border:#3a3a48;--color-text:#f2f2f7;--color-muted:#8e8e9a;--color-accent:#ed5755;--color-teal:#0ea6b1;background:var(--color-bg);width:100%;min-height:100dvh;color:var(--color-text);overflow-x:hidden}.lpn-container{max-width:1140px;margin:0 auto;padding:0 24px}.lpn-root svg{flex-shrink:0}.lpn-nav{z-index:50;background:#22222ad1;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.lpn-nav{background:color-mix(in srgb, var(--color-bg) 82%, transparent)}}.lpn-nav{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--color-border)}.lpn-nav-inner{justify-content:space-between;align-items:center;height:66px;display:flex}.lpn-logo{align-items:center;gap:11px;display:flex}.lpn-app-icon{border-radius:8px;display:block}.lpn-nav-right{align-items:center;gap:24px;display:flex}.lpn-nav-links{align-items:center;gap:26px;display:flex}.lpn-nav-links a{color:var(--color-muted);font-size:.92rem;font-weight:500}.lpn-nav-links a:hover{color:var(--color-text)}.lpn-login-btn{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:11px;padding:9px 20px;font-size:.9rem;font-weight:700}@media (width<=760px){.lpn-nav-links{display:none}}.lpn-hero{text-align:center;padding:80px 0 60px;position:relative;overflow:hidden}.lpn-hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#ed575529,#0000 62%);width:760px;height:760px;position:absolute;top:-200px;left:50%;transform:translate(-50%)}.lpn-hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#0ea6b124,#0000 62%);width:560px;height:560px;position:absolute;top:-120px;right:-180px}.lpn-hero>.lpn-container{position:relative}.lpn-badge-soon{color:var(--color-teal);background:#0ea6b124;border:1px solid #0ea6b152;border-radius:99px;align-items:center;gap:8px;margin-bottom:24px;padding:7px 15px;font-size:.8rem;font-weight:700;display:inline-flex}.lpn-badge-dot{background:var(--color-teal);border-radius:50%;width:8px;height:8px;animation:2s infinite lpnpulse}@keyframes lpnpulse{0%{box-shadow:0 0 #0ea6b180}70%{box-shadow:0 0 0 9px #0ea6b100}to{box-shadow:0 0 #0ea6b100}}.lpn-hero h1{letter-spacing:-.02em;max-width:820px;margin:0 auto 20px;font-size:clamp(2.1rem,6vw,3.6rem);font-weight:800;line-height:1.1}.lpn-grad{background:linear-gradient(120deg, var(--color-accent), var(--color-teal));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.lpn-sub{color:var(--color-muted);max-width:600px;margin:0 auto 16px;font-size:clamp(1rem,2.4vw,1.22rem)}.lpn-invite-note{color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;align-items:center;gap:8px;margin-bottom:30px;padding:10px 18px;font-size:.86rem;display:inline-flex}.lpn-invite-note svg{color:var(--color-accent)}.lpn-newsletter{gap:10px;max-width:460px;margin:0 auto 12px;display:flex}.lpn-newsletter input{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:13px;flex:1;padding:14px 18px;font-size:.95rem}.lpn-newsletter button{background:linear-gradient(135deg, var(--color-accent), #c73e3c);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:13px;padding:0 24px;font-size:.9rem;font-weight:700}.lpn-newsletter-hint{color:var(--color-muted);margin-bottom:34px;font-size:.74rem}.lpn-stores{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.lpn-store-badge{opacity:.55;cursor:not-allowed;height:52px;display:inline-flex;position:relative}.lpn-store-badge svg{width:auto;height:100%}.lpn-store-soon{background:var(--color-accent);color:#fff;text-transform:uppercase;border-radius:6px;padding:3px 7px;font-size:.54rem;font-weight:800;position:absolute;top:-8px;right:-8px}.lpn-section{padding:74px 0}.lpn-section-alt{background:#272730}@supports (color:color-mix(in lab, red, red)){.lpn-section-alt{background:color-mix(in srgb, var(--color-surface) 40%, var(--color-bg))}}.lpn-tag{text-align:center;color:var(--color-teal);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;font-size:.82rem;font-weight:700}.lpn-title{text-align:center;letter-spacing:-.02em;margin-bottom:14px;font-size:clamp(1.7rem,4vw,2.5rem);font-weight:800}.lpn-section-sub{text-align:center;color:var(--color-muted);max-width:560px;margin:0 auto 48px;font-size:1.02rem}.lpn-features{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px;display:grid}.lpn-feature{background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;flex-direction:column;transition:transform .2s,border-color .2s;display:flex;overflow:hidden}.lpn-feature:hover{border-color:#ed575566;transform:translateY(-4px)}.lpn-feature-visual{background:#2f2f38;height:190px}@supports (color:color-mix(in lab, red, red)){.lpn-feature-visual{background:color-mix(in srgb, var(--color-surface-2) 55%, var(--color-bg))}}.lpn-feature-visual{border-bottom:1px solid var(--color-border);justify-content:center;align-items:center;padding:18px;display:flex;position:relative;overflow:hidden}.lpn-feature-body{padding:22px 24px 26px}.lpn-feature-body h3{align-items:center;gap:9px;margin-bottom:9px;font-size:1.15rem;font-weight:700;display:flex}.lpn-feature-body h3 svg{color:var(--color-teal)}.lpn-feature-body p{color:var(--color-muted);font-size:.93rem}.lpn-tree{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.lpn-ring{border:2px dashed #ffffff14;border-radius:50%;position:absolute}.lpn-node{background:var(--color-surface-2);border:2px solid var(--color-border);border-radius:50%;position:absolute}.lpn-tree-icon{z-index:2;filter:drop-shadow(0 6px 18px #00000080);border-radius:18px;position:relative}.lpn-quiz{width:100%;max-width:280px}.lpn-quiz-q{margin-bottom:10px;font-size:.82rem;font-weight:700}.lpn-quiz-opts{gap:7px;display:grid}.lpn-quiz-opt{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;color:var(--color-text);text-align:left;border-radius:9px;align-items:center;gap:8px;padding:8px 11px;font-size:.78rem;transition:all .15s;display:flex}.lpn-quiz-opt:hover{border-color:var(--color-teal)}.lpn-quiz-opt.correct{color:#34d399;background:#34d39929;border-color:#34d399}.lpn-quiz-opt.wrong{border-color:var(--color-accent);color:var(--color-accent);background:#ed575524}.lpn-chat{flex-direction:column;gap:8px;width:100%;max-width:290px;display:flex}.lpn-msg{align-items:flex-end;gap:7px;display:flex}.lpn-msg.me{flex-direction:row-reverse}.lpn-ava{background:linear-gradient(135deg, var(--color-accent), var(--color-teal));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.55rem;font-weight:700;display:flex}.lpn-bubble{background:var(--color-surface);border:1px solid var(--color-border);border-radius:13px;padding:7px 11px;font-size:.76rem;position:relative}.lpn-msg.me .lpn-bubble{background:linear-gradient(135deg, var(--color-accent), #c73e3c);color:#fff;border:none}.lpn-react{background:var(--color-bg);border:1px solid var(--color-border);border-radius:99px;align-items:center;gap:3px;padding:1px 7px;font-size:.62rem;display:inline-flex;position:absolute;bottom:-9px;right:6px}.lpn-react svg{color:var(--color-accent)}.lpn-tts{width:100%;max-width:300px}.lpn-tts-wave{justify-content:center;align-items:center;gap:4px;height:64px;margin-bottom:16px;display:flex}.lpn-tts-wave span{background:linear-gradient(var(--color-accent), var(--color-teal));opacity:.55;border-radius:3px;width:5px;height:12px}.lpn-tts-wave.playing span{opacity:1;animation:.9s ease-in-out infinite lpneq}.lpn-tts-wave.playing span:nth-child(odd){animation-duration:1.1s}.lpn-tts-wave.playing span:nth-child(3n){animation-duration:.7s}@keyframes lpneq{0%,to{height:10px}50%{height:48px}}.lpn-tts-player{background:var(--color-surface);border:1px solid var(--color-border);border-radius:26px;align-items:center;gap:9px;padding:6px 6px 6px 14px;display:flex}.lpn-tts-seek{background:var(--color-surface-2);border-radius:2px;flex:1;height:4px;position:relative;overflow:hidden}.lpn-tts-seek i{background:linear-gradient(90deg, var(--color-accent), var(--color-teal));width:0%;transition:width .2s linear;position:absolute;top:0;bottom:0;left:0}.lpn-tts-vol{background:var(--color-surface-2);width:34px;height:34px;color:var(--color-text);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.lpn-tts-btn{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.lpn-memory{grid-template-columns:repeat(4,1fr);gap:7px;width:100%;max-width:230px;display:grid}.lpn-card{aspect-ratio:3/4;background:linear-gradient(135deg, var(--color-accent), var(--color-teal));cursor:pointer;color:#fff;border:none;border-radius:8px;justify-content:center;align-items:center;font-weight:700;display:flex}.lpn-card.flipped{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-teal)}.lpn-ai{align-items:center;gap:14px;display:flex}.lpn-ai-doc,.lpn-ai-tree{border:1px solid var(--color-border);border-radius:14px;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.lpn-ai-doc{color:#818cf8;background:#818cf81f}.lpn-ai-tree{color:var(--color-teal);background:#0ea6b11f}.lpn-ai-arrow{color:var(--color-accent)}.lpn-ai-spark{color:var(--color-muted);flex-direction:column;align-items:center;gap:4px;font-size:.62rem;display:flex}.lpn-steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;display:grid}.lpn-step{text-align:center}.lpn-step-num{background:linear-gradient(135deg, var(--color-accent), var(--color-teal));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;margin:0 auto 18px;font-size:1.4rem;font-weight:800;display:flex}.lpn-step h3{margin-bottom:8px;font-size:1.08rem}.lpn-step p{color:var(--color-muted);font-size:.9rem}.lpn-pricing{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:stretch;gap:22px;display:grid}.lpn-price-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;flex-direction:column;padding:32px 28px;display:flex;position:relative}.lpn-price-card.featured{border-color:var(--color-accent);background:linear-gradient(180deg, #ed575514, var(--color-surface))}.lpn-price-popular{background:var(--color-accent);color:#fff;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:99px;padding:5px 14px;font-size:.68rem;font-weight:800;position:absolute;top:-13px;left:50%;transform:translate(-50%)}.lpn-price-name{margin-bottom:6px;font-size:1.15rem;font-weight:700}.lpn-price-desc{color:var(--color-muted);min-height:40px;margin-bottom:22px;font-size:.86rem}.lpn-price-save{color:#34d399;font-weight:700}.lpn-price-amount{letter-spacing:-.02em;font-size:2.4rem;font-weight:800}.lpn-price-amount span{color:var(--color-muted);font-size:.95rem;font-weight:500}.lpn-price-period{color:var(--color-muted);margin-bottom:24px;font-size:.82rem}.lpn-price-features{flex:1;margin-bottom:28px;padding:0;list-style:none}.lpn-price-features li{align-items:flex-start;gap:9px;padding:7px 0;font-size:.9rem;display:flex}.lpn-price-features li svg{color:var(--color-teal);flex-shrink:0;margin-top:3px}.lpn-price-btn{border:1px solid var(--color-border);background:var(--color-surface-2);width:100%;color:var(--color-text);text-align:center;border-radius:12px;padding:13px;font-size:.92rem;font-weight:700}.lpn-price-btn.primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.lpn-group-note{color:var(--color-teal);text-align:center;background:#0ea6b11a;border:1px solid #0ea6b147;border-radius:13px;justify-content:center;align-items:center;gap:9px;margin-top:30px;padding:14px 20px;font-size:.9rem;font-weight:600;display:flex}.lpn-cta-band{border:1px solid var(--color-border);text-align:center;background:linear-gradient(120deg,#ed57551f,#0ea6b11a);border-radius:24px;margin:0 24px;padding:56px 32px}.lpn-cta-band h2{margin-bottom:14px;font-size:clamp(1.6rem,4vw,2.3rem);font-weight:800}.lpn-cta-band p{color:var(--color-muted);max-width:480px;margin:0 auto 28px}.lpn-footer{border-top:1px solid var(--color-border);margin-top:40px;padding:56px 0 32px}.lpn-footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:44px;display:grid}@media (width<=760px){.lpn-footer-grid{grid-template-columns:1fr 1fr;gap:28px}}.lpn-footer-brand p{color:var(--color-muted);max-width:260px;margin-top:14px;font-size:.88rem}.lpn-footer-col h4{text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);margin-bottom:16px;font-size:.78rem}.lpn-footer-col a,.lpn-footer-col button{color:var(--color-text);opacity:.85;cursor:pointer;text-align:left;background:0 0;border:none;padding:6px 0;font-size:.9rem;display:block}.lpn-footer-col a:hover,.lpn-footer-col button:hover{opacity:1;color:var(--color-accent)}.lpn-footer-bottom{border-top:1px solid var(--color-border);color:var(--color-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-top:28px;font-size:.82rem;display:flex}.lpn-footer-legal{flex-wrap:wrap;gap:22px;display:flex}.lpn-footer-legal a{color:var(--color-muted)}.lpn-footer-legal a:hover{color:var(--color-text)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
