@import"https://fonts.googleapis.com/css2?family=Caveat:wght@600;700&family=Noto+Serif+SC:wght@400;600;700&display=swap";:root{color-scheme:light;--cream: #f8f0df;--paper: #fffaf0;--paper-deep: #f2dfbf;--ink: #45382d;--muted: #876f5a;--sage: #8fa58a;--sage-deep: #60745f;--rosewood: #a36a57;--clay: #d6a06f;--shadow: 0 24px 70px rgba(96, 75, 52, .16);--soft-shadow: 0 12px 32px rgba(96, 75, 52, .12)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 8% 12%,rgba(214,160,111,.24),transparent 28%),radial-gradient(circle at 82% 10%,rgba(143,165,138,.28),transparent 32%),linear-gradient(135deg,#f7ecd7,#fff8ea 45%,#edf0df);font-family:"Noto Serif SC",Georgia,serif}button{border:0;font:inherit;color:inherit}.app-shell{position:relative;z-index:0;width:min(1180px,calc(100% - 32px));margin:0 auto;padding:42px 0 56px}.paper-grain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.45;background-image:linear-gradient(rgba(69,56,45,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(69,56,45,.03) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:linear-gradient(to bottom,black,transparent 85%);mask-image:linear-gradient(to bottom,black,transparent 85%)}.hero{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px;align-items:stretch;margin-bottom:22px}.hero-copy,.status-card,.side-panel,.study-card,.panel,.finish-panel{border:1px solid rgba(135,111,90,.2);background:#fffaf0c7;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero-copy{position:relative;overflow:hidden;min-height:245px;padding:38px;border-radius:34px}.hero-copy:after{content:"";position:absolute;right:40px;bottom:-44px;width:190px;height:190px;border-radius:50%;background:linear-gradient(135deg,#8fa58a38,#d6a06f33);box-shadow:inset 0 0 0 20px #fffaf073}.eyebrow{display:inline-flex;gap:8px;align-items:center;margin:0 0 18px;color:var(--sage-deep);font-weight:700}.hero h1{max-width:680px;margin:0;font-size:clamp(2.5rem,7vw,5.8rem);line-height:.95;letter-spacing:-.08em}.hero-text{max-width:610px;margin:22px 0 0;color:var(--muted);font-size:1.05rem;line-height:1.9}.status-card{display:flex;flex-direction:column;justify-content:center;min-height:245px;padding:28px;border-radius:34px}.stamp{align-self:flex-start;display:inline-flex;transform:rotate(-4deg);padding:5px 13px;border:1px dashed var(--rosewood);border-radius:999px;color:var(--rosewood);font-family:Caveat,cursive;font-size:1.45rem}.status-card strong{margin-top:18px;font-family:Caveat,cursive;font-size:5rem;line-height:1}.status-card p{margin:4px 0 22px;color:var(--muted)}.progress-track{overflow:hidden;width:100%;height:12px;border-radius:999px;background:#8fa58a38}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--sage),var(--clay));transition:width .45s ease}.tabs{display:flex;gap:10px;overflow-x:auto;margin-bottom:18px;padding:6px;border-radius:999px;background:#fffaf085}.tabs button{flex:1;min-width:max-content;padding:12px 18px;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer}.tabs button.active{background:var(--paper);color:var(--ink);box-shadow:var(--soft-shadow)}.content-grid{display:grid;grid-template-columns:245px minmax(0,1fr);gap:18px}.side-panel{align-self:start;display:grid;gap:12px;padding:18px;border-radius:28px}.metric{display:flex;gap:12px;align-items:center;padding:16px;border-radius:22px;background:#fff6}.metric>span{display:grid;width:38px;height:38px;place-items:center;border-radius:15px;color:var(--sage-deep);background:#8fa58a2e}.metric p{margin:0;color:var(--muted);font-size:.86rem}.metric strong{display:block;margin-top:2px;font-size:1.1rem}.study-card,.panel,.finish-panel{min-height:520px;padding:26px;border-radius:34px;animation:liftIn .5s ease both}.card-topline,.panel-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;color:var(--muted)}.tag{padding:5px 12px;border-radius:999px;color:var(--sage-deep);background:#8fa58a2e}.word-card{position:relative;overflow:hidden;margin:22px 0;padding:clamp(28px,7vw,58px);border-radius:30px;background:linear-gradient(90deg,rgba(135,111,90,.08) 1px,transparent 1px) 0 0 / 34px 34px,linear-gradient(180deg,#fffaf0f5,#f8f0dff2);box-shadow:inset 0 0 0 1px #876f5a1f}.word-card:before{content:"";position:absolute;left:26px;top:0;bottom:0;width:2px;background:#a36a5738}.speak-button{position:absolute;right:22px;top:22px;display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#8fa58a33;color:var(--sage-deep);cursor:pointer}.phonetic{margin:0 0 8px;color:var(--sage-deep);font-family:Caveat,cursive;font-size:1.7rem}.word-card h2{margin:0;font-family:Caveat,cursive;font-size:clamp(4rem,12vw,8rem);line-height:.9;letter-spacing:-.03em}.meaning{margin:22px 0 0;color:var(--muted);font-size:1.2rem}.revealed{margin-top:22px;padding-top:20px;border-top:1px dashed rgba(135,111,90,.3)}.revealed p{margin:0;font-size:1.05rem;line-height:1.8}.revealed span{display:inline-block;margin-top:14px;color:var(--rosewood)}.actions-row,.mark-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:center}.primary-button,.ghost-button,.soft-button,.finish-button,.mark-row button{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:46px;padding:12px 18px;border-radius:999px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.primary-button,.finish-button{background:var(--ink);color:var(--paper);box-shadow:var(--soft-shadow)}.ghost-button,.soft-button,.mark-row button{background:#ffffff7a;color:var(--ink);box-shadow:inset 0 0 0 1px #876f5a24}.soft-button.full{width:100%}.ghost-button:disabled{cursor:not-allowed;opacity:.42}.primary-button:hover,.ghost-button:hover:not(:disabled),.soft-button:hover,.finish-button:hover,.mark-row button:hover{transform:translateY(-2px);box-shadow:var(--soft-shadow)}.mark-row{margin-top:14px}.mark-row button:nth-child(1){color:var(--rosewood)}.mark-row button:nth-child(2){color:var(--muted)}.mark-row button:nth-child(3){color:var(--sage-deep)}.finish-button{width:100%;margin-top:18px}.panel-heading{margin-bottom:20px}.panel-heading h2,.finish-panel h2{margin:0;font-size:clamp(1.7rem,4vw,2.6rem)}.panel-heading p{max-width:520px;margin:4px 0 0;color:var(--muted);line-height:1.8;text-align:right}.word-list,.reward-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.small-word-card,.reward-card,.diary-entry,.empty-state{border-radius:24px;background:#ffffff70;box-shadow:inset 0 0 0 1px #876f5a21}.small-word-card{position:relative;padding:20px}.small-word-card button{position:absolute;right:14px;top:14px;display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:#8fa58a2e;cursor:pointer}.small-word-card h3,.reward-card h3,.diary-entry h3{margin:0 0 8px}.small-word-card p,.reward-card p,.diary-entry p,.empty-state p{margin:0;color:var(--muted);line-height:1.7}.small-word-card span,.reward-card span,.diary-entry span{display:inline-block;margin-top:14px;color:var(--rosewood);font-family:Caveat,cursive;font-size:1.35rem}.reward-card{min-height:170px;padding:22px;filter:saturate(.6);opacity:.7}.reward-card.unlocked{filter:none;opacity:1;background:radial-gradient(circle at 80% 10%,rgba(214,160,111,.22),transparent 42%),#ffffff80}.diary-list{display:grid;gap:12px}.diary-entry{padding:20px}.empty-state{display:grid;min-height:260px;place-items:center;padding:34px;text-align:center}.empty-state svg{color:var(--clay)}.finish-panel{display:grid;place-items:center;align-content:center;text-align:center}.finish-panel svg{color:var(--clay)}.finish-panel p{max-width:520px;margin:10px 0 24px;color:var(--muted);font-size:1.15rem;line-height:1.8}@keyframes liftIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(max-width:860px){.app-shell{width:min(100% - 22px,1180px);padding-top:22px}.hero,.content-grid{grid-template-columns:1fr}.hero-copy,.status-card,.study-card,.panel,.finish-panel{border-radius:26px}.side-panel{grid-template-columns:repeat(3,1fr)}.soft-button.full{grid-column:1 / -1}}@media(max-width:620px){.hero-copy,.status-card,.study-card,.panel,.finish-panel{padding:20px}.side-panel,.word-list,.reward-grid{grid-template-columns:1fr}.panel-heading{display:block}.panel-heading p{text-align:left}.word-card{padding:58px 22px 28px 36px}.actions-row>*,.mark-row>*{flex:1 1 100%}}
