*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-ui);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.admin-surface .field{line-height:1.55}.settings-scale .field{font-size:.9375rem;line-height:1.55}.field{width:100%;border-radius:.75rem;border-width:1px;border-color:var(--border);background-color:var(--input-background);padding:.5rem .875rem;font-size:.875rem;line-height:1.25rem;color:var(--foreground);outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.field::-moz-placeholder{color:var(--muted-foreground)}.field::placeholder{color:var(--muted-foreground)}.field:focus{border-color:var(--primary);--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: var(--ring)}.field:disabled{background-color:var(--muted);color:var(--muted-foreground)}.field{min-height:38px}.ui-card{border-radius:.75rem;border-width:1px;border-color:var(--border);background-color:var(--card);color:var(--card-foreground);--tw-shadow: var(--shadow-card);--tw-shadow-colored: var(--shadow-card);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-shadow-color: var(--card);--tw-shadow: var(--tw-shadow-colored);background-image:linear-gradient(180deg,#fffdf7e6,#fff8ebe6)}:root[data-theme=dark] .ui-card{background-image:linear-gradient(180deg,#252320f5,#1f1e1bf5)}.course-path-virtual-node{content-visibility:auto;contain-intrinsic-size:152px}.word-set-card,.word-set-detail-item,.dictionary-entry,.vocabulary-entry{content-visibility:auto}.word-set-card{contain-intrinsic-size:152px}.word-set-detail-item{contain-intrinsic-size:144px}.dictionary-entry{contain-intrinsic-size:188px}.vocabulary-entry{contain-intrinsic-size:128px}.vocabulary-entry[open]{contain-intrinsic-size:360px}.book-app-shell{min-height:100vh;color:var(--foreground);background:transparent}.admin-surface{--background: #f3ead8;--foreground: #2b1d16;--card: #fff9eb;--card-foreground: #2b1d16;--surface: #fbf3e4;--surface-subtle: #f0e2c9;--surface-muted: #e2cfad;--surface-dark: #2b1d16;--surface-dark-elevated: #3a281f;--on-dark: #fff9eb;--on-dark-soft: #d9c8aa;--primary: #c9684f;--primary-hover: #a94f3b;--primary-soft: #edd1c3;--primary-foreground: #fff9eb;--secondary: #eee0c8;--secondary-foreground: #2b1d16;--muted: #e3d2b4;--muted-foreground: #735f4b;--accent: #758457;--accent-foreground: #fff9eb;--success: #647f4f;--success-soft: #e5ead8;--warning: #a86f2a;--warning-soft: #f0dfbd;--info: #181715;--info-soft: #eee0c8;--destructive: #c64545;--destructive-soft: #f1d6cf;--destructive-foreground: #fff9eb;--border: #d9c5a7;--border-strong: #b79c75;--input-background: #fffaf0;--switch-background: #c9b18a;--ring: rgba(201, 104, 79, .34);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--foreground)}:root[data-theme=dark] .admin-surface{--background: #181715;--foreground: #faf9f5;--card: #252320;--card-foreground: #faf9f5;--surface: #1f1e1b;--surface-subtle: #252320;--surface-muted: #302d28;--surface-dark: #181715;--surface-dark-elevated: #252320;--on-dark: #faf9f5;--on-dark-soft: #a09d96;--primary: #cc785c;--primary-hover: #d99177;--primary-soft: #3d2821;--primary-foreground: #ffffff;--secondary: #252320;--secondary-foreground: #faf9f5;--muted: #302d28;--muted-foreground: #a09d96;--accent: #5db8a6;--accent-foreground: #faf9f5;--success: #7ecf8e;--success-soft: #1d3323;--warning: #e8c06a;--warning-soft: #382b18;--info: #faf9f5;--info-soft: #252320;--destructive: #ef8585;--destructive-soft: #3c1d21;--destructive-foreground: #ffffff;--border: #3b3730;--border-strong: #5d564b;--input-background: #1f1e1b;--switch-background: #5d564b;--ring: rgba(204, 120, 92, .45)}.admin-surface h1,.admin-surface h2,.admin-surface h3,.admin-surface h4{font-family:inherit;letter-spacing:0}.admin-surface h1{font-size:clamp(1.875rem,2vw,2.25rem);line-height:1.12}.admin-surface h2{font-size:clamp(1.5rem,1.7vw,1.875rem);line-height:1.18}.admin-surface h3{font-size:1.0625rem;line-height:1.35}.admin-surface h4{font-size:.9375rem;line-height:1.4}.admin-surface p,.admin-surface .text-sm{line-height:1.55}.admin-surface .text-xs{line-height:1.45}.admin-surface .field{min-height:2.75rem;background-color:color-mix(in srgb,var(--input-background) 92%,white)}:root[data-theme=dark] .admin-surface .field{background-color:color-mix(in srgb,var(--input-background) 92%,black)}.admin-kicker{font-size:.75rem;font-weight:700;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-foreground)}.review-study-shell{position:relative;min-height:100vh;overflow:hidden;padding:1rem 1rem 2rem;background:linear-gradient(180deg,#fffaee94,#f3ead82e),var(--background)}.review-study-shell:before,.review-study-shell:after{display:none;content:none}.review-study-shell:before{left:4%;top:24%;width:8rem;height:12rem;border-left:2px solid rgba(103,80,58,.34);border-radius:50%;background:linear-gradient(118deg,transparent 45%,rgba(103,80,58,.28) 46%,transparent 47%),radial-gradient(ellipse at 42% 28%,transparent 42%,rgba(103,80,58,.22) 43%,transparent 45%);transform:rotate(-24deg)}.review-study-shell:after{right:6%;bottom:8%;width:10rem;height:10rem;border-right:2px solid rgba(103,80,58,.34);border-bottom:2px solid rgba(103,80,58,.24);border-radius:50%;background:linear-gradient(132deg,transparent 48%,rgba(103,80,58,.24) 49%,transparent 50%),linear-gradient(18deg,transparent 47%,rgba(103,80,58,.18) 48%,transparent 49%);transform:rotate(22deg)}.review-study-wrap{position:relative;z-index:1;width:100%;min-width:0;max-width:64rem;margin:0 auto}.review-study-header{display:grid;grid-template-columns:minmax(8rem,1fr) minmax(16rem,30rem) minmax(8rem,1fr);align-items:center;gap:.75rem}.review-exit-button{width:auto;justify-self:start;white-space:nowrap}.review-exit-button,.review-mode-chip{display:inline-flex;min-height:2rem;align-items:center;gap:.5rem;border:1px solid rgba(183,156,117,.46);border-radius:9999px;background:#fff9eb85;padding:.38rem .65rem;color:var(--muted-foreground);font-size:.8rem;font-weight:600;line-height:1.2;transition:border-color .16s ease,color .16s ease,background-color .16s ease}.review-exit-button:hover,.review-mode-chip:hover{border-color:var(--border-strong);background:#fff9ebeb;color:var(--foreground)}.review-progress-block{width:100%;justify-self:center;text-align:center}.review-progress-track{height:.4rem;overflow:hidden;border:0;border-radius:9999px;background:var(--progress-track);box-shadow:none}.review-progress-track>div{height:100%;border-radius:inherit;background:var(--progress-fill-end);box-shadow:none;transition:width .26s ease}.review-study-title{display:flex;align-items:center;justify-content:center;gap:.65rem;margin:1.4rem auto 1.1rem;color:#6f5844;text-align:center}.review-study-main{width:min(100%,52rem);margin:0 auto}.review-study-title svg{color:var(--primary);filter:none}.review-study-title h1{font-size:1.75rem;font-weight:800;line-height:1.12}.review-study-title-lesson{align-items:flex-start;justify-content:center;gap:.75rem;margin:1.1rem auto .8rem;width:-moz-fit-content;width:fit-content;max-width:100%}.review-study-title-text{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:.3rem;text-align:left}.review-course-title{color:var(--foreground);font-size:1.35rem;font-weight:800;line-height:1.12}.review-lesson-title{color:var(--muted-foreground);font-size:.98rem;font-weight:700;line-height:1.25}.review-stage-area{display:flex;width:100%;justify-content:center}.review-stage-area-book{align-items:center}.review-flashcard-stack{width:100%;max-width:100%;margin:0 auto;display:flex;flex-direction:column;gap:.9rem}.review-book-frame{position:relative;display:grid;min-height:20rem;place-items:center;overflow:hidden;border:1px solid rgba(169,139,105,.62);border-radius:.8rem;background:#fffaefd1;box-shadow:0 .55rem 1.4rem #402a191a}.review-book-frame:before{display:none;content:none}.review-book-frame:after{display:none;content:""}.review-book-page{display:none}.review-book-page-left{left:.9rem;right:50%;border-right:0;border-radius:.35rem .08rem .35rem .35rem}.review-book-page-right{left:50%;right:.9rem;border-left:0;border-radius:.08rem .35rem .35rem}.review-book-content{position:relative;z-index:2;width:min(92%,44rem);padding:2rem 1rem;text-align:center}.review-flashcard-word{color:var(--foreground);font-size:3.4rem;font-weight:800;line-height:1;text-shadow:none;word-break:break-word}.review-flashcard-soundline{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.65rem;margin-top:.85rem;color:var(--muted-foreground);font-size:1.05rem;font-weight:700;line-height:1.25}.review-flashcard-meta,.review-word-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.55rem;color:var(--muted-foreground);font-size:.92rem}.review-flashcard-meta{justify-content:center}.review-cefr-pill{display:inline-flex;align-items:center;border-radius:9999px;background:var(--secondary);padding:.15rem .5rem;color:var(--foreground);font-size:.75rem;font-weight:700}.review-flashcard-meaning{margin-top:1.35rem;color:var(--foreground);font-size:2rem;font-weight:800;line-height:1.2}.review-flashcard-example{margin-top:1.1rem;color:var(--foreground);font-size:1.2rem;font-weight:600;line-height:1.35}.review-flashcard-example mark{border-radius:.45rem;background:#dc846738;box-shadow:0 .7rem 1.2rem #c9684f38;color:inherit;padding:0 .18rem}.review-flashcard-prompt{max-width:34rem;margin:1.2rem auto 0;color:var(--muted-foreground);font-size:1rem;line-height:1.6}.review-context-line{margin:.75rem auto 0;max-width:36rem;color:var(--muted-foreground);font-size:1.06rem;font-style:italic;line-height:1.55}.review-exercise-card{position:relative;width:100%;min-width:0;max-width:40rem;min-height:0;margin-inline:auto;overflow:hidden;border:1px solid rgba(169,139,105,.52);border-radius:.85rem;background:#fffaefd6;padding:1.55rem;box-shadow:0 .55rem 1.4rem #402a191a}.review-exercise-card:before{display:none;content:none}.review-exercise-card>*{position:relative;z-index:1}.review-exercise-card-wide{max-width:52rem}.review-exercise-heading{margin-bottom:1rem;text-align:center}.review-exercise-title{color:#2f2118;font-size:1.6rem;font-weight:800;line-height:1.16}.review-exercise-prompt{margin-top:.5rem;color:#3d2d22;font-size:1rem;line-height:1.45}.review-question-text{margin:.8rem auto 0;max-width:34rem;color:var(--foreground);font-size:1.7rem;font-weight:800;line-height:1.22;word-break:break-word}.review-question-text-context{font-size:1.25rem;line-height:1.45}.review-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.review-option-grid-single{grid-template-columns:1fr}.review-choice-option{display:flex;min-height:3rem;align-items:center;gap:.6rem;border:1px solid rgba(150,119,84,.46);border-radius:.65rem;background:#fffaefc2;padding:.75rem .9rem;color:#261a13;font-size:1.02rem;font-weight:600;line-height:1.25;text-align:left;box-shadow:none;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,transform .15s ease}.review-choice-option:hover{border-color:var(--primary);box-shadow:0 0 0 2px #c9684f1f;transform:translateY(-1px)}.review-choice-option:disabled:hover{border-color:#9677549e;box-shadow:none;transform:none}.review-choice-option:focus-visible,.review-token:focus-visible,.review-exit-button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.review-audio-pill:focus-visible,.review-audio-icon-small:focus-visible,.review-audio-orb:focus-visible{outline:none;box-shadow:0 0 0 2px #fffaefe6,0 0 0 4px #c9684f6b}.review-choice-option-selected{border-color:#3f847e9e;background:#ebf7f3d1;color:#234f4a;box-shadow:0 0 0 2px #3f847e1c}.review-choice-option:disabled{cursor:default}.review-choice-option-correct{border-color:#647f4fdb;background:var(--success-soft);color:#334a29;box-shadow:0 0 0 2px #647f4f2e}.review-choice-option-correct:hover{border-color:#647f4fdb;box-shadow:0 0 0 2px #647f4f2e}.review-choice-option-wrong{border-color:#c64545db;background:var(--destructive-soft);color:#7f2929;box-shadow:0 0 0 2px #c6454524}.review-choice-option-wrong:hover{border-color:#c64545db;box-shadow:0 0 0 2px #c6454524}.review-choice-option-muted{opacity:.68}.review-option-letter{min-width:1.7rem;font-size:1.02rem;font-weight:700}.review-audio-block{display:flex;flex-direction:column;align-items:center;gap:.6rem;margin-top:.95rem}.review-audio-controls,.review-audio-orb-wrap{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:0;border-radius:0;background:transparent;padding:0;box-shadow:none}.review-audio-orb{position:relative;display:inline-flex;width:2.45rem;min-width:2.45rem;min-height:2.45rem;align-items:center;justify-content:center;gap:0;border:0;border-radius:.7rem;background:#fff9ebc7;padding:0;color:var(--primary);font-size:1rem;font-weight:800;box-shadow:inset 0 0 0 1px #c9684f33;transition:background-color .15s ease,box-shadow .15s ease,transform .15s ease,color .15s ease}.review-audio-orb:hover{background:#edd1c394;box-shadow:inset 0 0 0 1px #c9684f47;transform:translateY(-1px)}.review-audio-pill,.review-audio-icon-small{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--muted-foreground);font-weight:700;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}.review-audio-pill{gap:.5rem;border-radius:9999px;padding:.45rem .75rem;font-size:.82rem}.review-audio-icon-small{width:2rem;height:2rem;border-radius:.55rem;background:#fff9ebb8;color:var(--primary);box-shadow:inset 0 0 0 1px #c9684f2e}.review-flashcard-audio{margin-left:0;background:transparent}.review-audio-pill:hover,.review-audio-icon-small:hover{background:#edd1c394;color:var(--primary);box-shadow:inset 0 0 0 1px #c9684f42;transform:translateY(-1px)}.review-audio-slow,.review-audio-orb-slow{opacity:.82}.review-audio-icon-small:disabled,.review-audio-pill:disabled,.review-audio-orb:disabled{cursor:not-allowed;opacity:.46;filter:grayscale(.2)}.review-audio-readiness{color:var(--muted-foreground);font-size:.72rem;font-weight:700;letter-spacing:.01em;white-space:nowrap}.review-audio-loading{box-shadow:0 0 0 3px #c9694f29}.review-word-order-panel{margin-top:.85rem;text-align:left}.review-match-board{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:.65rem;margin:1rem auto 0;max-width:42rem}.review-match-column{min-width:0}.review-match-label{margin-bottom:.45rem;color:var(--muted-foreground);font-size:.95rem;font-weight:700}.review-match-tile{display:flex;min-height:4.25rem;align-items:center;justify-content:center;border:1px solid rgba(150,119,84,.38);border-radius:.65rem;background:#fffaefa8;padding:.85rem;color:#2f2118;font-size:1.2rem;font-weight:700;line-height:1.22}.review-match-tile-muted{color:var(--muted-foreground);font-size:1.18rem}.review-match-link{display:flex;align-items:center;justify-content:center;color:var(--muted-foreground);font-size:1.6rem;font-weight:700}.review-drop-zone{display:flex;min-height:3.6rem;align-items:center;justify-content:center;border:1px dashed rgba(150,119,84,.66);border-radius:.65rem;background:#fffaef94;padding:.75rem;color:var(--muted-foreground);font-size:1rem;font-weight:600;text-align:center}.review-drop-zone-correct{border-color:#647f4fc7;background:var(--success-soft);color:#334a29}.review-drop-zone-wrong{border-color:#c64545c7;background:var(--destructive-soft);color:#7f2929}.review-token-bank{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem;margin-top:1rem;max-width:100%}.review-token{display:inline-flex;min-height:2.35rem;align-items:center;justify-content:center;max-width:100%;border:1px solid rgba(150,119,84,.46);border-radius:.65rem;background:#fffaefb8;padding:.48rem .78rem;color:#261a13;font-size:.98rem;font-weight:700;line-height:1.2;overflow-wrap:anywhere;white-space:normal;box-shadow:none}.review-token:not(.review-token-disabled):hover{border-color:var(--primary)}.review-token-selected{border-color:#3f847e94;background:#dbf0ebe6;color:#214f4b}.review-token-disabled{cursor:not-allowed;opacity:.42}.review-answer-input{width:100%;min-height:3.5rem;border:1px solid rgba(150,119,84,.52);border-radius:.65rem;background:#fffaefb8;padding:.75rem 1rem;color:var(--foreground);font-size:1.25rem;font-weight:700;line-height:1.25;text-align:center;outline:none;box-shadow:none}.review-answer-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}.review-answer-input:disabled{cursor:default;opacity:1}.review-answer-input-correct{border-color:#647f4fdb;background:var(--success-soft);color:#334a29;box-shadow:0 0 0 2px #647f4f29}.review-answer-input-wrong{border-color:#c64545db;background:var(--destructive-soft);color:#7f2929;box-shadow:0 0 0 2px #c645451f}.review-inline-answer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.55rem;border:1px solid rgba(100,127,79,.42);border-radius:.65rem;background:#e5ead8c7;padding:.75rem .9rem;color:#334a29;text-align:center}.review-inline-answer-label{color:var(--muted-foreground);font-size:.95rem;font-weight:700}.review-inline-answer-value{font-size:1.05rem;font-weight:800;line-height:1.22}.review-primary-button{display:flex;align-items:center;justify-content:center;border-radius:.65rem;box-shadow:none}.review-flashcard-actions{display:flex;width:100%;justify-content:center}.review-flashcard-button,.review-flashcard-button-wrap,.review-flashcard-rating{width:min(100%,42rem)}.review-rating-option{border-radius:.65rem;padding:.75rem .9rem;text-align:left;transition:background-color .16s ease,transform .16s ease}.review-rating-option:hover{transform:translateY(-1px)}.review-context-panel{margin-bottom:1rem;border:1px solid rgba(150,119,84,.34);border-radius:.75rem;background:#f0e2c961;padding:.85rem}.review-dialogue-card{border:1px solid rgba(150,119,84,.24);border-radius:.65rem;background:#fffaef8a;padding:.75rem .85rem}:root[data-theme=dark] .review-study-shell{background:var(--background)}:root[data-theme=dark] .review-exit-button,:root[data-theme=dark] .review-mode-chip{background:#252320d1}:root[data-theme=dark] .review-audio-controls,:root[data-theme=dark] .review-audio-orb-wrap{background:transparent}:root[data-theme=dark] .review-audio-pill,:root[data-theme=dark] .review-audio-icon-small,:root[data-theme=dark] .review-audio-orb{background:#252320d1;box-shadow:inset 0 0 0 1px #9f825f57}:root[data-theme=dark] .review-study-title,:root[data-theme=dark] .review-exercise-title,:root[data-theme=dark] .review-exercise-prompt,:root[data-theme=dark] .review-question-text,:root[data-theme=dark] .review-choice-option,:root[data-theme=dark] .review-token,:root[data-theme=dark] .review-match-tile,:root[data-theme=dark] .review-flashcard-word,:root[data-theme=dark] .review-flashcard-soundline,:root[data-theme=dark] .review-flashcard-meaning,:root[data-theme=dark] .review-flashcard-example{color:var(--foreground)}:root[data-theme=dark] .review-exercise-card{border-color:var(--border);background:#252320eb}:root[data-theme=dark] .review-book-frame{border-color:var(--border);background:#252320eb}:root[data-theme=dark] .review-book-page{border-color:var(--border);background:radial-gradient(circle at 28% 20%,rgba(250,249,245,.08),transparent 18rem),linear-gradient(180deg,#252320fa,#1f1e1bfa)}:root[data-theme=dark] .review-choice-option,:root[data-theme=dark] .review-token,:root[data-theme=dark] .review-answer-input,:root[data-theme=dark] .review-inline-answer,:root[data-theme=dark] .review-match-tile,:root[data-theme=dark] .review-context-panel,:root[data-theme=dark] .review-dialogue-card,:root[data-theme=dark] .review-drop-zone{background:#252320c7}:root[data-theme=dark] .review-token-selected{border-color:#6bc5bb94;background:#275b56d1;color:#d9f4ef}:root[data-theme=dark] .review-choice-option-selected,:root[data-theme=dark] .review-choice-option-audio-playing{border-color:#6bc5bb94;background:#275b56d1;color:#d9f4ef;box-shadow:0 0 0 2px #6bc5bb1a}:root[data-theme=dark] .review-choice-option-correct,:root[data-theme=dark] .review-answer-input-correct{border-color:#7ecf8eb8;background:var(--success-soft);color:var(--success)}:root[data-theme=dark] .review-choice-option-wrong,:root[data-theme=dark] .review-answer-input-wrong,:root[data-theme=dark] .review-drop-zone-wrong{border-color:#ef8585bd;background:var(--destructive-soft);color:var(--destructive)}:root[data-theme=dark] .review-drop-zone-correct{border-color:#7ecf8eb8;background:var(--success-soft);color:var(--success)}:root[data-theme=dark] .review-inline-answer{border-color:#7ecf8e61;background:#1d3323db;color:var(--success)}@media (min-width: 768px){.review-study-shell{padding:1.15rem 2rem 2.5rem}.review-study-title h1{font-size:1.95rem}.review-course-title{font-size:1.55rem}.review-lesson-title{font-size:1.05rem}.review-book-frame{min-height:21rem}.review-flashcard-word{font-size:4rem}.review-flashcard-soundline{font-size:1.12rem}.review-flashcard-meaning{font-size:2.2rem}.review-flashcard-example{font-size:1.25rem}.review-exercise-title{font-size:1.7rem}}@media (max-width: 767px){.review-study-shell{padding:.8rem .7rem 1.6rem}.review-study-shell:before,.review-study-shell:after{opacity:.16}.review-study-header{grid-template-columns:1fr;gap:.55rem}.review-progress-block{order:-1;max-width:100%}.review-mode-chip{justify-self:start}.review-study-title{gap:.65rem;margin:1rem auto .85rem}.review-study-title h1{font-size:1.55rem}.review-study-title-lesson{align-items:flex-start;justify-content:flex-start;margin:.95rem auto .75rem;text-align:left}.review-course-title{font-size:1.18rem}.review-lesson-title{font-size:.9rem}.review-study-title svg{width:1.9rem;height:1.9rem}.review-book-frame{min-height:18rem;border-radius:.75rem}.review-book-page-left{left:.5rem;right:50%}.review-book-page-right{left:50%;right:.5rem}.review-book-page{top:.55rem;bottom:.65rem;width:auto}.review-book-content{width:min(94%,34rem);padding:1.25rem .5rem}.review-flashcard-word{font-size:2.6rem}.review-flashcard-soundline{font-size:1rem}.review-flashcard-meaning{font-size:1.6rem}.review-flashcard-example{font-size:1.05rem}.review-exercise-card{min-height:auto;padding:1rem .85rem}.review-exercise-title{font-size:1.35rem}.review-exercise-prompt{font-size:.95rem}.review-question-text{font-size:1.35rem;line-height:1.28}.review-question-text-context{font-size:1.08rem;line-height:1.45}.review-option-grid{grid-template-columns:1fr}.review-choice-option{min-height:2.8rem;font-size:.98rem}.review-audio-orb{width:2.45rem;min-height:2.45rem;padding:0;font-size:.95rem}.review-answer-input{font-size:1.08rem}.review-match-board{grid-template-columns:1fr;gap:.7rem}.review-match-link{min-height:1rem;font-size:1.2rem;transform:rotate(90deg)}.review-match-tile{min-height:3.6rem;font-size:1.05rem}.review-token{font-size:.95rem}.review-token-bank{justify-content:flex-start}.review-inline-answer-value{font-size:1rem}}.settings-scale .field{min-height:2.625rem;font-size:.9375rem;line-height:1.45}.settings-scale .text-sm{font-size:.9375rem;line-height:1.55}.settings-scale .text-xs{font-size:.8125rem;line-height:1.45}.settings-scale label>span,.settings-scale .font-medium,.settings-scale .font-semibold{font-weight:700}.settings-scale .ui-card{border-color:var(--border-strong)}.admin-surface .badge-pill{line-height:1.45}.settings-scale .badge-pill{font-size:.8125rem;line-height:1.45}.settings-scale .badge-pill{font-weight:700}.badge-pill{display:inline-flex;border-radius:9999px;background-color:var(--secondary);padding:.375rem .75rem;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--foreground)}.flashhub-deck-builder-form .set-builder-preview-card .badge-pill{border-color:var(--fh-rule);background:color-mix(in srgb,var(--fh-panel) 72%,var(--fh-bg));color:var(--fh-ink-2)}.flashhub-deck-form-modal .set-builder-preview-card .badge-pill,.flashhub-deck-builder-form .set-builder-preview-card .badge-pill{min-height:1.625rem;display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--fh-chip-border);border-radius:999px;background:var(--fh-chip-bg);color:var(--fh-chip-text);font-family:var(--font-ui);font-size:.71875rem;font-style:normal;font-weight:700;letter-spacing:0;line-height:1.1;text-transform:none;box-shadow:none;padding:.25rem .625rem}.book-app-shell :where(.badge-pill,[class*=tracking-],[class*=eyebrow],[class*=kicker],.flashhub-demo-eyebrow,.flashhub-preview-headline,.flashhub-section-title,.flashhub-classroom-contrib-head,.study-group-classroom-eyebrow,.study-group-main-badge,.study-group-section-title,.study-group-daily-head):not(.admin-surface,.admin-surface *){font-family:var(--font-ui);letter-spacing:.04em}.review-image-frame{margin:.85rem auto 0;overflow:hidden;border:1px solid rgba(150,119,84,.32);border-radius:.75rem;background:#fffaefb8}.review-main-image{max-width:min(24rem,100%)}.review-image{display:block;width:100%;max-height:16rem;-o-object-fit:cover;object-fit:cover}.review-study-shell-lesson .review-main-image{max-width:min(32rem,100%);background:#fffaefe0}.review-study-shell-lesson .review-main-image .review-image{max-height:min(25rem,52vh);-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;background:#fffaefe0}.review-image-placeholder,.review-image-error{display:flex;min-height:9rem;align-items:center;justify-content:center;gap:.5rem;padding:1rem;color:var(--muted-foreground);font-size:.9rem}.review-image-error{min-height:auto;color:var(--destructive)}.review-option-grid-images{grid-template-columns:repeat(2,minmax(0,1fr))}.review-choice-image-frame{margin:0;width:4.25rem;min-width:4.25rem;border-radius:.65rem}.review-choice-option-image-only{min-height:7rem}.review-choice-option-image-only .review-choice-image-frame{margin-inline:auto;width:6rem;min-width:6rem}.review-choice-image-frame .review-image{aspect-ratio:1 / 1;max-height:none}.review-study-shell-lesson .review-choice-image-frame .review-image{-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;background:#fffaefe0}.review-choice-image-frame .review-image-placeholder,.review-choice-image-frame .review-image-error{min-height:4.25rem;padding:.4rem;font-size:.7rem;text-align:center}@media (max-width: 640px){.review-option-grid-images{grid-template-columns:1fr}.review-main-image{max-width:100%}}.review-journey-hint{margin:-.25rem auto .8rem;width:min(100%,42rem);max-width:100%;border:1px solid rgba(150,119,84,.34);border-radius:9999px;background:#fff9eb8a;padding:.42rem .75rem;text-align:center;box-shadow:none}.review-journey-hint-label{color:var(--primary);font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.review-journey-hint-helper{margin-top:.15rem;color:var(--muted-foreground);font-size:.88rem;line-height:1.35}.review-recap-grid{display:grid;gap:.55rem;margin:1rem 0 1.1rem}.review-recap-card{display:flex;align-items:center;gap:.7rem;border:1px solid rgba(150,119,84,.32);border-radius:.7rem;background:#fffaef94;padding:.7rem;text-align:left;box-shadow:none}.review-recap-index{display:inline-flex;width:1.75rem;height:1.75rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;background:var(--primary-soft);color:var(--primary);font-size:.9rem;font-weight:900}.review-recap-word{color:#2f2118;font-size:1.05rem;font-weight:800;line-height:1.2}.review-recap-meaning{margin-top:.1rem;color:var(--muted-foreground);font-size:.9rem;font-weight:600}.review-recap-example{margin-top:.25rem;color:#4d3b2c;font-size:.92rem;line-height:1.4}:root[data-theme=dark] .review-journey-hint,:root[data-theme=dark] .review-recap-card{background:#252320db}:root[data-theme=dark] .review-recap-word,:root[data-theme=dark] .review-recap-example{color:var(--foreground)}.review-scene-image-main{margin-bottom:.9rem;max-width:min(28rem,100%);border-radius:.85rem;background:#fff9eb9e;box-shadow:none}.review-scene-image-main .review-image{max-height:17rem;aspect-ratio:16 / 10;-o-object-fit:cover;object-fit:cover}.review-scene-image-inline{width:min(100%,18rem);margin:0 auto .8rem;border-radius:.75rem;opacity:.96}.review-scene-image-inline .review-image{max-height:7.5rem;aspect-ratio:16 / 9;-o-object-fit:cover;object-fit:cover}.review-scene-image-placeholder{display:flex;align-items:center;gap:.85rem;min-height:8rem;padding:.85rem;color:#6f5844;text-align:left}.review-scene-image-placeholder-icon{display:inline-flex;width:2.25rem;min-width:2.25rem;height:2.25rem;align-items:center;justify-content:center;border:1px solid rgba(201,105,79,.34);border-radius:.7rem;background:#edd1c361;color:var(--primary)}.review-scene-image-placeholder-title{color:#3a2416;font-size:.98rem;font-weight:800}.review-scene-image-placeholder-prompt{margin-top:.25rem;color:#7a6653;font-size:.86rem;line-height:1.45}:root[data-theme=dark] .review-scene-image-main{background:#252320c7}:root[data-theme=dark] .review-scene-image-placeholder{color:var(--muted-foreground)}:root[data-theme=dark] .review-scene-image-placeholder-title{color:var(--foreground)}:root[data-theme=dark] .review-scene-image-placeholder-prompt{color:var(--muted-foreground)}.review-stage-motion{width:100%;animation:review-stage-in .21s cubic-bezier(.2,.8,.2,1) both;transform-origin:center top}.review-stage-result-correct{animation:review-soft-pop .23s ease-out both}.review-stage-result-wrong{animation:review-soft-nudge .19s ease-out both}.review-progress-track>div{background:linear-gradient(90deg,var(--progress-fill-start),var(--progress-fill-mid),var(--progress-fill-end),var(--progress-fill-start));background-size:180% 100%;animation:review-progress-glide 1.8s linear infinite}.review-book-frame,.review-exercise-card,.review-context-panel,.review-dialogue-card,.review-recap-card,.review-choice-option,.review-token,.review-drop-zone,.review-answer-input,.review-inline-answer,.review-primary-button,.review-rating-option{will-change:transform}.review-book-frame-revealed{animation:review-soft-pop .23s ease-out both}.review-flashcard-reveal{animation:review-reveal-up .19s ease-out both}.review-flashcard-reveal .review-flashcard-example{animation:review-reveal-up .22s 65ms ease-out both}.review-flashcard-reveal .review-flashcard-note{animation:review-reveal-up .21s 45ms ease-out both}.review-choice-option{transform-origin:center}.review-choice-option:active:not(:disabled),.review-token:active:not(:disabled),.review-audio-pill:active:not(:disabled),.review-audio-icon-small:active:not(:disabled),.review-audio-orb:active:not(:disabled),.review-primary-button:active:not(:disabled){transform:translateY(1px) scale(.992)}.review-choice-option-correct{animation:review-soft-pop .24s ease-out both}.review-choice-option-wrong,.review-answer-input-wrong,.review-drop-zone-wrong{animation:review-soft-nudge .19s ease-out both}.review-inline-answer{animation:review-reveal-up .18s ease-out both}.review-drop-zone{transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,transform .15s ease}.review-drop-zone:not(.review-drop-zone-correct):not(.review-drop-zone-wrong):has(.review-token-selected){border-style:solid;border-color:#3f847e75;background:#ebf7f3b8;box-shadow:0 0 0 2px #3f847e14}.review-token{transition:border-color .15s ease,background-color .15s ease,color .15s ease,opacity .15s ease,transform .15s ease,box-shadow .15s ease}.review-token:not(.review-token-disabled):hover{transform:translateY(-1px);box-shadow:0 0 0 2px #c9684f1a}.review-token-selected{animation:review-soft-pop .17s ease-out both}.review-token-disabled{transform:scale(.985)}.review-primary-button{gap:.35rem;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease,opacity .16s ease}.review-primary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 .55rem 1.1rem #8b463029}.review-primary-button svg:last-child{transition:transform .16s ease}.review-primary-button:hover:not(:disabled) svg:last-child{transform:translate(2px)}.review-primary-button:disabled{opacity:.78}.review-audio-controls,.review-audio-orb-wrap{transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,transform .15s ease}.review-audio-controls-active,.review-audio-orb-wrap-active{background:transparent;box-shadow:none}.review-audio-pill,.review-audio-icon-small,.review-audio-orb{position:relative;overflow:hidden}.review-audio-loading{background:#edd1c3ad;color:var(--primary);box-shadow:inset 0 0 0 1px #c9684f57,0 0 0 3px #c9684f1a;animation:review-audio-pulse .85s ease-in-out infinite}.review-audio-loading svg{transform-origin:center;animation:review-soft-pop .42s ease-out infinite alternate}.review-audio-speed-label{position:absolute;right:.14rem;bottom:.08rem;color:currentColor;font-size:.48rem;font-weight:900;letter-spacing:-.04em;line-height:1;opacity:.78}.review-audio-orb .review-audio-speed-label{right:.18rem;bottom:.12rem;font-size:.52rem}.review-audio-button-equalizer{position:absolute;right:.18rem;top:.18rem;display:inline-flex;align-items:flex-end;justify-content:center;gap:1px;height:.46rem;color:currentColor;opacity:.8}.review-audio-button-equalizer span{display:block;width:2px;height:.42rem;border-radius:9999px;background:currentColor;transform-origin:center bottom;animation:review-audio-bar .62s ease-in-out infinite}.review-audio-button-equalizer span:nth-child(2){animation-delay:90ms}.review-audio-button-equalizer span:nth-child(3){animation-delay:.18s}.review-completion-card{animation:review-stage-in .26s ease-out both}.review-completion-trophy{animation:review-soft-pop .36s 60ms ease-out both;transform-origin:center}.review-completion-stat{animation:review-reveal-up .21s ease-out both}.review-completion-stat:nth-child(2){animation-delay:45ms}.review-completion-stat:nth-child(3){animation-delay:90ms}.review-insight-card{animation:review-reveal-up .19s ease-out both}.review-insight-card:nth-child(2){animation-delay:45ms}.review-insight-card:nth-child(3){animation-delay:90ms}:root[data-theme=dark] .review-drop-zone:not(.review-drop-zone-correct):not(.review-drop-zone-wrong):has(.review-token-selected){background:#252320eb;box-shadow:0 0 0 2px #5db8a61f}.review-choice-option-audio-playing{border-color:#3f847e9e;background:#ebf7f3d1;animation:review-option-audio-glow .9s ease-in-out infinite}.review-primary-button[disabled] svg:last-child{transform:none}.review-result-feedback{display:flex;align-items:flex-start;gap:.75rem;width:100%;border:1px solid rgba(150,119,84,.24);border-radius:1.25rem;background:#fffaefd1;padding:.85rem .95rem;box-shadow:0 .45rem 1rem #402a1912;animation:review-result-feedback-in .19s ease-out both}.review-result-feedback-compact{max-width:34rem;margin-inline:auto}.review-result-feedback-correct{border-color:#647f4f57;background:linear-gradient(180deg,#eef8e6e6,#fffaefd6)}.review-result-feedback-wrong{border-color:#c6454547;background:linear-gradient(180deg,#ffefebe6,#fffaefd6)}.review-result-feedback-icon{display:inline-flex;width:2rem;height:2rem;flex:0 0 auto;align-items:center;justify-content:center;border-radius:9999px;animation:review-feedback-icon-pop .23s 60ms ease-out both}.review-result-feedback-correct .review-result-feedback-icon{background:var(--success-soft);color:var(--success)}.review-result-feedback-wrong .review-result-feedback-icon{background:var(--destructive-soft);color:var(--destructive)}.review-result-feedback-title{color:var(--foreground);font-size:.98rem;font-weight:850;line-height:1.22}.review-result-feedback-hint{margin-top:.18rem;color:var(--muted-foreground);font-size:.86rem;font-weight:600;line-height:1.42}.review-progress-fill{animation:review-progress-fill-pulse .36s ease-out both,review-progress-glide 1.8s linear infinite}.review-completion-shell{min-height:100dvh}.review-completion-card{max-height:calc(100dvh - 1.5rem);overflow-y:auto}.review-completion-hero{position:relative;display:flex;align-items:center;justify-content:center;gap:.65rem;margin-bottom:.75rem}.review-completion-hero:before{position:absolute;inset:50% auto auto 50%;width:8.5rem;height:8.5rem;border-radius:9999px;background:radial-gradient(circle,rgba(201,104,79,.16),transparent 62%);content:"";transform:translate(-50%,-50%);pointer-events:none}.review-completion-trophy,.review-completion-ring{position:relative;z-index:1}.review-completion-trophy{width:3.5rem;height:3.5rem;border-radius:.85rem;animation:review-soft-pop .36s 60ms ease-out both,review-completion-float 2.4s .52s ease-in-out infinite}.review-completion-trophy svg{width:1.9rem;height:1.9rem}.review-completion-ring{display:grid;width:5rem;height:5rem;place-items:center;border-radius:9999px;background:#fffaefc7;box-shadow:inset 0 0 0 1px #9677543d,0 .55rem 1.2rem #402a1914;animation:review-reveal-up .23s .12s ease-out both}.review-completion-ring svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg)}.review-completion-ring-track,.review-completion-ring-value{fill:none;stroke-width:8}.review-completion-ring-track{stroke:#e2cfade6}.review-completion-ring-value{stroke:var(--primary);stroke-linecap:round;animation:review-ring-draw .76s .22s ease-out both}.review-completion-ring-label{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:3.2rem;text-align:center;line-height:1}.review-completion-ring-label span{color:var(--foreground);font-size:1rem;font-weight:900;letter-spacing:0}.review-completion-ring-label small{margin-top:.1rem;color:var(--muted-foreground);font-size:.46rem;font-weight:800;line-height:1.05;text-transform:uppercase;letter-spacing:.02em;overflow-wrap:anywhere;white-space:normal}.review-completion-badge{animation:review-reveal-up .21s .15s ease-out both}.review-completion-title{max-width:38rem;margin-right:auto;margin-left:auto;color:var(--foreground);font-family:var(--font-book);font-size:2.45rem;font-weight:800;line-height:.98;letter-spacing:0}.review-completion-description{max-width:34rem;margin-right:auto;margin-left:auto;font-size:.95rem;line-height:1.45}.review-completion-stat,.review-completion-extra-stat{padding:.72rem .8rem;border-radius:.85rem}.review-completion-stat>div:first-child,.review-completion-extra-stat>div:first-child{margin-bottom:.12rem;font-size:1.45rem;line-height:1.1}.review-completion-stat>div:last-child,.review-completion-extra-stat>div:last-child{font-size:.82rem;line-height:1.2}.review-completion-extra-stat{animation:review-reveal-up .21s ease-out both}.review-completion-extra-stat:nth-child(2){animation-delay:55ms}.review-completion-extra-stat:nth-child(3){animation-delay:.11s}.review-completion-extra-stat:nth-child(4){animation-delay:165ms}.review-completion-next-step{animation:review-reveal-up .21s 80ms ease-out both}.review-completion-actions{animation:review-reveal-up .22s .12s ease-out both}.review-completion-action-button{transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.review-completion-action-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 .55rem 1.15rem #402a191f}.review-completion-action-pending{cursor:wait;opacity:.82}:root[data-theme=dark] .review-result-feedback{background:#252320eb}:root[data-theme=dark] .review-result-feedback-correct{background:linear-gradient(180deg,#374e2d61,#252320eb)}:root[data-theme=dark] .review-result-feedback-wrong{background:linear-gradient(180deg,#5c2d2b61,#252320eb)}:root[data-theme=dark] .review-completion-ring{background:#252320e6}@media (min-width: 768px){.review-completion-title{font-size:3.15rem}}.review-stage-area{position:relative}.review-stage-area-advancing .review-stage-motion{pointer-events:none;opacity:.66;filter:saturate(.92);transition:opacity .14s ease,filter .14s ease}.review-pacing-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center;padding:1rem;pointer-events:none}.review-pacing-pill{position:relative;display:inline-flex;align-items:center;gap:.55rem;overflow:hidden;border:1px solid rgba(150,119,84,.28);border-radius:9999px;background:#fffaefeb;padding:.62rem .9rem;color:var(--foreground);font-size:.82rem;font-weight:850;box-shadow:0 .65rem 1.5rem #402a191f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.review-pacing-pill:before{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.46),transparent);background-size:180% 100%;content:"";animation:review-pacing-shimmer 1.05s ease-in-out infinite;pointer-events:none}.review-pacing-pill>*{position:relative;z-index:1}.review-pacing-dots{display:inline-flex;align-items:center;gap:.18rem}.review-pacing-dots span{display:block;width:.33rem;height:.33rem;border-radius:9999px;background:var(--primary);animation:review-pacing-dots .82s ease-in-out infinite}.review-pacing-dots span:nth-child(2){animation-delay:.1s}.review-pacing-dots span:nth-child(3){animation-delay:.2s}.review-primary-button-ready:not(:disabled){animation:review-ready-breathe 1.35s ease-in-out infinite}.review-drop-zone-meta{margin-top:.45rem;text-align:center;color:var(--muted-foreground);font-size:.74rem;font-weight:750;line-height:1.3}.review-drop-zone[data-filled=true]+.review-drop-zone-meta{color:var(--primary)}.review-drop-zone[data-filled=true]{transform:translateY(-1px)}.review-exit-button:disabled{cursor:wait;opacity:.55}:root[data-theme=dark] .review-pacing-pill{background:#252320eb;box-shadow:0 .65rem 1.5rem #00000047}:root[data-theme=dark] .review-pacing-pill:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent)}.review-hinted-fill-panel{display:flex;width:100%;flex-direction:column;align-items:center;gap:.95rem}.review-hinted-pattern{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.36rem;width:100%;max-width:42rem;border:1px solid rgba(150,119,84,.42);border-radius:.85rem;background:#fffaef94;padding:1rem 1.1rem}.review-hinted-slot,.review-hinted-literal{display:inline-flex;min-width:1.35rem;height:2rem;align-items:center;justify-content:center;color:var(--muted-foreground);font-size:1.28rem;font-weight:900;line-height:1}.review-hinted-slot{border-bottom:.18rem solid rgba(120,120,120,.52)}.review-hinted-slot-revealed{border-bottom-color:#e89626eb;color:#e89626fa}.review-hinted-space{display:inline-flex;width:1.05rem;height:2rem}.review-hinted-pattern-correct{border-color:#647f4fb8;background:var(--success-soft)}.review-hinted-pattern-wrong{border-color:#c64545b8;background:var(--destructive-soft)}.review-input-mode-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid rgba(150,119,84,.42);border-radius:9999px;background:#fffaefb8;padding:.52rem .9rem;color:var(--muted-foreground);font-size:.88rem;font-weight:850;box-shadow:0 .18rem #78787826}.review-input-mode-toggle:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.review-input-mode-toggle:disabled{cursor:default;opacity:.62}.review-hinted-bank-panel{width:100%;margin-top:.1rem}.review-step-frame-hinted-fill .review-hinted-fill-panel{margin-top:.2rem}:root[data-theme=dark] .review-hinted-pattern,:root[data-theme=dark] .review-input-mode-toggle{background:#27231fb8}:root[data-theme=dark] .review-hinted-slot{border-bottom-color:#e6e0d657}:root[data-theme=dark] .review-hinted-slot-revealed{border-bottom-color:#f4ae49f5;color:#f4ae49fa}.review-match-pairs-builder{margin-top:1rem;width:100%}.review-match-pairs-progress{margin-bottom:.75rem;color:var(--muted-foreground);font-size:.92rem;font-weight:800;text-align:center}.review-match-pairs-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.85rem}.review-match-pairs-column{display:flex;min-width:0;flex-direction:column;gap:.55rem}.review-match-pairs-column-title{color:var(--muted-foreground);font-size:.86rem;font-weight:900;letter-spacing:.02em;text-align:center;text-transform:uppercase}.review-match-pair-tile{display:flex;min-height:4.2rem;width:100%;align-items:center;justify-content:space-between;gap:.6rem;border:1px solid rgba(150,119,84,.42);border-radius:.85rem;background:#fffaefb3;padding:.82rem .95rem;color:var(--foreground);text-align:left;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.review-match-pair-tile:hover:not(:disabled){border-color:#2f776f8f;background:#effbf8b8;transform:translateY(-1px)}.review-match-pair-main{min-width:0;flex:1;overflow-wrap:anywhere;font-size:1.05rem;font-weight:850;line-height:1.18}.review-match-pair-sub{color:var(--muted-foreground);font-size:.78rem;font-weight:800;line-height:1.1;white-space:nowrap}.review-match-pair-selected{border-color:#e89626c7;background:#fff4daeb;box-shadow:0 0 0 3px #e8962624}.review-match-pair-matched{border-color:#2f776f75;background:#e8f7f3cc;color:#245c56}.review-match-pair-correct{border-color:#5989479e;background:var(--success-soft);color:var(--success)}.review-match-pair-wrong{border-color:#c645458f;background:var(--destructive-soft);color:var(--destructive)}.review-match-pair-muted{opacity:.56}.review-match-pairs-hint{margin-top:.75rem;color:var(--muted-foreground);font-size:.9rem;font-weight:750;text-align:center}:root[data-theme=dark] .review-match-pair-tile{border-color:#9f825f61;background:#252320c7}:root[data-theme=dark] .review-match-pair-selected{background:#563c1ac7}:root[data-theme=dark] .review-match-pair-matched{background:#1f524cb3;color:#d9f4ef}@media (max-width: 720px){.review-match-pairs-columns{grid-template-columns:1fr}.review-match-pair-tile{min-height:3.7rem}}.review-segmented-input{position:relative;display:flex;width:100%;max-width:42rem;min-height:4.65rem;align-items:center;justify-content:center;border:1px solid rgba(150,119,84,.42);border-radius:.95rem;background:#fffaef94;padding:1rem 1.1rem;cursor:text}.review-segmented-input:focus-within{border-color:#e89626db;box-shadow:0 0 0 3px #e8962621}.review-segmented-hidden-input{position:absolute;left:50%;top:50%;width:1px;height:1px;border:0;padding:0;opacity:0;pointer-events:none}.review-segmented-input-compact{width:-moz-fit-content;width:fit-content;min-width:min(100%,18rem);max-width:min(100%,32rem);margin-left:auto;margin-right:auto;padding-inline:clamp(1.2rem,4vw,2.4rem)}.review-segmented-slots{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.38rem;width:100%}.review-segmented-slot,.review-segmented-literal{display:inline-flex;min-width:1.45rem;height:2.15rem;align-items:center;justify-content:center;color:var(--foreground);font-size:1.32rem;font-weight:950;line-height:1}.review-segmented-slot{border:0;border-bottom:.18rem solid rgba(120,120,120,.52);border-radius:0;background:transparent;padding:0 .06rem .12rem;color:var(--foreground)}.review-segmented-slot:disabled{cursor:default}.review-segmented-slot-hinted{border-bottom-color:#e89626bd}.review-segmented-slot-placeholder{color:#7e74685c;font-weight:760}.review-segmented-slot-filled{color:var(--foreground)}.review-segmented-slot-active:not(:disabled){border-bottom-color:#e89626;color:var(--foreground)}.review-segmented-slot-placeholder.review-segmented-slot-active:not(:disabled){color:#7e74685c}.review-segmented-slot-active:not(:disabled):after{content:"";position:absolute}.review-segmented-slot-active:not(:disabled){box-shadow:0 .38rem 0 -.24rem #e89626f2}.review-segmented-space{display:inline-flex;width:1.2rem;height:2.15rem}.review-segmented-literal{color:var(--muted-foreground)}.review-segmented-input-correct{border-color:#647f4fb8;background:var(--success-soft)}.review-segmented-input-wrong{border-color:#c64545b8;background:var(--destructive-soft)}:root[data-theme=dark] .review-segmented-input{background:#27231fb8}:root[data-theme=dark] .review-segmented-slot{border-bottom-color:#e6e0d657}:root[data-theme=dark] .review-segmented-slot-hinted,:root[data-theme=dark] .review-segmented-slot-active:not(:disabled){border-bottom-color:#f4ae49e6}:root[data-theme=dark] .review-segmented-slot-placeholder{color:#e6e0d657}:root[data-theme=dark] .review-segmented-slot-placeholder.review-segmented-slot-active:not(:disabled){color:#e6e0d657}:root[data-theme=dark] .review-segmented-slot-filled{color:var(--foreground)}.review-dialogue-response-prompt{margin:0 auto 1.15rem;max-width:46rem;border:1px solid rgba(150,119,84,.26);border-radius:1rem;background:#fffaef85;padding:1rem;text-align:left}.review-dialogue-response-situation{margin-bottom:.75rem;text-align:center;font-size:.95rem;font-weight:700;color:hsl(var(--muted-foreground))}.review-dialogue-response-lines{display:grid;gap:.65rem}.review-dialogue-response-line{display:grid;grid-template-columns:2.4rem minmax(0,1fr);align-items:center;gap:.75rem;border:1px solid rgba(150,119,84,.22);border-radius:.8rem;background:#ffffff6b;padding:.8rem .95rem;color:hsl(var(--foreground));font-size:1.05rem;font-weight:750}.review-dialogue-response-speaker{display:inline-flex;height:2rem;width:2rem;align-items:center;justify-content:center;border-radius:999px;background:#c05f481f;color:var(--lesson-accent, #c05f48);font-size:.78rem;font-weight:900;text-transform:uppercase}.review-dialogue-response-line-blank{border-color:#6bc5bb85;background:#e0f4ef85}.review-dialogue-response-line-blank .review-dialogue-response-text{color:hsl(var(--muted-foreground));letter-spacing:.16em}:root[data-theme=dark] .review-dialogue-response-prompt,:root[data-theme=dark] .review-dialogue-response-line{background:#252320c7}:root[data-theme=dark] .review-dialogue-response-line-blank{background:#275b5661}.dashboard-book-wrap{width:100%;max-width:67.5rem;margin:0 auto}.dashboard-book-grid{display:grid;grid-template-columns:minmax(0,1fr) 20.75rem;gap:3.375rem;align-items:start}.dashboard-book-main{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-width:0;gap:1.5rem;border:1px solid var(--border);border-radius:.5rem .1875rem .1875rem .5rem;background:color-mix(in srgb,var(--card) 84%,var(--background));padding:2.5rem 2.875rem;box-shadow:0 1px 2px #5a44230d}.dashboard-book-main:before{position:absolute;left:-.375rem;top:.875rem;bottom:.875rem;width:.375rem;border-radius:.1875rem 0 0 .1875rem;background:color-mix(in srgb,var(--secondary) 78%,var(--background));box-shadow:-.1875rem 0 color-mix(in srgb,var(--secondary) 72%,var(--background));content:""}.dashboard-book-main:after{position:absolute;right:0;top:0;bottom:0;width:1.375rem;border-radius:0 .1875rem .1875rem 0;background:linear-gradient(270deg,rgba(120,95,55,.06),transparent);content:"";pointer-events:none}.dashboard-book-meta{position:absolute;z-index:2;top:1.125rem;right:1.875rem;display:flex;gap:.5rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.75rem;font-weight:800}.dashboard-book-meta span{display:inline-flex;align-items:center;gap:.375rem;border:1px solid var(--border);border-radius:999px;background:var(--background);padding:.25rem .625rem}.dashboard-book-ico{width:1.0625rem;height:1.0625rem;flex:none;stroke-width:1.7}.dashboard-book-ico-sm{width:.875rem;height:.875rem}.dashboard-book-meta svg,.dashboard-chap,.dashboard-word-pos,.dashboard-primary-btn svg{color:var(--primary)}.dashboard-hero{grid-column:1 / -1;display:flex;align-items:stretch;justify-content:space-between;gap:1.875rem;border:1px solid var(--border);border-radius:.75rem;background:color-mix(in srgb,var(--background) 64%,var(--card));padding:1.5rem}.dashboard-hero-copy{min-width:0}.dashboard-chap{margin-bottom:.5rem;font-family:var(--font-ui);font-size:.6875rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.dashboard-hero h1{max-width:34rem;font-family:var(--font-book);font-size:2rem;font-style:italic;font-weight:700;line-height:1.25;letter-spacing:.01em}.dashboard-hero p{max-width:46ch;margin-top:.625rem;color:var(--muted-foreground);font-size:.9375rem;line-height:1.6}.dashboard-actions{display:flex;align-items:center;gap:1.25rem;margin-top:1.375rem}.dashboard-primary-btn{min-height:2.75rem;gap:.5rem!important;border:none;border-radius:.625rem;padding-left:1.375rem;padding-right:1.375rem;font-size:.875rem;font-weight:750}.dashboard-primary-btn svg{color:currentColor}.dashboard-goal{display:grid;min-width:11.5rem;flex:none;align-content:center;border:1px solid var(--border);border-radius:.625rem;background:var(--card);padding:1rem;text-align:left}.dashboard-goal-num{color:var(--foreground);font-family:var(--font-book);font-size:2.25rem;font-style:italic;font-weight:700;letter-spacing:-.01em;line-height:1}.dashboard-goal-num b{color:var(--primary);font-weight:700}.dashboard-goal-label{margin-top:.375rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.6875rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.dashboard-goal-helper{margin-top:.35rem;color:var(--foreground);font-size:.78rem;font-weight:650;line-height:1.35}.dashboard-goal-track{width:100%;height:.25rem;margin-top:.75rem;overflow:hidden;border-radius:999px;background:var(--border)}.dashboard-goal-track>i,.dashboard-lesson-track>i{display:block;height:100%;border-radius:inherit;background:var(--primary)}.dashboard-eyebrow{display:flex;align-items:center;gap:.625rem;margin-bottom:.75rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.6875rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.dashboard-eyebrow:after{height:1px;flex:1;background:var(--border);content:""}.dashboard-lesson-card{display:flex;width:100%;align-items:center;gap:1.125rem;border:1px solid color-mix(in srgb,var(--primary) 20%,var(--border));border-radius:.625rem;background:color-mix(in srgb,var(--primary) 4%,var(--card));padding:1rem 1.125rem;color:inherit;text-align:left;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.dashboard-lesson-card:hover{border-color:var(--border-strong);background:color-mix(in srgb,var(--card) 72%,var(--secondary));transform:translateY(-1px)}.dashboard-lesson-mark{display:grid;width:2.125rem;height:2.125rem;flex:none;place-items:center;border-radius:.625rem;background:var(--primary-soft);color:var(--primary)}.dashboard-lesson-body{min-width:0;flex:1}.dashboard-lesson-title,.dashboard-lesson-meta{display:block}.dashboard-lesson-title{overflow:hidden;color:var(--foreground);font-family:var(--font-book);font-size:1.0625rem;font-weight:700;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.dashboard-lesson-meta{margin-top:.125rem;overflow:hidden;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.75rem;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.dashboard-lesson-track{display:block;height:.25rem;margin-top:.6875rem;overflow:hidden;border-radius:999px;background:var(--border)}.dashboard-chev{color:var(--muted-foreground)}.dashboard-word-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem}.dashboard-bookmark-section,.dashboard-word-section{min-width:0}.dashboard-word-section{border:1px solid var(--border);border-radius:.75rem;background:var(--background);padding:1.125rem}.dashboard-word-text{color:var(--foreground);font-family:var(--font-book);font-size:1.5rem;font-weight:700;letter-spacing:-.01em;line-height:1.2}.dashboard-word-ipa{color:var(--muted-foreground);font-family:var(--font-book);font-size:1rem;font-style:italic}.dashboard-word-pos{font-family:var(--font-ui);font-size:.75rem;font-weight:700}.dashboard-word-def{margin-top:.4375rem;color:var(--muted-foreground);font-size:.9375rem;line-height:1.6}.dashboard-word-example{margin-top:.75rem;border-left:2px solid var(--border-strong);padding-left:.875rem;color:var(--muted-foreground);font-family:var(--font-book);font-size:1rem;font-style:italic;line-height:1.55}.dashboard-quote p{border-top:1px solid var(--border);padding-top:1rem;color:var(--foreground);font-family:var(--font-book);font-size:1.1875rem;font-style:italic;line-height:1.55}.dashboard-quote span{display:block;margin-top:.625rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.78125rem;letter-spacing:.02em}.dashboard-quote-section{grid-column:1 / -1}.dashboard-notebook{position:relative;border:1px solid var(--border-strong);border-radius:.1875rem .5rem .5rem .1875rem;background:color-mix(in srgb,var(--card) 88%,var(--background));padding:2.375rem 1.625rem 1.875rem 2.875rem;box-shadow:0 1px 2px #5a44230d}.dashboard-notebook:before{position:absolute;left:2rem;top:0;bottom:0;width:1px;background:color-mix(in srgb,var(--primary) 32%,transparent);content:""}.dashboard-spiral{position:absolute;left:-.375rem;top:1.625rem;bottom:1.625rem;display:flex;flex-direction:column;justify-content:space-between}.dashboard-spiral span{width:.6875rem;height:.6875rem;border:1px solid var(--border-strong);border-radius:999px;background:var(--background)}.dashboard-lb-top{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.875rem}.dashboard-lb-top h2{font-family:var(--font-book);font-size:1.375rem;font-style:italic;font-weight:700;line-height:1.35}.dashboard-lb-tabs{display:flex;gap:.25rem;margin:0 0 .75rem;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--card) 78%,var(--background));padding:.25rem}.dashboard-lb-tabs button{flex:1;border:none;border-radius:999px;background:transparent;padding:.45rem .75rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.8125rem;font-weight:750;line-height:1.4}.dashboard-lb-tabs button.active{background:var(--primary);color:var(--primary-foreground)}.dashboard-lb-tabs button.\!active{background:var(--primary)!important;color:var(--primary-foreground)!important}.dashboard-lb-tabs button:disabled{cursor:default}.dashboard-countdown{display:flex;align-items:center;gap:.4375rem;margin:0 0 .875rem;border:1px solid var(--border);border-radius:999px;background:var(--background);color:var(--muted-foreground);font-family:var(--font-ui);font-size:.75rem;font-weight:650;line-height:1.5;padding:.375rem .625rem}.dashboard-lb-list{display:grid;gap:.5rem;margin-top:0}.dashboard-lb-row{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;min-height:3rem;align-items:center;gap:.625rem;border:1px solid transparent;border-radius:.625rem;padding:.5rem .625rem}.dashboard-lb-row.me{border-color:color-mix(in srgb,var(--primary) 24%,var(--border));background:color-mix(in srgb,var(--primary) 9%,var(--card))}.dashboard-lb-row.me .dashboard-lb-name,.dashboard-lb-row.me .dashboard-lb-points,.dashboard-lb-row.me .dashboard-lb-rank{color:var(--primary)}.dashboard-lb-rank{display:flex;width:1.625rem;height:1.625rem;flex:none;align-items:center;justify-content:center;border-radius:999px;background:var(--secondary);color:var(--muted-foreground);font-family:var(--font-ui);font-size:.75rem;font-weight:800;line-height:1}.dashboard-lb-row.top .dashboard-lb-rank{color:#fff;box-shadow:0 1px 2px #5a44232e}.dashboard-lb-rank.g1{background:#c79a3b}.dashboard-lb-rank.g2{background:#aeb4ba}.dashboard-lb-rank.g3{background:#bd8a5e}.dashboard-lb-avatar{display:flex;width:1.875rem;height:1.875rem;flex:none;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:999px;background:var(--secondary);color:var(--muted-foreground);font-family:var(--font-ui);font-size:.6875rem;font-weight:800}.dashboard-lb-row.me .dashboard-lb-avatar{border-color:color-mix(in srgb,var(--primary) 44%,var(--border));background:var(--primary-soft);color:var(--primary)}.dashboard-lb-name{min-width:0;color:var(--foreground);font-family:var(--font-ui);font-size:.875rem;font-weight:800;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-lb-name small{display:block;margin-top:.125rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.6875rem;font-weight:500}.dashboard-lb-dots{display:none}.dashboard-lb-points{flex:none;color:var(--foreground);font-family:var(--font-book);font-size:1rem;font-style:italic;font-weight:700;line-height:1}.dashboard-lb-empty{display:grid;min-height:5.25rem;align-content:center;gap:.25rem;border-bottom:1px solid color-mix(in srgb,var(--info) 20%,var(--border));color:var(--muted-foreground);font-size:.875rem;line-height:1.45}.dashboard-lb-empty strong{color:var(--foreground);font-weight:700}.dashboard-lb-promo{display:flex;min-height:2rem;align-items:center;justify-content:center;border:1px dashed var(--border);border-radius:.625rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.65625rem;font-weight:750;letter-spacing:.08em;line-height:1;text-align:center;text-transform:uppercase}.dashboard-lb-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.875rem;border-top:1px solid var(--border);color:var(--muted-foreground);font-family:var(--font-ui);font-size:.8125rem;line-height:1.5;padding-top:.875rem}.dashboard-lb-foot a{flex:none;border:1px solid var(--border);border-radius:999px;color:var(--primary);font-weight:750;padding:.25rem .625rem;text-decoration:none}.dashboard-achievements{margin-top:2.5rem}.dashboard-badge-list{display:grid;gap:.625rem}.dashboard-badge-row{display:grid;gap:.5rem;border:1px solid var(--border);border-radius:.625rem;background:var(--background);padding:.75rem}.dashboard-badge-copy{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.dashboard-badge-name{color:var(--foreground);font-family:var(--font-ui);font-size:.8125rem;font-weight:800;line-height:1.25}.dashboard-badge-name.locked{color:var(--muted-foreground)}.dashboard-badge-name.\!locked{color:var(--muted-foreground)!important}.dashboard-badge-status{flex:none;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.75rem;line-height:1.3}.dashboard-badge-status.done{color:var(--primary);font-weight:750}.dashboard-badge-status.\!done{color:var(--primary)!important;font-weight:750!important}.dashboard-badge-track{height:.3125rem;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--border) 54%,transparent)}.dashboard-badge-track>i{display:block;height:100%;border-radius:inherit;background:var(--primary)}:root[data-theme=dark] .dashboard-book-main,:root[data-theme=dark] .dashboard-notebook,:root[data-theme=dark] .dashboard-lesson-card{background:color-mix(in srgb,var(--card) 88%,var(--background))}:root[data-theme=dark] .dashboard-book-main:before{background:color-mix(in srgb,var(--secondary) 70%,var(--background));box-shadow:-.1875rem 0 color-mix(in srgb,var(--secondary) 55%,var(--background))}:root[data-theme=dark] .dashboard-spiral span{background:var(--background)}:root[data-theme=dark] .dashboard-lb-rank.g1,:root[data-theme=dark] .dashboard-lb-rank.g2,:root[data-theme=dark] .dashboard-lb-rank.g3{color:#181715}@media (max-width: 1080px){.dashboard-book-grid{grid-template-columns:minmax(0,1fr);gap:2.5rem}.dashboard-notebook{margin-top:.5rem}}@media (max-width: 720px){.dashboard-book-main{grid-template-columns:minmax(0,1fr);gap:1.25rem;padding:2.25rem 1.25rem 1.5rem}.dashboard-book-meta{top:1rem;right:1.25rem}.dashboard-hero{align-items:flex-start;flex-direction:column;gap:1.5rem}.dashboard-goal{width:100%;text-align:left}.dashboard-goal-track{width:100%}.dashboard-hero h1{padding-right:0;font-size:1.65rem}.dashboard-primary-btn{width:100%}.dashboard-notebook{padding:2rem 1rem 1.5rem 2.5rem}.dashboard-lb-name small{display:block;margin-top:.1875rem}.dashboard-lb-dots{display:none}}@media (max-width: 460px){.dashboard-book-wrap{margin-left:-.25rem;margin-right:-.25rem;width:calc(100% + .5rem)}.dashboard-book-main:before,.dashboard-book-main:after{display:none}.dashboard-book-main,.dashboard-notebook{border-radius:.5rem}.dashboard-hero h1{padding-right:0;font-size:1.5rem}.dashboard-word-text{font-size:1.5rem}.dashboard-lesson-card{gap:.875rem;padding:1rem}}.dictionary-book-wrap{position:relative;width:100%;max-width:47.5rem;margin:0 auto}.dictionary-head{margin-bottom:1.875rem}.dictionary-kicker{margin-bottom:.5rem;color:var(--primary);font-family:var(--font-ui);font-size:.6875rem;font-weight:800;letter-spacing:.22em;line-height:1.2;text-transform:uppercase}.dictionary-head h1{display:flex;align-items:center;gap:.75rem;color:var(--foreground);font-family:var(--font-book);font-size:clamp(2.125rem,6vw,2.625rem);font-weight:700;letter-spacing:-.01em;line-height:1.05}.dictionary-title-icon{width:1.875rem;height:1.875rem;flex:none;color:var(--primary);stroke-width:1.6}.dictionary-head p{max-width:42rem;margin-top:.5rem;color:var(--muted-foreground);font-size:.96875rem;line-height:1.55}.dictionary-search{display:flex;gap:.75rem;margin-bottom:.875rem}.dictionary-search-btn{display:inline-flex;min-height:3.125rem;flex:none;align-items:center;justify-content:center;gap:.5rem;border:0;border-radius:.625rem;background:var(--primary);color:var(--primary-foreground);font-family:var(--font-ui);font-size:.875rem;font-weight:750;line-height:1;padding:0 1.375rem;box-shadow:0 1px 2px #5a44231f;transition:background-color .16s ease,transform .16s ease,opacity .16s ease}.dictionary-search-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.dictionary-search-btn:disabled{opacity:.58}.dictionary-search-btn svg{width:1rem;height:1rem;stroke-width:1.8}.dictionary-hint{margin-bottom:1.5rem;padding-left:.125rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.78125rem;line-height:1.5}.dictionary-entry-stack{display:flex;flex-direction:column;gap:1rem}.dictionary-entry,.dictionary-empty-leaf{position:relative;border:1px solid var(--border);border-radius:.625rem .25rem .25rem .625rem;background:var(--card);box-shadow:0 1px 2px #5a44230d}.dictionary-entry{padding:2rem 2.25rem}.dictionary-empty-leaf{overflow:hidden;padding:.25rem}.dictionary-entry:before,.dictionary-empty-leaf:before{position:absolute;left:-.375rem;top:.875rem;bottom:.875rem;width:.375rem;border-radius:.1875rem 0 0 .1875rem;background:color-mix(in srgb,var(--secondary) 78%,var(--background));box-shadow:-.1875rem 0 color-mix(in srgb,var(--secondary) 72%,var(--background));content:""}.dictionary-empty-leaf .ui-card{border:0;background:transparent;background-image:none;box-shadow:none}.dictionary-entry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem}.dictionary-entry-main{min-width:0;flex:1}.dictionary-lemma{display:flex;flex-wrap:wrap;align-items:center;gap:.6875rem}.dictionary-word{color:var(--foreground);font-family:var(--font-book);font-size:2rem;font-weight:700;letter-spacing:-.01em;line-height:1.08}.dictionary-audio{display:inline-flex;width:1.875rem;height:1.875rem;flex:none;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:999px;background:var(--background);color:var(--primary);transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.dictionary-audio:hover{border-color:var(--primary);background:var(--primary-soft);transform:translateY(-1px)}.dictionary-audio svg{width:.9375rem;height:.9375rem;stroke-width:1.7}.dictionary-category-pill{border-radius:999px;background:color-mix(in srgb,var(--warning) 10%,transparent);color:var(--warning);font-family:var(--font-ui);font-size:.75rem;font-weight:650;line-height:1.2;padding:.25rem .6875rem}.dictionary-grammar{display:flex;flex-wrap:wrap;align-items:center;gap:.625rem;margin-top:.375rem;color:var(--muted-foreground)}.dictionary-ipa{font-family:var(--font-book);font-size:1rem;font-style:italic}.dictionary-pos{font-family:var(--font-ui);font-size:.8125rem;line-height:1.4}.dictionary-level{border:1px solid color-mix(in srgb,var(--primary) 42%,transparent);border-radius:.3125rem;color:var(--primary);font-family:var(--font-ui);font-size:.6875rem;font-weight:800;line-height:1.2;padding:.0625rem .4375rem}.dictionary-sense{margin-top:1.125rem}.dictionary-definition{color:var(--foreground);font-family:var(--font-book);font-size:1.125rem;font-weight:500;line-height:1.5}.dictionary-example{margin-top:.625rem;border-left:2px solid var(--border-strong);padding-left:.875rem;color:var(--muted-foreground);font-family:var(--font-book);font-size:.96875rem;font-style:italic;line-height:1.55}.dictionary-actions{display:flex;width:13rem;flex:none;flex-direction:column;gap:.625rem}.dictionary-save{display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center;gap:.5rem;border:0;border-radius:.5625rem;background:var(--primary);color:var(--primary-foreground);font-family:var(--font-ui);font-size:.84375rem;font-weight:750;line-height:1;padding:.6875rem;box-shadow:0 1px 2px #5a44231f;transition:background-color .16s ease,transform .16s ease,opacity .16s ease}.dictionary-save:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.dictionary-save:disabled{opacity:.54}.dictionary-save svg{width:.9375rem;height:.9375rem;stroke-width:1.7}:root[data-theme=dark] .dictionary-field,:root[data-theme=dark] .dictionary-entry,:root[data-theme=dark] .dictionary-empty-leaf{background:color-mix(in srgb,var(--card) 90%,var(--background))}:root[data-theme=dark] .dictionary-entry:before,:root[data-theme=dark] .dictionary-empty-leaf:before{background:color-mix(in srgb,var(--secondary) 70%,var(--background));box-shadow:-.1875rem 0 color-mix(in srgb,var(--secondary) 55%,var(--background))}:root[data-theme=dark] .dictionary-audio,:root[data-theme=dark] .dictionary-select select{background:var(--surface)}@media (max-width: 720px){.dictionary-search,.dictionary-entry-head{flex-direction:column}.dictionary-search-btn,.dictionary-actions{width:100%}.dictionary-actions{flex-direction:row}.dictionary-select{flex:1;min-width:0}.dictionary-save{flex:1}}@media (max-width: 520px){.dictionary-book-wrap{margin-left:-.25rem;margin-right:-.25rem;width:calc(100% + .5rem)}.dictionary-entry{padding:1.5rem 1.25rem}.dictionary-empty-leaf,.dictionary-entry{border-radius:.625rem}.dictionary-empty-leaf:before,.dictionary-entry:before{display:none}.dictionary-actions{flex-direction:column}.dictionary-word{font-size:1.75rem}}.category-book-wrap{width:100%;max-width:58.75rem;margin:0 auto}.category-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.75rem}.category-head h1{color:var(--foreground);font-family:var(--font-book);font-size:clamp(2.125rem,6vw,2.625rem);font-weight:700;letter-spacing:-.01em;line-height:1.05}.category-head p{max-width:36rem;margin-top:.375rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.8125rem;line-height:1.5}.category-add-btn{display:inline-flex;min-height:2.75rem;flex:none;align-items:center;justify-content:center;gap:.5rem;border:0;border-radius:.625rem;background:var(--primary);color:var(--primary-foreground);font-family:var(--font-ui);font-size:.875rem;font-weight:750;line-height:1;padding:.6875rem 1.25rem;box-shadow:0 1px 2px #5a44231f;transition:background-color .16s ease,transform .16s ease}.category-add-btn:hover{background:var(--primary-hover);transform:translateY(-1px)}.category-add-btn svg{width:1rem;height:1rem;stroke-width:1.9}.category-form-panel,.category-notebook{border:1px solid var(--border-strong);border-radius:.625rem;background:color-mix(in srgb,var(--card) 88%,var(--background));box-shadow:0 1px 2px #5a44230d}.category-form-panel{margin-bottom:1.25rem;padding:1.25rem}.category-form-panel h3{margin-bottom:1rem;color:var(--foreground);font-family:var(--font-book);font-size:1.25rem;font-weight:700;line-height:1.2}.category-form{display:grid;gap:1rem}.category-color-field label{display:block;margin-bottom:.5rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.category-color-grid{display:flex;flex-wrap:wrap;gap:.625rem}.category-color-swatch{width:2.5rem;height:2.5rem;border:2px solid color-mix(in srgb,var(--background) 85%,transparent);border-radius:.75rem;box-shadow:0 1px 2px #5a44231f;transition:box-shadow .16s ease,transform .16s ease}.category-color-swatch:hover{transform:translateY(-1px)}.category-color-swatch.active{box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--primary),0 1px 2px #5a44231f}.category-color-swatch.\!active{box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--primary),0 1px 2px #5a44231f!important}.category-form-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem}.category-notebook{position:relative;overflow:visible;padding:1rem 1rem 1rem 3.5rem;border-radius:.25rem .625rem .625rem .25rem}.category-notebook:before{position:absolute;left:2.625rem;top:0;bottom:0;width:1px;background:color-mix(in srgb,var(--primary) 30%,transparent);content:""}.category-notebook-empty{padding:1.25rem 1.25rem 1.25rem 3.5rem}.category-notebook-empty .ui-card{border:0;background:transparent;background-image:none;box-shadow:none}.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem}.category-spiral{position:absolute;left:-.375rem;top:1.625rem;bottom:1.625rem;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.category-spiral span{width:.6875rem;height:.6875rem;border:1px solid var(--border-strong);border-radius:999px;background:var(--background)}.category-card{display:flex;align-items:flex-start;justify-content:space-between;gap:.875rem;border:1px solid color-mix(in srgb,var(--primary) 16%,var(--border));border-radius:.75rem;background:var(--card);padding:1rem;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.category-card:hover{border-color:color-mix(in srgb,var(--primary) 32%,var(--border));box-shadow:0 8px 18px #5a44230f;transform:translateY(-1px)}.category-card-main{display:flex;min-width:0;flex:1;align-items:flex-start;gap:.875rem;border:0;background:transparent;color:inherit;padding:0;text-align:left}.category-color-mark{width:2.75rem;height:2.75rem;flex:none;border:1px solid color-mix(in srgb,var(--background) 72%,transparent);border-radius:.75rem;box-shadow:inset 0 0 0 1px #ffffff38}.category-card-copy{min-width:0}.category-card-copy h3{color:var(--foreground);font-family:var(--font-book);font-size:1.0625rem;font-weight:700;line-height:1.2;overflow-wrap:anywhere}.category-card-copy p{margin-top:.25rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.78125rem;line-height:1.45}.category-card-actions{display:flex;flex:none;gap:.375rem}:root[data-theme=dark] .category-form-panel,:root[data-theme=dark] .category-notebook,:root[data-theme=dark] .category-card{background:color-mix(in srgb,var(--card) 90%,var(--background))}:root[data-theme=dark] .category-spiral span{background:var(--surface)}@media (max-width: 720px){.category-head{align-items:flex-start;flex-direction:column}.category-add-btn,.category-form-actions{width:100%}.category-form-actions,.category-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 520px){.category-book-wrap{margin-left:-.25rem;margin-right:-.25rem;width:calc(100% + .5rem)}.category-card{flex-direction:column}.category-card-actions{align-self:flex-end}.category-notebook,.category-notebook-empty{border-radius:.625rem;padding-left:1rem}.category-notebook:before,.category-spiral{display:none}}.vocabulary-book-wrap{position:relative;width:100%;max-width:58.75rem;margin:0 auto}.vocabulary-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.75rem}.vocabulary-head h1{color:var(--foreground);font-family:var(--font-book);font-size:clamp(2.125rem,6vw,2.625rem);font-weight:700;letter-spacing:-.01em;line-height:1.05}.vocabulary-count{margin-top:.375rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.8125rem;line-height:1.5}.vocabulary-add-btn{display:inline-flex;min-height:2.75rem;flex:none;align-items:center;justify-content:center;gap:.5rem;border:0;border-radius:.625rem;background:var(--primary);color:var(--primary-foreground);font-family:var(--font-ui);font-size:.875rem;font-weight:750;line-height:1;padding:.6875rem 1.25rem;box-shadow:0 1px 2px #5a44231f;transition:background-color .16s ease,transform .16s ease,opacity .16s ease}.vocabulary-add-btn:hover{background:var(--primary-hover);transform:translateY(-1px)}.vocabulary-add-btn svg{width:1rem;height:1rem;stroke-width:1.9}.vocabulary-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.625rem}.vocabulary-notebook{position:relative;overflow:visible;border:1px solid var(--border-strong);border-radius:.25rem .625rem .625rem .25rem;background:color-mix(in srgb,var(--card) 88%,var(--background));padding:.625rem 1.875rem .625rem 3.5rem;box-shadow:0 1px 2px #5a44230d}.vocabulary-notebook:before{position:absolute;left:2.625rem;top:0;bottom:0;width:1px;background:color-mix(in srgb,var(--primary) 30%,transparent);content:""}.vocabulary-notebook-empty{padding-top:1.25rem;padding-bottom:1.25rem}.vocabulary-notebook-empty .ui-card{border:0;background:transparent;background-image:none;box-shadow:none}.vocabulary-spiral{position:absolute;left:-.375rem;top:1.625rem;bottom:1.625rem;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.vocabulary-spiral span{width:.6875rem;height:.6875rem;border:1px solid var(--border-strong);border-radius:999px;background:var(--background)}.vocabulary-entry{position:relative;border-bottom:1px solid color-mix(in srgb,var(--info) 20%,var(--border))}.vocabulary-entry:last-child{border-bottom:0}.vocabulary-entry summary::-webkit-details-marker{display:none}.vocabulary-entry-summary{display:flex;cursor:pointer;list-style:none;gap:1.5rem;padding:1.25rem 1.875rem 1.25rem 0;transition:color .16s ease,box-shadow .16s ease}.vocabulary-entry-summary:hover{background:transparent;box-shadow:inset 0 1px color-mix(in srgb,var(--primary) 10%,transparent),inset 0 -1px color-mix(in srgb,var(--primary) 10%,transparent)}.vocabulary-entry-body{min-width:0;flex:1}.vocabulary-entry-headline{display:flex;flex-wrap:wrap;align-items:center;gap:.5625rem}.vocabulary-entry-word{color:var(--foreground);font-family:var(--font-book);font-size:1.25rem;font-weight:700;letter-spacing:-.01em;line-height:1.2}.vocabulary-tag{display:inline-flex;align-items:center;border:1px solid var(--border-strong);border-radius:999px;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.71875rem;font-weight:650;line-height:1.2;padding:.1875rem .6875rem;white-space:nowrap}.vocabulary-tag-cat{border-color:transparent;background:color-mix(in srgb,var(--vocabulary-category-color, var(--success)) 15%,transparent);color:color-mix(in srgb,var(--vocabulary-category-color, var(--success)) 82%,var(--foreground))}.vocabulary-tag-due{border-color:transparent;background:var(--primary-soft);color:var(--primary)}.vocabulary-grammar{display:flex;flex-wrap:wrap;align-items:center;gap:.5625rem;margin-top:.3125rem;color:var(--muted-foreground)}.vocabulary-ipa{font-family:var(--font-book);font-size:.90625rem;font-style:italic}.vocabulary-pos{font-family:var(--font-ui);font-size:.78125rem;line-height:1.4}.vocabulary-level{border:1px solid color-mix(in srgb,var(--primary) 42%,transparent);border-radius:.3125rem;color:var(--primary);font-family:var(--font-ui);font-size:.6875rem;font-weight:800;line-height:1.2;padding:.0625rem .375rem}.vocabulary-definition{margin-top:.5625rem;color:var(--foreground);font-family:var(--font-book);font-size:1.03125rem;line-height:1.5}.vocabulary-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.625rem;margin-top:.6875rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.75rem;line-height:1.5}.vocabulary-cap{border:1px solid var(--border-strong);border-radius:999px;background:var(--background);color:var(--muted-foreground);font-weight:650;padding:.125rem .625rem}.vocabulary-entry-side{display:flex;width:11.125rem;flex:none;align-items:flex-start;gap:.875rem;padding-top:.125rem}.vocabulary-accuracy{flex:1}.vocabulary-accuracy-top{display:flex;align-items:baseline;justify-content:space-between;gap:.625rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.71875rem;line-height:1.3}.vocabulary-accuracy-top b{color:var(--foreground);font-size:.8125rem}.vocabulary-accuracy-bar{height:.25rem;overflow:hidden;border-radius:999px;background:var(--border);margin-top:.4375rem}.vocabulary-accuracy-bar>i{display:block;width:var(--vocabulary-accuracy, 0%);height:100%;border-radius:inherit;background:var(--success)}.vocabulary-accuracy-warning .vocabulary-accuracy-bar>i{background:var(--warning)}.vocabulary-accuracy-danger .vocabulary-accuracy-bar>i{background:var(--destructive)}.vocabulary-chev{width:1.125rem;height:1.125rem;flex:none;color:var(--muted-foreground);transition:transform .16s ease,color .16s ease}.vocabulary-entry[open] .vocabulary-chev{color:var(--primary);transform:rotate(180deg)}.vocabulary-entry-details{border-top:1px solid color-mix(in srgb,var(--info) 20%,var(--border));background:color-mix(in srgb,var(--background) 36%,transparent);padding:1rem 1.875rem 1.25rem 0}.vocabulary-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(13.75rem,.35fr);gap:1rem}.vocabulary-detail-main,.vocabulary-detail-actions{display:flex;flex-direction:column;gap:.75rem}.vocabulary-note-card,.vocabulary-review-card,.vocabulary-action-card{border:1px solid var(--border);border-radius:.875rem;background:var(--card);color:var(--foreground);padding:.875rem;box-shadow:0 1px 2px #5a44230a}.vocabulary-note-card.muted{color:var(--muted-foreground)}.vocabulary-note-label,.vocabulary-review-card>span{display:flex;align-items:center;gap:.4375rem;margin-bottom:.5rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.75rem;font-weight:800;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.vocabulary-review-card svg{width:1rem;height:1rem}.vocabulary-note-card p,.vocabulary-action-card p{color:var(--muted-foreground);font-size:.875rem;line-height:1.55}.vocabulary-example{color:var(--foreground)!important;font-family:var(--font-book);font-style:italic}.vocabulary-review-card input{width:100%;min-height:2.5rem;border:1px solid var(--border-strong);border-radius:.625rem;background:var(--background);color:var(--foreground);font-family:var(--font-ui);font-size:.875rem;outline:0;padding:.625rem .75rem;transition:border-color .16s ease,box-shadow .16s ease,opacity .16s ease}.vocabulary-review-card input:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--ring)}.vocabulary-review-card input:disabled{opacity:.55}.vocabulary-action-row{display:flex;flex-wrap:wrap;gap:.5rem}:root[data-theme=dark] .vocabulary-field,:root[data-theme=dark] .vocabulary-select select,:root[data-theme=dark] .vocabulary-notebook,:root[data-theme=dark] .vocabulary-note-card,:root[data-theme=dark] .vocabulary-review-card,:root[data-theme=dark] .vocabulary-action-card{background:color-mix(in srgb,var(--card) 90%,var(--background))}:root[data-theme=dark] .vocabulary-spiral span,:root[data-theme=dark] .vocabulary-cap,:root[data-theme=dark] .vocabulary-review-card input{background:var(--surface)}@media (max-width: 920px){.vocabulary-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(10rem,.5fr)}.vocabulary-field,.vocabulary-select,.vocabulary-select select{width:100%;min-width:0}}@media (max-width: 720px){.vocabulary-head{align-items:flex-start;flex-direction:column}.vocabulary-add-btn{width:100%}.vocabulary-toolbar{grid-template-columns:minmax(0,1fr)}.vocabulary-notebook{padding:.5rem 1rem .5rem 2.5rem}.vocabulary-notebook:before{left:1.875rem}.vocabulary-entry-summary{flex-direction:column;gap:.75rem;padding-right:0}.vocabulary-entry-side{width:100%}.vocabulary-detail-grid{grid-template-columns:minmax(0,1fr)}.vocabulary-entry-details{padding-right:0}}@media (max-width: 520px){.vocabulary-book-wrap{margin-left:-.25rem;margin-right:-.25rem;width:calc(100% + .5rem)}.vocabulary-notebook{border-radius:.625rem;padding-left:1rem}.vocabulary-notebook:before,.vocabulary-spiral{display:none}.vocabulary-entry-word{font-size:1.125rem}}.auth-book-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2.5rem 1.5rem;color:var(--foreground)}.auth-book{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:min(100%,55rem);overflow:hidden;border:1px solid var(--border);border-radius:.75rem;background:linear-gradient(180deg,#fffaeef0,#faf4e8f0),var(--card);box-shadow:0 14px 40px #46341c29,0 2px 6px #46341c14}.auth-book:before{position:absolute;top:0;bottom:0;left:50%;z-index:2;width:2.125rem;pointer-events:none;content:"";background:linear-gradient(90deg,transparent,rgba(120,95,55,.1) 40%,rgba(120,95,55,.16) 50%,rgba(120,95,55,.1) 60%,transparent);transform:translate(-50%)}.auth-book-left{position:relative;display:flex;min-height:35rem;flex-direction:column;padding:2.875rem 2.625rem;border-right:1px solid var(--border);background:linear-gradient(160deg,color-mix(in srgb,var(--secondary) 74%,white),color-mix(in srgb,var(--background) 72%,var(--card))),var(--surface)}.auth-brand{display:flex;align-items:center;gap:.6875rem}.auth-logo{display:inline-flex;width:2.5rem;height:2.5rem;flex:none;align-items:center;justify-content:center;border-radius:.6875rem;background:var(--primary-soft);color:var(--primary)}.auth-logo svg{width:1.375rem;height:1.375rem}.auth-brand-name{font-family:var(--font-book);font-size:1.3125rem;font-weight:700;letter-spacing:-.01em;color:var(--foreground)}.auth-cover-tag{max-width:19rem;margin-top:1.625rem;color:var(--muted-foreground);font-family:var(--font-book);font-size:.975rem;line-height:1.55}.auth-perks{display:flex;flex-direction:column;gap:.875rem;margin-top:1.625rem}.auth-perk{display:flex;align-items:flex-start;gap:.6875rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.85rem;line-height:1.45}.auth-perk-check{display:inline-flex;width:1.375rem;height:1.375rem;flex:none;align-items:center;justify-content:center;margin-top:.0625rem;border-radius:.4375rem;background:var(--primary-soft);color:var(--primary)}.auth-perk-check svg{width:.8125rem;height:.8125rem}.auth-quote{margin-top:auto;border-left:2px solid var(--border);padding-left:1rem}.auth-quote p{color:var(--foreground);font-family:var(--font-book);font-size:1.0625rem;font-style:italic;line-height:1.45}.auth-quote div{margin-top:.5625rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.75rem}.auth-book-right{padding:2.875rem 2.625rem}.auth-eyebrow{color:var(--primary);font-family:var(--font-ui);font-size:.6875rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.auth-book-right h1{margin-top:.4375rem;margin-bottom:.3125rem;color:var(--foreground);font-size:1.875rem;font-weight:700}.auth-subtitle{margin-bottom:1.625rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.8125rem}.auth-form{display:flex;flex-direction:column}.auth-field{margin-bottom:1.125rem}.auth-field label{display:block;margin-bottom:.375rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.78125rem;font-weight:700}.auth-input-box{display:flex;align-items:center;gap:.625rem;border-bottom:1.5px solid var(--border-strong);padding:0 .125rem;transition:border-color .15s ease}.auth-input-box:focus-within{border-bottom-color:var(--primary)}.auth-input-box>svg,.auth-eye svg{width:1.0625rem;height:1.0625rem;flex:none;color:var(--muted-foreground)}.auth-input-box input{width:100%;flex:1;border:0;outline:0;background:transparent;color:var(--foreground);font-family:var(--font-book);font-size:1rem;line-height:1.5;padding:.5625rem 0}.auth-input-box input::-moz-placeholder{color:transparent}.auth-input-box input::placeholder{color:transparent}.auth-input-box input:disabled{color:var(--muted-foreground)}.auth-eye{display:inline-flex;width:1.75rem;height:1.75rem;flex:none;align-items:center;justify-content:center;border:0;border-radius:9999px;background:transparent;color:var(--muted-foreground);transition:background-color .15s ease,color .15s ease}.auth-eye:hover:not(:disabled){background:var(--secondary);color:var(--foreground)}.auth-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.375rem 0 1.5rem;font-family:var(--font-ui);font-size:.8125rem}.auth-checkline,.auth-terms{display:flex;align-items:center;gap:.5rem;color:var(--muted-foreground);cursor:pointer}.auth-checkline input,.auth-terms input{width:1rem;height:1rem;flex:none;accent-color:var(--primary)}.auth-terms{align-items:flex-start;margin:.25rem 0 1.375rem;font-family:var(--font-ui);font-size:.78125rem;line-height:1.45}.auth-terms a,.auth-text-link,.auth-switch button{border:0;background:transparent;color:var(--primary);font-weight:700;text-decoration:none}.auth-text-link{padding:0;font-family:inherit;font-size:inherit}.auth-text-link:disabled{color:var(--muted-foreground);opacity:.6}.auth-submit,.auth-google{display:inline-flex;width:100%;min-height:2.875rem;align-items:center;justify-content:center;gap:.625rem;border-radius:.6875rem;font-family:var(--font-ui);font-size:.9375rem;font-weight:700;transition:transform .15s ease,background-color .15s ease,border-color .15s ease}.auth-submit{border:0;background:var(--primary);color:var(--primary-foreground);box-shadow:0 1px 2px #5a44231f}.auth-submit:hover:not(:disabled){background:var(--primary-hover)}.auth-google{border:1px solid var(--border);background:var(--card);color:var(--muted-foreground)}.auth-google:hover:not(:disabled){border-color:var(--border-strong);background:var(--secondary);color:var(--foreground)}.auth-google svg{width:1.125rem;height:1.125rem}.auth-submit:disabled,.auth-google:disabled{cursor:not-allowed;opacity:.72}.auth-spin{width:1.125rem;height:1.125rem;animation:spin .7s linear infinite}.auth-separator{display:flex;align-items:center;gap:.875rem;margin:1.375rem 0;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.75rem}.auth-separator:before,.auth-separator:after{height:1px;flex:1;background:var(--border);content:""}.auth-message{margin-top:1rem;border-radius:.75rem;padding:.875rem 1rem;font-family:var(--font-ui);font-size:.8125rem;font-weight:600;line-height:1.45}.auth-message.error{background:var(--destructive-soft);color:var(--destructive)}.auth-message.\!error{background:var(--destructive-soft)!important;color:var(--destructive)!important}.auth-message.success{background:var(--success-soft);color:var(--success)}.auth-switch{margin-top:1.5rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.84375rem;text-align:center}.auth-switch button{padding:0;font-family:inherit;font-size:inherit}:root[data-theme=dark] .auth-book{background:linear-gradient(180deg,#252320f7,#1f1e1bf7),var(--card);box-shadow:0 18px 56px #0000006b}:root[data-theme=dark] .auth-book-left{background:linear-gradient(160deg,color-mix(in srgb,var(--surface-subtle) 72%,black),color-mix(in srgb,var(--surface) 82%,black)),var(--surface)}:root[data-theme=dark] .auth-book:before{background:linear-gradient(90deg,transparent,rgba(0,0,0,.22) 40%,rgba(0,0,0,.36) 50%,rgba(0,0,0,.22) 60%,transparent)}@media (max-width: 720px){.auth-book-shell{padding:2.5rem 1.25rem}.auth-book{max-width:27.5rem;grid-template-columns:1fr}.auth-book:before,.auth-book-left{display:none}.auth-book-right{padding:2.5rem 1.875rem}}@media (max-width: 420px){.auth-book-shell{padding:1.25rem .875rem}.auth-book-right{padding:2rem 1.375rem}.auth-meta{align-items:flex-start;flex-direction:column;gap:.75rem}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-right-1{right:-.25rem}.-top-1{top:-.25rem}.bottom-0{bottom:0}.bottom-full{bottom:100%}.left-0{left:0}.left-\[15px\]{left:15px}.left-full{left:100%}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-10{top:2.5rem}.top-12{top:3rem}.top-4{top:1rem}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-\[2147483647\]{z-index:2147483647}.z-\[45\]{z-index:45}.z-\[60\]{z-index:60}.z-\[80\]{z-index:80}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-ml-3{margin-left:-.75rem}.-mt-2{margin-top:-.5rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.\!hidden{display:none!important}.hidden{display:none}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-square{aspect-ratio:1 / 1}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[calc\(100\%\+1\.125rem\)\]{height:calc(100% + 1.125rem)}.h-auto{height:auto}.h-full{height:100%}.max-h-40{max-height:10rem}.max-h-44{max-height:11rem}.max-h-52{max-height:13rem}.max-h-56{max-height:14rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-\[26rem\]{max-height:26rem}.max-h-\[42rem\]{max-height:42rem}.max-h-\[min\(48rem\,calc\(100vh-2rem\)\)\]{max-height:min(48rem,calc(100vh - 2rem))}.min-h-0{min-height:0px}.min-h-10{min-height:2.5rem}.min-h-11{min-height:2.75rem}.min-h-16{min-height:4rem}.min-h-24{min-height:6rem}.min-h-8{min-height:2rem}.min-h-9{min-height:2.25rem}.min-h-\[16rem\]{min-height:16rem}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[min\(20rem\,calc\(100\%-2rem\)\)\]{width:min(20rem,calc(100% - 2rem))}.w-\[min\(22rem\,calc\(100vw-1\.5rem\)\)\]{width:min(22rem,calc(100vw - 1.5rem))}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-4{min-width:1rem}.min-w-5{min-width:1.25rem}.min-w-\[16rem\]{min-width:16rem}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[78\%\]{max-width:78%}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[6\.25rem_minmax\(0\,1fr\)_6\.25rem\]{grid-template-columns:6.25rem minmax(0,1fr) 6.25rem}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-1{row-gap:.25rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-border>:not([hidden])~:not([hidden]){border-color:var(--border)}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:.75rem}.rounded-3xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.75rem}.rounded-md{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-bl-md{border-bottom-left-radius:.5rem}.rounded-br-md{border-bottom-right-radius:.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-border{border-color:var(--border)}.border-destructive{border-color:var(--destructive)}.border-foreground{border-color:var(--foreground)}.border-primary{border-color:var(--primary)}.border-success{border-color:var(--success)}.border-transparent{border-color:transparent}.border-warning{border-color:var(--warning)}.bg-accent{background-color:var(--accent)}.bg-background{background-color:var(--background)}.bg-black\/50{background-color:#00000080}.bg-black\/55{background-color:#0000008c}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-destructive-soft{background-color:var(--destructive-soft)}.bg-foreground{background-color:var(--foreground)}.bg-info{background-color:var(--info)}.bg-info-soft{background-color:var(--info-soft)}.bg-muted{background-color:var(--muted)}.bg-muted-foreground{background-color:var(--muted-foreground)}.bg-primary{background-color:var(--primary)}.bg-primary-soft{background-color:var(--primary-soft)}.bg-secondary{background-color:var(--secondary)}.bg-success{background-color:var(--success)}.bg-success-soft{background-color:var(--success-soft)}.bg-surface-subtle{background-color:var(--surface-subtle)}.bg-warning{background-color:var(--warning)}.bg-warning-soft{background-color:var(--warning-soft)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-8{padding-bottom:2rem}.pl-1{padding-left:.25rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-7{padding-left:1.75rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pt-16{padding-top:4rem}.pt-3{padding-top:.75rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[0\.6875rem\]{font-size:.6875rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-5{line-height:1.25rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-foreground{color:var(--foreground)}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-info{color:var(--info)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/75{color:#ffffffbf}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.opacity-90{opacity:.9}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-elevated{--tw-shadow: var(--shadow-elevated);--tw-shadow-colored: var(--shadow-elevated);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xs{--tw-shadow: var(--shadow-xs);--tw-shadow-colored: var(--shadow-xs);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-foreground{--tw-ring-color: var(--foreground)}.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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[border-color\,background-color\,box-shadow\]{transition-property:border-color,background-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[padding\]{transition-property:padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}:root{--font-size: 16px;--font-ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-book: Charter, "Bitstream Charter", "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Times New Roman", serif;--font-sans: var(--font-ui);--font-display: var(--font-book);--font-serif: var(--font-book);--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--background: #f7efe1;--foreground: #211813;--card: #fffaf0;--card-foreground: #211813;--surface: #fcf4e7;--surface-subtle: #f3e7d3;--surface-muted: #e7d5b7;--surface-dark: #251a15;--surface-dark-elevated: #38271f;--on-dark: #fffaf0;--on-dark-soft: #ddcbb0;--primary: #bd6149;--primary-hover: #9d4b36;--primary-soft: #f1d7ca;--primary-foreground: #fffaf0;--secondary: #f0e2cb;--secondary-foreground: #211813;--muted: #e6d5bb;--muted-foreground: #6a5746;--accent: #5f8b76;--accent-foreground: #fffaf0;--success: #4f7f62;--success-soft: #dfeadd;--warning: #a86822;--warning-soft: #f2dfb8;--info: #355f7d;--info-soft: #dce8ef;--destructive: #bd4545;--destructive-soft: #f0d1cc;--destructive-foreground: #fffaf0;--progress-track: rgba(221, 199, 167, .72);--progress-fill-start: #b98754;--progress-fill-mid: #7f9568;--progress-fill-end: #5f8b76;--border: #ddc7a7;--border-strong: #a98961;--input-background: #fffdf6;--switch-background: #c7ab82;--ring: rgba(189, 97, 73, .32);--radius: .75rem;--shadow-xs: 0 1px 1px rgba(69, 46, 27, .08);--shadow-card: 0 1px 2px rgba(69, 46, 27, .08), 0 10px 24px rgba(69, 46, 27, .07);--shadow-elevated: 0 20px 52px rgba(52, 35, 22, .24)}:root[data-theme=dark]{color-scheme:dark;--background: #181715;--foreground: #faf9f5;--card: #252320;--card-foreground: #faf9f5;--surface: #1f1e1b;--surface-subtle: #252320;--surface-muted: #302d28;--surface-dark: #181715;--surface-dark-elevated: #252320;--on-dark: #faf9f5;--on-dark-soft: #a09d96;--primary: #cc785c;--primary-hover: #d99177;--primary-soft: #3d2821;--primary-foreground: #ffffff;--secondary: #252320;--secondary-foreground: #faf9f5;--muted: #302d28;--muted-foreground: #a09d96;--accent: #5db8a6;--accent-foreground: #faf9f5;--success: #7ecf8e;--success-soft: #1d3323;--warning: #e8c06a;--warning-soft: #382b18;--info: #faf9f5;--info-soft: #252320;--destructive: #ef8585;--destructive-soft: #3c1d21;--destructive-foreground: #ffffff;--progress-track: rgba(59, 55, 48, .86);--progress-fill-start: #d19a68;--progress-fill-mid: #93ad7e;--progress-fill-end: #5db8a6;--border: #3b3730;--border-strong: #5d564b;--input-background: #1f1e1b;--switch-background: #5d564b;--ring: rgba(204, 120, 92, .45);--shadow-xs: none;--shadow-card: none;--shadow-elevated: 0 20px 60px rgba(0, 0, 0, .48)}*{box-sizing:border-box}html{font-size:var(--font-size);scroll-behavior:smooth}body{margin:0;min-height:100vh;overflow-x:hidden;font-family:var(--font-ui);background:radial-gradient(circle at 18% 14%,rgba(90,63,38,.07),transparent 18rem),radial-gradient(circle at 84% 8%,rgba(201,104,79,.08),transparent 18rem),radial-gradient(circle at 80% 84%,rgba(117,132,87,.08),transparent 20rem),linear-gradient(90deg,rgba(93,66,38,.025) 1px,transparent 1px),linear-gradient(rgba(93,66,38,.02) 1px,transparent 1px),var(--background);background-size:auto,auto,auto,4rem 4rem,4rem 4rem,auto;color:var(--foreground);font-kerning:normal;font-feature-settings:normal;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:rgba(204,120,92,.14)}body:before{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;content:"";background-image:radial-gradient(circle at 12% 18%,rgba(64,42,25,.14) 0 1px,transparent 1.5px),radial-gradient(circle at 72% 16%,rgba(64,42,25,.1) 0 1px,transparent 1.5px),radial-gradient(circle at 24% 74%,rgba(64,42,25,.09) 0 1px,transparent 1.5px),linear-gradient(112deg,transparent 0 44%,rgba(64,42,25,.045) 45%,transparent 47% 100%);background-size:11rem 13rem,15rem 12rem,13rem 16rem,34rem 28rem;opacity:.45}:root[data-theme=dark] body{background:radial-gradient(circle at 18% 14%,rgba(204,120,92,.1),transparent 18rem),radial-gradient(circle at 84% 8%,rgba(93,184,166,.06),transparent 18rem),linear-gradient(90deg,rgba(250,249,245,.018) 1px,transparent 1px),linear-gradient(rgba(250,249,245,.014) 1px,transparent 1px),var(--background);background-size:auto,auto,4rem 4rem,4rem 4rem,auto}:root[data-theme=dark] body:before{background-image:radial-gradient(circle at 12% 18%,rgba(250,249,245,.1) 0 1px,transparent 1.5px),radial-gradient(circle at 72% 16%,rgba(250,249,245,.07) 0 1px,transparent 1.5px),linear-gradient(112deg,transparent 0 44%,rgba(250,249,245,.03) 45%,transparent 47% 100%);opacity:.24}#root{position:relative;z-index:1;min-height:100vh}h1,h2,h3,h4,p{margin:0}h1{font-family:var(--font-book);font-size:clamp(1.85rem,2.6vw,2.25rem);font-weight:700;line-height:1.08;letter-spacing:0;text-wrap:balance}h2{font-family:var(--font-book);font-size:clamp(1.35rem,2vw,1.75rem);font-weight:700;line-height:1.1;letter-spacing:0;text-wrap:balance}h3{font-family:var(--font-ui);font-size:1.125rem;font-weight:700;line-height:1.4}h4{font-family:var(--font-ui);font-size:.875rem;font-weight:700;line-height:1.4}p{color:var(--muted-foreground);line-height:1.58}button,input,textarea,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed}::-moz-selection{background:#cc785c33}::selection{background:#cc785c33}.focus-ring:focus-visible{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: var(--ring);--tw-ring-offset-width: 2px;--tw-ring-offset-color: var(--background)}.font-bold,.font-extrabold{font-weight:600}.tracking-tight{letter-spacing:0}@media (min-width: 768px){h1{font-size:3.5rem}h2{font-size:2.75rem}}@media (min-width: 1024px){h1{font-size:4rem}h2{font-size:3rem}}@keyframes dashboard-alert-in{0%{opacity:0;transform:translateY(.625rem)}to{opacity:1;transform:translateY(0)}}@keyframes toast-in{0%{opacity:0;transform:translateY(-.5rem) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-center-in{0%{opacity:0;transform:translateY(-1rem) scale(.94);filter:blur(4px)}65%{opacity:1;transform:translateY(.125rem) scale(1.02);filter:blur(0)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes app-screen-in{0%{opacity:0;transform:translateY(.625rem) scale(.992);filter:blur(2px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes app-screen-content-in{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}.animate-dashboard-alert{animation:dashboard-alert-in .18s ease-out both}.animate-toast-in{animation:toast-in .16s ease-out both}.animate-toast-center{animation:toast-center-in .26s cubic-bezier(.2,.8,.2,1) both;transform-origin:center;will-change:opacity,transform,filter}.app-screen-motion{animation:app-screen-in .28s cubic-bezier(.2,.8,.2,1) both;transform-origin:top center;will-change:opacity,transform}.app-screen-motion>*{animation:app-screen-content-in .34s 45ms cubic-bezier(.2,.8,.2,1) both}.app-screen-motion :where(.ui-card,.book-paper-card,.course-virtual-card,.course-path-virtual-node){transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease}.app-screen-motion :where(.ui-card-hover,.course-virtual-card):hover{transform:translateY(-.125rem)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important}.app-screen-motion,.app-screen-motion>*,.animate-dashboard-alert,.animate-toast-in,.animate-toast-center{animation:none!important;filter:none!important;transform:none!important}.app-screen-motion :where(.ui-card,.book-paper-card,.course-virtual-card,.course-path-virtual-node){transition:none!important}}.review-step-frame{width:100%}.review-step-frame .review-exercise-heading{margin-bottom:1rem}.review-step-frame .review-exercise-title,.review-step-frame .review-exercise-prompt{display:none}.review-step-frame-meaning-choice .review-question-text,.review-step-frame-dialogue-choice .review-question-text{margin-top:.25rem;max-width:44rem}.review-step-frame-listen-choice .review-audio-block-compact{margin-top:0;margin-bottom:1rem}.review-step-frame-listen-choice .review-question-text{display:none}.review-step-frame-listen-fill-bank .review-word-order-panel,.review-step-frame-pattern-substitution .review-word-order-panel,.review-step-frame-dialogue-fill .review-word-order-panel{margin-top:0}.review-step-frame-listen-fill-bank .review-drop-zone,.review-step-frame-pattern-substitution .review-drop-zone,.review-step-frame-dialogue-fill .review-drop-zone{min-height:3.8rem}.review-step-frame-dialogue-fill .review-question-text-context,.review-step-frame-pattern-substitution .review-question-text-context{margin-top:0;margin-bottom:.9rem;max-width:46rem;text-align:center}.review-step-frame-scene-intro .review-lesson-context,.review-step-frame-recap .review-lesson-context{margin-top:0}.review-step-frame-recap .review-recap-grid{margin-bottom:1.25rem}@keyframes review-stage-in{0%{opacity:0;transform:translateY(10px) scale(.988);filter:blur(2px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes review-soft-pop{0%{transform:scale(.982)}58%{transform:scale(1.014)}to{transform:scale(1)}}@keyframes review-soft-nudge{0%,to{transform:translate(0)}24%{transform:translate(-4px)}48%{transform:translate(4px)}72%{transform:translate(-2px)}}@keyframes review-reveal-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes review-audio-pulse{0%,to{box-shadow:0 0 #c9684f33}50%{box-shadow:0 0 0 6px #c9684f05}}@keyframes review-progress-glide{0%{background-position:0% 50%}to{background-position:120% 50%}}@media (prefers-reduced-motion: reduce){.review-stage-motion,.review-stage-result-correct,.review-stage-result-wrong,.review-book-frame-revealed,.review-flashcard-reveal,.review-flashcard-reveal .review-flashcard-example,.review-flashcard-reveal .review-flashcard-note,.review-choice-option-correct,.review-choice-option-wrong,.review-answer-input-wrong,.review-drop-zone-wrong,.review-inline-answer,.review-audio-loading,.review-audio-loading svg,.review-progress-track>div,.review-token-selected,.review-completion-card,.review-completion-trophy,.review-completion-stat,.review-insight-card{animation:none!important}.review-choice-option:active:not(:disabled),.review-token:active:not(:disabled),.review-audio-pill:active:not(:disabled),.review-audio-icon-small:active:not(:disabled),.review-audio-orb:active:not(:disabled),.review-primary-button:active:not(:disabled),.review-primary-button:hover:not(:disabled),.review-primary-button:hover:not(:disabled) svg:last-child,.review-token:not(.review-token-disabled):hover{transform:none!important}}@keyframes review-audio-bar{0%,to{transform:scaleY(.42);opacity:.62}50%{transform:scaleY(1);opacity:1}}@keyframes review-option-audio-glow{0%,to{box-shadow:0 0 0 2px #3f847e1a}50%{box-shadow:0 0 0 4px #3f847e0f}}@media (prefers-reduced-motion: reduce){.review-audio-equalizer span,.review-audio-button-equalizer span,.review-choice-option-audio-playing,.review-option-audio-icon-playing{animation:none!important}}@keyframes review-result-feedback-in{0%{opacity:0;transform:translateY(8px) scale(.986)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes review-feedback-icon-pop{0%{transform:scale(.72)}62%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes review-ring-draw{0%{stroke-dasharray:0 100}}@keyframes review-completion-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes review-progress-fill-pulse{0%{filter:brightness(1)}45%{filter:brightness(1.12)}to{filter:brightness(1)}}@media (max-width: 640px){.review-completion-hero{gap:.55rem}.review-completion-ring{width:4.65rem;height:4.65rem}.review-completion-trophy{width:3.2rem;height:3.2rem}.review-completion-title{font-size:2.1rem}.review-result-feedback{border-radius:1rem;padding:.75rem}}@media (prefers-reduced-motion: reduce){.review-result-feedback,.review-result-feedback-icon,.review-progress-fill,.review-completion-trophy,.review-completion-ring,.review-completion-ring-value,.review-completion-badge,.review-completion-extra-stat,.review-completion-actions,.review-completion-action-button:hover:not(:disabled){animation:none!important;transform:none!important}}@keyframes review-pacing-dots{0%,80%,to{transform:translateY(0);opacity:.42}40%{transform:translateY(-3px);opacity:1}}@keyframes review-pacing-shimmer{0%{background-position:-120% 0}to{background-position:120% 0}}@keyframes review-ready-breathe{0%,to{box-shadow:0 .5rem 1.1rem #8b463024,0 0 #c9684f1f}50%{box-shadow:0 .6rem 1.25rem #8b46302e,0 0 0 4px #c9684f0a}}@media (prefers-reduced-motion: reduce){.review-pacing-pill:before,.review-pacing-dots span,.review-primary-button-ready:not(:disabled){animation:none!important}.review-stage-area-advancing .review-stage-motion,.review-drop-zone[data-filled=true]{transform:none!important;filter:none!important}}.voca-form-field{margin-bottom:1.5rem}.voca-field-label-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.25rem}.voca-field-label{color:var(--muted-foreground);font-family:var(--font-ui);font-size:.78125rem;font-weight:800;letter-spacing:.01em;line-height:1.3}.voca-field-required{margin-left:.125rem;color:var(--primary)}.voca-textfield,.voca-select,.voca-textarea{width:100%;color:var(--foreground);outline:0;transition:border-color .16s ease,box-shadow .16s ease,opacity .16s ease}.voca-textfield,.voca-select{min-height:2.75rem;border:0;border-bottom:1.5px solid var(--border-strong);border-radius:0;background:transparent;font-family:var(--font-book);font-size:1rem;line-height:1.5;padding:.5625rem .125rem}.voca-textfield::-moz-placeholder,.voca-textarea::-moz-placeholder{color:color-mix(in srgb,var(--muted-foreground) 64%,var(--background));font-style:italic}.voca-textfield::placeholder,.voca-textarea::placeholder{color:color-mix(in srgb,var(--muted-foreground) 64%,var(--background));font-style:italic}.voca-textfield:focus,.voca-select:focus{border-bottom-color:var(--primary);box-shadow:0 .1875rem 0 -.0625rem color-mix(in srgb,var(--primary) 18%,transparent)}.voca-textfield:disabled,.voca-select:disabled,.voca-textarea:disabled{cursor:not-allowed;opacity:.58}.voca-select-wrap{position:relative}.voca-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:1.75rem}.voca-select[data-empty=true]{color:color-mix(in srgb,var(--muted-foreground) 70%,var(--background));font-style:italic}.voca-select-wrap:after{position:absolute;right:.375rem;top:50%;width:.4375rem;height:.4375rem;border-right:1.5px solid var(--muted-foreground);border-bottom:1.5px solid var(--muted-foreground);content:"";pointer-events:none;transform:translateY(-70%) rotate(45deg)}.voca-textarea{min-height:5.5rem;resize:vertical;border:1px solid var(--border-strong);border-radius:.5rem;background:color-mix(in srgb,var(--card) 84%,var(--background));font-family:var(--font-book);font-size:.96875rem;line-height:1.6;padding:.75rem .875rem}.voca-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--ring)}.voca-form-field-compact{margin-bottom:0}.voca-textarea-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.8125rem;line-height:1.55}.voca-textarea-tall{min-height:18rem}.add-word-wrap{position:relative;max-width:47.5rem;margin:0 auto}.add-word-back{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1.25rem;border:0;background:transparent;color:var(--muted-foreground);cursor:pointer;font-family:var(--font-ui);font-size:.84375rem;font-weight:650;padding:0;text-decoration:none;transition:color .16s ease}.add-word-back:hover{color:var(--foreground)}.add-word-back svg{width:1rem;height:1rem}.add-word-eyebrow{color:var(--primary);font-family:var(--font-ui);font-size:.6875rem;font-weight:800;letter-spacing:.16em;line-height:1.2;text-transform:uppercase}.add-word-title{margin:.375rem 0;color:var(--foreground);font-family:var(--font-book);font-size:clamp(2rem,5vw,2.5rem);font-weight:700;letter-spacing:-.01em;line-height:1.1}.add-word-subtitle{margin:0 0 1.625rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.875rem;line-height:1.55}.add-word-card{position:relative;border:1px solid var(--border);border-radius:.5rem .1875rem .1875rem .5rem;background:color-mix(in srgb,var(--card) 78%,var(--surface));box-shadow:0 1px 2px #5a44230f;padding:2.125rem 2.5rem 1.875rem}.add-word-card:before{position:absolute;left:-.375rem;top:1rem;bottom:1rem;width:.375rem;border-radius:.1875rem 0 0 .1875rem;background:color-mix(in srgb,var(--secondary) 82%,var(--background));box-shadow:-.1875rem 0 color-mix(in srgb,var(--secondary) 62%,var(--background));content:""}.add-word-row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.625rem}.add-word-ai-btn{display:inline-flex;width:2.125rem;height:2.125rem;flex:none;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:.5625rem;background:var(--background);color:var(--primary);cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease}.add-word-ai-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary) 55%,var(--border-strong));background:var(--primary-soft)}.add-word-ai-btn:disabled{cursor:not-allowed;opacity:.5}.add-word-ai-btn svg{width:1.0625rem;height:1.0625rem}.add-word-last-field{margin-bottom:0}.add-word-actions{display:flex;gap:.875rem;margin-top:1.875rem;border-top:1px solid var(--border);padding-top:1.5rem}.add-word-submit,.add-word-cancel{display:inline-flex;min-height:3.375rem;align-items:center;justify-content:center;border-radius:.6875rem;cursor:pointer;font-family:var(--font-ui);font-size:.9375rem;font-weight:750;line-height:1.2;transition:background-color .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease}.add-word-submit{flex:1;gap:.5625rem;border:0;background:var(--primary);color:var(--primary-foreground);padding:.9375rem 1.25rem;box-shadow:0 1px 2px #5a44231f}.add-word-submit:hover{background:var(--primary-hover)}.add-word-submit svg{width:1.0625rem;height:1.0625rem}.add-word-cancel{flex:none;border:1px solid var(--border-strong);background:var(--card);color:var(--muted-foreground);padding:.9375rem 1.625rem}.add-word-cancel:hover{background:var(--secondary);color:var(--foreground)}:root[data-theme=dark] .voca-textarea,:root[data-theme=dark] .add-word-card,:root[data-theme=dark] .add-word-cancel,:root[data-theme=dark] .add-word-ai-btn{background:color-mix(in srgb,var(--card) 90%,var(--background))}:root[data-theme=dark] .add-word-card:before{background:color-mix(in srgb,var(--surface-muted) 75%,var(--background));box-shadow:-.1875rem 0 color-mix(in srgb,var(--surface-muted) 45%,var(--background))}@media (max-width: 720px){.add-word-card{padding:1.625rem 1.5rem}.add-word-row3{grid-template-columns:minmax(0,1fr);gap:0}.add-word-actions{flex-direction:column}.add-word-cancel{width:100%}}@media (max-width: 520px){.add-word-wrap{margin-left:-.25rem;margin-right:-.25rem;width:calc(100% + .5rem)}.add-word-card{border-radius:.625rem;padding:1.5rem 1.25rem}.add-word-card:before{display:none}}.vocabulary-toolbar-standard>.voca-form-field{min-width:10.5rem;flex:none}.vocabulary-toolbar-standard>.vocabulary-toolbar-search{min-width:13.75rem;flex:1}.vocabulary-toolbar-standard .voca-textfield,.vocabulary-toolbar-standard .voca-select{min-height:2.875rem}.vocabulary-review-card .voca-textfield{min-height:2.5rem;font-size:.9375rem}@media (max-width: 900px){.vocabulary-toolbar-standard{display:grid;grid-template-columns:minmax(0,1fr) minmax(10rem,.5fr)}.vocabulary-toolbar-standard>.voca-form-field{width:100%;min-width:0}}@media (max-width: 720px){.vocabulary-toolbar-standard{grid-template-columns:minmax(0,1fr)}}.dictionary-search-standard{align-items:flex-start}.dictionary-search-standard .dictionary-search-field{flex:1;min-width:0}.dictionary-search-standard .voca-textfield{min-height:3rem}.dictionary-select-standard .voca-select{font-family:var(--font-ui);font-size:.84375rem}.courses-catalog-wrap{max-width:61.25rem;margin:0 auto}.courses-title{margin-bottom:1.375rem;color:var(--foreground);font-family:var(--font-book);font-size:clamp(2rem,4.5vw,2.375rem)}.course-filter-shell{margin-bottom:1.75rem}.course-filter-bar{display:flex;align-items:center;gap:.75rem}.course-tabs-book{width:min(100%,24rem);flex:0 0 min(100%,24rem);display:flex;gap:.25rem;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--card) 76%,var(--background));padding:.25rem;box-shadow:var(--shadow-xs)}.course-tabs-book button{flex:1;border:0;border-radius:999px;background:transparent;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.8125rem;font-weight:750;min-height:2.25rem;padding:.5rem .875rem;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}.course-tabs-book button.active{background:var(--primary);box-shadow:0 .375rem .875rem color-mix(in srgb,var(--primary) 22%,transparent);color:var(--primary-foreground)}.course-tabs-book button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.course-search-standard{min-width:16rem;flex:1;margin-bottom:0}.course-search-standard .voca-textfield{min-height:2.5rem;font-size:.9375rem;padding-top:.4375rem;padding-bottom:.4375rem}.course-filter-toggle{display:inline-flex;min-height:2.5rem;flex:none;align-items:center;justify-content:center;gap:.4375rem;border:1px solid var(--border-strong);border-radius:999px;background:var(--card);color:var(--muted-foreground);font-family:var(--font-ui);font-size:.8125rem;font-weight:750;padding:.5rem .875rem;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.course-filter-toggle:hover,.course-filter-toggle.is-active{border-color:color-mix(in srgb,var(--primary) 48%,var(--border-strong));background:var(--primary-soft);color:var(--primary)}.course-filter-toggle:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.course-filter-toggle svg,.course-filter-footer svg{width:1rem;height:1rem}.course-filter-count{display:inline-flex;min-width:1.25rem;height:1.25rem;align-items:center;justify-content:center;border-radius:999px;background:var(--primary);color:var(--primary-foreground);font-size:.6875rem;line-height:1;padding:0 .3125rem}.course-filter-panel{margin-top:.75rem;border:1px solid var(--border);border-radius:.75rem;background:color-mix(in srgb,var(--card) 88%,var(--background));padding:1rem;box-shadow:var(--shadow-xs)}.course-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem}.course-filter-field{min-width:0;margin-bottom:0}.course-filter-field .voca-select{min-height:2.5rem;font-family:var(--font-ui);font-size:.8125rem}.course-filter-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.875rem;border-top:1px solid var(--border);padding-top:.75rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.75rem;font-weight:600}.course-filter-footer button{display:inline-flex;align-items:center;gap:.375rem;border:0;background:transparent;color:var(--primary);font-weight:750;padding:.25rem 0}.course-filter-footer button:disabled{color:var(--muted-foreground);cursor:default;opacity:.5}.course-catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,18.25rem),1fr));gap:1.375rem}.course-catalog-card{position:relative;display:flex;min-height:14rem;flex-direction:column;border:1px solid var(--border);border-radius:.625rem .25rem .25rem .625rem;background:var(--card);padding:1.375rem 1.5rem;box-shadow:0 1px 2px #5a44230d;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;content-visibility:auto;contain-intrinsic-size:224px}.course-catalog-card:before{position:absolute;left:-.3125rem;top:.8125rem;bottom:.8125rem;width:.3125rem;border-radius:.1875rem 0 0 .1875rem;background:color-mix(in srgb,var(--secondary) 82%,var(--background));box-shadow:-.1875rem 0 color-mix(in srgb,var(--secondary) 62%,var(--background));content:""}.course-catalog-card:hover,.course-catalog-card:focus-visible{border-color:var(--border-strong);box-shadow:0 2px 10px #5a44231a;outline:none;transform:translateY(-1px)}.course-catalog-card.is-popular{border-color:color-mix(in srgb,var(--warning) 54%,var(--border));box-shadow:0 2px 10px #9a73221f}.course-ribbon{display:inline-flex;align-items:center;gap:.3125rem;border-radius:999px;background:var(--warning);color:var(--primary-foreground);font-family:var(--font-ui);font-size:.71875rem;font-weight:800;padding:.1875rem .6875rem}.course-ribbon svg,.course-catalog-icon svg,.course-card-heart svg,.course-catalog-cta svg,.course-social-stat svg,.course-favorite-large svg,.course-detail-back svg,.course-roadmap-top svg,.course-feedback-submit svg,.course-comment-foot svg{width:1rem;height:1rem}.course-card-heart{position:absolute;top:1.375rem;right:.875rem;z-index:2;display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:999px;background:var(--background);color:var(--muted-foreground);transition:background-color .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease}.course-card-heart:hover,.course-card-heart.is-active{border-color:color-mix(in srgb,var(--primary) 50%,var(--border-strong));background:var(--primary-soft);color:var(--primary)}.course-catalog-head{display:flex;min-height:4.75rem;align-items:flex-start;gap:.75rem;padding-right:2.25rem}.course-catalog-icon{display:inline-flex;width:2.125rem;height:2.125rem;flex:none;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:.5625rem;background:var(--background);color:var(--primary)}.course-catalog-head h2{color:var(--foreground);font-family:var(--font-book);font-size:1.125rem;line-height:1.25}.course-catalog-meta{margin-top:.125rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.75rem;font-weight:600}.course-catalog-chip-row,.course-detail-chip-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.875rem}.course-catalog-chip-row{min-height:1.5rem}.course-book-chip{display:inline-flex;align-items:center;border:1px solid var(--border-strong);border-radius:999px;background:var(--background);color:var(--muted-foreground);font-family:var(--font-ui);font-size:.71875rem;font-weight:650;padding:.1875rem .6875rem}.course-book-chip.is-warning{border-color:color-mix(in srgb,var(--warning) 48%,var(--border));background:var(--warning-soft);color:var(--warning)}.course-social-row{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-top:.875rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.8125rem}.course-social-row.is-compact{gap:.875rem}.course-social-stat{display:inline-flex;align-items:center;gap:.3125rem;border:0;background:transparent;color:inherit;font-weight:650;padding:0}.course-social-like{cursor:pointer}.course-social-like.is-active,.course-social-like:hover{color:var(--primary)}.course-social-like svg{color:var(--primary)}.course-catalog-progress{margin-top:auto;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.78125rem}.course-progress-track{height:.25rem;margin-top:.5625rem;overflow:hidden;border-radius:999px;background:var(--border)}.course-progress-track>i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.course-catalog-cta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;border-top:1px solid var(--border);padding-top:.875rem;color:var(--primary);font-family:var(--font-ui);font-size:.84375rem;font-weight:800}.course-detail-wrap{max-width:67.5rem;margin:0 auto}.course-detail-back{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1.375rem;border:0;background:transparent;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.84375rem;font-weight:650;padding:0}.course-detail-back:hover{color:var(--foreground)}.course-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 21.25rem;gap:2rem;align-items:start}.course-detail-main{position:relative;border:1px solid var(--border);border-radius:.5rem .1875rem .1875rem .5rem;background:color-mix(in srgb,var(--card) 76%,var(--surface));box-shadow:0 1px 2px #5a44230d;padding:2rem 2.25rem}.course-detail-main:before{position:absolute;left:-.375rem;top:.875rem;bottom:.875rem;width:.375rem;border-radius:.1875rem 0 0 .1875rem;background:color-mix(in srgb,var(--secondary) 82%,var(--background));box-shadow:-.1875rem 0 color-mix(in srgb,var(--secondary) 62%,var(--background));content:""}.course-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;border-bottom:1px solid var(--border);padding-bottom:1.375rem}.course-detail-eyebrow{color:var(--primary);font-family:var(--font-ui);font-size:.6875rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.course-detail-head h1{margin-top:.4375rem;color:var(--foreground);font-family:var(--font-book);font-size:clamp(1.875rem,4vw,2.35rem)}.course-detail-description{max-width:40rem;margin-top:.5rem;color:var(--muted-foreground);font-size:.9375rem}.course-detail-social-line{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:1rem}.course-detail-side-note{display:grid;gap:.625rem;flex:none;max-width:13.25rem;border:1px solid var(--border-strong);border-radius:.5625rem;background:var(--background);color:var(--muted-foreground);font-family:var(--font-ui);font-size:.78125rem;font-weight:650;padding:.75rem .875rem;text-align:center}.course-favorite-large{display:inline-flex;align-items:center;justify-content:center;gap:.4375rem;border:1px solid var(--border-strong);border-radius:.5625rem;background:var(--card);color:var(--muted-foreground);font-family:var(--font-ui);font-size:.8125rem;font-weight:800;padding:.625rem .75rem}.course-favorite-large:hover,.course-favorite-large.is-active{border-color:color-mix(in srgb,var(--primary) 50%,var(--border-strong));background:var(--primary-soft);color:var(--primary)}.course-detail-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.875rem;margin-top:1.5rem}.course-detail-stat{border:1px solid var(--border-strong);border-radius:.625rem;background:var(--background);padding:.9375rem}.course-detail-stat .n{color:var(--foreground);font-family:var(--font-book);font-size:1.5rem;font-weight:700}.course-detail-stat .l{margin-top:.1875rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.71875rem}.course-next-step-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(12rem,15rem);gap:1rem;align-items:center;margin-top:1.25rem;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));border-radius:.875rem;background:color-mix(in srgb,var(--primary-soft) 34%,var(--card));padding:1rem}.course-next-step-eyebrow{color:var(--primary);font-family:var(--font-ui);font-size:.6875rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.course-next-step-copy h2{margin-top:.25rem;color:var(--foreground);font-family:var(--font-book);font-size:1.25rem;line-height:1.2}.course-next-step-copy p{max-width:40rem;margin-top:.375rem;color:var(--muted-foreground);font-size:.875rem}.course-next-step-action{display:grid;gap:.5rem}.course-next-step-note{color:var(--muted-foreground);font-family:var(--font-ui);font-size:.75rem;line-height:1.35;text-align:center}:root[data-theme=dark] .course-next-step-card{background:color-mix(in srgb,var(--primary-soft) 18%,var(--card))}@media (max-width: 640px){.course-next-step-card{grid-template-columns:minmax(0,1fr)}.course-next-step-note{text-align:left}}.course-roadmap-section{margin-top:1.875rem}.course-roadmap-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.375rem}.course-roadmap-top h2{display:inline-flex;align-items:center;gap:.5625rem;color:var(--foreground);font-family:var(--font-book);font-size:1.125rem}.course-roadmap-top h2 svg{color:var(--primary)}.course-roadmap-top span{color:var(--primary);font-family:var(--font-ui);font-size:.78125rem;font-weight:800}.course-roadmap-list{display:grid;gap:1.125rem;margin-top:.75rem}.course-empty-box .ui-card{box-shadow:none}.course-comments-book{position:relative;border:1px solid var(--border);border-radius:.625rem;background:var(--card);box-shadow:var(--shadow-xs);padding:1.25rem}.course-comments-book:before{position:absolute;inset:0 auto 0 0;width:.3125rem;border-radius:.625rem 0 0 .625rem;background:color-mix(in srgb,var(--primary) 52%,var(--border));content:""}.course-comments-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-left:.25rem}.course-comments-head>svg{width:2.375rem;height:2.375rem;flex:none;border:1px solid var(--border);border-radius:.625rem;background:var(--secondary);color:var(--primary);padding:.5625rem}.course-comments-book h2{color:var(--foreground);font-family:var(--font-book);font-size:1.25rem}.course-comments-head p{margin-top:.25rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.8125rem;line-height:1.45}.course-comment-summary{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin:1rem 0;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.75rem;font-weight:750}.course-comment-summary span{display:inline-flex;align-items:center;gap:.375rem;border:1px solid var(--border);border-radius:999px;background:var(--background);padding:.25rem .625rem}.course-comment-summary svg{width:1rem;height:1rem;color:var(--primary)}.course-feedback-box{display:grid;gap:.75rem;margin-bottom:1rem;border:1px solid var(--border);border-radius:.625rem;background:color-mix(in srgb,var(--surface) 70%,var(--card));padding:.875rem}.course-feedback-title{color:var(--foreground);font-family:var(--font-ui);font-size:.8125rem;font-weight:800}.course-feedback-comment{margin-bottom:0}.course-feedback-comment .voca-field-label{font-size:.75rem}.course-feedback-submit{display:inline-flex;min-height:2.625rem;align-items:center;justify-content:center;gap:.5rem;border:0;border-radius:.5625rem;background:var(--primary);color:var(--primary-foreground);font-family:var(--font-ui);font-size:.84375rem;font-weight:800;padding:.625rem .875rem;transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease}.course-feedback-submit:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.course-feedback-submit:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.course-feedback-submit:disabled{background:var(--secondary);color:var(--muted-foreground)}.course-comment-list{display:grid;gap:.75rem}.course-comment-item{border:1px solid var(--border);border-radius:.625rem;background:var(--background);padding:.875rem}.course-comment-top{display:flex;align-items:center;gap:.5625rem}.course-comment-avatar{display:inline-flex;width:2rem;height:2rem;flex:none;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:999px;background:var(--secondary);color:var(--foreground);font-family:var(--font-ui);font-size:.6875rem;font-weight:800}.course-comment-author{min-width:0;display:grid;gap:.0625rem}.course-comment-name{color:var(--foreground);font-family:var(--font-ui);font-size:.84375rem;font-weight:800;overflow-wrap:anywhere}.course-comment-author span:last-child{color:var(--muted-foreground);font-family:var(--font-ui);font-size:.71875rem;font-weight:650}.course-comment-item p{margin-top:.625rem;color:var(--foreground);font-family:var(--font-book);font-size:.90625rem;line-height:1.55;overflow-wrap:anywhere}.course-comment-foot{display:flex;align-items:center;gap:.375rem;margin-top:.5rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.75rem}.course-comment-foot svg{color:var(--primary)}.course-no-comments{border:1px dashed var(--border);border-radius:.625rem;background:var(--background);color:var(--muted-foreground);font-size:.875rem;padding:1rem;text-align:center}:root[data-theme=dark] .course-filter-panel,:root[data-theme=dark] .course-filter-toggle,:root[data-theme=dark] .course-catalog-card,:root[data-theme=dark] .course-detail-main,:root[data-theme=dark] .course-comments-book,:root[data-theme=dark] .course-detail-side-note,:root[data-theme=dark] .course-detail-stat,:root[data-theme=dark] .course-catalog-icon,:root[data-theme=dark] .course-card-heart,:root[data-theme=dark] .course-favorite-large{background:color-mix(in srgb,var(--card) 90%,var(--background))}@media (max-width: 920px){.course-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-detail-grid{grid-template-columns:minmax(0,1fr)}.course-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.course-filter-bar{align-items:stretch;flex-direction:column}.course-tabs-book,.course-search-standard,.course-filter-toggle{width:100%;min-width:0;flex-basis:auto}.course-filter-grid{grid-template-columns:minmax(0,1fr)}.course-filter-footer{align-items:flex-start;flex-direction:column}.course-detail-main{border-radius:.625rem;padding:1.5rem 1.25rem}.course-detail-main:before{display:none}.course-detail-head{flex-direction:column}.course-detail-side-note{max-width:none;width:100%}.course-detail-stats{grid-template-columns:minmax(0,1fr)}.course-comments-book{padding-left:1.5rem}.course-comments-book:before,.course-spiral{display:none}}.stats-book-wrap{max-width:1040px;margin:0 auto;color:var(--foreground)}.stats-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem;margin-bottom:1.5rem}.stats-head h1{font-family:var(--font-book);font-size:clamp(1.95rem,3vw,2.375rem);font-weight:700;letter-spacing:-.01em}.stats-head .sub{margin-top:.35rem;font-family:var(--font-ui);font-size:.8125rem;color:var(--muted-foreground)}.stats-streak-banner{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.625rem;padding:1.25rem 1.625rem;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border));border-radius:.875rem;background:linear-gradient(180deg,var(--surface),var(--card));box-shadow:var(--shadow-xs)}.stats-flame{display:flex;width:3.125rem;height:3.125rem;flex:none;align-items:center;justify-content:center;border-radius:.875rem;background:var(--primary-soft);color:var(--primary)}.stats-flame svg{width:1.75rem;height:1.75rem}.stats-streak-banner .big{font-family:var(--font-book);font-size:2rem;font-weight:700;line-height:1;color:var(--foreground)}.stats-streak-banner .lbl{margin-top:.35rem;font-family:var(--font-ui);font-size:.8125rem;color:var(--muted-foreground)}.stats-streak-banner .week{display:flex;gap:.45rem;margin-left:auto}.stats-streak-banner .week i{display:block;width:.8125rem;height:.8125rem;border-radius:999px;background:var(--border)}.stats-streak-banner .week i.on{background:var(--primary)}.stats-streak-banner .week i.freeze{background:var(--foreground)}.stats-streak-banner .week i.today{box-shadow:0 0 0 2px var(--background),0 0 0 3.5px var(--primary)}.stats-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.75rem;align-items:start}.stats-calendar-book{position:relative;margin-top:.875rem;border:1px solid var(--border);border-radius:.35rem .35rem .875rem .875rem;background:var(--surface);box-shadow:var(--shadow-xs)}.stats-calendar-rings{position:absolute;top:-.875rem;right:0;left:0;display:flex;justify-content:center;gap:3.75rem}.stats-calendar-rings i{display:block;width:.625rem;height:1.375rem;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface-muted)}.stats-calendar-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.375rem 1.625rem .875rem;border-bottom:1px solid var(--border)}.stats-calendar-top .m{font-family:var(--font-book);font-size:1.3125rem;font-weight:700;color:var(--foreground);text-transform:capitalize}.stats-calendar-top .nav{display:flex;gap:.5rem}.stats-calendar-top .nav button{display:flex;width:2rem;height:2rem;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:.625rem;background:var(--card);color:var(--muted-foreground)}.stats-calendar-top .nav button:disabled{opacity:.45}.stats-calendar-top .nav svg{width:.95rem;height:.95rem}.stats-calendar-body{padding:1.125rem 1.625rem 1.5rem}.stats-calendar-body .dow,.stats-calendar-body .days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem}.stats-calendar-body .dow{margin-bottom:.5rem}.stats-calendar-body .dow span{text-align:center;font-family:var(--font-ui);font-size:.71875rem;font-weight:700;color:var(--muted-foreground)}.stats-calendar-day{position:relative;display:flex;aspect-ratio:1 / 1;min-height:2.4rem;flex-direction:column;align-items:center;justify-content:center;border:1px solid transparent;border-radius:.625rem;font-family:var(--font-ui);font-size:.84375rem;color:var(--muted-foreground)}.stats-calendar-day.blank{visibility:hidden}.stats-calendar-day .num{font-weight:650}.stats-calendar-day .wn{margin-top:.05rem;font-size:.625rem;font-weight:700;color:var(--primary)}.stats-calendar-day.l1{background:color-mix(in srgb,var(--primary) 12%,transparent)}.stats-calendar-day.l2{background:color-mix(in srgb,var(--primary) 24%,transparent);color:var(--foreground)}.stats-calendar-day.l3{background:color-mix(in srgb,var(--primary) 38%,var(--surface));color:var(--foreground)}.stats-calendar-day.freeze{background:var(--foreground);color:var(--background)}.stats-calendar-day.freeze .wn{color:var(--background)}.stats-calendar-day.today{border-color:var(--primary);font-weight:800}.stats-calendar-day.future{color:color-mix(in srgb,var(--muted-foreground) 40%,transparent);background:transparent}.stats-calendar-body .legend{display:flex;align-items:center;gap:.5rem;margin-top:1.125rem;font-family:var(--font-ui);font-size:.71875rem;color:var(--muted-foreground)}.stats-calendar-body .legend i{width:.9375rem;height:.9375rem;border-radius:.25rem}.stats-calendar-body .legend i.l1{background:color-mix(in srgb,var(--primary) 12%,transparent)}.stats-calendar-body .legend i.l2{background:color-mix(in srgb,var(--primary) 24%,transparent)}.stats-calendar-body .legend i.l3{background:color-mix(in srgb,var(--primary) 38%,var(--surface))}.stats-calendar-body .freeze-legend{margin-left:auto}.stats-side-notebook{position:relative;margin-top:.875rem;padding:1.5rem 1.375rem 1.375rem 2.5rem;border:1px solid var(--border);border-radius:.25rem .75rem .75rem .25rem;background:var(--card);box-shadow:var(--shadow-xs)}.stats-side-notebook:before{position:absolute;top:0;bottom:0;left:1.75rem;width:1px;content:"";background:color-mix(in srgb,var(--primary) 32%,transparent)}.stats-spiral{position:absolute;top:1.375rem;bottom:1.375rem;left:-.375rem;display:flex;flex-direction:column;justify-content:space-between}.stats-spiral span{width:.6875rem;height:.6875rem;border:1px solid var(--border);border-radius:999px;background:var(--background)}.stats-side-notebook h3{margin-bottom:.875rem;font-family:var(--font-book);font-size:1rem;font-style:italic;font-weight:700}.stats-side-notebook h3.log{margin-top:1.375rem}.stats-side-notebook .kpi{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.6875rem 0;border-bottom:1px solid color-mix(in srgb,var(--info) 18%,var(--border))}.stats-side-notebook .kpi .l{font-family:var(--font-ui);font-size:.8125rem;color:var(--muted-foreground)}.stats-side-notebook .kpi .v{font-family:var(--font-book);font-size:1.1875rem;font-weight:700;color:var(--foreground)}.stats-side-notebook .kpi .v small{margin-left:.2rem;font-family:var(--font-ui);font-size:.6875rem;font-weight:500;color:var(--muted-foreground)}.stats-freeze-panel{margin-top:1rem;padding:.95rem;border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border));border-radius:.75rem;background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 4%,var(--surface)),var(--surface))}.stats-freeze-panel.ready{border-color:color-mix(in srgb,var(--primary) 42%,var(--border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 10%,transparent)}.stats-freeze-panel .freeze-head{display:flex;gap:.7rem;align-items:flex-start}.stats-freeze-panel .freeze-icon{display:flex;width:2rem;height:2rem;flex:none;align-items:center;justify-content:center;border-radius:.625rem;background:var(--primary-soft);color:var(--primary)}.stats-freeze-panel .freeze-icon svg{width:1rem;height:1rem}.stats-freeze-panel .freeze-title{font-size:.875rem;font-weight:800;color:var(--foreground)}.stats-freeze-panel p{margin-top:.2rem;font-size:.75rem;line-height:1.5;color:var(--muted-foreground)}.stats-freeze-panel .freeze-count{display:inline-flex;align-items:baseline;justify-content:center;gap:.25rem;margin-left:auto;min-width:4.25rem;border-radius:.625rem;background:var(--card);padding:.45rem .6rem;text-align:center;white-space:nowrap}.stats-freeze-panel .freeze-count strong{font-family:var(--font-book);font-size:1.25rem;line-height:1}.stats-freeze-panel .freeze-count span{display:block;font-size:.625rem;font-weight:800;line-height:1;color:var(--muted-foreground);text-transform:uppercase}.stats-freeze-note{margin-top:.7rem;border-radius:.625rem;background:color-mix(in srgb,var(--secondary) 74%,transparent);padding:.45rem .65rem;font-size:.7rem;font-weight:700;line-height:1.35;color:var(--muted-foreground)}.stats-freeze-note.active{color:var(--primary);background:var(--primary-soft)}.freeze-actions{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:.5rem;margin-top:.75rem}.stats-side-notebook .day{display:flex;align-items:center;gap:.625rem;padding:.5625rem 0;border-bottom:1px solid color-mix(in srgb,var(--info) 18%,var(--border));font-family:var(--font-ui);font-size:.8125rem}.stats-side-notebook .day:last-child{border-bottom:0}.stats-side-notebook .day .dt{width:3rem;font-weight:800;color:var(--foreground)}.stats-side-notebook .day .meta{min-width:0;flex:1;color:var(--muted-foreground)}.stats-side-notebook .day .dot{width:.5rem;height:.5rem;flex:none;border-radius:999px;background:var(--accent)}.stats-side-notebook .day .dot.freeze{background:var(--foreground)}.stats-mastery-panel,.stats-trend-panel,.stats-focus-panel,.stats-category-panel{margin-top:1.75rem;padding:1.5rem 1.75rem;border:1px solid var(--border);border-radius:.875rem;background:var(--surface);box-shadow:var(--shadow-xs)}.stats-mastery-panel h3,.stats-trend-panel h3,.stats-focus-panel h3,.stats-category-panel h3{font-family:var(--font-book);font-size:1.125rem;font-weight:700}.stats-mastery-panel .cap,.stats-trend-panel .cap,.stats-focus-panel p,.stats-category-panel p{margin-top:.25rem;margin-bottom:1.125rem;font-family:var(--font-ui);font-size:.8125rem;color:var(--muted-foreground)}.stats-mastery-panel .mbar{display:flex;height:.9375rem;overflow:hidden;border-radius:999px;background:var(--border)}.stats-mastery-panel .mbar i{display:block;height:100%;min-width:0}.stats-mastery-panel .mbar i.weak,.stats-mastery-panel .mitem.weak .mdot{background:#c08a6a}.stats-mastery-panel .mbar i.familiar,.stats-mastery-panel .mitem.familiar .mdot{background:var(--warning)}.stats-mastery-panel .mbar i.strong,.stats-mastery-panel .mitem.strong .mdot{background:var(--accent)}.stats-mastery-panel .mbar i.mastered,.stats-mastery-panel .mitem.mastered .mdot{background:var(--primary)}.stats-mastery-panel .mleg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.125rem;margin-top:1.375rem}.stats-mastery-panel .mitem{border-left:3px solid var(--border);padding-left:.8125rem}.stats-mastery-panel .mitem.weak{border-left-color:#c08a6a}.stats-mastery-panel .mitem.familiar{border-left-color:var(--warning)}.stats-mastery-panel .mitem.strong{border-left-color:var(--accent)}.stats-mastery-panel .mitem.mastered{border-left-color:var(--primary)}.stats-mastery-panel .mitem .n{font-family:var(--font-book);font-size:1.5625rem;font-weight:700;color:var(--foreground)}.stats-mastery-panel .mitem .l{display:flex;align-items:center;gap:.45rem;margin-top:.1rem;font-size:.8125rem;font-weight:700;color:var(--foreground)}.stats-mastery-panel .mitem .p{margin-top:.18rem;font-size:.71875rem;color:var(--muted-foreground)}.stats-mastery-panel .mdot{width:.5625rem;height:.5625rem;border-radius:.18rem}.stats-trend-panel .bars{position:relative;display:flex;height:10.625rem;align-items:flex-end;gap:1.125rem;padding-bottom:1.625rem}.stats-trend-panel .bar{position:relative;display:flex;height:100%;flex:1;flex-direction:column;align-items:center;justify-content:flex-end}.stats-trend-panel .bar .val{margin-bottom:.375rem;font-family:var(--font-ui);font-size:.75rem;font-weight:800;color:var(--muted-foreground)}.stats-trend-panel .bar .col{width:60%;max-width:2.875rem;border-radius:.35rem .35rem 0 0;background:color-mix(in srgb,var(--accent) 86%,var(--foreground))}.stats-trend-panel .bar.cur .col{background:var(--primary)}.stats-trend-panel .bar .mn{position:absolute;bottom:-1.375rem;font-size:.75rem;color:var(--muted-foreground)}.stats-trend-panel .bar.cur .mn{font-weight:800;color:var(--primary)}.stats-clean-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem}.stats-clean-row .stats-focus-panel,.stats-clean-row .stats-category-panel{margin-top:1.75rem}.focus-head{display:flex;align-items:flex-start;gap:.75rem}.focus-head>svg{width:1.25rem;height:1.25rem;flex:none;margin-top:.15rem;color:var(--primary)}.focus-list,.category-lines{display:grid;gap:.65rem}.focus-word{display:flex;gap:1rem;align-items:center;justify-content:space-between;border-radius:.75rem;background:var(--card);padding:.75rem}.fw-main{min-width:0}.fw-main strong{display:block;color:var(--foreground)}.fw-main span{display:block;overflow:hidden;color:var(--muted-foreground);font-size:.8125rem;text-overflow:ellipsis;white-space:nowrap}.fw-side{width:5.5rem;flex:none;text-align:right;font-size:.8125rem;font-weight:800}.mini-track{height:.25rem;overflow:hidden;border-radius:999px;background:var(--border)}.fw-side .mini-track{margin-top:.35rem}.mini-track i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.focus-empty{border-radius:.75rem;background:var(--card);padding:.875rem;color:var(--muted-foreground)}.category-line .cl-top{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.35rem;font-size:.8125rem}.category-line .cl-top span{display:flex;min-width:0;align-items:center;gap:.5rem;color:var(--foreground)}.category-line .cl-top span i{width:.75rem;height:.75rem;flex:none;border-radius:999px}.category-line .cl-top b{color:var(--muted-foreground)}.stats-legend-row{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;color:var(--muted-foreground)}:root[data-theme=dark] .stats-streak-banner,:root[data-theme=dark] .stats-calendar-book,:root[data-theme=dark] .stats-side-notebook,:root[data-theme=dark] .stats-mastery-panel,:root[data-theme=dark] .stats-trend-panel,:root[data-theme=dark] .stats-focus-panel,:root[data-theme=dark] .stats-category-panel,:root[data-theme=dark] .stats-freeze-panel,:root[data-theme=dark] .focus-word,:root[data-theme=dark] .focus-empty{background:var(--card)}@media (max-width: 840px){.stats-grid,.stats-clean-row{grid-template-columns:1fr}.stats-mastery-panel .mleg{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.stats-head h1{font-size:1.875rem}.stats-streak-banner{align-items:flex-start;padding:1rem}.stats-streak-banner .week{display:none}.stats-calendar-body,.stats-calendar-top,.stats-mastery-panel,.stats-trend-panel,.stats-focus-panel,.stats-category-panel{padding-right:1rem;padding-left:1rem}.stats-calendar-body .dow,.stats-calendar-body .days{gap:.35rem}.stats-calendar-day{min-height:2.05rem;border-radius:.5rem;font-size:.75rem}.stats-mastery-panel .mleg{grid-template-columns:1fr}.stats-trend-panel .bars{gap:.65rem}.freeze-actions{grid-template-columns:1fr}}.settings-page-shell{max-width:60rem;margin:0 auto}.settings-modal-frame{border-radius:.75rem;box-shadow:var(--shadow-elevated)}.settings-book-window{position:relative;width:100%;overflow:hidden;border:1px solid var(--border);border-radius:.75rem;background:color-mix(in srgb,var(--card) 82%,var(--surface));box-shadow:var(--shadow-elevated)}.settings-book-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.25rem;padding:1.1rem 1.55rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface-subtle) 72%,var(--card))}.settings-book-top h1{margin:0;font-family:var(--font-book);font-size:1.45rem;font-weight:650;letter-spacing:-.01em}.settings-close-button{display:inline-flex;width:2.125rem;height:2.125rem;align-items:center;justify-content:center;flex:none;border:1px solid var(--border);border-radius:.5625rem;background:var(--card);color:var(--muted-foreground);cursor:pointer;transition:color .16s ease,background .16s ease,border-color .16s ease}.settings-close-button:hover{border-color:var(--border-strong);background:var(--secondary);color:var(--foreground)}.settings-close-button svg{width:1.05rem;height:1.05rem}.settings-book-body{display:grid;grid-template-columns:14.75rem minmax(0,1fr);min-height:min(42rem,calc(100vh - 10rem))}.settings-book-nav{position:relative;display:flex;flex-direction:column;gap:.1875rem;padding:1.05rem .875rem;border-right:1px solid var(--border);background:color-mix(in srgb,var(--surface-subtle) 84%,var(--background))}.settings-book-nav:after{position:absolute;top:0;right:0;bottom:0;width:.375rem;content:"";pointer-events:none;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--border-strong) 16%,transparent))}.settings-book-nav button{display:flex;align-items:center;gap:.68rem;width:100%;border:0;border-left:3px solid transparent;border-radius:.5625rem;background:transparent;color:var(--muted-foreground);cursor:pointer;font-family:var(--font-ui);font-size:.84375rem;font-weight:650;line-height:1.25;padding:.65rem .8rem;text-align:left;transition:background .16s ease,color .16s ease,border-color .16s ease}.settings-book-nav button:hover{background:color-mix(in srgb,var(--border-strong) 9%,transparent);color:var(--foreground)}.settings-book-nav button.active{border-left-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.settings-book-nav button svg{width:1.0625rem;height:1.0625rem;flex:none}.settings-book-content{min-width:0;background:color-mix(in srgb,var(--card) 80%,var(--surface))}.settings-book-section{min-width:0}.settings-section-head{padding:1.65rem 2.15rem 1.4rem}.settings-section-head h2{margin:0;font-family:var(--font-book);font-size:1.7rem;font-weight:650;letter-spacing:-.01em}.settings-section-head p{max-width:42rem;margin:.3rem 0 0;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.8125rem;line-height:1.55}.settings-section-body{padding:0 2.15rem 2.15rem}.settings-book-panel{position:relative;border:1px solid var(--border);border-radius:.625rem .1875rem .1875rem .625rem;background:var(--card);box-shadow:var(--shadow-xs);padding:1.5rem 1.75rem}.settings-book-panel:before{position:absolute;top:.875rem;bottom:.875rem;left:-.3125rem;width:.3125rem;border-radius:.1875rem 0 0 .1875rem;background:color-mix(in srgb,var(--border) 58%,var(--surface));box-shadow:-3px 0 color-mix(in srgb,var(--border) 38%,var(--background));content:""}.settings-book-panel+.settings-book-panel{margin-top:1.125rem}.settings-avatar-row{display:flex;align-items:center;gap:1rem;padding-bottom:1.35rem;margin-bottom:1.35rem;border-bottom:1px solid var(--border)}.settings-avatar{display:flex;width:3.625rem;height:3.625rem;align-items:center;justify-content:center;flex:none;border:1px solid color-mix(in srgb,var(--primary) 26%,var(--border));border-radius:999px;background:var(--primary-soft);color:var(--primary);font-family:var(--font-book);font-size:1.5rem;font-weight:700}.settings-avatar-name{font-family:var(--font-book);font-size:1.0625rem;font-weight:650}.settings-avatar-plan{margin-top:.125rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.75rem}.settings-verified-pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--success);font-family:var(--font-ui);font-size:.71875rem;font-weight:750;padding:.25rem .65rem}.settings-verified-pill svg{width:.75rem;height:.75rem}.settings-row{display:flex;align-items:center;gap:1.125rem;padding:1rem 0;border-bottom:1px solid var(--border)}.settings-row:first-child{padding-top:.125rem}.settings-row:last-child{border-bottom:0;padding-bottom:.125rem}.settings-row-stacked{align-items:flex-start;flex-direction:column}.settings-row-copy{min-width:0;flex:1}.settings-row-copy-with-icon{display:flex;align-items:flex-start;gap:.75rem}.settings-row-copy-with-icon>svg{width:1.1rem;height:1.1rem;flex:none;margin-top:.125rem;color:var(--muted-foreground)}.settings-row-title{display:block;color:var(--foreground);font-family:var(--font-book);font-size:.96875rem;font-weight:650}.settings-row-desc{display:block;margin-top:.15rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.78125rem;line-height:1.5}.settings-row-control{width:min(16rem,42vw);flex:none}.settings-field-control{min-width:12rem;margin-bottom:0}.settings-theme-cards{display:flex;flex-wrap:wrap;gap:.75rem;width:100%}.settings-theme-card{width:6.5rem;border:1px solid var(--border);border-radius:.6875rem;background:var(--background);cursor:pointer;padding:.7rem;text-align:center;transition:border-color .16s ease,background .16s ease,transform .16s ease}.settings-theme-card:hover{transform:translateY(-1px);border-color:var(--border-strong)}.settings-theme-card.selected{border-color:var(--primary);background:var(--primary-soft)}.settings-theme-preview{display:block;height:2.875rem;border:1px solid var(--border);border-radius:.4375rem;margin-bottom:.55rem}.settings-theme-card.light .settings-theme-preview{background:#f3ece0}.settings-theme-card.dark .settings-theme-preview{background:#2c2620}.settings-theme-card.auto .settings-theme-preview{background:linear-gradient(90deg,#f3ece0 50%,#2c2620 50%)}.settings-theme-card span:last-child{color:var(--muted-foreground);font-family:var(--font-ui);font-size:.78125rem;font-weight:750}.settings-switch{position:relative;display:inline-block;width:2.75rem;height:1.5625rem;flex:none;cursor:pointer}.settings-switch input{position:absolute;opacity:0;pointer-events:none}.settings-switch-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:var(--switch-background);transition:background .16s ease}.settings-switch-knob{position:absolute;top:.1875rem;left:.1875rem;width:1.1875rem;height:1.1875rem;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .16s ease}.settings-switch input:checked~.settings-switch-track{background:var(--primary)}.settings-switch input:checked~.settings-switch-knob{transform:translate(1.1875rem)}.settings-range{width:min(12rem,32vw);accent-color:var(--primary)}.settings-two-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem}.settings-note-box,.settings-help-card,.settings-status-card,.settings-admin-test,.settings-import-preview,.settings-import-history{border:1px solid var(--border);border-radius:.75rem;background:color-mix(in srgb,var(--background) 70%,var(--card));color:var(--muted-foreground);font-family:var(--font-ui);font-size:.8125rem;line-height:1.55;padding:.9rem 1rem}.settings-note-box{margin-bottom:1.25rem}.settings-note-box>div{margin-top:.35rem;color:var(--foreground);font-weight:700}.settings-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1rem}.settings-status-title,.settings-admin-head,.settings-help-title{display:flex;align-items:center;gap:.5rem;color:var(--foreground);font-weight:750}.settings-status-title svg,.settings-admin-head svg,.settings-help-title svg{width:1rem;height:1rem;flex:none}.settings-status-value{margin-top:.35rem;overflow-wrap:anywhere}.settings-status-error,.settings-error-note{color:var(--destructive)}.settings-admin-test{margin-top:1rem}.settings-admin-head{align-items:flex-start;margin-bottom:.85rem}.settings-admin-head p{margin:.15rem 0 0;color:var(--muted-foreground);font-weight:400}.settings-foot{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.settings-save-button,.settings-ghost-button,.settings-soft-button{display:inline-flex;min-height:2.65rem;align-items:center;justify-content:center;gap:.5rem;border-radius:.625rem;cursor:pointer;font-family:var(--font-ui);font-size:.875rem;font-weight:750;line-height:1.2;padding:.75rem 1.25rem;transition:background .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease}.settings-save-button{border:0;background:var(--primary);color:var(--primary-foreground);box-shadow:var(--shadow-xs)}.settings-save-button:hover{background:var(--primary-hover)}.settings-ghost-button,.settings-soft-button{border:1px solid var(--border);background:var(--card);color:var(--muted-foreground)}.settings-ghost-button:hover,.settings-soft-button:hover{border-color:var(--border-strong);background:var(--secondary);color:var(--foreground)}.settings-save-button:disabled,.settings-ghost-button:disabled,.settings-soft-button:disabled,.settings-disabled{cursor:not-allowed!important;opacity:.55}.settings-inline-button svg{width:1rem;height:1rem;flex:none}.settings-action-row,.settings-backup-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.settings-import-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:1rem}.settings-help-card p{margin:.9rem 0 0;border-radius:.65rem;background:var(--secondary);padding:.75rem;font-size:.75rem}.settings-import-preview,.settings-import-history{margin-top:1.25rem;background:var(--card)}.settings-import-preview-head,.settings-import-confirm,.settings-history-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.settings-import-preview-head h3{margin:0;font-family:var(--font-book);font-size:1.1rem}.settings-import-preview-head p,.settings-muted-note,.settings-history-row span{color:var(--muted-foreground);font-size:.75rem}.settings-import-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin:1rem 0}.settings-import-stat{border-radius:.75rem;background:var(--secondary);padding:.8rem}.settings-import-stat.danger{background:var(--destructive-soft);color:var(--destructive)}.settings-import-stat div{font-size:1.35rem;font-weight:750}.settings-import-stat span{display:block;margin-top:.1rem;color:var(--muted-foreground);font-size:.7rem}.settings-error-note{display:flex;gap:.5rem;border-radius:.75rem;background:var(--destructive-soft);padding:.85rem;margin-bottom:1rem}.settings-error-note svg{width:1rem;height:1rem;flex:none;margin-top:.1rem}.settings-import-table-wrap{max-height:20rem;overflow:auto;border:1px solid var(--border);border-radius:.75rem}.settings-import-table{width:100%;min-width:45rem;border-collapse:collapse;text-align:left;font-size:.8125rem}.settings-import-table th{background:var(--secondary);color:var(--muted-foreground);font-size:.7rem;padding:.75rem;text-transform:uppercase}.settings-import-table td{border-top:1px solid var(--border);padding:.75rem}.settings-import-confirm{margin-top:1rem}.settings-row-badge{display:inline-flex;align-items:center;border-radius:999px;font-size:.7rem;font-weight:750;padding:.25rem .65rem}.settings-row-badge.success{background:var(--success-soft);color:var(--success)}.settings-row-badge.danger{background:var(--destructive-soft);color:var(--destructive)}.settings-row-badge.muted{background:var(--secondary);color:var(--foreground)}.settings-history-row{align-items:flex-start;border-radius:.75rem;background:var(--secondary);padding:.75rem;margin-top:.65rem}.settings-app-head{display:flex;align-items:center;gap:.9rem;padding-bottom:1.2rem;margin-bottom:.5rem;border-bottom:1px solid var(--border)}.settings-app-logo{display:flex;width:3.25rem;height:3.25rem;align-items:center;justify-content:center;border-radius:.8125rem;background:var(--primary-soft);color:var(--primary)}.settings-app-logo svg{width:1.75rem;height:1.75rem}.settings-app-name{font-family:var(--font-book);font-size:1.125rem;font-weight:650}.settings-version-pill{display:inline-flex;margin-top:.25rem;border:1px solid var(--border);border-radius:999px;background:var(--background);color:var(--muted-foreground);font-family:var(--font-ui);font-size:.71875rem;font-weight:750;padding:.15rem .65rem}.settings-link-row{display:flex;align-items:center;gap:.75rem;padding:.95rem 0;border-bottom:1px solid var(--border);color:var(--foreground);font-family:var(--font-ui);font-size:.875rem}.settings-link-row svg{width:1.05rem;height:1.05rem;flex:none;color:var(--muted-foreground)}.settings-link-row strong{margin-left:auto;color:var(--muted-foreground);font-weight:500;text-align:right}.settings-copyright{margin-top:1rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.75rem;text-align:center}.settings-plan-panel .ui-card{position:relative;border:1px solid var(--border);border-radius:.625rem .1875rem .1875rem .625rem;background:var(--card);background-image:none;box-shadow:var(--shadow-xs)}.settings-plan-panel .ui-card:before{position:absolute;top:.875rem;bottom:.875rem;left:-.3125rem;width:.3125rem;border-radius:.1875rem 0 0 .1875rem;background:color-mix(in srgb,var(--border) 58%,var(--surface));box-shadow:-3px 0 color-mix(in srgb,var(--border) 38%,var(--background));content:""}.pricing-screen{width:min(100%,56rem);margin:0 auto}.pricing-header{margin-bottom:.875rem}.pricing-header-copy{max-width:36rem}.pricing-badge{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.pricing-header h1{margin:0;color:var(--foreground);font-family:var(--font-book);font-size:clamp(1.75rem,3vw,2.375rem);font-weight:750;line-height:1.1}.pricing-header p{margin:.375rem 0 0;color:var(--muted-foreground);font-size:.875rem;line-height:1.5}.pricing-status-card,.pricing-checkout-card{margin-bottom:1rem;padding:1rem}.pricing-status-card{border-color:color-mix(in srgb,var(--success) 28%,var(--border));background:color-mix(in srgb,var(--success-soft) 28%,var(--card))}.pricing-status-inner,.pricing-checkout-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}.pricing-status-copy{display:flex;min-width:0;align-items:center;gap:.875rem}.pricing-status-copy>svg{width:2.125rem;height:2.125rem;flex:none;color:var(--success)}.pricing-status-copy h3,.pricing-checkout-copy h3{margin:0;color:var(--foreground);font-family:var(--font-book);font-size:1.125rem;font-weight:750;line-height:1.3}.pricing-status-copy p,.pricing-checkout-copy p{margin:.125rem 0 0;color:var(--muted-foreground);font-size:.875rem;line-height:1.5}.pricing-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem;align-items:stretch}.pricing-plan-card{position:relative;display:flex;min-height:28.5rem;overflow:hidden;flex-direction:column;border-radius:.75rem}.pricing-plan-card-pro{border-color:color-mix(in srgb,var(--primary) 30%,var(--border))}.pricing-plan-main{position:relative;display:flex;flex:0 0 15.25rem;flex-direction:column;padding:1rem}.pricing-plan-icon{display:inline-flex;width:2.375rem;height:2.375rem;align-items:center;justify-content:center;margin-bottom:.75rem;border:1px solid var(--border);border-radius:.625rem;background:color-mix(in srgb,var(--background) 70%,var(--card));color:var(--muted-foreground)}.pricing-plan-icon-pro{border-color:color-mix(in srgb,var(--primary) 26%,var(--border));background:var(--primary-soft);color:var(--primary)}.pricing-plan-copy{max-width:30rem}.pricing-plan-copy h2{margin:0;color:var(--foreground);font-family:var(--font-book);font-size:1.375rem;font-weight:750;line-height:1.2}.pricing-plan-copy p{margin:.25rem 0 0;color:var(--muted-foreground);font-size:.8125rem;line-height:1.45}.pricing-plan-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .625rem;margin-top:.875rem}.pricing-plan-price strong{color:var(--foreground);font-family:var(--font-book);font-size:clamp(1.75rem,3vw,2.25rem);font-weight:800;line-height:1}.pricing-plan-price span{color:var(--muted-foreground);font-size:.875rem;font-weight:700}.pricing-plan-price p{flex-basis:100%;margin:.125rem 0 0;color:var(--muted-foreground);font-size:.75rem;line-height:1.4}.pricing-plan-button{width:100%;margin-top:auto}.pricing-billing-toggle{position:absolute;top:.875rem;right:.875rem;display:inline-flex;max-width:calc(100% - 2rem);gap:.125rem;border:1px solid var(--border);border-radius:.625rem;background:color-mix(in srgb,var(--card) 78%,var(--background));padding:.25rem;box-shadow:var(--shadow-xs)}.pricing-billing-toggle button{min-height:1.75rem;border:0;border-radius:.5rem;background:transparent;color:var(--muted-foreground);font-size:.75rem;font-weight:800;line-height:1.2;padding:.3125rem .5rem;transition:background-color .16s ease,color .16s ease}.pricing-billing-toggle button:hover{color:var(--foreground)}.pricing-billing-toggle button.active{background:var(--primary);color:var(--primary-foreground)}.pricing-billing-toggle span{display:inline-block;margin-left:.25rem;font-weight:750}.pricing-feature-list{flex:1;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface) 56%,transparent);padding:.875rem 1rem 1rem}.pricing-feature-list>p{margin:0 0 .625rem;color:var(--muted-foreground);font-size:.75rem;font-weight:850;line-height:1.4;text-transform:uppercase}.pricing-feature-list ul{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.pricing-feature-list li{display:flex;align-items:flex-start;gap:.625rem;min-width:0;color:var(--muted-foreground);font-size:.8125rem;line-height:1.4}.pricing-feature-list svg{width:1rem;height:1rem;flex:none;margin-top:.125rem;color:var(--accent)}.pricing-footer-note{margin:1rem auto 0;max-width:44rem;color:var(--muted-foreground);font-size:.875rem;line-height:1.55;text-align:center}.pricing-checkout-copy{min-width:0}.pricing-checkout-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.settings-billing-layout{display:grid;gap:1rem}.settings-billing-usage-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-top:.25rem}.settings-billing-usage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem}.settings-payment-history{display:grid;gap:.875rem;border:1px solid var(--border);border-radius:.625rem;background:color-mix(in srgb,var(--card) 88%,var(--background));box-shadow:var(--shadow-xs);padding:1rem}.settings-payment-history-head{display:flex;align-items:center;gap:.75rem}.settings-payment-history-list{display:grid;gap:.625rem}.settings-payment-history-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-radius:.625rem;background:var(--secondary);padding:.75rem .875rem}.settings-payment-history-row b,.settings-payment-history-row span{display:block}.settings-payment-history-row b{overflow:hidden;color:var(--foreground);font-size:.875rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.settings-payment-history-row span{margin-top:.125rem;color:var(--muted-foreground);font-size:.75rem;font-weight:650}.settings-payment-history-side{display:grid;justify-items:end;gap:.25rem;flex:none;text-align:right}.settings-payment-history-side strong{color:var(--foreground);font-size:.875rem}.settings-payment-history-side em{border-radius:999px;background:var(--background);color:var(--muted-foreground);font-size:.6875rem;font-style:normal;font-weight:800;padding:.125rem .5rem}.settings-payment-history-side em.status-paid{background:var(--success-soft);color:var(--success)}.settings-payment-history-side em.status-pending{background:var(--warning-soft);color:var(--warning)}@media (max-width: 820px){.pricing-header,.pricing-status-inner,.pricing-checkout-inner{align-items:stretch;flex-direction:column}.pricing-plan-grid{grid-template-columns:1fr}.pricing-plan-card{min-height:0}.pricing-plan-main{flex-basis:auto;min-height:17rem}.pricing-billing-toggle{position:static;width:100%;margin-bottom:1rem}.pricing-billing-toggle button{flex:1}.pricing-checkout-actions{justify-content:stretch}.pricing-checkout-actions>*{flex:1 1 12rem}.settings-book-body,.settings-billing-usage-grid{grid-template-columns:1fr}.settings-payment-history-row{align-items:flex-start;flex-direction:column}.settings-payment-history-side{justify-items:start;text-align:left}.settings-book-nav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--border)}.settings-book-nav:after{display:none}.settings-book-nav button{width:auto;flex:none;border-left:0}.settings-row,.settings-toggle-row{align-items:flex-start;flex-direction:column}.settings-row-control,.settings-field-control,.settings-range{width:100%}.settings-two-cols,.settings-import-grid,.settings-status-grid{grid-template-columns:1fr}.settings-import-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.settings-book-top{padding:1rem 1.1rem}.settings-section-head,.settings-section-body{padding-left:1.15rem;padding-right:1.15rem}.settings-book-panel{padding:1.2rem 1.25rem}.settings-section-head h2{font-size:1.45rem}.settings-import-stats{grid-template-columns:1fr}}.dashboard-pro-review{grid-column:1 / -1;border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border));border-radius:.75rem;background:color-mix(in srgb,var(--primary) 3%,var(--background));padding:1.125rem}.dashboard-pro-review.locked{background:color-mix(in srgb,var(--secondary) 54%,var(--background))}.dashboard-pro-review-head p{max-width:46rem;margin:-.25rem 0 .9rem;color:var(--muted-foreground);font-size:.8125rem;line-height:1.55}.dashboard-pro-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.dashboard-pro-review-card{display:flex;align-items:center;gap:.8rem;min-width:0;border:1px solid var(--border);border-radius:.625rem;background:var(--card);padding:.85rem .9rem;color:inherit;text-align:left;transition:transform .16s ease,border-color .16s ease,background-color .16s ease}.dashboard-pro-review-card:not(:disabled):hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 42%,var(--border));background:color-mix(in srgb,var(--primary) 5%,var(--card))}.dashboard-pro-review-card:disabled{cursor:not-allowed;opacity:.58}.dashboard-pro-review-icon{display:grid;width:2rem;height:2rem;flex:none;place-items:center;border-radius:.55rem;background:var(--primary-soft);color:var(--primary)}.dashboard-pro-review-body{min-width:0;flex:1}.dashboard-pro-review-title,.dashboard-pro-review-desc{display:block}.dashboard-pro-review-title{color:var(--foreground);font-family:var(--font-book);font-size:.98rem;font-weight:700}.dashboard-pro-review-desc{margin-top:.1rem;overflow:hidden;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.7rem;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.dashboard-pro-review-count{flex:none;border-radius:999px;background:var(--secondary);padding:.22rem .55rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.68rem;font-weight:800}.stats-pro-lock-panel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center;margin-top:1.75rem;padding:1.25rem 1.5rem;border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border));border-radius:.875rem;background:color-mix(in srgb,var(--primary) 4%,var(--surface));box-shadow:var(--shadow-xs)}.stats-pro-lock-icon{display:grid;width:2.75rem;height:2.75rem;place-items:center;border-radius:.8rem;background:var(--primary-soft);color:var(--primary)}.stats-pro-lock-icon svg{width:1.25rem;height:1.25rem}.stats-pro-lock-panel h3{font-family:var(--font-book);font-size:1.125rem;font-weight:700}.stats-pro-lock-panel p{margin-top:.25rem;color:var(--muted-foreground);font-size:.85rem;line-height:1.55}@media (max-width: 900px){.dashboard-pro-review-grid,.stats-pro-lock-panel{grid-template-columns:1fr}.stats-pro-lock-cta{width:100%}}.settings-learning-explain{display:grid;gap:.35rem}.settings-learning-explain strong{color:var(--foreground);font-size:.95rem}.settings-learning-explain span{display:block}.settings-learning-block{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.settings-learning-block-head{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.9rem}.settings-goal-plan-grid{display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr))}.settings-goal-plan-card{background:color-mix(in srgb,var(--background) 84%,var(--card));border:1px solid var(--border);border-radius:.9rem;color:var(--foreground);cursor:pointer;display:grid;gap:.45rem;min-height:9rem;padding:.9rem;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.settings-goal-plan-card:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));box-shadow:0 12px 30px color-mix(in srgb,var(--foreground) 9%,transparent);transform:translateY(-1px)}.settings-goal-plan-card.selected{border-color:color-mix(in srgb,var(--primary) 70%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}.settings-goal-plan-title{font-family:var(--font-ui);font-size:1rem;font-weight:800}.settings-goal-plan-badge{color:var(--primary);font-family:var(--font-ui);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.settings-goal-plan-desc,.settings-goal-plan-daily{color:var(--muted-foreground);font-size:.8rem;line-height:1.45}.settings-goal-plan-daily{color:var(--foreground);font-weight:700}.settings-learning-custom-note{margin-top:.75rem}@media (max-width: 760px){.settings-goal-plan-grid{grid-template-columns:1fr}}.dashboard-first-run-guide{grid-column:1 / -1;border:1px solid var(--border);border-radius:.75rem;background:color-mix(in srgb,var(--card) 86%,var(--secondary));padding:1.125rem}.dashboard-first-run-intro{max-width:44rem;margin:-.25rem 0 .95rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.8125rem;line-height:1.55}.dashboard-first-run-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.dashboard-first-run-card{display:flex;align-items:stretch;flex-direction:column;gap:.75rem;min-width:0;min-height:12.5rem;border:1px solid var(--border);border-radius:.7rem;background:var(--card);padding:.95rem;color:inherit;text-align:left;transition:transform .16s ease,border-color .16s ease,background-color .16s ease}.dashboard-first-run-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 36%,var(--border));background:color-mix(in srgb,var(--primary) 4%,var(--card))}.dashboard-first-run-card.primary{border-color:color-mix(in srgb,var(--primary) 34%,var(--border));background:color-mix(in srgb,var(--primary) 5%,var(--card))}.dashboard-first-run-card-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.dashboard-first-run-icon{display:grid;width:2.1rem;height:2.1rem;flex:none;place-items:center;border-radius:.625rem;background:var(--primary-soft);color:var(--primary)}.dashboard-first-run-copy{display:flex;min-height:0;min-width:0;flex:1;flex-direction:column}.dashboard-first-run-copy strong,.dashboard-first-run-copy small,.dashboard-first-run-copy em{display:block}.dashboard-first-run-copy strong{color:var(--foreground);font-family:var(--font-book);font-size:clamp(1rem,.92vw,1.12rem);font-weight:750;line-height:1.18;max-width:100%}.dashboard-first-run-copy small{margin-top:.5rem;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.78rem;line-height:1.5}.dashboard-first-run-copy em{margin-top:auto;padding-top:.8rem;color:var(--primary);font-family:var(--font-ui);font-size:.78rem;font-style:normal;font-weight:800}:root[data-theme=dark] .dashboard-first-run-guide{background:#252320b8}@media (max-width: 1023px){.dashboard-first-run-grid{grid-template-columns:1fr}}.flashcard-deck-card{width:100%;border:1px solid var(--border);border-radius:.9rem;background:#fffaf0b8;padding:1rem;color:var(--foreground);box-shadow:var(--shadow-xs);transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.flashcard-deck-card:hover{border-color:var(--border-strong);background:#fffaf0f0;transform:translateY(-1px)}.flashcard-deck-card.is-active{border-color:#bd614994;background:var(--card);box-shadow:var(--shadow-card)}.upgrade-modal-root{z-index:2147483646}.flashcard-study-card{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:1rem;background:radial-gradient(circle at 18% 14%,rgba(189,97,73,.08),transparent 15rem),linear-gradient(180deg,#fffdf7f5,#fff8ebf5);padding:clamp(1.25rem,4vw,2.4rem);box-shadow:var(--shadow-card)}.flashcard-study-card>*{position:relative;z-index:1}.flashhub-study-vocabulary{margin-inline:auto;width:min(100%,44rem);text-align:center}.flashhub-study-vocabulary-word{color:var(--foreground);font-family:var(--font-book);font-size:clamp(2.65rem,7vw,3.4rem);font-weight:800;line-height:1.05;overflow-wrap:anywhere}.flashhub-study-vocabulary-soundline{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.65rem;margin-top:.85rem;color:var(--muted-foreground);font-family:var(--font-book);font-size:1.05rem;font-weight:700;line-height:1.25}.flashhub-study-vocabulary-audio{display:inline-flex;height:2rem;width:2rem;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:9999px;background:var(--background);color:var(--foreground);transition:border-color .16s ease,background-color .16s ease,color .16s ease,transform .16s ease}.flashhub-study-vocabulary-audio:hover{border-color:var(--border-strong);background:var(--secondary);color:var(--primary);transform:translateY(-1px)}.flashhub-study-vocabulary-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem;margin-top:.55rem;color:var(--muted-foreground);font-size:.92rem;font-weight:700}:root[data-theme=dark] .flashcard-deck-card{background:#252320c7}:root[data-theme=dark] .flashcard-deck-card:hover,:root[data-theme=dark] .flashcard-deck-card.is-active{background:var(--card)}:root[data-theme=dark] .flashcard-study-card{background:radial-gradient(circle at 18% 14%,rgba(204,120,92,.12),transparent 15rem),linear-gradient(180deg,#252320f5,#1f1e1bf5)}.flashcard-overview-card{background:radial-gradient(circle at 8% 0%,rgba(189,97,73,.09),transparent 16rem),var(--card)}.dashboard-flashcard-section{margin-top:1rem}.dashboard-flashcard-card{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr) auto;gap:.9rem;align-items:center;border:1px solid var(--border);border-radius:1rem;background:#fffaf0c2;padding:1rem;text-align:left;color:var(--foreground);box-shadow:var(--shadow-xs);transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.dashboard-flashcard-card:hover{border-color:var(--border-strong);background:#fffaf0f5;transform:translateY(-1px)}.dashboard-flashcard-card.has-due{border-color:#bd61496b;background:radial-gradient(circle at 0% 0%,rgba(189,97,73,.1),transparent 13rem),#fffaf0eb}.dashboard-flashcard-mark{display:inline-flex;width:2.35rem;height:2.35rem;align-items:center;justify-content:center;border-radius:.8rem;background:var(--primary-soft);color:var(--primary)}.dashboard-flashcard-body{display:grid;min-width:0;gap:.25rem}.dashboard-flashcard-title{color:var(--foreground);font-family:var(--font-display);font-size:clamp(1rem,2.1vw,1.18rem);font-weight:800;line-height:1.25}.dashboard-flashcard-meta,.dashboard-flashcard-stats{color:var(--muted-foreground);font-size:.82rem;line-height:1.45}.dashboard-flashcard-stats b{color:var(--foreground)}:root[data-theme=dark] .flashcard-overview-card{background:radial-gradient(circle at 8% 0%,rgba(204,120,92,.13),transparent 16rem),var(--card)}:root[data-theme=dark] .dashboard-flashcard-card,:root[data-theme=dark] .dashboard-flashcard-card.has-due{background:#252320c7}:root[data-theme=dark] .dashboard-flashcard-card:hover{background:var(--card)}.flashcard-import-panel{background:radial-gradient(circle at 0% 0%,rgba(189,97,73,.06),transparent 14rem),#fffaf094}.flashcard-import-list{display:grid;gap:.75rem}.flashcard-import-row{border:1px solid var(--border);border-radius:.9rem;background:#fffdf7d1;padding:.9rem;box-shadow:var(--shadow-xs)}.flashcard-import-row.is-duplicate{background:#f3efe594}:root[data-theme=dark] .flashcard-import-panel{background:radial-gradient(circle at 0% 0%,rgba(204,120,92,.11),transparent 14rem),#2523209e}:root[data-theme=dark] .flashcard-import-row{background:#1f1e1bd1}:root[data-theme=dark] .flashcard-import-row.is-duplicate{background:#2c2a26b8}.flashcard-share-panel{background:radial-gradient(circle at 0% 0%,rgba(189,97,73,.06),transparent 14rem),#fffaf094}:root[data-theme=dark] .flashcard-share-panel{background:radial-gradient(circle at 0% 0%,rgba(204,120,92,.11),transparent 14rem),#2523209e}.study-group-panel{background:radial-gradient(circle at 0% 0%,rgba(189,97,73,.07),transparent 15rem),#fffaf09e}.study-group-card{width:100%;border:1px solid var(--border);border-radius:.9rem;background:#fffdf7c7;padding:.9rem;color:var(--foreground);box-shadow:var(--shadow-xs);transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.study-group-card:hover{border-color:var(--border-strong);background:#fffdf7f5;transform:translateY(-1px)}.study-group-card.is-active{border-color:#bd614994;background:var(--card);box-shadow:var(--shadow-card)}:root[data-theme=dark] .study-group-panel{background:radial-gradient(circle at 0% 0%,rgba(204,120,92,.12),transparent 15rem),#252320a8}:root[data-theme=dark] .study-group-card{background:#1f1e1bd1}:root[data-theme=dark] .study-group-card:hover,:root[data-theme=dark] .study-group-card.is-active{background:var(--card)}.flashhub-tabs{display:inline-flex;max-width:100%;gap:.25rem;border:1px solid hsl(var(--border));background:hsl(var(--secondary));border-radius:.95rem;padding:.25rem;box-shadow:0 8px 18px #46341c0f}.flashhub-tab{display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center;gap:.5rem;border:0;border-radius:.75rem;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font-size:.9rem;font-weight:700;padding:.65rem 1rem;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}.flashhub-tab:hover{color:hsl(var(--foreground));background:hsl(var(--background) / .42)}.flashhub-tab.is-active{color:hsl(var(--primary));background:hsl(var(--card));box-shadow:0 1px 4px #46341c1f}.flashhub-tab b{display:inline-flex;min-width:1.35rem;height:1.35rem;align-items:center;justify-content:center;border-radius:999px;background:hsl(var(--primary-soft));color:hsl(var(--primary));font-size:.72rem;line-height:1;padding:0 .35rem}.flashhub-explore-hero{position:relative;overflow:hidden}.flashhub-explore-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at top right,hsl(var(--primary) / .11),transparent 38%)}.flashhub-explore-hero>*{position:relative}.flashhub-set-card{overflow:hidden;border:1px solid hsl(var(--border));border-radius:1rem;background:hsl(var(--card));box-shadow:0 6px 16px #46341c14}.flashhub-set-cover{min-height:6rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;color:hsl(var(--primary-foreground));background:linear-gradient(145deg,hsl(var(--primary)),hsl(var(--primary-hover)))}.flashhub-set-cover span{display:inline-flex;align-items:center;border-radius:999px;background:#ffffff2e;color:currentColor;font-size:.7rem;font-weight:800;letter-spacing:.06em;padding:.25rem .7rem;text-transform:uppercase}:root[data-theme=dark] .flashhub-tabs,:root[data-theme=dark] .flashhub-set-card,:root[data-theme=dark] .flashhub-explore-hero{box-shadow:0 8px 20px #00000038}@media (max-width: 640px){.flashhub-tabs{display:grid;width:100%;grid-template-columns:1fr}.flashhub-tab{justify-content:flex-start}}.set-builder-shell{display:grid;grid-template-columns:minmax(0,1fr) 19rem;gap:1rem;align-items:start}.set-builder-main,.set-builder-preview{box-shadow:0 10px 24px #4c392114}.set-builder-swatches,.set-builder-icons{display:flex;flex-wrap:wrap;gap:.55rem}.set-builder-swatch{width:2.1rem;height:2.1rem;border-radius:.65rem;border:2px solid transparent;box-shadow:inset 0 0 0 1px #2c262014;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.set-builder-swatch:hover,.set-builder-icon:hover,.set-builder-segmented button:hover{transform:translateY(-1px)}.set-builder-swatch.is-active{border-color:hsl(var(--foreground));box-shadow:inset 0 0 0 2px hsl(var(--card))}.set-builder-swatch.is-accent,.set-builder-preview-cover.is-accent{background:linear-gradient(150deg,hsl(var(--primary)),#c9744f)}.set-builder-swatch.is-gold,.set-builder-preview-cover.is-gold{background:linear-gradient(150deg,#9a7322,#b9923a)}.set-builder-swatch.is-sage,.set-builder-preview-cover.is-sage{background:linear-gradient(150deg,#5f7257,#76906b)}.set-builder-swatch.is-blue,.set-builder-preview-cover.is-blue{background:linear-gradient(150deg,#4f6d86,#6a8aa3)}.set-builder-swatch.is-plum,.set-builder-preview-cover.is-plum{background:linear-gradient(150deg,#7a5f7e,#977a9b)}.set-builder-swatch.is-rose,.set-builder-preview-cover.is-rose{background:linear-gradient(150deg,#9f5b5f,#c8797e)}.set-builder-swatch.is-teal,.set-builder-preview-cover.is-teal{background:linear-gradient(150deg,#40756f,#5c9a91)}.set-builder-swatch.is-amber,.set-builder-preview-cover.is-amber{background:linear-gradient(150deg,#a35f2a,#d08a43)}.set-builder-swatch.is-slate,.set-builder-preview-cover.is-slate{background:linear-gradient(150deg,#59646f,#7d8894)}.set-builder-swatch.is-cocoa,.set-builder-preview-cover.is-cocoa{background:linear-gradient(150deg,#76563f,#9a7558)}.set-builder-icon{width:2.35rem;height:2.35rem;border-radius:.7rem;border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--muted-foreground));display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .16s ease,color .16s ease,border-color .16s ease,background .16s ease}.set-builder-icon.is-active{border-color:hsl(var(--primary));background:hsl(var(--primary-soft));color:hsl(var(--primary))}.set-builder-segmented{display:inline-flex;flex-wrap:wrap;gap:.25rem;border:1px solid hsl(var(--border));background:hsl(var(--muted));border-radius:.85rem;padding:.25rem}.set-builder-segmented button{border:0;border-radius:.65rem;background:transparent;color:hsl(var(--muted-foreground));display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .9rem;font-family:var(--font-sans);font-size:.82rem;font-weight:700;cursor:pointer;transition:transform .16s ease,color .16s ease,background .16s ease}.set-builder-segmented button.is-active{background:hsl(var(--card));color:hsl(var(--primary));box-shadow:0 1px 3px #46341c1f}.set-builder-preview-card{overflow:hidden;border-radius:.9rem;border:1px solid hsl(var(--border));background:hsl(var(--card))}.set-builder-preview-cover{position:relative;height:6.5rem;display:flex;align-items:flex-end;padding:.9rem;color:#fff7ec}.set-builder-preview-cover>svg{position:absolute;top:.9rem;left:.9rem;opacity:.95}.set-builder-visibility-pill{position:absolute;top:.75rem;right:.75rem;display:inline-flex;align-items:center;gap:.32rem;border-radius:999px;background:#2c26207a;color:#fdf6ee;padding:.25rem .6rem;font-family:var(--font-sans);font-size:.68rem;font-weight:800}:root[data-theme=dark] .set-builder-main,:root[data-theme=dark] .set-builder-preview,:root[data-theme=dark] .set-builder-preview-card{box-shadow:0 12px 26px #00000038}:root[data-theme=dark] .set-builder-swatch.is-active{border-color:hsl(var(--primary));box-shadow:inset 0 0 0 2px hsl(var(--background))}@media (max-width: 900px){.set-builder-shell{grid-template-columns:1fr}}.flashhub-set-cover.is-accent{background:linear-gradient(150deg,hsl(var(--primary)),#c9744f)}.flashhub-search-box{display:flex;min-height:2.75rem;align-items:center;gap:.6rem;border:1px solid hsl(var(--border));border-radius:.9rem;background:hsl(var(--card) / .82);color:hsl(var(--muted-foreground));padding:0 .85rem;box-shadow:inset 0 -1px hsl(var(--border) / .5)}.flashhub-search-box input{min-width:0;width:100%;border:0;background:transparent;color:hsl(var(--foreground));font-family:var(--font-book, Georgia, serif);font-size:.96rem;outline:none;padding:.65rem 0}.flashhub-search-box input::-moz-placeholder{color:hsl(var(--muted-foreground));font-style:italic}.flashhub-search-box input::placeholder{color:hsl(var(--muted-foreground));font-style:italic}.flashhub-filter-chip{display:inline-flex;min-height:2.35rem;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--card));color:hsl(var(--muted-foreground));cursor:pointer;font-size:.78rem;font-weight:800;padding:.45rem .85rem;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.flashhub-filter-chip:hover,.flashhub-filter-chip.is-active{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.flashhub-set-card{cursor:pointer;text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.flashhub-set-card:hover,.flashhub-set-card.is-selected{border-color:hsl(var(--primary) / .58);box-shadow:0 10px 24px #46341c1f;transform:translateY(-1px)}.flashhub-preview-card{align-self:start;position:sticky;top:1rem;box-shadow:0 10px 24px #4c392114}:root[data-theme=dark] .flashhub-search-box,:root[data-theme=dark] .flashhub-preview-card{box-shadow:0 12px 26px #00000038}@media (max-width: 1280px){.flashhub-preview-card{position:static}}.study-group-classroom-shell{border:1px solid hsl(var(--border));border-radius:1.1rem;background:radial-gradient(circle at 0% 0%,hsl(var(--primary) / .08),transparent 18rem),hsl(var(--card) / .86);box-shadow:0 10px 24px #4c392114;overflow:hidden}.study-group-classroom-head{display:flex;align-items:flex-start;gap:.9rem;padding:1.15rem 1.25rem;border-bottom:1px solid hsl(var(--border))}.study-group-classroom-icon{width:3.15rem;height:3.15rem;border-radius:.95rem;background:linear-gradient(150deg,hsl(var(--primary)),#c9744f);color:hsl(var(--primary-foreground));display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;box-shadow:0 6px 16px hsl(var(--primary) / .24)}.study-group-classroom-eyebrow{color:hsl(var(--primary));font-family:var(--font-sans);font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.study-group-classroom-title{color:hsl(var(--foreground));font-size:clamp(1.25rem,3vw,1.75rem);line-height:1.2;margin:.2rem 0 0}.study-group-classroom-role{display:inline-flex;align-items:center;border-radius:999px;background:hsl(var(--primary-soft));color:hsl(var(--primary));font-size:.7rem;font-weight:800;padding:.22rem .65rem}.study-group-classroom-desc{color:hsl(var(--muted-foreground));font-size:.88rem;margin-top:.25rem}.study-group-classroom-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;padding:.9rem 1.25rem 1.1rem}.study-group-classroom-stat{border:1px solid hsl(var(--border));border-radius:.85rem;background:hsl(var(--background) / .62);padding:.75rem .9rem}.study-group-classroom-stat div{color:hsl(var(--foreground));font-size:1.4rem;font-weight:800;line-height:1.1}.study-group-classroom-stat span{display:block;color:hsl(var(--muted-foreground));font-family:var(--font-sans);font-size:.74rem;margin-top:.2rem}.study-group-classroom-stat.is-sage div{color:hsl(var(--success))}.study-group-classroom-stat.is-accent div{color:hsl(var(--primary))}.study-group-classroom-grid{display:grid;grid-template-columns:minmax(0,1fr) 19rem;gap:1rem;padding:0 1.25rem 1.25rem}.study-group-classroom-main,.study-group-classroom-aside{min-width:0}.study-group-main-lesson,.study-group-classroom-section,.study-group-classroom-daily,.study-group-classroom-aside{border:1px solid hsl(var(--border));border-radius:1rem;background:hsl(var(--background) / .62);box-shadow:0 6px 16px #46341c0f}.study-group-main-lesson{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem}.study-group-main-badge{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;background:#9a732224;color:#9a7322;font-family:var(--font-sans);font-size:.68rem;font-weight:800;letter-spacing:.08em;padding:.25rem .7rem;text-transform:uppercase}.study-group-main-lesson h3{color:hsl(var(--foreground));font-size:1.25rem;margin:.6rem 0 .25rem}.study-group-main-lesson p{color:hsl(var(--muted-foreground));font-size:.85rem;margin-bottom:.8rem}.study-group-classroom-section,.study-group-classroom-daily{margin-bottom:1rem;padding:1rem}.study-group-section-title{display:flex;align-items:center;gap:.75rem;color:hsl(var(--muted-foreground));font-family:var(--font-sans);font-size:.72rem;font-weight:800;letter-spacing:.12em;margin-bottom:.8rem;text-transform:uppercase}.study-group-section-title:after{content:"";flex:1;height:1px;background:hsl(var(--border))}.study-group-classroom-path{display:flex;flex-direction:column}.study-group-classroom-path-row{display:flex;align-items:center;gap:.75rem;border-bottom:1px solid hsl(var(--border));padding:.8rem 0}.study-group-path-index{display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;border-radius:.55rem;background:hsl(var(--primary-soft));color:hsl(var(--primary));font-size:.78rem;font-weight:800;flex:0 0 auto}.study-group-path-title{color:hsl(var(--foreground));font-size:.95rem;font-weight:800;min-width:0}.study-group-path-title span{color:#9a7322;font-family:var(--font-sans);font-size:.62rem;font-weight:900;letter-spacing:.07em;margin-left:.4rem}.study-group-path-meta{color:hsl(var(--muted-foreground));font-family:var(--font-sans);font-size:.74rem;margin-top:.12rem}.study-group-path-status{border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:.68rem;font-weight:800;padding:.24rem .65rem;white-space:nowrap}.study-group-path-status.is-done{background:hsl(var(--success-soft));color:hsl(var(--success))}.study-group-path-status.is-doing{background:hsl(var(--primary-soft));color:hsl(var(--primary))}.study-group-path-action{border:0;background:transparent;color:hsl(var(--primary));cursor:pointer;font-size:.78rem;font-weight:800;white-space:nowrap}.study-group-classroom-daily{background:linear-gradient(180deg,#fff7ecdb,hsl(var(--background) / .64))}.study-group-daily-head{display:flex;align-items:center;gap:.45rem;color:#9a7322;font-family:var(--font-sans);font-size:.72rem;font-weight:900;letter-spacing:.09em;margin-bottom:.65rem;text-transform:uppercase}.study-group-task{display:flex;align-items:center;gap:.6rem;padding:.38rem 0}.study-group-task span{width:1.25rem;height:1.25rem;border:1.5px solid hsl(var(--border-strong));border-radius:.42rem;color:hsl(var(--primary-foreground));display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.study-group-task.is-done span{background:hsl(var(--success));border-color:hsl(var(--success))}.study-group-task p{color:hsl(var(--foreground));font-size:.88rem;margin:0}.study-group-task.is-done p{color:hsl(var(--muted-foreground));text-decoration:line-through}.study-group-classroom-aside{align-self:start;padding:1rem 1rem 1rem 1.55rem;position:relative}.study-group-classroom-aside:before{content:"";position:absolute;top:.9rem;bottom:.9rem;left:.85rem;width:1px;background:hsl(var(--primary) / .22)}.study-group-aside-tabs{display:flex;gap:.35rem;margin-bottom:.75rem}.study-group-aside-tabs span{flex:1;border-bottom:2px solid hsl(var(--primary));color:hsl(var(--primary));font-family:var(--font-sans);font-size:.73rem;font-weight:800;padding:.25rem 0;text-align:center}.study-group-aside-tabs span+span{border-bottom-color:transparent;color:hsl(var(--muted-foreground))}.study-group-feed-row,.study-group-member-row{display:flex;align-items:flex-start;gap:.65rem;border-bottom:1px solid hsl(var(--border));padding:.65rem 0}.study-group-feed-row:last-child,.study-group-member-row:last-child{border-bottom:0}.study-group-feed-row>span{width:1.9rem;height:1.9rem;border:1px solid hsl(var(--border));border-radius:.65rem;background:hsl(var(--card));color:hsl(var(--primary));display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.study-group-feed-row b{color:hsl(var(--foreground));font-family:var(--font-sans);font-size:.8rem}.study-group-feed-row p{color:hsl(var(--muted-foreground));font-size:.8rem;margin:.1rem 0 0}.study-group-member-row{align-items:center}.study-group-member-avatar{width:1.7rem;height:1.7rem;border-radius:999px;background:hsl(var(--primary-soft));color:hsl(var(--primary));display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:900}.study-group-member-row span:not(.study-group-member-avatar){color:hsl(var(--foreground));font-size:.82rem;font-weight:700}.study-group-member-row small{color:hsl(var(--muted-foreground));margin-left:auto}:root[data-theme=dark] .study-group-classroom-shell,:root[data-theme=dark] .study-group-main-lesson,:root[data-theme=dark] .study-group-classroom-section,:root[data-theme=dark] .study-group-classroom-daily,:root[data-theme=dark] .study-group-classroom-aside{box-shadow:0 12px 26px #00000038}:root[data-theme=dark] .study-group-classroom-daily{background:linear-gradient(180deg,#332a20b8,hsl(var(--background) / .62))}@media (max-width: 1100px){.study-group-classroom-grid{grid-template-columns:1fr}.study-group-classroom-aside{position:static}}@media (max-width: 760px){.study-group-classroom-head,.study-group-main-lesson{flex-direction:column;align-items:stretch}.study-group-classroom-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.study-group-classroom-grid{padding:0 .85rem .85rem}.study-group-classroom-path-row{align-items:flex-start;flex-wrap:wrap}}.study-group-feed-row small{display:block;color:hsl(var(--muted-foreground));font-family:var(--font-sans);font-size:.68rem;font-weight:600;margin-top:.22rem}.study-group-feed-empty{border:1px dashed hsl(var(--border));border-radius:.8rem;background:hsl(var(--secondary) / .45);color:hsl(var(--muted-foreground));font-size:.82rem;padding:.85rem;text-align:center}:root[data-theme=dark] .study-group-feed-empty{background:hsl(var(--secondary) / .32)}.flashhub-social-note{color:hsl(var(--muted-foreground));font-family:var(--font-sans);font-size:.78rem}.flashhub-comment-input:focus{border-color:hsl(var(--primary))}.flashhub-demo-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.35rem}.flashhub-demo-eyebrow{color:hsl(var(--primary));font-family:var(--font-sans);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.flashhub-demo-title-row{display:flex;align-items:center;gap:.75rem;margin-top:.25rem}.flashhub-demo-title-row h1{color:hsl(var(--foreground));font-size:clamp(2rem,5vw,2.7rem);line-height:1.05;margin:0}.flashhub-demo-logo{width:2.15rem;height:2.15rem;color:hsl(var(--primary));flex:0 0 auto}.flashhub-demo-header p{color:hsl(var(--muted-foreground));font-family:var(--font-sans);font-size:.92rem;margin-top:.3rem;max-width:44rem}.flashhub-demo-pane,.flashhub-mine-demo{display:flex;flex-direction:column;gap:1.15rem}.flashhub-demo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.flashhub-demo-toolbar .flashhub-search-box{min-width:min(100%,18rem);flex:1 1 18rem;border-top:0;border-left:0;border-right:0;border-radius:0;background:transparent;box-shadow:none}.flashhub-demo-chips{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.flashhub-demo-summary{display:flex;flex-wrap:wrap;gap:.55rem;color:hsl(var(--muted-foreground));font-family:var(--font-sans);font-size:.78rem;font-weight:700}.flashhub-demo-summary span{border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--card) / .72);padding:.32rem .75rem}.flashhub-demo-grid,.flashhub-mine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.flashhub-demo-set,.flashhub-create-tile{border:1px solid hsl(var(--border));border-radius:1rem;background:hsl(var(--card));box-shadow:0 8px 18px #46341c14;overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.flashhub-demo-set:hover,.flashhub-demo-set.is-selected,.flashhub-create-tile:hover{border-color:hsl(var(--primary) / .58);box-shadow:0 12px 26px #46341c1f;transform:translateY(-1px)}.flashhub-demo-set-main{display:block;width:100%;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.flashhub-demo-set .flashhub-set-cover{min-height:6.15rem;position:relative}.flashhub-set-cover b,.flashhub-set-cover em{position:absolute;right:0;top:.65rem;border-radius:999px 0 0 999px;background:#2c2620ad;color:#f3e9d6;font-family:var(--font-sans);font-size:.66rem;font-style:normal;font-weight:900;padding:.24rem .65rem}.flashhub-demo-set-body{padding:.95rem 1rem .25rem}.flashhub-demo-set-body h3{color:hsl(var(--foreground));font-size:1.05rem;line-height:1.3;margin:0}.flashhub-demo-set-body p{color:hsl(var(--muted-foreground));display:-webkit-box;font-size:.86rem;line-height:1.45;margin-top:.45rem;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.flashhub-demo-set-body small{color:hsl(var(--muted-foreground));display:block;font-family:var(--font-sans);font-size:.75rem;font-weight:700;margin-top:.65rem}.flashhub-demo-set-foot{border-top:1px solid hsl(var(--border));display:flex;align-items:center;gap:.25rem;padding:.72rem .85rem}.flashhub-mini-action{display:inline-flex;align-items:center;gap:.32rem;border:0;border-radius:.55rem;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font-family:var(--font-sans);font-size:.78rem;font-weight:800;padding:.35rem .45rem}.flashhub-mini-action:hover{background:hsl(var(--primary-soft));color:hsl(var(--primary))}.flashhub-mini-action.is-liked{color:hsl(var(--destructive))}.flashhub-mini-stat{color:hsl(var(--muted-foreground));flex:1;font-family:var(--font-sans);font-size:.74rem;font-weight:700;min-width:0}.flashhub-study-button{margin-left:auto;border:0;border-radius:.62rem;background:hsl(var(--primary));color:hsl(var(--primary-foreground));cursor:pointer;font-family:var(--font-sans);font-size:.78rem;font-weight:900;padding:.48rem .85rem}.flashhub-study-button:disabled{cursor:not-allowed;opacity:.55}.flashhub-demo-detail{display:grid;grid-template-columns:minmax(0,1fr) 20rem}.flashhub-demo-detail-left{padding:1.25rem 1.4rem}.flashhub-demo-detail-left h2{color:hsl(var(--foreground));font-size:1.45rem;margin:0}.flashhub-demo-preview-card{border:1px dashed hsl(var(--border-strong));border-radius:.85rem;background:hsl(var(--secondary) / .5);margin-top:1rem;padding:1rem}.flashhub-demo-preview-row{border-bottom:1px solid hsl(var(--border));padding:.65rem 0}.flashhub-demo-preview-row strong{color:hsl(var(--foreground));display:block;font-family:var(--font-book, Georgia, serif);font-size:1.06rem}.flashhub-demo-preview-row span{color:hsl(var(--muted-foreground));display:block;font-size:.88rem;margin-top:.15rem}.flashhub-demo-comments{border-left:1px solid hsl(var(--border));background:hsl(var(--background) / .58);padding:1.1rem 1.2rem 1.1rem 1.75rem;position:relative}.flashhub-demo-comments:before{content:"";position:absolute;left:.85rem;top:1rem;bottom:1rem;width:1px;background:hsl(var(--primary) / .28)}.flashhub-demo-comments h3{color:hsl(var(--primary));font-family:var(--font-sans);font-size:.78rem;font-weight:900;letter-spacing:.1em;margin:0;text-transform:uppercase}.flashhub-demo-comment{display:flex;align-items:flex-start;gap:.6rem;border-bottom:1px solid hsl(var(--border));padding:.65rem 0}.flashhub-demo-comment p{color:hsl(var(--foreground));font-size:.86rem;margin:.12rem 0 0}.flashhub-demo-comment button{border:0;border-radius:.45rem;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;padding:.25rem}.flashhub-demo-avatar{align-items:center;background:hsl(var(--primary-soft));border-radius:999px;color:hsl(var(--primary));display:inline-flex;flex:0 0 auto;font-size:.75rem;font-weight:900;height:1.55rem;justify-content:center;width:1.55rem}.flashhub-demo-comment-box{display:flex;align-items:center;gap:.55rem;margin-top:.9rem}.flashhub-demo-comment-box input{min-width:0;flex:1;border:0;border-bottom:1.5px solid hsl(var(--border-strong));background:transparent;color:hsl(var(--foreground));font-family:var(--font-book, Georgia, serif);outline:none;padding:.45rem .1rem}.flashhub-section-title{display:flex;align-items:center;gap:.75rem;color:hsl(var(--muted-foreground));font-family:var(--font-sans);font-size:.75rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.flashhub-section-title:after{content:"";flex:1;height:1px;background:hsl(var(--border))}.flashhub-create-tile{min-height:13.5rem;border-style:dashed;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;color:hsl(var(--foreground));cursor:pointer;padding:1rem;text-align:center}.flashhub-create-tile span{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:.9rem;background:hsl(var(--primary-soft));color:hsl(var(--primary))}.flashhub-create-tile small{color:hsl(var(--muted-foreground));font-family:var(--font-sans);font-size:.8rem;max-width:12rem}.study-group-panel{box-shadow:none}.study-group-panel>.mb-5:first-child{display:none}:root[data-theme=dark] .flashhub-demo-set,:root[data-theme=dark] .flashhub-create-tile,:root[data-theme=dark] .flashhub-demo-detail{box-shadow:0 12px 26px #0000003d}@media (max-width: 980px){.flashhub-demo-grid,.flashhub-mine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flashhub-demo-detail{grid-template-columns:1fr}.flashhub-demo-comments{border-left:0;border-top:1px solid hsl(var(--border))}}@media (max-width: 640px){.flashhub-demo-header{flex-direction:column}.flashhub-demo-toolbar{align-items:stretch}.flashhub-demo-grid,.flashhub-mine-grid{grid-template-columns:1fr}}.flashhub-demo-surface{--fh-paper: #f3ece0;--fh-card: #faf5ea;--fh-panel: #faf4e8;--fh-ink: #2c2620;--fh-ink-2: #5c5346;--fh-faint: #8c8170;--fh-rule: #d9cdb8;--fh-rule-2: #cabfa6;--fh-accent: #b25b36;--fh-accent-soft: rgba(178, 91, 54, .1);--fh-gold: #9a7322;--fh-sage: #5f7257;--fh-blue: #4f6d86;--fh-plum: #7a5f7e;--fh-red: #c2402e;--fh-nb-line: #cdd8df;position:relative;max-width:1000px;margin:0 auto;padding:34px 24px 70px;border-radius:22px;background:var(--fh-paper);color:var(--fh-ink);font-family:Georgia,Times New Roman,serif;line-height:1.5;overflow:hidden;box-shadow:0 20px 50px #46341c14}.flashhub-demo-surface:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.5;background:repeating-linear-gradient(180deg,transparent,transparent 28px,rgba(120,95,55,.025) 28px,rgba(120,95,55,.025) 29px)}.flashhub-demo-surface>*{position:relative;z-index:1}.flashhub-demo-surface button,.flashhub-demo-surface input,.flashhub-demo-surface textarea,.flashhub-demo-surface select{font-family:Inter,ui-sans-serif,system-ui,sans-serif}.flashhub-demo-surface h1,.flashhub-demo-surface h2,.flashhub-demo-surface h3,.flashhub-demo-surface h4{font-family:Georgia,Times New Roman,serif;color:var(--fh-ink)}.flashhub-demo-header{display:block;margin-bottom:0}.flashhub-demo-eyebrow{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--fh-accent);font-weight:500}.flashhub-demo-title-row{display:flex;align-items:center;gap:12px;margin-top:5px}.flashhub-demo-title-row h1{font-size:38px;font-weight:600;letter-spacing:-.015em;line-height:1.08;margin:0}.flashhub-demo-logo{width:34px;height:34px;color:var(--fh-accent)}.flashhub-demo-header p{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:13.5px;color:var(--fh-faint);margin-top:4px;max-width:none}.flashhub-tabs{display:inline-flex;gap:4px;background:#ece1cd;border:1px solid var(--fh-rule);border-radius:12px;padding:4px;margin:24px 0 26px;box-shadow:none}.flashhub-tab{border:0;background:transparent;cursor:pointer;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:14px;font-weight:600;color:var(--fh-ink-2);padding:9px 20px;border-radius:9px;display:flex;align-items:center;gap:8px;min-height:auto}.flashhub-tab svg{width:16px;height:16px}.flashhub-tab.is-active{background:var(--fh-card);color:var(--fh-accent);box-shadow:0 1px 3px #46341c1f}.flashhub-demo-pane,.flashhub-mine-demo,.flashhub-groups-demo{display:block}.flashhub-demo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.flashhub-search-box{display:flex;align-items:center;gap:9px;border:0;border-bottom:1.5px solid var(--fh-rule-2);background:transparent;padding:7px 2px;min-width:260px;flex:1;box-shadow:none;border-radius:0}.flashhub-search-box svg{width:17px;height:17px;color:var(--fh-faint);flex:none}.flashhub-search-box input{border:0;background:transparent;outline:0;font-family:Georgia,Times New Roman,serif;font-size:16px;color:var(--fh-ink);width:100%;height:auto;padding:0}.flashhub-search-box input::-moz-placeholder{color:#b3a892;font-style:italic}.flashhub-search-box input::placeholder{color:#b3a892;font-style:italic}.flashhub-demo-chips{display:flex;gap:8px;flex-wrap:wrap}.flashhub-filter-chip{border:1px solid var(--fh-rule-2);background:var(--fh-card);cursor:pointer;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12.5px;font-weight:600;color:var(--fh-ink-2);padding:7px 14px;border-radius:20px;display:inline-flex;align-items:center;gap:7px;box-shadow:none}.flashhub-filter-chip.is-active,.flashhub-filter-chip:hover{background:var(--fh-accent);color:#fdf6ee;border-color:var(--fh-accent)}.flashhub-demo-summary{display:none}.flashhub-demo-grid,.flashhub-mine-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0}.flashhub-demo-set{position:relative;background:var(--fh-panel);border:1px solid var(--fh-rule);border-radius:14px;overflow:hidden;box-shadow:0 6px 16px #46341c17;display:flex;flex-direction:column;transform:none}.flashhub-demo-set:hover,.flashhub-demo-set.is-selected{border-color:var(--fh-rule);box-shadow:0 6px 16px #46341c17;transform:none}.flashhub-demo-set-main{display:block;width:100%;border:0;background:transparent;cursor:pointer;text-align:left;color:inherit}.flashhub-set-cover{position:relative;height:96px;min-height:96px;display:flex;align-items:center;justify-content:center;color:#fff;border-radius:0}.flashhub-set-cover svg{width:34px;height:34px;opacity:.95}.flashhub-set-cover.is-accent{background:linear-gradient(150deg,#b25b36,#c9744f)}.flashhub-set-cover.is-gold{background:linear-gradient(150deg,#9a7322,#b9923a)}.flashhub-set-cover.is-sage{background:linear-gradient(150deg,#5f7257,#76906b)}.flashhub-set-cover.is-blue{background:linear-gradient(150deg,#4f6d86,#6a8aa3)}.flashhub-set-cover.is-plum{background:linear-gradient(150deg,#7a5f7e,#977a9b)}.flashhub-set-cover span{position:absolute;top:10px;left:10px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:#ffffff38;color:#fff;padding:3px 9px;border-radius:20px;max-width:calc(100% - 80px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flashhub-set-cover b,.flashhub-set-cover em{position:absolute;top:10px;right:-1px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:10.5px;font-weight:700;font-style:normal;background:#2c2620;color:#f3e9d6;padding:4px 11px;border-radius:20px 0 0 20px}.flashhub-demo-set-body{padding:14px 16px 0;flex:1}.flashhub-demo-set-body h3{font-size:18px;font-weight:600;line-height:1.25;margin:0;color:var(--fh-ink)}.flashhub-demo-set-body p{display:none}.flashhub-demo-set-body small{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;color:var(--fh-faint);margin-top:10px;font-weight:400}.flashhub-demo-set-foot{display:flex;align-items:center;gap:4px;padding:12px 14px;margin-top:12px;border-top:1px solid var(--fh-rule)}.flashhub-mini-action{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;cursor:pointer;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12.5px;font-weight:500;color:var(--fh-ink-2);padding:6px 8px;border-radius:8px}.flashhub-mini-action:hover{background:var(--fh-accent-soft);color:var(--fh-ink-2)}.flashhub-mini-action.is-liked{color:var(--fh-red)}.flashhub-mini-action.is-liked svg{fill:var(--fh-red);stroke:var(--fh-red)}.flashhub-mini-stat{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;color:var(--fh-faint);flex:1;display:flex;align-items:center;gap:12px}.flashhub-study-button{margin-left:auto;border:0;cursor:pointer;background:var(--fh-accent);color:#fdf6ee;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12.5px;font-weight:600;padding:8px 16px;border-radius:9px}.flashhub-demo-detail{margin-top:22px;background:#fcf8ef;border:1px solid var(--fh-rule);border-radius:14px;padding:0;overflow:hidden;display:grid;grid-template-columns:1fr 320px;box-shadow:none}.flashhub-demo-detail-left{padding:22px 24px}.flashhub-demo-detail-left h2{font-size:22px;font-weight:600;color:var(--fh-ink)}.flashhub-demo-detail-meta{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12.5px;color:var(--fh-faint);margin-top:6px}.flashhub-demo-detail-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.flashhub-detail-button{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--fh-rule-2);background:var(--fh-card);cursor:pointer;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:13px;font-weight:600;color:var(--fh-ink-2);padding:9px 15px;border-radius:10px}.flashhub-detail-button.is-primary{background:var(--fh-accent);color:#fdf6ee;border-color:var(--fh-accent)}.flashhub-detail-button.is-danger{color:var(--fh-red);border-color:#d8a99a}.flashhub-demo-preview-card{margin-top:18px;border:1px dashed var(--fh-rule-2);border-radius:11px;padding:16px;background:var(--fh-panel)}.flashhub-preview-headline{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fh-faint)}.flashhub-demo-preview-row{border-bottom:1px solid var(--fh-rule);padding:10px 0}.flashhub-demo-preview-row:last-child{border-bottom:0}.flashhub-demo-preview-row strong{display:block;font-size:22px;font-weight:600;color:var(--fh-ink)}.flashhub-demo-preview-row span{display:block;font-style:italic;color:var(--fh-ink-2);margin-top:4px}.flashhub-demo-preview-row small{display:block;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;color:var(--fh-faint);margin-top:4px}.flashhub-demo-comments{background:#fcf8ef;border-left:1px solid var(--fh-rule);padding:18px 20px 18px 30px;position:relative}.flashhub-demo-comments:before{content:"";position:absolute;left:14px;top:0;bottom:0;width:1px;background:#b25b364d}.flashhub-demo-comments h3{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--fh-accent);margin-bottom:14px}.flashhub-demo-comment{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid var(--fh-nb-line)}.flashhub-demo-comment p{font-size:14.5px;margin-top:3px;line-height:1.5;color:var(--fh-ink)}.flashhub-demo-avatar{width:24px;height:24px;border-radius:50%;background:var(--fh-accent-soft);color:var(--fh-accent);display:flex;align-items:center;justify-content:center;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:11.5px;font-weight:700;flex:none}.flashhub-demo-comment-box{display:flex;gap:9px;align-items:center;margin-top:14px}.flashhub-demo-comment-box input{flex:1;border:0;border-bottom:1.5px solid var(--fh-rule-2);background:transparent;outline:0;font-family:Georgia,Times New Roman,serif;font-size:14.5px;padding:7px 2px;color:var(--fh-ink)}.flashhub-demo-comment-box input::-moz-placeholder{color:#b3a892;font-style:italic}.flashhub-demo-comment-box input::placeholder{color:#b3a892;font-style:italic}.flashhub-section-title{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--fh-faint);margin:6px 0 14px;display:flex;align-items:center;gap:10px}.flashhub-section-title:after{content:"";flex:1;height:1px;background:var(--fh-rule)}.flashhub-create-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;border:1.5px dashed var(--fh-rule-2);background:transparent;color:var(--fh-ink);min-height:230px;box-shadow:none;border-radius:14px;cursor:pointer}.flashhub-create-tile:hover{border-color:var(--fh-accent);background:var(--fh-accent-soft);transform:none;box-shadow:none}.flashhub-create-tile span{width:48px;height:48px;border-radius:13px;background:var(--fh-accent-soft);color:var(--fh-accent);display:flex;align-items:center;justify-content:center}.flashhub-create-tile b{font-size:17px;font-weight:600}.flashhub-create-tile small{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12.5px;color:var(--fh-faint);max-width:180px}.flashhub-mine-detail{margin-top:22px}.flashhub-inline-panel{margin-top:16px}.flashhub-card-editor-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.flashhub-card-list-mini{display:flex;flex-direction:column;gap:0}.flashhub-card-list-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--fh-nb-line)}.flashhub-card-list-row b{display:block;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:13px}.flashhub-card-list-row span{display:block;font-size:13.5px;color:var(--fh-faint)}.flashhub-card-list-actions{margin-left:auto;display:flex;gap:4px}.flashhub-card-list-actions button{border:0;background:transparent;color:var(--fh-faint);cursor:pointer;padding:5px;border-radius:8px}.flashhub-empty-line{border:1.5px dashed var(--fh-rule-2);border-radius:12px;background:#faf5ea8c;padding:18px;text-align:center;color:var(--fh-faint);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:13px}.flashhub-groups-demo{display:block}.flashhub-group-toolbar{margin-bottom:20px}.flashhub-ggrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:30px}.flashhub-group-card{position:relative;background:#fcf8ef;border:1px solid var(--fh-rule);border-radius:14px;padding:18px 20px 18px 30px;overflow:hidden}.flashhub-group-card:before{content:"";position:absolute;left:15px;top:14px;bottom:14px;width:1px;background:#b25b364d}.flashhub-group-card.is-selected{border-color:var(--fh-accent);box-shadow:0 6px 16px #46341c14}.flashhub-group-main{position:relative;z-index:1;border:0;background:transparent;color:inherit;text-align:left;width:100%;cursor:pointer}.flashhub-group-top{display:flex;align-items:flex-start;gap:12px}.flashhub-group-icon{width:42px;height:42px;border-radius:11px;background:var(--fh-accent-soft);color:var(--fh-accent);display:flex;align-items:center;justify-content:center;flex:none}.flashhub-group-top h3{font-size:18px;font-weight:600;margin:0}.flashhub-group-top p{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12.5px;color:var(--fh-faint);margin-top:3px}.flashhub-group-role{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.04em;padding:2px 9px;border-radius:20px;margin-left:8px;vertical-align:middle}.flashhub-group-role.is-lead{background:var(--fh-accent-soft);color:var(--fh-accent)}.flashhub-group-role.is-member{background:#e7dcc6;color:var(--fh-ink-2)}.flashhub-avatar-stack{display:flex;margin-top:14px}.flashhub-avatar-stack span,.flashhub-avatar-stack b{margin-left:-7px;width:24px;height:24px;border-radius:50%;background:var(--fh-accent-soft);border:2px solid #fcf8ef;color:var(--fh-accent);display:flex;align-items:center;justify-content:center;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:10.5px;font-weight:700;font-style:normal}.flashhub-avatar-stack span:first-child{margin-left:0}.flashhub-avatar-stack b{background:#e7dcc6;color:var(--fh-ink-2)}.flashhub-group-lesson{margin-top:14px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12.5px;color:var(--fh-ink-2);display:flex;align-items:center;gap:7px}.flashhub-group-lesson svg{color:var(--fh-gold)}.flashhub-group-foot{display:flex;gap:10px;margin-top:16px;position:relative;z-index:1}.flashhub-inline-form{background:#fcf8ef;border:1px solid var(--fh-rule);border-radius:14px;padding:18px 20px 18px 30px;position:relative;margin-bottom:18px}.flashhub-inline-form:before{content:"";position:absolute;left:15px;top:14px;bottom:14px;width:1px;background:#b25b364d}.flashhub-inline-form>*{position:relative;z-index:1}.flashhub-inline-form h3{font-size:18px;font-weight:600}.flashhub-inline-form p{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12.5px;color:var(--fh-faint)}.flashhub-inline-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:14px}.flashhub-inline-form-grid.is-join{grid-template-columns:minmax(0,1fr) auto;align-items:end}.flashhub-inline-form-actions{display:flex;gap:8px;margin-top:14px}.flashhub-inline-form-actions.is-join{margin-top:0;align-items:end}.study-group-classroom-shell{background:transparent}.study-group-classroom-head{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;margin:0 0 20px}.study-group-classroom-icon{width:54px;height:54px;border-radius:14px;background:linear-gradient(150deg,#b25b36,#c9744f);color:#fff;display:flex;align-items:center;justify-content:center;flex:none;box-shadow:0 4px 12px #b25b3647}.study-group-classroom-eyebrow{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--fh-accent)}.study-group-classroom-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.study-group-classroom-title{font-size:30px;font-weight:600;letter-spacing:-.01em;margin:3px 0 0}.study-group-classroom-role{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.04em;padding:3px 10px;border-radius:20px;background:var(--fh-accent-soft);color:var(--fh-accent)}.study-group-classroom-desc{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:13px;color:var(--fh-faint);margin-top:4px}.study-group-classroom-stats{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 24px}.study-group-classroom-stat{background:var(--fh-panel);border:1px solid var(--fh-rule);border-radius:11px;padding:11px 16px;flex:1;min-width:120px}.study-group-classroom-stat div{font-size:22px;font-weight:600;color:var(--fh-ink)}.study-group-classroom-stat span{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:11.5px;color:var(--fh-faint);margin-top:2px;display:block}.study-group-classroom-grid{display:grid;grid-template-columns:1fr 340px;gap:20px}.study-group-classroom-main{background:var(--fh-panel);border:1px solid var(--fh-rule);border-radius:14px;padding:22px 24px;position:relative;box-shadow:0 6px 16px #46341c14}.study-group-classroom-main:before{content:"";position:absolute;left:13px;top:18px;bottom:18px;width:5px;background:#ece2cc;border-radius:3px;box-shadow:3px 0 #efe6d3}.study-group-classroom-main>*{position:relative;z-index:1}.study-group-main-lesson{margin-bottom:20px}.study-group-main-badge{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fh-gold);background:#9a732221;padding:4px 11px;border-radius:20px;display:inline-flex;align-items:center;gap:5px}.study-group-main-lesson h3{font-size:25px;font-weight:600;margin-top:11px}.study-group-main-meta{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12.5px;color:var(--fh-faint);margin-top:5px}.study-group-main-progress{height:9px;background:#e7dcc6;border-radius:6px;overflow:hidden;margin:15px 0 7px}.study-group-main-progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--fh-accent),#c9744f);border-radius:6px}.study-group-main-actions{display:flex;gap:11px;margin-top:16px;flex-wrap:wrap}.study-group-classroom-section{margin-top:20px}.study-group-section-title{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--fh-faint);margin:4px 0 12px;display:flex;align-items:center;gap:10px}.study-group-section-title:after{content:"";flex:1;height:1px;background:var(--fh-rule)}.study-group-classroom-path-row{display:flex;align-items:center;gap:14px;padding:14px 2px;border-bottom:1px solid var(--fh-rule)}.study-group-classroom-path-row:last-child{border-bottom:0}.study-group-path-index{width:30px;height:30px;border-radius:9px;background:var(--fh-accent-soft);color:var(--fh-accent);display:flex;align-items:center;justify-content:center;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:700;font-size:13px;flex:none}.study-group-path-title{font-size:16px;font-weight:600;color:var(--fh-ink)}.study-group-path-title span{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:10px;font-weight:700;color:var(--fh-gold);margin-left:7px}.study-group-path-meta{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;color:var(--fh-faint);margin-top:2px}.study-group-path-status{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;flex:none}.study-group-path-status.is-done{background:#5f725724;color:var(--fh-sage)}.study-group-path-status.is-doing{background:var(--fh-accent-soft);color:var(--fh-accent)}.study-group-path-status.is-todo{background:#e7dcc6;color:var(--fh-ink-2)}.study-group-path-action{border:0;background:transparent;cursor:pointer;color:var(--fh-accent);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12.5px;font-weight:600;flex:none}.study-group-classroom-daily{margin-top:20px;background:#fff7ec;border:1px solid #e3c98c;border-radius:13px;padding:16px 18px}.study-group-daily-head{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fh-gold);font-weight:700;display:flex;align-items:center;gap:7px;margin-bottom:11px}.study-group-task{display:flex;align-items:center;gap:11px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:14px;padding:6px 0;color:var(--fh-ink)}.study-group-task span{width:20px;height:20px;border-radius:6px;border:1.7px solid var(--fh-rule-2);background:var(--fh-card);display:flex;align-items:center;justify-content:center;flex:none;color:#fff}.study-group-task.is-done span{background:var(--fh-sage);border-color:var(--fh-sage)}.study-group-task.is-done p{text-decoration:line-through;color:var(--fh-faint)}.study-group-classroom-aside{background:#fcf8ef;border:1px solid var(--fh-rule);border-radius:14px;padding:18px 18px 18px 30px;position:relative;box-shadow:0 6px 16px #46341c14;align-self:start}.study-group-classroom-aside:before{content:"";position:absolute;left:15px;top:0;bottom:0;width:1px;background:#b25b364d}.study-group-classroom-aside>*{position:relative;z-index:1}.study-group-aside-tabs{display:flex;gap:4px;margin-bottom:14px}.study-group-aside-tabs span{flex:1;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;font-weight:600;color:var(--fh-faint);padding:7px 4px;border-radius:8px;border-bottom:2px solid transparent;text-align:center}.study-group-aside-tabs span:first-child{color:var(--fh-accent);border-bottom-color:var(--fh-accent)}.study-group-feed-row{display:flex;gap:11px;padding:11px 0;border-bottom:1px solid var(--fh-nb-line)}.study-group-feed-row>span{width:30px;height:30px;border-radius:9px;background:var(--fh-panel);border:1px solid var(--fh-rule-2);display:flex;align-items:center;justify-content:center;flex:none;color:var(--fh-accent)}.study-group-feed-row b{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:13px;font-weight:600}.study-group-feed-row p{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:13px;line-height:1.45}.study-group-feed-row small{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:11px;color:var(--fh-faint)}.study-group-member-row{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid var(--fh-nb-line)}.study-group-member-avatar{width:24px;height:24px;border-radius:50%;background:var(--fh-accent-soft);color:var(--fh-accent);display:flex;align-items:center;justify-content:center;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:11.5px;font-weight:700}.study-group-member-row span:not(.study-group-member-avatar){flex:1;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:13.5px}.study-group-member-row small{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:11px;color:var(--fh-faint)}.flashhub-classroom-contrib{margin-top:22px;background:var(--fh-panel);border:1px solid var(--fh-rule);border-radius:14px;padding:20px 24px;position:relative}.flashhub-classroom-contrib-head{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--fh-faint);margin-bottom:6px;display:flex;justify-content:space-between;gap:12px;align-items:center}.flashhub-classroom-contrib-row{display:flex;align-items:center;gap:13px;padding:13px 2px;border-bottom:1px solid var(--fh-rule)}.flashhub-classroom-contrib-row:last-child{border-bottom:0}.flashhub-classroom-contrib-row b{display:block;font-size:16px;font-weight:600;color:var(--fh-ink)}.flashhub-classroom-contrib-row span{display:block;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;color:var(--fh-faint);margin-top:2px}.flashhub-mini-study{border:0;cursor:pointer;background:transparent;color:var(--fh-accent);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12.5px;font-weight:600}.flashhub-pick-main{border:1px solid var(--fh-rule-2);background:var(--fh-card);cursor:pointer;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;font-weight:600;color:var(--fh-ink-2);padding:8px 13px;border-radius:9px;display:inline-flex;align-items:center;gap:6px}.flashhub-pick-main.is-main{background:#9a732224;color:var(--fh-gold);border-color:#e3c98c}.flashhub-pick-main.is-main svg{fill:var(--fh-gold);stroke:var(--fh-gold)}.flashhub-icon-danger{border:0;background:transparent;cursor:pointer;color:var(--fh-faint);padding:6px;border-radius:8px}.flashhub-icon-danger:hover{color:var(--fh-red);background:#c2402e14}@media (max-width: 980px){.flashhub-demo-surface{padding:30px 18px 60px}.flashhub-demo-grid,.flashhub-mine-grid{grid-template-columns:repeat(2,1fr)}.flashhub-demo-detail{grid-template-columns:1fr}.flashhub-demo-comments{border-left:0;border-top:1px solid var(--fh-rule)}.study-group-classroom-grid,.flashhub-ggrid{grid-template-columns:1fr}}@media (max-width: 560px){.flashhub-demo-title-row h1{font-size:30px}.flashhub-demo-grid,.flashhub-mine-grid{grid-template-columns:1fr}.flashhub-tabs{display:flex;width:100%;overflow-x:auto}.flashhub-tab{white-space:nowrap}.flashhub-inline-form-grid,.flashhub-inline-form-grid.is-join{grid-template-columns:1fr}.study-group-classroom-title{font-size:25px}}.flashhub-demo-author{display:flex;align-items:center;gap:8px;margin-top:9px}.flashhub-demo-author small{margin-top:0;color:var(--fh-ink-2)}.flashhub-create-button{display:inline-flex;align-items:center;gap:8px;border:0;cursor:pointer;background:var(--fh-accent);color:#fdf6ee;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:13.5px;font-weight:600;padding:11px 18px;border-radius:10px}.flashhub-group-ghost{border:1px solid var(--fh-rule-2);background:var(--fh-card);cursor:pointer;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12.5px;font-weight:600;color:var(--fh-ink-2);padding:8px 13px;border-radius:9px}.flashhub-group-ghost:disabled{cursor:not-allowed;opacity:.65}.flashhub-group-card.is-preview{opacity:.92}.flashhub-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:none;color:var(--fh-ink, #2c2620);font-family:Georgia,Times New Roman,serif}.flashhub-modal.is-open{display:block}.flashhub-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#2b231957;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:default}.flashhub-modal-card{position:relative;max-width:780px;margin:5vh auto;max-height:90vh;overflow:hidden;background:var(--fh-card, #faf5ea);border:1px solid var(--fh-rule, #d9cdb8);border-radius:18px;box-shadow:0 24px 60px #281e0f66;display:flex;flex-direction:column;animation:flashhubModalPop .22s ease}@keyframes flashhubModalPop{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.flashhub-modal-cover{height:118px;position:relative;flex:none;display:flex;align-items:flex-end;padding:15px 22px;color:#fff}.flashhub-modal-cover.is-accent{background:linear-gradient(150deg,#b25b36,#c9744f)}.flashhub-modal-cover.is-gold{background:linear-gradient(150deg,#9a7322,#b9923a)}.flashhub-modal-cover.is-sage{background:linear-gradient(150deg,#5f7257,#76906b)}.flashhub-modal-cover.is-blue{background:linear-gradient(150deg,#4f6d86,#6a8aa3)}.flashhub-modal-cover.is-plum{background:linear-gradient(150deg,#7a5f7e,#977a9b)}.flashhub-modal-icon{position:absolute;top:15px;left:22px;color:#ffffffeb}.flashhub-modal-subject{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffffeb;background:#00000029;padding:4px 11px;border-radius:20px}.flashhub-modal-close{position:absolute;top:13px;right:13px;width:34px;height:34px;border:0;border-radius:50%;cursor:pointer;background:#2c262059;color:#fff;display:flex;align-items:center;justify-content:center}.flashhub-modal-body{display:grid;grid-template-columns:1fr 300px;overflow:hidden;min-height:0}.flashhub-modal-main{padding:20px 24px;overflow-y:auto}.flashhub-modal-main h2{font-size:23px;font-weight:600;line-height:1.25;margin:0;color:var(--fh-ink)}.flashhub-modal-meta{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12.5px;color:var(--fh-faint);margin-top:9px;display:flex;align-items:center;gap:8px}.flashhub-modal-preview{margin-top:18px;border:1px dashed var(--fh-rule-2);border-radius:12px;padding:18px;background:var(--fh-panel);text-align:center}.flashhub-modal-word{font-size:28px;font-weight:600;margin-top:8px;color:var(--fh-ink)}.flashhub-modal-meaning{font-style:italic;color:var(--fh-ink-2);margin-top:5px}.flashhub-modal-example{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:var(--fh-faint);margin-top:6px;font-size:12.5px}.flashhub-preview-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:15px}.flashhub-preview-nav button{border:1px solid var(--fh-rule-2);background:var(--fh-card);cursor:pointer;border-radius:8px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;color:var(--fh-ink-2);font-size:18px;line-height:1}.flashhub-preview-nav span{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;color:var(--fh-faint)}.flashhub-modal-actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}.flashhub-detail-button.is-liked{color:var(--fh-red);border-color:#d8a99a}.flashhub-detail-button.is-liked svg{fill:var(--fh-red);stroke:var(--fh-red)}.flashhub-modal-comments{background:#fcf8ef;border-left:1px solid var(--fh-rule);padding:18px 18px 16px 30px;position:relative;display:flex;flex-direction:column;min-height:0}.flashhub-modal-comments:before{content:"";position:absolute;left:14px;top:0;bottom:0;width:1px;background:#b25b364d}.flashhub-modal-comments h3{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--fh-accent);margin-bottom:12px;flex:none}.flashhub-modal-comment-list{overflow-y:auto;flex:1;min-height:60px}.flashhub-comment-head{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12.5px;color:var(--fh-ink)}.flashhub-group-modal-cover{height:122px;background:linear-gradient(150deg,#5f7257,#76906b)}.flashhub-group-modal-title{color:#fff;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.flashhub-group-modal-title span{font-size:23px;font-weight:600}.flashhub-group-modal-title b{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.04em;padding:3px 10px;border-radius:20px;background:#ffffff38;color:#fff}.flashhub-group-modal-body{padding:20px 24px;overflow-y:auto}.flashhub-group-modal-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}.flashhub-group-modal-head p{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12.5px;color:var(--fh-faint);margin:0}.flashhub-main-lesson-card{background:#fff7ec;border:1.5px solid #e3c98c;border-radius:13px;padding:18px;display:flex;align-items:center;gap:16px}.flashhub-main-lesson-badge{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fh-gold);background:#9a73221f;padding:3px 10px;border-radius:20px;display:inline-flex;align-items:center;gap:5px}.flashhub-main-lesson-card h3{font-size:19px;font-weight:600;margin-top:7px;color:var(--fh-ink)}.flashhub-main-lesson-card p{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;color:var(--fh-faint);margin-top:3px}.flashhub-group-contrib{margin-top:22px}.flashhub-group-contrib-title{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--fh-faint);margin-bottom:6px}.flashhub-group-contrib-row{display:flex;align-items:center;gap:13px;padding:13px 2px;border-bottom:1px solid var(--fh-rule)}.flashhub-group-contrib-row:last-child{border-bottom:0}.flashhub-group-contrib-info{flex:1;min-width:0}.flashhub-group-contrib-info div{font-size:16px;font-weight:600;color:var(--fh-ink)}.flashhub-group-contrib-info small{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;color:var(--fh-faint);margin-top:2px}.flashhub-group-mini-study{border:0;cursor:pointer;background:transparent;color:var(--fh-accent);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12.5px;font-weight:600}.flashhub-group-pick{border:1px solid var(--fh-rule-2);background:var(--fh-card);cursor:pointer;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;font-weight:600;color:var(--fh-ink-2);padding:8px 13px;border-radius:9px;display:inline-flex;align-items:center;gap:6px}.flashhub-group-pick.is-main{background:#9a732224;color:var(--fh-gold);border-color:#e3c98c}.flashhub-group-add-card{margin-top:18px;width:100%;border:1.5px dashed var(--fh-rule-2);background:transparent;cursor:pointer;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:13.5px;font-weight:600;color:var(--fh-accent);padding:13px;border-radius:11px;display:flex;align-items:center;justify-content:center;gap:8px}@media (max-width: 840px){.flashhub-modal-card{margin:0;max-height:100vh;height:100vh;border-radius:0}.flashhub-modal-body{grid-template-columns:1fr;overflow-y:auto}.flashhub-modal-comments{border-left:0;border-top:1px solid var(--fh-rule);padding-left:30px}.flashhub-main-lesson-card{align-items:flex-start;flex-direction:column}}.flashhub-demo-surface{max-width:1080px;border:1px solid var(--fh-rule);box-shadow:0 18px 42px #46341c14,inset 0 1px #ffffff6b}.flashhub-demo-header{padding-bottom:18px;border-bottom:1px solid rgba(178,91,54,.16)}.flashhub-demo-header p{max-width:42rem}.flashhub-tabs{margin:20px 0 22px}.flashhub-demo-toolbar{align-items:center;border:1px solid rgba(202,191,166,.72);border-radius:14px;background:#faf5ea9e;padding:12px}.flashhub-demo-toolbar .flashhub-search-box{min-width:min(24rem,100%)}.flashhub-demo-chips{justify-content:flex-end}.flashhub-filter-chip:disabled,.flashhub-study-button:disabled,.flashhub-detail-button:disabled{cursor:not-allowed;opacity:.58}.flashhub-demo-set,.flashhub-create-tile{min-height:238px}.flashhub-demo-set-main,.flashhub-demo-set-body{display:flex;min-height:0;flex:1;flex-direction:column}.flashhub-demo-set-body h3{display:-webkit-box;min-height:2.5em;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.flashhub-demo-author{margin-top:auto;padding-top:12px}.flashhub-demo-set-body>small{display:block;min-height:1.35em}.flashhub-demo-set-foot{min-height:3.75rem}.flashhub-mini-action,.flashhub-study-button,.flashhub-detail-button,.flashhub-group-ghost,.flashhub-create-button{transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,opacity .16s ease}.flashhub-study-button:hover:not(:disabled),.flashhub-create-button:hover:not(:disabled){transform:translateY(-1px)}.flashhub-group-card,.flashhub-inline-form,.study-group-classroom-main,.study-group-classroom-aside,.flashhub-classroom-contrib{box-shadow:0 6px 16px #46341c0f}.flashhub-group-card{transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.flashhub-group-card:not(.is-preview):hover{border-color:#b25b365c;box-shadow:0 10px 22px #46341c14;transform:translateY(-1px)}.flashhub-section-title{margin-top:10px}.flashhub-modal-actions,.flashhub-group-foot,.study-group-main-actions{align-items:center}@media (max-width: 980px){.flashhub-demo-toolbar{align-items:stretch}.flashhub-demo-chips{justify-content:flex-start}}@media (max-width: 560px){.flashhub-demo-surface{margin-right:-.25rem;margin-left:-.25rem;width:calc(100% + .5rem);padding:24px 14px 46px;border-radius:14px}.flashhub-demo-title-row{align-items:flex-start}.flashhub-demo-toolbar{padding:10px}.flashhub-filter-chip,.flashhub-create-button,.flashhub-study-button{min-height:2.25rem}.flashhub-demo-set-foot,.flashhub-group-foot{flex-wrap:wrap}.flashhub-study-button{width:100%;margin-left:0}}.flashhub-demo-surface,.flashhub-modal{--fh-paper: #f3ece0;--fh-card: #faf5ea;--fh-panel: #faf4e8;--fh-ink: #2c2620;--fh-ink-2: #5c5346;--fh-faint: #8c8170;--fh-rule: #d9cdb8;--fh-rule-2: #cabfa6;--fh-accent: #b25b36;--fh-accent-soft: rgba(178, 91, 54, .1);--fh-gold: #9a7322;--fh-sage: #5f7257;--fh-blue: #4f6d86;--fh-plum: #7a5f7e;--fh-red: #c2402e;--fh-nb-line: #cdd8df}.flashhub-demo-surface{max-width:none;width:100%;margin:0;padding:0 0 56px;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.flashhub-demo-header{padding-bottom:16px}.flashhub-demo-grid,.flashhub-mine-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (min-width: 1180px){.flashhub-demo-grid,.flashhub-mine-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 560px){.flashhub-demo-surface{width:100%;margin-right:0;margin-left:0;padding:0 0 42px}}.flashhub-demo-surface{--fh-soft-shadow: 0 10px 26px rgba(70, 52, 28, .07);--fh-focus-ring: 0 0 0 3px rgba(178, 91, 54, .14)}.flashhub-demo-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:4px 0 18px;border-bottom:1px solid rgba(178,91,54,.2)}.flashhub-demo-header:after{content:"";flex:1;height:1px;max-width:34rem;margin-bottom:11px;background:linear-gradient(90deg,#b25b3652,#b25b360d)}.flashhub-demo-title-row h1{font-size:clamp(31px,4vw,42px);letter-spacing:0}.flashhub-demo-logo{width:32px;height:32px}.flashhub-demo-header p{max-width:46rem;color:var(--fh-ink-2);line-height:1.55}.flashhub-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin:18px 0 22px;padding:4px;border:1px solid rgba(202,191,166,.72);border-radius:14px;background:#faf5ea9e}.flashhub-tab{justify-content:center;min-width:0;padding:10px 12px;border-radius:10px;color:var(--fh-ink-2)}.flashhub-tab:hover{background:#b25b3614;color:var(--fh-accent)}.flashhub-tab.is-active{background:var(--fh-card);color:var(--fh-accent);box-shadow:0 1px #ffffffb8,0 7px 18px #46341c14}.flashhub-tab b{display:inline-flex;min-width:1.35rem;height:1.35rem;align-items:center;justify-content:center;border-radius:999px;background:#b25b361a;color:currentColor;font-size:11px;line-height:1}.flashhub-demo-pane,.flashhub-mine-demo,.flashhub-groups-demo{padding-top:2px}.flashhub-demo-toolbar{margin-bottom:18px;padding:0 0 14px;border:0;border-bottom:1px solid rgba(202,191,166,.58);border-radius:0;background:transparent}.flashhub-search-box{min-width:min(25rem,100%);padding:9px 0}.flashhub-search-box:focus-within{border-bottom-color:var(--fh-accent)}.flashhub-demo-chips{gap:7px}.flashhub-filter-chip,.flashhub-detail-button,.flashhub-group-ghost,.flashhub-create-button{border-radius:10px}.flashhub-filter-chip{background:#faf5eac7}.flashhub-filter-chip:focus-visible,.flashhub-detail-button:focus-visible,.flashhub-mini-action:focus-visible,.flashhub-study-button:focus-visible,.flashhub-create-button:focus-visible,.flashhub-group-ghost:focus-visible{outline:0;box-shadow:var(--fh-focus-ring)}.flashhub-group-toolbar .flashhub-filter-chip.is-active,.flashhub-create-button{border-color:var(--fh-accent);background:var(--fh-accent);color:#fdf6ee}.flashhub-demo-grid,.flashhub-mine-grid,.flashhub-ggrid{grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:14px}.flashhub-demo-set,.flashhub-create-tile,.flashhub-group-card,.flashhub-inline-form,.flashhub-demo-detail,.flashhub-modal-card{border-color:#cabfa6cc;background:#faf5eabd;box-shadow:none}.flashhub-demo-set,.flashhub-create-tile,.flashhub-group-card{min-height:236px;border-radius:13px}.flashhub-demo-set{overflow:clip}.flashhub-demo-set:hover,.flashhub-demo-set.is-selected,.flashhub-create-tile:hover,.flashhub-group-card:not(.is-preview):hover{border-color:#b25b366b;background:#fcf8efeb;box-shadow:var(--fh-soft-shadow);transform:translateY(-1px)}.flashhub-demo-set.is-selected{box-shadow:inset 0 0 0 1px #b25b3638,var(--fh-soft-shadow)}.flashhub-set-cover{height:86px;min-height:86px}.flashhub-set-cover span{max-width:calc(100% - 72px);background:#ffffff2e}.flashhub-set-cover b,.flashhub-set-cover em{right:0;background:#2c2620c7}.flashhub-demo-set-body{padding:13px 14px 0}.flashhub-demo-set-body h3{min-height:2.45em;font-size:17px;line-height:1.22}.flashhub-demo-author{padding-top:10px}.flashhub-demo-set-body>small{color:var(--fh-faint)}.flashhub-demo-set-foot{min-height:3.5rem;padding:11px 12px;gap:3px}.flashhub-mini-action{padding:6px 7px}.flashhub-study-button{min-height:34px;padding:8px 13px;border-radius:9px;box-shadow:none}.flashhub-create-tile{background:#faf5ea6b}.flashhub-create-tile span,.flashhub-group-icon,.flashhub-demo-avatar,.flashhub-avatar-stack span,.flashhub-avatar-stack b{background:#b25b361c}.flashhub-section-title{margin:4px 0 13px;color:var(--fh-ink-2);letter-spacing:.1em}.flashhub-section-title.is-spaced{margin-top:26px}.flashhub-group-card{display:flex;flex-direction:column;padding:17px 18px 16px 28px}.flashhub-group-card:before,.flashhub-inline-form:before,.flashhub-demo-comments:before,.flashhub-modal-comments:before,.study-group-classroom-aside:before{background:#b25b3633}.flashhub-group-main{display:flex;min-height:0;flex:1;flex-direction:column}.flashhub-group-top h3{display:flex;align-items:center;gap:8px;font-size:17px;line-height:1.25}.flashhub-group-role{margin-left:0;white-space:nowrap}.flashhub-group-top p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.flashhub-group-lesson{margin-top:auto;padding-top:14px;align-items:flex-start}.flashhub-group-lesson strong{display:inline;color:var(--fh-ink)}.flashhub-group-foot{margin-top:14px;padding-top:12px;border-top:1px solid rgba(202,191,166,.52)}.flashhub-group-foot .flashhub-study-button{margin-left:0}.flashhub-empty-line{border-color:#cabfa6d1;background:#faf5ea7a;color:var(--fh-ink-2)}.flashhub-inline-form{padding:17px 18px 18px 28px}.flashhub-inline-form h3{font-size:17px}.flashhub-demo-detail{grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);overflow:clip}.flashhub-demo-preview-card,.flashhub-modal-preview,.flashhub-main-lesson-card{background:#faf5ea94}.flashhub-modal-card{box-shadow:0 24px 70px #281e0f47}.flashhub-modal-cover{height:104px}@media (min-width: 1180px){.flashhub-demo-grid,.flashhub-mine-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.flashhub-ggrid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (max-width: 760px){.flashhub-demo-header{display:block}.flashhub-demo-header:after{display:none}.flashhub-tabs{display:flex;overflow-x:auto}.flashhub-tab{flex:1 0 auto}.flashhub-demo-toolbar{align-items:stretch}.flashhub-demo-chips{justify-content:flex-start}.flashhub-demo-detail{grid-template-columns:1fr}}@media (max-width: 560px){.flashhub-demo-grid,.flashhub-mine-grid,.flashhub-ggrid{grid-template-columns:1fr}.flashhub-tab{justify-content:flex-start}.flashhub-demo-set,.flashhub-create-tile,.flashhub-group-card{min-height:0}}.flashhub-demo-grid,.flashhub-mine-grid,.flashhub-ggrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,18.25rem),1fr));gap:1rem}.flashhub-demo-set,.flashhub-create-tile,.flashhub-group-card{min-height:13.25rem;content-visibility:auto;contain-intrinsic-size:212px}.flashhub-demo-set{border-radius:.625rem .25rem .25rem .625rem}.flashhub-demo-set:before,.flashhub-create-tile:before{position:absolute;left:0;top:.75rem;bottom:.75rem;width:.25rem;border-radius:0 .1875rem .1875rem 0;background:color-mix(in srgb,var(--fh-accent) 52%,var(--fh-rule));content:""}.flashhub-set-cover{height:3.875rem;min-height:3.875rem}.flashhub-set-cover svg{width:1.625rem;height:1.625rem}.flashhub-set-cover span{top:.5rem;left:.625rem;max-width:calc(100% - 4rem);padding:.125rem .5rem;font-size:.625rem}.flashhub-set-cover b,.flashhub-set-cover em{top:.5rem;padding:.1875rem .625rem;font-size:.625rem}.flashhub-demo-set-body{padding:.75rem .875rem 0}.flashhub-demo-set-body h3{min-height:2.35em;font-size:1rem;line-height:1.18}.flashhub-demo-author{gap:.4375rem;padding-top:.5625rem}.flashhub-demo-avatar{width:1.375rem;height:1.375rem;font-size:.6875rem}.flashhub-demo-author small,.flashhub-demo-set-body>small,.flashhub-mini-stat{font-size:.75rem}.flashhub-demo-set-foot{min-height:2.875rem;margin-top:.5rem;padding:.5rem .6875rem}.flashhub-mini-action{gap:.25rem;padding:.3125rem .4375rem;font-size:.75rem}.flashhub-mini-action svg,.flashhub-study-button svg,.flashhub-filter-chip svg{width:.9375rem;height:.9375rem}.flashhub-study-button{min-height:2rem;padding:.4375rem .75rem;font-size:.75rem}.flashhub-create-tile{position:relative;min-height:13.25rem;padding:1rem;border-radius:.625rem .25rem .25rem .625rem}.flashhub-create-tile span{width:2.25rem;height:2.25rem;border-radius:.625rem}.flashhub-create-tile b{font-size:1rem}.flashhub-create-tile small{font-size:.75rem;line-height:1.4}.flashhub-group-card{min-height:11.75rem;padding:1rem 1rem .875rem 1.45rem;border-radius:.625rem .25rem .25rem .625rem}.flashhub-group-card:before,.flashhub-inline-form:before,.flashhub-demo-comments:before,.flashhub-modal-comments:before,.study-group-classroom-aside:before{left:.75rem}.flashhub-group-top{gap:.625rem}.flashhub-group-icon{width:2rem;height:2rem;border-radius:.625rem}.flashhub-group-icon svg{width:1rem;height:1rem}.flashhub-group-top h3{display:block;font-size:1rem}.flashhub-group-role{display:inline-flex;margin-left:.4375rem;padding:.125rem .5rem;font-size:.625rem;transform:translateY(-.0625rem)}.flashhub-group-top p{margin-top:.1875rem;font-size:.75rem;line-height:1.4}.flashhub-avatar-stack{margin-top:.625rem}.flashhub-avatar-stack span,.flashhub-avatar-stack b{width:1.375rem;height:1.375rem;font-size:.625rem}.flashhub-group-lesson{margin-top:auto;padding-top:.75rem;font-size:.75rem;line-height:1.4}.flashhub-group-foot{margin-top:.75rem;padding-top:.625rem}.flashhub-group-ghost{min-height:2rem;padding:.4375rem .75rem;font-size:.75rem}.flashhub-compact-modal .flashhub-modal-backdrop{background:#2b231947}.flashhub-modal-form{position:relative;max-width:min(34rem,calc(100vw - 2rem));margin:12vh auto 0;padding:1.25rem 1.35rem 1.2rem;border-radius:.875rem;box-shadow:0 20px 56px #281e0f3d}.flashhub-modal-form:before{left:.875rem;top:1rem;bottom:1rem}.flashhub-modal-form h3{padding-right:2rem;font-size:1.125rem}.flashhub-modal-form p{max-width:26rem;line-height:1.45}.flashhub-modal-form .flashhub-inline-form-grid,.flashhub-modal-form .flashhub-inline-form-grid.is-join{grid-template-columns:1fr;gap:.875rem}.flashhub-modal-form .flashhub-inline-form-actions,.flashhub-modal-form .flashhub-inline-form-actions.is-join{justify-content:flex-end;margin-top:1rem}.flashhub-modal-form-close{position:absolute;top:.875rem;right:.875rem;z-index:2;display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;border:1px solid rgba(202,191,166,.82);border-radius:999px;background:#faf5ead1;color:var(--fh-ink-2);cursor:pointer}.flashhub-modal-form-close:hover{border-color:#b25b366b;color:var(--fh-accent)}@media (max-width: 560px){.flashhub-demo-set,.flashhub-create-tile,.flashhub-group-card{min-height:0}.flashhub-modal-form{margin:0;max-width:none;min-height:100vh;border-radius:0;padding:1.25rem 1rem}}.flashhub-demo-header{padding-bottom:.75rem;border-bottom:0}.flashhub-demo-header:after,.flashhub-section-title:after,.flashhub-demo-set:before,.flashhub-create-tile:before,.flashhub-group-card:before,.flashhub-inline-form:before,.flashhub-demo-comments:before,.flashhub-modal-comments:before,.study-group-classroom-aside:before,.flashhub-modal-form:before{display:none}.flashhub-demo-toolbar{margin-bottom:1rem;padding-bottom:.625rem;border-bottom:0}.flashhub-tabs{border-color:#cabfa675;background:#faf5ea80}.flashhub-section-title{margin-bottom:.625rem;gap:0}.flashhub-demo-set,.flashhub-create-tile,.flashhub-group-card,.flashhub-inline-form,.flashhub-demo-detail{border-color:#cabfa69e;background:#faf5eadb}.flashhub-demo-set-foot,.flashhub-group-foot{border-top:0;background:#f3ece06b}.flashhub-demo-preview-row,.flashhub-demo-comment,.flashhub-card-list-row,.flashhub-group-contrib-row,.study-group-classroom-path-row,.study-group-feed-row,.study-group-member-row,.flashhub-classroom-contrib-row{border-bottom-color:#cabfa657}.flashhub-search-box,.flashhub-demo-comment-box input{border-bottom-color:#cabfa68a}.flashhub-modal-backdrop,.flashhub-compact-modal .flashhub-modal-backdrop{background:#2b23196b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.flashhub-modal-card,.flashhub-modal-form{background:#faf5ea;border-color:#cabfa6d6}.flashhub-modal-main,.flashhub-modal-comments,.flashhub-group-modal-body{background:#faf5ea}.flashhub-modal-preview,.flashhub-main-lesson-card,.flashhub-demo-preview-card{background:#f7efe1}.flashhub-modal-form{padding-left:1.35rem}.flashhub-deck-form-modal{position:relative;width:min(58rem,calc(100vw - 2rem));max-height:min(88vh,52rem);margin:6vh auto 0;overflow-y:auto;border:1px solid rgba(202,191,166,.84);border-radius:.875rem;background:#faf5ea;box-shadow:0 24px 70px #281e0f47}.flashhub-deck-form-modal .set-builder-shell{margin-bottom:0!important;padding:1rem}.flashhub-deck-form-modal .set-builder-main,.flashhub-deck-form-modal .set-builder-preview{background:#faf5ea!important;border-color:#cabfa6b8!important;box-shadow:none}.flashhub-deck-form-modal .set-builder-preview{background:#f7efe1!important}@media (max-width: 760px){.flashhub-deck-form-modal{width:100%;max-height:100vh;min-height:100vh;margin:0;border-radius:0}}.flashhub-modal.is-open{display:flex;align-items:flex-start;justify-content:center;padding:clamp(1rem,5vh,2.5rem) 1rem;overflow-y:auto}.flashhub-modal-backdrop,.flashhub-compact-modal .flashhub-modal-backdrop{background:#261f188f;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.flashhub-modal-card,.flashhub-modal-form,.flashhub-deck-form-modal{position:relative;z-index:1;margin:0;border:1px solid rgba(174,150,112,.9);background:#fbf6ec;box-shadow:0 28px 80px #20181057}.flashhub-modal-card{width:min(52rem,calc(100vw - 2rem));max-width:none;max-height:calc(100vh - clamp(2rem,10vh,5rem));border-radius:1rem}.flashhub-modal-cover{height:5.5rem;align-items:center;padding:1rem 1.25rem}.flashhub-modal-cover:after{position:absolute;inset:auto 0 0;height:1px;background:#ffffff47;content:""}.flashhub-modal-icon{position:static;display:inline-flex;width:2.75rem;height:2.75rem;align-items:center;justify-content:center;border-radius:.875rem;background:#ffffff2e;color:#fffffff2;flex:none}.flashhub-modal-subject{margin-left:.75rem;background:#2c262038}.flashhub-modal-close,.flashhub-modal-form-close{border:1px solid rgba(255,255,255,.28);background:#2c262047;color:#fff;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.flashhub-modal-close:hover,.flashhub-modal-form-close:hover{background:#2c26206b;color:#fff;transform:translateY(-1px)}.flashhub-modal-body{grid-template-columns:minmax(0,1fr) minmax(17rem,.38fr);background:#fbf6ec}.flashhub-modal-main{padding:1.35rem 1.5rem 1.5rem}.flashhub-modal-main h2{font-size:1.55rem;line-height:1.18}.flashhub-modal-meta{margin-top:.625rem;line-height:1.45}.flashhub-modal-preview{margin-top:1.125rem;padding:1.1rem;border-color:#ae9670b8;background:#f5ebdc}.flashhub-modal-word{font-size:1.8rem;line-height:1.1}.flashhub-modal-actions{gap:.5rem;margin-top:1rem}.flashhub-modal-comments{padding:1.25rem;border-left:1px solid rgba(174,150,112,.62);background:#f7efe1}.flashhub-modal-comments h3,.flashhub-group-contrib-title{letter-spacing:.08em;color:var(--fh-accent)}.flashhub-modal-comment-list{padding-right:.125rem}.flashhub-demo-comment{padding:.625rem 0}.flashhub-demo-comment-box{gap:.625rem;padding-top:.75rem}.flashhub-demo-comment-box button{display:inline-flex;width:2.25rem;height:2.25rem;align-items:center;justify-content:center;border:1px solid rgba(174,150,112,.72);border-radius:999px;background:var(--fh-accent);color:#fff8ee}.flashhub-group-modal-card{width:min(48rem,calc(100vw - 2rem))}.flashhub-group-modal-cover{height:5.75rem}.flashhub-group-modal-title span{font-size:1.35rem;line-height:1.18}.flashhub-group-modal-body{padding:1.35rem 1.5rem 1.5rem;background:#fbf6ec}.flashhub-group-modal-head{margin-bottom:1rem}.flashhub-main-lesson-card{padding:1rem;background:#f5ebdc}.flashhub-group-contrib{margin-top:1.15rem}.flashhub-group-contrib-row{gap:.75rem;padding:.75rem 0}.flashhub-modal-form{width:min(30rem,calc(100vw - 2rem));max-width:none;padding:1.35rem;border-radius:1rem}.flashhub-modal-form h3{margin:0;padding-right:2.5rem;font-size:1.25rem;line-height:1.2}.flashhub-modal-form p{margin-top:.35rem;color:var(--fh-ink-2)}.flashhub-modal-form .flashhub-inline-form-grid,.flashhub-modal-form .flashhub-inline-form-grid.is-join{margin-top:1rem}.flashhub-modal-form .flashhub-inline-form-actions,.flashhub-modal-form .flashhub-inline-form-actions.is-join{padding-top:.25rem}.flashhub-modal-form-close{top:1rem;right:1rem;border-color:#ae9670b8;background:#f5ebdc;color:var(--fh-ink-2)}.flashhub-modal-form-close:hover{border-color:#b25b367a;background:var(--fh-accent);color:#fff8ee}.flashhub-deck-form-modal{width:min(54rem,calc(100vw - 2rem));max-height:calc(100vh - clamp(2rem,10vh,5rem));overflow:hidden;border-radius:1rem}.flashhub-deck-form-modal .set-builder-shell{max-height:inherit;overflow-y:auto;padding:1.125rem}.flashhub-deck-form-modal .set-builder-main,.flashhub-deck-form-modal .set-builder-preview{border-radius:.875rem!important}.flashhub-deck-form-modal .set-builder-main{background:#fbf6ec!important}.flashhub-deck-form-modal .set-builder-preview{background:#f5ebdc!important}.flashhub-deck-form-modal .set-builder-main>.mb-5{margin-bottom:1rem;padding-bottom:.875rem;border-bottom:1px solid rgba(174,150,112,.4)}.flashhub-deck-form-modal .set-builder-main h3{font-size:1.3rem;line-height:1.2}@media (max-width: 840px){.flashhub-modal.is-open{padding:0}.flashhub-modal-card,.flashhub-group-modal-card,.flashhub-deck-form-modal,.flashhub-modal-form{width:100%;max-height:100vh;min-height:100vh;border-radius:0}.flashhub-modal-card{height:auto}.flashhub-modal-body{grid-template-columns:1fr;overflow-y:auto}.flashhub-modal-comments{border-top:1px solid rgba(174,150,112,.62);border-left:0}.flashhub-deck-form-modal .set-builder-shell{max-height:100vh}}.flashhub-deck-form-modal{width:min(68rem,calc(100vw - 2rem));background:#fbf6ec}.flashhub-deck-form-modal .flashhub-deck-builder-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,.86fr);gap:1rem;margin:0!important;padding:.875rem;max-height:inherit;overflow-y:auto}.flashhub-deck-builder-form .set-builder-main,.flashhub-deck-builder-form .set-builder-preview,.flashhub-deck-builder-form .set-builder-card-panel{border:1px solid rgba(174,150,112,.64)!important;border-radius:.875rem!important;background:#fbf6ec!important}.flashhub-deck-builder-form .set-builder-main{padding:1.125rem!important}.flashhub-deck-builder-form .set-builder-preview,.flashhub-deck-builder-form .set-builder-card-panel{position:sticky;top:.875rem;padding:1rem!important;align-self:start;background:#f5ebdc!important;max-height:calc(100vh - clamp(4rem,12vh,6rem));overflow-y:auto}.flashhub-deck-builder-form .set-builder-preview-inline{position:static;max-height:none;margin-top:1rem;overflow:visible}.flashhub-deck-builder-head{margin-bottom:1rem!important;padding-bottom:.875rem;border-bottom:0}.flashhub-deck-builder-eyebrow{margin-bottom:.45rem!important;background:#b25b361a!important;color:var(--fh-accent)!important;letter-spacing:.04em}.flashhub-deck-builder-form h3{margin:0;color:var(--fh-ink);font-size:1.35rem!important;line-height:1.18}.flashhub-deck-builder-hint{max-width:30rem;margin-top:.35rem;color:var(--fh-ink-2)!important;font-size:.8125rem!important;line-height:1.45}.flashhub-deck-builder-close{display:inline-flex;width:2.125rem;height:2.125rem;flex:none;align-items:center;justify-content:center;border:1px solid rgba(174,150,112,.64);border-radius:999px!important;background:#f5ebdc;color:var(--fh-ink-2)!important}.flashhub-deck-builder-close:hover{border-color:#b25b3680;background:var(--fh-accent)!important;color:#fff8ee!important}.flashhub-deck-builder-form .voca-field-label,.flashhub-deck-builder-form label{font-size:.75rem}.flashhub-deck-builder-form :where(input,textarea,select,.voca-textfield,.voca-textarea,.voca-select){min-height:2.35rem}.flashhub-deck-builder-form textarea{min-height:4.25rem}.flashhub-deck-builder-form .grid{gap:.875rem}.flashhub-deck-builder-form .mt-4{margin-top:.875rem!important}.flashhub-deck-builder-form .mt-5{margin-top:1rem!important}.flashhub-deck-builder-form .set-builder-swatches,.flashhub-deck-builder-form .set-builder-icons{gap:.425rem}.flashhub-deck-builder-form .set-builder-swatch{width:1.8rem;height:1.8rem;border-radius:.55rem}.flashhub-deck-builder-form .set-builder-icon{width:2rem;height:2rem;border-color:#ae967094;background:#fff8ee}.flashhub-deck-builder-form .set-builder-segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;border-color:#ae967094;background:#f5ebdc}.flashhub-deck-builder-form .set-builder-segmented button{justify-content:center;padding:.5rem .625rem;color:var(--fh-ink-2);font-size:.75rem}.flashhub-deck-builder-form .set-builder-segmented{border-color:#b25b366b;background:#ead9c2}.flashhub-deck-builder-form .set-builder-segmented button svg{color:currentColor}.flashhub-deck-builder-form .set-builder-segmented button:not(.is-active):hover{background:#fff8eeb8;color:var(--fh-accent)}.flashhub-deck-builder-form .set-builder-segmented button.is-active{background:var(--fh-accent);color:#fff8ee;box-shadow:0 8px 20px #b25b3633}.flashhub-shared-deck-modal{position:relative;z-index:1;width:min(34rem,calc(100vw - 2rem));max-height:calc(100vh - clamp(2rem,10vh,5rem));overflow-y:auto;border:1px solid rgba(174,150,112,.9);border-radius:1rem;background:#fbf6ec;box-shadow:0 28px 80px #20181057}.flashhub-shared-deck-modal .flashhub-shared-deck-panel{margin:0!important;padding:1.25rem!important;border:0!important;background:transparent!important;box-shadow:none!important}.flashhub-shared-deck-head{padding-bottom:.875rem;border-bottom:1px solid rgba(174,150,112,.28)}.flashhub-shared-deck-badge{background:#b25b361a!important;color:var(--fh-accent)!important;letter-spacing:.03em}.flashhub-shared-deck-modal h2{margin:0;color:var(--fh-ink);font-size:1.35rem;line-height:1.2}.flashhub-shared-deck-modal p{color:var(--fh-ink-2)!important;line-height:1.45}.flashhub-shared-deck-close{display:inline-flex;width:2.125rem;height:2.125rem;flex:none;align-items:center;justify-content:center;border:1px solid rgba(174,150,112,.64);border-radius:999px!important;background:#f5ebdc;color:var(--fh-ink-2)!important}.flashhub-shared-deck-close:hover{border-color:#b25b3680;background:var(--fh-accent)!important;color:#fff8ee!important}.flashhub-shared-deck-preview{border-color:#ae967080!important;background:#f5ebdc!important}.flashhub-shared-deck-card-preview{border-color:#ae967070!important;background:#fff8ee!important}.flashhub-card-form-modal{position:relative;z-index:1;width:min(38rem,calc(100vw - 2rem));max-height:calc(100vh - clamp(2rem,10vh,5rem));overflow-y:auto;border:1px solid rgba(174,150,112,.9);border-radius:1rem;background:#fbf6ec;box-shadow:0 28px 80px #20181057}.flashhub-card-form{margin:0!important;padding:1.125rem!important;border:0!important;background:transparent!important;box-shadow:none!important}.flashhub-card-form-head{margin-bottom:1rem!important;padding-bottom:.875rem;border-bottom:1px solid rgba(174,150,112,.28)}.flashhub-card-form-eyebrow{max-width:100%;background:#b25b361a!important;color:var(--fh-accent)!important;letter-spacing:.03em}.flashhub-card-form-eyebrow span{display:inline-flex;align-items:center;gap:.25rem;color:var(--fh-ink-2);font-size:.6875rem;letter-spacing:0}.flashhub-card-form-deck-title{min-width:0;max-width:18rem;overflow:hidden;color:var(--fh-accent)!important;text-overflow:ellipsis;white-space:nowrap}.flashhub-card-form-count{flex:none}.flashhub-card-form h3{margin:0;color:var(--fh-ink);font-size:1.35rem;line-height:1.18}.flashhub-card-form-hint{max-width:31rem;margin-top:.35rem;color:var(--fh-ink-2)!important;font-size:.8125rem!important;line-height:1.45}.flashhub-card-form-close{display:inline-flex;width:2.125rem;height:2.125rem;flex:none;align-items:center;justify-content:center;border:1px solid rgba(174,150,112,.64);border-radius:999px!important;background:#f5ebdc;color:var(--fh-ink-2)!important}.flashhub-card-form-close:hover{border-color:#b25b3680;background:var(--fh-accent)!important;color:#fff8ee!important}.flashhub-card-form .voca-field-label,.flashhub-card-form label{font-size:.75rem}.flashhub-card-form :where(input,textarea,select,.voca-textfield,.voca-textarea,.voca-select){min-height:2.35rem}.flashhub-card-form textarea{min-height:4.1rem}.flashhub-card-form .grid{gap:.875rem}.flashhub-card-form .mt-4{margin-top:.875rem!important}.flashhub-card-form-actions{position:sticky;bottom:-1.125rem;z-index:2;margin-right:-1.125rem;margin-bottom:-1.125rem;margin-left:-1.125rem;padding:.875rem 1.125rem;border-top:1px solid rgba(174,150,112,.34);background:linear-gradient(180deg,#fbf6ece6,#fbf6ec 32%)}.flashhub-card-form-actions .btn,.flashhub-card-form-actions button{min-height:2.35rem}.flashhub-deck-builder-actions{position:sticky;bottom:-1.125rem;z-index:2;margin-right:-1.125rem;margin-bottom:-1.125rem;margin-left:-1.125rem;padding:.875rem 1.125rem;border-top:1px solid rgba(174,150,112,.34);background:linear-gradient(180deg,#fbf6ece6,#fbf6ec 32%)}.flashhub-deck-builder-actions .btn,.flashhub-deck-builder-actions button{min-height:2.35rem}.flashhub-deck-builder-form .set-builder-preview>.mb-3{margin-bottom:.625rem!important;color:var(--fh-ink-2)!important;letter-spacing:.08em}.flashhub-deck-builder-form .set-builder-preview-card{border-color:#ae967094;background:#fbf6ec}.flashhub-deck-builder-form .set-builder-preview-cover{height:5rem;padding:.75rem}.flashhub-deck-builder-form .set-builder-preview-cover>svg{top:.75rem;left:.75rem;width:1.35rem;height:1.35rem}.flashhub-deck-builder-form .set-builder-visibility-pill{top:.625rem;right:.625rem;padding:.2rem .5rem;font-size:.62rem}.flashhub-deck-builder-form .set-builder-preview-card h4{font-size:1rem!important;line-height:1.25}.flashhub-deck-builder-form .set-builder-preview-card .p-4{padding:.875rem!important}.flashhub-deck-card-builder{margin-top:0;padding-top:0;border-top:0}.flashhub-deck-card-builder-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.flashhub-deck-card-builder-head span{display:block;color:var(--fh-accent);font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.flashhub-deck-card-builder-head strong{display:block;margin-top:.125rem;color:var(--fh-ink-2);font-size:.78rem}.flashhub-deck-card-builder-head button{flex:none;border:0;background:transparent;color:var(--fh-accent);font-size:.75rem;font-weight:800;cursor:pointer}.flashhub-deck-card-composer{padding:.875rem;border:1px solid rgba(174,150,112,.46);border-radius:.825rem;background:#fbf6ec}.flashhub-deck-card-composer .voca-field-label,.flashhub-deck-card-composer label{font-size:.7rem}.flashhub-deck-card-composer :where(input,textarea,select,.voca-textfield,.voca-textarea,.voca-select){min-height:2.2rem}.flashhub-deck-card-composer textarea{min-height:3.55rem}.flashhub-card-audio-field{min-width:0}.flashhub-card-audio-status{display:flex;min-height:2.4rem;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem 0;border-bottom:1.5px solid var(--fh-rule-2);color:var(--fh-ink-2);font-size:.85rem}.flashhub-card-audio-status.is-ready{color:var(--fh-ink)}.flashhub-card-audio-status button{border:0;background:transparent;color:var(--fh-accent);font-size:.78rem;font-weight:800;cursor:pointer}.flashhub-card-audio-status button+button{margin-left:.35rem}.flashhub-deck-card-composer-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.flashhub-deck-card-composer-actions .btn,.flashhub-deck-card-composer-actions button{min-height:2.25rem}.flashhub-deck-card-list{display:grid;gap:.5rem;margin-top:.75rem}.flashhub-deck-card-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.625rem;align-items:center;padding:.625rem .675rem;border:1px solid rgba(174,150,112,.36);border-radius:.75rem;background:#fff8ee}.flashhub-deck-card-row b,.flashhub-deck-card-row span,.flashhub-deck-card-row small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flashhub-deck-card-row b{color:var(--fh-ink);font-size:.875rem;line-height:1.25}.flashhub-deck-card-row span{margin-top:.125rem;color:var(--fh-accent);font-size:.8rem;font-weight:700}.flashhub-deck-card-row small{margin-top:.125rem;color:var(--fh-ink-2);font-size:.72rem;font-style:italic}.flashhub-deck-card-row-actions{display:inline-flex;align-items:center;gap:.25rem}.flashhub-deck-card-row-actions button{display:inline-flex;width:1.85rem;height:1.85rem;align-items:center;justify-content:center;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--fh-ink-2);cursor:pointer}.flashhub-deck-card-row-actions button:hover{border-color:#b25b3647;background:#b25b361a;color:var(--fh-accent)}.flashhub-deck-card-empty{padding:.875rem;border:1px dashed rgba(174,150,112,.55);border-radius:.75rem;color:var(--fh-ink-2);font-size:.8125rem;text-align:center}@media (max-width: 900px){.flashhub-deck-form-modal .flashhub-deck-builder-form{grid-template-columns:1fr}.flashhub-deck-builder-form .set-builder-preview{position:static}}@media (max-width: 560px){.flashhub-card-form-modal{width:100%;max-height:100vh;min-height:100vh;border-radius:0}.flashhub-card-form{padding:1rem!important}.flashhub-card-form-actions{margin-right:-1rem;margin-bottom:-1rem;margin-left:-1rem;padding:.75rem 1rem}.flashhub-shared-deck-modal{width:100%;max-height:100vh;min-height:100vh;border-radius:0}.flashhub-shared-deck-modal .flashhub-shared-deck-panel{padding:1.125rem!important}.flashhub-deck-form-modal .flashhub-deck-builder-form{padding:.75rem}.flashhub-deck-builder-form .set-builder-main{padding:1rem!important}.flashhub-deck-builder-actions{margin-right:-1rem;margin-bottom:-1rem;margin-left:-1rem;padding:.75rem 1rem}}.flashhub-demo-surface{max-width:980px;margin:0 auto;padding:40px 24px 70px;border:0;border-radius:0;background:transparent;color:var(--fh-ink);font-family:Georgia,Times New Roman,serif;line-height:1.5;overflow:visible;box-shadow:none}.flashhub-demo-header{display:block;padding:0;border-bottom:0}.flashhub-demo-header:after{display:none}.flashhub-demo-title-row{gap:12px;margin-top:5px}.flashhub-demo-title-row h1{font-size:38px;font-weight:600;line-height:1.08;letter-spacing:-.015em}.flashhub-demo-logo{width:34px;height:34px}.flashhub-demo-header p{max-width:none;margin-top:4px;color:var(--fh-faint);font-size:13.5px;line-height:1.5}.flashhub-tabs{display:inline-flex;width:auto;grid-template-columns:none;gap:4px;margin:24px 0 26px;padding:4px;border:1px solid var(--fh-rule);border-radius:12px;background:#ece1cd}.flashhub-tab{justify-content:center;padding:9px 20px;border-radius:9px;font-size:14px}.flashhub-tab b{display:none}.flashhub-demo-toolbar{margin-bottom:20px;padding:0;border:0;background:transparent}.flashhub-search-box{min-width:260px;padding:7px 2px;border-bottom:1.5px solid var(--fh-rule-2)}.flashhub-demo-chips{gap:8px}.flashhub-filter-chip{border-radius:20px;background:var(--fh-card);padding:7px 14px;font-size:12.5px}.flashhub-demo-grid,.flashhub-mine-grid{grid-template-columns:repeat(3,1fr);gap:16px}.flashhub-demo-set,.flashhub-create-tile{min-height:0;contain-intrinsic-size:auto;border:1px solid var(--fh-rule);border-radius:14px;background:var(--fh-panel);box-shadow:0 6px 16px #46341c17}.flashhub-demo-set:before,.flashhub-create-tile:before{display:none}.flashhub-demo-set:hover,.flashhub-demo-set.is-selected,.flashhub-create-tile:hover{border-color:var(--fh-rule);background:var(--fh-panel);box-shadow:0 6px 16px #46341c17;transform:none}.flashhub-set-cover{height:96px;min-height:96px}.flashhub-set-cover svg{width:34px;height:34px}.flashhub-set-cover span{top:10px;left:10px;max-width:calc(100% - 80px);padding:3px 9px;font-size:10.5px}.flashhub-set-cover b,.flashhub-set-cover em{top:10px;right:-1px;padding:4px 11px;font-size:10.5px}.flashhub-demo-set-body{padding:14px 16px 0}.flashhub-demo-set-body h3{min-height:2.5em;font-size:18px;line-height:1.25}.flashhub-demo-author{margin-top:9px;padding-top:0}.flashhub-demo-set-body>small{margin-top:10px;font-size:12px}.flashhub-demo-set-foot{min-height:0;margin-top:12px;padding:12px 14px;border-top:1px solid var(--fh-rule);background:transparent}.flashhub-mini-action{padding:6px 8px;font-size:12.5px}.flashhub-study-button,.flashhub-group-ghost{min-height:auto;border-radius:9px;padding:8px 16px;font-size:12.5px}.flashhub-create-button{border-radius:10px;padding:11px 18px;font-size:13.5px}.flashhub-create-tile{min-height:230px;border:1.5px dashed var(--fh-rule-2);background:transparent;box-shadow:none}.flashhub-create-tile span{width:48px;height:48px;border-radius:13px}.flashhub-create-tile b{font-size:17px}.flashhub-create-tile small{max-width:180px;font-size:12.5px}.flashhub-ggrid{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:30px}.flashhub-group-card{min-height:0;padding:18px 20px 18px 30px;border:1px solid var(--fh-rule);border-radius:14px;background:#fcf8ef;box-shadow:none}.flashhub-group-card:before{display:block;left:15px;top:14px;bottom:14px;width:1px;background:#b25b364d}.flashhub-group-card:hover,.flashhub-group-card:not(.is-preview):hover{border-color:var(--fh-rule);background:#fcf8ef;box-shadow:none;transform:none}.flashhub-group-icon{width:42px;height:42px;border-radius:11px}.flashhub-group-icon svg{width:21px;height:21px}.flashhub-group-top h3{display:block;font-size:18px}.flashhub-group-role{margin-left:8px;padding:2px 9px;font-size:11px;transform:none}.flashhub-group-top p,.flashhub-group-lesson{font-size:12.5px}.flashhub-avatar-stack{margin-top:14px}.flashhub-avatar-stack span,.flashhub-avatar-stack b{width:24px;height:24px;font-size:10.5px}.flashhub-group-lesson{margin-top:14px;padding-top:0}.flashhub-group-foot{margin-top:16px;padding-top:0;border-top:0;background:transparent}.flashhub-section-title{margin:6px 0 14px;gap:10px;color:var(--fh-faint);font-size:12px;letter-spacing:.12em}.flashhub-section-title:after{display:block;content:"";flex:1;height:1px;background:var(--fh-rule)}.flashhub-section-title.is-spaced{margin-top:30px}.flashhub-modal.is-open{display:block;padding:0;overflow:visible}.flashhub-modal-card{width:auto;max-width:780px;max-height:90vh;margin:5vh auto;border:1px solid var(--fh-rule);border-radius:18px;background:var(--fh-card);box-shadow:0 24px 60px #281e0f66}.flashhub-modal-cover{height:118px;align-items:flex-end;padding:15px 22px}.flashhub-modal-icon{position:absolute;top:15px;left:22px;width:auto;height:auto;background:transparent}.flashhub-modal-subject{margin-left:0}.flashhub-modal-body{grid-template-columns:1fr 300px;background:var(--fh-card)}.flashhub-modal-main{padding:20px 24px}.flashhub-modal-main h2{font-size:23px}.flashhub-modal-comments{padding:18px 18px 16px 30px;border-left:1px solid var(--fh-rule);background:#fcf8ef}.flashhub-modal-comments:before{display:block;background:#b25b364d}.flashhub-group-modal-card{max-width:780px}.flashhub-group-modal-cover{height:122px}@media (max-width: 840px){.flashhub-demo-surface{padding:32px 18px 60px}.flashhub-demo-grid,.flashhub-mine-grid{grid-template-columns:repeat(2,1fr)}.flashhub-ggrid{grid-template-columns:1fr}.flashhub-modal-card{margin:0;max-height:100vh;height:100vh;border-radius:0}.flashhub-modal-body{grid-template-columns:1fr;overflow-y:auto}.flashhub-modal-comments{border-top:1px solid var(--fh-rule);border-left:0}}@media (max-width: 560px){.flashhub-demo-surface{width:100%;padding:28px 14px 50px}.flashhub-demo-title-row h1{font-size:30px}.flashhub-tabs{display:flex;width:100%;overflow-x:auto}.flashhub-demo-toolbar{align-items:stretch}.flashhub-demo-grid,.flashhub-mine-grid,.flashhub-ggrid{grid-template-columns:1fr}}.flashhub-compact-modal.is-open{display:flex;align-items:flex-start;justify-content:center;padding:clamp(1rem,5vh,2.5rem) 1rem;overflow-y:auto}.flashhub-compact-modal .flashhub-deck-form-modal,.flashhub-compact-modal .flashhub-card-form-modal,.flashhub-compact-modal .flashhub-shared-deck-modal,.flashhub-compact-modal .flashhub-modal-form{margin:0}@media (max-width: 840px){.flashhub-compact-modal.is-open{padding:0}}.flashhub-modal-card:not(.flashhub-group-modal-card){width:min(58rem,calc(100vw - 2rem))}.flashhub-modal-card:not(.flashhub-group-modal-card) .flashhub-modal-cover{height:5rem;align-items:center;gap:.55rem}.flashhub-modal-card:not(.flashhub-group-modal-card) .flashhub-modal-icon{width:2.25rem;height:2.25rem;border-radius:.75rem;background:#2c26202e}.flashhub-modal-card:not(.flashhub-group-modal-card) .flashhub-modal-icon svg{width:1.35rem;height:1.35rem}.flashhub-modal-card:not(.flashhub-group-modal-card) .flashhub-modal-subject{display:inline-flex;min-height:2.25rem;align-items:center;margin-left:0;border-radius:999px;padding:.45rem .85rem;background:#2c262033;color:#fffffff0;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.74rem;font-weight:800;letter-spacing:.1em;line-height:1;text-transform:uppercase}.flashhub-modal-card:not(.flashhub-group-modal-card) .flashhub-modal-body{grid-template-columns:minmax(0,1fr) minmax(17.5rem,.42fr);background:#fbf6ec}.flashhub-modal-card:not(.flashhub-group-modal-card) .flashhub-modal-main{display:flex;min-height:0;flex-direction:column;gap:1rem;padding:1.35rem 1.5rem 1.45rem}.flashhub-modal-head{padding-bottom:.875rem;border-bottom:1px solid rgba(202,191,166,.68)}.flashhub-modal-head h2{max-width:34rem}.flashhub-modal-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.flashhub-modal-meta>span{display:inline-flex;min-height:2rem;align-items:center;gap:.45rem;border:1px solid rgba(202,191,166,.72);border-radius:999px;background:#faf5eabf;padding:.25rem .75rem;color:var(--fh-ink-2)}.flashhub-modal-author{padding-left:.35rem!important}.flashhub-modal-preview{display:flex;min-height:13.5rem;flex:1;flex-direction:column;justify-content:center;margin-top:0;border-style:solid;text-align:left}.flashhub-modal-preview .flashhub-preview-headline{margin-bottom:.75rem}.flashhub-modal-word,.flashhub-modal-meaning,.flashhub-modal-example{overflow-wrap:anywhere}.flashhub-modal-word{margin-top:0}.flashhub-preview-nav{justify-content:space-between;margin-top:auto;padding-top:1rem}.flashhub-modal-actions{margin-top:0;padding-top:.875rem;border-top:1px solid rgba(202,191,166,.68)}.flashhub-modal-comments{display:flex;min-height:0;flex-direction:column;gap:.75rem;padding:1.35rem 1.25rem}.flashhub-modal-comments h3{margin-bottom:0}.flashhub-modal-comment-list{flex:1;min-height:9rem}.flashhub-demo-comment-box{margin-top:0;padding-top:.875rem;border-top:1px solid rgba(202,191,166,.68)}@media (max-width: 840px){.flashhub-modal-card:not(.flashhub-group-modal-card){width:100%}.flashhub-modal-card:not(.flashhub-group-modal-card) .flashhub-modal-body{grid-template-columns:1fr}.flashhub-modal-card:not(.flashhub-group-modal-card) .flashhub-modal-main{overflow:visible}.flashhub-modal-comments{min-height:16rem}}.flashhub-group-modal-card{display:flex;width:min(62rem,calc(100vw - 2rem));max-width:none;max-height:calc(100vh - 2rem);flex-direction:column;overflow:hidden}.flashhub-group-modal-card .flashhub-group-modal-cover{height:5.5rem;align-items:center;gap:.85rem}.flashhub-group-modal-card .flashhub-modal-icon{position:static;display:inline-flex;width:2.75rem;height:2.75rem;align-items:center;justify-content:center;flex:none;border-radius:.875rem;background:#ffffff29;color:#fffffff0}.flashhub-group-modal-card .flashhub-modal-icon svg{width:1.65rem;height:1.65rem}.flashhub-group-modal-title{min-width:0}.flashhub-group-modal-title span{overflow-wrap:anywhere}.flashhub-group-modal-card .flashhub-group-modal-body{display:flex;min-height:0;flex:1;flex-direction:column;gap:1rem;overflow-y:auto;padding:1rem 1.35rem 1.1rem;background:#fbf6ec}.flashhub-group-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:0;border-bottom:1px solid rgba(202,191,166,.68);padding-bottom:1rem}.flashhub-group-modal-head p{max-width:38rem;line-height:1.55}.flashhub-group-modal-stats{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.flashhub-group-modal-stats span{display:inline-flex;min-height:1.8rem;align-items:center;border:1px solid rgba(202,191,166,.72);border-radius:999px;background:#faf5eac7;color:var(--fh-ink-2);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.75rem;font-weight:700;padding:.25rem .7rem}.flashhub-group-modal-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(17.5rem,.42fr);gap:1rem;min-height:0}.flashhub-group-modal-main,.flashhub-group-modal-side{min-width:0}.flashhub-group-modal-main{display:flex;flex-direction:column;gap:1rem}.flashhub-group-modal-main .flashhub-main-lesson-card{margin:0;align-items:flex-start;border-style:solid}.flashhub-group-modal-main .flashhub-main-lesson-card .progress-bar,.flashhub-group-modal-main .flashhub-main-lesson-card [role=progressbar]{margin-top:.85rem}.flashhub-group-contrib{margin-top:0;border:1px solid rgba(202,191,166,.72);border-radius:.875rem;background:#fcf8ef;padding:1rem}.flashhub-group-contrib-title,.flashhub-group-side-title{display:flex;align-items:center;gap:.45rem;margin-bottom:.5rem;color:var(--fh-accent);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.flashhub-group-contrib-list{border-top:1px solid rgba(202,191,166,.48)}.flashhub-group-contrib-row{align-items:flex-start}.flashhub-group-contrib-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;flex:none;margin-left:auto}.flashhub-group-mini-study{white-space:nowrap}.flashhub-group-pick{flex:none;white-space:nowrap}.flashhub-group-modal-side{display:flex;flex-direction:column;gap:.85rem}.flashhub-group-side-section{border:1px solid rgba(202,191,166,.72);border-radius:.875rem;background:#f7efe1;padding:.95rem}.flashhub-group-side-section.is-comments{flex:1;min-height:15rem}.flashhub-group-comment-list{min-height:0;max-height:12rem;overflow-y:auto;padding-right:.125rem}.flashhub-group-comment-list .study-group-feed-row{border-bottom-color:#cabfa69e}.flashhub-group-comment-list .study-group-feed-row>span{background:#faf5ead9;border-color:#cabfa6b8;color:var(--fh-accent)}.flashhub-group-add-card{margin-top:0}@media (max-width: 840px){.flashhub-group-modal-card{width:100%}.flashhub-group-modal-card .flashhub-group-modal-body{max-height:none;overflow-y:auto}.flashhub-group-modal-grid{display:flex;flex-direction:column}.flashhub-group-modal-head{flex-direction:column}.flashhub-group-contrib-row,.flashhub-group-contrib-actions{align-items:stretch;flex-direction:column}.flashhub-group-contrib-actions{width:100%;margin-left:0}.flashhub-group-comment-list{max-height:none}}.flashhub-group-actions-wrap{position:relative;display:flex;justify-content:flex-end;align-items:flex-start;min-width:168px}.flashhub-group-action-toggle{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(126,93,53,.22);background:#fffaefd1;color:var(--fh-ink-2);border-radius:999px;padding:8px 12px;font:700 12px/1 Inter,ui-sans-serif,system-ui,sans-serif;cursor:pointer}.flashhub-group-action-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:12;min-width:210px;padding:8px;border-radius:16px;border:1px solid rgba(126,93,53,.2);background:#fffaf0;box-shadow:0 18px 38px #46341c29}.flashhub-group-action-menu button{width:100%;display:flex;align-items:center;gap:9px;border:0;background:transparent;color:var(--fh-ink-2);border-radius:11px;padding:9px 10px;text-align:left;font:700 12px/1.2 Inter,ui-sans-serif,system-ui,sans-serif;cursor:pointer}.flashhub-group-action-menu button:hover{background:#b25b3614;color:var(--fh-accent)}.flashhub-group-action-menu button.is-danger{color:#a34b36}.flashhub-main-lesson-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.flashhub-group-rhythm-card{margin-top:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid rgba(126,93,53,.16);background:#fffaefb3;border-radius:18px;padding:14px 16px}.flashhub-group-rhythm-card span{display:block;color:var(--fh-faint);font:700 11px/1 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.flashhub-group-rhythm-card strong{display:block;color:var(--fh-ink);font:600 14px/1.45 Inter,ui-sans-serif,system-ui,sans-serif}.flashhub-group-rhythm-stats{display:grid;grid-template-columns:auto auto;gap:3px 8px;align-items:baseline;min-width:148px}.flashhub-group-rhythm-stats b{color:var(--fh-accent);font:800 17px/1 Inter,ui-sans-serif,system-ui,sans-serif;text-align:right}.flashhub-group-rhythm-stats small{color:var(--fh-faint);font:600 11.5px/1.2 Inter,ui-sans-serif,system-ui,sans-serif}.flashhub-group-contrib-row.is-main{background:#b25b360e}.flashhub-group-mini-danger{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(163,75,54,.22);background:#fff6efd1;color:#9f4a35;border-radius:999px;padding:7px 10px;font:800 11px/1 Inter,ui-sans-serif,system-ui,sans-serif;cursor:pointer}.flashhub-group-mini-danger:hover{background:#a34b361a}.flashhub-member-progress-list{display:grid;gap:8px}.flashhub-member-progress-row{display:flex;gap:10px;align-items:center;border:1px solid rgba(126,93,53,.12);background:#fffaefb8;border-radius:14px;padding:9px 10px}.flashhub-member-progress-row>span{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--fh-accent-soft);color:var(--fh-accent);font:800 11px/1 Inter,ui-sans-serif,system-ui,sans-serif;flex:none}.flashhub-member-progress-row b,.flashhub-member-progress-row small{display:block;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.flashhub-member-progress-row b{color:var(--fh-ink);font-size:12.5px}.flashhub-member-progress-row small{color:var(--fh-faint);font-size:11.5px;margin-top:2px}@media (max-width: 760px){.flashhub-group-actions-wrap{justify-content:flex-start;width:100%}.flashhub-group-action-menu{left:0;right:auto}.flashhub-group-rhythm-card{grid-template-columns:1fr}.flashhub-main-lesson-actions{align-items:stretch;width:100%}}.flashhub-group-page{max-width:1180px;margin:0 auto;padding:10px 4px 28px}.flashhub-group-page-header{position:relative;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start;padding:22px;border:1px solid rgba(80,72,58,.12);border-radius:30px;background:linear-gradient(135deg,#f5eedefa,#ddeddadb);box-shadow:0 22px 60px #4f402a1f}.flashhub-group-page-back{grid-column:1 / -1;width:-moz-max-content;width:max-content;display:inline-flex;align-items:center;gap:8px;border:0;background:#ffffff8f;color:#6f654f;border-radius:999px;padding:9px 13px;font-weight:800}.flashhub-group-page-title{display:flex;align-items:center;gap:14px;min-width:0}.flashhub-group-page-title h2{margin:0;font-family:var(--font-display, Georgia, serif);font-size:clamp(1.5rem,3vw,2.25rem);color:#3f382c}.flashhub-group-page-title p{margin:4px 0 0;color:#786f5e;max-width:620px}.flashhub-group-page-title>b{align-self:flex-start;white-space:nowrap;padding:7px 11px;border-radius:999px;background:#5f805624;color:#4f6d44;font-size:.78rem}.flashhub-group-page-stats{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.flashhub-group-page-stats span,.flashhub-group-page-stats button{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(96,82,58,.13);border-radius:999px;background:#ffffffc7;padding:8px 12px;color:#675d4c;font-weight:800}.flashhub-group-page-stats button{cursor:pointer}.flashhub-group-page-stats button:hover{background:#f7eed6f2}.flashhub-group-page-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:18px;align-items:start}.flashhub-main-lesson-card.is-page{min-height:360px;align-items:stretch;background:radial-gradient(circle at 16% 18%,rgba(255,255,255,.84),transparent 34%),linear-gradient(145deg,#fffcf1fa,#eee5cbdb)}.flashhub-main-lesson-card.is-page h3{font-size:clamp(1.55rem,3.5vw,2.35rem);line-height:1.05}.flashhub-main-lesson-preview{margin-top:18px;padding:16px;border:1px solid rgba(116,96,62,.14);border-radius:22px;background:#ffffff94}.flashhub-main-lesson-preview span{display:inline-flex;margin-bottom:8px;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#8b7449}.flashhub-main-lesson-preview p{margin:0;color:#6f654f}.flashhub-group-page-side{border:1px solid rgba(80,72,58,.12);border-radius:28px;background:#fffcf3eb;box-shadow:0 18px 50px #4f402a1a;overflow:hidden}.flashhub-group-side-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:8px;background:#f2e8cfb8}.flashhub-group-side-tabs button{border:0;border-radius:18px;background:transparent;color:#756a57;padding:12px 10px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:8px}.flashhub-group-side-tabs button.is-active{background:#ffffffe6;color:#3f382c;box-shadow:0 10px 24px #5a4a2d1a}.flashhub-group-side-section.is-page,.flashhub-group-discussion-panel{padding:16px}.flashhub-group-discussion-empty,.flashhub-group-pending-empty{border:1px dashed rgba(118,99,63,.24);border-radius:22px;padding:18px;background:#ffffff8a;color:#706652}.flashhub-group-discussion-empty svg,.flashhub-group-pending-empty svg{color:#8a9c65;margin-bottom:8px}.flashhub-group-discussion-empty b,.flashhub-group-pending-empty b{display:block;color:#3f382c;margin-bottom:4px}.flashhub-group-discussion-empty p,.flashhub-group-pending-empty p{margin:0}.flashhub-group-discussion-box{display:flex;gap:10px;margin-top:14px}.flashhub-group-discussion-box textarea{flex:1;min-height:82px;resize:vertical;border:1px solid rgba(100,82,52,.14);border-radius:18px;padding:12px 14px;background:#ffffffc7;color:#6f654f}.flashhub-group-discussion-box button{align-self:flex-end;display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:11px 15px;background:#e7dfca;color:#8a806e;font-weight:900}.flashhub-group-action-menu.is-page{width:min(560px,calc(100vw - 32px));max-height:74vh;overflow:auto}.flashhub-group-action-divider{height:1px;margin:8px 0;background:#60523a1f}.flashhub-group-action-panel{padding:8px}.flashhub-group-action-panel-title{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:#3f382c;font-weight:900}.flashhub-group-deck-manager{border:1px solid rgba(96,82,58,.12);border-radius:20px;background:#fffcf3e0;padding:10px}.flashhub-group-manager-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.flashhub-group-manager-tabs button{border:0;border-radius:999px;background:#eee5cdb8;color:#756a57;padding:9px 10px;font-weight:900}.flashhub-group-manager-tabs button.is-active{background:#3f382c;color:#fff9e9}.flashhub-group-manager-tabs span{opacity:.78}.flashhub-group-manage-list{display:grid;gap:8px}.flashhub-group-manage-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border-radius:18px;background:#ffffff9e;border:1px solid rgba(96,82,58,.1)}.flashhub-group-manage-row.is-main{border-color:#8e794847;background:#fff7dec2}.flashhub-group-manage-info{min-width:0}.flashhub-group-manage-info b{display:block;color:#3f382c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flashhub-group-manage-info small{color:#80735d}.flashhub-group-manage-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.flashhub-members-modal{position:relative;width:min(620px,calc(100vw - 32px));max-height:min(720px,calc(100vh - 44px));overflow:auto;border-radius:28px;background:#fffaf0;border:1px solid rgba(80,72,58,.14);box-shadow:0 28px 80px #2d261c38;padding:24px;z-index:1}.flashhub-members-modal h3{margin:0;font-family:var(--font-display, Georgia, serif);font-size:1.5rem;color:#3f382c}.flashhub-members-modal p{margin:4px 0 18px;color:#746a58}.flashhub-members-modal-list{display:grid;gap:10px}.flashhub-member-detail-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-radius:20px;border:1px solid rgba(96,82,58,.12);background:#ffffffa3}.flashhub-member-detail-row>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#efe2bd;color:#5d4d2f;font-weight:900}.flashhub-member-detail-row b,.flashhub-member-detail-row small{display:block}.flashhub-member-detail-row b{color:#3f382c}.flashhub-member-detail-row small{color:#746a58;margin-bottom:7px}.flashhub-member-detail-row em{font-style:normal;font-weight:900;color:#5e744a}@media (max-width: 920px){.flashhub-group-page-header,.flashhub-group-page-grid{grid-template-columns:1fr}.flashhub-group-page-title{align-items:flex-start}.flashhub-group-page-title>b{margin-left:auto}.flashhub-group-discussion-box{flex-direction:column}.flashhub-group-discussion-box button{align-self:stretch;justify-content:center}}@media (max-width: 640px){.flashhub-group-page-header{padding:16px;border-radius:24px}.flashhub-group-page-title{flex-wrap:wrap}.flashhub-group-page-title>b{margin-left:0}.flashhub-group-manage-row,.flashhub-member-detail-row{grid-template-columns:1fr}.flashhub-group-manage-actions{justify-content:flex-start}}.flashhub-group-page{max-width:1120px;margin:0 auto;padding:0 0 32px}.flashhub-group-page-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;border:1px solid rgba(202,191,166,.72);border-radius:14px;background:#faf5ead1;box-shadow:none}.flashhub-group-page-back{grid-column:auto;min-height:2.25rem;padding:.45rem .75rem;border:1px solid rgba(202,191,166,.72);border-radius:10px;background:#fffcf5b8;color:var(--fh-ink-2);font-size:.8rem;font-weight:800;cursor:pointer}.flashhub-group-page-back:hover{border-color:#b25b3661;color:var(--fh-accent)}.flashhub-group-page-title{min-width:0;gap:10px}.flashhub-group-page-title .flashhub-modal-icon{width:2.25rem;height:2.25rem;border-radius:10px;background:#b25b361a;color:var(--fh-accent)}.flashhub-group-page-title h2{max-width:34rem;overflow:hidden;color:var(--fh-ink);font-size:clamp(1.35rem,2.4vw,1.75rem);line-height:1.12;text-overflow:ellipsis;white-space:nowrap}.flashhub-group-page-title p{margin-top:2px;color:var(--fh-faint);font-size:.83rem;line-height:1.45}.flashhub-group-page-title>b{align-self:center;padding:.25rem .6rem;background:#5f72571f;color:var(--fh-sage);font-size:.7rem;line-height:1.25}.flashhub-group-action-toggle{min-height:2.25rem;padding:.45rem .78rem;border-radius:10px;border-color:#cabfa6d1;background:#faf5ea;color:var(--fh-ink-2);box-shadow:none}.flashhub-group-action-toggle:hover{border-color:#b25b365c;color:var(--fh-accent)}.flashhub-group-action-menu.is-page{width:min(260px,calc(100vw - 32px));max-height:none;overflow:visible;padding:8px;border-radius:12px;border-color:#cabfa6d6;background:#fbf6ec;box-shadow:0 18px 48px #2a20142e}.flashhub-group-action-menu.is-page button{min-height:2.15rem;padding:.5rem .62rem;border-radius:9px;font-size:.8rem}.flashhub-group-page-stats{margin:12px 0 14px;gap:8px}.flashhub-group-page-stats span,.flashhub-group-page-stats button{min-height:2rem;padding:.38rem .68rem;border-color:#cabfa6a8;background:#faf5eab8;color:var(--fh-ink-2);font-size:.8rem;font-weight:800}.flashhub-group-page-stats button:hover{border-color:#b25b3657;background:#fcf8efeb;color:var(--fh-accent)}.flashhub-group-page-grid{grid-template-columns:minmax(0,1fr) minmax(20rem,.72fr);gap:14px}.flashhub-main-lesson-card.is-page{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;padding:18px;border:1px solid rgba(202,191,166,.78);border-radius:14px;background:#faf5eae0;box-shadow:none}.flashhub-main-lesson-card.is-page h3{margin-top:.55rem;color:var(--fh-ink);font-size:clamp(1.3rem,3vw,2rem);line-height:1.08}.flashhub-main-lesson-card.is-page p{margin-top:.35rem;color:var(--fh-faint);font-size:.82rem}.flashhub-main-lesson-card.is-page .progress-bar,.flashhub-main-lesson-card.is-page [role=progressbar]{max-width:28rem;margin-top:.72rem}.flashhub-main-lesson-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch;min-width:8.25rem}.flashhub-main-lesson-actions .flashhub-study-button,.flashhub-main-lesson-actions .flashhub-group-ghost{width:100%;justify-content:center}.flashhub-main-lesson-preview.is-inline{max-width:34rem;margin-top:14px;padding:12px 13px;border:1px solid rgba(202,191,166,.62);border-radius:12px;background:#fffcf594}.flashhub-main-lesson-preview.is-inline span{margin-bottom:.35rem;color:var(--fh-gold);font-size:.68rem}.flashhub-main-lesson-preview.is-inline p{color:var(--fh-ink-2);font-size:.86rem;line-height:1.5}.flashhub-group-page-side{border-radius:14px;border-color:#cabfa6c7;background:#faf5eadb;box-shadow:none}.flashhub-group-side-tabs{gap:6px;padding:6px;border-bottom:1px solid rgba(202,191,166,.42);background:#f3ece061}.flashhub-group-side-tabs button{min-height:2.15rem;border-radius:9px;color:var(--fh-ink-2);font-size:.78rem;font-weight:800;line-height:1.15;white-space:nowrap}.flashhub-group-side-tabs button.is-active{background:#fbf6ec;color:var(--fh-ink);box-shadow:none}.flashhub-group-side-section.is-page,.flashhub-group-discussion-panel{padding:12px}.flashhub-group-comment-list{max-height:min(420px,54vh);overflow:auto;padding-right:2px}.flashhub-group-discussion-empty,.flashhub-group-pending-empty{border-style:solid;border-color:#cabfa69e;border-radius:12px;background:#fffcf594;color:var(--fh-ink-2)}.flashhub-group-discussion-empty b,.flashhub-group-pending-empty b{color:var(--fh-ink)}.flashhub-group-deck-manager-modal,.flashhub-members-modal{width:min(680px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 44px));overflow:auto;border:1px solid rgba(202,191,166,.84);border-radius:14px;background:#fbf6ec;box-shadow:0 24px 70px #20181047;padding:18px;position:relative;z-index:1}.flashhub-group-deck-manager-head{display:flex;gap:10px;align-items:flex-start;padding-right:2.25rem;margin-bottom:14px}.flashhub-group-deck-manager-head>span{display:inline-flex;width:2.25rem;height:2.25rem;align-items:center;justify-content:center;border-radius:10px;background:#b25b361a;color:var(--fh-accent);flex:none}.flashhub-group-deck-manager-head h3,.flashhub-members-modal h3{margin:0;color:var(--fh-ink);font-family:var(--font-display, Georgia, serif);font-size:1.35rem;line-height:1.15}.flashhub-group-deck-manager-head p,.flashhub-members-modal p{margin:.3rem 0 0;color:var(--fh-faint);font-size:.86rem;line-height:1.45}.flashhub-group-deck-manager{padding:0;border:0;border-radius:0;background:transparent}.flashhub-group-manager-tabs{gap:6px;padding:4px;border:1px solid rgba(202,191,166,.56);border-radius:12px;background:#f3ece094}.flashhub-group-manager-tabs button{border-radius:9px;background:transparent;color:var(--fh-ink-2);font-size:.8rem}.flashhub-group-manager-tabs button.is-active{background:#fbf6ec;color:var(--fh-accent)}.flashhub-group-manage-row,.flashhub-member-detail-row{border-radius:12px;border-color:#cabfa694;background:#fffcf594}.flashhub-group-manage-row.is-main{border-color:#b25b3652;background:#b25b360f}.flashhub-group-manage-info b,.flashhub-member-detail-row b{color:var(--fh-ink)}.flashhub-group-manage-info small,.flashhub-member-detail-row small{color:var(--fh-faint)}.flashhub-member-detail-row>span{background:#b25b361a;color:var(--fh-accent)}.flashhub-member-detail-row em{color:var(--fh-sage)}@media (max-width: 920px){.flashhub-group-page-header{grid-template-columns:1fr;align-items:stretch}.flashhub-group-actions-wrap{justify-content:flex-start}.flashhub-group-page-grid,.flashhub-main-lesson-card.is-page{grid-template-columns:1fr}.flashhub-main-lesson-actions{min-width:0;flex-direction:row;flex-wrap:wrap}.flashhub-main-lesson-actions .flashhub-study-button,.flashhub-main-lesson-actions .flashhub-group-ghost{width:auto}}@media (max-width: 640px){.flashhub-group-page-title{align-items:flex-start}.flashhub-group-page-title h2{white-space:normal}.flashhub-group-page-title>b{margin-left:0}.flashhub-group-page-stats span,.flashhub-group-page-stats button{flex:1 1 auto;justify-content:center}.flashhub-main-lesson-actions{flex-direction:column}.flashhub-main-lesson-actions .flashhub-study-button,.flashhub-main-lesson-actions .flashhub-group-ghost{width:100%}}.flashhub-group-detail-wrap{max-width:67.5rem;margin:0 auto;padding-bottom:2rem}.flashhub-group-detail-back{margin-bottom:1.375rem}.flashhub-group-detail-grid{grid-template-columns:minmax(0,1fr) 21.25rem}.flashhub-group-detail-main{background:color-mix(in srgb,var(--card) 78%,var(--surface))}.flashhub-group-detail-head h1{margin-top:.4375rem;color:var(--foreground);font-family:var(--font-book);font-size:clamp(1.875rem,4vw,2.35rem);line-height:1.08}.flashhub-group-detail-chips .course-book-chip{gap:.375rem}.course-book-chip.is-button{cursor:pointer}.course-book-chip.is-button:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border-strong));color:var(--primary)}.course-book-chip.is-role{border-color:color-mix(in srgb,var(--success) 36%,var(--border));background:var(--success-soft);color:var(--success)}.flashhub-group-detail-tools{position:relative;overflow:visible}.flashhub-group-tools-button{width:100%}.flashhub-group-action-menu.is-course-like{position:absolute;right:0;top:calc(100% + .5rem);z-index:30;display:grid;width:min(15.5rem,calc(100vw - 2rem));gap:.25rem;border:1px solid var(--border-strong);border-radius:.625rem;background:var(--background);box-shadow:0 1rem 2.75rem #5a44232e;padding:.4rem;text-align:left}.flashhub-group-action-menu.is-course-like button{display:inline-flex;align-items:center;gap:.5rem;width:100%;border:0;border-radius:.5rem;background:transparent;color:var(--foreground);font-family:var(--font-ui);font-size:.8125rem;font-weight:750;padding:.55rem .6rem}.flashhub-group-action-menu.is-course-like button:hover{background:var(--surface-subtle)}.flashhub-group-action-menu.is-course-like button.is-danger{color:var(--danger)}.flashhub-group-primary-lesson{margin-top:1.25rem}.flashhub-group-primary-lesson h2{color:var(--foreground);font-family:var(--font-book);font-size:clamp(1.25rem,3vw,1.7rem);line-height:1.12}.flashhub-group-primary-progress{max-width:28rem;margin-top:.8rem}.flashhub-group-primary-actions{display:grid;gap:.625rem}.flashhub-main-lesson-preview.is-course-like{grid-column:1 / -1;margin-top:0;border:1px solid var(--border);border-radius:.75rem;background:color-mix(in srgb,var(--background) 78%,var(--card));padding:.85rem .95rem}.flashhub-main-lesson-preview.is-course-like span{display:inline-flex;margin-bottom:.35rem;color:var(--primary);font-family:var(--font-ui);font-size:.68rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.flashhub-main-lesson-preview.is-course-like p{margin:0;color:var(--muted-foreground);font-size:.875rem;line-height:1.5}.flashhub-group-detail-side{align-self:start;min-height:30rem}.flashhub-group-detail-side-head svg,.flashhub-group-detail-tabs svg,.flashhub-group-detail-back svg,.flashhub-group-detail-chips svg{width:1rem;height:1rem}.flashhub-group-detail-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.375rem;margin:0 0 .875rem;border:1px solid var(--border);border-radius:.75rem;background:var(--surface-subtle);padding:.25rem}.flashhub-group-detail-tabs button{display:inline-flex;min-height:2.25rem;align-items:center;justify-content:center;gap:.4375rem;border:0;border-radius:.5625rem;background:transparent;color:var(--muted-foreground);font-family:var(--font-ui);font-size:.78125rem;font-weight:850;padding:.45rem .55rem}.flashhub-group-detail-tabs button.is-active{background:var(--background);color:var(--foreground);box-shadow:0 1px 2px #5a44230f}.flashhub-group-detail-list{display:grid;max-height:min(32rem,58vh);overflow:auto;gap:.48rem;padding:.1rem .125rem .15rem 0}.flashhub-group-detail-list .study-group-feed-row,.flashhub-group-detail-list .flashhub-group-feed-row{display:grid;grid-template-columns:1.75rem minmax(0,1fr);align-items:flex-start;gap:.55rem;border:1px solid rgba(198,171,132,.42);border-radius:.72rem;background:#fffdf7a8;margin:0;padding:.62rem .68rem}.flashhub-group-detail-list .study-group-feed-row>span,.flashhub-group-detail-list .flashhub-group-feed-row>span{width:1.75rem;height:1.75rem;border-radius:.58rem;border:1px solid rgba(178,91,54,.18);background:#b25b361a;color:var(--fh-accent, hsl(var(--primary)))}.flashhub-group-detail-list .study-group-feed-row b,.flashhub-group-detail-list .flashhub-group-feed-row b{color:var(--fh-ink, hsl(var(--foreground)));display:block;font-size:.78rem;font-weight:850;line-height:1.25}.flashhub-group-detail-list .study-group-feed-row p,.flashhub-group-detail-list .flashhub-group-feed-row p{color:var(--fh-ink-2, hsl(var(--muted-foreground)));font-size:.72rem;line-height:1.35;margin:.18rem 0 0}.flashhub-group-detail-list .study-group-feed-row small,.flashhub-group-detail-list .flashhub-group-feed-row small{color:var(--fh-faint, hsl(var(--muted-foreground)));font-size:.64rem;margin-top:.28rem}.flashhub-group-detail-list .course-no-comments{border:1px dashed rgba(198,171,132,.56);border-radius:.72rem;background:#fffdf79e;color:var(--fh-ink-2, hsl(var(--muted-foreground)));font-size:.78rem;padding:.9rem}.flashhub-group-discussion-note{display:grid;gap:.35rem}.flashhub-group-discussion-note svg{color:var(--primary)}.flashhub-group-discussion-note b{color:var(--foreground)}.flashhub-group-discussion-note p{margin:0}@media (max-width: 980px){.flashhub-group-detail-grid{grid-template-columns:1fr}}@media (max-width: 760px){.flashhub-group-detail-main{padding:1.25rem}.flashhub-group-detail-head{display:grid}.flashhub-group-detail-tools{max-width:none;text-align:left}.flashhub-group-action-menu.is-course-like{left:0;right:auto}.flashhub-group-primary-lesson{grid-template-columns:1fr}}.flashhub-main-lesson-preview-list{display:grid;gap:.55rem;margin-top:.4rem}.flashhub-main-lesson-preview-row{display:grid;gap:.15rem;border:1px solid color-mix(in srgb,var(--border) 78%,transparent);border-radius:.65rem;background:color-mix(in srgb,var(--card) 72%,var(--background));padding:.7rem .8rem}.flashhub-main-lesson-preview-row b{color:var(--foreground);font-family:var(--font-book);font-size:1rem;line-height:1.25}.flashhub-main-lesson-preview-row span,.flashhub-main-lesson-preview-row small{color:var(--muted-foreground);font-size:.84rem;line-height:1.4}.flashhub-group-deck-manager-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:10px 0 14px;border-bottom:1px solid rgba(87,70,44,.1)}.flashhub-group-deck-manager-toolbar b{display:block;color:#3f382c;font-family:var(--font-serif, Georgia, serif);font-size:1rem;line-height:1.25}.flashhub-group-deck-manager-toolbar p{margin:4px 0 0;color:#786d5b;font-size:.9rem}.flashhub-group-add-card.is-compact{width:auto;flex:0 0 auto;padding:9px 12px}.flashhub-group-deck-picker{display:grid;gap:12px;margin:14px 0;padding:14px;border:1px solid rgba(117,95,61,.16);border-radius:18px;background:#fffaefd1}.flashhub-group-deck-picker-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.flashhub-group-deck-picker-head b{display:block;color:#3f382c}.flashhub-group-deck-picker-head p{margin:4px 0 0;color:#817460;font-size:.86rem}.flashhub-group-deck-picker-head button{border:0;background:transparent;color:#786d5b;font-weight:800;cursor:pointer}.flashhub-group-deck-picker-list{display:grid;gap:8px;max-height:340px;overflow:auto;padding-right:2px}.flashhub-group-deck-picker-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid rgba(117,95,61,.13);border-radius:15px;background:#fffffbeb}.flashhub-group-deck-picker-row b{display:block;color:#3f382c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flashhub-group-deck-picker-row small{display:block;margin-top:3px;color:#817460;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flashhub-group-deck-picker-row button{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(99,122,66,.24);border-radius:999px;background:#f6f9ebf2;color:#52683b;font-weight:850;padding:8px 12px;cursor:pointer}.flashhub-group-deck-picker-row button:disabled{cursor:progress;opacity:.72}.flashhub-group-picker-empty{padding:16px;border:1px dashed rgba(117,95,61,.18);border-radius:16px;color:#817460;background:#fffffbb8;text-align:center}@media (max-width: 720px){.flashhub-group-deck-manager-toolbar,.flashhub-group-deck-picker-head,.flashhub-group-deck-picker-row{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.flashhub-group-add-card.is-compact,.flashhub-group-deck-picker-row button{width:100%;justify-content:center}}.flashhub-group-detail-wrap{max-width:67.5rem}.flashhub-group-detail-grid{gap:2rem}.flashhub-group-detail-head{border-bottom:1px solid var(--border);gap:1.25rem;padding-bottom:1.375rem}.flashhub-group-detail-chips{gap:.5rem;margin-top:1rem}.flashhub-group-detail-chips .course-book-chip{min-height:1.875rem;border-color:var(--border-strong);background:var(--background);color:var(--muted-foreground);font-family:var(--font-ui);font-size:.75rem;font-weight:750;padding:.3125rem .6875rem}.flashhub-group-detail-chips .course-book-chip.is-role{border-color:color-mix(in srgb,var(--success) 36%,var(--border));background:var(--success-soft);color:var(--success)}.flashhub-group-detail-tools{max-width:13.25rem;border-color:var(--border-strong);border-radius:.5625rem;background:var(--background);color:var(--muted-foreground);padding:.75rem .875rem}.flashhub-group-tools-button{min-height:2.5rem;border-radius:.5625rem;background:var(--card)}.flashhub-group-primary-lesson{margin-top:1.25rem;border-color:color-mix(in srgb,var(--primary) 24%,var(--border));border-radius:.875rem;background:color-mix(in srgb,var(--primary-soft) 34%,var(--card));padding:1rem}.flashhub-group-detail-side-head{margin-bottom:1rem;padding-left:.25rem}.flashhub-group-detail-side-head h2{font-size:1.25rem;line-height:1.15}.flashhub-group-detail-side-head p{max-width:15.25rem}.flashhub-group-detail-tabs button{flex:1 1 0;min-height:2.25rem;border:1px solid var(--border);border-radius:.5625rem;background:var(--background);color:var(--muted-foreground);font-size:.765625rem;font-weight:800}.flashhub-group-detail-tabs button.is-active{border-color:color-mix(in srgb,var(--primary) 34%,var(--border-strong));background:var(--primary-soft);color:var(--primary);box-shadow:none}.flashhub-group-detail-list{gap:.625rem;max-height:min(34rem,calc(100vh - 16rem));padding:0}.flashhub-group-detail-list .study-group-feed-row,.flashhub-group-detail-list .flashhub-group-feed-row{grid-template-columns:2rem minmax(0,1fr);gap:.625rem;border-color:var(--border);border-radius:.625rem;background:color-mix(in srgb,var(--surface) 48%,var(--card));padding:.75rem}.flashhub-group-detail-list .study-group-feed-row>span,.flashhub-group-detail-list .flashhub-group-feed-row>span{width:2rem;height:2rem;border-color:color-mix(in srgb,var(--primary) 22%,var(--border));border-radius:.5rem;background:var(--primary-soft);color:var(--primary)}.flashhub-group-detail-list .study-group-feed-row b,.flashhub-group-detail-list .flashhub-group-feed-row b{color:var(--foreground);font-size:.8125rem;font-weight:850}.flashhub-group-detail-list .study-group-feed-row p,.flashhub-group-detail-list .flashhub-group-feed-row p{color:var(--muted-foreground);font-size:.75rem}.flashhub-group-discussion-top{border-color:var(--border);border-radius:.625rem;background:color-mix(in srgb,var(--surface) 52%,var(--card));padding:.75rem}.flashhub-group-discussion-filters button{min-height:2.125rem;border:1px solid var(--border);border-radius:.5625rem;background:var(--background);color:var(--muted-foreground);font-size:.765625rem}.flashhub-group-discussion-filters button.is-active{border-color:color-mix(in srgb,var(--primary) 34%,var(--border-strong));background:var(--primary-soft);color:var(--primary);box-shadow:none}.flashhub-group-discussion-compose{border-color:var(--border-strong);border-radius:.625rem;background:var(--background);padding:.75rem}.flashhub-group-discussion-compose textarea{min-height:4.75rem;border-color:var(--border);border-radius:.5625rem;background:var(--card);font-family:var(--font-book);font-size:.9375rem;padding:.6875rem .75rem}.flashhub-group-discussion-list{gap:.625rem}.flashhub-group-discussion-row{grid-template-columns:2rem minmax(0,1fr) auto;gap:.625rem;border-color:var(--border);border-radius:.625rem;background:color-mix(in srgb,var(--surface) 48%,var(--card));padding:.75rem}.flashhub-group-discussion-avatar{width:2rem;height:2rem;border-color:color-mix(in srgb,var(--primary) 22%,var(--border));border-radius:999px;background:var(--primary-soft);color:var(--primary)}.flashhub-group-discussion-row header b{color:var(--foreground);font-size:.8125rem}.flashhub-group-discussion-row p{color:var(--foreground);font-size:.875rem}.flashhub-group-discussion-pinned .flashhub-group-discussion-row.is-pinned{padding-bottom:0}.flashhub-group-deck-manager-tabs button{border-radius:.5rem}.flashhub-group-deck-manager-toolbar,.flashhub-group-deck-picker,.flashhub-group-manage-row,.flashhub-member-detail-row{border-radius:.625rem;background:var(--background)}.flashhub-group-manage-row,.flashhub-member-detail-row{border-color:var(--border);padding:.8125rem}.flashhub-member-detail-row{grid-template-columns:2.25rem minmax(0,1fr) auto auto}@media (max-width: 760px){.flashhub-group-detail-main{padding:1.25rem}.flashhub-group-detail-tabs,.flashhub-group-discussion-filters{display:grid;grid-template-columns:1fr}.flashhub-member-detail-row{grid-template-columns:2.25rem minmax(0,1fr)}}.flashhub-group-discussion-panel.is-real{display:grid;gap:.58rem;padding:.72rem}.flashhub-group-discussion-top{display:grid;gap:.5rem;border:1px solid rgba(198,171,132,.48);border-radius:.78rem;background:#fffdf785;padding:.58rem}.flashhub-group-discussion-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:0}.flashhub-group-discussion-head>div{min-width:0}.flashhub-group-discussion-head b{color:var(--fh-ink, hsl(var(--foreground)));display:block;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.86rem;font-weight:900;line-height:1.18}.flashhub-group-discussion-head small{color:var(--fh-faint, hsl(var(--muted-foreground)));display:block;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.68rem;font-weight:700;margin-top:.12rem}.flashhub-group-discussion-head button{width:2rem;height:2rem;border:1px solid rgba(198,171,132,.56);border-radius:.62rem;background:#fffffbdb;color:var(--fh-ink, hsl(var(--foreground)));display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.flashhub-group-discussion-head button:hover:not(:disabled){border-color:#b25b3657;background:#fff7eceb;color:var(--fh-accent, hsl(var(--primary)))}.flashhub-group-discussion-compose{display:grid;gap:.44rem;border:1px solid rgba(198,171,132,.74);border-radius:.78rem;background:#fdf7ecbd;padding:.58rem .62rem;box-shadow:inset 0 1px #fff9,0 8px 22px #5b452609}.flashhub-group-discussion-compose textarea{width:100%;min-height:2.85rem;resize:vertical;border:1px solid rgba(198,171,132,.52);border-radius:.62rem;background:#fffffbdb;color:var(--fh-ink, hsl(var(--foreground)));font-family:Georgia,Times New Roman,serif;font-size:.84rem;padding:.46rem .54rem;line-height:1.42;outline:none}.flashhub-group-discussion-compose textarea::-moz-placeholder{color:#8f7d63;font-style:italic}.flashhub-group-discussion-compose textarea::placeholder{color:#8f7d63;font-style:italic}.flashhub-group-discussion-compose textarea:focus{border-color:var(--fh-accent, hsl(var(--primary)));background:#fffdf7;box-shadow:0 0 0 3px #b25b361f}.flashhub-group-discussion-compose-foot{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.flashhub-group-discussion-compose-foot small{color:var(--fh-faint, hsl(var(--muted-foreground)));font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.7rem}.flashhub-group-discussion-compose-foot button{border:0;border-radius:.62rem;background:var(--fh-accent, hsl(var(--primary)));color:#fdf6ee;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.72rem;font-weight:800;min-height:1.78rem;padding:0 .7rem}.flashhub-group-discussion-compose-foot button:disabled,.flashhub-group-discussion-head button:disabled{cursor:not-allowed}.flashhub-group-discussion-compose-foot button:disabled{background:#e7dcc6;color:var(--fh-ink-2, hsl(var(--muted-foreground)));opacity:1}.flashhub-group-discussion-head button:disabled{opacity:.55}.flashhub-group-discussion-list{display:grid;gap:.42rem;max-height:min(30rem,58vh);overflow:auto;padding-right:.15rem}.flashhub-group-discussion-row{display:grid;grid-template-columns:1.72rem minmax(0,1fr) auto;gap:.48rem;align-items:start;border:1px solid rgba(198,171,132,.42);border-radius:.72rem;background:#fffdf7a8;padding:.58rem .55rem;position:relative;box-shadow:inset 0 1px #ffffff7a}.flashhub-group-discussion-row:last-child{border-bottom:1px solid rgba(198,171,132,.42)}.flashhub-group-discussion-avatar{width:1.72rem;height:1.72rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#fff7ecf2;color:var(--fh-accent, hsl(var(--primary)));font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.72rem;font-weight:850;border:1px solid rgba(178,91,54,.22);box-shadow:0 0 0 2px #fffcf5c7}.flashhub-group-discussion-row header{display:flex;align-items:baseline;justify-content:flex-start;gap:.45rem;min-width:0}.flashhub-group-discussion-row header b{color:var(--fh-ink, hsl(var(--foreground)));font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.82rem;font-weight:900;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flashhub-group-discussion-row header small{color:var(--fh-faint, hsl(var(--muted-foreground)));font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.64rem;white-space:nowrap}.flashhub-group-discussion-row p{margin:.3rem 0 0;color:var(--fh-ink, hsl(var(--foreground)));font-size:.84rem;line-height:1.42;white-space:pre-wrap;word-break:break-word}.flashhub-group-discussion-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;align-items:center;border:1px solid rgba(198,171,132,.42);border-radius:.68rem;background:#ede2cc7a;padding:.22rem}.flashhub-group-discussion-filters button{border:1px solid transparent;border-radius:.52rem;background:transparent;color:var(--fh-ink-2, hsl(var(--muted-foreground)));display:inline-flex;align-items:center;justify-content:center;gap:.36rem;min-height:1.78rem;padding:0 .42rem;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.7rem;font-weight:800;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.flashhub-group-discussion-filters button:hover{color:var(--fh-ink, hsl(var(--foreground)));transform:none}.flashhub-group-discussion-filters button.is-active{border-color:#c6ab8475;background:#fffffbe6;color:var(--fh-accent, hsl(var(--primary)));box-shadow:0 4px 10px #5b45260f}.flashhub-group-discussion-filters button strong{min-width:1.1rem;height:1.1rem;border-radius:999px;background:#b25b361a;color:inherit;display:inline-flex;align-items:center;justify-content:center;font-size:.62rem;padding:0 .26rem}.flashhub-group-discussion-context{display:flex;align-items:center;gap:.34rem;color:var(--fh-faint, hsl(var(--muted-foreground)));font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.68rem;line-height:1.28}.flashhub-group-discussion-context svg{width:.9rem;height:.9rem}.flashhub-group-discussion-context b{color:var(--fh-ink, hsl(var(--foreground)));font-weight:850}.flashhub-group-discussion-pinned{display:grid;gap:.1rem;border:1px solid rgba(154,115,34,.36);border-radius:.72rem;background:linear-gradient(180deg,#fff3d4eb,#fff9ecc7);padding:.42rem .52rem .08rem;box-shadow:inset 0 1px #ffffffb8,0 8px 18px #9a732212}.flashhub-group-discussion-pinned>small{display:inline-flex;align-items:center;gap:.28rem;color:var(--fh-gold, #9a7322);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.66rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.flashhub-group-discussion-row.is-pinned{border:0;border-radius:0;background:transparent;box-shadow:none;padding-left:0;padding-right:0}.flashhub-group-discussion-meta{display:flex;flex-wrap:wrap;gap:.24rem;margin-top:.28rem}.flashhub-group-discussion-meta em{border:1px solid rgba(198,171,132,.48);border-radius:999px;background:#f6efe0db;color:var(--fh-ink, hsl(var(--foreground)));display:inline-flex;align-items:center;gap:.2rem;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.6rem;font-style:normal;font-weight:850;line-height:1;padding:.18rem .36rem}.flashhub-group-discussion-actions{display:inline-flex;gap:.16rem;align-items:center;justify-content:flex-end;grid-column:3;grid-row:1 / span 2;margin-top:-.08rem}.flashhub-group-discussion-actions button{border:1px solid transparent;border-radius:.48rem;width:1.45rem;height:1.45rem;display:inline-flex;align-items:center;justify-content:center;color:var(--fh-faint, hsl(var(--muted-foreground)));background:transparent}.flashhub-group-discussion-actions button:hover:not(:disabled){border-color:#b25b362e;background:var(--fh-accent-soft, hsl(var(--primary) / .12));color:var(--fh-accent, hsl(var(--primary)))}.flashhub-group-discussion-loading,.flashhub-group-discussion-note{border:1px dashed var(--fh-rule, hsl(var(--border)));border-radius:.78rem;background:#fffcf58f;color:var(--fh-faint, hsl(var(--muted-foreground)));font-family:Inter,ui-sans-serif,system-ui,sans-serif;padding:.85rem;text-align:center}@media (max-width: 640px){.flashhub-group-discussion-filters{display:grid;grid-template-columns:1fr}.flashhub-group-discussion-filters button{width:100%;justify-content:center}.flashhub-group-discussion-compose-foot{align-items:center;flex-direction:row}.flashhub-group-discussion-compose-foot button{width:auto}.flashhub-group-discussion-actions{justify-self:end}}.flashhub-group-my-progress-copy{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem;color:var(--muted-foreground);font-size:.82rem;font-weight:750}.flashhub-group-my-progress-copy b{color:var(--foreground)}.flashhub-assignment-modal{position:relative;width:min(34rem,calc(100vw - 2rem));max-height:min(88vh,46rem);overflow:auto;border:1px solid rgba(202,191,166,.72);border-radius:24px;background:#fffaf0;box-shadow:0 22px 60px #4e3c233d;padding:1.25rem;display:grid;gap:1rem}.flashhub-assignment-head{display:flex;align-items:center;gap:.85rem;padding-right:2.25rem}.flashhub-assignment-head>span{width:2.65rem;height:2.65rem;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:#f1ead9;color:var(--foreground);border:1px solid rgba(202,191,166,.68)}.flashhub-assignment-head h3{margin:0;color:var(--foreground);font-size:1.25rem}.flashhub-assignment-head p{margin:.2rem 0 0;color:var(--muted-foreground);font-size:.9rem}.flashhub-assignment-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.flashhub-assignment-hint{display:flex;align-items:center;gap:.55rem;border:1px solid rgba(129,143,92,.22);border-radius:16px;background:#818f5c14;color:#5f6f44;font-size:.84rem;font-weight:750;padding:.78rem .9rem}.flashhub-assignment-actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}@media (max-width: 640px){.flashhub-assignment-grid{grid-template-columns:1fr}.flashhub-assignment-actions{flex-direction:column;align-items:stretch}.flashhub-assignment-actions button{width:100%}}.flashhub-group-deck-manager-tabs{display:inline-flex;align-items:center;gap:6px;padding:4px;border-radius:999px;background:#eee5cdb3;border:1px solid rgba(117,95,61,.14);width:-moz-fit-content;width:fit-content}.flashhub-group-deck-manager-tabs button{border:0;border-radius:999px;background:transparent;color:#665b4a;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;font-size:.88rem;font-weight:900;cursor:pointer}.flashhub-group-deck-manager-tabs button.is-active{background:#3f382c;color:#fff9e9;box-shadow:0 8px 18px #3f382c24}.flashhub-group-deck-manager-tabs span{opacity:.78;font-size:.82rem}.flashhub-group-manage-row.is-pending{background:#fffaefb3;border-style:dashed}.flashhub-group-pending-pill{border-radius:999px;background:#eee5cdc2;color:#6d614f;padding:8px 10px;font-size:.82rem;font-weight:900;white-space:nowrap}.flashhub-member-detail-row{grid-template-columns:44px minmax(0,1fr) auto auto}.flashhub-member-remove-button{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid rgba(154,58,42,.18);border-radius:999px;background:#9a3a2a12;color:#9a3a2a;transition:transform .16s ease,background .16s ease,border-color .16s ease}.flashhub-member-remove-button:hover:not(:disabled){transform:translateY(-1px);background:#9a3a2a1f;border-color:#9a3a2a47}.flashhub-member-remove-button:disabled{opacity:.65;cursor:wait}@media (max-width: 560px){.flashhub-member-detail-row{grid-template-columns:40px minmax(0,1fr) auto}.flashhub-member-remove-button{grid-column:2 / -1;justify-self:start;width:auto;padding:0 12px}}.flashhub-group-notification-card,.flashhub-group-lobby-notifications{border:1px solid rgba(198,171,132,.54);background:linear-gradient(180deg,#fffdf7e0,#faf5eac2);border-radius:.9rem;padding:.75rem;box-shadow:inset 0 1px #ffffffa3,0 10px 24px #5b45260d}.flashhub-group-notification-card{margin-bottom:.8rem}.flashhub-group-lobby-notifications{margin:12px 0 16px}.flashhub-group-notification-head,.flashhub-group-lobby-notifications-head{display:flex;align-items:center;gap:.55rem}.flashhub-group-notification-head>span,.flashhub-group-lobby-notifications-head>span{display:inline-flex;height:34px;width:34px;flex:0 0 auto;align-items:center;justify-content:center;border:1px solid rgba(178,91,54,.18);border-radius:.68rem;background:#b25b361a;color:var(--fh-accent, hsl(var(--primary)))}.flashhub-group-notification-head>div,.flashhub-group-lobby-notifications-head>div{min-width:0;flex:1}.flashhub-group-notification-head b,.flashhub-group-lobby-notifications-head b{display:block;color:var(--fh-ink, hsl(var(--foreground)));font-size:.84rem;font-weight:900;line-height:1.2}.flashhub-group-notification-head small,.flashhub-group-lobby-notifications-head small{color:var(--fh-faint, hsl(var(--muted-foreground)));font-size:.68rem;font-weight:700}.flashhub-group-notification-head button,.flashhub-group-lobby-notifications-head button{display:inline-flex;min-height:1.9rem;flex:0 0 auto;align-items:center;justify-content:center;border-radius:.62rem;border:1px solid rgba(198,171,132,.56);background:#fffffbd1;padding:0 .62rem;color:var(--fh-ink, hsl(var(--foreground)));font-size:.7rem;font-weight:850;transition:background .16s ease,border-color .16s ease,color .16s ease}.flashhub-group-notification-head button:hover,.flashhub-group-lobby-notifications-head button:hover{border-color:#b25b3657;background:#fff7eceb;color:var(--fh-accent, hsl(var(--primary)))}.flashhub-group-notification-list,.flashhub-group-lobby-notifications-list{display:grid;gap:.45rem;margin-top:.65rem}.flashhub-group-notification-row,.flashhub-group-lobby-notifications-list button{display:grid;gap:.18rem;width:100%;border:1px solid rgba(198,171,132,.44);border-radius:.72rem;background:#fffdf7b8;padding:.58rem .65rem;text-align:left;transition:background .16s ease,border-color .16s ease,transform .16s ease}.flashhub-group-notification-row:hover,.flashhub-group-lobby-notifications-list button:hover{border-color:#b25b3647;background:#fff7ece0;transform:translateY(-1px)}.flashhub-group-notification-row b,.flashhub-group-lobby-notifications-list b{color:var(--fh-ink, hsl(var(--foreground)));font-size:.76rem;font-weight:850;line-height:1.25}.flashhub-group-notification-row span,.flashhub-group-lobby-notifications-list span{color:var(--fh-ink-2, hsl(var(--muted-foreground)));font-size:.68rem;line-height:1.35}.global-notification-trigger{border-color:#c6ab8494;background:#fffdf7eb;box-shadow:0 8px 20px #5b452614}.global-notification-panel{border-color:#c6ab84ad!important;background:#fdf7ecf5!important;box-shadow:0 22px 60px #2018102e!important}.global-notification-head{border-color:#c6ab847a!important;background:linear-gradient(180deg,#fffdf7e6,#f6efe0d1)!important}.global-notification-icon-button{border:1px solid rgba(198,171,132,.44);background:#fffffb9e}.global-notification-actions{border-color:#c6ab846b!important;background:#fffdf78f}.global-notification-list{display:grid;gap:.45rem;padding:.55rem!important}.global-notification-row{border-color:#c6ab8470!important;background:#fffdf7bd!important;box-shadow:inset 0 1px #ffffff85}.global-notification-row.is-unread{border-color:#b25b3657!important;background:#fff7ece6!important}.global-notification-row:hover{border-color:#b25b3657!important;background:#fff7ecf0!important}.flashhub-presence-strip{display:inline-flex;align-items:center;gap:.625rem;width:-moz-fit-content;width:fit-content;max-width:100%;margin-top:.75rem;border:1px solid color-mix(in srgb,var(--success) 24%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--success-soft) 58%,var(--card));color:var(--foreground);padding:.45rem .55rem .45rem .7rem;text-align:left}.flashhub-presence-strip:hover{border-color:color-mix(in srgb,var(--success) 42%,var(--border-strong));box-shadow:0 .5rem 1.25rem #5c744a1c}.flashhub-presence-dot{position:relative;width:.55rem;height:.55rem;border-radius:999px;background:var(--success);box-shadow:0 0 0 .22rem color-mix(in srgb,var(--success) 18%,transparent);flex:0 0 auto}.flashhub-presence-copy{display:grid;min-width:0;gap:.05rem}.flashhub-presence-copy b{color:var(--foreground);font-family:var(--font-ui);font-size:.78rem;font-weight:850;line-height:1.1}.flashhub-presence-copy small{color:var(--muted-foreground);font-family:var(--font-ui);font-size:.69rem;font-weight:700;line-height:1.1}.flashhub-presence-avatars{display:inline-flex;align-items:center;margin-left:.15rem}.flashhub-presence-avatars span,.flashhub-presence-avatars em{display:inline-flex;width:1.55rem;height:1.55rem;align-items:center;justify-content:center;margin-left:-.32rem;border:2px solid var(--card);border-radius:999px;background:var(--surface-subtle);color:var(--foreground);font-family:var(--font-ui);font-size:.68rem;font-style:normal;font-weight:850}.flashhub-presence-avatars span:first-child,.flashhub-presence-avatars em:first-child{margin-left:0}.flashhub-presence-avatars span.is-studying{background:color-mix(in srgb,var(--primary) 16%,var(--surface-subtle));color:var(--primary)}.flashhub-member-detail-row>span.is-online{outline:2px solid color-mix(in srgb,var(--success) 36%,transparent);background:color-mix(in srgb,var(--success-soft) 72%,var(--card));color:var(--success)}.flashhub-member-presence-note{color:var(--success)!important;font-weight:750}.flashhub-group-deck-manager-modal,.flashhub-members-modal{width:min(720px,calc(100vw - 32px));border:1px solid rgba(198,171,132,.74);border-radius:1rem;background:linear-gradient(180deg,#fffdf7f5,#faf5eaf0);color:var(--fh-ink, hsl(var(--foreground)));font-family:Inter,ui-sans-serif,system-ui,sans-serif;padding:1rem;box-shadow:0 24px 70px #2018103d}.flashhub-group-deck-manager-head,.flashhub-members-modal-head{display:grid;grid-template-columns:2.35rem minmax(0,1fr);align-items:flex-start;gap:.72rem;margin-bottom:.9rem;padding-right:2.35rem}.flashhub-group-deck-manager-head>span,.flashhub-members-modal-head>span{display:inline-flex;width:2.35rem;height:2.35rem;align-items:center;justify-content:center;border:1px solid rgba(178,91,54,.18);border-radius:.72rem;background:#b25b361a;color:var(--fh-accent, hsl(var(--primary)))}.flashhub-group-deck-manager-head h3,.flashhub-members-modal-head h3,.flashhub-members-modal h3{margin:0;color:var(--fh-ink, hsl(var(--foreground)));font-family:Georgia,Times New Roman,serif;font-size:1.24rem;font-weight:700;line-height:1.15;letter-spacing:0}.flashhub-group-deck-manager-head p,.flashhub-members-modal-head p,.flashhub-members-modal p{margin:.25rem 0 0;color:var(--fh-ink-2, hsl(var(--muted-foreground)));font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.78rem;line-height:1.42}.flashhub-group-deck-manager{display:grid;gap:.72rem}.flashhub-group-deck-manager-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:.25rem;border:1px solid rgba(198,171,132,.46);border-radius:.72rem;background:#ede2cc80;padding:.22rem}.flashhub-group-deck-manager-tabs button{justify-content:center;min-height:2rem;border:1px solid transparent;border-radius:.55rem;background:transparent;color:var(--fh-ink-2, hsl(var(--muted-foreground)));font-size:.76rem;font-weight:850;padding:0 .6rem}.flashhub-group-deck-manager-tabs button.is-active{border-color:#c6ab8480;background:#fffffbeb;color:var(--fh-accent, hsl(var(--primary)));box-shadow:0 4px 10px #5b45260f}.flashhub-group-deck-manager-tabs span{display:inline-flex;min-width:1.15rem;height:1.15rem;align-items:center;justify-content:center;border-radius:999px;background:#b25b361a;font-size:.66rem}.flashhub-group-deck-manager-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;border:1px solid rgba(198,171,132,.44);border-radius:.82rem;background:#fffdf7a8;padding:.7rem .75rem}.flashhub-group-deck-manager-toolbar b{color:var(--fh-ink, hsl(var(--foreground)));font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.82rem;font-weight:900}.flashhub-group-deck-manager-toolbar p{margin:.18rem 0 0;color:var(--fh-ink-2, hsl(var(--muted-foreground)));font-size:.7rem;line-height:1.35}.flashhub-group-add-card.is-compact{min-height:2.1rem;border:1px solid rgba(178,91,54,.24);border-radius:.68rem;background:#b25b361a;color:var(--fh-accent, hsl(var(--primary)));font-size:.74rem;font-weight:850;padding:0 .75rem}.flashhub-group-deck-picker{gap:.7rem;margin:0;border:1px solid rgba(198,171,132,.5);border-radius:.9rem;background:#fff9ecc7;padding:.78rem}.flashhub-group-deck-picker-head b,.flashhub-group-deck-picker-row b{color:var(--fh-ink, hsl(var(--foreground)));font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.8rem;font-weight:900}.flashhub-group-deck-picker-head p,.flashhub-group-deck-picker-row small{color:var(--fh-ink-2, hsl(var(--muted-foreground)));font-size:.7rem;line-height:1.35}.flashhub-group-deck-picker-head button{border-radius:.55rem;color:var(--fh-ink-2, hsl(var(--muted-foreground)));font-size:.72rem}.flashhub-group-deck-picker-row{border-color:#c6ab846b;border-radius:.72rem;background:#fffdf7c7;padding:.62rem .68rem}.flashhub-group-deck-picker-row button,.flashhub-group-pick,.flashhub-group-mini-study,.flashhub-group-mini-danger,.flashhub-group-pending-pill{min-height:1.9rem;border-radius:.62rem;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.7rem;font-weight:850}.flashhub-group-mini-study{border:1px solid rgba(178,91,54,.24);background:#b25b361a;color:var(--fh-accent, hsl(var(--primary)));padding:0 .7rem}.flashhub-group-pick{border-color:#c6ab848a;background:#fffffbd1;color:var(--fh-ink, hsl(var(--foreground)));padding:0 .68rem}.flashhub-group-mini-danger{border-color:#9a3a2a38;background:#9a3a2a14;color:#9a3a2a;padding:0 .68rem}.flashhub-group-manage-list,.flashhub-members-modal-list{display:grid;gap:.52rem}.flashhub-group-manage-row,.flashhub-member-detail-row{border:1px solid rgba(198,171,132,.42);border-radius:.82rem;background:#fffdf7b8;box-shadow:inset 0 1px #ffffff85}.flashhub-group-manage-row{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:.62rem;padding:.72rem}.flashhub-group-manage-row.is-main{border-color:#9a732261;background:linear-gradient(180deg,#fff7ded6,#fffdf7c2)}.flashhub-group-manage-row.is-pending{border-color:#c6ab847a;background:#fff9ecb8}.flashhub-group-manage-info b,.flashhub-member-detail-row b{color:var(--fh-ink, hsl(var(--foreground)));font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.82rem;font-weight:900;line-height:1.25}.flashhub-group-manage-info small,.flashhub-member-detail-row small{color:var(--fh-ink-2, hsl(var(--muted-foreground)));font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.7rem;line-height:1.35}.flashhub-group-manage-actions{justify-content:flex-start;gap:.42rem}.flashhub-member-detail-row{grid-template-columns:2.1rem minmax(0,1fr) minmax(6.5rem,auto);align-items:center;gap:.72rem;padding:.68rem}.flashhub-member-detail-row>span{width:2.1rem;height:2.1rem;border:1px solid rgba(178,91,54,.22);border-radius:999px;background:#fff7ecf2;color:var(--fh-accent, hsl(var(--primary)));font-size:.78rem;font-weight:900}.flashhub-member-detail-status{display:inline-flex;min-width:6.5rem;align-items:center;justify-content:flex-end;gap:.45rem}.flashhub-member-detail-row em{display:inline-flex;min-width:4.25rem;min-height:2rem;align-items:center;justify-content:center;border-radius:999px;background:#5f72571f;color:var(--fh-sage, #5f7257);font-size:.68rem;font-style:normal;font-weight:900;padding:.28rem .55rem;white-space:nowrap}.flashhub-member-remove-button{display:inline-flex;width:2rem;height:2rem;flex:none;align-items:center;justify-content:center;border:1px solid rgba(154,58,42,.24);border-radius:.65rem;background:#9a3a2a12;color:#b85a49}.flashhub-member-remove-button:hover:not(:disabled){border-color:#9a3a2a57;background:#9a3a2a1c}@media (max-width: 720px){.flashhub-group-deck-manager-toolbar,.flashhub-group-deck-picker-head,.flashhub-group-deck-picker-row{grid-template-columns:1fr;align-items:stretch}.flashhub-group-add-card.is-compact,.flashhub-group-deck-picker-row button{width:100%;justify-content:center}}.flashhub-group-detail-main{border-color:var(--border);border-radius:.5rem .1875rem .1875rem .5rem;background:color-mix(in srgb,var(--card) 78%,var(--surface));box-shadow:0 1px 2px #5a44230d;padding:2rem 2.25rem}.flashhub-group-detail-side{min-height:0;padding:1.25rem}.flashhub-group-detail-tabs{display:flex;gap:.5rem;margin:0 0 1rem;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;padding:0 0 .75rem}.flashhub-group-detail-tabs button,.flashhub-group-discussion-filters button{flex:1 1 0;min-height:2.25rem;border:1px solid var(--border);border-radius:.5625rem;background:var(--background);color:var(--muted-foreground);font-size:.765625rem;font-weight:800}.flashhub-group-detail-tabs button.is-active,.flashhub-group-discussion-filters button.is-active{border-color:color-mix(in srgb,var(--primary) 34%,var(--border-strong));background:var(--primary-soft);color:var(--primary);box-shadow:none}.flashhub-group-detail-list .study-group-feed-row,.flashhub-group-detail-list .flashhub-group-feed-row,.flashhub-group-discussion-row{border-color:var(--border);border-radius:.625rem;background:color-mix(in srgb,var(--surface) 48%,var(--card));padding:.75rem}.flashhub-group-discussion-panel.is-real{gap:.75rem;padding:0}.flashhub-group-discussion-top,.flashhub-group-discussion-compose{border-color:var(--border);border-radius:.625rem;background:color-mix(in srgb,var(--surface) 52%,var(--card));padding:.75rem}.flashhub-group-discussion-filters{gap:.5rem;border:0;background:transparent;padding:0}.flashhub-group-discussion-compose textarea{min-height:4.75rem;border-color:var(--border);border-radius:.5625rem;background:var(--card);color:var(--foreground);font-family:var(--font-book);font-size:.9375rem;padding:.6875rem .75rem}.flashhub-group-discussion-pinned{border-color:color-mix(in srgb,#c9a64a 44%,var(--border));border-radius:.625rem;background:linear-gradient(180deg,#fff7daf2,#fffcf2e0);padding:.625rem .75rem}.flashhub-group-discussion-pinned .flashhub-group-discussion-row.is-pinned{background:transparent;border:0;padding:.25rem 0 0}.flashhub-group-deck-manager-modal,.flashhub-members-modal{width:min(760px,calc(100vw - 32px));border-color:var(--border-strong);border-radius:.75rem;background:color-mix(in srgb,var(--card) 82%,var(--surface));padding:1.125rem}.flashhub-group-deck-manager-head,.flashhub-members-modal-head{margin:-.125rem -.125rem 1rem;border-bottom:1px solid var(--border);padding:0 2.4rem .875rem 0}.flashhub-group-deck-manager-head h3,.flashhub-members-modal-head h3,.flashhub-members-modal h3{font-family:var(--font-book);font-size:1.35rem}.flashhub-group-deck-manager-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;border-radius:.625rem;background:color-mix(in srgb,var(--surface) 56%,var(--card))}.flashhub-group-deck-manager-toolbar,.flashhub-group-deck-picker,.flashhub-group-manage-row,.flashhub-member-detail-row{border-color:var(--border);border-radius:.625rem;background:var(--background);padding:.8125rem}.add-word-ai-btn{width:auto;min-width:0;gap:.35rem;padding:0 .68rem;font-size:.75rem;font-weight:800}.add-word-ai-btn span{white-space:nowrap}.settings-usage-card{display:grid;gap:.75rem;align-content:start;min-width:0;border:1px solid var(--border);border-radius:.625rem;background:color-mix(in srgb,var(--card) 88%,var(--background));box-shadow:var(--shadow-xs);padding:1rem}.settings-usage-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem}.settings-usage-icon{display:inline-flex;width:2.4rem;height:2.4rem;align-items:center;justify-content:center;border-radius:.75rem;background:var(--primary-soft);color:var(--primary)}.settings-usage-icon svg,.settings-usage-refresh svg{width:1rem;height:1rem}.settings-usage-title{color:var(--foreground);font-family:var(--font-ui);font-size:.92rem;font-weight:850}.settings-usage-subtitle{margin-top:.1rem;color:var(--muted-foreground);font-size:.78rem;font-weight:650}.settings-usage-refresh{display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:999px;background:var(--background);color:var(--muted-foreground);cursor:pointer}.settings-usage-refresh:hover:not(:disabled){background:var(--secondary);color:var(--foreground)}.settings-usage-refresh:disabled{cursor:not-allowed;opacity:.55}.settings-usage-meter{overflow:hidden;height:.5rem;border-radius:999px;background:color-mix(in srgb,var(--border) 58%,var(--background))}.settings-usage-meter span{display:block;height:100%;border-radius:inherit;background:var(--primary);transition:width .18s ease}.settings-usage-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;color:var(--muted-foreground);font-size:.75rem;font-weight:650}.settings-usage-error{border-radius:.75rem;background:var(--warning-soft);color:var(--warning);padding:.65rem .75rem;font-size:.78rem;font-weight:700}.settings-usage-upgrade{justify-self:start}.settings-quota-list{display:grid;gap:.7rem}.settings-quota-row{display:grid;gap:.4rem}.settings-quota-row>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--foreground);font-size:.8rem}.settings-quota-row b{font-weight:820}.settings-quota-row span{color:var(--muted-foreground);font-size:.75rem;font-weight:650;text-align:right}.settings-flashhub-meta{justify-content:flex-start}.flashhub-demo-surface,.flashhub-group-detail-wrap,.flashhub-modal,.flashhub-compact-modal,.global-notification-trigger,.global-notification-panel{--fh-bg: var(--background);--fh-panel: var(--card);--fh-panel-2: color-mix(in srgb, var(--background) 78%, var(--card));--fh-panel-3: color-mix(in srgb, var(--card) 76%, var(--background));--fh-ink: var(--foreground);--fh-ink-2: var(--muted-foreground);--fh-faint: color-mix(in srgb, var(--muted-foreground) 82%, var(--foreground));--fh-rule: var(--border);--fh-rule-strong: var(--border-strong);--fh-accent: var(--primary);--fh-accent-soft: var(--primary-soft);--fh-sage: var(--success);--fh-sage-soft: var(--success-soft);--fh-gold: var(--warning);--fh-gold-soft: var(--warning-soft)}.flashhub-demo-surface{max-width:61.25rem;padding:0 0 4rem;border-radius:0;color:var(--fh-ink);background:transparent;box-shadow:none;font-family:var(--font-ui)}.flashhub-demo-surface:before{display:none}.flashhub-demo-header{margin-bottom:0}.flashhub-demo-surface h1,.flashhub-demo-surface h2,.flashhub-demo-surface h3,.flashhub-demo-surface h4,.flashhub-demo-surface b,.flashhub-demo-surface strong{color:var(--fh-ink)}.flashhub-demo-title-row{gap:.75rem;margin-top:.3125rem}.flashhub-demo-title-row h1{font-family:var(--font-book);font-size:clamp(2rem,4.5vw,2.375rem);font-weight:750;line-height:1.08}.flashhub-demo-logo{width:2.125rem;height:2.125rem;color:var(--fh-accent)}.flashhub-demo-eyebrow{color:var(--fh-accent);font-family:var(--font-ui);font-size:.6875rem;font-weight:800;letter-spacing:.16em}.flashhub-demo-header p{max-width:46rem;color:var(--fh-ink-2);font-family:var(--font-ui);font-size:.875rem}.flashhub-demo-surface p,.flashhub-demo-surface small,.flashhub-demo-detail-meta,.flashhub-demo-set-body small,.flashhub-modal-meta>span,.flashhub-group-modal-stats span{color:var(--fh-ink-2)}.flashhub-demo-header,.flashhub-demo-toolbar,.flashhub-mine-demo,.flashhub-demo-pane{color:var(--fh-ink)}.flashhub-tabs,.flashhub-group-side-tabs,.flashhub-group-detail-tabs,.flashhub-group-discussion-filters,.flashhub-group-manager-tabs,.flashhub-group-deck-manager-tabs{border-color:var(--fh-rule)!important;background:var(--fh-panel-3)!important;border-radius:999px!important;padding:.25rem!important;box-shadow:none!important}.flashhub-tabs{display:flex;width:min(100%,26.5rem);margin:1.375rem 0 1.75rem}.flashhub-tab,.flashhub-group-side-tabs button,.flashhub-group-detail-tabs button,.flashhub-group-discussion-filters button,.flashhub-group-manager-tabs button,.flashhub-group-deck-manager-tabs button{border-color:transparent;border-radius:999px!important;background:transparent!important;color:var(--fh-ink-2)!important;font-size:.8125rem;font-weight:750;min-height:2.25rem}.flashhub-group-side-tabs button,.flashhub-group-detail-tabs button{gap:.3125rem;padding-inline:.45rem;white-space:nowrap}.flashhub-tab{flex:1;justify-content:center;padding:.5rem .875rem}.flashhub-tab.is-active,.flashhub-group-side-tabs button.is-active,.flashhub-group-detail-tabs button.is-active,.flashhub-group-discussion-filters button.is-active,.flashhub-group-manager-tabs button.is-active,.flashhub-group-deck-manager-tabs button.is-active{border-color:transparent!important;background:var(--fh-accent)!important;color:var(--primary-foreground)!important;box-shadow:0 .375rem .875rem color-mix(in srgb,var(--fh-accent) 22%,transparent)!important}.flashhub-demo-toolbar{align-items:center;gap:.75rem;margin-bottom:1.375rem}.flashhub-search-box{min-width:16rem;min-height:2.5rem;flex:1;border:0!important;border-bottom:1.5px solid var(--fh-rule-strong)!important;border-radius:0!important;background:transparent!important;padding:.4375rem .125rem!important;color:var(--fh-ink-2)!important;box-shadow:none!important}.flashhub-demo-chips,.flashhub-filter-chip,.flashhub-mini-action,.flashhub-mini-stat,.flashhub-detail-button,.flashhub-group-action-toggle,.flashhub-group-page-stats span,.flashhub-group-page-stats button,.flashhub-demo-surface .course-book-chip,.flashhub-group-detail-wrap .course-book-chip,.flashhub-group-pending-pill,.flashhub-group-pick{border-color:var(--fh-rule)!important;background:var(--fh-panel)!important;color:var(--fh-ink-2)!important}.flashhub-demo-chips{display:flex;gap:.5rem;padding:0;border:0!important;background:transparent!important}.flashhub-filter-chip{min-height:2.25rem;border-radius:999px!important;padding:.45rem .875rem!important;font-size:.78125rem;font-weight:750}.flashhub-filter-chip.is-active,.flashhub-filter-chip:hover{border-color:var(--fh-accent)!important;background:var(--fh-accent)!important;color:var(--primary-foreground)!important}.flashhub-section-title{border:0!important;background:transparent!important;color:var(--fh-faint)!important;margin:1.5rem 0 .875rem}.flashhub-section-title:after{background:var(--fh-rule)!important}.flashhub-search-box input,.flashhub-demo-comment-box input,.flashhub-group-discussion-box textarea,.flashhub-group-discussion-compose textarea,.flashhub-demo-surface input,.flashhub-demo-surface textarea,.flashhub-demo-surface select{border-color:var(--fh-rule)!important;background:color-mix(in srgb,var(--input-background) 82%,var(--card))!important;color:var(--fh-ink)!important}.flashhub-search-box input{border:0!important;background:transparent!important;font-family:var(--font-book)!important;font-size:1rem!important;padding:0!important}.flashhub-search-box input::-moz-placeholder,.flashhub-demo-comment-box input::-moz-placeholder,.flashhub-group-discussion-compose textarea::-moz-placeholder,.flashhub-group-discussion-box textarea::-moz-placeholder{color:color-mix(in srgb,var(--fh-ink-2) 74%,transparent)!important;font-style:italic}.flashhub-search-box input::placeholder,.flashhub-demo-comment-box input::placeholder,.flashhub-group-discussion-compose textarea::placeholder,.flashhub-group-discussion-box textarea::placeholder{color:color-mix(in srgb,var(--fh-ink-2) 74%,transparent)!important;font-style:italic}.flashhub-demo-set,.flashhub-demo-preview-card,.flashhub-create-tile,.flashhub-group-card,.flashhub-inline-form,.flashhub-modal-card,.flashhub-deck-form-modal,.flashhub-card-form-modal,.flashhub-shared-deck-modal,.flashhub-shared-deck-panel,.flashhub-group-modal-card,.flashhub-group-page-header,.flashhub-group-page-side,.flashhub-main-lesson-card,.flashhub-main-lesson-card.is-page,.flashhub-main-lesson-preview,.flashhub-group-detail-main,.flashhub-group-detail-side,.flashhub-group-rhythm-card,.flashhub-group-contrib,.flashhub-group-side-section,.flashhub-group-discussion-empty,.flashhub-group-pending-empty,.flashhub-group-deck-manager,.flashhub-members-modal,.flashhub-group-deck-manager-modal,.flashhub-assignment-modal,.flashhub-group-notification-card,.flashhub-group-lobby-notifications,.global-notification-panel{border-color:var(--fh-rule)!important;background:color-mix(in srgb,var(--fh-panel) 88%,var(--fh-bg))!important;color:var(--fh-ink)!important;box-shadow:0 1px 2px #5a44230d!important}.flashhub-demo-grid,.flashhub-mine-grid,.flashhub-ggrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,18.25rem),1fr));gap:1.375rem}.flashhub-demo-set,.flashhub-create-tile,.flashhub-group-card,.flashhub-inline-form{min-height:14rem;overflow:visible;border-radius:.625rem .25rem .25rem .625rem!important;padding:1.375rem 1.5rem!important;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.flashhub-group-card{min-height:0}.flashhub-demo-set.is-featured{border-color:color-mix(in srgb,var(--fh-gold) 54%,var(--fh-rule))!important;box-shadow:0 2px 10px color-mix(in srgb,var(--fh-gold) 12%,transparent)!important}.flashhub-demo-set:before,.flashhub-create-tile:before,.flashhub-group-card:before,.flashhub-inline-form:before,.flashhub-group-detail-main:before,.flashhub-group-detail-side:before,.flashhub-modal-card:before,.flashhub-members-modal:before,.flashhub-group-deck-manager-modal:before{position:absolute;left:-.3125rem;top:.8125rem;bottom:.8125rem;width:.3125rem;border-radius:.1875rem 0 0 .1875rem;background:color-mix(in srgb,var(--secondary) 82%,var(--background));box-shadow:-.1875rem 0 color-mix(in srgb,var(--secondary) 62%,var(--background));content:""}.flashhub-demo-set:hover,.flashhub-demo-set.is-selected,.flashhub-create-tile:hover,.flashhub-group-card:not(.is-preview):hover{border-color:var(--fh-rule-strong)!important;box-shadow:0 2px 10px #5a44231a!important;transform:translateY(-1px)}.flashhub-group-top h3{color:var(--fh-ink)!important;font-family:var(--font-book);font-size:1.125rem;line-height:1.25}.flashhub-group-top p,.flashhub-group-lesson{color:var(--fh-ink-2)!important}.flashhub-group-icon{border:1px solid var(--fh-rule-strong);background:var(--fh-accent-soft)!important;color:var(--fh-accent)!important}.flashhub-avatar-stack span,.flashhub-avatar-stack b{border-color:var(--fh-panel)!important;background:var(--fh-accent-soft)!important;color:var(--fh-accent)!important}.flashhub-demo-set-main{display:flex;min-height:0;flex:1;flex-direction:column;gap:.875rem}.flashhub-set-cover{height:2.125rem!important;min-height:2.125rem!important;justify-content:flex-start;padding:0;background:transparent!important;color:var(--fh-accent)}.flashhub-set-cover svg{width:2.125rem;height:2.125rem;padding:.5rem;border:1px solid var(--fh-rule-strong);border-radius:.5625rem;background:var(--fh-bg);color:var(--fh-accent)}.flashhub-set-cover span{position:static;max-width:min(100%,8rem);margin-left:.625rem;border:1px solid var(--fh-rule-strong);background:var(--fh-bg);color:var(--fh-ink-2)!important}.flashhub-set-cover b,.flashhub-set-cover em{top:-.25rem;right:-.5rem;border-radius:999px;background:var(--fh-gold);color:var(--primary-foreground)!important}.flashhub-demo-set-body{padding:0}.flashhub-demo-set-body h3{font-family:var(--font-book);font-size:1.125rem;line-height:1.25}.flashhub-demo-author{margin-top:.875rem}.flashhub-demo-set-foot{gap:.875rem;margin-top:.875rem;padding:.875rem 0 0}.flashhub-study-button{border-radius:.5625rem!important;padding:.625rem .9375rem!important}.flashhub-demo-detail,.flashhub-group-detail-main,.flashhub-group-detail-side,.flashhub-modal-card,.flashhub-members-modal,.flashhub-group-deck-manager-modal{position:relative;border-radius:.5rem .1875rem .1875rem .5rem!important;background:color-mix(in srgb,var(--fh-panel) 76%,var(--surface))!important;box-shadow:0 1px 2px #5a44230d!important}.flashhub-demo-detail{margin-top:1.5rem;grid-template-columns:minmax(0,1fr) 21.25rem}.flashhub-demo-set-foot,.flashhub-modal-head,.flashhub-modal-actions,.flashhub-demo-comment-box,.flashhub-group-modal-head,.flashhub-group-contrib-list,.flashhub-group-deck-manager-head,.flashhub-members-modal-head,.flashhub-group-deck-manager-toolbar,.flashhub-group-notification-head,.flashhub-group-lobby-notifications-head,.global-notification-head,.global-notification-actions{border-color:var(--fh-rule)!important;background:transparent!important}.flashhub-modal-body,.flashhub-modal-main,.flashhub-modal-comments,.flashhub-group-modal-body,.flashhub-inline-panel,.flashhub-demo-comment-box,.flashhub-demo-preview-row,.flashhub-group-detail-list .study-group-feed-row,.flashhub-group-detail-list .flashhub-group-feed-row,.flashhub-group-discussion-top,.flashhub-group-discussion-compose,.flashhub-group-discussion-row,.flashhub-group-manage-row,.flashhub-member-detail-row,.flashhub-group-deck-picker,.flashhub-group-deck-picker-row,.flashhub-group-notification-row,.flashhub-group-lobby-notifications-list button,.global-notification-row,.flashhub-card-list-row,.flashhub-member-progress-row{border-color:var(--fh-rule)!important;background:var(--fh-panel-2)!important;color:var(--fh-ink)!important;box-shadow:none!important}.flashhub-demo-comment-box,.flashhub-group-discussion-compose,.flashhub-group-discussion-box{border-radius:.75rem!important;padding:.875rem 1rem!important}.flashhub-group-discussion-compose textarea,.flashhub-group-discussion-box textarea{border-radius:.625rem!important;line-height:1.5}.flashhub-group-discussion-row{border-radius:.75rem!important;padding:.875rem 1rem!important}.flashhub-group-discussion-pinned,.flashhub-group-manage-row.is-main{border-color:color-mix(in srgb,var(--fh-gold) 44%,var(--fh-rule))!important;background:color-mix(in srgb,var(--fh-gold-soft) 62%,var(--fh-panel))!important}.flashhub-group-discussion-row.is-pinned{background:transparent!important;border:0!important}.flashhub-demo-avatar,.flashhub-member-detail-row>span,.flashhub-group-detail-list .study-group-feed-row>span,.flashhub-group-detail-list .flashhub-group-feed-row>span,.flashhub-group-discussion-avatar,.flashhub-group-notification-head>span,.flashhub-group-lobby-notifications-head>span,.flashhub-group-deck-manager-head>span,.flashhub-members-modal-head>span,.global-notification-icon-button{border-color:color-mix(in srgb,var(--fh-accent) 24%,var(--fh-rule))!important;background:var(--fh-accent-soft)!important;color:var(--fh-accent)!important}.flashhub-presence-strip,.flashhub-member-detail-row>span.is-online{border-color:color-mix(in srgb,var(--fh-sage) 36%,var(--fh-rule))!important;background:color-mix(in srgb,var(--fh-sage-soft) 64%,var(--fh-panel))!important;color:var(--fh-sage)!important}.flashhub-create-button,.flashhub-study-button,.flashhub-detail-button.is-primary,.flashhub-group-discussion-compose-foot button:not(:disabled),.flashhub-group-discussion-box button:not(:disabled){border-color:var(--fh-accent)!important;background:var(--fh-accent)!important;color:var(--primary-foreground)!important}.flashhub-detail-button.is-danger,.flashhub-group-mini-danger,.flashhub-member-remove-button,.flashhub-group-action-menu button.is-danger{border-color:color-mix(in srgb,var(--destructive) 32%,var(--fh-rule))!important;background:color-mix(in srgb,var(--destructive-soft) 52%,var(--fh-panel))!important;color:var(--destructive)!important}.flashhub-modal-backdrop{background:color-mix(in srgb,var(--background) 58%,rgba(0,0,0,.42))!important}.flashhub-empty-line,.flashhub-demo-surface .course-no-comments,.flashhub-group-detail-wrap .course-no-comments,.study-group-feed-empty,.flashhub-group-picker-empty{border-color:var(--fh-rule)!important;background:var(--fh-panel-2)!important;color:var(--fh-ink-2)!important}:root[data-theme=dark] .flashhub-demo-set,:root[data-theme=dark] .flashhub-demo-detail,:root[data-theme=dark] .flashhub-modal-card,:root[data-theme=dark] .flashhub-deck-form-modal,:root[data-theme=dark] .flashhub-card-form-modal,:root[data-theme=dark] .flashhub-shared-deck-modal,:root[data-theme=dark] .flashhub-group-detail-main,:root[data-theme=dark] .flashhub-group-detail-side,:root[data-theme=dark] .flashhub-group-deck-manager-modal,:root[data-theme=dark] .flashhub-members-modal{box-shadow:0 2px 10px #00000038!important}.flashhub-demo-surface button,.flashhub-demo-surface button span,.flashhub-demo-surface button b,.flashhub-set-cover span,.flashhub-set-cover em,.flashhub-modal-cover span,.flashhub-modal-cover em{color:inherit!important}.global-notification-trigger{border-color:var(--border)!important;background:var(--card)!important;color:var(--foreground)!important;box-shadow:0 1px 2px #5a44230d!important}.global-notification-trigger:hover,.global-notification-trigger[aria-expanded=true]{border-color:color-mix(in srgb,var(--primary) 36%,var(--border-strong))!important;background:color-mix(in srgb,var(--primary-soft) 64%,var(--card))!important;color:var(--primary)!important}.global-notification-panel,.flashhub-group-notification-card,.flashhub-group-lobby-notifications{border-color:var(--fh-rule)!important;background:color-mix(in srgb,var(--fh-panel) 88%,var(--fh-bg))!important;color:var(--fh-ink)!important}.global-notification-head,.global-notification-actions,.flashhub-group-notification-head,.flashhub-group-lobby-notifications-head{border-color:var(--fh-rule)!important;background:transparent!important}.global-notification-row,.flashhub-group-notification-row,.flashhub-group-lobby-notifications-list button{border-color:var(--fh-rule)!important;background:var(--fh-panel-2)!important;color:var(--fh-ink)!important;box-shadow:none!important}.global-notification-row.is-unread,.global-notification-row:hover,.flashhub-group-notification-row:hover,.flashhub-group-lobby-notifications-list button:hover{border-color:color-mix(in srgb,var(--fh-accent) 32%,var(--fh-rule))!important;background:color-mix(in srgb,var(--fh-accent-soft) 36%,var(--fh-panel-2))!important}.global-notification-icon-button,.global-notification-head button,.flashhub-modal-close,.flashhub-modal-form-close,.flashhub-group-notification-head button,.flashhub-group-lobby-notifications-head button{border:1px solid var(--fh-rule)!important;background:var(--fh-panel-2)!important;color:var(--fh-ink-2)!important;box-shadow:none!important}.global-notification-icon-button:hover,.global-notification-head button:hover,.flashhub-modal-close:hover,.flashhub-modal-form-close:hover,.flashhub-group-notification-head button:hover,.flashhub-group-lobby-notifications-head button:hover{border-color:color-mix(in srgb,var(--fh-accent) 34%,var(--fh-rule))!important;background:var(--fh-accent-soft)!important;color:var(--fh-accent)!important}.flashhub-modal-cover{min-height:5rem;height:auto!important;align-items:center;gap:.75rem;border-bottom:1px solid var(--fh-rule);background:transparent!important;color:var(--fh-accent)!important}.flashhub-modal-icon{position:static!important;display:inline-flex;width:2.35rem;height:2.35rem;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--fh-accent) 22%,var(--fh-rule));border-radius:.72rem;background:var(--fh-accent-soft);color:var(--fh-accent)!important}.flashhub-modal-subject{border:1px solid var(--fh-rule);background:var(--fh-panel-2)!important;color:var(--fh-ink-2)!important}.flashhub-modal-preview,.flashhub-modal-comments,.flashhub-modal-comment,.flashhub-modal-comment-list,.flashhub-group-deck-manager-toolbar,.flashhub-group-deck-picker,.flashhub-group-deck-picker-row,.flashhub-group-manage-row,.flashhub-members-modal-list,.flashhub-member-detail-row,.flashhub-assignment-modal .flashhub-group-deck-picker,.flashhub-assignment-modal .flashhub-group-deck-picker-row{border-color:var(--fh-rule)!important;background:var(--fh-panel-2)!important;color:var(--fh-ink)!important;box-shadow:none!important}.flashhub-group-manage-row.is-main,.flashhub-group-manage-row.is-pending{border-color:color-mix(in srgb,var(--fh-gold) 44%,var(--fh-rule))!important;background:color-mix(in srgb,var(--fh-gold-soft) 56%,var(--fh-panel-2))!important}.flashhub-group-deck-manager-tabs,.flashhub-members-modal-tabs,.flashhub-assignment-tabs{border-color:var(--fh-rule)!important;background:var(--fh-panel-3)!important}.flashhub-group-deck-manager-tabs button,.flashhub-members-modal-tabs button,.flashhub-assignment-tabs button{background:transparent!important;color:var(--fh-ink-2)!important}.flashhub-group-deck-manager-tabs button.is-active,.flashhub-members-modal-tabs button.is-active,.flashhub-assignment-tabs button.is-active{background:var(--fh-accent)!important;color:var(--primary-foreground)!important}.flashhub-group-deck-manager-head>span,.flashhub-members-modal-head>span,.flashhub-assignment-modal>span,.flashhub-group-notification-head>span,.flashhub-group-lobby-notifications-head>span{border-color:color-mix(in srgb,var(--fh-accent) 24%,var(--fh-rule))!important;background:var(--fh-accent-soft)!important;color:var(--fh-accent)!important}.flashhub-group-deck-manager-head h3,.flashhub-members-modal-head h3,.flashhub-members-modal h3,.flashhub-assignment-modal h3,.global-notification-head h3,.global-notification-head b{color:var(--fh-ink)!important}.flashhub-group-deck-manager-head p,.flashhub-members-modal-head p,.flashhub-members-modal p,.flashhub-assignment-modal p,.global-notification-head p,.global-notification-row span,.flashhub-group-notification-row span,.flashhub-group-lobby-notifications-list span{color:var(--fh-ink-2)!important}.flashhub-deck-form-modal,.flashhub-card-form-modal,.flashhub-shared-deck-modal,.flashhub-deck-form-modal .set-builder-shell,.flashhub-card-form,.flashhub-shared-deck-modal .flashhub-shared-deck-panel{background:color-mix(in srgb,var(--fh-panel) 88%,var(--fh-bg))!important;color:var(--fh-ink)!important}.flashhub-deck-form-modal .set-builder-main,.flashhub-deck-form-modal .set-builder-preview,.flashhub-deck-form-modal .set-builder-card-panel,.flashhub-deck-builder-form .set-builder-main,.flashhub-deck-builder-form .set-builder-preview,.flashhub-deck-builder-form .set-builder-card-panel,.flashhub-card-form-modal .flashhub-card-form,.flashhub-shared-deck-preview,.flashhub-shared-deck-card-preview{border-color:var(--fh-rule)!important;background:color-mix(in srgb,var(--fh-panel) 76%,var(--surface))!important;color:var(--fh-ink)!important;box-shadow:0 1px 2px #5a44230d!important}.flashhub-deck-builder-head,.flashhub-card-form-head,.flashhub-shared-deck-head,.flashhub-deck-card-builder,.flashhub-deck-builder-actions,.flashhub-card-form-actions{border-color:var(--fh-rule)!important;background:transparent!important}.flashhub-deck-builder-form h3,.flashhub-card-form h3,.flashhub-shared-deck-modal h2,.flashhub-deck-builder-form h4,.flashhub-deck-card-row b,.flashhub-deck-card-builder-head strong{color:var(--fh-ink)!important}.flashhub-deck-builder-hint,.flashhub-card-form-hint,.flashhub-shared-deck-modal p,.flashhub-deck-builder-form .set-builder-preview>.mb-3,.flashhub-deck-builder-form .voca-field-label,.flashhub-deck-builder-form label,.flashhub-card-form .voca-field-label,.flashhub-card-form label,.flashhub-deck-card-composer .voca-field-label,.flashhub-deck-card-composer label,.flashhub-deck-card-row small,.flashhub-deck-card-empty,.flashhub-deck-card-builder-head strong,.flashhub-deck-builder-form .set-builder-preview-card p,.flashhub-deck-builder-form .set-builder-preview-card span:not(.set-builder-visibility-pill),.flashhub-deck-builder-form .set-builder-preview-card .text-muted-foreground{color:var(--fh-ink-2)!important}.flashhub-deck-builder-eyebrow,.flashhub-card-form-eyebrow,.flashhub-shared-deck-badge{border:1px solid color-mix(in srgb,var(--fh-accent) 22%,var(--fh-rule))!important;background:var(--fh-accent-soft)!important;color:var(--fh-accent)!important}.flashhub-deck-builder-close,.flashhub-card-form-close,.flashhub-shared-deck-close{border-color:var(--fh-rule)!important;background:var(--fh-panel-2)!important;color:var(--fh-ink-2)!important}.flashhub-deck-builder-close:hover,.flashhub-card-form-close:hover,.flashhub-shared-deck-close:hover{border-color:color-mix(in srgb,var(--fh-accent) 34%,var(--fh-rule))!important;background:var(--fh-accent-soft)!important;color:var(--fh-accent)!important}.flashhub-deck-builder-form :where(input,textarea,select,.voca-textfield,.voca-textarea,.voca-select),.flashhub-card-form :where(input,textarea,select,.voca-textfield,.voca-textarea,.voca-select),.flashhub-deck-card-composer :where(input,textarea,select,.voca-textfield,.voca-textarea,.voca-select){border-color:var(--fh-rule-strong)!important;background:transparent!important;color:var(--fh-ink)!important}.flashhub-deck-builder-form :where(input,textarea,select)::-moz-placeholder,.flashhub-card-form :where(input,textarea,select)::-moz-placeholder,.flashhub-deck-card-composer :where(input,textarea,select)::-moz-placeholder{color:color-mix(in srgb,var(--fh-ink-2) 74%,transparent)!important}.flashhub-deck-builder-form :where(input,textarea,select)::placeholder,.flashhub-card-form :where(input,textarea,select)::placeholder,.flashhub-deck-card-composer :where(input,textarea,select)::placeholder{color:color-mix(in srgb,var(--fh-ink-2) 74%,transparent)!important}.flashhub-deck-builder-form .set-builder-segmented,.flashhub-deck-builder-form .set-builder-icons,.flashhub-deck-builder-form .set-builder-swatches{border-color:var(--fh-rule)!important;background:var(--fh-panel-3)!important}.flashhub-deck-builder-form .set-builder-segmented button{background:transparent!important;color:var(--fh-ink-2)!important}.flashhub-deck-builder-form .set-builder-segmented button.is-active{background:var(--fh-accent)!important;color:var(--primary-foreground)!important}.flashhub-deck-builder-form .set-builder-segmented button:not(.is-active):hover{background:var(--fh-accent-soft)!important;color:var(--fh-accent)!important}.flashhub-deck-builder-form .set-builder-icon,.flashhub-deck-builder-form .set-builder-swatch{border-color:var(--fh-rule)!important;background-color:var(--fh-panel-2)!important;color:var(--fh-ink-2)!important}.flashhub-deck-builder-form .set-builder-icon.is-active,.flashhub-deck-builder-form .set-builder-swatch.is-active{border-color:var(--fh-accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--fh-accent) 18%,transparent)!important}.flashhub-deck-builder-form .set-builder-preview-card,.flashhub-deck-card-composer,.flashhub-deck-card-row,.flashhub-deck-card-empty{border-color:var(--fh-rule)!important;background:var(--fh-panel-2)!important;color:var(--fh-ink)!important}.flashhub-deck-builder-form .set-builder-preview-card .rounded-full,.flashhub-deck-builder-form .set-builder-visibility-pill,.flashhub-card-form-eyebrow span,.flashhub-card-form-deck-title,.flashhub-card-form-count{border-color:var(--fh-rule)!important;background:color-mix(in srgb,var(--fh-panel) 72%,var(--fh-bg))!important;color:var(--fh-ink-2)!important}.flashhub-deck-builder-form .set-builder-preview-cover{color:#fff8ee!important}.flashhub-deck-builder-form .set-builder-preview-cover.is-accent{background:linear-gradient(150deg,hsl(var(--primary)),#c9744f)!important}.flashhub-deck-builder-form .set-builder-preview-cover.is-gold{background:linear-gradient(150deg,#9a7322,#b9923a)!important}.flashhub-deck-builder-form .set-builder-preview-cover.is-sage{background:linear-gradient(150deg,#5f7257,#76906b)!important}.flashhub-deck-builder-form .set-builder-preview-cover.is-blue{background:linear-gradient(150deg,#4f6d86,#6a8aa3)!important}.flashhub-deck-builder-form .set-builder-preview-cover.is-plum{background:linear-gradient(150deg,#7a5f7e,#977a9b)!important}.flashhub-deck-builder-form .set-builder-preview-cover.is-rose{background:linear-gradient(150deg,#9f5b5f,#c8797e)!important}.flashhub-deck-builder-form .set-builder-preview-cover.is-teal{background:linear-gradient(150deg,#40756f,#5c9a91)!important}.flashhub-deck-builder-form .set-builder-preview-cover.is-amber{background:linear-gradient(150deg,#a35f2a,#d08a43)!important}.flashhub-deck-builder-form .set-builder-preview-cover.is-slate{background:linear-gradient(150deg,#59646f,#7d8894)!important}.flashhub-deck-builder-form .set-builder-preview-cover.is-cocoa{background:linear-gradient(150deg,#76563f,#9a7558)!important}.flashhub-deck-card-builder-head span,.flashhub-deck-card-row span{color:var(--fh-accent)!important}.flashhub-deck-card-row-actions button{border-color:transparent!important;background:transparent!important;color:var(--fh-ink-2)!important}.flashhub-deck-card-row-actions button:hover{border-color:color-mix(in srgb,var(--fh-accent) 28%,var(--fh-rule))!important;background:var(--fh-accent-soft)!important;color:var(--fh-accent)!important}.flashhub-deck-builder-actions,.flashhub-card-form-actions{background:linear-gradient(180deg,color-mix(in srgb,var(--fh-panel) 0%,transparent),color-mix(in srgb,var(--fh-panel) 96%,var(--fh-bg)) 32%)!important}.flashhub-demo-surface,.flashhub-group-detail-wrap,.flashhub-modal,.flashhub-compact-modal{--fh-chip-bg: color-mix(in srgb, var(--fh-panel) 76%, var(--fh-bg));--fh-chip-bg-soft: color-mix(in srgb, var(--fh-panel-2) 86%, var(--fh-bg));--fh-chip-border: color-mix(in srgb, var(--fh-rule) 84%, var(--fh-rule-strong));--fh-chip-text: color-mix(in srgb, var(--fh-ink) 72%, var(--fh-ink-2));--fh-chip-accent-bg: color-mix(in srgb, var(--fh-accent-soft) 58%, var(--fh-panel));--fh-chip-accent-border: color-mix(in srgb, var(--fh-accent) 32%, var(--fh-rule))}.flashhub-modal .flashhub-modal-subject,.flashhub-modal .flashhub-modal-meta>span,.flashhub-modal .flashhub-modal-author,.flashhub-demo-surface .flashhub-set-cover span,.flashhub-demo-surface .flashhub-set-cover b,.flashhub-demo-surface .flashhub-set-cover em,.flashhub-demo-surface .flashhub-filter-chip,.flashhub-demo-surface .flashhub-group-role,.flashhub-demo-surface .flashhub-group-pending-pill,.flashhub-demo-surface .course-book-chip,.flashhub-group-detail-wrap .course-book-chip,.flashhub-group-detail-wrap .flashhub-group-discussion-row em,.flashhub-group-detail-wrap .flashhub-group-discussion-pinned em,.flashhub-deck-form-modal .set-builder-visibility-pill,.flashhub-deck-form-modal .set-builder-preview-card .rounded-full,.flashhub-deck-builder-form .set-builder-visibility-pill,.flashhub-deck-builder-form .set-builder-preview-card .rounded-full,.flashhub-deck-builder-eyebrow,.flashhub-card-form-eyebrow,.flashhub-card-form-eyebrow span,.flashhub-card-form-deck-title,.flashhub-card-form-count,.flashhub-shared-deck-badge{min-height:1.625rem!important;display:inline-flex!important;align-items:center!important;gap:.35rem!important;border:1px solid var(--fh-chip-border)!important;border-radius:999px!important;background:var(--fh-chip-bg)!important;color:var(--fh-chip-text)!important;font-family:var(--font-ui)!important;font-size:.71875rem!important;font-style:normal!important;font-weight:700!important;letter-spacing:0!important;line-height:1.1!important;text-transform:none!important;box-shadow:none!important}.flashhub-modal .flashhub-modal-subject,.flashhub-demo-surface .flashhub-set-cover span,.flashhub-deck-builder-eyebrow,.flashhub-card-form-eyebrow,.flashhub-shared-deck-badge{border-color:var(--fh-chip-accent-border)!important;background:var(--fh-chip-accent-bg)!important;color:var(--fh-accent)!important}.flashhub-modal .flashhub-modal-subject{min-height:1.9rem!important;padding:.35rem .75rem!important}.flashhub-modal .flashhub-modal-meta>span,.flashhub-modal .flashhub-modal-author{min-height:1.75rem!important;padding:.35rem .6875rem!important}.flashhub-demo-surface .flashhub-set-cover span{max-width:min(100%,9rem)!important;padding:.25rem .625rem!important;white-space:nowrap!important}.flashhub-demo-surface .flashhub-set-cover b,.flashhub-demo-surface .flashhub-set-cover em{border-color:var(--fh-chip-border)!important;background:var(--fh-chip-bg-soft)!important;color:var(--fh-chip-text)!important;padding:.25rem .625rem!important}.flashhub-demo-surface .flashhub-filter-chip,.flashhub-demo-surface .course-book-chip,.flashhub-group-detail-wrap .course-book-chip,.flashhub-demo-surface .flashhub-group-role,.flashhub-demo-surface .flashhub-group-pending-pill{padding:.3125rem .6875rem!important}.flashhub-demo-surface .flashhub-filter-chip.is-active,.flashhub-demo-surface .flashhub-filter-chip:hover,.flashhub-demo-surface .course-book-chip.is-role,.flashhub-group-detail-wrap .course-book-chip.is-role,.flashhub-demo-surface .flashhub-group-role.is-lead,.flashhub-deck-form-modal .set-builder-visibility-pill,.flashhub-deck-builder-form .set-builder-visibility-pill{border-color:var(--fh-chip-accent-border)!important;background:var(--fh-chip-accent-bg)!important;color:var(--fh-accent)!important}.flashhub-demo-surface .flashhub-filter-chip.is-active:hover{background:var(--fh-accent)!important;color:var(--primary-foreground)!important}.flashhub-demo-surface .flashhub-demo-set{overflow:hidden!important;padding:0!important}.flashhub-demo-surface .flashhub-demo-set-main{gap:0!important}.flashhub-demo-surface .flashhub-set-cover{display:grid!important;height:5.625rem!important;min-height:5.625rem!important;align-items:start!important;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr);padding:.625rem!important;border-radius:0!important;color:var(--primary-foreground)!important;overflow:hidden}.flashhub-demo-surface .flashhub-set-cover.is-accent{background:linear-gradient(150deg,#b25b36,#c9744f)!important}.flashhub-demo-surface .flashhub-set-cover.is-gold{background:linear-gradient(150deg,#9a7322,#b9923a)!important}.flashhub-demo-surface .flashhub-set-cover.is-sage{background:linear-gradient(150deg,#5f7257,#76906b)!important}.flashhub-demo-surface .flashhub-set-cover.is-blue{background:linear-gradient(150deg,#4f6d86,#6a8aa3)!important}.flashhub-demo-surface .flashhub-set-cover.is-plum{background:linear-gradient(150deg,#7a5f7e,#977a9b)!important}.flashhub-demo-surface .flashhub-set-cover span,.flashhub-demo-surface .flashhub-set-cover b,.flashhub-demo-surface .flashhub-set-cover em{position:static!important;min-height:1.375rem!important;max-width:100%!important;margin:0!important;border-color:#ffffff57!important;background:#ffffff2e!important;color:#fffaf0!important;font-size:.6875rem!important;line-height:1!important;padding:.25rem .5625rem!important}.flashhub-demo-surface .flashhub-set-cover span{justify-self:start;overflow:hidden;text-overflow:ellipsis}.flashhub-demo-surface .flashhub-set-cover b,.flashhub-demo-surface .flashhub-set-cover em{justify-self:end;white-space:nowrap}.flashhub-demo-surface .flashhub-set-cover b svg,.flashhub-demo-surface .flashhub-set-cover em svg{width:.75rem!important;height:.75rem!important;padding:0!important;border:0!important;background:transparent!important;color:currentColor!important}.flashhub-demo-surface .flashhub-set-cover>svg{width:2.25rem!important;height:2.25rem!important;align-self:center;justify-self:center;grid-column:1 / -1;grid-row:2;padding:.4375rem!important;border:1px solid rgba(255,255,255,.36)!important;border-radius:.625rem!important;background:#ffffff2e!important;color:#fffaf0!important}.flashhub-demo-surface .flashhub-demo-set-body{padding:.875rem 1rem 0!important}.flashhub-demo-surface .flashhub-demo-set-foot{display:flex!important;flex-wrap:wrap;gap:.375rem!important;align-items:center!important;margin-top:.875rem!important;padding:.75rem 1rem 1rem!important}.flashhub-demo-surface .flashhub-mini-action{min-width:2.25rem;justify-content:center;border:1px solid transparent!important;background:transparent!important;padding:.4375rem .5rem!important}.flashhub-demo-surface .flashhub-mini-action svg{width:1rem;height:1rem}.flashhub-demo-surface .flashhub-study-button{margin-left:auto}.flashhub-demo-surface .flashhub-mini-stat{min-width:0;flex:1 1 auto}.flashhub-card-form-eyebrow span,.flashhub-card-form-deck-title,.flashhub-card-form-count,.flashhub-deck-form-modal .set-builder-preview-card .rounded-full,.flashhub-deck-builder-form .set-builder-preview-card .rounded-full{padding:.25rem .625rem!important}.flashhub-demo-surface .flashhub-set-cover{grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;height:6rem!important;min-height:6rem!important;gap:.5rem .625rem}.flashhub-demo-surface .flashhub-set-cover>svg{grid-column:1;grid-row:1;width:2.75rem!important;height:2.75rem!important;align-self:start;justify-self:start;padding:.5rem!important}.flashhub-demo-surface .flashhub-set-cover span{grid-column:1 / -1;grid-row:2;justify-self:start;max-width:min(100%,12rem)!important}.flashhub-demo-surface .flashhub-set-cover b,.flashhub-demo-surface .flashhub-set-cover em{grid-column:3;grid-row:1;align-self:start;justify-self:end}.flashhub-modal-card:not(.flashhub-group-modal-card) .flashhub-modal-cover{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr) auto;min-height:8rem!important;height:8rem!important;align-items:start!important;gap:.625rem .75rem!important;padding:1rem 1.125rem!important;border-bottom:0!important;color:#fffaf0!important}.flashhub-modal-card:not(.flashhub-group-modal-card) .flashhub-modal-cover.is-accent{background:linear-gradient(150deg,#b25b36,#c9744f)!important}.flashhub-modal-card:not(.flashhub-group-modal-card) .flashhub-modal-cover.is-gold{background:linear-gradient(150deg,#9a7322,#b9923a)!important}.flashhub-modal-card:not(.flashhub-group-modal-card) .flashhub-modal-cover.is-sage{background:linear-gradient(150deg,#5f7257,#76906b)!important}.flashhub-modal-card:not(.flashhub-group-modal-card) .flashhub-modal-cover.is-blue{background:linear-gradient(150deg,#4f6d86,#6a8aa3)!important}.flashhub-modal-card:not(.flashhub-group-modal-card) .flashhub-modal-cover.is-plum{background:linear-gradient(150deg,#7a5f7e,#977a9b)!important}.flashhub-modal-card:not(.flashhub-group-modal-card) .flashhub-modal-icon{grid-column:1;grid-row:1;width:3.125rem!important;height:3.125rem!important;align-self:start;justify-self:start;border-color:#ffffff5c!important;background:#ffffff2e!important;color:#fffaf0!important}.flashhub-modal-card:not(.flashhub-group-modal-card) .flashhub-modal-icon svg{width:1.75rem!important;height:1.75rem!important}.flashhub-modal-card:not(.flashhub-group-modal-card) .flashhub-modal-subject{grid-column:1 / 3;grid-row:2;justify-self:start;min-height:1.625rem!important;max-width:min(100%,18rem);margin:0!important;border-color:#ffffff57!important;background:#ffffff2e!important;color:#fffaf0!important;font-size:.75rem!important;letter-spacing:0!important;text-transform:none!important;padding:.3125rem .6875rem!important}.flashhub-modal-card:not(.flashhub-group-modal-card) .flashhub-modal-close{position:static!important;grid-column:3;grid-row:1;justify-self:end;border-color:#ffffff57!important;background:#ffffff2e!important;color:#fffaf0!important}.flashhub-modal .flashhub-preview-nav{gap:.75rem!important;margin-top:1.35rem!important}.flashhub-modal .flashhub-preview-nav button{width:2rem!important;height:2rem!important;border:1px solid var(--fh-rule)!important;border-radius:.5625rem!important;background:var(--fh-panel-2)!important;color:var(--fh-ink-2)!important;font-family:var(--font-ui)!important;font-size:1.25rem!important;font-weight:700!important;line-height:1!important;box-shadow:none!important;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.flashhub-modal .flashhub-preview-nav button:hover,.flashhub-modal .flashhub-preview-nav button:focus-visible{border-color:color-mix(in srgb,var(--fh-accent) 34%,var(--fh-rule))!important;background:var(--fh-accent-soft)!important;color:var(--fh-accent)!important}.flashhub-modal .flashhub-preview-nav button:active{transform:translateY(1px)}.flashhub-modal .flashhub-preview-nav span{min-width:3rem;color:var(--fh-ink-2)!important;font-family:var(--font-ui)!important;font-size:.75rem!important;font-weight:650!important}.book-app-shell{font-family:var(--font-ui);letter-spacing:0}.book-app-shell :where(h1,h2,.course-book-title,.course-detail-title,.settings-book-top h1,.settings-section-head h2,.flashhub-demo-title-row h1,.flashhub-modal-main h2,.flashhub-modal-word,.set-builder-preview-card h4){font-family:var(--font-book)!important;letter-spacing:0!important;text-wrap:balance}.book-app-shell :where(h3,h4,button,input,textarea,select,label,small,.settings-row-title,.settings-row-desc,.flashhub-demo-surface,.flashhub-modal,.flashhub-compact-modal){font-family:var(--font-ui)!important;letter-spacing:0}.book-app-shell :where(button,a,input,textarea,select):focus-visible{outline:0;box-shadow:0 0 0 3px var(--ring)}.settings-modal-shell{background:color-mix(in srgb,var(--background) 22%,rgba(18,14,10,.62))!important;-webkit-backdrop-filter:blur(10px) saturate(116%);backdrop-filter:blur(10px) saturate(116%);overscroll-behavior:contain}.settings-modal-click-target{background:transparent}.settings-modal-frame{max-width:min(76rem,calc(100vw - 2rem))!important;max-height:min(52rem,calc(100dvh - 2rem))!important;overflow:hidden auto!important;border-radius:.875rem!important;background:color-mix(in srgb,var(--card) 76%,transparent);box-shadow:var(--shadow-elevated)!important}.settings-modal-frame .settings-book-window{display:flex;flex-direction:column;min-height:0;max-height:inherit;border-color:color-mix(in srgb,var(--border-strong) 38%,var(--border));background:color-mix(in srgb,var(--card) 86%,var(--surface))!important}.settings-modal-frame .settings-book-body{flex:1 1 auto;min-height:0;height:min(42rem,calc(100dvh - 8rem));max-height:min(47.6rem,calc(100dvh - 6.4rem));overflow:hidden}.settings-modal-frame .settings-book-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.settings-modal-frame .settings-book-top{background:color-mix(in srgb,var(--surface-subtle) 64%,var(--card))!important}.settings-modal-frame .settings-book-nav{background:color-mix(in srgb,var(--surface-subtle) 76%,var(--background))!important}.settings-modal-frame .settings-book-panel,.settings-modal-frame .settings-note-box,.settings-modal-frame .settings-help-card,.settings-modal-frame .settings-status-card,.settings-modal-frame .settings-admin-test,.settings-modal-frame .settings-import-preview,.settings-modal-frame .settings-import-history{background:color-mix(in srgb,var(--card) 86%,var(--background))!important}.settings-font-size-control{display:grid;width:100%;gap:.75rem}.settings-modal-frame .settings-row-stacked .settings-row-control{width:100%!important}.settings-modal-frame .settings-theme-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));max-width:30rem}.settings-modal-frame .settings-theme-card{width:100%!important}.settings-font-size-options{display:inline-flex;width:-moz-fit-content;width:fit-content;max-width:100%;gap:.25rem;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface-subtle) 76%,var(--card));padding:.25rem}.settings-font-size-options button{display:inline-flex;min-height:2.25rem;align-items:center;justify-content:center;gap:.4rem;border:0;border-radius:999px;background:transparent;color:var(--muted-foreground);font-size:.8125rem;font-weight:750;padding:.45rem .8rem;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}.settings-font-size-options button:hover{color:var(--foreground);background:color-mix(in srgb,var(--border-strong) 10%,transparent)}.settings-font-size-options button.active{background:var(--primary);color:var(--primary-foreground);box-shadow:0 .375rem .875rem color-mix(in srgb,var(--primary) 18%,transparent)}.settings-font-size-options svg{width:.95rem;height:.95rem}.settings-font-size-options .settings-font-icon-sm{width:.82rem;height:.82rem}.settings-font-size-options .settings-font-icon-lg{width:1.08rem;height:1.08rem}.settings-font-preview{display:flex;min-height:4rem;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--border);border-radius:.75rem;background:color-mix(in srgb,var(--background) 72%,var(--card));color:var(--muted-foreground);padding:.9rem 1rem}.settings-font-preview span{font-family:var(--font-ui);font-size:.875rem}.settings-font-preview strong{color:var(--foreground);font-family:var(--font-book);font-size:1.15rem;font-weight:700}.settings-font-preview[data-scale=small]{font-size:.9375rem}.settings-font-preview[data-scale=large]{font-size:1.0625rem}.flashhub-modal.is-open,.flashhub-compact-modal.is-open{display:flex!important;min-height:100dvh;align-items:center!important;justify-content:center!important;padding:clamp(1rem,3vh,2rem) clamp(1rem,3vw,2rem)!important;overflow-y:auto!important}.flashhub-modal-card:not(.flashhub-group-modal-card){width:min(76rem,calc(100vw - 2.5rem))!important;max-width:none!important;max-height:min(48rem,calc(100dvh - 2.5rem))!important;margin:0!important;border-radius:.875rem!important}.flashhub-modal-card:not(.flashhub-group-modal-card) .flashhub-modal-body{grid-template-columns:minmax(0,1fr) minmax(20rem,.36fr)!important}.flashhub-modal-card:not(.flashhub-group-modal-card) .flashhub-modal-main{padding:clamp(1.35rem,2vw,1.85rem)!important}.flashhub-modal-card:not(.flashhub-group-modal-card) .flashhub-modal-preview{min-height:clamp(15rem,34vh,20rem)!important;padding:clamp(1.2rem,2vw,1.75rem)!important}.flashhub-modal-card:not(.flashhub-group-modal-card) .flashhub-modal-comments{padding:clamp(1.35rem,2vw,1.75rem)!important}.flashhub-deck-form-modal{width:min(82rem,calc(100vw - 2.5rem))!important;max-height:min(52rem,calc(100dvh - 2.5rem))!important;border-radius:.875rem!important}.flashhub-deck-form-modal .flashhub-deck-builder-form{grid-template-columns:minmax(0,1.05fr) minmax(24rem,.95fr)!important;gap:1.25rem!important;padding:1.125rem!important}.flashhub-card-form-modal{width:min(68rem,calc(100vw - 2.5rem))!important;max-height:min(50rem,calc(100dvh - 2.5rem))!important}@media (max-width: 840px){.settings-modal-frame{max-width:100%!important;max-height:100dvh!important;border-radius:0!important}.settings-modal-frame .settings-book-body{max-height:calc(100dvh - 4.4rem);overflow-y:auto}.flashhub-modal.is-open,.flashhub-compact-modal.is-open{align-items:stretch!important;padding:0!important}.flashhub-modal-card:not(.flashhub-group-modal-card),.flashhub-deck-form-modal,.flashhub-card-form-modal{width:100%!important;max-width:none!important;max-height:100dvh!important;min-height:100dvh!important;margin:0!important;border-radius:0!important}.flashhub-modal-card:not(.flashhub-group-modal-card) .flashhub-modal-body,.flashhub-deck-form-modal .flashhub-deck-builder-form{grid-template-columns:1fr!important}.settings-font-size-options{width:100%}.settings-modal-frame .settings-theme-cards{grid-template-columns:1fr}.settings-font-size-options button{flex:1}.settings-font-preview{align-items:flex-start;flex-direction:column}}.book-app-shell :where(:not(.admin-surface,.admin-surface *,svg,svg *,code,pre,kbd,samp)){font-family:var(--font-ui)!important;letter-spacing:0!important}.book-app-shell :where(.font-mono,.font-mono *,code,pre,kbd,samp):not(.admin-surface,.admin-surface *){font-family:var(--font-mono)!important}.book-app-shell :where(h1,h2,.font-book,.course-book-title,.course-detail-title,.course-card-title,.course-node-title,.course-path-title,.course-lesson-title,.course-story-title,.dashboard-hero-title,.dashboard-section-title,.dictionary-word-title,.dictionary-result-title,.review-flashcard-word,.review-completion-title,.review-question-text,.stats-page-title,.stats-section-title,.settings-book-top h1,.settings-section-head h2,.flashhub-demo-title-row h1,.flashhub-demo-detail-left h2,.flashhub-modal-main h2,.flashhub-modal-word,.flashhub-members-modal h3,.flashhub-group-top h3,.flashhub-inline-form h3,.study-group-classroom-title,.study-group-main-lesson h3,.set-builder-preview-card h4):not(.admin-surface,.admin-surface *){font-family:var(--font-book)!important;letter-spacing:0!important;text-wrap:balance}.flashhub-deck-builder-form .set-builder-cover-panel{display:block!important;border:1px solid var(--fh-rule)!important;border-radius:.75rem!important;background:var(--fh-panel-2)!important;padding:.95rem!important}.flashhub-deck-builder-form .set-builder-cover-head{display:flex;align-items:flex-start;gap:.7rem;margin-bottom:.875rem;padding-bottom:.75rem;border-bottom:1px solid var(--fh-rule)}.flashhub-deck-builder-form .set-builder-cover-icon{display:inline-flex;width:2rem;height:2rem;flex:none;align-items:center;justify-content:center;border:1px solid var(--fh-rule-strong);border-radius:.65rem;background:var(--fh-accent-soft);color:var(--fh-accent)}.flashhub-deck-builder-form .set-builder-cover-title{color:var(--fh-ink)!important;font-family:var(--font-book, Georgia, serif);font-size:1rem;font-weight:800;line-height:1.2}.flashhub-deck-builder-form .set-builder-cover-head p{margin-top:.2rem;color:var(--fh-ink-2)!important;font-size:.78rem!important;line-height:1.4}.flashhub-deck-builder-form .set-builder-cover-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:.9rem}.flashhub-deck-builder-form .set-builder-cover-grid .set-builder-swatches,.flashhub-deck-builder-form .set-builder-cover-grid .set-builder-icons{display:flex!important;width:100%;flex-wrap:wrap!important;align-items:center;justify-content:flex-start;gap:.5rem!important;border:0!important;background:transparent!important;padding:0!important}.flashhub-deck-builder-form .set-builder-cover-grid .set-builder-icon{width:2.1rem;height:2.1rem}.flashhub-demo-comment-box{display:flex!important;align-items:center!important;gap:.55rem!important;margin-top:0!important;padding-top:.875rem!important;border-top:1px solid var(--fh-rule)!important}.flashhub-demo-comment-box input{min-height:2.55rem!important;min-width:0!important;flex:1!important;border:1px solid var(--fh-rule-strong)!important;border-radius:999px!important;background:var(--fh-panel)!important;color:var(--fh-ink)!important;font-family:var(--font-sans)!important;font-size:.875rem!important;line-height:1.2!important;outline:none!important;padding:.65rem .95rem!important;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease!important}.flashhub-demo-comment-box input:focus{border-color:var(--fh-accent)!important;box-shadow:0 0 0 3px var(--fh-accent-soft)!important}.flashhub-demo-comment-box input::-moz-placeholder{color:var(--fh-ink-2)!important;font-style:normal!important}.flashhub-demo-comment-box input::placeholder{color:var(--fh-ink-2)!important;font-style:normal!important}.flashhub-demo-comment-box button{width:2.55rem!important;height:2.55rem!important;flex:none!important;border:1px solid var(--fh-accent)!important;background:var(--fh-accent)!important;color:var(--primary-foreground)!important}.flashhub-demo-comment-box button:disabled{opacity:.48}@media (max-width: 640px){.flashhub-deck-builder-form .set-builder-cover-grid{grid-template-columns:1fr}}.flashhub-study-button,.flashhub-detail-button.is-primary,.flashhub-create-button,.flashhub-overview-primary-action,.flashhub-overview-create-action{border:1px solid var(--fh-accent)!important;background:var(--fh-accent)!important;color:var(--primary-foreground)!important;box-shadow:0 .45rem 1rem color-mix(in srgb,var(--fh-accent) 16%,transparent)!important}.flashhub-study-button:hover:not(:disabled),.flashhub-detail-button.is-primary:hover:not(:disabled),.flashhub-create-button:hover:not(:disabled),.flashhub-overview-primary-action:hover:not(:disabled),.flashhub-overview-create-action:hover:not(:disabled){border-color:color-mix(in srgb,var(--fh-accent) 86%,#3f2a1d)!important;background:color-mix(in srgb,var(--fh-accent) 88%,#3f2a1d)!important;color:var(--primary-foreground)!important}.flashhub-study-button:disabled,.flashhub-detail-button.is-primary:disabled,.flashhub-overview-primary-action:disabled,.flashhub-overview-create-action:disabled{border-color:var(--fh-rule)!important;background:var(--fh-panel-3)!important;color:var(--fh-ink-2)!important;box-shadow:none!important;opacity:.64}.flashhub-create-tile span,.flashhub-create-tile:hover span{background:var(--fh-accent)!important;color:var(--primary-foreground)!important}.flashhub-create-tile:hover{border-color:color-mix(in srgb,var(--primary) 42%,var(--border))!important;background:color-mix(in srgb,var(--primary-soft) 58%,var(--card))!important}.flashhub-demo-surface,.flashhub-group-detail-wrap,.flashhub-modal,.flashhub-compact-modal{--flashhub-action-bg: var(--primary);--flashhub-action-bg-hover: var(--primary-hover);--flashhub-action-fg: #ffffff;--flashhub-subtle-action-bg: color-mix(in srgb, var(--primary-soft) 46%, var(--card));--flashhub-subtle-action-bg-hover: color-mix(in srgb, var(--primary-soft) 68%, var(--card));--flashhub-subtle-action-fg: var(--primary)}:root[data-theme=dark] .flashhub-demo-surface,:root[data-theme=dark] .flashhub-group-detail-wrap,:root[data-theme=dark] .flashhub-modal,:root[data-theme=dark] .flashhub-compact-modal{--flashhub-action-fg: var(--primary-foreground)}.flashhub-study-button,.flashhub-detail-button.is-primary,.flashhub-create-button,.flashhub-overview-primary-action,.flashhub-overview-create-action,.flashhub-group-discussion-compose-foot button:not(:disabled),.flashhub-group-discussion-box button:not(:disabled),.flashhub-demo-comment-box button:not(:disabled){border-color:var(--flashhub-action-bg)!important;background:var(--flashhub-action-bg)!important;color:var(--flashhub-action-fg)!important;box-shadow:0 .45rem 1rem color-mix(in srgb,var(--primary) 14%,transparent)!important}.flashhub-study-button:hover:not(:disabled),.flashhub-detail-button.is-primary:hover:not(:disabled),.flashhub-create-button:hover:not(:disabled),.flashhub-overview-primary-action:hover:not(:disabled),.flashhub-overview-create-action:hover:not(:disabled),.flashhub-group-discussion-compose-foot button:hover:not(:disabled),.flashhub-group-discussion-box button:hover:not(:disabled),.flashhub-demo-comment-box button:hover:not(:disabled){border-color:var(--flashhub-action-bg-hover)!important;background:var(--flashhub-action-bg-hover)!important;color:var(--flashhub-action-fg)!important}.flashhub-group-ghost,.flashhub-group-discussion-head button,.flashhub-group-action-menu.is-course-like button:not(.is-danger),.flashhub-mini-action,.flashhub-filter-chip:not(.is-active){border-color:var(--border)!important;background:var(--flashhub-subtle-action-bg)!important;color:var(--flashhub-subtle-action-fg)!important;box-shadow:none!important}.flashhub-group-ghost:hover:not(:disabled),.flashhub-group-discussion-head button:hover:not(:disabled),.flashhub-group-action-menu.is-course-like button:not(.is-danger):hover,.flashhub-mini-action:hover:not(:disabled),.flashhub-filter-chip:not(.is-active):hover{border-color:color-mix(in srgb,var(--primary) 34%,var(--border))!important;background:var(--flashhub-subtle-action-bg-hover)!important;color:var(--flashhub-subtle-action-fg)!important}:root:not([data-theme=dark]) .flashhub-study-button,:root:not([data-theme=dark]) .flashhub-create-button,:root:not([data-theme=dark]) .flashhub-overview-primary-action,:root:not([data-theme=dark]) .flashhub-overview-create-action,:root:not([data-theme=dark]) .flashhub-detail-button.is-primary,:root:not([data-theme=dark]) .flashhub-create-tile span,:root:not([data-theme=dark]) .flashhub-create-tile:hover span{color:#fff!important}:root:not([data-theme=dark]) .flashhub-study-button svg,:root:not([data-theme=dark]) .flashhub-create-button svg,:root:not([data-theme=dark]) .flashhub-overview-primary-action svg,:root:not([data-theme=dark]) .flashhub-overview-create-action svg,:root:not([data-theme=dark]) .flashhub-detail-button.is-primary svg,:root:not([data-theme=dark]) .flashhub-create-tile span svg{color:#fff!important;stroke:#fff!important}.flashhub-study-button svg,.flashhub-create-button svg,.flashhub-overview-primary-action svg,.flashhub-overview-create-action svg,.flashhub-group-ghost svg,.flashhub-group-discussion-head button svg,.flashhub-group-discussion-compose-foot button svg,.flashhub-group-discussion-box button svg,.flashhub-demo-comment-box button svg,.flashhub-mini-action svg{color:currentColor!important;stroke:currentColor!important}.flashhub-study-button:disabled,.flashhub-detail-button.is-primary:disabled,.flashhub-overview-primary-action:disabled,.flashhub-overview-create-action:disabled,.flashhub-group-ghost:disabled,.flashhub-group-discussion-compose-foot button:disabled,.flashhub-group-discussion-box button:disabled,.flashhub-demo-comment-box button:disabled{border-color:var(--border)!important;background:var(--secondary)!important;color:var(--muted-foreground)!important;box-shadow:none!important;opacity:.68}.flashhub-create-tile span,.flashhub-create-tile:hover span{background:var(--flashhub-action-bg)!important;color:var(--flashhub-action-fg)!important}.flashhub-group-action-menu.is-course-like{width:min(14rem,calc(100vw - 2rem))!important;gap:.15rem!important;border-color:var(--border)!important;border-radius:.95rem!important;background:color-mix(in srgb,var(--card) 94%,var(--background))!important;padding:.45rem!important;box-shadow:0 1rem 2.5rem #34231629!important}.flashhub-group-action-menu.is-course-like button:not(.is-danger){min-height:2.35rem!important;justify-content:flex-start!important;gap:.58rem!important;border:0!important;border-radius:.7rem!important;background:transparent!important;color:var(--foreground)!important;font-size:.8rem!important;font-weight:760!important;line-height:1.15!important;padding:.52rem .62rem!important;box-shadow:none!important}.flashhub-group-action-menu.is-course-like button:not(.is-danger) svg{width:1rem;height:1rem;color:color-mix(in srgb,var(--primary) 78%,var(--muted-foreground))!important;stroke:currentColor!important}.flashhub-group-action-menu.is-course-like button:not(.is-danger):hover{background:color-mix(in srgb,var(--primary-soft) 34%,transparent)!important;color:var(--primary)!important}.flashhub-group-action-menu.is-course-like .flashhub-group-action-divider{height:1px!important;margin:.34rem .25rem!important;background:var(--border)!important}.flashhub-group-action-menu.is-course-like button.is-danger{min-height:2.35rem!important;justify-content:flex-start!important;gap:.58rem!important;border:0!important;border-radius:.7rem!important;background:transparent!important;color:var(--destructive)!important;font-size:.8rem!important;font-weight:800!important;line-height:1.15!important;padding:.52rem .62rem!important;box-shadow:none!important}.flashhub-group-action-menu.is-course-like button.is-danger:hover:not(:disabled){background:color-mix(in srgb,var(--destructive-soft) 48%,transparent)!important}.flashhub-group-action-menu.is-course-like button.is-danger svg{width:1rem;height:1rem;color:currentColor!important;stroke:currentColor!important}.flashhub-group-detail-side-head{display:block!important;margin-bottom:.95rem!important;padding-left:0!important}.flashhub-group-detail-side-head>svg{display:none!important}.flashhub-group-detail-side-head p{max-width:100%!important}.flashhub-group-detail-tabs{display:flex!important;width:100%!important;gap:.25rem!important;margin:0 0 1rem!important;border:1px solid var(--fh-rule)!important;border-radius:1rem!important;background:var(--fh-panel-2)!important;padding:.25rem!important;overflow:hidden!important;box-shadow:inset 0 1px #ffffff47!important}.flashhub-group-detail-tabs button{display:inline-flex!important;min-width:0!important;width:auto!important;flex:1 1 0!important;min-height:2.5rem!important;align-items:center!important;justify-content:center!important;gap:.4rem!important;border:0!important;border-radius:.78rem!important;background:transparent!important;color:var(--fh-ink-2)!important;font-size:.78rem!important;font-weight:800!important;line-height:1.1!important;padding:.55rem .45rem!important;box-shadow:none!important;white-space:nowrap!important}.flashhub-group-detail-tabs button svg{width:1rem;height:1rem;flex:none;opacity:.72}.flashhub-group-detail-tabs button.is-active{border:0!important;background:var(--fh-accent)!important;color:var(--primary-foreground)!important;box-shadow:inset 0 0 0 1px #ffffff38!important}.flashhub-group-detail-tabs button.is-active svg{opacity:1}.book-app-shell :where(h1,h2,.font-book,.course-book-title,.course-detail-title,.course-card-title,.course-node-title,.course-path-title,.course-lesson-title,.course-story-title,.dashboard-hero-title,.dashboard-section-title,.dictionary-word-title,.dictionary-result-title,.review-flashcard-word,.review-completion-title,.review-question-text,.stats-page-title,.stats-section-title,.settings-book-top h1,.settings-section-head h2,.flashhub-demo-title-row h1,.flashhub-demo-detail-left h2,.flashhub-modal-main h2,.flashhub-modal-word,.flashhub-members-modal h3,.flashhub-group-top h3,.flashhub-inline-form h3,.study-group-classroom-title,.study-group-main-lesson h3,.set-builder-preview-card h4):not(.admin-surface,.admin-surface *) :where(:not(svg,svg *,code,pre,kbd,samp)){font-family:var(--font-book)!important;letter-spacing:0!important}.book-app-shell :where(.uppercase,[class*=tracking-],[class*=eyebrow],[class*=kicker],.flashhub-demo-eyebrow,.flashhub-preview-headline,.flashhub-section-title,.flashhub-classroom-contrib-head,.study-group-classroom-eyebrow,.study-group-main-badge,.study-group-section-title,.study-group-daily-head):not(.admin-surface,.admin-surface *){font-family:var(--font-ui)!important;letter-spacing:.04em!important}.book-app-shell .flashhub-search-box input:not(.admin-surface,.admin-surface *){font-family:var(--font-ui)!important}.auth-book-shell :where(:not(svg,svg *,code,pre,kbd,samp)){font-family:var(--font-ui)!important;letter-spacing:0!important}.auth-book-shell :where(.auth-brand-name,.auth-cover-tag,.auth-quote p,h1){font-family:var(--font-book)!important;letter-spacing:0!important}.auth-book-shell :where(.auth-eyebrow){font-family:var(--font-ui)!important;letter-spacing:.04em!important}.first\:pt-0:first-child{padding-top:0}.last\:border-b-0:last-child{border-bottom-width:0px}.last\:pb-0:last-child{padding-bottom:0}.hover\:border-border-strong:hover{border-color:var(--border-strong)}.hover\:border-primary:hover{border-color:var(--primary)}.hover\:bg-background:hover{background-color:var(--background)}.hover\:bg-destructive:hover{background-color:var(--destructive)}.hover\:bg-destructive-soft:hover{background-color:var(--destructive-soft)}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary-hover:hover{background-color:var(--primary-hover)}.hover\:bg-secondary:hover{background-color:var(--secondary)}.hover\:bg-surface-muted:hover{background-color:var(--surface-muted)}.hover\:bg-surface-subtle:hover{background-color:var(--surface-subtle)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-primary:hover{color:var(--primary)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-primary:focus{border-color:var(--primary)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-primary:focus{--tw-ring-color: var(--primary)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: var(--ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:cursor-wait:disabled{cursor:wait}.disabled\:bg-muted:disabled{background-color:var(--muted)}.disabled\:bg-secondary:disabled{background-color:var(--secondary)}.disabled\:text-muted-foreground:disabled{color:var(--muted-foreground)}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group[open] .group-open\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-\[1\.02\]{--tw-scale-x: 1.02;--tw-scale-y: 1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (min-width: 640px){.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:max-w-\[70\%\]{max-width:70%}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[minmax\(0\,0\.9fr\)_minmax\(0\,1\.2fr\)_auto\]{grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr) auto}.sm\:grid-cols-\[minmax\(0\,18rem\)_1fr\]{grid-template-columns:minmax(0,18rem) 1fr}.sm\:grid-cols-\[minmax\(0\,1fr\)_7\.5rem\]{grid-template-columns:minmax(0,1fr) 7.5rem}.sm\:grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:items-start{align-items:flex-start}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:gap-3{gap:.75rem}.sm\:rounded-xl{border-radius:.75rem}.sm\:p-4{padding:1rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:pt-6{padding-top:1.5rem}.sm\:text-right{text-align:right}}@media (min-width: 768px){.md\:left-\[17px\]{left:17px}.md\:col-span-2{grid-column:span 2 / span 2}.md\:mb-7{margin-bottom:1.75rem}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-4{height:1rem}.md\:h-9{height:2.25rem}.md\:w-4{width:1rem}.md\:w-9{width:2.25rem}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[16rem_minmax\(0\,1fr\)\]{grid-template-columns:16rem minmax(0,1fr)}.md\:grid-cols-\[1fr_14rem\]{grid-template-columns:1fr 14rem}.md\:grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.md\:flex-row{flex-direction:row}.md\:flex-col{flex-direction:column}.md\:items-start{align-items:flex-start}.md\:items-end{align-items:flex-end}.md\:items-center{align-items:center}.md\:justify-end{justify-content:flex-end}.md\:justify-between{justify-content:space-between}.md\:p-4{padding:1rem}.md\:p-5{padding:1.25rem}.md\:p-6{padding:1.5rem}.md\:p-8{padding:2rem}.md\:py-12{padding-top:3rem;padding-bottom:3rem}.md\:py-8{padding-top:2rem;padding-bottom:2rem}.md\:pl-11{padding-left:2.75rem}.md\:pl-20{padding-left:5rem}.md\:pl-64{padding-left:16rem}.md\:pt-0{padding-top:0}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 1024px){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:inline{display:inline}.lg\:w-52{width:13rem}.lg\:max-w-sm{max-width:24rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[1fr_1fr_1\.15fr\]{grid-template-columns:1fr 1fr 1.15fr}.lg\:grid-cols-\[minmax\(0\,0\.95fr\)_minmax\(0\,1\.25fr\)\]{grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr)}.lg\:grid-cols-\[minmax\(0\,1fr\)_15rem_auto\]{grid-template-columns:minmax(0,1fr) 15rem auto}.lg\:grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:items-end{align-items:flex-end}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:px-7{padding-left:1.75rem;padding-right:1.75rem}}@media (min-width: 1280px){.xl\:sticky{position:sticky}.xl\:top-0{top:0}.xl\:top-4{top:1rem}.xl\:col-span-2{grid-column:span 2 / span 2}.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,0\.9fr\)_minmax\(0\,1\.1fr\)\]{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.xl\:grid-cols-\[minmax\(0\,1\.15fr\)_minmax\(22rem\,0\.85fr\)\]{grid-template-columns:minmax(0,1.15fr) minmax(22rem,.85fr)}.xl\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.xl\:grid-cols-\[minmax\(0\,1fr\)_minmax\(22rem\,0\.55fr\)\]{grid-template-columns:minmax(0,1fr) minmax(22rem,.55fr)}.xl\:grid-cols-\[minmax\(0\,1fr\)_minmax\(22rem\,0\.85fr\)\]{grid-template-columns:minmax(0,1fr) minmax(22rem,.85fr)}.xl\:grid-cols-\[minmax\(18rem\,0\.95fr\)_minmax\(0\,1\.6fr\)\]{grid-template-columns:minmax(18rem,.95fr) minmax(0,1.6fr)}.xl\:self-start{align-self:flex-start}}
