@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=DM+Sans:wght@400;500;600;700;800;900&display=swap";:root{color-scheme:light;--cream: #fff5e4;--blush: #ffe3e1;--rose-100: #ffd1d1;--rose-500: #ff9494;--wine: #a64c52;--ink: #432528;--muted: #76575a;--paper: rgba(255, 250, 240, .82);--paper-strong: rgba(255, 245, 228, .96);--line: rgba(166, 76, 82, .18);--line-strong: rgba(255, 148, 148, .34);--success: #7a6330;--danger: #c6424b;--shadow: 0 22px 60px rgba(128, 70, 72, .14), 0 2px 10px rgba(255, 148, 148, .12);--shadow-soft: 0 14px 34px rgba(128, 70, 72, .1);--ease-polished: cubic-bezier(.2, .8, .2, 1);--ease-smooth-settle: cubic-bezier(.16, 1, .3, 1);--ease-press: cubic-bezier(.34, 1.56, .64, 1);--font-display: "Arial Rounded MT Bold", "SF Pro Rounded", "Avenir Next", sans-serif;--font-body: "Avenir Next", "SF Pro Rounded", system-ui, sans-serif;--font-ui: "Arial Rounded MT Bold", "SF Pro Rounded", "Avenir Next", sans-serif;font-family:var(--font-body);background:var(--cream);color:var(--ink)}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%}body{margin:0;background:radial-gradient(circle at 12% 8%,rgba(255,148,148,.2),transparent 28%),radial-gradient(circle at 84% 18%,rgba(255,209,209,.58),transparent 30%),linear-gradient(180deg,var(--cream) 0%,var(--blush) 52%,var(--cream) 100%)}body:before,body:after{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-3;pointer-events:none;content:""}body:before{opacity:.24;background-image:linear-gradient(rgba(166,76,82,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(166,76,82,.1) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:linear-gradient(to bottom,transparent,black 12%,black 84%,transparent);mask-image:linear-gradient(to bottom,transparent,black 12%,black 84%,transparent)}body:after{opacity:.2;background:repeating-linear-gradient(180deg,transparent 0 9px,rgba(255,255,255,.5) 10px,transparent 11px),linear-gradient(90deg,transparent,rgba(255,209,209,.62),transparent);mix-blend-mode:soft-light}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--wine)}.shell,.app-shell{width:min(100%,1380px);margin:0 auto}.shell{padding:34px 20px 80px}.app-shell{position:relative;display:grid;align-content:start;gap:22px;min-height:100vh;padding:18px 24px 90px}.app-shell.mode-library{padding-top:12px}.app-shell.is-review-focused{align-content:center;padding-top:24px}.app-shell.is-review-focused .workspace{align-content:center;min-height:calc(100vh - 114px)}.app-shell.is-review-focused .review-dashboard{align-content:center;min-height:calc(100vh - 114px);padding:0}.app-shell.is-review-focused .session-card{width:min(100%,760px);animation:review-card-focus-in .68s var(--ease-smooth-settle) both}.app-shell.is-review-transitioning .app-header{pointer-events:none;animation:review-header-exit .64s var(--ease-smooth-settle) both}.app-shell.is-review-wiping .review-start-card{pointer-events:none;animation:review-home-card-exit .76s var(--ease-smooth-settle) both}.app-shell.is-review-wiping .home-stats{pointer-events:none;animation:review-stats-exit .78s var(--ease-smooth-settle) both}.review-transition-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;pointer-events:none;background:var(--cream);clip-path:circle(0% at var(--review-wipe-x, 50%) var(--review-wipe-y, 50%));animation:review-wipe 1.45s cubic-bezier(.4,0,.2,1) both}.cockatiel-runner{position:fixed;right:auto;bottom:10px;left:0;z-index:8;width:clamp(74px,9vw,116px);pointer-events:none;transform:translate(-120%);animation:cockatiel-cross 84s linear both}.cockatiel-runner.reverse{right:0;left:auto;animation-name:cockatiel-cross-reverse}.cockatiel-runner img{display:block;width:100%;height:auto;clip-path:inset(0 0 8% 0);-webkit-user-select:none;user-select:none}.cockatiel-runner.reverse img{transform:scaleX(-1)}.tokyo-sky{position:fixed;inset:auto 0 0;z-index:-2;height:min(40vh,360px);overflow:hidden;opacity:.22}.tokyo-sky:before{position:absolute;top:26%;right:0;bottom:0;left:0;content:"";background:linear-gradient(90deg,transparent 0 2%,rgba(255,148,148,.18) 2% 2.4%,transparent 2.4% 5%),linear-gradient(to top,#fff5e4e6,#ffe3e11f);background-size:86px 100%}.skyline{position:absolute;bottom:0;display:block;background:linear-gradient(180deg,var(--rose-100),var(--blush));box-shadow:inset 0 1px #ff949447,0 14px 40px #80464814}.skyline:after{position:absolute;top:14px;right:10px;bottom:14px;left:10px;content:"";opacity:.45;background-image:linear-gradient(90deg,var(--wine) 0 4px,transparent 4px 16px),linear-gradient(var(--rose-500) 0 4px,transparent 4px 18px);background-size:24px 24px}.tower{left:9%;width:84px;height:250px;clip-path:polygon(44% 0,56% 0,56% 18%,72% 18%,72% 100%,28% 100%,28% 18%,44% 18%)}.block-a{left:22%;width:180px;height:170px}.block-b{right:18%;width:230px;height:210px}.block-c{right:4%;width:150px;height:145px}.neon-orb{display:none}.app-header{display:flex;align-items:center;justify-content:space-between;width:min(100%,1156px);margin:0 auto;padding:5px 0;animation:surface-in .42s var(--ease-polished) both;transition:opacity .3s ease,transform .3s var(--ease-polished)}.brand-button,.header-actions,.outline-action,.primary-action{display:inline-flex;align-items:center}.brand-button{gap:12px;width:auto;border:0;padding:0;color:var(--ink);background:transparent;box-shadow:none;font-family:var(--font-display);font-size:1.42rem;font-weight:900;letter-spacing:0}.brand-button:hover:not(:disabled){transform:none;box-shadow:none}.brand-mark,.review-icon,.quiz-result-badge,.gpt-mark,.answer-option span{display:grid;place-items:center;color:var(--ink);background:linear-gradient(135deg,var(--blush),var(--rose-500));box-shadow:0 16px 34px #ff949438}.brand-mark{width:40px;height:40px;border:1px solid rgba(166,76,82,.18);border-radius:999px;font-family:var(--font-ui);font-size:1.05rem}.small-mark{width:40px;height:40px}.header-actions{gap:8px}.user-menu{position:relative;z-index:40;flex:0 0 auto}.user-avatar{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;height:42px;min-height:42px;border:1px solid rgba(178,139,115,.32);border-radius:999px;padding:0 16px;color:#fffdf5;background:var(--rose-500);box-shadow:0 12px 28px #6f523d2e;font-family:var(--font-ui);font-size:.92rem;font-weight:800;line-height:1;white-space:nowrap}.user-avatar:hover:not(:disabled){background:var(--wine)}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:100;min-width:128px;border:1px solid rgba(178,139,115,.24);border-radius:12px;padding:4px;background:#fffffaf0;box-shadow:0 10px 22px #5c3d2e1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:dropdown-in .16s var(--ease-polished) both;pointer-events:auto}.user-dropdown button{width:100%;min-height:48px;border:0;border-radius:12px;padding:12px 14px;color:var(--ink);background:transparent;box-shadow:none;font-family:var(--font-ui);font-size:.96rem;font-weight:800;text-align:left}.user-dropdown button:hover:not(:disabled){transform:none;background:#b28b7329;box-shadow:none}.user-dropdown .sign-out-menu-item{all:unset;box-sizing:border-box;display:flex;align-items:center;width:100%;min-height:38px;border-radius:9px;padding:0 11px;color:var(--ink);cursor:pointer;font-family:var(--font-ui);font-size:.84rem;font-weight:750;line-height:1;text-align:left;-webkit-user-select:none;user-select:none}.user-dropdown .sign-out-menu-item:hover,.user-dropdown .sign-out-menu-item:focus-visible{background:#b28b731c;outline:none}button,.outline-action,.primary-action{position:relative;overflow:hidden;border:0;border-radius:18px;padding:13px 16px;color:var(--ink);background:linear-gradient(135deg,var(--blush),var(--rose-500));box-shadow:0 12px 28px #ff949438;transition:transform .18s var(--ease-polished),box-shadow .18s var(--ease-polished),filter .18s ease,background .18s ease;transform:translateZ(0)}button:after,.outline-action:after,.primary-action:after{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;content:"";opacity:0;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.55),transparent 55%);transform:scale(.72);transition:opacity .26s ease,transform .26s var(--ease-polished)}button:hover:not(:disabled),.outline-action:hover:not(:disabled),.primary-action:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 34px #ff949447;filter:saturate(1.08)}button:active:not(:disabled){transform:translateY(0) scale(.985);transition-duration:90ms}button:active:not(:disabled):after{opacity:.34;transform:scale(1);transition-duration:90ms}button:disabled{cursor:not-allowed;opacity:.55}.outline-action,.primary-action{justify-content:center;gap:8px;width:auto;min-height:42px;border-radius:999px;padding:10px 18px;font-weight:900}.outline-action,.ghost-button,.chip,.library-actions .icon-button,.back-button{border:1px solid var(--line);color:var(--ink);background:#fff5e4b8;box-shadow:inset 0 1px #ffffff8f,var(--shadow-soft)}.outline-action.active,.outline-action:hover:not(:disabled),.ghost-button:hover:not(:disabled){border-color:#ff94946b;background:#ffd1d170}.workspace{display:grid;align-content:start;justify-self:center;width:min(100%,1156px);gap:18px}.mode-add .workspace{width:min(100%,980px)}.mode-library .workspace{width:min(100%,1152px)}.page-viewport{perspective:1200px}.page-panel,.panel,.review-start-card,.session-card,.library-card,.capture-card,.callout,.empty-state,.import-preview-card,.home-stats article{border:1px solid var(--line-strong);color:var(--ink);background:linear-gradient(135deg,#fff5e4f0,#ffe3e1d1),radial-gradient(circle at 92% 12%,rgba(255,148,148,.14),transparent 34%),radial-gradient(circle at 4% 100%,rgba(255,209,209,.26),transparent 34%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px) saturate(1.04);backdrop-filter:blur(18px) saturate(1.04)}.page-panel,.panel{animation:surface-in .48s var(--ease-polished) both}.panel{position:relative;overflow:hidden;border-radius:30px;padding:clamp(18px,3vw,34px)}.panel:before,.review-start-card:after,.session-card:before{position:absolute;pointer-events:none;content:""}.panel:before{top:0;right:0;bottom:0;left:0;opacity:.38;background:linear-gradient(120deg,transparent 0 48%,rgba(255,255,255,.46) 52%,transparent 58%),repeating-linear-gradient(90deg,rgba(255,148,148,.08) 0 1px,transparent 1px 54px)}.panel>*{position:relative;z-index:1}.review-dashboard{display:grid;min-height:auto;align-content:start;justify-items:center;padding:72px 0;background:transparent;box-shadow:none;border:0;-webkit-backdrop-filter:none;backdrop-filter:none}.home-layout{display:grid;justify-items:center;gap:32px;width:min(100%,670px)}.review-start-card{position:relative;display:grid;justify-items:center;align-content:center;gap:24px;width:min(100%,670px);min-height:450px;overflow:hidden;border-radius:22px;padding:48px;text-align:center;transform-origin:50% 12%;animation:card-rise .56s var(--ease-polished) both}.review-start-card:after,.session-card:before{top:16px;right:16px;bottom:16px;left:16px;border:1px solid rgba(166,76,82,.14);border-radius:18px}.review-start-card:hover,.library-card:hover,.capture-card:hover{transform:translateY(-2px);border-color:#ff949470;box-shadow:0 20px 54px #80464829}.review-icon{position:relative;width:80px;height:80px;border-radius:16px;animation:float-soft 5.2s ease-in-out infinite;font-family:var(--font-ui);font-size:2.05rem;font-weight:800;line-height:1}.review-icon:before,.review-icon:after{display:none}.review-card-copy{display:grid;gap:10px;max-width:420px}.review-card-copy h1,.session-prompt h3,h1,h2,h3{margin:0;color:var(--ink);font-family:var(--font-display);font-weight:900;letter-spacing:0}.review-card-copy h1{font-size:clamp(2.75rem,4.9vw,3.9rem);line-height:.98;text-wrap:balance;text-shadow:0 8px 26px rgba(255,148,148,.18)}.review-card-copy span,.home-stats span{color:var(--wine);font-weight:900}.start-review-button{width:auto;min-width:168px;min-height:60px;border-radius:16px;padding:15px 28px;font-weight:900}.home-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:min(100%,670px)}.home-stats article{display:grid;justify-items:center;gap:4px;min-height:86px;border-radius:14px;padding:17px 22px;animation:card-rise .56s var(--ease-polished) both}.home-stats article:nth-child(2){animation-delay:70ms}.home-stats article:nth-child(3){animation-delay:.14s}.home-stats strong{color:var(--ink);font-family:var(--font-display);font-size:1.7rem;line-height:1}.review-result-page{display:grid;justify-items:center;align-content:center;gap:28px;width:min(100%,760px);min-height:calc(100vh - 220px);padding:clamp(28px,5vw,68px) 0;text-align:center;animation:surface-in .48s var(--ease-polished) both}.review-accuracy-ring{--accuracy: 0%;position:relative;display:grid;place-items:center;align-content:center;gap:4px;width:clamp(156px,24vw,196px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--cream) 0 55%,transparent 56%),conic-gradient(var(--rose-500) var(--accuracy),rgba(255,209,209,.62) 0);box-shadow:0 24px 52px #80464824}.review-accuracy-ring:after{position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border:1px solid var(--line);border-radius:50%;content:""}.review-accuracy-ring span{color:var(--wine);font-family:var(--font-ui);font-size:clamp(2.1rem,5vw,3.1rem);font-weight:900;line-height:1}.review-accuracy-ring small{color:var(--muted);font-family:var(--font-ui);font-size:.88rem;font-weight:900;text-transform:uppercase}.review-result-copy{display:grid;justify-items:center;gap:8px}.review-result-copy h1{max-width:720px;font-size:clamp(2.9rem,7vw,5rem);line-height:.96;text-wrap:balance}.review-result-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:min(100%,680px)}.review-result-stats article{display:grid;justify-items:center;gap:5px;min-height:104px;border:1px solid var(--line-strong);border-radius:18px;padding:18px 16px;background:linear-gradient(135deg,#fff5e4f0,#ffe3e1d1),radial-gradient(circle at 92% 12%,rgba(255,148,148,.14),transparent 34%);box-shadow:var(--shadow-soft)}.review-result-stats strong{color:var(--ink);font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.45rem);line-height:1}.review-result-stats span,.review-result-return{color:var(--muted);font-family:var(--font-ui);font-size:.9rem;font-weight:800}.review-result-return{margin:0}.review-result-button{width:min(100%,300px);min-height:62px;border-radius:18px;color:var(--cream);background:linear-gradient(135deg,var(--rose-500),var(--wine));font-family:var(--font-ui);font-weight:900}.session-card{position:relative;display:grid;gap:20px;width:min(100%,900px);overflow:hidden;border-radius:26px;padding:clamp(24px,4vw,46px);animation:surface-in .44s var(--ease-polished) both}.session-card>*{position:relative;z-index:1}.session-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.session-topline{color:var(--muted);font-family:var(--font-ui);font-size:.86rem;font-weight:900;text-transform:uppercase}.compact-button{width:auto;min-width:88px;padding:11px 16px}.session-progress{height:10px;overflow:hidden;border-radius:999px;background:#ffd1d194}.session-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--rose-100),var(--rose-500),var(--blush));box-shadow:0 0 18px #ff949457;transition:width .18s ease}.session-prompt{display:grid;min-height:190px;align-content:center;gap:10px;text-align:center;animation:content-shift .36s var(--ease-polished) both}.session-prompt h3{font-size:clamp(2.7rem,6.2vw,5.05rem);line-height:.94;text-shadow:0 8px 26px rgba(255,148,148,.18)}.session-term-line{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-width:0}.answer-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;animation:content-shift .42s var(--ease-polished) both}.answer-option{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;min-height:118px;border:1px solid var(--line);border-radius:22px;padding:18px;text-align:left;background:linear-gradient(135deg,#fffaf0eb,#ffe3e1c2),radial-gradient(circle at 100% 0%,rgba(255,148,148,.1),transparent 42%);box-shadow:inset 0 0 0 1px #ffffff80}.answer-option span{width:34px;height:34px;border-radius:13px;font-family:var(--font-ui);font-weight:900}.answer-option strong{color:var(--ink);font-size:1.04rem;font-weight:600;line-height:1.36}.answer-option.selected{border-color:#a64c5294;animation:answer-pop .3s var(--ease-press) both}.answer-option.correct{border-color:#8d5a3594;background:linear-gradient(135deg,#fff5e4f5,#ffe3e1db),radial-gradient(circle at 100% 0%,rgba(141,90,53,.14),transparent 44%);box-shadow:0 14px 30px #8d5a351f}.answer-option.correct span{background:linear-gradient(135deg,#e8d2a4,#8d5a35)}.answer-option.wrong{border-color:#c6424b80;background:linear-gradient(135deg,#ffe3e1f0,#ffd1d1d6),radial-gradient(circle at 100% 0%,rgba(198,66,75,.16),transparent 44%);box-shadow:0 14px 30px #c6424b1f}.answer-option.wrong span,.danger-button,.next-card-button{color:var(--cream);background:linear-gradient(135deg,var(--rose-500),var(--wine))}.quiz-result{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;border:2px solid transparent;border-radius:22px;padding:16px 18px;animation:answer-pop .3s var(--ease-press) both}.quiz-result.correct{border-color:#8d5a3557;background:#fffaf0d1}.quiz-result.wrong{border-color:#c6424b9e;background:#ffe3e1e0}.quiz-result-badge{width:44px;height:44px;border-radius:16px;font-family:var(--font-ui);font-size:1.3rem;font-weight:900}.quiz-result div:last-child,.stack,.edit-form,.library{display:grid;gap:8px}.quiz-result strong,.eyebrow,.field-label span{color:var(--wine);font-family:var(--font-ui);font-weight:900;text-transform:uppercase}.quiz-result strong,.eyebrow,.field-label span{font-size:.74rem}.quiz-result span{color:var(--ink);line-height:1.35}.quiz-result small,small,.muted{color:var(--muted)}.next-card-button{justify-self:end;width:auto;min-width:190px}.quick-add{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(360px,1.05fr);align-items:start;gap:18px}.quick-add-page{display:grid;justify-self:center;justify-items:center;gap:30px;width:min(100%,760px);border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;animation:main-card-enter .9s var(--ease-polished) both}.add-page-header{display:grid;justify-items:center;gap:8px;text-align:center}.add-page-header .eyebrow{margin:0;color:var(--wine)}.add-page-header h1{color:var(--ink);font-family:var(--font-display);font-size:clamp(3rem,6vw,4.4rem);font-weight:700;letter-spacing:-.02em;line-height:.98}.add-page-header span{color:var(--muted);font-family:var(--font-ui);font-size:.92rem}.add-mode-toggle{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;width:min(100%,390px);border:1px solid rgba(178,139,115,.2);border-radius:999px;padding:4px;background:#fffffab8;box-shadow:inset 0 1px #ffffffa8,0 12px 30px #6f523d14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.toggle-indicator{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 5px);border-radius:999px;background:var(--rose-500);box-shadow:0 8px 18px #6f523d2e;transition:transform .28s var(--ease-polished)}.add-mode-toggle.mode-bulk .toggle-indicator{transform:translate(calc(100% + 2px))}.add-mode-toggle button{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:0;border-radius:999px;padding:9px 16px;color:#8b6f5ac2;background:transparent;box-shadow:none;font-family:var(--font-ui);font-size:.84rem;font-weight:700;white-space:nowrap}.add-mode-toggle button:hover:not(:disabled){transform:none;box-shadow:none;background:#b28b7314}.add-mode-toggle button.active,.add-mode-toggle button.active:hover:not(:disabled){color:#fffdf5;background:transparent}.add-form-shell{width:min(100%,560px);min-width:0}.add-form-panel{display:grid;gap:18px;min-width:0}.add-form-panel.anim-left{animation:add-slide-left .32s var(--ease-polished) both}.add-form-panel.anim-right{animation:add-slide-right .32s var(--ease-polished) both}.form-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(178,139,115,.2),transparent)}.bulk-hint{border-left:1px solid rgba(178,139,115,.28);padding:10px 14px;color:#8b6f5ab8;font-size:.8rem;line-height:1.7}.bulk-hint code{border-radius:5px;padding:1px 5px;color:var(--wine);background:#b28b731a;font-family:SFMono-Regular,Consolas,monospace;font-size:.74rem}.gpt-badge{display:inline-flex;align-items:center;justify-self:start;gap:7px;width:auto;min-height:32px;border:1px solid rgba(178,139,115,.22);border-radius:999px;padding:6px 12px;color:var(--wine);background:#fffffab8;box-shadow:none;font-size:.78rem;font-weight:700}.gpt-badge:hover:not(:disabled){transform:none;background:#b28b731f;box-shadow:none}.gpt-dot{width:6px;height:6px;border-radius:999px;background:var(--rose-500);animation:pulse-dot 2s ease-in-out infinite}.add-save-button{width:100%;min-height:50px;border-radius:14px;color:#fffdf5;background:var(--rose-500);font-family:var(--font-ui);font-size:.9rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.add-save-button:hover:not(:disabled){background:var(--wine)}.capture-card,.library-card{border-radius:22px;animation:card-rise .56s var(--ease-polished) both}.capture-card{display:grid;gap:14px;padding:clamp(18px,3vw,28px)}.capture-card:nth-child(2),.library-card:nth-child(2n){animation-delay:90ms}.library-card:nth-child(3n){animation-delay:.15s}.section-heading,.import-heading{display:flex;align-items:start;justify-content:space-between;gap:18px;margin-bottom:8px}.eyebrow{margin:0 0 10px}h2{font-size:clamp(1.85rem,3vw,2.8rem);line-height:1.02}h3{font-size:clamp(2.9rem,7vw,5.8rem);line-height:.92}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:18px;padding:14px 16px;color:var(--ink);background:#fffaf0b8;outline:none;box-shadow:inset 0 1px #ffffff94,0 10px 28px #8046480f}input::placeholder,textarea::placeholder{color:#76575a94}input:focus,select:focus,textarea:focus{border-color:var(--rose-500);box-shadow:0 0 0 4px #ff949438,inset 0 1px #ffffffad}textarea{min-height:96px;resize:vertical}.field-label{display:grid;gap:8px}.field-label span{letter-spacing:0}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.quick-capture-line,.filters{display:grid;gap:10px}.optional-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.optional-grid .field-label:last-child{grid-column:1 / -1}.action-row{display:grid;grid-template-columns:repeat(2,minmax(0,170px));gap:10px}.quick-actions,.bulk-actions{grid-template-columns:minmax(0,170px)}.quick-actions button,.bulk-actions button{min-height:46px}.save-confirmation,.form-error,.error{margin:0}.save-confirmation{border:1px solid rgba(141,90,53,.24);border-radius:18px;padding:12px 14px;color:#70451f;background:#fff5e4b8}.save-confirmation.skipped{border-color:#c6424b3d;color:var(--danger)}.bulk-textarea{min-height:170px}.ai-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:auto;min-height:36px;padding:8px 12px;background:#ffd1d18a;font-size:.78rem;white-space:nowrap}.gpt-mark{width:18px;height:18px;border-radius:10px;font-size:.64rem}.import-preview-frame{position:relative;width:100%;min-width:0;max-width:100%}.import-preview{display:flex;gap:12px;width:100%;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:4px 8px 10px;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}.import-preview::-webkit-scrollbar{display:none}.import-preview-card{flex:0 0 clamp(184px,42vw,238px);display:grid;gap:6px;border-radius:20px;padding:13px;scroll-snap-align:start}.import-preview-card strong{color:var(--ink);font-family:var(--font-display);font-size:1.28rem}.import-preview-card span{color:var(--muted);font-size:.92rem}.import-preview-more{flex:0 0 128px;display:grid;place-items:center;border:1px dashed rgba(178,139,115,.36);border-radius:20px;padding:13px;color:var(--muted);font-family:var(--font-ui);font-size:.88rem;font-weight:800;scroll-snap-align:start}.preview-arrow{position:absolute;top:50%;z-index:3;display:grid;place-items:center;width:34px;height:34px;min-height:0;border:1px solid rgba(178,139,115,.24);border-radius:999px;padding:0;color:#fffdf5;background:#b28b73e6;box-shadow:0 8px 18px #6f523d29;transform:translateY(-50%)}.preview-arrow span{display:block;font-family:Georgia,serif;font-size:1.6rem;line-height:1;transform:translateY(-1px)}.preview-arrow-left{left:-10px}.preview-arrow-right{right:-10px}.preview-arrow:disabled{opacity:0;visibility:hidden;pointer-events:none}.preview-arrow:hover:not(:disabled){background:var(--wine);box-shadow:0 10px 22px #6f523d33;transform:translateY(-50%) scale(1.04)}.pos-pill,.part-of-speech-chip,.pagination span{width:fit-content;border:1px solid rgba(166,76,82,.22);border-radius:999px;padding:5px 10px;color:var(--wine);background:#ffe3e194;font-size:.74rem;font-weight:900;line-height:1}.library-panel{display:grid;gap:24px;width:min(100%,1152px);background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.manage-header{display:flex;align-items:center;gap:12px;min-height:48px}.manage-header h1{font-size:clamp(1.55rem,3vw,2rem)}.back-button{display:grid;width:42px;height:42px;place-items:center;border-radius:999px;padding:0;font-size:1.35rem}.library-panel .search-input{min-height:58px;border-radius:14px;padding:0 48px}.library{gap:13px;animation:content-shift .36s var(--ease-polished) both}.library-card{min-height:94px;overflow:hidden;border-radius:14px}.library-empty-text{display:grid;min-height:220px;place-items:center;color:var(--ink);text-align:center}.library-empty-text strong{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.35rem);font-weight:700;letter-spacing:-.01em}.library-card.editing{padding:20px}.library-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;min-height:inherit;padding:20px}.library-copy{display:grid;gap:8px;min-width:0}.library-title-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}.library-copy h2,.library-word,.term{margin:0;font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.05}.library-copy p{margin:0;max-width:820px;color:var(--muted);font-size:.94rem;line-height:1.35}.library-copy small{color:var(--muted);font-size:.9rem;font-style:italic}.library-actions{display:flex;align-items:center;gap:8px}.icon-button{display:grid;width:38px;height:38px;place-items:center;border-radius:15px;padding:0;font-family:var(--font-ui);font-weight:900;line-height:1}.audio-play-button{display:grid;flex:0 0 auto;width:30px;height:30px;place-items:center;border-radius:999px;padding:0;font-family:var(--font-ui);font-size:.72rem;font-weight:900;line-height:1}.session-term-line .audio-play-button{width:36px;height:36px;font-size:.82rem}.audio-play-button.is-playing{color:#fff;background:linear-gradient(135deg,var(--rose-500),var(--blush));border-color:#ffffffb8;box-shadow:0 12px 30px #ff949457}.library-actions .icon-button{width:42px;height:42px;border-radius:999px}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px;color:var(--muted);font-family:var(--font-ui);font-size:.8rem}.pagination span{padding:9px 13px}.empty-state{display:grid;gap:7px;border-radius:22px;padding:24px;color:var(--muted)}.empty-state strong{color:var(--ink);font-family:var(--font-display);font-size:1.5rem}.spacious{margin-top:16px}.auth-shell{display:grid;min-height:100vh;place-items:center}.auth{width:min(720px,100%);border-radius:28px;padding:clamp(22px,4vw,36px);transform-origin:50% 100%;animation:auth-drop .98s cubic-bezier(.18,.84,.22,1) both}.auth h1{margin:0 0 18px;font-family:"DM Sans",var(--font-display);font-size:clamp(2.1rem,4.6vw,3.6rem);font-weight:800;line-height:1}.callout{margin-top:16px;overflow-wrap:anywhere;border-radius:22px;padding:16px}.error,.form-error{color:var(--danger)}.floating-error{position:sticky;bottom:18px;margin-left:auto;max-width:540px;border:1px solid rgba(198,66,75,.3);border-radius:16px;padding:14px 16px;color:var(--cream);background:#a64c52eb;box-shadow:0 16px 40px #c6424b3d}@media (max-width: 760px){.app-shell{padding:12px 10px 70px}.app-header{display:grid;gap:18px;padding:6px 0 0}.header-actions{display:grid;grid-template-columns:1fr 1fr auto;width:100%}.outline-action,.primary-action{width:100%;min-height:46px;padding-inline:12px}.review-dashboard{padding:40px 0 56px}.review-start-card{min-height:390px;padding:34px 24px}.home-stats,.review-result-stats,.answer-options,.optional-grid,.quick-add,.action-row{grid-template-columns:1fr}.review-result-page{min-height:calc(100vh - 170px);gap:22px;padding:34px 0 48px}.review-result-stats{width:min(100%,360px)}.quick-add-page{gap:24px;width:min(100%,560px)}.add-mode-toggle{width:100%}.add-mode-toggle button{padding-inline:10px}.section-heading,.import-heading{display:grid}.panel{border-radius:22px;padding:18px}.next-card-button,.quick-actions button,.bulk-actions button{width:100%}.library-row{grid-template-columns:1fr}.library-actions{justify-content:end}}@media (max-width: 480px){.session-card{padding:20px}.session-card:before,.review-start-card:after{top:10px;right:10px;bottom:10px;left:10px}h3{font-size:clamp(2.7rem,16vw,4.8rem)}}@media (prefers-reduced-motion: reduce){.cockatiel-runner{display:none}*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}@keyframes cockatiel-cross{0%{transform:translate(-120%)}to{transform:translate(calc(100vw + 120%))}}@keyframes cockatiel-cross-reverse{0%{transform:translate(120%)}to{transform:translate(calc(-100vw - 120%))}}@keyframes review-wipe{0%{opacity:1;clip-path:circle(0% at var(--review-wipe-x, 50%) var(--review-wipe-y, 50%))}72%{opacity:1;clip-path:circle(160% at var(--review-wipe-x, 50%) var(--review-wipe-y, 50%))}to{opacity:0;clip-path:circle(160% at var(--review-wipe-x, 50%) var(--review-wipe-y, 50%))}}@keyframes review-header-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-74px)}}@keyframes review-home-card-exit{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(24px) scale(.975)}}@keyframes review-stats-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(34px)}}@keyframes review-card-focus-in{0%{opacity:0;transform:scale(.97) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes surface-in{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes card-rise{0%{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes content-shift{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes answer-pop{0%{transform:scale(1)}55%{transform:scale(1.018)}to{transform:scale(1)}}@keyframes float-soft{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes auth-drop{0%{opacity:0;transform:translateY(-54vh) scaleY(1.04)}48%{opacity:1;transform:translateY(0) scaleY(.94) scaleX(1.025)}62%{transform:translateY(-54px) scaleY(1.025) scaleX(.985)}74%{transform:translateY(0) scaleY(.975) scaleX(1.012)}84%{transform:translateY(-18px) scaleY(1.01) scaleX(.995)}92%{transform:translateY(0) scaleY(.992) scaleX(1.004)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes add-slide-left{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes add-slide-right{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}@keyframes pulse-dot{0%,to{opacity:.45;transform:scale(1)}50%{opacity:.8;transform:scale(1.12)}}:root{--cream: #fffbe9;--blush: #fff7df;--rose-100: #ead6bd;--rose-500: #b28b73;--wine: #8b6b55;--ink: #4a3327;--muted: #8b6f5a;--paper: rgba(255, 255, 250, .9);--paper-strong: rgba(255, 255, 250, .98);--line: rgba(178, 139, 115, .28);--line-strong: rgba(178, 139, 115, .46);--danger: #b45848;--shadow: 0 20px 54px rgba(111, 82, 61, .14), 0 2px 10px rgba(178, 139, 115, .12);--shadow-soft: 0 14px 34px rgba(111, 82, 61, .1)}body{background:radial-gradient(circle at 14% 10%,rgba(233,213,179,.42),transparent 31%),radial-gradient(circle at 84% 18%,rgba(255,251,233,.76),transparent 31%),linear-gradient(180deg,var(--cream) 0%,var(--blush) 52%,var(--cream) 100%)}body:before{background-image:linear-gradient(rgba(178,139,115,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(178,139,115,.08) 1px,transparent 1px)}body:after{background:repeating-linear-gradient(180deg,transparent 0 9px,rgba(255,255,255,.42) 10px,transparent 11px),linear-gradient(90deg,transparent,rgba(233,213,179,.38),transparent)}.app-shell{padding-top:24px}.tokyo-sky{opacity:.1}.brand-mark,.review-icon,.quiz-result-badge,.gpt-mark,.answer-option span{color:#fffdf5;background:var(--rose-500);box-shadow:0 16px 34px #6f523d33}.brand-mark{border-color:#b28b734d}button,.primary-action,.start-review-button{color:#fffdf5;background:var(--rose-500);box-shadow:0 12px 28px #6f523d33}button:hover:not(:disabled),.outline-action:hover:not(:disabled),.primary-action:hover:not(:disabled){box-shadow:0 16px 34px #6f523d3d}.outline-action,.ghost-button,.chip,.library-actions .icon-button,.back-button{color:var(--ink);border-color:var(--line);background:#fffffae6}.outline-action:hover:not(:disabled),.ghost-button:hover:not(:disabled){border-color:#b28b738f;background:#fffffafa}.page-panel,.panel,.review-start-card,.session-card,.library-card,.capture-card,.callout,.empty-state,.import-preview-card,.home-stats article{border-color:var(--line-strong);background:linear-gradient(135deg,#fffffafa,#fffcf0f0),radial-gradient(circle at 92% 12%,rgba(233,213,179,.16),transparent 34%),radial-gradient(circle at 4% 100%,rgba(178,139,115,.1),transparent 34%);box-shadow:var(--shadow)}.review-start-card:after,.session-card:before{border-color:#b28b733d}.review-start-card:hover,.library-card:hover,.capture-card:hover{border-color:#b28b7394;box-shadow:0 20px 54px #6f523d29}.review-card-copy h1,.session-prompt h3{text-shadow:none}.session-progress{background:#e9d5b394}.session-progress span{background:linear-gradient(90deg,var(--rose-100),var(--rose-500),var(--wine));box-shadow:0 0 18px #b28b734d}.answer-option{background:linear-gradient(135deg,#fffffafa,#fffbe9db),radial-gradient(circle at 100% 0%,rgba(178,139,115,.09),transparent 42%)}.answer-option.selected{border-color:#b28b73a8}.answer-option.correct{background:linear-gradient(135deg,#e8f7e8fa,#cce8cfe0),radial-gradient(circle at 100% 0%,rgba(84,139,91,.18),transparent 44%);border-color:#548b5b9e;box-shadow:0 14px 30px #548b5b24}.answer-option.correct span{color:#fffdf5;background:linear-gradient(135deg,#7eaf82,#4f8056)}.answer-option.wrong span,.danger-button,.next-card-button,.review-result-button{color:#fffdf5;background:var(--wine)}.review-accuracy-ring{background:radial-gradient(circle,#fffdf5 0 55%,transparent 56%),conic-gradient(var(--wine) var(--accuracy),rgba(233,213,179,.58) 0)}.review-accuracy-ring span{color:var(--wine)}.review-result-stats article{border-color:var(--line-strong);background:linear-gradient(135deg,#fffffafa,#fffcf0f0),radial-gradient(circle at 92% 12%,rgba(233,213,179,.16),transparent 34%);box-shadow:var(--shadow-soft)}input,select,textarea,.library-panel .search-input{color:var(--ink);border-color:var(--line);background:#fffffae0;box-shadow:inset 0 1px #ffffffb8,0 10px 28px #6f523d0f}input::placeholder,textarea::placeholder,.library-panel .search-input::placeholder{color:#8b6f5a94}input:focus,select:focus,textarea:focus{border-color:var(--rose-500);box-shadow:0 0 0 4px #b28b732e,inset 0 1px #ffffffad}.pos-pill,.part-of-speech-chip,.pagination span{border-color:#b28b7347;color:var(--wine);background:#fffbe9e6}.floating-error{background:#8b6b55f0;box-shadow:0 16px 40px #6f523d3d}.import-preview-card{border-color:#b28b734d;background:linear-gradient(135deg,#fffffaf2,#fffaecd1),radial-gradient(circle at 100% 0%,rgba(178,139,115,.08),transparent 42%);box-shadow:0 8px 18px #6f523d14,0 1px 2px #6f523d14}.review-dashboard,.library-panel,.quick-add-page.page-panel{border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.quick-add-page .add-mode-toggle,.quick-add-page input,.quick-add-page textarea{background:#fffffa94}.quick-add-page input:focus,.quick-add-page textarea:focus{background:#fffffac7}:root{--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "DM Sans", "Avenir Next", system-ui, sans-serif;--font-ui: "DM Sans", "Avenir Next", system-ui, sans-serif}body:before{opacity:.34;background-image:linear-gradient(rgba(178,139,115,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(178,139,115,.09) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(ellipse at 50% 42%,black 0 62%,transparent 88%),linear-gradient(to bottom,transparent,black 8%,black 90%,transparent);mask-image:radial-gradient(ellipse at 50% 42%,black 0 62%,transparent 88%),linear-gradient(to bottom,transparent,black 8%,black 90%,transparent)}body:after{opacity:.022;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)'/%3E%3C/svg%3E");background-size:220px 220px;mix-blend-mode:soft-light;-webkit-mask-image:linear-gradient(to bottom,transparent,black 10%,black 86%,transparent);mask-image:linear-gradient(to bottom,transparent,black 10%,black 86%,transparent)}.app-header{animation:main-fade-in .9s ease both}.brand-button{font-family:var(--font-ui);font-size:1.35rem;font-weight:800;letter-spacing:-.02em}.brand-mark{transition:transform .26s var(--ease-press),box-shadow .26s ease}.brand-button:hover .brand-mark{animation:icon-bounce .62s ease both}.review-start-card{animation:review-home-appear .88s var(--ease-smooth-settle) .12s both,focal-float 9.8s ease-in-out 1.4s infinite;will-change:transform,opacity}.review-start-card:before{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;content:"";background:radial-gradient(ellipse at 50% -18%,rgba(178,139,115,.1) 0%,transparent 58%)}.review-icon{border-radius:20px;transition:transform .28s var(--ease-press),background .24s ease,box-shadow .24s ease}.review-icon.is-loaded{opacity:1}.review-icon.is-loaded:hover{animation:icon-bounce .62s ease both;background:linear-gradient(145deg,#bf957c,#9d735d);box-shadow:0 18px 42px #6f523d3d}.review-card-copy h1{font-family:var(--font-display);font-size:clamp(3.2rem,5.2vw,4.9rem);font-weight:700;letter-spacing:-.02em;line-height:.95}.review-card-copy span{font-family:var(--font-ui);font-size:.9rem;font-weight:700;letter-spacing:.02em}.home-stats{animation:main-card-enter 1.32s var(--ease-smooth-settle) .72s both;will-change:transform,opacity}.home-stats article{position:relative;overflow:hidden;transition:transform .24s var(--ease-polished),border-color .24s ease,box-shadow .24s ease,background .24s ease}.home-stats article:after{position:absolute;top:0;right:0;left:0;height:1px;content:"";opacity:0;background:linear-gradient(90deg,transparent,rgba(178,139,115,.28),transparent);transition:opacity .24s ease}.home-stats article:hover{transform:translateY(-2px);border-color:#b28b736b;background:#fffffaf5;box-shadow:0 16px 42px #6f523d24}.home-stats article:hover:after{opacity:1}.home-stats strong{font-family:var(--font-ui);font-size:2rem;font-weight:800;font-variant-numeric:tabular-nums}.home-stats span{font-family:var(--font-ui);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.start-review-button{font-family:var(--font-ui);letter-spacing:.01em;transition:transform .22s var(--ease-polished),box-shadow .22s ease,background .22s ease}.start-review-button:hover:not(:disabled){transform:translateY(-1px);background:#9d735d;box-shadow:0 14px 34px #6f523d3d}@keyframes main-fade-in{0%{opacity:0}to{opacity:1}}@keyframes main-card-enter{0%{opacity:0;transform:translate3d(0,34px,0) scale(.985)}58%{opacity:1;transform:translate3d(0,-3px,0) scale(1.003)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes review-home-appear{0%{opacity:0;transform:translate3d(0,24px,0) scale(.985)}58%{opacity:1;transform:translate3d(0,-2px,0) scale(1.002)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes focal-float{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-3px,0)}}@keyframes gentle-content-in{0%{opacity:0;transform:translate3d(0,12px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes icon-bounce{0%,to{transform:scale(1) rotate(0)}30%{transform:scale(1.13) rotate(-8deg)}60%{transform:scale(1.04) rotate(4deg)}}
