:root{--ink:#2a2118;--ink-soft:#4a3f32;--ink-muted:#7a6f60;--ink-faint:#b0a494;--ink-light:#d4c8b8;--accent:#8b5e2b;--accent-warm:#c79152;--accent-light:#e8c89a;--bg:#faf6f0;--bg-warm:#f5ede2;--bg-card:#fff;--border:#e4dbd0;--border-light:#efe8de;--border-warm:#d4c0a8;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Instrument Sans,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.app-shell{width:min(1180px,100%);min-height:100vh;margin:0 auto;padding:20px}.topbar{justify-content:space-between;align-items:center;gap:16px;padding:6px 0 18px;display:flex}.topbar-actions{align-items:center;gap:8px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand-mark,.wordbook-icon{border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.brand-mark{background:0 0;overflow:hidden}.brand-mark svg,.brand-mark img{border-radius:inherit;object-fit:cover;width:100%;height:100%;display:block}.wordbook-icon{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-warm))}.brand strong,.brand span{display:block}.brand span{color:var(--ink-muted);font-size:13px}.notice{border:1px solid var(--border);background:var(--bg-card);color:var(--accent);border-radius:10px;margin:0 0 16px;padding:10px 14px;font-size:14px}.workspace{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.auth-layout{grid-template-columns:minmax(0,1fr) minmax(320px,420px);align-items:center;gap:28px;min-height:calc(100vh - 96px);display:grid}.auth-copy h1,.section-heading h2,.study-header h2,.dashboard h2{letter-spacing:0;margin:0}.auth-copy h1{max-width:620px;font-family:DM Serif Display,Georgia,Noto Serif SC,serif;font-size:64px;line-height:1}.auth-copy .muted{max-width:560px;font-size:18px}.eyebrow{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:700}.muted{color:var(--ink-muted);line-height:1.7}.form-panel,.dashboard,.library,.study-surface{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;box-shadow:0 8px 32px #2a21180f}.form-panel,.dashboard,.library{padding:20px}.form-panel{gap:16px;display:grid}.segmented{border:1px solid var(--border);background:var(--bg-warm);border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.segmented button{min-height:40px;color:var(--ink-muted);background:0 0;border:0;border-radius:8px;font-weight:700;transition:background .15s,color .15s}label{color:var(--ink-soft);gap:7px;font-size:14px;font-weight:700;display:grid}input{border:1px solid var(--border);background:var(--bg);width:100%;min-height:44px;color:var(--ink);border-radius:10px;padding:0 14px;transition:border-color .15s,box-shadow .15s}button:focus-visible{outline-offset:2px;border-color:var(--accent-warm);outline:3px solid #8b5e2b26}.word-row:focus-visible{outline-offset:2px;border-color:var(--accent-warm);outline:3px solid #8b5e2b26}.primary-button,.ghost-button,.tool-button,.completion-strip button,.complete-page-button{border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:42px;font-weight:700;transition:background .15s,border-color .15s,box-shadow .15s,transform .1s;display:inline-flex}.primary-button{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-warm));width:100%;box-shadow:0 2px 8px #8b5e2b33}.ghost-button,.tool-button,.completion-strip button{color:var(--ink-soft);border-color:var(--border);background:var(--bg-card);padding:0 14px;text-decoration:none}.error-text{color:#b42318;margin:0;font-size:14px}.auth-info{color:var(--ink-soft);background:#fffaebb8;border:1px solid #8b5e2b47;border-radius:10px;gap:12px;padding:14px;display:grid}.auth-info-heading{color:var(--ink);align-items:center;gap:8px;display:flex}.auth-info p{margin:0;font-size:14px;line-height:1.6}.auth-info-actions{flex-wrap:wrap;gap:10px;display:flex}.auth-info-actions .ghost-button{min-height:38px}.auth-success-text{color:#157347;font-weight:700}button:disabled{cursor:not-allowed;opacity:.6;transform:none}.dashboard{gap:18px;display:grid;position:sticky;top:16px}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.metric{border:1px solid var(--border-light);background:var(--bg-warm);border-radius:10px;min-width:0;padding:10px}.metric span,.metric strong{display:block}.metric span{color:var(--ink-muted);font-size:12px}.metric strong{margin-top:6px;font-size:20px}.completion-strip{color:var(--accent);background:#b46b2b0f;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;display:flex}.completion-strip.idle{color:#4a5578;background:#646e8c0f}.completion-strip span{flex:1;min-width:0}.library{gap:16px;display:grid}.wordbook-card{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:16px;transition:border-color .2s,box-shadow .2s;display:grid}.wordbook-card:hover{border-color:var(--border-warm);box-shadow:0 4px 16px #5a3c140f}.wordbook-card h3,.wordbook-card p{margin:0}.wordbook-card p{color:var(--ink-muted);margin-top:6px;line-height:1.55}.meta-line{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.meta-line span{border:1px solid var(--border);color:var(--ink-soft);background:var(--bg-warm);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.plan-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.study-surface{position:relative;overflow:hidden}.study-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;display:flex}.study-header-left{align-items:flex-start;gap:10px;display:flex}.back-button{flex-shrink:0;min-width:36px;min-height:36px;margin-top:2px;padding:0 8px}.study-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.word-list{display:grid}.word-row{border:0;border-bottom:1px solid var(--border-light);background:var(--bg-card);min-height:66px;color:var(--ink);cursor:pointer;text-align:left;grid-template-columns:42px minmax(150px,.8fr) minmax(180px,1.2fr);align-items:center;gap:12px;padding:10px 20px;transition:background .12s;display:grid}.word-row[role=button]{cursor:pointer}.word-index{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-weight:800}.word-main{min-width:0}.word-title-line,.example-en-row{align-items:center;gap:8px;min-width:0;display:flex}.word-title-line strong{min-width:0}.word-main strong,.word-main small{display:block}.word-main strong{overflow-wrap:anywhere;font-size:20px}.word-main small{color:var(--ink-muted);margin-top:3px}.audio-button{width:30px;height:30px;color:var(--accent);cursor:pointer;background:#c973551a;border:1px solid #c9735533;border-radius:999px;flex:0 0 30px;justify-content:center;align-items:center;transition:background .15s,border-color .15s,box-shadow .15s,color .15s;display:inline-flex}.audio-button:hover{background:#c9735529}.audio-button:focus-visible{outline-offset:2px;outline:3px solid #c9735542}.audio-button-playing{color:#fffaf3;background:#8c4a39;border-color:#8c4a3985;box-shadow:0 0 0 4px #8c4a3929}.audio-button-playing:hover{background:#8c4a39}.audio-button-playing svg{animation:.72s ease-in-out infinite alternate audio-button-pulse}.meaning{overflow-wrap:anywhere;color:var(--ink-soft);line-height:1.55}.meaning.hidden{color:var(--ink-faint);filter:blur(3px);-webkit-user-select:none;user-select:none}.word-examples{gap:8px;margin-top:10px;display:grid}.word-example{border-left:2px solid #c973553d;gap:3px;padding-left:10px;display:grid}.example-en{min-width:0;color:var(--ink);font-size:14px;line-height:1.45}.example-target{color:var(--accent);background:#c9735529;border-radius:5px;padding:0 3px;font-weight:800}.example-zh{color:var(--ink-muted);font-size:13px;line-height:1.5}.example-audio-button{flex-basis:28px;width:28px;height:28px}.sticky-complete{border-top:1px solid var(--border-light);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#faf6f0f0;padding:14px 20px;position:sticky;bottom:0}.complete-page-button{color:#fff;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;background:linear-gradient(135deg,#8b3a2b,#b3472d);border-radius:10px;width:100%;min-height:52px;padding:0 16px;position:relative;box-shadow:0 8px 20px #8b3a2b3d}.complete-page-button>svg{flex:none;transition:transform .18s}.complete-page-button[data-state=saving]{opacity:1;background:linear-gradient(135deg,#176b49,#24a468);box-shadow:0 0 0 6px #24a4682e,0 14px 28px #176b493d}.complete-page-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.complete-page-spinner{animation:.8s linear infinite complete-page-spin}.page-complete-toast{z-index:30;color:#176b49;white-space:nowrap;background:#ecfdf3;border:1px solid #24a4683d;border-radius:999px;align-items:center;gap:8px;max-width:calc(100% - 32px);padding:10px 16px;font-size:14px;font-weight:800;animation:1.2s both page-complete-toast;display:inline-flex;position:absolute;top:84px;left:50%;box-shadow:0 12px 30px #2a211826}.page-complete-toast span{text-overflow:ellipsis;overflow:hidden}@keyframes complete-page-spin{to{transform:rotate(360deg)}}@keyframes audio-button-pulse{0%{opacity:.72;transform:scale(.92)}to{opacity:1;transform:scale(1.08)}}@keyframes page-complete-toast{0%{opacity:0;transform:translate(-50%,-8px)scale(.96)}16%,82%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-6px)scale(.98)}}@media (max-width:860px),(pointer:coarse) and (max-width:1024px){.app-shell{padding:14px}.auth-layout,.workspace{grid-template-columns:1fr}.auth-layout{align-items:start;min-height:0}.auth-copy h1{font-size:38px}.dashboard{position:static}.study-surface{order:-1}}@media (max-width:640px),(pointer:coarse) and (max-width:1024px){body{background:var(--bg-card)}.app-shell{padding:10px}.topbar{align-items:center;gap:10px;padding:4px 0 10px}.brand{gap:8px;min-width:0}.brand-mark{border-radius:9px;width:36px;height:36px}.brand strong{font-size:16px}.brand span{font-size:12px}.topbar-actions{flex-shrink:0}.topbar-actions .ghost-button{min-height:38px;padding:0 12px}.notice{margin-bottom:10px;padding:8px 12px;font-size:13px}.metric-grid,.plan-controls{grid-template-columns:1fr}.study-surface{box-shadow:none;border-radius:10px;margin:0 -2px}.study-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.study-header-left{align-items:center;min-width:0}.study-header-left>div{min-width:0}.study-header .eyebrow{text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;overflow:hidden}.study-header h2{white-space:nowrap;font-size:26px;line-height:1.08}.study-actions{justify-content:flex-end}.study-actions .tool-button{white-space:nowrap;flex:none;min-height:38px;padding:0 10px}.back-button{min-width:38px;min-height:38px;margin-top:0;display:none}.word-list{background:var(--bg-card)}.word-row{grid-template-columns:30px minmax(0,1fr);align-items:start;gap:8px 10px;min-height:0;padding:9px 12px}.meaning{grid-column:2;font-size:15px;line-height:1.45}.word-main strong{font-size:19px;line-height:1.15}.word-main small{margin-top:2px;font-size:13px}.study-surface{padding-bottom:0}.study-surface .word-list{max-height:calc(100dvh - 292px - env(safe-area-inset-bottom));overscroll-behavior:contain;padding-bottom:76px;overflow-y:auto}.sticky-complete{right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:20;border:1px solid var(--border);border-radius:12px;padding:7px;position:fixed;left:10px;box-shadow:0 12px 30px #2a211826}.complete-page-button{min-height:50px;padding:0 12px}.page-complete-toast{max-width:calc(100% - 20px);padding:9px 12px;font-size:13px;top:70px}}.landing-topbar{max-width:1180px;margin:0 auto;padding:6px 20px 18px}.landing-notice{max-width:1180px;margin:0 auto 16px;padding:0 20px}.landing-page{max-width:1180px;margin:0 auto;padding:0 20px}.landing-hero-bg{z-index:0;background:linear-gradient(165deg,#fdf8f2 0%,#faf3ea 30%,#f5ede2 60%,#f0e8da 100%);position:absolute;top:0;bottom:0;left:0;right:0}.landing-hero-bg:before{content:"";pointer-events:none;background:radial-gradient(#c791521f 0%,#0000 70%);width:80%;height:120%;position:absolute;top:-40%;right:-20%}.landing-hero-grain{opacity:.3;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.4'/%3E%3C/svg%3E");background-size:180px;position:absolute;top:0;bottom:0;left:0;right:0}.landing-hero-inner{z-index:1;grid-template-columns:1fr 1fr;align-items:center;gap:56px;max-width:1100px;margin:0 auto;display:grid;position:relative}.landing-hero-content{max-width:500px}.landing-badge{border:1px solid var(--ink-light);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--accent);letter-spacing:.02em;opacity:0;background:#ffffffb3;border-radius:999px;align-items:center;gap:6px;margin-bottom:20px;padding:5px 14px 5px 10px;font-size:12px;font-weight:700;animation:.5s .1s forwards fadeSlideUp;display:inline-flex}.landing-hero h1{letter-spacing:0;color:var(--ink);opacity:0;margin:0 0 16px;font-family:DM Serif Display,Georgia,Noto Serif SC,serif;font-size:56px;line-height:1.08;animation:.6s .2s forwards fadeSlideUp;position:relative}.h1-accent{background:linear-gradient(90deg, var(--accent), var(--accent-light));border-radius:2px;width:52px;height:3px;margin-top:16px;display:block}.landing-tagline{color:var(--accent);letter-spacing:.01em;opacity:0;margin:0 0 14px;font-size:18px;font-weight:700;animation:.5s .35s forwards fadeSlideUp}.landing-desc{color:var(--ink-muted);opacity:0;margin:0 0 32px;font-size:16px;line-height:1.75;animation:.5s .45s forwards fadeSlideUp}.landing-cta-group{opacity:0;flex-wrap:wrap;gap:12px;animation:.5s .55s forwards fadeSlideUp;display:flex}.landing-cta-secondary{background:0 0}.landing-hero-proof{color:var(--ink-muted);opacity:0;align-items:center;gap:8px;margin-top:24px;font-size:13px;animation:.5s .65s forwards fadeSlideUp;display:flex}.landing-hero-proof strong{color:var(--ink)}.proof-dot{background:#6abf7b;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse;display:inline-block;box-shadow:0 0 0 3px #6abf7b33}.landing-hero-visual{perspective:1000px;justify-content:center;display:flex}.mock-scene{width:340px;height:380px;position:relative}.mock-card-float{pointer-events:none;border-radius:14px;width:300px;height:280px;position:absolute}.mock-card-back{opacity:0;background:linear-gradient(145deg,#f0e8d8,#ebe3d3);animation:.8s .4s forwards floatCard;top:20px;left:30px;transform:rotate(-6deg)}.mock-card-mid{opacity:0;background:linear-gradient(145deg,#f5ede0,#f0e8d8);border:1px solid #0000000a;animation:.8s .5s forwards floatCard;top:10px;left:20px;transform:rotate(-3deg)}.landing-mock-card{z-index:2;border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;background:#ffffffeb;border-radius:14px;gap:0;width:320px;padding:20px;animation:.8s .3s forwards floatCard;display:grid;position:relative;box-shadow:0 1px 2px #0000000a,0 8px 24px #0000000f,0 24px 48px #5a3c1414}.mock-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:4px;padding-bottom:12px;display:flex}.mock-card-label{color:var(--ink-muted);letter-spacing:.04em;font-size:11px;font-weight:600}.mock-card-round{color:var(--accent);background:#b46b2b14;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700}.mock-word-row{border-bottom:1px solid var(--border-light);grid-template-columns:24px 1fr 1fr;align-items:center;gap:10px;padding:10px 0;font-size:14px;display:grid}.mock-word-row:last-of-type{border-bottom:0}.mock-index{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.mock-word{color:var(--ink);font-size:15px;font-weight:700}.mock-meaning.blurred{color:var(--ink-faint);filter:blur(3.5px);-webkit-user-select:none;user-select:none}.mock-progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-warm));border-radius:3px;width:35%;height:100%;animation:3s ease-in-out infinite progressPulse}.mock-label{text-align:center;color:var(--accent);letter-spacing:.02em;margin:10px 0 0;font-size:11px;font-weight:700}.landing-section.alt-bg{background:var(--bg-warm);margin:0 -20px;padding-left:20px;padding-right:20px}.landing-section-heading{text-align:center;margin-bottom:40px}.landing-section-heading h2{letter-spacing:0;color:var(--ink);margin:0;font-family:DM Serif Display,Georgia,Noto Serif SC,serif;font-size:30px}.landing-section-heading p{max-width:480px;margin:10px auto 0}.method-steps{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.method-step{text-align:left;border:1px solid var(--border);background:var(--bg-card);border-radius:14px;padding:32px 24px 28px;transition:border-color .2s,box-shadow .2s;position:relative}.method-step:hover{border-color:var(--border-warm);box-shadow:0 8px 32px #5a3c140f}.method-step-number{color:#b46b2b14;pointer-events:none;font-family:DM Serif Display,Georgia,serif;font-size:42px;line-height:1;position:absolute;top:18px;right:20px}.method-step-icon{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-warm));border-radius:12px;place-items:center;width:48px;height:48px;margin-bottom:18px;display:grid;box-shadow:0 4px 12px #b46b2b33}.method-step h3{color:var(--ink);margin:0 0 8px;font-size:17px;font-weight:700}.method-step p{color:var(--ink-muted);margin:0;font-size:14px;line-height:1.65}.feature-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.feature-card{border:1px solid var(--border);background:var(--bg-card);text-align:center;border-radius:14px;padding:28px 20px;transition:border-color .2s,box-shadow .2s,transform .2s}.feature-card:hover{border-color:var(--border-warm);transform:translateY(-2px);box-shadow:0 8px 32px #5a3c140f}.feature-card-icon{width:44px;height:44px;color:var(--accent);background:#b46b2b12;border-radius:11px;place-items:center;margin:0 auto 14px;display:grid}.feature-card h3{color:var(--ink);margin:0 0 8px;font-size:15px;font-weight:700}.feature-card p{color:var(--ink-muted);margin:0;font-size:13px;line-height:1.6}.wordbook-preview-card{border:1px solid var(--border);background:var(--bg-card);border-radius:14px;grid-template-columns:60px 1fr;gap:20px;max-width:480px;margin:0 auto;padding:24px;transition:border-color .2s,box-shadow .2s;display:grid;box-shadow:0 4px 20px #5a3c140d}.wordbook-preview-card:hover{border-color:var(--border-warm);box-shadow:0 8px 32px #5a3c1414}.wordbook-preview-icon{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-warm));border-radius:14px;place-items:center;width:60px;height:60px;display:grid;box-shadow:0 6px 16px #b46b2b33}.wordbook-preview-info h3{color:var(--ink);margin:0 0 6px;font-size:17px;font-weight:700}.wordbook-preview-info p{color:var(--ink-muted);margin:0 0 12px;font-size:14px;line-height:1.55}.wordbook-preview-meta{flex-wrap:wrap;gap:6px;display:flex}.wordbook-preview-meta span{border:1px solid var(--border);background:var(--bg-warm);color:var(--ink-soft);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.feature-grid-3{grid-template-columns:repeat(3,1fr)}.landing-author{padding:48px 0}.author-card{grid-template-columns:72px 1fr;align-items:start;gap:24px;max-width:560px;margin:0 auto;display:grid}.author-avatar{color:#fff;background:#f4f1ec;border-radius:50%;place-items:center;width:72px;height:72px;font-family:DM Serif Display,Georgia,serif;font-size:28px;display:grid;overflow:hidden;box-shadow:0 4px 16px #8b5e2b33}.author-avatar img{object-fit:cover;width:100%;height:100%;display:block}.author-info h3{color:var(--ink);margin:0 0 8px;font-family:DM Serif Display,Georgia,Noto Serif SC,serif;font-size:20px}.author-info p{color:var(--ink-muted);margin:0 0 14px;font-size:14px;line-height:1.7}.author-contact{flex-wrap:wrap;gap:16px;display:flex}.author-contact-item{color:var(--accent);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.landing-auth-form{max-width:400px;margin:0 auto}.form-panel.compact{border:1px solid var(--border);background:var(--bg-card);border-radius:14px;padding:28px;box-shadow:0 4px 20px #5a3c140d}.landing-footer{text-align:center;border-top:1px solid var(--border);padding:36px 0}.footer-inner{flex-direction:column;gap:6px;display:flex}.footer-brand{color:var(--ink-soft);letter-spacing:.01em;margin:0;font-family:DM Serif Display,Georgia,Noto Serif SC,serif;font-size:15px}.footer-author{color:var(--ink-faint);letter-spacing:.02em;margin:0;font-size:12px}.user-home{gap:20px;display:grid}.user-home-header h1{color:var(--ink);margin:0 0 6px;font-family:DM Serif Display,Georgia,Noto Serif SC,serif;font-size:28px}.stats-dashboard{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.stat-card{border:1px solid var(--border);background:var(--bg-card);text-align:center;border-radius:12px;padding:16px;box-shadow:0 1px 4px #00000008}.stat-card-icon{width:36px;height:36px;color:var(--accent);background:#b46b2b12;border-radius:9px;place-items:center;margin:0 auto 8px;display:grid}.stat-card-value{color:var(--ink);font-size:22px;font-weight:800}.stat-card-label{color:var(--ink-muted);margin-top:4px;font-size:12px}.today-progress{border:1px solid var(--border-warm);background:#b46b2b0a;border-radius:12px;padding:14px 18px}.today-progress h3{color:var(--accent);margin:0 0 8px;font-size:14px}.today-progress-items{color:var(--ink-soft);gap:24px;font-size:14px;display:flex}.today-progress-items strong{color:var(--ink);font-size:18px}.current-plan-card{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px;display:flex;box-shadow:0 1px 4px #00000008}.current-plan-info{flex:1;min-width:0}.current-plan-info h3{margin:0 0 4px;font-size:16px;font-weight:700}.continue-button{flex-shrink:0}.progress-bar{background:var(--border-light);border-radius:4px;height:7px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--accent), var(--accent-warm));border-radius:4px;height:100%;transition:width .3s}.wordbook-section .section-heading{margin-bottom:16px}.wordbook-section .section-heading h2{color:var(--ink);margin:0;font-family:DM Serif Display,Georgia,Noto Serif SC,serif;font-size:22px}.wordbook-section-notice{width:100%;margin:0 0 16px}.wordbook-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.wordbook-home-card{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;gap:8px;padding:20px;transition:border-color .2s,box-shadow .2s;display:grid;box-shadow:0 1px 4px #00000008}.wordbook-home-card:hover{border-color:var(--border-warm);box-shadow:0 4px 16px #5a3c140f}.wordbook-home-card-header{justify-content:space-between;align-items:center;display:flex}.wordbook-home-icon{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-warm));border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.wordbook-status-badge{border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.wordbook-status-badge.not_started{color:#4a5578;background:#646e8c14}.wordbook-status-badge.in_progress{color:var(--accent);background:#b46b2b14}.wordbook-status-badge.completed{color:#4a8040;background:#6aa05a1a}.wordbook-home-card h3{color:var(--ink);margin:0;font-size:16px;font-weight:700}.wordbook-home-card p{color:var(--ink-muted);margin:0;font-size:13px;line-height:1.5}.wordbook-home-meta{flex-wrap:wrap;gap:6px;display:flex}.wordbook-home-meta span{border:1px solid var(--border);background:var(--bg-warm);color:var(--ink-soft);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.wordbook-home-progress{align-items:center;gap:10px;display:flex}.wordbook-home-progress .progress-bar{flex:1}.wordbook-progress-text{color:var(--accent);white-space:nowrap;font-size:13px;font-weight:800}.wordbook-home-actions{grid-template-columns:auto auto 1fr;align-items:end;gap:8px;display:grid}.wordbook-setting{color:var(--ink-muted);font-size:12px;font-weight:700}.history-section{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;overflow:hidden}.history-toggle{cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:16px 20px;display:flex}.history-toggle h2{margin:0;font-size:16px;font-weight:700}.history-toggle-arrow{color:var(--accent);font-size:13px;font-weight:700}.history-list{border-top:1px solid var(--border-light);padding:12px 20px 16px}.history-day{padding:6px 0}.history-day-header{justify-content:space-between;align-items:center;font-size:14px;display:flex}.history-date{color:var(--ink);font-weight:700}.history-count{color:var(--accent);font-size:13px;font-weight:700}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes floatCard{0%{opacity:0;transform:translateY(20px) rotate(var(--card-rotate,0deg))}to{opacity:1;transform:translateY(0) rotate(var(--card-rotate,0deg))}}.mock-card-back{--card-rotate:-6deg}.mock-card-mid{--card-rotate:-3deg}.landing-mock-card{--card-rotate:0deg}@keyframes pulse{0%,to{box-shadow:0 0 0 3px #6abf7b33}50%{box-shadow:0 0 0 6px #6abf7b1a}}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.8}}@media (max-width:860px),(pointer:coarse) and (max-width:1024px){.landing-hero-inner{text-align:center;grid-template-columns:1fr}.landing-hero-content{max-width:none}.h1-accent{margin-left:auto;margin-right:auto}.landing-cta-group,.landing-hero-proof{justify-content:center}.landing-hero-visual{display:none}.method-steps{grid-template-columns:1fr;max-width:400px;margin:0 auto}.method-step{text-align:center}.method-step-number{margin-bottom:-8px;position:static}.feature-grid,.feature-grid-3{grid-template-columns:repeat(2,1fr)}.author-card{text-align:center;grid-template-columns:1fr;justify-items:center}.stats-dashboard{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px),(pointer:coarse) and (max-width:1024px){.landing-page{flex-direction:column;padding:0 10px;display:flex}.landing-hero{order:1;margin:0 -10px;padding:24px 14px 20px}.landing-hero-inner{text-align:left;grid-template-columns:1fr;gap:16px}.landing-hero-content{max-width:none}.landing-badge{margin-bottom:12px;padding:5px 12px 5px 9px}.landing-hero h1{margin-bottom:12px;font-size:34px;line-height:1.08}.h1-accent{width:44px;margin-top:12px;margin-left:0;margin-right:0}.landing-tagline{font-size:16px;line-height:1.45}.landing-desc{margin-bottom:18px;font-size:15px;line-height:1.65}.landing-cta-group{gap:10px;display:grid}.landing-cta{width:100%}.landing-cta-secondary{display:none}.landing-hero-proof{text-align:left;justify-content:flex-start;align-items:flex-start;margin-top:16px;font-size:12px;line-height:1.45}.landing-hero-visual{perspective:none;margin-top:2px;display:flex}.mock-scene{width:100%;height:auto}.mock-card-float{display:none}.landing-mock-card{opacity:1;border-radius:12px;width:100%;max-width:330px;margin:0 auto;padding:14px;animation:none}.mock-card-header{padding-bottom:9px}.mock-word-row{grid-template-columns:20px minmax(0,.9fr) minmax(0,1fr);gap:8px;padding:7px 0}.mock-word{font-size:14px}.mock-meaning{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.mock-progress-bar{margin-top:10px}.mock-label{margin-top:8px}.landing-section{padding:28px 0}.landing-section.alt-bg{margin:0 -10px;padding-left:10px;padding-right:10px}.landing-auth-section{order:3}.landing-mini-program{order:2}.landing-method{order:4}.landing-features{order:5}.landing-faq{order:6}.landing-author{order:7}.landing-footer{order:8;padding:24px 0}.landing-section-heading{margin-bottom:18px}.landing-section-heading h2{font-size:24px;line-height:1.15}.landing-section-heading p{margin-top:8px}.method-steps{gap:10px;max-width:none}.method-step{text-align:left;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:4px 12px;padding:14px;display:grid}.method-step-number{margin:0;font-size:28px;position:absolute;top:10px;right:14px}.method-step-icon{border-radius:10px;grid-row:1/span 2;width:42px;height:42px;margin:0}.method-step h3{margin:0;font-size:16px}.method-step p{font-size:13px;line-height:1.45}.feature-grid{grid-template-columns:1fr;gap:10px}.feature-grid-3{grid-template-columns:1fr}.feature-card{text-align:left;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:3px 12px;padding:14px;display:grid}.feature-card-icon{grid-row:1/span 2;width:40px;height:40px;margin:0}.feature-card h3{margin:0}.feature-card p{font-size:13px;line-height:1.45}.author-card{text-align:left;grid-template-columns:48px minmax(0,1fr);justify-items:start;gap:12px;padding:16px 0}.author-avatar{width:48px;height:48px;font-size:20px}.author-info h3{font-size:18px}.author-info p{margin-bottom:10px;font-size:13px;line-height:1.55}.form-panel.compact{border-radius:12px;gap:12px;padding:16px}.segmented button{min-height:38px}.form-panel.compact input{min-height:42px}.stats-dashboard{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.user-home{gap:14px}.user-home-header h1{overflow-wrap:anywhere;font-size:24px;line-height:1.15}.stat-card{border-radius:10px;padding:9px 4px}.stat-card-icon{width:28px;height:28px;margin-bottom:4px}.current-plan-card,.wordbook-home-card{padding:14px}.stat-card-value{font-size:16px}.stat-card-label{white-space:nowrap;font-size:11px}.wordbook-grid{grid-template-columns:1fr}.wordbook-home-actions{grid-template-columns:1fr 1fr;gap:10px}.wordbook-home-icon{border-radius:9px;width:36px;height:36px}.wordbook-home-card h3{font-size:17px}.wordbook-home-card p{line-height:1.45}.wordbook-setting input{min-height:38px}.wordbook-home-actions .primary-button{grid-column:1/-1}}.admin-page{gap:24px;display:grid}.admin-tabs{border:1px solid var(--border);background:var(--bg-warm);border-radius:10px;gap:4px;padding:4px;display:flex}.admin-tabs button{min-height:38px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;font-size:14px;font-weight:700;transition:background .15s,color .15s}.admin-tabs button.active{background:var(--bg-card);color:var(--ink);box-shadow:0 1px 4px #0000000f}.admin-message{border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:13px;font-weight:700}.admin-message.success{color:#3f7337;background:#6aa05a14;border-color:#6aa05a47}.admin-message.error{color:#9a3d35;background:#be524814;border-color:#be52484d}.admin-wordbook-tools{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:14px;display:grid}.admin-form-panel,.admin-repair-form,.admin-status-reason{border:1px solid var(--border);background:var(--bg-card);border-radius:8px;gap:12px;padding:16px;display:grid}.admin-form-header{min-height:24px;color:var(--ink);justify-content:space-between;align-items:center;display:flex}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.admin-form-panel label,.admin-repair-form label,.admin-status-reason label{gap:6px;min-width:0;display:grid}.admin-form-panel label span,.admin-repair-form label span,.admin-status-reason label span{color:var(--ink-muted);font-size:12px;font-weight:700}.admin-form-panel input,.admin-form-panel select,.admin-form-panel textarea,.admin-repair-form input,.admin-status-reason input{border:1px solid var(--border);width:100%;min-width:0;color:var(--ink);font:inherit;background:#ffffffb3;border-radius:8px;padding:9px 10px;font-size:14px}.admin-form-panel textarea{resize:vertical;line-height:1.45}.admin-checkbox{grid-template-columns:auto 1fr;align-content:end;gap:8px}.admin-checkbox input{width:18px;height:18px}.admin-form-wide{grid-column:1/-1}.admin-status-reason{max-width:520px}.admin-search{grid-template-columns:minmax(180px,360px) auto;align-items:center;gap:10px;margin-bottom:14px;display:grid}.admin-search input{border:1px solid var(--border);width:100%;color:var(--ink);font:inherit;background:#ffffffb3;border-radius:8px;padding:9px 10px;font-size:14px}.admin-detail-panel{gap:14px;margin-top:16px;display:grid}.admin-detail-header{border:1px solid var(--border);background:var(--bg-card);border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.admin-detail-header div{gap:4px;display:grid}.admin-detail-header span{color:var(--ink-muted);font-size:13px}.admin-stat-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.admin-stat-card{border:1px solid var(--border);background:var(--bg-card);text-align:center;border-radius:12px;padding:20px}.admin-stat-icon{width:40px;height:40px;color:var(--accent);background:#b46b2b12;border-radius:10px;place-items:center;margin:0 auto 10px;display:grid}.admin-stat-value{color:var(--ink);font-size:28px;font-weight:800}.admin-stat-label{color:var(--ink-muted);margin-top:4px;font-size:13px}.admin-table{border-collapse:collapse;border:1px solid var(--border);background:var(--bg-card);border-radius:12px;width:100%;overflow:hidden}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border-light);padding:12px 16px;font-size:14px}.admin-table th{background:var(--bg-warm);color:var(--ink-muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.admin-table tr:last-child td{border-bottom:0}.role-badge,.status-badge{border-radius:999px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.role-badge.admin{color:var(--accent);background:#b46b2b1a}.role-badge.user{color:#4a5578;background:#646e8c14}.status-badge.published{color:#4a8040;background:#6aa05a1a}.status-badge.draft{color:#4a5578;background:#646e8c14}.status-badge.archived{color:#888;background:#a0a0a01a}.status-badge.active{color:#2d6f89;background:#5091af1a}.status-badge.completed{color:#4a8040;background:#6aa05a1a}.status-badge.paused,.status-badge.disabled{color:#9a3d35;background:#be52481a}@media (max-width:640px),(pointer:coarse) and (max-width:1024px){.admin-wordbook-tools,.admin-form-grid,.admin-search{grid-template-columns:1fr}.admin-stat-grid{grid-template-columns:1fr 1fr}.admin-table{font-size:13px}.admin-table th,.admin-table td{padding:10px 12px}}:root{--ink:#171412;--ink-soft:#3a3028;--ink-muted:#74685c;--ink-faint:#ad9b88;--ink-light:#ddd0c1;--accent:#b6654b;--accent-deep:#8c4a39;--accent-warm:#d29a81;--accent-light:#edd8cd;--bg:#f5efe6;--bg-warm:#efe5d8;--bg-card:#fcf8f2db;--border:#745c402e;--border-light:#745c401a;--border-warm:#c9735538;--dark-ink:#312720;--dark-elevated:#3d312a;--success:#5d9a70;--shadow-soft:0 10px 24px #432d190f;--shadow-medium:0 20px 40px #432d191a;--shadow-large:0 30px 64px #432d191f;font-family:Manrope,PingFang SC,Microsoft YaHei,sans-serif}html{background:var(--bg);overflow-x:hidden}body{color:var(--ink);background:radial-gradient(circle at 0 0,#dcb79a24,#0000 28%),radial-gradient(circle at 90% 20%,#b6654b12,#0000 24%),linear-gradient(#fcf8f2 0%,#f5efe6 46%,#efe5d8 100%);font-family:Manrope,PingFang SC,Microsoft YaHei,sans-serif;position:relative;overflow-x:hidden}body:before,body:after{content:"";pointer-events:none;z-index:-1;border:1px solid #b6654b1a;border-radius:999px;position:fixed;top:auto;bottom:auto;left:auto;right:auto}body:before{width:540px;height:540px;top:-220px;right:-180px}body:after{width:660px;height:660px;bottom:-260px;left:-220px}#root{isolation:isolate;position:relative}h1,h2,h3,.landing-hero h1,.landing-section-heading h2,.study-header h2,.study-progress-copy h3,.current-plan-info h3,.wordbook-home-card h3,.wordbook-section .section-heading h2,.author-info h3,.history-toggle h2,.home-focus-panel strong,.user-home-header h1{letter-spacing:-.03em;font-family:Cormorant Garamond,Noto Serif SC,serif;font-weight:600}button,input,select,textarea{font-family:Manrope,PingFang SC,Microsoft YaHei,sans-serif}.eyebrow,.landing-badge,.landing-visual-note-label,.home-focus-kicker,.current-plan-meta span,.wordbook-home-volume span,.wordbook-setting,.study-stat-chip span,.study-progress-caption,.word-reveal-pill,.streak-pill,.wordbook-home-meta span,.history-count,.wordbook-status-badge,.role-badge,.status-badge{font-family:JetBrains Mono,ui-monospace,monospace}.eyebrow{color:var(--accent);letter-spacing:.16em;margin-bottom:10px;font-size:11px;font-weight:500}.muted{color:var(--ink-muted)}.app-shell,.landing-page{width:min(1240px,100% - 32px);max-width:none}.app-shell{padding:18px 0 40px}.loading-shell{place-items:center;display:grid}.topbar,.landing-topbar{border:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:min(1240px,100% - 32px);box-shadow:var(--shadow-medium);background:#fcf8f2cc;border-radius:999px;margin:18px auto 16px;padding:14px 18px;position:relative}.topbar{padding-inline-start:20px;padding-inline-end:20px}.topbar-actions{gap:10px}.brand{gap:12px}.brand-mark,.wordbook-home-icon,.method-step-icon{border-radius:16px;width:44px;height:44px}.brand-mark{box-shadow:none;background:0 0;overflow:visible}.brand-logo-svg{border-radius:inherit;object-fit:cover;width:100%;height:100%;display:block}.wordbook-home-icon,.method-step-icon{background:linear-gradient(145deg, var(--dark-ink), #4b3c31);color:#fcf8f2;box-shadow:inset 0 1px #ffffff14}.brand strong{font-size:17px;line-height:1}.brand span{color:var(--ink-muted);margin-top:2px;font-size:12px}.notice{width:min(1240px,100% - 32px);color:var(--accent);box-shadow:var(--shadow-soft);background:#fcf8f2e6;border:1px solid #b6654b24;border-radius:22px;margin:0 auto 16px;padding:12px 18px}.landing-page{margin:0 auto;padding:0 0 44px}.landing-notice{padding:12px 18px}.primary-button,.ghost-button,.tool-button,.completion-strip button,.complete-page-button{border-radius:999px;min-height:48px;font-weight:700;transition:transform .24s,box-shadow .24s,background .24s,border-color .24s}.primary-button{background:linear-gradient(135deg, var(--accent-deep,#a14d35), var(--accent));color:#fff;border:1px solid #0000;width:auto;padding:0 22px;box-shadow:0 16px 30px #a0593c2e}.primary-button:hover{transform:translateY(-1px);box-shadow:0 20px 34px #a0593c3d}.ghost-button,.tool-button,.completion-strip button{border:1px solid var(--border);color:var(--ink-soft);background:#fcf8f2d6;box-shadow:0 8px 20px #432d190d}.ghost-button:hover,.tool-button:hover{border-color:var(--border-warm);transform:translateY(-1px);box-shadow:0 12px 24px #432d1914}.form-panel,.dashboard,.library,.study-surface,.stat-card,.current-plan-card,.wordbook-home-card,.history-section,.admin-stat-card,.admin-table,.today-progress,.author-card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-soft)}.form-panel{box-shadow:var(--shadow-large);background:#fffcf8eb;border-radius:30px;gap:16px;padding:24px}.form-panel.compact{border-radius:30px;padding:28px}.segmented{border:1px solid var(--border);background:#efe5d899;border-radius:999px;padding:6px}.segmented button{min-height:42px;color:var(--ink-muted);border-radius:999px;font-weight:700}.segmented button.active{color:var(--ink);background:#fff;box-shadow:0 12px 24px #432d1914}label{color:var(--ink-soft);gap:8px;font-size:13px;font-weight:700}input{border:1px solid var(--border);background:#fffc;border-radius:16px;min-height:48px;padding:0 15px}input:focus{outline-offset:2px;border-color:#c9735566;outline:3px solid #c9735529}button:focus-visible{outline-offset:2px;border-color:#c9735566;outline:3px solid #c9735529}.error-text{color:#bb4c36}.auth-info{background:#fff8f2e0;border:1px solid #c9735533;border-radius:24px;gap:12px;padding:16px}.auth-success-text{color:#206c48}.landing-hero{margin:0;padding:6px 0 0;position:relative;overflow:visible}.landing-hero-bg{border:1px solid var(--border);box-shadow:var(--shadow-large);background:linear-gradient(135deg,#fffcf8f2,#f4ece4e6),linear-gradient(#fff3,#0000);border-radius:44px;position:absolute;top:0;bottom:0;left:0;right:0}.landing-hero-bg:before{content:"";background:radial-gradient(circle,#b6654b24,#0000 66%);border-radius:50%;width:320px;height:320px;position:absolute;top:18%;bottom:auto;left:auto;right:4%}.landing-hero-grain{opacity:.16}.landing-orbit{pointer-events:none;border:1px dashed #b6654b1f;border-radius:999px;position:absolute}.landing-orbit-one{width:320px;height:320px;top:12%;right:10%}.landing-orbit-two{width:440px;height:210px;bottom:10%;left:44%}.landing-hero-inner{z-index:1;text-align:left;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:center;gap:42px;max-width:none;padding:82px 74px 68px;position:relative}.landing-hero-content{text-align:left;max-width:560px}.landing-badge{color:var(--accent);letter-spacing:.12em;background:#ffffffc7;border-color:#c973552e;margin-bottom:18px;padding:7px 14px 7px 11px;font-size:11px}.landing-hero h1{max-width:none;color:var(--ink);margin-bottom:18px;font-size:max(64px,min(8vw,92px));line-height:.92}.landing-title-line{display:block}.h1-accent{background:linear-gradient(90deg, var(--accent), var(--accent-warm));border-radius:999px;width:84px;height:5px;margin-top:18px}.landing-tagline{color:var(--accent-deep);margin-bottom:16px;font-size:21px;font-weight:700}.landing-desc{color:var(--ink-soft);margin-bottom:28px;font-size:16px;line-height:1.82}.landing-cta-group{justify-content:flex-start;gap:14px}.landing-cta{min-width:172px}.landing-cta-secondary{background:#fcf8f299;padding-inline-start:18px;padding-inline-end:18px}.landing-hero-proof{color:var(--ink-muted);justify-content:flex-start;margin-top:24px;font-size:13px}.proof-dot{background:var(--accent);box-shadow:0 0 0 3px #b6654b24}.landing-proof-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:520px;margin-top:20px;display:grid}.landing-proof-card{border:1px solid var(--border);background:#ffffff94;border-radius:22px;padding:13px 15px;box-shadow:inset 0 1px #ffffffb3}.landing-proof-card span,.landing-proof-card strong{display:block}.landing-proof-card span{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.landing-proof-card strong{color:var(--ink);margin-top:10px;font-size:18px}.landing-hero-visual{justify-items:end;gap:18px;display:grid;position:relative}.landing-visual-note,.landing-visual-note{border:1px solid var(--border);width:100%;max-width:360px;box-shadow:var(--shadow-soft);background:#ffffffb3;border-radius:24px;padding:16px 18px}.landing-visual-note strong,.landing-visual-note strong{color:var(--ink);margin-top:10px;font-size:17px;line-height:1.45;display:block}.landing-visual-note-label,.landing-visual-note-label{color:var(--ink-muted);letter-spacing:.14em;text-transform:uppercase;font-size:11px}.mock-scene{width:100%;max-width:410px;height:440px}.mock-card-float{border-radius:34px;width:350px;height:320px}.mock-card-back{background:linear-gradient(145deg,#e9dbcbe6,#eee5d9c7);top:28px;left:44px}.mock-card-mid{background:linear-gradient(145deg,#f4ece3eb,#faf4edc2);border-color:#745c4014;top:14px;left:24px}.landing-mock-card{background:#fffbf6eb;border-color:#745c4024;border-radius:30px;width:390px;padding:24px;box-shadow:0 22px 44px #48301c24}.mock-card-header{border-bottom:1px solid var(--border-light);justify-content:space-between;gap:12px;padding-bottom:14px;display:flex}.mock-card-label,.mock-card-round,.mock-label{color:var(--ink-muted);font-size:12px}.mock-word-row{border-bottom:1px solid var(--border-light);grid-template-columns:26px minmax(0,.95fr) minmax(0,1fr);align-items:center;gap:10px;padding:12px 0;display:grid}.mock-index{color:var(--accent);font-family:JetBrains Mono,monospace;font-size:12px}.mock-word{font-family:Cormorant Garamond,serif;font-size:24px;line-height:1}.mock-meaning{color:var(--ink-muted);font-size:14px}.mock-meaning.blurred{color:#0000;text-shadow:0 0 8px #745c4057}.mock-progress-bar{background:#745c401a;border-radius:999px;height:10px;margin-top:20px;overflow:hidden}.mock-progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-warm));width:62%;height:100%}.mock-label{margin-top:14px}.landing-section{padding:68px 0 0}.landing-section.alt-bg{background:0 0;margin:0;padding-inline-start:0;padding-inline-end:0}.landing-section-heading,.section-heading{justify-items:start;max-width:640px;margin-bottom:24px;display:grid}.landing-section-heading h2,.section-heading h2{font-size:max(34px,min(4.6vw,50px));line-height:.98}.section-kicker{width:100%;color:color-mix(in srgb, var(--accent) 74%, var(--ink-muted) 26%);text-align:left;letter-spacing:.08em;background:0 0;border:0;justify-content:flex-start;justify-self:start;align-items:center;gap:10px;margin:0 0 14px;padding:0;font-size:14px;font-weight:700;display:flex}.section-kicker:before{content:"";background:#b6654b47;width:36px;height:1px}.landing-section-heading p:not(.eyebrow){margin-top:12px}.method-steps,.feature-grid{gap:18px}.method-step,.feature-card{box-shadow:var(--shadow-soft);background:#fffcf8bd;border-radius:28px;padding:24px 22px}.method-step:hover,.feature-card:hover,.wordbook-home-card:hover,.stat-card:hover,.admin-stat-card:hover{box-shadow:var(--shadow-medium);border-color:var(--border-warm);transform:translateY(-2px)}.method-step-number{color:#c973551a;font-size:54px;top:16px;right:24px}.method-step h3,.feature-card h3{margin-bottom:10px;font-size:24px}.method-step p,.feature-card p{font-size:14px;line-height:1.7}.feature-card{text-align:left}.feature-card-icon{width:46px;height:46px;color:var(--accent);background:#c973551a;border-radius:16px;margin:0 0 18px}.mini-program-card{border:1px solid var(--border);box-shadow:var(--shadow-large);background:linear-gradient(135deg,#fffcf8e6,#f0e7dbdb);border-radius:34px;grid-template-columns:minmax(0,1fr) minmax(160px,210px);align-items:center;gap:24px;padding:24px 28px;display:grid}.mini-program-copy{gap:12px;display:grid}.mini-program-copy h2{margin:0;font-size:max(30px,min(4vw,46px));line-height:.98}.mini-program-copy p:not(.section-kicker){max-width:58ch;color:var(--ink-soft);margin:0;font-size:15px;line-height:1.78}.mini-program-points{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.mini-program-points span{border:1px solid var(--border);min-height:34px;color:var(--ink-soft);background:#ffffffa8;border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.mini-program-qr{border:1px solid var(--border-light);text-align:center;background:#ffffffc7;border-radius:26px;justify-self:end;justify-items:center;gap:10px;margin:0;padding:10px;display:grid;box-shadow:0 16px 30px #432d1914}.mini-program-qr img{aspect-ratio:1;object-fit:contain;border-radius:18px;width:min(178px,34vw);display:block}.mini-program-qr.compact img{width:148px}.mini-program-qr figcaption{color:var(--ink-muted);font-size:12px;font-weight:700}.user-home-mini-program{grid-template-columns:minmax(0,1fr) minmax(140px,180px)}.user-home-mini-program .mini-program-copy h2{font-size:max(28px,min(3vw,36px))}.faq-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.faq-card{border:1px solid var(--border);box-shadow:var(--shadow-soft);background:#fffcf8c2;border-radius:28px;padding:22px 22px 20px}.faq-card h3{margin:0 0 10px;font-size:24px;line-height:1}.faq-card p{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.78}.author-card{text-align:left;border-radius:34px;grid-template-columns:92px minmax(0,1fr);align-items:start;gap:28px;max-width:880px;padding:24px 28px}.author-avatar{width:92px;height:92px;box-shadow:0 18px 34px #a0593c2e}.author-info p{font-size:14px;line-height:1.82}.author-note{color:var(--ink-soft);background:#b6654b0f;border-left:2px solid #b6654b66;border-radius:14px;margin:0 0 16px;padding:11px 14px}.author-contact-item{border:1px solid var(--border);background:#ffffff9e;border-radius:999px;padding:8px 12px}.landing-auth-layout{border:1px solid var(--border);box-shadow:var(--shadow-large);background:linear-gradient(135deg,#fffcf8eb,#f1e7dce0);border-radius:42px;grid-template-columns:minmax(0,1.05fr) minmax(340px,420px);align-items:center;gap:26px;padding:42px 44px;display:grid}.landing-auth-copy{gap:18px;display:grid}.landing-auth-points{flex-wrap:wrap;gap:10px;display:flex}.landing-auth-points span{border:1px solid var(--border);min-height:38px;color:var(--ink-soft);background:#ffffffa8;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.landing-auth-quote{max-width:18ch;color:var(--ink);letter-spacing:-.03em;margin:0;font-family:Cormorant Garamond,Noto Serif SC,serif;font-size:30px;line-height:1.05}.landing-auth-form{justify-self:end;width:100%;max-width:420px;margin:0}.form-panel .primary-button,.wordbook-home-actions .primary-button,.admin-table .ghost-button{width:100%}.landing-footer{text-align:left;background:linear-gradient(#30261f,#241d18);border:1px solid #ffffff14;border-radius:34px;margin-top:34px;padding:28px 32px}.footer-brand{color:#f5efe6;font-size:18px}.footer-author{color:#f5efe6a3}.footer-author strong{color:#f5efe6e6}.user-home{gap:22px}.home-focus-card{border:1px solid var(--border);box-shadow:var(--shadow-large);background:linear-gradient(135deg,#fffcf8f0,#f1e7dbeb);border-radius:38px;grid-template-columns:minmax(0,1.25fr) minmax(260px,340px);gap:20px;padding:26px 28px;display:grid;position:relative;overflow:hidden}.home-focus-card:before{content:"";background:radial-gradient(circle,#b6654b1a,#0000 70%);border-radius:50%;width:280px;height:280px;position:absolute;bottom:-90px;right:-70px}.user-home-header h1{text-wrap:nowrap;max-width:none;margin:0 0 10px;font-size:max(42px,min(4vw,56px));line-height:.92}.home-title-line{display:block}.home-title-name{margin-top:2px}.user-home-subtitle{color:var(--ink-muted);margin:0;font-size:15px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.home-focus-summary{max-width:46ch;color:var(--ink-soft);margin:16px 0 0;line-height:1.8}.home-streak-row{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.streak-pill,.current-plan-meta span,.wordbook-home-meta span,.wordbook-status-badge,.role-badge,.status-badge{border:1px solid var(--border);min-height:32px;color:var(--ink-muted);letter-spacing:.05em;background:#ffffff9e;border-radius:999px;align-items:center;padding:0 12px;font-size:11px;display:inline-flex}.home-focus-panel{z-index:1;color:#f5efe6;background:linear-gradient(#312720f2,#3a2d26f2);border:1px solid #ffffff14;border-radius:30px;align-content:start;gap:10px;padding:22px;display:grid;position:relative;box-shadow:inset 0 1px #ffffff14}.home-focus-panel strong{color:#fff9f2;font-size:52px;line-height:.88}.home-focus-panel p{color:#f5efe6b3;margin:0;line-height:1.7}.home-focus-footnote{color:#f5efe6bd;background:#ffffff0f;border-radius:18px;margin-top:6px;padding:12px 14px;font-size:13px}.home-focus-panel .primary-button,.home-focus-panel .ghost-button{width:100%;margin-top:8px}.stats-dashboard{gap:14px}.stat-card{text-align:left;border-radius:24px;padding:18px 16px}.stat-card-icon{width:42px;height:42px;color:var(--accent);background:#c973551a;border-radius:15px;margin:0 0 16px}.stat-card-value{font-size:30px;line-height:.95}.stat-card-label{letter-spacing:.04em;text-transform:uppercase;margin-top:10px;font-size:12px}.today-progress{background:linear-gradient(135deg,#c973551f,#fffcf8d1);border-radius:30px;padding:18px 20px}.today-progress h3{margin-bottom:10px;font-size:15px}.today-progress-items{flex-wrap:wrap;gap:20px}.today-progress-items strong{font-size:22px}.current-plan-card{border-radius:34px;align-items:flex-start;gap:18px;padding:22px 24px}.current-plan-card.completed-plan{background:linear-gradient(135deg,#fff9f4f0,#efe5d8f0)}.current-plan-info h3{margin:0 0 8px;font-size:32px;line-height:.96}.current-plan-detail{color:var(--ink-muted);margin:0;font-size:15px}.current-plan-meta{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.continue-button{width:auto;min-width:176px}.progress-bar{background:#745c4014;border-radius:999px;height:12px;margin-top:14px}.progress-bar.small{height:8px}.progress-bar-fill{background:linear-gradient(90deg, var(--accent), var(--accent-warm))}.wordbook-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.wordbook-home-card{border-radius:28px;gap:10px;padding:20px}.wordbook-home-volume{align-items:flex-end;gap:10px;display:flex}.wordbook-home-volume strong{color:var(--ink);font-family:Cormorant Garamond,serif;font-size:46px;line-height:.9}.wordbook-home-volume span{color:var(--ink-muted);letter-spacing:.14em;text-transform:uppercase;font-size:11px}.wordbook-home-card h3{font-size:26px;line-height:.96}.wordbook-home-card p{font-size:14px;line-height:1.7}.wordbook-home-active-note{color:var(--accent);margin:4px 0 0;font-size:13px;font-weight:700}.wordbook-home-progress{gap:12px}.wordbook-progress-text{color:var(--accent);font-size:12px}.wordbook-home-actions{gap:10px;margin-top:8px}.wordbook-setting{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.wordbook-setting input{min-height:44px;margin-top:8px;font-size:14px}.history-section{border-radius:28px}.history-toggle{padding:22px 26px}.history-toggle h2{font-size:30px}.history-list{gap:12px;padding:0 26px 22px;display:grid}.history-day{border-top:1px solid var(--border-light);padding:12px 0}.history-day:first-child{border-top:0}.history-day-body{margin-top:10px}.history-bar{background:#745c4014;border-radius:999px;height:10px;overflow:hidden}.history-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-warm));height:100%;display:block}.history-count{color:var(--accent)}.study-surface{box-shadow:var(--shadow-large);background:linear-gradient(#fffcf8f7,#f5efe6f0);border-radius:34px;position:relative}.study-surface:before{content:"";pointer-events:none;background:radial-gradient(circle at 100% 0,#b6654b1a,#0000 50%);height:210px;position:absolute;top:0;bottom:auto;left:0;right:0}.study-header{border-bottom:1px solid var(--border-light);padding:22px 24px 14px;position:relative}.study-header h2{font-size:42px;line-height:.92}.study-actions{gap:10px}.study-progress-panel{z-index:1;gap:14px;padding:0 24px 20px;display:grid;position:relative}.study-progress-copy h3{margin:0;font-size:28px;line-height:.96}.study-progress-copy p:last-child{max-width:58ch;color:var(--ink-muted);margin:10px 0 0;line-height:1.75}.study-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.study-stat-chip{border:1px solid var(--border);background:#ffffffb8;border-radius:20px;padding:14px 16px}.study-stat-chip span,.study-stat-chip strong{display:block}.study-stat-chip strong{color:var(--ink);margin-top:10px;font-size:18px;line-height:1.3}.study-progress-track{background:#745c4014;border-radius:999px;height:14px;overflow:hidden}.study-progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-warm));height:100%;display:block}.study-progress-caption{color:var(--ink-muted);letter-spacing:.08em;margin:-4px 0 0;font-size:12px}.audio-notice{color:var(--accent);letter-spacing:0;background:#c9735514;border:1px solid #c973552e;border-radius:12px;margin:0;padding:9px 12px;font-size:13px;line-height:1.45}.word-list{background:0 0;padding:0 16px 16px}.word-row{border:1px solid var(--border);background:#ffffffc7;border-radius:24px;grid-template-columns:56px minmax(170px,.9fr) minmax(180px,1.1fr) auto;gap:16px;min-height:84px;margin-top:8px;padding:16px 18px;box-shadow:0 10px 20px #432d190d}.word-row:first-child{margin-top:0}.word-row:hover{background:#ffffffe6}.word-index{width:42px;height:42px;color:var(--accent);background:#c973551a;border-radius:50%;place-items:center;font-size:12px;font-weight:500;display:grid}.word-main strong{font-size:24px;line-height:.94}.word-main small{color:var(--ink-muted);letter-spacing:.04em;margin-top:6px;font-size:12px}.meaning{color:var(--ink-soft);font-size:15px;line-height:1.7}.meaning.hidden{color:#0000;text-shadow:0 0 10px #745c4057;-webkit-user-select:none;user-select:none;filter:none}.word-reveal-pill{border:1px solid var(--border);min-height:34px;color:var(--ink-muted);letter-spacing:.06em;background:#ffffffd6;border-radius:999px;justify-self:end;align-items:center;padding:0 14px;font-size:11px;display:inline-flex}.word-reveal-pill.revealed{color:var(--accent);background:#c973551f;border-color:#c973553d}.sticky-complete{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#f5efe600,#f5efe6f0 28%,#f5efe6fa);border-top:0;padding:16px 18px 18px}.complete-page-button{background:linear-gradient(135deg, var(--dark-ink), var(--dark-elevated));border-radius:999px;min-height:58px;box-shadow:0 18px 34px #31272038}.complete-page-button[data-state=saving]{background:linear-gradient(135deg,#1f6f4d,#30a26b)}.page-complete-toast{background:#ecfdf3f0;border-radius:999px;top:20px}.admin-page{gap:20px}.admin-tabs{background:#efe5d8b8;border-radius:999px;padding:6px}.admin-tabs button{border-radius:999px}.admin-tabs button.active{box-shadow:0 10px 20px #432d1914}.admin-stat-card{border-radius:28px}.admin-table{border-radius:30px;overflow:hidden}.admin-table th{background:#efe5d8d1}@media (max-width:1100px){.landing-hero-inner,.landing-auth-layout,.mini-program-card,.home-focus-card{grid-template-columns:1fr}.landing-hero-visual,.landing-visual-note,.landing-auth-form,.mini-program-qr{justify-self:stretch;justify-items:start;max-width:none}.landing-visual-note,.landing-hero h1{max-width:none}}@media (max-width:860px),(pointer:coarse) and (max-width:1024px){.topbar,.landing-topbar,.notice,.landing-page,.app-shell{width:calc(100% - 24px)}.landing-hero-inner{gap:28px;padding:54px 30px 42px}.landing-proof-grid,.study-stat-grid,.method-steps,.faq-grid,.feature-grid,.feature-grid-3,.stats-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}.author-card{grid-template-columns:1fr}}@media (max-width:640px),(pointer:coarse) and (max-width:1024px){.topbar,.landing-topbar{border-radius:24px;margin-top:12px;padding:12px 14px}.topbar{align-items:flex-start}.topbar-actions{justify-content:flex-end;width:100%}.brand strong{font-size:15px}.brand span{font-size:11px}.notice{border-radius:18px;padding:10px 14px}.landing-page,.app-shell,.notice{width:calc(100% - 20px)}.landing-hero{padding-top:0}.landing-hero-bg{border-radius:28px}.landing-hero-inner{padding:34px 20px 28px}.landing-hero h1{font-size:48px;line-height:.96}.landing-tagline{font-size:18px}.landing-desc{font-size:15px;line-height:1.7}.landing-cta-group{display:grid}.landing-cta,.landing-cta-secondary{width:100%}.landing-proof-grid,.method-steps,.faq-grid,.feature-grid,.feature-grid-3,.stats-dashboard,.study-stat-grid{grid-template-columns:1fr}.landing-hero-visual{gap:12px}.mock-scene{max-width:none;height:auto}.landing-mock-card{border-radius:22px;width:100%;max-width:none;padding:18px}.mock-card-float{display:none}.landing-section{padding-top:46px}.method-step,.feature-card,.mini-program-card,.author-card,.form-panel,.form-panel.compact,.home-focus-card,.current-plan-card,.wordbook-home-card,.history-section,.study-surface,.landing-auth-layout,.landing-footer{border-radius:24px}.method-step h3,.feature-card h3,.wordbook-home-card h3{font-size:24px}.landing-auth-layout{padding:24px 18px}.mini-program-card{padding:22px 18px}.mini-program-qr img,.mini-program-qr.compact img{width:154px}.landing-auth-quote{font-size:28px}.home-focus-card{padding:22px 20px}.user-home-header h1{font-size:40px;line-height:.94}.section-kicker{font-size:13px}.home-focus-panel strong{font-size:48px}.current-plan-card,.wordbook-home-card{padding:18px}.current-plan-info h3,.study-progress-copy h3{font-size:28px}.wordbook-home-volume strong{font-size:46px}.wordbook-home-actions{grid-template-columns:1fr 1fr}.wordbook-home-actions .primary-button{grid-column:1/-1}.history-toggle{padding:18px 20px}.history-list{padding:0 20px 18px}.study-header{grid-template-columns:1fr;gap:14px;padding:18px 20px 12px;display:grid}.study-header h2{font-size:38px}.study-progress-panel{padding:0 20px 18px}.word-list{padding:0 12px 18px}.word-row{border-radius:22px;grid-template-columns:1fr;gap:10px;min-height:0;padding:16px}.word-index{width:38px;height:38px}.word-main strong{font-size:25px}.word-reveal-pill{justify-self:start}.study-surface .word-list{padding-bottom:94px}.sticky-complete{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:20;border:1px solid var(--border);box-shadow:var(--shadow-large);background:#fcf8f2e6;border-radius:20px;padding:8px;position:fixed}.complete-page-button{min-height:54px}.page-complete-toast{max-width:calc(100% - 24px);top:16px}.study-app-shell{background:var(--dark-ink,#312720);width:100%;height:100dvh;min-height:100dvh;margin:0;padding:0;overflow:hidden}.study-app-shell>.study-topbar{display:none}.study-app-shell>.notice{right:12px;bottom:calc(82px + env(safe-area-inset-bottom));z-index:40;text-align:center;background:#fffcf8f0;border-radius:999px;margin:0;position:fixed;left:12px;box-shadow:0 14px 34px #3127202e}.study-app-shell .study-surface{width:100%;height:100dvh;min-height:100dvh;box-shadow:none;background:linear-gradient(#fffaf4 0%,#f8f0e6 48%,#f2e8dc 100%);border:0;border-radius:0;grid-template-rows:auto auto minmax(0,1fr);margin:0;display:grid;overflow:hidden}.study-app-shell .study-surface:before{background:linear-gradient(#fffcf8e6,#fffcf800);height:112px}.study-app-shell .study-header{z-index:10;padding:calc(8px + env(safe-area-inset-top)) 10px 6px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffcf8e6;border-bottom:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid;position:relative}.study-app-shell .study-header-left{align-items:center;gap:6px;min-width:0}.study-app-shell .back-button{background:#3127200f;border-radius:50%;width:36px;min-width:36px;height:36px;min-height:36px;margin:0;padding:0;display:inline-flex}.study-app-shell .study-header-left>div{min-width:0}.study-app-shell .study-header .eyebrow{display:none}.study-app-shell .study-header h2{text-overflow:ellipsis;white-space:nowrap;font-family:inherit;font-size:22px;line-height:1;overflow:hidden}.study-app-shell .study-actions{justify-content:end}.study-app-shell .meaning-toggle{background:var(--dark-ink,#312720);color:#fffaf4;border-radius:50%;width:38px;min-width:38px;height:38px;min-height:38px;padding:0}.study-app-shell .meaning-toggle span{display:none}.study-app-shell .study-progress-panel{z-index:9;background:#fffcf8e6;gap:6px;padding:0 12px 8px;display:grid;position:relative}.study-app-shell .study-progress-copy{display:none}.study-app-shell .study-progress-track{background:#745c401f;order:-1;height:6px}.study-app-shell .study-stat-grid{display:none}.study-app-shell .study-progress-caption{color:var(--ink-muted);letter-spacing:0;margin:0;font-size:10px}.study-app-shell .word-list{overscroll-behavior:contain;min-height:0;max-height:none;padding:8px 10px calc(86px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;background:0 0;display:block;overflow-y:auto}.study-app-shell .word-row{-webkit-appearance:none;appearance:none;background:#ffffffd1;border:1px solid #e4dbd0e6;border-radius:18px;flex-direction:column;align-items:stretch;gap:8px;min-height:0;margin:0 0 8px;padding:13px 14px 13px 64px;display:flex;position:relative;box-shadow:0 8px 18px #432d190d}.study-app-shell .word-row:first-child{margin-top:0}.study-app-shell .word-row.concealed{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px 12px;min-height:72px;padding:10px 12px;display:grid}.study-app-shell .word-index{width:34px;height:34px;font-size:12px;position:absolute;top:13px;left:14px}.study-app-shell .word-row.concealed .word-index{grid-area:1/1;width:34px;height:34px;position:static}.study-app-shell .word-main{min-width:0;display:block}.study-app-shell .word-main strong{font-size:26px;line-height:1.08}.study-app-shell .word-row.concealed .word-main strong{font-size:24px}.study-app-shell .word-row.concealed .word-main{grid-area:1/2}.study-app-shell .word-main small{margin-top:4px;font-size:13px}.study-app-shell .meaning{color:var(--ink-soft);margin-top:0;font-size:16px;line-height:1.62;display:block}.study-app-shell .meaning.hidden{color:#0000;-webkit-text-fill-color:transparent;min-height:38px;text-shadow:none;filter:none;background:linear-gradient(90deg,#745c401a,#745c400b,#745c401a);border-radius:12px;position:relative;overflow:hidden}.study-app-shell .word-row.concealed .meaning.hidden{white-space:nowrap;grid-area:1/3;align-self:center;width:58px;height:32px;min-height:32px;max-height:32px;font-size:0;line-height:0}.study-app-shell .meaning.hidden:after{content:"点按查看";color:var(--ink-muted);-webkit-text-fill-color:var(--ink-muted);align-items:center;padding:0 14px;font-size:13px;font-weight:700;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.study-app-shell .word-row.concealed .meaning.hidden:after{content:"查看";justify-content:center;padding:0;font-size:12px}.study-app-shell .word-reveal-pill{display:none}.study-app-shell .sticky-complete{z-index:20;padding:8px 12px calc(8px + env(safe-area-inset-bottom));box-shadow:none;background:linear-gradient(#f2e8dc00,#f2e8dcf5 26%,#f2e8dc);border:0;border-radius:0;position:fixed;bottom:0;left:0;right:0}.study-app-shell .complete-page-button{border-radius:999px;max-width:520px;min-height:52px;margin:0 auto}.study-app-shell .page-complete-toast{top:calc(12px + env(safe-area-inset-top));position:fixed}}
