:root{--desk: #14231f;--desk-deep: #0d1916;--desk-raise: #1b2e29;--paper: #f7f1e2;--paper-dim: #eee5cf;--ink: #191b15;--ink-soft: #625c4b;--ink-faint: #8b8471;--stamp: #c0392b;--tab: #d8a72b;--sage: #8fb3a1;--line: rgba(247, 241, 226, .13);--paper-line: rgba(25, 27, 21, .1);--radius: 14px;--font-ui: "Archivo", "Helvetica Neue", Arial, sans-serif;--font-word: "Newsreader", Georgia, "Times New Roman", serif;--shadow-card: 0 26px 50px -30px rgba(0, 0, 0, .9);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:radial-gradient(1200px 600px at 80% -10%,rgba(143,179,161,.1),transparent 60%),radial-gradient(900px 500px at 0% 100%,rgba(216,167,43,.07),transparent 55%),var(--desk);color:var(--paper);font-family:var(--font-ui);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:0;z-index:-1;opacity:.05;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E")}h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--tab);outline-offset:3px}::selection{background:var(--tab);color:var(--ink)}.app{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:40px;padding:30px 22px;border-right:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:42px;height:46px;border-radius:3px 9px 9px 3px;background:var(--paper);color:var(--ink);font-family:var(--font-word);font-size:25px;line-height:1;box-shadow:inset 4px 0 0 var(--stamp)}.brand-title{font-family:var(--font-word);font-size:24px;font-weight:500;letter-spacing:-.01em;line-height:1.1}.brand-sub{color:var(--ink-faint);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.nav{display:flex;flex-direction:column;gap:4px}.nav-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:9px;color:#f7f1e2ad;font-size:15px;transition:background .15s,color .15s}.nav-link svg{width:19px;height:19px;flex:none}.nav-link:hover{color:var(--paper);background:#f7f1e20f}.nav-link.active{color:var(--ink);background:var(--paper)}.nav-link.active svg{color:var(--stamp)}.sidebar-foot{margin-top:auto;color:var(--ink-faint);font-size:12px;line-height:1.5}.sidebar-foot strong{display:block;color:var(--paper);font-weight:500;font-size:14px}.topbar{display:none;position:sticky;top:0;z-index:30;align-items:center;justify-content:space-between;gap:16px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:#14231fe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.bottomnav{display:none;position:fixed;left:0;right:0;bottom:0;z-index:40;grid-template-columns:repeat(4,1fr);padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:#0d1916f0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line)}.bottomnav .nav-link{flex-direction:column;gap:3px;padding:5px 2px;font-size:10.5px;border-radius:8px}.bottomnav .nav-link svg{width:21px;height:21px}.bottomnav .nav-link.active{background:transparent;color:var(--tab)}.bottomnav .nav-link.active svg{color:var(--tab)}.main{width:100%;max-width:1040px;margin:0 auto;padding:40px clamp(18px,4vw,56px) 72px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.page-title{font-family:var(--font-word);font-size:clamp(1.9rem,4vw,2.6rem);font-weight:400;letter-spacing:-.02em;line-height:1.05}.page-sub{margin-top:6px;color:#f7f1e29e;font-size:14.5px;max-width:52ch}.serif{font-family:var(--font-word)}.muted{color:#f7f1e299}.mono-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.paper{background:var(--paper);color:var(--ink);border-radius:var(--radius);box-shadow:var(--shadow-card)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:10px;font-size:15px;font-weight:500;transition:transform .12s,background .15s,border-color .15s,opacity .15s}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--paper);color:var(--ink)}.btn-primary:hover:not(:disabled){background:#fffaf0}.btn-accent{background:var(--tab);color:var(--ink)}.btn-accent:hover:not(:disabled){background:#e4b53d}.btn-ghost{background:transparent;color:var(--paper);border-color:var(--line)}.btn-ghost:hover:not(:disabled){border-color:#f7f1e259;background:#f7f1e20d}.btn-danger{background:transparent;color:#e68074;border-color:#e6807459}.btn-danger:hover:not(:disabled){background:#c0392b1f}.btn-sm{min-height:36px;padding:6px 12px;font-size:13px}.icon-btn{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--paper-line);border-radius:50%;background:transparent;color:var(--ink-soft)}.icon-btn:hover{color:var(--ink);border-color:#191b154d}.icon-btn svg{width:17px;height:17px}.chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:99px;background:#191b1512;color:var(--ink-soft);font-size:11.5px;font-weight:600;letter-spacing:.01em;white-space:nowrap}.chip-level{background:transparent;border:1px solid rgba(25,27,21,.18)}.state-dot{width:7px;height:7px;border-radius:50%;background:var(--ink-faint);flex:none}.state-dot.learning{background:var(--tab)}.state-dot.review{background:#4a7dc4}.state-dot.mastered{background:#4c8c6a}.state-dot.new{background:#191b1538}.meter{height:5px;border-radius:99px;background:#191b151f;overflow:hidden}.meter>i{display:block;height:100%;border-radius:inherit;background:var(--stamp);transition:width .4s ease}.meter.on-dark{background:#f7f1e224}.login{min-height:100dvh;display:grid;grid-template-columns:1.05fr 1fr}.login-art{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(28px,5vw,64px);overflow:hidden;border-right:1px solid var(--line)}.login-art:after{content:"";position:absolute;right:-120px;bottom:-160px;width:440px;height:560px;border-radius:6px 26px 26px 6px;background:linear-gradient(160deg,var(--paper) 0%,var(--paper-dim) 100%);transform:rotate(-9deg);opacity:.08}.login-copy{position:relative;z-index:1;max-width:420px;margin-top:auto;margin-bottom:auto;padding:40px 0}.login-copy h1{font-family:var(--font-word);font-size:clamp(2.6rem,5.2vw,4.4rem);font-weight:300;line-height:.98;letter-spacing:-.03em}.login-copy h1 em{font-style:italic;color:var(--tab)}.login-copy p{margin-top:20px;max-width:34ch;color:#f7f1e2a8;font-size:15.5px}.login-decks{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.login-decks span{padding:6px 12px;border:1px solid var(--line);border-radius:99px;color:#f7f1e2b8;font-size:12.5px}.login-form-wrap{display:flex;align-items:center;justify-content:center;padding:clamp(24px,5vw,64px)}.login-card{width:min(100%,390px);background:var(--paper);color:var(--ink);border-radius:3px 18px 18px 3px;box-shadow:var(--shadow-card),inset 5px 0 0 var(--stamp);padding:34px 30px 30px}.login-card h2{font-family:var(--font-word);font-size:30px;font-weight:400;letter-spacing:-.01em}.login-card .hint{margin-top:5px;margin-bottom:24px;color:var(--ink-soft);font-size:13.5px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{color:var(--ink-soft);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.input{width:100%;min-height:46px;padding:10px 13px;border:1px solid rgba(25,27,21,.2);border-radius:9px;background:#ffffff8c;color:var(--ink);font-size:16px;transition:border-color .15s,background .15s}.input::placeholder{color:var(--ink-faint)}.input:focus{outline:none;border-color:var(--stamp);background:#fffdf7}.form-error{margin:0 0 14px;padding:9px 12px;border-left:3px solid var(--stamp);background:#c0392b14;color:#943026;font-size:13.5px}.form-ok{margin:0 0 14px;padding:9px 12px;border-left:3px solid #4c8c6a;background:#4c8c6a1a;color:#386a50;font-size:13.5px}.login-card .btn{width:100%;margin-top:4px;background:var(--ink);color:var(--paper)}.login-card .btn:hover:not(:disabled){background:#2b2f24}.login-foot{margin-top:22px;padding-top:16px;border-top:1px solid var(--paper-line);color:var(--ink-faint);font-size:11.5px;line-height:1.5}.home-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:26px;padding:26px 28px;margin-bottom:34px;background:var(--desk-raise);border:1px solid var(--line);border-radius:var(--radius)}.home-hello{color:#f7f1e299;font-size:13px;letter-spacing:.03em}.home-hero h1{margin-top:4px;font-family:var(--font-word);font-size:clamp(1.8rem,3.6vw,2.5rem);font-weight:400;letter-spacing:-.02em;line-height:1.1}.hero-meta{display:flex;flex-wrap:wrap;gap:18px;margin-top:18px;color:#f7f1e2a8;font-size:13.5px}.hero-meta b{color:var(--paper);font-weight:600}.hero-actions{display:flex;align-items:center;gap:22px}.goal-ring{position:relative;width:96px;height:96px;flex:none}.goal-ring svg{transform:rotate(-90deg)}.goal-ring .track{fill:none;stroke:#f7f1e221;stroke-width:5}.goal-ring .value{fill:none;stroke:var(--tab);stroke-width:5;stroke-linecap:round;transition:stroke-dashoffset .6s ease}.goal-ring-label{position:absolute;inset:0;display:grid;place-content:center;text-align:center;line-height:1.05}.goal-ring-label strong{font-family:var(--font-word);font-size:23px;font-weight:500}.goal-ring-label span{color:#f7f1e28c;font-size:10.5px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:16px}.section-head h2{font-family:var(--font-word);font-size:25px;font-weight:400;letter-spacing:-.01em}.section-head span{color:#f7f1e280;font-size:12.5px}.deck-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;padding-top:12px}.deck-card{position:relative;display:flex;flex-direction:column;gap:14px;min-height:186px;padding:20px 20px 18px;border-radius:3px 16px 16px 3px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow-card);transition:transform .15s ease,box-shadow .15s ease;text-align:left}.deck-card:hover{transform:translateY(-2px);box-shadow:0 30px 54px -28px #000000f2}.deck-card:before{content:attr(data-tab);position:absolute;top:0;left:18px;transform:translateY(-100%);padding:3px 11px 4px;border-radius:7px 7px 0 0;background:var(--deck-accent, var(--tab));color:var(--ink);font-size:10.5px;font-weight:700;letter-spacing:.1em}.deck-card.oxford{grid-column:1 / -1;min-height:172px;padding:24px 26px 22px;background:radial-gradient(500px 200px at 100% 0%,rgba(216,167,43,.25),transparent 65%),var(--paper)}.deck-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.deck-name{font-family:var(--font-word);font-size:25px;font-weight:500;letter-spacing:-.015em;line-height:1.05}.deck-ru{margin-top:4px;color:var(--ink-soft);font-size:12.5px}.deck-desc{color:var(--ink-soft);font-size:13px;line-height:1.45;max-width:46ch}.deck-counts{display:flex;flex-wrap:wrap;gap:14px;margin-top:auto;color:var(--ink-soft);font-size:12px}.deck-counts b{color:var(--ink);font-weight:600}.deck-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:2px}.deck-foot .meter{flex:1}.deck-go{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-size:13px;font-weight:600;white-space:nowrap}.deck-go svg{width:16px;height:16px}.deck-due{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:99px;background:var(--stamp);color:#fff6ef;font-size:11px;font-weight:600}.empty-note{padding:26px;border:1px dashed var(--line);border-radius:var(--radius);color:#f7f1e29e;font-size:14px;text-align:center}.study{display:flex;flex-direction:column;min-height:100dvh;max-width:620px;margin:0 auto;padding:20px clamp(14px,4vw,28px) 30px}.study-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.study-deck{display:flex;align-items:center;gap:10px;min-width:0}.study-deck .mark{display:grid;place-items:center;width:34px;height:38px;flex:none;border-radius:3px 8px 8px 3px;background:var(--paper);color:var(--ink);font-size:11px;font-weight:700;box-shadow:inset 3px 0 0 var(--tab)}.study-deck strong{display:block;font-family:var(--font-word);font-weight:500;font-size:17px;line-height:1.1}.study-deck span{color:#f7f1e280;font-size:11.5px}.study-exit{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:transparent;color:#f7f1e2bf}.study-exit:hover{color:var(--paper);border-color:#f7f1e259}.study-exit svg{width:16px;height:16px}.session-line{display:flex;align-items:center;gap:12px;margin-bottom:6px}.session-line .meter{flex:1;height:3px}.session-line span{color:#f7f1e280;font-size:11.5px;font-variant-numeric:tabular-nums}.card-stage{flex:1;display:grid;place-items:center;padding:18px 0 10px;perspective:1600px}.flashcard{width:100%;max-width:430px;min-height:min(54dvh,430px);border:0;padding:0;background:transparent;text-align:left;-webkit-tap-highlight-color:transparent}.flashcard-inner{position:relative;width:100%;height:100%;min-height:inherit;transform-style:preserve-3d;transition:transform .52s cubic-bezier(.2,.8,.2,1)}.flashcard.flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard:focus-visible{outline:none}.flashcard:focus-visible .face{outline:2px solid var(--tab);outline-offset:4px}.face{position:absolute;inset:0;display:flex;flex-direction:column;padding:22px 24px 20px;border-radius:3px 18px 18px 3px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 30px,rgba(25,27,21,.035) 30px,rgba(25,27,21,.035) 31px),var(--paper);color:var(--ink);box-shadow:var(--shadow-card),inset 5px 0 0 var(--stamp);backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}.face:after{content:"";position:absolute;right:18px;bottom:12px;width:34px;height:34px;border:1.5px solid rgba(25,27,21,.12);border-radius:50%}.face-back{transform:rotateY(180deg);box-shadow:var(--shadow-card),inset 5px 0 0 var(--sage)}.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card-index{color:var(--ink-faint);font-size:10.5px;font-variant-numeric:tabular-nums;letter-spacing:.08em}.card-tags{display:flex;align-items:center;gap:6px}.card-body{flex:1;display:flex;flex-direction:column;justify-content:center;padding:12px 0;min-height:0}.card-direction{margin-bottom:10px;color:var(--ink-faint);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.card-word{font-family:var(--font-word);font-size:clamp(2.1rem,8.4vw,3.3rem);font-weight:400;letter-spacing:-.025em;line-height:1.04;overflow-wrap:anywhere}.card-word.small{font-size:clamp(1.55rem,5.6vw,2.3rem)}.card-translation{margin-top:8px;font-family:var(--font-word);font-size:clamp(1.35rem,4.6vw,1.85rem);font-style:italic;font-weight:300;line-height:1.2;color:var(--ink-soft);overflow-wrap:anywhere}.card-ipa{margin-top:10px;color:var(--ink-faint);font-size:13px;letter-spacing:.01em}.card-example{margin-top:16px;padding-left:11px;border-left:2px solid var(--tab);color:var(--ink-soft);font-size:13px;line-height:1.5;max-width:40ch}.card-definition{margin-top:14px;color:var(--ink-soft);font-size:12.5px;line-height:1.5;max-width:42ch}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:40px;color:var(--ink-faint);font-size:11.5px}.card-bottom>span:last-child{text-align:right}.card-sound{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:5px 11px;border:1px solid rgba(25,27,21,.16);border-radius:99px;background:transparent;color:var(--ink-soft);font-size:11.5px}.card-sound:hover{color:var(--ink);border-color:#191b154d}.card-sound svg{width:14px;height:14px}.study-controls{min-height:92px;padding-top:8px}.reveal-btn{width:100%;min-height:56px;border:1px solid transparent;border-radius:12px;background:var(--paper);color:var(--ink);font-size:15.5px;font-weight:600;transition:background .15s,transform .12s}.reveal-btn:hover{background:#fffaf0}.reveal-btn:active{transform:translateY(1px)}.study-hint{margin-top:9px;text-align:center;color:#f7f1e26b;font-size:11px}.grades{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.grade{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:58px;padding:8px 6px;border:1px solid var(--line);border-radius:11px;background:#f7f1e20a;color:var(--paper);font-size:13.5px;font-weight:500;transition:background .15s,border-color .15s,transform .12s}.grade small{color:#f7f1e26b;font-size:10px;font-weight:400}.grade:hover{background:#f7f1e217}.grade:active{transform:translateY(1px)}.grade.again{border-color:#c0392b99}.grade.again:hover{background:#c0392b2e;border-color:#c0392b}.grade.hard{border-color:#d8a72b80}.grade.hard:hover{background:#d8a72b24;border-color:var(--tab)}.grade.good{border-color:#8fb3a180}.grade.good:hover{background:#8fb3a124;border-color:var(--sage)}.stamp-flash{position:fixed;left:50%;top:50%;z-index:60;transform:translate(-50%,-50%) rotate(-9deg);padding:10px 26px;border:3px solid currentColor;border-radius:8px;font-size:clamp(24px,7vw,40px);font-weight:700;letter-spacing:.12em;text-transform:uppercase;pointer-events:none;animation:stamp-in .75s ease-out forwards;opacity:0}.stamp-flash.again{color:var(--stamp)}.stamp-flash.hard{color:var(--tab)}.stamp-flash.good{color:var(--sage)}@keyframes stamp-in{0%{opacity:0;transform:translate(-50%,-50%) rotate(-9deg) scale(1.7)}22%{opacity:.95;transform:translate(-50%,-50%) rotate(-9deg) scale(.96)}38%{opacity:.95;transform:translate(-50%,-50%) rotate(-9deg) scale(1)}to{opacity:0;transform:translate(-50%,-50%) rotate(-9deg) scale(1.03)}}.summary{margin:auto;width:100%;max-width:460px;padding:30px 28px;border-radius:3px 18px 18px 3px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow-card),inset 5px 0 0 var(--stamp)}.summary h2{font-family:var(--font-word);font-size:32px;font-weight:400;letter-spacing:-.02em}.summary p{margin-top:6px;color:var(--ink-soft);font-size:14px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.summary-num{padding:12px 10px;border-radius:9px;background:#191b150d;text-align:center}.summary-num strong{display:block;font-family:var(--font-word);font-size:28px;font-weight:500;line-height:1.1}.summary-num span{color:var(--ink-soft);font-size:11px}.summary-actions{display:grid;gap:9px}.summary-actions .btn{width:100%}.summary-actions .btn-primary{background:var(--ink);color:var(--paper)}.summary-actions .btn-primary:hover{background:#2b2f24}.filters{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-bottom:18px}.search{position:relative;flex:1 1 240px}.search svg{position:absolute;left:13px;top:50%;width:17px;height:17px;transform:translateY(-50%);color:var(--ink-faint);pointer-events:none}.search input{width:100%;min-height:44px;padding:9px 14px 9px 39px;border:1px solid rgba(247,241,226,.18);border-radius:10px;background:#f7f1e20f;color:var(--paper);font-size:15px}.search input::placeholder{color:#f7f1e266}.search input:focus{outline:none;border-color:#f7f1e273;background:#f7f1e217}.seg{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:10px;background:#f7f1e20a}.seg button{min-height:34px;padding:5px 11px;border:0;border-radius:7px;background:transparent;color:#f7f1e299;font-size:12.5px}.seg button[aria-pressed=true]{background:var(--paper);color:var(--ink)}.word-sheet{overflow:hidden;border-radius:var(--radius);background:var(--paper);color:var(--ink);box-shadow:var(--shadow-card)}.word-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;padding:13px 18px;border:0;border-bottom:1px solid var(--paper-line);background:transparent;color:var(--ink);text-align:left;transition:background .12s}.word-row:last-child{border-bottom:0}.word-row:hover{background:#d8a72b17}.word-main{display:flex;align-items:baseline;gap:10px;min-width:0}.word-en{font-family:var(--font-word);font-size:19px;font-weight:500;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.word-pos{color:var(--ink-faint);font-size:11px;white-space:nowrap}.word-ru{margin-top:1px;color:var(--ink-soft);font-size:13.5px;overflow-wrap:anywhere}.word-right{display:flex;align-items:center;gap:10px}.word-right .chip{font-size:10.5px}.load-more{display:block;width:100%;margin-top:14px;padding:13px;border:1px solid var(--line);border-radius:11px;background:transparent;color:#f7f1e2b8;font-size:13.5px}.load-more:hover{background:#f7f1e20d}.sheet-backdrop{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:18px;background:#060c0aa8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sheet{position:relative;width:min(100%,480px);max-height:86dvh;overflow-y:auto;padding:28px 26px 24px;border-radius:3px 18px 18px 3px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow-card),inset 5px 0 0 var(--tab);animation:sheet-in .22s ease-out}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}.sheet-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--paper-line);border-radius:50%;background:transparent;color:var(--ink-soft)}.sheet-close svg{width:15px;height:15px}.sheet h3{font-family:var(--font-word);font-size:34px;font-weight:400;letter-spacing:-.02em;line-height:1.05}.sheet .translation{margin-top:4px;font-family:var(--font-word);font-style:italic;font-size:21px;color:var(--ink-soft)}.sheet .meta-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.sheet .block{margin-top:18px;padding-top:14px;border-top:1px solid var(--paper-line)}.sheet .block h4{margin:0 0 6px;color:var(--ink-faint);font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.sheet .block p{font-size:14px;line-height:1.55;color:var(--ink-soft)}.sheet .block .example{font-family:var(--font-word);font-size:17px;color:var(--ink)}.srs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.srs-grid div{padding:9px;border-radius:8px;background:#191b150d}.srs-grid strong{display:block;font-size:16px;font-variant-numeric:tabular-nums}.srs-grid span{color:var(--ink-faint);font-size:10.5px}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:28px}.stat-card{padding:18px 18px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--desk-raise)}.stat-card strong{display:block;font-family:var(--font-word);font-size:clamp(28px,4vw,38px);font-weight:400;letter-spacing:-.02em;line-height:1.05}.stat-card span{display:block;margin-top:3px;color:#f7f1e28c;font-size:12px}.panel{padding:22px 22px 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--desk-raise);margin-bottom:18px}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:18px}.panel-head h2{font-family:var(--font-word);font-size:22px;font-weight:400}.panel-head span{color:#f7f1e273;font-size:12px}.chart{display:flex;align-items:flex-end;gap:6px;height:120px}.chart-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}.chart-bar{width:100%;max-width:34px;min-height:4px;border-radius:4px 4px 2px 2px;background:#f7f1e224;transition:height .4s ease}.chart-bar.has-data{background:var(--tab)}.chart-empty{padding:22px 0 26px;max-width:46ch;color:#f7f1e28c;font-size:13.5px;line-height:1.6}.chart-col small{color:#f7f1e261;font-size:9.5px;white-space:nowrap}.chart-col.today small{color:var(--tab)}.deck-progress{display:flex;flex-direction:column;gap:15px}.deck-progress-row{display:grid;grid-template-columns:126px minmax(0,1fr) 46px;align-items:center;gap:13px}.deck-progress-row .name{font-size:13.5px}.deck-progress-row .pct{color:#f7f1e28c;font-size:12px;text-align:right;font-variant-numeric:tabular-nums}.accuracy{display:flex;align-items:center;gap:18px}.accuracy-big{font-family:var(--font-word);font-size:44px;font-weight:400;line-height:1;letter-spacing:-.02em}.accuracy p{color:#f7f1e28c;font-size:12.5px;max-width:30ch}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.form-panel{padding:24px 22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--desk-raise)}.form-panel h2{font-family:var(--font-word);font-size:23px;font-weight:400;margin-bottom:4px}.form-panel>p{margin-bottom:18px;color:#f7f1e285;font-size:12.5px}.form-panel .field label{color:#f7f1e299}.form-panel .input{border-color:#f7f1e229;background:#f7f1e212;color:var(--paper)}.form-panel .input:focus{border-color:var(--tab);background:#f7f1e21a}.form-panel .input::placeholder{color:#f7f1e257}.user-list{display:flex;flex-direction:column;gap:8px}.user-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:9px;background:#f7f1e20d}.user-row strong{font-weight:500;font-size:14px}.user-row span{color:#f7f1e273;font-size:11.5px}.profile-note{margin-top:18px;color:#f7f1e266;font-size:12px;line-height:1.6}.center-screen{display:grid;place-items:center;min-height:70dvh;color:#f7f1e28c;font-size:14px}.spinner{width:26px;height:26px;margin-bottom:12px;border:2px solid rgba(247,241,226,.2);border-top-color:var(--tab);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-box{padding:14px 16px;border:1px solid rgba(192,57,43,.4);border-radius:10px;background:#c0392b1a;color:#f0b3ab;font-size:13.5px}.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}@media(max-width:960px){.login{grid-template-columns:1fr}.login-art{min-height:42dvh;border-right:0;border-bottom:1px solid var(--line);padding-bottom:30px}.login-copy{padding:26px 0 0}.login-copy h1{font-size:clamp(2.3rem,9vw,3.4rem)}.login-copy p{margin-top:12px}.login-form-wrap{padding:30px 20px 44px}}@media(max-width:820px){.app{display:block}.sidebar{display:none}.topbar{display:flex}.bottomnav{display:grid}.main{padding:22px 16px calc(96px + env(safe-area-inset-bottom))}.home-hero{grid-template-columns:1fr;gap:20px;padding:22px}.hero-actions{justify-content:space-between}.deck-grid{grid-template-columns:1fr;gap:24px;padding-top:10px}.deck-card.oxford{grid-column:auto}.profile-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(3,1fr);gap:8px}.stat-card{padding:14px 12px}.stat-card strong{font-size:26px}.study{padding:calc(10px + env(safe-area-inset-top)) 14px calc(16px + env(safe-area-inset-bottom))}.flashcard{min-height:min(55dvh,440px)}.face{padding:18px 20px 17px}}@media(max-width:460px){.page-head{display:block}.home-hero h1{font-size:1.75rem}.goal-ring{width:82px;height:82px}.card-word{font-size:clamp(1.9rem,9.5vw,2.7rem)}.word-row{padding:11px 14px}.word-pos{display:none}.deck-progress-row{grid-template-columns:96px minmax(0,1fr) 38px;gap:10px}.chart{gap:4px}.chart-empty{padding:22px 0 26px;max-width:46ch;color:#f7f1e28c;font-size:13.5px;line-height:1.6}.chart-col small{font-size:8.5px}}@media(hover:none)and (pointer:coarse){.study-hint{display:none}}@media(max-width:820px){.seg{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none}.seg::-webkit-scrollbar{display:none}.seg button{flex:none}}@media(max-width:960px){.login-art{min-height:auto;padding:calc(18px + env(safe-area-inset-top)) 20px 18px}.login-copy{padding:20px 0 0}.login-copy h1{font-size:clamp(1.85rem,8vw,2.6rem)}.login-copy p{margin-top:10px;font-size:14px;max-width:40ch}.login-decks,.login-art .sidebar-foot{display:none}.login-form-wrap{padding:22px 16px calc(30px + env(safe-area-inset-bottom))}.login-card{padding:26px 22px 22px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
