@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:Manrope,Avenir Next,sans-serif;color:#262c2a;background:#f4f2ec;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #262c2a;--muted: #727873;--paper: #f4f2ec;--surface: #faf9f5;--white: #fffefb;--line: #deddd5;--accent: #d9603d;--accent-dark: #a7432a;--green: #3f796d;--navy: #35546b;--radius-lg: 30px;--radius-md: 20px;--shadow: 0 24px 65px -38px rgba(52, 44, 36, .35)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100dvh;background:var(--paper)}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(217,96,61,.22);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.45}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.database-loading{min-height:100dvh;display:grid;align-content:center;justify-items:start;gap:8px;width:min(100%,560px);margin:0 auto;padding:40px 28px}.database-loading>span{width:44px;height:4px;margin-bottom:18px;border-radius:99px;background:linear-gradient(90deg,var(--accent) 0 38%,#deddd5 38% 100%);animation:database-pulse 1.1s ease-in-out infinite alternate;transform-origin:left}.database-loading strong{font-size:22px;letter-spacing:-.035em}.database-loading small{max-width:420px;color:var(--muted);font-size:11px;line-height:1.6}@keyframes database-pulse{to{opacity:.45;transform:scaleX(.72)}}.database-error{position:fixed;z-index:7;right:18px;bottom:18px;width:min(390px,calc(100vw - 36px));display:grid;gap:4px;padding:13px 15px;border:1px solid #dfb9ac;border-radius:14px;color:#843e2b;background:#f5e5df;box-shadow:0 20px 45px -32px #4b271d99,inset 0 1px #ffffffa6}.database-error strong{font-size:11px}.database-error span{font-size:9px;line-height:1.5}.database-error-actions{margin-top:5px}.database-error-actions button{padding:5px 0;border:0;color:inherit;background:transparent;font-size:9px;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.noise{position:fixed;inset:0;pointer-events:none;opacity:.026;z-index:5;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E")}.app-shell{min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;display:flex;flex-direction:column;padding:34px 24px 24px;border-right:1px solid var(--line);background:#f6f4eeed;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:11px;font-size:18px;font-weight:800;letter-spacing:-.7px;cursor:pointer}.brand-button{padding:0;border:0;background:transparent;text-align:left}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;color:var(--surface);background:var(--ink);transform:rotate(-5deg)}.main-nav{display:grid;gap:6px;margin-top:58px}.main-nav button{display:flex;align-items:center;gap:13px;width:100%;padding:12px 13px;border:0;border-radius:12px;color:#7e827e;background:transparent;cursor:pointer;text-align:left;transition:background .25s ease,color .25s ease,transform .25s ease}.main-nav button:hover{color:var(--ink);background:#ffffff8c}.main-nav button:active{transform:scale(.98)}.main-nav button.active{color:var(--ink);background:var(--white);box-shadow:0 8px 25px -18px #342c2480,inset 0 0 0 1px #ffffffb3}.main-nav button.active:after{content:"";width:5px;height:5px;margin-left:auto;border-radius:50%;background:var(--accent)}.sidebar-foot{margin-top:auto;display:grid;gap:18px}.streak-tile{display:flex;gap:11px;padding:14px;border:1px solid #e2d9ce;border-radius:15px;background:#eee8de}.streak-icon{color:var(--accent)}.streak-tile div,.profile-row div{display:grid;gap:3px}.streak-tile strong,.profile-row strong{font-size:12px}.streak-tile small,.profile-row small{font-size:10px;color:var(--muted)}.profile-row{width:100%;display:flex;align-items:center;gap:11px;padding:8px;border:0;border-radius:12px;background:transparent;text-align:left;cursor:pointer;transition:background .2s ease}.profile-row:hover{background:#ffffff8c}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#f7f4ed;background:#63716b;font:500 11px DM Mono,monospace}.main-area{min-height:100dvh;margin-left:248px}.page-loading{min-height:100dvh;display:grid;place-items:center;color:var(--muted);font-size:12px}.mobile-header,.mobile-close,.menu-scrim{display:none}.page{width:min(100%,1370px);min-height:100dvh;margin:0 auto;padding:64px clamp(36px,5vw,82px) 80px}.reveal{opacity:0;animation:reveal .7s cubic-bezier(.16,1,.3,1) forwards;animation-delay:var(--delay, 0ms)}@keyframes reveal{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.eyebrow,.section-label{display:block;color:#858a85;font:500 10px DM Mono,monospace;letter-spacing:.13em;text-transform:uppercase}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:50px}.page-heading h1{margin:13px 0 0;font-size:clamp(40px,5vw,67px);line-height:.99;letter-spacing:-.065em;font-weight:600}.page-heading>div>p{max-width:570px;margin:22px 0 0;color:var(--muted);line-height:1.75}.button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 20px;border:1px solid transparent;border-radius:14px;font-weight:700;font-size:13px;cursor:pointer;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s ease,background .25s ease}.button:active{transform:translateY(1px) scale(.98)}.button.primary{color:#fbf9f2;background:var(--ink);box-shadow:0 13px 22px -15px #262c2ab3}.button.primary:hover{background:#39413e;transform:translateY(-2px)}.button.secondary{color:var(--ink);background:#ffffff80;border-color:#3137342b}.button.secondary:hover{background:var(--white)}.button.small{min-height:38px;padding-inline:14px}.text-button,.quiet-link{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:none;font-weight:700;cursor:pointer}.text-button{margin-top:31px;color:#fffaf5;font-size:13px}.text-button svg,.quiet-link svg{transition:transform .25s ease}.text-button:hover svg,.quiet-link:hover svg{transform:translate(4px)}.dashboard-heading{align-items:flex-end}.header-actions{display:flex;align-items:center;gap:20px}.rhythm-chip{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.rhythm-chip svg{color:var(--accent)}.rhythm-chip strong{color:var(--ink)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,.8fr);gap:17px}.hero-progress{min-height:310px;display:grid;grid-template-columns:1.35fr .65fr;align-items:center;gap:25px;padding:46px 48px;border-radius:var(--radius-lg);color:#f9f7f0;background:#2d3532;overflow:hidden;box-shadow:var(--shadow);position:relative}.hero-progress:after{content:"";position:absolute;width:380px;height:380px;right:-200px;top:-260px;border:75px solid rgba(255,255,255,.025);border-radius:50%}.hero-progress .section-label{color:#aeb6b0}.hero-progress h2{max-width:470px;margin:16px 0 13px;font-size:clamp(28px,3vw,43px);line-height:1.08;letter-spacing:-.045em}.hero-progress p{max-width:470px;margin:0;color:#b8bfba;font-size:14px;line-height:1.7}.progress-orbit{width:152px;height:152px;justify-self:end;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--accent) var(--progress),rgba(255,255,255,.09) 0);position:relative}.progress-orbit:before{content:"";position:absolute;inset:9px;border-radius:inherit;background:#2d3532}.progress-orbit:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#f4a286;transform:translateY(-76px);transform-origin:3px 79px;animation:orbit 10s linear infinite}@keyframes orbit{to{transform:translateY(-76px) rotate(360deg)}}.orbit-inner{position:relative;display:grid;text-align:center}.orbit-inner strong{font:500 37px DM Mono,monospace;letter-spacing:-.07em}.orbit-inner span{color:#9fa8a2;font-size:11px}.level-panel{min-height:310px;padding:34px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff6;box-shadow:inset 0 1px #ffffffa6}.level-top{display:flex;align-items:center;gap:12px}.level-icon{width:36px;height:36px;display:grid;place-items:center;color:#966044;border-radius:11px;background:#eadccf}.level-panel h2{margin:43px 0 7px;font-size:31px;letter-spacing:-.04em}.level-panel p{min-height:42px;margin:0;color:var(--muted);font-size:12px;line-height:1.7}.progress-track,.mini-track,.study-track,.question-progress{height:4px;overflow:hidden;border-radius:99px;background:#deddd5}.progress-track{margin-top:25px}.progress-track span,.mini-track span,.study-track span,.question-progress span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .6s cubic-bezier(.16,1,.3,1)}.progress-caption{display:flex;justify-content:space-between;margin-top:9px;color:#898d88;font:400 9px DM Mono,monospace;text-transform:uppercase}.level-source{display:block;margin-top:18px;color:#949792;font-size:8px;line-height:1.55}.rhythm-panel{min-height:310px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:34px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff6;box-shadow:inset 0 1px #ffffffa6}.rhythm-panel svg{margin:33px 0 7px;color:var(--accent)}.rhythm-panel>strong{font:500 46px DM Mono,monospace;letter-spacing:-.07em}.rhythm-panel>span:not(.section-label){color:var(--ink);font-size:12px;font-weight:700}.rhythm-panel small{margin-top:18px;color:var(--muted);font-size:9px;line-height:1.55}.metrics-row{display:grid;grid-template-columns:repeat(3,1fr);margin:17px 0 46px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.metric{min-height:110px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:20px 26px;border-right:1px solid var(--line)}.metric:last-child{border:0}.metric-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px}.metric-icon.green{color:var(--green);background:#dce9e5}.metric-icon.rust{color:var(--accent);background:#f1dfd8}.metric-icon.blue{color:var(--navy);background:#dfe7eb}.metric>div{display:grid}.metric strong{font:500 25px DM Mono,monospace;letter-spacing:-.05em}.metric span{color:var(--muted);font-size:10px}.metric small{color:#90948f;font:400 9px DM Mono,monospace}.lower-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.7fr);gap:50px}.section-title-row{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:10px}.section-title-row h3,.insight-panel h3{margin:8px 0 0;font-size:22px;letter-spacing:-.035em}.quiet-link{color:var(--muted);font-size:11px}.collection-list{border-top:1px solid var(--line)}.collection-row{width:100%;display:grid;grid-template-columns:auto minmax(150px,.65fr) minmax(100px,.55fr) auto;align-items:center;gap:18px;padding:16px 4px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer;transition:padding .25s ease,background .25s ease}.collection-row:hover{padding-inline:10px;background:#ffffff4d}.package-stamp{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:var(--pack-color);background:color-mix(in srgb,var(--pack-color) 15%,white);font:500 10px DM Mono,monospace}.collection-row>div:nth-child(2){display:grid;gap:5px}.collection-row strong{font-size:13px}.collection-row small{color:var(--muted);font-size:10px}.mini-track{width:100%}.insight-panel{padding-left:35px;border-left:1px solid var(--line)}.insight-icon{width:55px;height:55px;display:grid;place-items:center;margin:25px 0 29px;color:var(--green);border:1px solid #cddbd7;border-radius:50%;background:#e7eeeb}.insight-panel p{color:var(--muted);font-size:12px;line-height:1.7}.weak-word-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.weak-word-list span{padding:5px 8px;border-radius:99px;color:var(--accent-dark);background:#f2e1da;font-size:9px}.insight-panel .button{margin-top:18px;width:100%}.analytics-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,.75fr);gap:17px}.analytics-card{min-width:0;padding:29px;border:1px solid var(--line);border-radius:24px;background:#ffffff6b;box-shadow:inset 0 1px #ffffffb3}.analytics-card h3{margin:8px 0 25px;font-size:22px;letter-spacing:-.035em}.history-card,.collection-analytics{grid-column:1 / -1}.history-switch{display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:10px;background:#ebe9e2}.history-switch button{min-height:30px;padding:0 10px;border:0;border-radius:7px;color:var(--muted);background:transparent;font-size:9px;font-weight:700;cursor:pointer}.history-switch button.active{color:var(--ink);background:var(--white);box-shadow:0 4px 12px #2a302d14}.review-heatmap{display:grid;gap:9px}.review-heatmap.days-7{grid-template-columns:repeat(7,minmax(58px,1fr))}.review-heatmap.days-30{grid-template-columns:repeat(15,minmax(35px,1fr))}.heatmap-day{min-width:0;display:grid;grid-template-columns:1fr auto;gap:5px}.heatmap-day>span{grid-column:1 / -1;height:30px;border-radius:8px;background:color-mix(in srgb,var(--green) var(--review-strength),#e7e5dd)}.heatmap-day>span.unavailable{background:repeating-linear-gradient(135deg,#e3e0d8 0 3px,#eeece6 3px 6px)}.heatmap-day small,.heatmap-day strong,.heatmap-day em{overflow:hidden;color:var(--muted);font:400 8px DM Mono,monospace;text-overflow:ellipsis;white-space:nowrap}.heatmap-day strong{color:var(--ink);text-align:right}.heatmap-day em{grid-column:1 / -1;color:#7b817d;font-style:normal}.history-note,.analytics-footnote{margin:18px 0 0;color:var(--muted);font-size:9px;line-height:1.55}.forecast-list{display:grid;gap:12px}.forecast-list>div{display:grid;grid-template-columns:45px 1fr 24px;align-items:center;gap:10px;color:var(--muted);font-size:9px}.forecast-list strong{color:var(--ink);font:500 10px DM Mono,monospace;text-align:right}.forecast-track{height:7px;overflow:hidden;border-radius:99px;background:#e1dfd7}.forecast-track i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.analytics-weak-list{display:grid}.analytics-weak-list button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border:0;border-bottom:1px solid var(--line);color:var(--ink);background:transparent;text-align:left;cursor:pointer}.analytics-weak-list button:first-child{padding-top:0}.analytics-weak-list button:hover svg{transform:translate(3px)}.analytics-weak-list button>span{min-width:0;display:grid;gap:4px}.analytics-weak-list strong{overflow:hidden;font-size:12px;text-overflow:ellipsis}.analytics-weak-list small{color:var(--muted);font-size:8px}.analytics-weak-list svg{flex:0 0 auto;transition:transform .2s ease}.analytics-empty{min-height:135px;display:flex;align-items:center;gap:14px;color:var(--muted)}.analytics-empty div{display:grid;gap:5px}.analytics-empty strong{color:var(--ink);font-size:12px}.analytics-empty p{margin:0;font-size:9px;line-height:1.55}.test-trend{height:150px;display:flex;align-items:end;justify-content:space-around;gap:10px;padding:15px 4px 0;border-bottom:1px solid var(--line)}.test-trend>div{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px}.test-trend span{width:min(30px,70%);min-height:4px;border-radius:6px 6px 0 0;background:var(--green)}.test-trend strong{color:var(--muted);font:500 8px DM Mono,monospace}.test-trend-card .button{width:100%;margin-top:22px}.empty-state{min-height:105px;display:flex;align-items:center;gap:15px;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.empty-state>div{flex:1}.empty-state strong{font-size:13px}.empty-state p{margin:4px 0 0;color:var(--muted);font-size:11px}.library-page{padding-bottom:145px}.library-count{display:flex;align-items:flex-end;gap:12px;padding-right:20px}.library-heading-actions{display:flex;align-items:flex-end;gap:24px}.library-count strong{font:500 58px/.8 DM Mono,monospace;letter-spacing:-.1em}.library-count span{color:var(--muted);font:500 9px/1.5 DM Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.filter-bar{display:flex;gap:5px;padding-bottom:20px;border-bottom:1px solid var(--line)}.filter-bar button{padding:8px 14px;border:0;border-radius:99px;color:var(--muted);background:transparent;font-size:11px;font-weight:700;cursor:pointer}.filter-bar button.active{color:var(--white);background:var(--ink)}.package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.package-card{min-height:300px;display:flex;flex-direction:column;justify-content:space-between;padding:29px;border:1px solid var(--line);border-radius:25px;background:#ffffff6b;box-shadow:inset 0 1px #ffffffb3;transition:transform .35s cubic-bezier(.16,1,.3,1),background .35s ease,box-shadow .35s ease;position:relative;overflow:hidden}.package-card:before{content:"";position:absolute;width:170px;height:170px;top:-102px;right:-78px;border-radius:50%;background:var(--pack-color);opacity:.09}.package-card:hover{transform:translateY(-5px) rotate(-.2deg);background:#ffffffbf;box-shadow:0 24px 50px -38px color-mix(in srgb,var(--pack-color) 50%,transparent)}.package-card-top,.package-card-foot{display:flex;align-items:center;justify-content:space-between}.package-index{color:#aaa9a1;font:400 9px DM Mono,monospace}.package-level{min-width:43px;padding:7px 10px;border-radius:99px;color:var(--pack-color);background:color-mix(in srgb,var(--pack-color) 12%,white);font:500 9px DM Mono,monospace;text-align:center}.package-card h2{margin:12px 0 10px;font-size:29px;letter-spacing:-.045em}.package-card p{max-width:410px;margin:0;color:var(--muted);font-size:12px;line-height:1.7}.collection-view-button{display:inline-flex;align-items:center;gap:7px;margin-top:18px;padding:0;border:0;color:#5e6964;background:transparent;font-size:9px;font-weight:700;cursor:pointer}.collection-view-button svg:last-child{transition:transform .25s ease}.collection-view-button:hover{color:var(--ink)}.collection-view-button:hover svg:last-child{transform:translate(3px)}.package-card-foot{padding-top:21px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.package-actions{display:flex;align-items:center;gap:7px}.add-words-button{min-height:35px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid #d4d4cd;border-radius:11px;color:#59635f;background:#ffffff94;font-size:9px;font-weight:700;cursor:pointer;transition:transform .2s ease,background .2s ease}.add-words-button:hover{transform:translateY(-2px);color:var(--ink);background:var(--white)}.practice-pack-button{min-height:35px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid #c3d4ce;border-radius:11px;color:var(--green);background:#e6efec;font-size:9px;font-weight:700;cursor:pointer;transition:transform .2s ease,background .2s ease}.practice-pack-button:hover{transform:translateY(-2px);background:#dceae5}.delete-pack{min-height:35px;min-width:35px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 9px;border:1px solid #e0d0c9;border-radius:11px;color:#a4553e;background:#f7ebe6;cursor:pointer;transition:transform .2s ease,background .2s ease}.delete-pack:hover{transform:translateY(-2px);background:#f1ddd5}.delete-pack.confirm{color:#fffaf5;background:#a94b32;border-color:#a94b32}.delete-pack span{font-size:9px;font-weight:700}.add-button{min-width:80px;min-height:35px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #d4d4cd;border-radius:11px;color:var(--ink);background:var(--white);font-size:10px;font-weight:700;cursor:pointer;transition:transform .2s ease,background .2s ease}.add-button:hover{transform:translateY(-2px)}.add-button.added{color:var(--green);background:#e8efec;border-color:#ccdbd5}.floating-action{position:fixed;left:calc(248px + (100vw - 248px)/2);bottom:24px;transform:translate(-50%);min-width:min(580px,calc(100vw - 300px));display:flex;align-items:center;justify-content:space-between;gap:30px;padding:11px 12px 11px 22px;border:1px solid rgba(255,255,255,.13);border-radius:17px;color:#f8f5ef;background:#2a312ef0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 50px -24px #171d1abf,inset 0 1px #ffffff14;animation:float-in .5s cubic-bezier(.16,1,.3,1)}@keyframes float-in{0%{opacity:0;transform:translate(-50%,16px)}}.floating-action span{color:#aeb4af;font-size:11px}.floating-action strong{color:#fff}.floating-action .button{background:var(--accent)}.floating-action .button:hover{background:#c55334}.library-empty{min-height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-bottom:1px solid var(--line)}.library-empty>svg{color:var(--green)}.library-empty h2{margin:18px 0 7px;font-size:25px;letter-spacing:-.04em}.library-empty p{max-width:420px;margin:0 0 21px;color:var(--muted);font-size:12px;line-height:1.7}.import-undo-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:13px 15px;border:1px solid #c4d8d0;border-radius:14px;color:#42675c;background:#e5efeb;font-size:10px}.import-undo-banner>span{display:flex;align-items:center;gap:7px}.import-undo-banner strong{color:#2f554a}.import-undo-banner button{min-height:34px;flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:0 11px;border:1px solid #b7cec5;border-radius:10px;color:#31594e;background:#fff9;font-size:9px;font-weight:700;cursor:pointer}.modal-layer{position:fixed;inset:0;z-index:6;display:grid;place-items:center;padding:24px;background:#21272480;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:modal-fade .25s ease}@keyframes modal-fade{0%{opacity:0}}.collection-modal{width:min(840px,100%);max-height:calc(100dvh - 48px);overflow:auto;border:1px solid rgba(255,255,255,.48);border-radius:28px;background:#f8f6f0;box-shadow:0 35px 90px -30px #1e2220a6,inset 0 1px #ffffffe6;animation:modal-rise .45s cubic-bezier(.16,1,.3,1)}@keyframes modal-rise{0%{opacity:0;transform:translateY(18px) scale(.98)}}.modal-header{position:sticky;top:0;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:30px 34px 26px;border-bottom:1px solid var(--line);background:#f8f6f0f0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.modal-header h2{margin:9px 0 7px;font-size:34px;letter-spacing:-.05em}.modal-header p{max-width:560px;margin:0;color:var(--muted);font-size:11px;line-height:1.6}.modal-close{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:#ffffff8c;cursor:pointer}.creation-tabs{overflow-x:auto;display:flex;gap:5px;margin:22px 34px 0;padding:4px;border:1px solid var(--line);border-radius:14px;background:#eeece5}.creation-tabs button{min-width:112px;min-height:39px;display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:1;border:0;border-radius:10px;color:var(--muted);background:transparent;font-size:10px;font-weight:700;white-space:nowrap;cursor:pointer;transition:color .25s ease,background .25s ease,box-shadow .25s ease,transform .2s ease}.creation-tabs button:active{transform:scale(.98)}.creation-tabs button.active{color:var(--ink);background:var(--white);box-shadow:0 8px 20px -17px #262c2ab3,inset 0 1px #fffc}.target-collection-strip{display:flex;align-items:center;gap:12px;margin:14px 34px 0;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#ffffff5c}.target-collection-strip>div{display:grid;gap:3px}.target-collection-strip strong{font-size:11px}.target-collection-strip small{color:var(--muted);font-size:9px}.collection-modal form{padding:30px 34px 34px}.collection-details{display:grid;grid-template-columns:1fr 150px;gap:15px;padding-bottom:30px;border-bottom:1px solid var(--line)}.field-block{display:grid;gap:8px}.field-block.wide{grid-column:1 / -1}.field-block>span{display:flex;justify-content:space-between;color:#555c58;font-size:10px;font-weight:700}.field-block small{color:#9a9d98;font:400 8px DM Mono,monospace;text-transform:uppercase}.field-block input,.field-block select,.field-block textarea{width:100%;min-height:45px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--white);resize:vertical;transition:border .2s ease,box-shadow .2s ease}.field-block input::placeholder,.field-block textarea::placeholder{color:#aaa9a3}.field-block input:focus,.field-block select:focus,.field-block textarea:focus{border-color:#9baaa4;box-shadow:inset 0 0 0 1px #9baaa4;outline:0}.word-editor-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:29px 0 15px}.word-editor-heading h3{margin:8px 0 0;font-size:21px;letter-spacing:-.035em}.word-editor-heading>span{color:var(--muted);font:400 9px DM Mono,monospace}.word-editor-heading.starts-editor{margin-top:0}.word-editor-list{display:grid;gap:11px}.word-editor-row{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:0;padding:18px;border:1px solid var(--line);border-radius:18px;background:#ffffff5c;position:relative}.word-editor-row legend{padding:0 8px;color:#979a94;font:500 8px DM Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.word-field-with-ai{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.word-ai-fill{min-height:45px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 11px;border:1px solid #c9d5d0;border-radius:12px;color:#3f655b;background:#e8efec;font-size:9px;font-weight:700;white-space:nowrap;cursor:pointer;transition:color .2s ease,background .2s ease,transform .2s ease}.word-ai-fill:hover:not(:disabled){color:#294f45;background:#dce9e4;transform:translateY(-1px)}.word-ai-message{grid-column:1 / -1;display:flex;align-items:center;gap:7px;margin:-2px 0 0;padding:9px 11px;border-radius:10px;font-size:9px;line-height:1.5}.word-ai-message.error{color:#8c4f3d;background:#f5e7e1}.word-ai-message.success{color:#356c5f;background:#e5efeb}.remove-word{position:absolute;top:-13px;right:13px;width:28px;height:28px;display:grid;place-items:center;border:1px solid #e0d1ca;border-radius:9px;color:#a4553e;background:#f8ece7;cursor:pointer}.add-word-row{width:100%;min-height:46px;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;border:1px dashed #c9c9c0;border-radius:13px;color:var(--muted);background:transparent;font-size:10px;font-weight:700;cursor:pointer;transition:background .2s ease,color .2s ease}.add-word-row:hover{color:var(--ink);background:#ffffff73}.form-error{margin:13px 0 0;padding:10px 12px;border-left:2px solid var(--accent);color:var(--accent-dark);background:#f3e4de;font-size:10px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}.duplicate-warning{width:min(570px,100%);max-height:calc(100dvh - 48px);overflow:auto;padding:31px;border:1px solid rgba(255,255,255,.5);border-radius:25px;background:#f8f6f0;box-shadow:0 35px 90px -30px #1e2220a6,inset 0 1px #ffffffe6;animation:modal-rise .35s cubic-bezier(.16,1,.3,1)}.duplicate-warning-icon{width:46px;height:46px;display:grid;place-items:center;margin-bottom:24px;border:1px solid #dfc7a5;border-radius:14px;color:#8c602f;background:#f3e8d7;box-shadow:inset 0 1px #ffffffbf}.duplicate-warning h2{max-width:430px;margin:9px 0 10px;font-size:30px;line-height:1.08;letter-spacing:-.045em}.duplicate-warning>p{max-width:490px;margin:0;color:var(--muted);font-size:11px;line-height:1.65}.duplicate-warning>p strong{color:var(--ink)}.duplicate-warning-list{max-height:240px;overflow:auto;display:grid;gap:0;margin:24px 0 0;padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);list-style:none}.duplicate-warning-list li{min-height:53px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:10px 3px;border-bottom:1px solid var(--line)}.duplicate-warning-list li:last-child{border-bottom:0}.duplicate-warning-list span{min-width:0;overflow:hidden;color:var(--ink);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.duplicate-warning-list small{margin-left:8px;padding:2px 5px;border-radius:5px;color:#7a5a35;background:#eee2d1;font:500 8px DM Mono,monospace}.duplicate-warning-list em{color:#8a8e88;font:400 8px DM Mono,monospace;font-style:normal;text-transform:uppercase}.duplicate-warning .duplicate-warning-empty{margin-top:15px;padding:11px 13px;border-left:2px solid #ad7840;color:#76542f;background:#f1e5d4}.duplicate-warning-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}.import-success{display:flex;align-items:center;gap:10px;margin-bottom:20px;padding:13px 15px;border:1px solid #c9dcd5;border-radius:13px;color:#356c5f;background:#e5efeb;font-size:10px;line-height:1.5}.gemini-import-panel{padding:10px 34px 34px}.gemini-step{display:grid;grid-template-columns:46px minmax(0,1fr);gap:8px;padding:28px 0;border-bottom:1px solid var(--line)}.gemini-step:last-child{border-bottom:0;padding-bottom:0}.step-number{color:#a3a59f;font:500 9px DM Mono,monospace}.gemini-step-content h3{margin:8px 0 17px;font-size:20px;letter-spacing:-.035em}.prompt-controls{display:grid;grid-template-columns:1fr 150px 150px;gap:11px}.prompt-controls .wide{grid-column:auto}.step-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}.step-title-row h3{margin-bottom:0}.copy-prompt{min-height:36px;flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border:1px solid #d2d2ca;border-radius:10px;color:var(--ink);background:var(--white);font-size:9px;font-weight:700;cursor:pointer;transition:transform .2s ease,background .2s ease}.copy-prompt:hover{transform:translateY(-2px)}.copy-prompt.copied{color:var(--green);border-color:#bfd3cc;background:#e5efeb}.prompt-preview{width:100%;height:220px;padding:16px;border:1px solid #d8d6ce;border-radius:14px;color:#4e5652;background:#eeece5;font:400 10px/1.65 DM Mono,monospace;resize:vertical}.step-help{margin:8px 0 0;color:#8f928c;font-size:9px;line-height:1.6}.response-input{min-height:180px!important;font:400 10px/1.6 DM Mono,monospace}.import-button{margin-top:14px;margin-left:auto}.ai-generation-panel .gemini-step:last-child{padding-bottom:8px}.ai-generation-error{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:13px 14px;border:1px solid #e3c9bd;border-radius:13px;color:#8c4f3d;background:#f5e7e1}.ai-generation-error svg{flex:0 0 auto}.ai-generation-error strong{display:block;margin-bottom:3px;font-size:10px}.ai-generation-error p{margin:0;font-size:9px;line-height:1.55}.ai-generation-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.generation-provenance{display:flex;align-items:center;gap:8px;margin:-8px 0 23px;padding:0 3px;color:#68736e;font-size:9px}.generation-provenance svg{color:#6d756f}.generation-provenance small{margin-left:auto;color:#969b97;font:400 8px DM Mono,monospace}.ai-duplicate-marker{display:inline-flex;margin-left:7px;padding:3px 6px;border-radius:6px;color:#895435;background:#f1dfd0;font:500 7px DM Mono,monospace;letter-spacing:0;text-transform:uppercase}.spin{animation:ai-spin .8s linear infinite}@keyframes ai-spin{to{transform:rotate(360deg)}}.single-json-panel{padding:30px 34px 34px}.single-json-intro{max-width:570px;margin-bottom:22px}.single-json-intro h3{margin:8px 0;font-size:22px;letter-spacing:-.04em}.single-json-intro p{margin:0;color:var(--muted);font-size:10px;line-height:1.6}.single-json-intro strong{color:var(--ink)}.transfer-modal{width:min(960px,100%)}.transfer-tabs{overflow-x:auto}.transfer-tabs button{min-width:130px;white-space:nowrap}.transfer-content{padding:28px 34px 34px}.transfer-pane{display:grid;gap:20px}.transfer-intro{display:flex;align-items:flex-start;gap:14px}.transfer-intro>svg{flex:0 0 auto;margin-top:2px;color:var(--green)}.transfer-intro h3{margin:0 0 5px;font-size:21px;letter-spacing:-.035em}.transfer-intro p{max-width:650px;margin:0;color:var(--muted);font-size:10px;line-height:1.6}.file-drop{min-height:90px;display:flex;align-items:center;gap:14px;padding:18px;border:1px dashed #bfc6c1;border-radius:16px;color:#53615b;background:#ffffff57;cursor:pointer}.file-drop:hover{border-color:#899b94;background:#fff9}.file-drop>span{display:grid;gap:4px}.file-drop strong{color:var(--ink);font-size:11px}.file-drop small{color:var(--muted);font-size:9px}.file-drop input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.mapping-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding-top:20px;border-top:1px solid var(--line)}.destination-controls{display:grid;grid-template-columns:minmax(220px,.6fr) 1fr;align-items:end;gap:16px}.destination-controls.compact{grid-template-columns:minmax(250px,430px)}.check-row{min-height:45px;display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;color:#5d6561;background:#ffffff61;font-size:9px;line-height:1.5;cursor:pointer}.check-row input{width:16px;height:16px;flex:0 0 auto;accent-color:var(--green)}.check-row span{display:grid;gap:3px}.check-row small{color:var(--muted);font-size:8px}.transfer-summary{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#ffffff6b}.transfer-summary span{display:grid;gap:3px;padding:14px;border-right:1px solid var(--line);color:var(--muted);font:500 8px DM Mono,monospace;text-transform:uppercase}.transfer-summary span:last-child{border-right:0}.transfer-summary strong{color:var(--ink);font-size:17px}.preview-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.preview-columns>div{max-height:230px;overflow:auto;display:grid;align-content:start;padding:15px;border:1px solid var(--line);border-radius:14px;background:#ffffff4d}.preview-columns h4{margin:0 0 9px;font-size:11px}.preview-columns span{min-width:0;display:flex;align-items:flex-start;gap:7px;padding:7px 0;border-top:1px solid var(--line);color:var(--muted);font-size:9px;line-height:1.45}.preview-columns span svg{flex:0 0 auto;color:var(--green)}.preview-columns>div:last-child span svg{color:#9b6539}.json-preview-list{display:grid;gap:0;border-top:1px solid var(--line)}.json-preview-list span{display:flex;justify-content:space-between;gap:12px;padding:13px 2px;border-bottom:1px solid var(--line)}.json-preview-list strong{font-size:11px}.json-preview-list small{color:var(--muted);font:400 9px DM Mono,monospace}.capture-text{min-height:150px!important}.capture-button{justify-self:start}.candidate-list{max-height:460px;overflow:auto;display:grid;gap:10px;padding-right:4px}.candidate{display:grid;grid-template-columns:minmax(120px,.55fr) 1.45fr;gap:11px;margin:0;padding:15px;border:1px solid var(--line);border-radius:15px;background:#ffffff40;opacity:.62}.candidate.selected{border-color:#b7ccc4;background:#ffffff8c;opacity:1}.candidate legend{padding:0 7px;color:var(--muted);font-size:9px;font-weight:700}.candidate legend label{display:flex;align-items:center;gap:6px;cursor:pointer}.candidate legend input{accent-color:var(--green)}.candidate textarea{min-height:68px!important}.export-progress{max-width:520px}.export-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.export-options button{min-height:105px;display:flex;align-items:flex-start;gap:14px;padding:19px;border:1px solid var(--line);border-radius:17px;color:var(--ink);background:#ffffff6b;text-align:left;cursor:pointer;transition:transform .2s ease,background .2s ease}.export-options button:hover{transform:translateY(-2px);background:var(--white)}.export-options button>svg{flex:0 0 auto;color:var(--green)}.export-options button span{display:grid;gap:6px}.export-options button strong{font-size:12px}.export-options button small{color:var(--muted);font-size:9px;line-height:1.5}.transfer-error{margin-top:20px}.single-json-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:14px}.json-example-block,.single-json-entry{padding:18px;border:1px solid var(--line);border-radius:17px;background:#ffffff57}.json-example-block .step-title-row{align-items:center;margin-bottom:12px}.json-example-block h4{margin:6px 0 0;font-size:14px;letter-spacing:-.025em}.single-json-example{width:100%;min-height:210px;padding:14px;border:1px solid #d8d6ce;border-radius:12px;color:#4e5652;background:#eeece5;font:400 9px/1.65 DM Mono,monospace;resize:none}.single-json-entry .response-input{min-height:210px!important}.single-json-entry code{padding:1px 4px;border-radius:4px;color:#59635f;background:#e8e7e0;font:400 8px DM Mono,monospace}.single-json-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.word-list-modal{width:min(900px,100%);display:flex;flex-direction:column;overflow:hidden}.word-list-header{position:relative;flex:0 0 auto}.word-list-identity{display:flex;align-items:flex-start;gap:15px}.word-list-identity .package-stamp{width:48px;height:48px;flex:0 0 auto}.word-list-identity h2{margin-top:7px}.word-list-header-actions{display:flex;align-items:center;gap:9px}.word-list-tools{flex:0 0 auto;display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:center;gap:25px;padding:18px 34px;border-bottom:1px solid var(--line)}.word-search{min-height:44px;display:flex;align-items:center;gap:9px;padding:0 13px;border:1px solid var(--line);border-radius:12px;color:#8b8f89;background:var(--white)}.word-search input{width:100%;border:0;outline:0;color:var(--ink);background:transparent;font-size:11px}.word-search input::placeholder{color:#a2a39d}.word-list-stats{display:flex;gap:20px}.word-list-stats span{display:grid;gap:2px;color:var(--muted);font:400 8px DM Mono,monospace;text-transform:uppercase}.word-list-stats strong{color:var(--ink);font-size:13px}.bulk-management{display:flex;align-items:center;gap:9px;padding:11px 34px;border-bottom:1px solid #cbd9d4;color:#48665c;background:#e5eeeb;font-size:9px}.bulk-management>strong{margin-right:auto;color:var(--ink);font-size:10px}.bulk-management label{display:flex;align-items:center;gap:7px}.bulk-management label>span{font:500 8px DM Mono,monospace;text-transform:uppercase}.bulk-management select,.bulk-management button{min-height:32px;padding:0 9px;border:1px solid #bfd0ca;border-radius:9px;color:var(--ink);background:#ffffffb3;font-size:9px;font-weight:700;cursor:pointer}.bulk-management button{display:inline-flex;align-items:center;gap:5px}.management-message{margin:0;padding:9px 34px;border-bottom:1px solid #e0cfc7;color:var(--accent-dark);background:#f4e7e2;font-size:9px;line-height:1.5}.word-list-column-labels{display:grid;grid-template-columns:34px 48px minmax(180px,1fr) 90px 20px;gap:12px;padding:12px 34px 9px;color:#a0a29c;font:500 8px DM Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.word-list-rows{min-height:260px;overflow:auto;padding:0 34px 15px}.managed-word-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;border-top:1px solid var(--line)}.managed-word-row:last-child{border-bottom:1px solid var(--line)}.word-select-cell{display:grid;place-items:start center;padding-top:24px;color:#a0a39d}.word-select-cell input{width:16px;height:16px;margin:0;accent-color:var(--green);cursor:pointer}.word-list-row{min-width:0}.word-list-row summary{min-height:64px;display:grid;grid-template-columns:48px minmax(180px,1fr) 90px 20px;align-items:center;gap:12px;list-style:none;cursor:pointer;transition:background .2s ease,padding .2s ease}.word-list-row summary::-webkit-details-marker{display:none}.word-list-row summary:hover{padding-inline:7px;background:#ffffff61}.word-list-index{color:#a2a39d;font:400 9px DM Mono,monospace}.word-list-word{display:grid;gap:3px}.word-list-word strong{font-size:14px;letter-spacing:-.02em}.word-list-word small{color:var(--muted);font:400 9px DM Mono,monospace}.word-status{width:fit-content;padding:5px 8px;border-radius:99px;font:500 8px DM Mono,monospace;text-transform:uppercase}.word-status.new{color:#707670;background:#e8e7e0}.word-status.learning{color:#a34d32;background:#f1dfd8}.word-status.mastered{color:#3e776b;background:#dfeae6}.row-caret{color:#999c96;transition:transform .25s ease}.word-list-row[open] .row-caret{transform:rotate(180deg)}.word-list-detail{display:grid;grid-template-columns:1fr 1fr auto;gap:24px;padding:3px 32px 21px 60px;animation:reveal .3s ease forwards}.word-list-detail>div>span{color:#969992;font:500 8px DM Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.word-list-detail p{margin:7px 0 0;color:#555d59;font-size:11px;line-height:1.65}.word-list-detail button{align-self:end;display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:#ffffff8c;font-size:8px;font-weight:700;cursor:pointer}.word-list-detail button:disabled{opacity:.35}.word-row-actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:5px;flex-wrap:wrap}.read-only-label{width:100%;display:inline-flex;align-items:center;justify-content:flex-end;gap:5px}.word-list-empty{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);text-align:center}.word-list-empty strong{margin-top:12px;color:var(--ink);font-size:12px}.word-list-empty p{margin:5px 0 0;font-size:10px}.word-list-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 34px;border-top:1px solid var(--line);background:#f8f6f0f5}.word-list-range{color:var(--muted);font:400 8px DM Mono,monospace;text-transform:uppercase}.word-list-pagination{display:flex;align-items:center;gap:8px}.word-list-pagination span{color:var(--muted);font:400 8px DM Mono,monospace;text-transform:uppercase}.word-list-pagination button{min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:#ffffffa6;font-size:8px;font-weight:700;cursor:pointer}.word-list-pagination button:disabled{opacity:.35;cursor:default}.word-list-footer-actions{display:flex;gap:8px}.management-modal{width:min(720px,100%)}.card-management-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.collection-color-input{padding:5px!important;cursor:pointer}.rename-warning{margin:15px 0 0;padding:12px 14px;border:1px solid #dfc7a5;border-radius:12px;color:#76542f;background:#f3e8d7;font-size:10px;line-height:1.6}.management-actions{display:grid;grid-template-columns:auto 1fr auto auto}.button.danger{color:#9d4932;border-color:#dfc7bd;background:#f6e8e3}.button.danger.confirm{color:#fff;border-color:#a64e37;background:#a64e37}.changelog-page{max-width:1120px}.changelog-heading{align-items:flex-start}.changelog-heading-mark{width:70px;height:70px;display:grid;place-items:center;flex:0 0 auto;margin-top:9px;border:1px solid #cfdcd7;border-radius:22px;color:var(--green);background:#e5edea;transform:rotate(4deg)}.release-list{border-bottom:1px solid var(--line)}.release{display:grid;grid-template-columns:190px minmax(0,1fr);gap:clamp(35px,7vw,90px);padding:42px 0 50px;border-top:1px solid var(--line)}.release-meta{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.version-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #d5d7d0;border-radius:99px;color:var(--ink);background:#ffffff7a;font:500 10px DM Mono,monospace}.release-meta time{color:var(--muted);font:400 9px DM Mono,monospace}.release-meta small{padding-left:10px;border-left:2px solid var(--accent);color:var(--accent-dark);font-size:9px;font-weight:700}.release-notes h2{margin:-7px 0 28px;font-size:clamp(27px,4vw,38px);letter-spacing:-.05em}.release-notes section+section{margin-top:27px}.release-notes h3,.whats-new-notes h3{margin:0 0 11px;color:#7e837f;font:500 9px DM Mono,monospace;letter-spacing:.12em;text-transform:uppercase}.release-notes ul,.whats-new-notes ul{display:grid;gap:11px;margin:0;padding:0;list-style:none}.release-notes li,.whats-new-notes li{position:relative;padding-left:20px;color:#4f5652;font-size:13px;line-height:1.7}.release-notes li:before,.whats-new-notes li:before{content:"";position:absolute;top:.7em;left:1px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.whats-new-layer{z-index:8}.whats-new-modal{position:relative;width:min(610px,100%);max-height:calc(100dvh - 48px);overflow:auto;padding:38px;border:1px solid rgba(255,255,255,.48);border-radius:28px;background:#f8f6f0;box-shadow:0 35px 90px -30px #1e2220a6,inset 0 1px #ffffffe6;animation:modal-rise .45s cubic-bezier(.16,1,.3,1)}.whats-new-accent{width:49px;height:49px;display:grid;place-items:center;margin-bottom:30px;border:1px solid #e1c8bc;border-radius:15px;color:var(--accent);background:#f1e1da;transform:rotate(-5deg)}.whats-new-close{position:absolute;top:24px;right:24px}.whats-new-modal h2{max-width:450px;margin:11px 0 27px;font-size:clamp(32px,5vw,46px);line-height:1.04;letter-spacing:-.055em}.whats-new-notes{display:grid;gap:25px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.whats-new-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:25px}.study-page{max-width:1120px}.study-header{display:flex;align-items:flex-end;justify-content:space-between}.study-header h1{margin:8px 0 0;font-size:27px;letter-spacing:-.04em}.session-count{display:flex;align-items:baseline;gap:5px;font-family:DM Mono,monospace}.session-count strong{font-size:24px}.session-count span{color:var(--muted);font-size:12px}.study-track{margin:21px 0 45px;height:3px}.study-stage{max-width:800px;margin:0 auto;perspective:1600px}.session-setup-page{max-width:1120px}.session-setup-heading{max-width:760px;margin-bottom:45px}.session-setup-heading h1{margin:13px 0 17px;font-size:clamp(40px,5.5vw,66px);line-height:1;letter-spacing:-.065em}.session-setup-heading p{max-width:620px;margin:0;color:var(--muted);line-height:1.7}.session-planner{border-top:1px solid var(--line)}.planner-block{display:grid;grid-template-columns:60px 1fr;gap:20px;padding:30px 0;border-bottom:1px solid var(--line)}.planner-block h2{margin:0 0 19px;font-size:20px;letter-spacing:-.035em}.session-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.session-presets button{min-height:82px;display:grid;align-content:center;gap:5px;padding:15px;border:1px solid var(--line);border-radius:17px;background:#fff6;text-align:left;cursor:pointer;transition:transform .25s ease,background .25s ease,border .25s ease}.session-presets button:hover{transform:translateY(-2px);background:#ffffffbf}.session-presets button.active{color:var(--white);border-color:var(--ink);background:var(--ink)}.session-presets strong{font:500 18px DM Mono,monospace}.session-presets span{color:var(--muted);font-size:9px}.session-presets button.active span{color:#b9c0bc}.practice-mode-options{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.practice-mode-options button{min-height:96px;display:grid;align-content:center;gap:7px;padding:14px;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:#fff6;text-align:left;cursor:pointer}.practice-mode-options button:hover:not(:disabled){border-color:#b9bab3;background:#ffffffc7}.practice-mode-options button.active{color:var(--white);border-color:var(--ink);background:var(--ink)}.practice-mode-options button:disabled{cursor:not-allowed;opacity:.48}.practice-mode-options strong{font-size:10px;line-height:1.35}.practice-mode-options span{color:var(--muted);font-size:9px;line-height:1.45}.practice-mode-options button.active span{color:#b9c0bc}.format-explanation{margin:13px 0 0;color:var(--muted);font-size:9px;line-height:1.55}.new-word-setting{display:flex;align-items:end;justify-content:space-between;gap:35px}.new-word-setting h2{margin-bottom:8px}.new-word-setting p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.new-word-setting label{display:grid;gap:7px;color:var(--muted);font-size:9px}.new-word-setting input{width:130px;min-height:46px;padding:0 14px;border:1px solid var(--line);border-radius:13px;color:var(--ink);background:var(--white)}.queue-preview{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:38px;margin-top:28px;padding:27px 30px;border:1px solid var(--line);border-radius:22px;background:#ffffff7a;box-shadow:inset 0 1px #ffffffbf}.queue-preview h2{margin:7px 0 0;font-size:24px;letter-spacing:-.04em}.queue-preview dl{display:flex;gap:26px;margin:0}.queue-preview dl>div{display:grid;gap:3px;padding-left:18px;border-left:1px solid var(--line)}.queue-preview dt{color:var(--muted);font-size:9px}.queue-preview dd{order:-1;margin:0;font:500 22px DM Mono,monospace}.queue-preview dd.format-value{max-width:118px;font:600 10px Manrope,sans-serif;line-height:1.35}.caught-up-state small{color:var(--muted);font-size:9px}.caught-up-actions{display:flex;gap:10px;margin-bottom:14px}.flashcard{width:100%;height:430px;padding:0;border:0;background:transparent;cursor:pointer;perspective:1600px}.flashcard-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.2,.8,.2,1)}.flashcard.is-flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:45px;border:1px solid #dddbd2;border-radius:34px;backface-visibility:hidden;box-shadow:0 30px 75px -48px #342c246b,inset 0 1px #ffffffd9;overflow:hidden}.flashcard-front{background:var(--white)}.flashcard-front:before,.flashcard-front:after{content:"";position:absolute;border-radius:50%;border:1px solid #eeeae1}.flashcard-front:before{width:430px;height:430px;top:-305px;right:-180px}.flashcard-front:after{width:250px;height:250px;bottom:-200px;left:-100px}.card-kicker{color:#949791;font:500 10px DM Mono,monospace;letter-spacing:.09em;text-transform:uppercase}.word-wrap{min-width:0;display:flex;align-items:center;gap:15px;margin:24px 0 60px}.word-wrap h2{min-width:0;flex:1;margin:0;overflow-wrap:anywhere;font-size:clamp(48px,7vw,76px);line-height:1;letter-spacing:-.07em;font-weight:600}.sound-button{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--muted);background:transparent;cursor:pointer}.sound-button:hover{color:var(--accent);background:#f6eee8}.tap-hint{display:flex;align-items:center;gap:8px;color:#9a9d97;font-size:10px}.card-number{position:absolute;right:28px;bottom:25px;color:#b5b4ad;font:400 9px DM Mono,monospace}.flashcard-back{align-items:stretch;justify-content:space-between;text-align:left;background:#2e3633;color:#faf7f0;transform:rotateY(180deg)}.back-top{display:flex;justify-content:space-between;color:#afb6b1;font:400 10px DM Mono,monospace}.back-top .card-kicker{color:#f4a183}.definition-block span,.example-block span{display:block;margin-bottom:10px;color:#8f9993;font:500 9px DM Mono,monospace;letter-spacing:.11em;text-transform:uppercase}.definition-block h2{max-width:650px;margin:0;font-size:clamp(27px,4vw,43px);line-height:1.18;letter-spacing:-.045em}.example-block{padding:18px 20px;border-left:2px solid var(--accent);background:#ffffff09}.example-block p{margin:0;color:#c8cfca;font-size:13px;line-height:1.65}.flashcard-back .tap-hint{color:#8f9893}.practice-prompt{min-height:430px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:30px;padding:48px;border:1px solid #dddbd2;border-radius:34px;background:var(--white);box-shadow:0 30px 75px -48px #342c246b,inset 0 1px #ffffffd9}.practice-prompt>.card-kicker{text-align:center}.practice-prompt>h2{max-width:680px;margin:0 auto;font-size:clamp(28px,4.5vw,46px);line-height:1.2;letter-spacing:-.045em;text-align:center}.practice-answer{display:grid;gap:9px}.practice-answer label{color:var(--muted);font:500 9px DM Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.practice-answer>div{display:grid;grid-template-columns:1fr auto;gap:10px}.practice-answer input{min-width:0;min-height:52px;padding:0 17px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:#fbfaf6;font-size:17px}.listen-button{width:min(260px,100%);min-height:125px;display:grid;place-items:center;gap:10px;margin:0 auto;padding:22px;border:1px solid #d7d9d2;border-radius:26px;color:var(--green);background:#edf2ef;cursor:pointer}.listen-button span{color:var(--ink);font-size:10px;font-weight:700}.practice-feedback{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:7px 12px;padding:16px 18px;border-radius:15px;font-size:11px}.practice-feedback.correct{color:#285d52;background:#e4efeb}.practice-feedback.incorrect{color:#8a432d;background:#f3e4dd}.practice-feedback small{grid-column:1 / -1;opacity:.78;line-height:1.55}.undo-review{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:15px;padding:7px 8px 7px 14px;border:1px solid #d7d6cf;border-radius:13px;color:var(--muted);background:#ffffff6b;font-size:9px}.undo-review strong{color:var(--ink);text-transform:capitalize}.undo-review button{min-height:28px;display:inline-flex;align-items:center;gap:6px;padding:0 9px;border:0;border-radius:8px;color:var(--ink);background:var(--white);font-size:9px;font-weight:700;cursor:pointer}.assessment{opacity:.25;margin-top:27px;text-align:center;pointer-events:none;transition:opacity .4s ease,transform .4s ease;transform:translateY(8px)}.assessment.visible{opacity:1;transform:none;pointer-events:auto}.assessment>p{margin:0 0 13px;color:var(--muted);font-size:10px}.assessment>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rating-button{min-height:68px;display:flex;align-items:center;gap:13px;padding:12px 18px;border:1px solid var(--line);border-radius:16px;background:#ffffff73;text-align:left;cursor:pointer;transition:background .25s ease,transform .25s ease}.rating-button:hover{transform:translateY(-2px);background:var(--white)}.rating-button>svg{width:30px;height:30px;padding:7px;border-radius:50%}.rating-button.again>svg{color:var(--accent);background:#f2ded7}.rating-button.hard>svg{color:#97672c;background:#f1e7d7}.rating-button.good>svg{color:var(--navy);background:#e1e9ee}.rating-button.easy>svg{color:var(--green);background:#dfeae6}.rating-button span{display:grid;flex:1;gap:3px}.rating-button strong{font-size:11px}.rating-button small{color:var(--muted);font-size:9px}.rating-button kbd{width:22px;height:22px;display:grid;place-items:center;border:1px solid #d9d8d1;border-radius:6px;color:#8c918d;background:#ffffffb3;box-shadow:0 1px #cfcec6;font:500 8px DM Mono,monospace}.sort-page{max-width:1160px;overflow:hidden}.sort-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:36px}.sort-heading h1{margin:10px 0 8px;font-size:clamp(34px,4.8vw,58px);line-height:1;letter-spacing:-.06em}.sort-heading p{margin:0;color:var(--muted);font-size:11px;line-height:1.65}.sort-count{display:grid;justify-items:end;flex:0 0 auto}.sort-count strong{font:500 34px DM Mono,monospace;letter-spacing:-.06em}.sort-count span{color:var(--muted);font:500 9px DM Mono,monospace;letter-spacing:.09em;text-transform:uppercase}.sort-track{height:3px;margin:25px 0 31px;overflow:hidden;border-radius:99px;background:#deddd5}.sort-track span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .45s cubic-bezier(.16,1,.3,1)}.sort-workspace{display:grid;grid-template-columns:minmax(112px,1fr) minmax(390px,620px) minmax(112px,1fr);align-items:center;gap:27px}.sort-stack{height:442px;position:relative;perspective:1400px}.sort-card{position:absolute;inset:0;border:1px solid #d8d6cd;border-radius:31px;background:var(--white);box-shadow:0 32px 70px -45px #342c2480,inset 0 1px #ffffffdb}.sort-card-underlay{pointer-events:none}.sort-card-underlay.layer-1{transform:translateY(17px) scale(.94) rotate(1.4deg);background:#e7e5dd}.sort-card-underlay.layer-2{transform:translateY(9px) scale(.97) rotate(-.8deg);background:#f1efe8}.sort-card-active{--swipe-x: 0px;--swipe-rotate: 0deg;--left-strength: 0;--right-strength: 0;display:flex;flex-direction:column;justify-content:space-between;padding:31px 34px 28px;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;transform:translate3d(var(--swipe-x),0,0) rotate(var(--swipe-rotate));transition:transform .16s cubic-bezier(.16,1,.3,1),opacity .16s ease;will-change:transform}.sort-card-active:active{cursor:grabbing;transition:none}.sort-card-active.is-exiting-left{opacity:0;transform:translate3d(-125%,22px,0) rotate(-13deg);transition:transform .22s cubic-bezier(.4,0,1,1),opacity .18s ease}.sort-card-active.is-exiting-right{opacity:0;transform:translate3d(125%,22px,0) rotate(13deg);transition:transform .22s cubic-bezier(.4,0,1,1),opacity .18s ease}.sort-card-topline{display:flex;align-items:center;justify-content:space-between;gap:18px;color:#8b908b;font:500 9px DM Mono,monospace;letter-spacing:.1em;text-transform:uppercase}.sort-word{margin:auto 0;padding:15px 0 20px}.sort-word h2{max-width:100%;margin:0 0 13px;overflow-wrap:anywhere;font-size:clamp(44px,6vw,72px);line-height:.95;letter-spacing:-.07em}.sort-word>p{max-width:520px;margin:0;color:#5d6561;font-size:15px;line-height:1.65}.sort-card blockquote{margin:0;padding:16px 18px;border-left:2px solid var(--accent);background:#f3f0e9}.sort-card blockquote span{display:block;margin-bottom:6px;color:#8b908b;font:500 8px DM Mono,monospace;letter-spacing:.11em;text-transform:uppercase}.sort-card blockquote p{margin:0;color:#626965;font-size:11px;line-height:1.6}.sort-verdict{position:absolute;top:26px;padding:8px 11px;border:2px solid currentColor;border-radius:9px;background:#fffefbe6;font:700 11px DM Mono,monospace;letter-spacing:.07em;text-transform:uppercase;pointer-events:none}.sort-verdict.practice{right:25px;color:var(--accent-dark);opacity:var(--left-strength);transform:rotate(6deg)}.sort-verdict.known{left:25px;color:var(--green);opacity:var(--right-strength);transform:rotate(-6deg)}.sort-cue{display:flex;align-items:center;gap:8px;color:#8b908b;font:500 9px DM Mono,monospace;letter-spacing:.05em;text-transform:uppercase}.sort-cue-left{justify-content:flex-end}.sort-cue-right{justify-content:flex-start}.sort-cue-left svg{color:var(--accent)}.sort-cue-right svg{color:var(--green)}.sort-actions{width:min(100%,620px);display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:29px auto 0}.sort-choice{min-height:66px;display:flex;align-items:center;gap:13px;padding:11px 15px;border:1px solid var(--line);border-radius:17px;background:#ffffff7a;text-align:left;cursor:pointer;transition:transform .25s cubic-bezier(.16,1,.3,1),background .25s ease}.sort-choice:hover{background:var(--white);transform:translateY(-2px)}.sort-choice:active{transform:translateY(1px) scale(.98)}.sort-choice>svg{width:34px;height:34px;flex:0 0 auto;padding:8px;border-radius:50%}.sort-choice.practice>svg{color:var(--accent-dark);background:#f2ded7}.sort-choice.known>svg{color:var(--green);background:#dfeae6}.sort-choice span{display:grid;flex:1;gap:3px}.sort-choice strong{font-size:11px}.sort-choice small{color:var(--muted);font-size:8px}.sort-choice kbd{width:24px;height:24px;display:grid;place-items:center;border:1px solid #d9d8d1;border-radius:7px;color:#858b86;background:#ffffffbf;box-shadow:0 1px #cfcec6;font:500 10px DM Mono,monospace}.sort-status{min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(100%,620px);margin:9px auto 0;color:#919691;font-size:8px}.sort-status button{display:inline-flex;align-items:center;gap:6px;padding:6px 0;border:0;color:var(--ink);background:transparent;font-size:9px;font-weight:700;cursor:pointer}.sort-status>span{margin-left:auto}.sort-complete{align-items:center;margin:0 auto;text-align:center}.sort-summary{width:min(100%,430px);display:grid;grid-template-columns:1fr 1fr;margin:0 0 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.sort-summary>div{display:grid;gap:4px;padding:17px}.sort-summary>div+div{border-left:1px solid var(--line)}.sort-summary dt{color:var(--muted);font-size:9px}.sort-summary dd{order:-1;margin:0;font:500 27px DM Mono,monospace}.sort-summary>div:first-child dd{color:var(--accent-dark)}.sort-summary>div:last-child dd{color:var(--green)}.centered-state{max-width:720px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.state-mark{width:64px;height:64px;display:grid;place-items:center;margin-bottom:32px;border:1px solid var(--line);border-radius:22px;background:var(--white);transform:rotate(-4deg)}.centered-state h1{max-width:630px;margin:13px 0 17px;font-size:clamp(40px,6vw,68px);line-height:1;letter-spacing:-.065em}.centered-state p{max-width:540px;margin:0 0 28px;color:var(--muted);line-height:1.7}.complete-state,.result-page{align-items:center;text-align:center;margin:0 auto}.success-rings{width:80px;height:80px;display:grid;place-items:center;margin-bottom:28px;color:var(--green);border:1px solid #cbdcd6;border-radius:50%;background:#e7efec;position:relative;animation:success-pop .7s cubic-bezier(.16,1,.3,1)}.success-rings:before,.success-rings:after{content:"";position:absolute;inset:-12px;border:1px solid rgba(63,121,109,.2);border-radius:inherit;animation:ring 1.8s ease-out infinite}.success-rings:after{animation-delay:.7s}@keyframes ring{to{opacity:0;transform:scale(1.45)}}@keyframes success-pop{0%{transform:scale(.5) rotate(-15deg);opacity:0}}.grade-summary{width:min(100%,560px);display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:3px 0 28px}.grade-summary>div{display:grid;gap:4px;padding:13px 10px;border:1px solid var(--line);border-radius:13px;background:#ffffff6b}.grade-summary dt{color:var(--muted);font-size:9px}.grade-summary dd{order:-1;margin:0;font:500 24px DM Mono,monospace}.grade-summary .again dd{color:var(--accent)}.grade-summary .hard dd{color:#97672c}.grade-summary .good dd{color:var(--navy)}.grade-summary .easy dd{color:var(--green)}.phonetics-page{max-width:1180px}.phonetics-heading{align-items:flex-start}.phonetics-glyph{width:92px;height:92px;display:grid;place-items:center;flex:0 0 auto;margin-top:8px;border:1px solid #c8d9d3;border-radius:31px 31px 10px;color:var(--green);background:#e3ede9;transform:rotate(3deg)}.phonetics-tabs{width:fit-content;display:flex;gap:4px;margin-bottom:40px;padding:4px;border:1px solid var(--line);border-radius:14px;background:#e9e7e0}.phonetics-tabs button{min-height:40px;display:inline-flex;align-items:center;gap:8px;padding:0 17px;border:0;border-radius:10px;color:var(--muted);background:transparent;font-size:11px;font-weight:700;cursor:pointer}.phonetics-tabs button.active{color:var(--ink);background:var(--white);box-shadow:0 5px 15px #2a302d17}.phonetics-intro{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:23px}.phonetics-intro h2{margin:8px 0 0;font-size:27px;letter-spacing:-.04em}.phonetics-notice{max-width:470px;margin:0;padding:10px 13px;border-left:2px solid var(--green);color:#46685f;background:#e5ede9;font-size:9px;line-height:1.55}.phonetics-notice.unavailable{border-color:#b06a50;color:#80503e;background:#f2e4de}.phonetic-group{padding:31px 0 42px;border-top:1px solid var(--line)}.phonetic-group>header{display:grid;grid-template-columns:minmax(180px,.55fr) 1fr;align-items:end;gap:35px;margin-bottom:20px}.phonetic-group>header h2{margin:7px 0 0;font-size:25px;letter-spacing:-.04em}.phonetic-group>header p{max-width:470px;margin:0;color:var(--muted);font-size:10px;line-height:1.6}.phonetic-symbol-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.phonetic-symbol-card{min-width:0;min-height:174px;display:flex;flex-direction:column;padding:20px;border:1px solid var(--line);border-radius:19px;background:#ffffff6b;box-shadow:inset 0 1px #ffffffb3}.ipa-symbol{color:var(--green);font:500 28px DM Mono,monospace}.phonetic-symbol-card>p{margin:13px 0 18px;color:var(--muted);font-size:10px;line-height:1.55}.phonetic-symbol-card>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.phonetic-example{font-size:14px;font-weight:700}.phonetic-example mark{padding:1px 2px;border-radius:4px;color:var(--accent-dark);background:#f1dbd2}.phonetic-audio{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #ccd9d4;border-radius:50%;color:var(--green);background:#e8efec;cursor:pointer}.phonetic-audio:disabled{color:#a2a49f;border-color:var(--line);background:#ebe9e3;cursor:not-allowed}.eligible-count{color:var(--muted);font:500 10px DM Mono,monospace}.phonetics-config{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.phonetics-config fieldset{min-width:0;margin:0;padding:29px 0;border:0}.phonetics-config legend,.phonetics-source-length label>span{display:block;margin-bottom:13px;color:var(--ink);font-size:10px;font-weight:700}.phonetics-mode-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.phonetics-mode-options button{min-width:0;min-height:91px;display:grid;align-content:center;gap:6px;padding:14px;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:#fff6;text-align:left;cursor:pointer}.phonetics-mode-options button.active{color:var(--white);border-color:var(--ink);background:var(--ink)}.phonetics-mode-options button:disabled{opacity:.48;cursor:not-allowed}.phonetics-mode-options strong{font-size:11px}.phonetics-mode-options small{color:var(--muted);font-size:8px;line-height:1.45}.phonetics-mode-options button.active small{color:#b9c0bc}.phonetics-source-length{display:grid;grid-template-columns:1fr 1fr;gap:35px;border-top:1px solid var(--line)}.phonetics-source-length>label{min-width:0;padding:29px 0}.phonetics-source-length select{width:100%;min-height:47px;padding:0 14px;border:1px solid var(--line);border-radius:13px;color:var(--ink);background:var(--white)}.phonetics-length-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.phonetics-length-options button{min-width:0;min-height:47px;display:grid;place-content:center;gap:1px;border:1px solid var(--line);border-radius:13px;color:var(--ink);background:#fff6;cursor:pointer}.phonetics-length-options button.active{color:var(--white);border-color:var(--ink);background:var(--ink)}.phonetics-length-options button:disabled{opacity:.4;cursor:not-allowed}.phonetics-length-options strong{font:500 13px DM Mono,monospace}.phonetics-length-options span{color:var(--muted);font-size:7px}.phonetics-start{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding:21px 23px;border:1px solid var(--line);border-radius:19px;background:#ffffff6e}.phonetics-start>div{color:var(--muted);font-size:10px}.phonetics-start>div strong{color:var(--ink)}.phonetics-empty{margin:18px 0 0;padding:13px 15px;border-left:2px solid var(--accent);color:#76503f;background:#f2e5df;font-size:10px;line-height:1.55}.phonetics-practice>.phonetics-notice{margin-top:18px}.phonetics-question{max-width:800px;margin:0 auto}.phonetics-question-shell{min-width:0}.phonetics-question-shell>h2{margin:18px 0 38px;overflow-wrap:anywhere;font-size:clamp(48px,8vw,76px);line-height:1;letter-spacing:-.065em}.listening-prompt{display:grid;justify-items:center;gap:14px;margin:24px 0 32px;text-align:center}.listening-prompt>span{width:70px;height:70px;display:grid;place-items:center;border-radius:50%;color:var(--green);background:#e4eeea}.listening-prompt h2{max-width:520px;margin:0;font-size:clamp(26px,4vw,37px);line-height:1.15;letter-spacing:-.045em}.phonetics-answer-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.phonetics-answer-list button{min-width:0;min-height:66px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:11px 14px;border:1px solid var(--line);border-radius:15px;color:var(--ink);background:#ffffff6e;text-align:left;cursor:pointer}.phonetics-answer-list button>span{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;color:var(--muted);background:#ebe9e2;font:500 9px DM Mono,monospace}.phonetics-answer-list button strong{min-width:0;overflow-wrap:anywhere;font:600 13px DM Mono,monospace}.phonetics-answer-list button.selected{border-color:#85928d;background:#e8edeb}.phonetics-answer-list button.correct{color:#2c695c;border-color:#accbc1;background:#e4efeb}.phonetics-answer-list button.incorrect{color:#9c432d;border-color:#e0b4a6;background:#f4e5df}.phonetics-feedback{min-height:58px;display:flex;align-items:center;margin-top:12px;padding:12px 15px;border-radius:14px;opacity:0}.phonetics-feedback.show{opacity:1}.phonetics-feedback.positive{color:#285d52;background:#e4efeb}.phonetics-feedback.negative{color:#8a432d;background:#f3e4dd}.phonetics-feedback p{margin:0;font-size:10px;line-height:1.55}.phonetics-result{max-width:780px;display:flex;flex-direction:column;align-items:center;margin:20px auto 0;text-align:center}.phonetics-result h2{max-width:650px;margin:14px 0;font-size:clamp(38px,6vw,60px);line-height:1;letter-spacing:-.06em}.phonetics-result>p{max-width:560px;margin:0;color:var(--muted);line-height:1.7}.phonetics-result-lists{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:29px 0;text-align:left}.phonetics-result-lists>div{display:flex;align-content:flex-start;flex-wrap:wrap;gap:6px;min-height:110px;padding:18px;border:1px solid var(--line);border-radius:17px;background:#fff6}.phonetics-result-lists .section-label{width:100%;margin-bottom:6px}.phonetics-result-lists div>span:not(.section-label){height:fit-content;padding:5px 8px;border-radius:99px;color:#416b61;background:#e2ece8;font-size:9px}.phonetics-result-lists>div:last-child>span:not(.section-label){color:#8b4c38;background:#f1e0d9}.phonetics-result-lists em{color:var(--muted);font-size:9px;font-style:normal}.test-page{padding-bottom:140px}.test-glyph{width:110px;height:110px;display:grid;place-items:center;border:1px solid var(--line);border-radius:35px 35px 35px 8px;color:var(--accent);background:#eee4db;transform:rotate(3deg)}.test-config{border-top:1px solid var(--line)}.config-block{display:grid;grid-template-columns:80px 1fr;gap:20px;padding:35px 0;border-bottom:1px solid var(--line)}.config-number{color:#a7a8a2;font:400 10px DM Mono,monospace}.config-content h2{margin:9px 0 22px;font-size:23px;letter-spacing:-.04em}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mode-option{min-height:82px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:13px 17px;border:1px solid var(--line);border-radius:17px;background:#ffffff59;text-align:left;cursor:pointer;transition:transform .25s ease,background .25s ease,border .25s ease}.mode-option:hover{transform:translateY(-2px);background:#ffffffb3}.mode-option.active{border-color:#aab7b1;background:#e8eeeb}.mode-option>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:var(--muted);background:var(--white)}.mode-option div{display:grid;gap:4px}.mode-option strong{font-size:12px}.mode-option small,.select-wrap small{color:var(--muted);font-size:9px}.mode-option>svg{color:var(--green)}.select-wrap{max-width:500px;display:grid;gap:8px}.select-wrap label,.typing-answer label{font-size:10px;font-weight:700}.select-wrap select{width:100%;min-height:48px;padding:0 15px;border:1px solid var(--line);border-radius:13px;color:var(--ink);background:var(--white);cursor:pointer}.length-options{display:flex;gap:9px}.length-options button{min-width:95px;display:flex;align-items:baseline;justify-content:center;gap:6px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#ffffff59;cursor:pointer}.length-options button.active{color:var(--white);background:var(--ink);border-color:var(--ink)}.length-options strong{font:500 17px DM Mono,monospace}.length-options span{font-size:9px}.test-start{position:fixed;left:248px;right:0;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:30px;padding:15px clamp(36px,5vw,82px);border-top:1px solid var(--line);background:#f4f2ece8;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.test-start>div{color:var(--muted);font-size:11px}.test-start strong{color:var(--ink)}.question-page{max-width:1050px}.question-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:55px}.question-header>div{width:min(420px,55vw)}.question-progress{margin-top:13px;height:3px}.question-header>strong{color:var(--muted);font:500 10px DM Mono,monospace}.question-shell{max-width:770px;margin:0 auto}.question-shell>h1{max-width:100%;margin:18px 0 38px;overflow-wrap:anywhere;font-size:clamp(49px,7vw,76px);letter-spacing:-.07em;line-height:1}.definition-prompt h1{max-width:750px;margin:18px 0 14px;font-size:clamp(28px,4vw,45px);line-height:1.14;letter-spacing:-.045em}.definition-prompt p{margin:0 0 35px;padding-left:15px;border-left:2px solid #d8d4ca;color:var(--muted);font-size:12px}.answer-list{display:grid;gap:9px}.answer-list button{width:100%;min-height:63px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;padding:10px 16px;border:1px solid var(--line);border-radius:15px;background:#fff6;text-align:left;cursor:pointer;transition:transform .2s ease,border .2s ease,background .2s ease}.answer-list button:hover:not(.correct):not(.incorrect){transform:translate(4px);background:var(--white)}.answer-list button>span{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;color:var(--muted);background:#ebe9e2;font:500 10px DM Mono,monospace}.answer-list button strong{font-size:11px;font-weight:600;line-height:1.5}.answer-list button.selected{border-color:#85928d;background:#e8edeb}.answer-list button.correct{color:#2c695c;border-color:#accbc1;background:#e4efeb}.answer-list button.incorrect{color:#9c432d;border-color:#e0b4a6;background:#f4e5df}.typing-answer{display:grid;gap:8px;margin-top:37px}.typing-answer input{width:100%;min-height:65px;padding:0 20px;border:1px solid var(--line);border-radius:15px;color:var(--ink);background:var(--white);font-size:21px;font-weight:600;letter-spacing:-.02em}.typing-answer input.correct{border-color:#99c0b5;background:#e6efec}.typing-answer input.incorrect{border-color:#dfad9e;background:#f5e6e0}.typing-answer>p{margin:5px 0 0;color:var(--accent-dark);font-size:11px}.answer-feedback{min-height:68px;display:flex;align-items:center;gap:13px;margin-top:18px;padding:12px 15px;border-radius:14px;opacity:0;transform:translateY(5px)}.answer-feedback.show{opacity:1;transform:none;transition:all .35s ease}.answer-feedback.positive{background:#e3ede9}.answer-feedback.negative{background:#f2e3dd}.answer-feedback>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#ffffff8c}.answer-feedback.positive>span{color:var(--green)}.answer-feedback.negative>span{color:var(--accent)}.answer-feedback div{display:grid;gap:3px}.answer-feedback strong{font-size:11px}.answer-feedback p{margin:0;color:var(--muted);font-size:9px}.question-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px;margin-top:11px}.result-page{max-width:800px;display:flex;flex-direction:column;justify-content:center}.result-burst{width:91px;height:91px;display:grid;place-items:center;margin-bottom:34px;border:1px solid #cddcd7;border-radius:28px;color:var(--green);background:#e7efec;transform:rotate(-5deg);animation:success-pop .7s cubic-bezier(.16,1,.3,1)}.result-page h1{max-width:640px;margin:14px 0;font-size:clamp(41px,6vw,65px);line-height:1;letter-spacing:-.065em}.result-page>p{max-width:550px;color:var(--muted);line-height:1.7}.result-score{display:flex;align-items:flex-start;margin:20px 0;font-family:DM Mono,monospace}.result-score strong{font-size:76px;line-height:1;letter-spacing:-.1em}.result-score span{margin-top:7px;color:var(--accent);font-size:20px}.result-breakdown{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-bottom:30px}.result-breakdown span{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:99px;font-size:9px}.result-breakdown .correct{color:var(--green);background:#e2ece8}.result-breakdown .incorrect{color:var(--accent-dark);background:#f2e1da}.result-breakdown .skipped{color:#625c49;background:#ebe7d8}.result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}.preparation-page{max-width:1260px}.preparation-guest{max-width:760px}.preparation-guest>p{max-width:590px;margin:16px 0 27px;color:var(--muted);line-height:1.75}.prep-mark,.prep-hero-glyph{display:grid;place-items:center;color:var(--navy);background:#e4ebef;border:1px solid #c8d5dc;transform:rotate(-4deg)}.prep-mark{width:64px;height:64px;margin-bottom:27px;border-radius:20px}.prep-hero-glyph{width:110px;height:110px;border-radius:35px 35px 8px}.prep-goal-form{display:grid}.prep-form-card{display:grid;grid-template-columns:80px minmax(0,1fr);gap:20px;padding:35px 0;border-top:1px solid var(--line)}.prep-form-card:last-of-type{border-bottom:1px solid var(--line)}.prep-form-card>div{display:grid;gap:20px}.prep-field-grid,.prep-section-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.prep-section-targets{grid-template-columns:repeat(4,minmax(0,1fr))}.prep-form-card label,.prep-calibration-form label,.prep-writing-tasks label,.prep-speaking-parts label{display:grid;gap:8px;color:#555c58;font-size:10px;font-weight:700}.prep-form-card input,.prep-form-card select,.prep-calibration-form input,.prep-calibration-form select,.prep-question-list input,.prep-writing-tasks textarea,.prep-speaking-parts textarea{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:13px;color:var(--ink);background:var(--white)}.prep-writing-tasks textarea,.prep-speaking-parts textarea{padding-block:13px;resize:vertical;line-height:1.7}.prep-section-targets small{color:var(--muted);font-weight:500}.prep-day-picker{display:flex;flex-wrap:wrap;gap:8px}.prep-day-picker button{min-width:54px;min-height:42px;border:1px solid var(--line);border-radius:12px;background:#fff6;cursor:pointer}.prep-day-picker button.active{color:var(--white);border-color:var(--navy);background:var(--navy)}.prep-minutes{max-width:300px}.prep-form-submit{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-top:25px}.prep-form-submit p{max-width:580px;margin:0;color:var(--muted);font-size:9px;line-height:1.55}.prep-score-panel{display:grid;grid-template-columns:minmax(230px,.45fr) 1fr;align-items:center;gap:35px;margin-bottom:17px;padding:31px;border-radius:25px;color:#f9f7f0;background:#2d3532;box-shadow:var(--shadow)}.prep-score-panel>div{display:grid;gap:5px}.prep-score-panel .section-label{color:#aeb6b0}.prep-score-panel strong{font:500 clamp(34px,5vw,56px) "DM Mono",monospace;letter-spacing:-.07em}.prep-score-panel small,.prep-score-panel p{color:#bac1bd;font-size:10px;line-height:1.6}.prep-score-panel p{margin:0}.prep-official-baseline{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:17px;padding:25px 27px;border:1px solid #c8d5dc;border-radius:21px;background:#e7edf0}.prep-official-baseline h2{margin:7px 0 6px;font-size:22px;letter-spacing:-.04em}.prep-official-baseline p{max-width:710px;margin:0;color:var(--muted);font-size:10px;line-height:1.6}.prep-official-baseline .button{flex-shrink:0}.prep-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.prep-section-card{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:23px;border:1px solid var(--line);border-radius:20px;background:#ffffff6b;box-shadow:inset 0 1px #ffffffb3}.prep-section-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;color:var(--navy);background:#e2e9ed}.prep-section-card h2{margin:5px 0 3px;font-size:24px;letter-spacing:-.04em}.prep-section-card p{margin:0;color:var(--muted);font-size:9px;line-height:1.5}.prep-section-actions{display:grid;justify-items:stretch;gap:7px}.prep-section-actions .quiet-link{text-align:center}.prep-route-section{margin-top:52px}.prep-route-section .section-title-row h2{margin:7px 0 0;font-size:29px;letter-spacing:-.045em}.prep-workload-warning{display:flex;align-items:flex-start;gap:12px;margin:21px 0;padding:15px 17px;border:1px solid #dfc6b7;border-radius:15px;color:#7c4a35;background:#f2e5de}.prep-workload-warning div{display:grid;gap:3px}.prep-workload-warning strong{font-size:11px}.prep-workload-warning span{font-size:9px;line-height:1.5}.prep-milestones{margin-top:20px;border-top:1px solid var(--line)}.prep-milestones details{border-bottom:1px solid var(--line)}.prep-milestones summary{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:20px;padding:21px 0;cursor:pointer}.prep-milestones summary>span,.prep-milestones summary>small{color:var(--muted);font:500 9px DM Mono,monospace}.prep-milestones summary>strong{font-size:13px}.prep-task-list{display:grid;gap:7px;padding:0 0 21px 90px}.prep-task-list button{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:15px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:#fff6;text-align:left;cursor:pointer}.prep-task-list button>span{display:flex;align-items:center;gap:9px}.prep-task-list button svg{color:var(--green)}.prep-task-list small{color:var(--muted);font-size:8px}.prep-calibration-card{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:45px;padding:27px;border:1px solid var(--line);border-radius:21px;background:#fff6}.prep-calibration-card h2{margin:6px 0;font-size:21px;letter-spacing:-.04em}.prep-calibration-card p{max-width:650px;margin:0;color:var(--muted);font-size:10px;line-height:1.6}.prep-calibration-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:12px;padding:23px;border:1px solid var(--line);border-radius:18px;background:#ffffff73}.prep-calibration-form .prep-consent,.prep-calibration-form .auth-error,.prep-calibration-form .button{grid-column:1 / -1}.prep-consent{grid-template-columns:auto 1fr!important;align-items:flex-start}.prep-consent input{width:auto;min-height:auto;margin-top:2px}.prep-mock-card{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:14px;padding:29px;border-radius:22px;color:#f9f7f0;background:var(--navy)}.prep-mock-card h2{margin:8px 0;font-size:22px;letter-spacing:-.04em}.prep-mock-card p{max-width:650px;margin:0;color:#cbd7dd;font-size:10px;line-height:1.6}.prep-mock-card .section-label{color:#bdccd4}.prep-mock-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.prep-mock-card .button.primary{color:var(--ink);background:var(--white)}.prep-mock-result{display:grid;grid-template-columns:1fr auto 2fr;align-items:center;gap:25px;margin-top:10px;padding:19px 23px;border:1px solid var(--line);border-radius:17px;background:#fff6}.prep-mock-result strong{font:500 25px DM Mono,monospace}.prep-mock-result p{margin:0;color:var(--muted);font-size:8px;line-height:1.5}.prep-mock-result>small{grid-column:1 / -1;color:var(--muted);font:500 8px DM Mono,monospace;text-transform:uppercase;letter-spacing:.06em}.prep-attempt-page{max-width:1120px}.prep-attempt-header{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:36px}.prep-attempt-header h1{margin:8px 0 0;font-size:clamp(30px,4vw,45px);letter-spacing:-.05em}.prep-timer{display:flex;align-items:center;gap:8px;padding:11px 14px;border:1px solid var(--line);border-radius:13px;background:#ffffff80;font:500 12px DM Mono,monospace}.prep-timer span{color:var(--muted);font-size:7px;text-transform:uppercase;letter-spacing:.09em}.prep-timer.warning{border-color:#c99845;background:#fff8e9}.prep-timer.critical{border-color:#c85f52;color:#9c3128;background:#fff0ed}.prep-timer.critical span{color:#9c3128}.prep-writing-clock{display:block;margin:8px 0 15px;color:var(--muted);font:500 8px DM Mono,monospace;text-transform:uppercase;letter-spacing:.07em}.prep-cue-timer{display:flex;align-items:center;gap:9px;margin:11px 0 17px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.prep-cue-timer strong{font:600 11px DM Mono,monospace}.prep-cue-timer span{color:var(--muted);font-size:9px}.prep-cue-timer .quiet-link{margin-left:auto}.prep-recording-error{margin-top:10px}.prep-question-sections,.prep-writing-tasks,.prep-speaking-parts{display:grid;gap:18px}.prep-question-part{min-width:0;padding:27px;border:1px solid var(--line);border-radius:22px;background:#ffffff6b;box-shadow:inset 0 1px #ffffffb3}.prep-part-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.prep-part-heading p{margin:6px 0 0;color:var(--muted);font-size:10px}.prep-passage{margin:18px 0 25px;padding:22px;border-left:3px solid var(--navy);color:#4d5551;background:#eeeee9;font-family:Georgia,serif;font-size:15px;line-height:1.9}.prep-question-list{display:grid;gap:15px;padding-left:27px}.prep-question-list li{padding-left:7px}.prep-question-list label{display:grid;gap:8px;color:#4e5551;font-size:11px;font-weight:700}.prep-choice-list{display:flex;flex-wrap:wrap;gap:7px}.prep-choice-list button{padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--white);cursor:pointer}.prep-choice-list button.active{color:var(--white);border-color:var(--navy);background:var(--navy)}.prep-writing-tasks h2{max-width:850px;margin:14px 0 22px;font-size:20px;line-height:1.5}.prep-writing-tasks table{width:min(100%,560px);margin-bottom:22px;border-collapse:collapse}.prep-writing-tasks th,.prep-writing-tasks td{padding:9px 11px;border:1px solid var(--line);font-size:10px;text-align:left}.prep-writing-tasks>section>small{display:block;margin-top:8px;color:var(--muted);font:500 8px DM Mono,monospace}.prep-speaking-parts ul{color:#4d5551;font-size:12px;line-height:1.8}.prep-speaking-parts .button{margin-top:12px}.prep-attempt-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:25px}.prep-exit{margin-top:18px}.prep-result-page{max-width:850px;display:flex;flex-direction:column;align-items:center;text-align:center}.prep-result-page>h1{margin:13px 0;font:500 clamp(55px,8vw,86px) "DM Mono",monospace;letter-spacing:-.09em}.prep-result-page>p{max-width:590px;color:var(--muted);font-size:10px;line-height:1.6}.prep-feedback-list,.prep-rubric-result{width:100%;display:grid;gap:9px;margin:25px 0;text-align:left}.prep-feedback-list article,.prep-rubric-result article{padding:15px;border:1px solid var(--line);border-radius:14px;background:#ffffff6b}.prep-feedback-list article>div{display:flex;align-items:center;gap:9px}.prep-feedback-list article span{color:var(--muted);font-size:9px}.prep-feedback-list article p,.prep-rubric-result article p{margin:9px 0 0;color:var(--muted);font-size:10px;line-height:1.6}.prep-improvement{display:flex;gap:12px;padding:18px;border-radius:16px;color:#315d54;background:#e4eeea}.prep-improvement div{display:grid;gap:5px}.prep-improvement p{margin:0;font-size:11px}.prep-improvement small{font-size:9px}.auth-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(500px,1.1fr);background:var(--paper)}.auth-story{min-height:100dvh;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(38px,6vw,78px);color:#f8f5ee;background:#2d3532;position:relative;overflow:hidden}.auth-story:before,.auth-story:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.07);border-radius:50%;pointer-events:none}.auth-story:before{width:520px;height:520px;right:-330px;top:-260px}.auth-story:after{width:340px;height:340px;left:-220px;bottom:-190px}.auth-brand{color:#f8f5ee;position:relative;z-index:1}.auth-brand .brand-mark{color:var(--ink);background:#f8f5ee}.auth-story>div:nth-child(2){position:relative;z-index:1}.auth-story .section-label{color:#aeb6b0}.auth-story h1{margin:22px 0 25px;font-size:clamp(43px,5vw,72px);line-height:.98;letter-spacing:-.065em;font-weight:600}.auth-story h1 em{color:#f19a7c;font-style:normal}.auth-story p{max-width:500px;margin:0;color:#b8bfba;font-size:14px;line-height:1.75}.auth-story>small{color:#8f9993;font:400 9px DM Mono,monospace;position:relative;z-index:1}.auth-panel{min-height:100dvh;display:grid;place-items:center;padding:45px clamp(28px,7vw,100px)}.auth-form-wrap{width:min(100%,480px)}.auth-icon{width:49px;height:49px;display:grid;place-items:center;margin-bottom:30px;border:1px solid #dccbc3;border-radius:15px;color:var(--accent);background:#f1e3dd;transform:rotate(-4deg)}.auth-icon.success{color:var(--green);border-color:#c7d9d2;background:#e4eeea}.auth-form-wrap h2,.recovery-card h1{margin:10px 0 12px;font-size:clamp(34px,4vw,49px);line-height:1.02;letter-spacing:-.055em}.auth-form-wrap>p,.recovery-card>p{margin:0;color:var(--muted);font-size:12px;line-height:1.7}.auth-form{display:grid;gap:14px;margin-top:31px}.auth-form label,.profile-field{display:grid;gap:8px}.auth-form label>span,.profile-field>span{color:#555c58;font-size:10px;font-weight:700}.auth-form input,.profile-field input,.profile-field select{width:100%;min-height:49px;padding:0 14px;border:1px solid var(--line);border-radius:13px;color:var(--ink);background:var(--white);transition:border .2s ease,box-shadow .2s ease}.auth-form input:focus,.profile-field input:focus,.profile-field select:focus{border-color:#9baaa4;box-shadow:inset 0 0 0 1px #9baaa4;outline:0}.auth-submit{width:100%;margin-top:5px}.auth-links{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:21px;color:var(--muted);font-size:10px}.auth-links.centered{justify-content:center}.auth-links button{padding:0;border:0;color:var(--ink);background:none;font-weight:700;cursor:pointer}.guest-entry{width:100%;margin-top:16px}.recovery-card{width:min(590px,calc(100vw - 36px));align-self:center;justify-self:center;padding:clamp(28px,6vw,58px);border:1px solid var(--line);border-radius:30px;background:#ffffff7a;box-shadow:var(--shadow),inset 0 1px #ffffffb3}.recovery-code{display:block;margin:28px 0 20px;padding:19px;overflow-wrap:anywhere;border:1px dashed #bdc9c4;border-radius:15px;color:#315d54;background:#e6eeeb;font:500 clamp(14px,3vw,20px) "DM Mono",monospace;letter-spacing:.06em;text-align:center}.recovery-actions{display:flex;justify-content:flex-end;gap:9px}.profile-page{max-width:1180px}.profile-heading{align-items:flex-start}.profile-heading-mark{width:72px;height:72px;display:grid;place-items:center;flex:0 0 auto;margin-top:8px;border:1px solid #cbdad5;border-radius:23px;color:var(--green);background:#e4ede9;transform:rotate(4deg)}.profile-error{margin:-22px 0 28px;padding:12px 14px;border-left:2px solid var(--accent);color:var(--accent-dark);background:#f3e4de;font-size:10px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.profile-card{padding:29px;border:1px solid var(--line);border-radius:24px;background:#fff6;box-shadow:inset 0 1px #ffffffad}.profile-card-heading{display:flex;align-items:center;gap:12px;margin-bottom:25px}.profile-card-heading>span{width:39px;height:39px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;color:var(--green);background:#e2ece8}.profile-card-heading div{display:grid;gap:3px}.profile-card-heading small,.profile-card>div>small{color:var(--muted);font:500 8px DM Mono,monospace;letter-spacing:.1em;text-transform:uppercase}.profile-card h2{margin:0;font-size:20px;letter-spacing:-.035em}.profile-card form{display:grid;gap:14px}.profile-check{display:flex;align-items:flex-start;gap:9px;color:var(--muted);font-size:9px;line-height:1.5}.profile-check input{margin-top:2px;accent-color:var(--green)}.profile-reminders{display:grid;gap:14px}.reminder-days{display:flex;flex-wrap:wrap;gap:7px;padding:0;border:0}.reminder-days legend{width:100%;margin-bottom:6px;color:var(--ink);font-size:9px;font-weight:700}.reminder-days label{cursor:pointer}.reminder-days input{position:absolute;opacity:0;pointer-events:none}.reminder-days span{display:grid;min-width:36px;height:30px;place-items:center;border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:8px;font-weight:700}.reminder-days input:checked+span{color:#fff;border-color:var(--green);background:var(--green)}.reminder-days input:focus-visible+span{outline:2px solid var(--green);outline-offset:2px}.profile-field input[readonly]{color:#777d78;background:#eeece6}.profile-help{margin-top:-5px;color:var(--muted);font-size:8px;line-height:1.55}.profile-meta{display:flex;flex-wrap:wrap;gap:7px;margin:3px 0 4px}.profile-meta span{padding:5px 8px;border-radius:99px;color:#56635e;background:#e7ece9;font:500 8px DM Mono,monospace;text-transform:uppercase}.profile-card .button{justify-self:start}.success-message{display:flex;align-items:center;gap:6px;margin:0;color:var(--green);font-size:9px}.security-card>p,.signout-card p{margin:-11px 0 21px;color:var(--muted);font-size:10px;line-height:1.65}.signout-card{display:flex;align-items:center;justify-content:space-between;gap:25px;grid-column:1 / -1}.signout-card h2{margin:6px 0 0}.signout-card p{margin:8px 0 0}@media(max-width:1050px){.sidebar{width:214px}.main-area{margin-left:214px}.floating-action{left:calc(214px + (100vw - 214px)/2)}.test-start{left:214px}.dashboard-grid{grid-template-columns:1fr}.rhythm-panel,.level-panel{min-height:auto}.level-panel h2{margin-top:28px}.lower-grid,.analytics-grid{grid-template-columns:1fr}.history-card,.collection-analytics{grid-column:auto}.insight-panel{padding:28px 0 0;border-left:0;border-top:1px solid var(--line)}.auth-shell{grid-template-columns:minmax(300px,.75fr) minmax(470px,1.25fr)}.auth-story{padding:42px}.auth-story h1{font-size:50px}}@media(max-width:767px){.auth-shell{display:block}.auth-story{min-height:260px;padding:26px 22px 31px}.auth-story>div:nth-child(2){margin-top:48px}.auth-story h1{margin:14px 0 15px;font-size:39px}.auth-story p{font-size:11px}.auth-story>small{display:none}.auth-panel{min-height:auto;padding:38px 20px 55px}.auth-icon{margin-bottom:24px}.auth-form-wrap h2,.recovery-card h1{font-size:35px}.auth-links{align-items:flex-start;flex-direction:column;gap:13px}.auth-links.centered{align-items:center}.recovery-card{margin:18px auto;padding:28px 20px}.recovery-actions{display:grid;grid-template-columns:1fr}.sidebar{width:min(82vw,310px);z-index:4;transform:translate(-105%);transition:transform .4s cubic-bezier(.16,1,.3,1);box-shadow:20px 0 50px -35px #1e2321b3}.sidebar.is-open{transform:none}.mobile-close{width:40px;height:40px;display:grid;place-items:center;position:absolute;top:30px;right:20px;border:0;border-radius:12px;background:#ffffff80}.menu-scrim{display:block;position:fixed;inset:0;z-index:3;border:0;background:#1c211f59;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.main-area{margin-left:0}.mobile-header{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--line)}.mobile-header .brand{font-size:16px}.mobile-header .brand-mark{width:31px;height:31px}.icon-button{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:#ffffff73}.page{width:100%;min-height:calc(100dvh - 68px);padding:38px 18px 70px}.page-heading{display:grid;gap:28px;margin-bottom:36px}.page-heading h1{font-size:clamp(39px,12vw,53px)}.dashboard-heading{align-items:start}.header-actions{display:grid;justify-items:start}.dashboard-grid{display:grid;grid-template-columns:1fr}.hero-progress{min-height:420px;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;padding:32px 28px}.progress-orbit{width:126px;height:126px;align-self:flex-end}.progress-orbit:after{transform:translateY(-63px);transform-origin:3px 66px}@keyframes orbit{to{transform:translateY(-63px) rotate(360deg)}}.metrics-row{grid-template-columns:1fr}.metric{border-right:0;border-bottom:1px solid var(--line)}.metric:last-child{border:0}.lower-grid{grid-template-columns:1fr;gap:36px}.analytics-card{padding:23px 19px}.analytics-card .section-title-row{align-items:flex-start;gap:16px}.review-heatmap{overflow-x:auto;padding-bottom:6px}.review-heatmap.days-7{grid-template-columns:repeat(7,minmax(38px,1fr))}.review-heatmap.days-30{min-width:560px}.collection-row{grid-template-columns:auto 1fr auto}.collection-row .mini-track{display:none}.package-grid{grid-template-columns:1fr}.package-card{min-height:280px}.add-words-button span,.practice-pack-button span{display:none}.library-count{padding:0}.library-heading-actions{display:grid;justify-items:start;gap:20px}.import-undo-banner{align-items:flex-start;flex-direction:column}.import-undo-banner>span{align-items:flex-start;flex-wrap:wrap}.floating-action{left:12px;right:12px;bottom:12px;min-width:0;transform:none;padding-left:15px}@keyframes float-in{0%{opacity:0;transform:translateY(16px)}}.floating-action>span{display:none}.floating-action .button{width:100%}.study-track{margin-bottom:28px}.sort-page{height:calc(100dvh - 68px);min-height:0;display:flex;flex-direction:column;padding:18px 14px max(10px,env(safe-area-inset-bottom));overflow:hidden;overscroll-behavior:none}.sort-heading{flex:0 0 auto;align-items:flex-start;justify-content:flex-end}.sort-heading>div:first-child{display:none}.sort-count strong{font-size:27px}.sort-track{flex:0 0 auto;margin:11px 0 14px}.sort-workspace{min-height:0;display:block;flex:1 1 auto}.sort-cue{display:none}.sort-stack{height:100%;min-height:0;margin:0 6px}.sort-card-active{padding:clamp(18px,4vh,26px) 22px clamp(17px,3.5vh,23px);border-radius:26px}.sort-word{padding:8px 0 12px}.sort-word h2{margin-bottom:8px;font-size:clamp(36px,13vw,58px)}.sort-word>p{display:-webkit-box;overflow:hidden;font-size:12px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:4}.sort-card blockquote{padding:11px 13px}.sort-card blockquote p{display:-webkit-box;overflow:hidden;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.sort-actions{flex:0 0 auto;gap:8px;margin-top:12px}.sort-choice{min-height:58px;padding:8px 10px}.sort-choice>svg{width:31px;height:31px}.sort-choice small,.sort-choice kbd{display:none}.sort-status{min-height:22px;flex:0 0 auto;align-items:center;margin-top:2px}.sort-status>span{max-width:155px;text-align:right}.session-setup-heading{margin-bottom:32px}.planner-block{grid-template-columns:30px 1fr;gap:8px;padding:25px 0}.session-presets{grid-template-columns:1fr}.practice-mode-options{grid-template-columns:1fr 1fr}.new-word-setting{display:grid;gap:20px}.new-word-setting input{width:100%}.queue-preview{grid-template-columns:1fr;gap:23px;padding:23px 20px}.queue-preview dl{justify-content:space-between;gap:8px}.queue-preview dl>div{padding-left:10px}.queue-preview .button{width:100%}.caught-up-actions{width:100%;display:grid;grid-template-columns:1fr}.caught-up-actions .button{width:100%}.flashcard{height:440px}.flashcard-face{padding:28px 23px;border-radius:26px}.practice-prompt{min-height:440px;padding:30px 22px;border-radius:26px}.practice-answer>div{grid-template-columns:1fr}.practice-feedback{grid-template-columns:1fr}.word-wrap{margin-bottom:72px}.word-wrap h2{font-size:clamp(41px,14vw,60px)}.word-wrap h2.word-heading-long,.sort-word h2.word-heading-long,.phonetics-question-shell>h2.word-heading-long,.question-shell>h1.word-heading-long{font-size:clamp(32px,10vw,46px)}.word-wrap h2.word-heading-extra-long,.sort-word h2.word-heading-extra-long,.phonetics-question-shell>h2.word-heading-extra-long,.question-shell>h1.word-heading-extra-long{font-size:clamp(27px,8vw,38px)}.definition-block h2{font-size:clamp(25px,7vw,33px)}.assessment>div{grid-template-columns:1fr}.rating-button{min-height:62px}.undo-review{align-items:flex-start}.grade-summary{grid-template-columns:1fr 1fr}.phonetics-glyph{display:none}.phonetics-tabs{width:100%}.phonetics-tabs button{flex:1;justify-content:center}.phonetics-intro{align-items:flex-start;flex-direction:column;gap:17px}.phonetics-notice{max-width:none}.phonetic-group>header{grid-template-columns:1fr;gap:12px}.phonetic-symbol-grid,.phonetics-mode-options{grid-template-columns:1fr}.phonetics-source-length{grid-template-columns:1fr;gap:0}.phonetics-source-length fieldset{border-top:1px solid var(--line)}.phonetics-start{align-items:stretch;flex-direction:column}.phonetics-start .button{width:100%}.phonetics-question-shell>h2{font-size:clamp(42px,15vw,62px)}.phonetics-answer-list,.phonetics-result-lists{grid-template-columns:1fr}.test-glyph{display:none}.config-block{grid-template-columns:30px 1fr;gap:8px;padding:28px 0}.option-grid{grid-template-columns:1fr}.length-options{display:grid;grid-template-columns:repeat(3,1fr)}.length-options button{min-width:0;display:grid;gap:2px}.test-start{left:0;padding:11px 18px;justify-content:stretch}.test-start>div{display:none}.test-start .button{width:100%}.question-header{margin-bottom:40px}.question-shell>h1{font-size:clamp(43px,15vw,63px)}.answer-list button{grid-template-columns:auto 1fr auto}.answer-list button strong{font-size:10px}.question-actions .button{flex:1 1 180px}.result-score strong{font-size:65px}.prep-hero-glyph{display:none}.prep-form-card{grid-template-columns:30px minmax(0,1fr);gap:8px}.prep-field-grid,.prep-section-targets,.prep-section-grid{grid-template-columns:1fr}.prep-form-submit,.prep-official-baseline,.prep-calibration-card,.prep-attempt-header,.prep-part-heading{align-items:stretch;flex-direction:column}.prep-official-baseline .button{width:100%}.prep-cue-timer{align-items:flex-start;flex-wrap:wrap}.prep-cue-timer .quiet-link{width:100%;margin-left:25px;text-align:left}.prep-mock-card{align-items:stretch;flex-direction:column}.prep-mock-actions{display:grid}.prep-mock-card .button{width:100%}.prep-mock-result{grid-template-columns:1fr;gap:7px}.prep-form-submit .button,.prep-calibration-card .button{width:100%}.prep-score-panel{grid-template-columns:1fr;gap:15px}.prep-section-card{grid-template-columns:auto minmax(0,1fr)}.prep-section-actions,.prep-section-card .button{grid-column:1 / -1;width:100%}.prep-milestones summary{grid-template-columns:60px minmax(0,1fr);gap:10px}.prep-milestones summary>small{grid-column:2}.prep-task-list{padding-left:0}.prep-task-list button{grid-template-columns:1fr auto}.prep-task-list button>small{grid-column:1}.prep-calibration-form{grid-template-columns:1fr}.prep-question-part{padding:21px 17px}.prep-passage{padding:17px;font-size:14px}.prep-question-list{padding-left:22px}.prep-attempt-actions{display:grid;grid-template-columns:1fr}.prep-attempt-actions .button{width:100%}.prep-feedback-list article>div{align-items:flex-start;flex-wrap:wrap}.modal-layer{align-items:end;padding:0}.collection-modal{max-height:calc(100dvh - 18px);border-radius:25px 25px 0 0}.modal-header{padding:24px 18px 20px}.modal-header h2{font-size:28px}.creation-tabs{margin:16px 18px 0}.transfer-tabs{justify-content:flex-start}.transfer-tabs button{min-width:126px}.transfer-content{padding:23px 18px 28px}.mapping-grid{grid-template-columns:1fr 1fr}.destination-controls,.destination-controls.compact{grid-template-columns:1fr}.transfer-summary{grid-template-columns:1fr 1fr}.transfer-summary span:nth-child(2){border-right:0}.transfer-summary span:nth-child(-n+2){border-bottom:1px solid var(--line)}.preview-columns,.export-options,.candidate{grid-template-columns:1fr}.target-collection-strip{margin:12px 18px 0}.collection-modal form{padding:23px 18px 28px}.collection-details,.word-editor-row,.word-field-with-ai{grid-template-columns:1fr}.word-ai-fill{width:100%}.field-block.wide{grid-column:auto}.modal-actions{display:grid;grid-template-columns:1fr 1fr}.duplicate-warning{width:100%;max-height:calc(100dvh - 18px);padding:25px 18px 28px;border-radius:25px 25px 0 0}.duplicate-warning h2{font-size:27px}.duplicate-warning-list li{grid-template-columns:1fr;gap:4px}.duplicate-warning-actions{display:grid;grid-template-columns:1fr}.duplicate-warning-actions .button{width:100%}.gemini-import-panel{padding:5px 18px 26px}.gemini-step{grid-template-columns:28px minmax(0,1fr);padding:24px 0}.prompt-controls{grid-template-columns:1fr 1fr}.prompt-controls .wide{grid-column:1 / -1}.step-title-row{align-items:flex-start}.copy-prompt{min-width:38px;padding-inline:10px}.prompt-preview{height:250px}.import-button{width:100%}.ai-generation-actions{display:grid;grid-template-columns:1fr}.generation-provenance{align-items:flex-start;flex-wrap:wrap}.generation-provenance small{width:100%;margin-left:24px}.single-json-panel{padding:23px 18px 28px}.single-json-layout{grid-template-columns:1fr}.single-json-example,.single-json-entry .response-input{min-height:180px!important}.single-json-actions{display:grid;grid-template-columns:1fr}.single-json-actions .button{width:100%}.word-list-header{padding-bottom:20px}.word-list-header-actions .button{width:40px;overflow:hidden;padding:0;font-size:0}.word-list-identity{gap:11px}.word-list-identity .package-stamp{width:42px;height:42px}.word-list-tools{grid-template-columns:1fr;gap:14px;padding:15px 18px}.word-list-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.word-list-stats span{padding-left:9px;border-left:1px solid var(--line)}.bulk-management{display:grid;grid-template-columns:1fr auto auto;padding:12px 18px}.bulk-management>strong,.bulk-management label,.bulk-management>span{grid-column:1 / -1}.bulk-management label{display:grid;grid-template-columns:auto 1fr}.bulk-management button:last-child{justify-self:end}.management-message{padding-inline:18px}.word-list-column-labels{grid-template-columns:26px 32px 1fr 72px 17px;gap:7px;padding:11px 18px 8px}.managed-word-row{grid-template-columns:26px minmax(0,1fr);gap:7px}.word-list-rows{padding:0 18px 12px}.word-list-row summary{grid-template-columns:32px 1fr 72px 17px;gap:8px}.word-list-word strong{font-size:13px}.word-list-detail{grid-template-columns:1fr;gap:14px;padding:3px 10px 20px 40px}.word-list-detail button{justify-self:start}.word-row-actions,.read-only-label{justify-content:flex-start}.word-list-footer{display:grid;padding:12px 18px}.word-list-range{display:none}.word-list-pagination{justify-content:center}.word-list-footer-actions{display:grid;grid-template-columns:1fr 1fr}.word-list-footer .button{padding-inline:11px}.card-management-fields{grid-template-columns:1fr}.card-management-fields .wide{grid-column:auto}.management-actions{grid-template-columns:1fr 1fr}.management-actions>span{display:none}.changelog-heading-mark{width:58px;height:58px}.release{grid-template-columns:1fr;gap:26px;padding:34px 0 40px}.release-meta{display:grid;grid-template-columns:auto 1fr;align-items:center}.release-meta small{grid-column:1 / -1}.release-notes h2{margin-bottom:24px}.whats-new-modal{width:100%;max-height:calc(100dvh - 18px);padding:30px 18px 24px;border-radius:25px 25px 0 0}.whats-new-close{top:20px;right:18px}.whats-new-actions{display:grid;grid-template-columns:1fr}.whats-new-actions .button{width:100%}.profile-grid{grid-template-columns:1fr}.profile-heading-mark{width:58px;height:58px}.profile-card{padding:23px 19px}.signout-card{grid-column:auto;align-items:flex-start;flex-direction:column}}@media(max-width:767px)and (max-height:620px){.sort-page{padding-top:10px}.sort-status>span{display:none}.sort-count strong{font-size:24px}.sort-track{margin:8px 0 10px}.sort-card-active{padding-block:15px}.sort-card blockquote{display:none}.sort-actions{margin-top:8px}.sort-choice{min-height:50px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
