:root{--bg:#faf7f1;--surface:#fff;--ink:#14213d;--ink-soft:#4a5673;--line:#e3ddd0;--teal:#0b7f86;--teal-soft:#dff3f2;--purple:#5b45c9;--purple-soft:#ece8fb;--coral:#e2553f;--coral-soft:#fdeae5;--ok:#17734a;--ok-soft:#e2f4ea;--warn:#8a5a00;--warn-soft:#fbf0d6;--accent:var(--teal);--accent-soft:var(--teal-soft);--radius:16px;--shadow:0 1px 2px #14213d0f, 0 6px 20px #14213d0f}[data-theme=mor]{--accent:var(--purple);--accent-soft:var(--purple-soft)}[data-theme=lacivert]{--accent:#23407a;--accent-soft:#e4eaf6}[data-theme=mercan]{--accent:#b8402d;--accent-soft:var(--coral-soft)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);margin:0;font-family:ui-rounded,SF Pro Rounded,Nunito,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.5;overflow-x:hidden}h1,h2,h3{text-wrap:balance;margin:0;line-height:1.2}h1{font-size:1.7rem}h2{font-size:1.25rem}h3{font-size:1.05rem}p{margin:0}a{color:var(--accent)}:focus-visible{outline:3px solid var(--purple);outline-offset:2px;border-radius:6px}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--ink-soft)}.small{font-size:.88rem}.center{text-align:center}.en{letter-spacing:.01em;font-weight:700}.page{max-width:720px;margin:0 auto;padding:20px 16px 110px}.page.wide{max-width:980px}.stack{flex-direction:column;gap:16px;display:flex}.stack.tight{gap:8px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.row.between{justify-content:space-between}.grow{flex:1 1 0;min-width:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card.flat{box-shadow:none}.card.accent{background:var(--accent-soft);border-color:#0000}.btn{border:2px solid var(--line);background:var(--surface);min-width:48px;min-height:48px;color:var(--ink);font:inherit;cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:700;text-decoration:none;transition:transform .12s,background .12s;display:inline-flex}.btn:hover{background:#f3efe6}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{filter:brightness(1.08);background:var(--accent)}.btn.big{border-radius:20px;width:100%;min-height:64px;padding:14px 24px;font-size:1.2rem}.btn.ghost{color:var(--accent);background:0 0;border-color:#0000}.btn.danger{border-color:var(--coral);color:#a5301d}.btn.block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}label.field{flex-direction:column;gap:6px;font-size:.95rem;font-weight:700;display:flex}.input,select.input{border:2px solid var(--line);min-height:48px;color:var(--ink);font:inherit;background:#fff;border-radius:12px;width:100%;padding:10px 14px}.input:focus{border-color:var(--accent)}.input.answer{text-align:center;min-height:60px;font-size:1.3rem;font-weight:700}.check{align-items:center;gap:8px;min-height:44px;font-weight:600;display:inline-flex}.check input{width:22px;height:22px;accent-color:var(--accent)}.banner{border-radius:12px;padding:12px 16px;font-weight:600}.banner.info{background:var(--purple-soft);color:#33267a}.banner.ok{background:var(--ok-soft);color:var(--ok)}.banner.warn{background:var(--warn-soft);color:var(--warn)}.banner.err{background:var(--coral-soft);color:#8f2616}.demo-bar{color:#fff;text-align:center;background:#33267a;padding:8px 12px;font-size:.9rem;font-weight:700}.tag{color:var(--ink-soft);white-space:nowrap;background:#efeadf;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.tag.settling{background:var(--ok-soft);color:var(--ok)}.tag.recalled{background:var(--teal-soft);color:#075b60}.tag.recognized{background:var(--purple-soft);color:#3d2e99}.tag.learning{background:var(--warn-soft);color:var(--warn)}.tag.reward{background:var(--coral-soft);color:#a5301d}.avatar{background:var(--accent-soft);border:3px solid var(--accent);border-radius:50%;flex:none;place-items:center;width:56px;height:56px;font-size:28px;display:grid}.avatar.lg{width:84px;height:84px;font-size:42px}.avatar.sm{border-width:2px;width:40px;height:40px;font-size:20px}.topbar{z-index:5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);background:#faf7f1f0;position:sticky;top:0}.topbar-in{align-items:center;gap:12px;max-width:980px;margin:0 auto;padding:8px 16px;display:flex}.brand{color:var(--ink);align-items:center;min-height:44px;font-size:1.05rem;font-weight:800;text-decoration:none;display:inline-flex}.topbar a:has(.avatar){place-items:center;min-width:44px;min-height:44px;display:inline-grid}.bottomnav{z-index:5;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottomnav a{min-height:60px;color:var(--ink-soft);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.78rem;font-weight:700;text-decoration:none;display:flex}.bottomnav a[aria-current=page]{color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}.bottomnav svg{width:24px;height:24px}.tabs{gap:6px;padding:4px 0;display:flex;overflow-x:auto}.tabs a{min-height:44px;color:var(--ink-soft);white-space:nowrap;border-radius:12px;align-items:center;padding:10px 14px;font-weight:700;text-decoration:none;display:inline-flex}.tabs a[aria-current=page]{background:var(--ink);color:#fff}.progress{background:#e9e3d6;border-radius:999px;height:10px;overflow:hidden}.progress>span{background:var(--accent);border-radius:999px;height:100%;transition:width .3s;display:block}.prompt{text-align:center;overflow-wrap:anywhere;font-size:2rem;font-weight:800}.prompt.long{font-size:1.35rem}.options{gap:10px;display:grid}.option{text-align:left;justify-content:flex-start;min-height:58px;padding:12px 16px;font-size:1.05rem}.option .k{width:28px;height:28px;color:var(--ink-soft);background:#efeadf;border-radius:8px;flex:none;place-items:center;font-size:.85rem;display:grid}.option[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.option.right{border-color:var(--ok);background:var(--ok-soft)}.option.off{opacity:.55}.match{grid-template-columns:1fr 1fr;gap:10px;display:grid}.match .col{align-content:start;gap:10px;display:grid}.match .btn{overflow-wrap:anywhere;min-height:56px;padding:8px 10px;font-size:.98rem}.feedback{border-radius:var(--radius);border:2px solid;padding:16px}.feedback.good{border-color:var(--ok);background:var(--ok-soft)}.feedback.soft{background:var(--warn-soft);border-color:#d9b45a}.blank{border-bottom:3px solid var(--accent);min-width:70px;margin:0 4px;display:inline-block}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:12px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}th{background:#f5f1e8;font-size:.82rem;position:sticky;top:0}.kv{grid-template-columns:1fr auto;gap:6px 16px;display:grid}.stat{font-size:1.6rem;font-weight:800}.grid2{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.grid3{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.island{position:relative;overflow:hidden}.island:after{content:"";background:var(--accent-soft);z-index:0;border-radius:50%;width:110px;height:110px;position:absolute;top:-30px;right:-30px}.island>*{z-index:1;position:relative}.cal-day{border-bottom:1px solid var(--line);grid-template-columns:110px 1fr;align-items:center;gap:10px;padding:10px 0;display:grid}.cal-day.off{opacity:.6}.spinner{border:4px solid #e3ddd0;border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;margin:24px auto;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.pop{animation:.22s pop}@media (min-width:860px){.bottomnav{background:0 0;border:0;gap:6px;padding:0;display:flex;position:static}.bottomnav a{border-radius:12px;flex-direction:row;gap:8px;min-height:44px;padding:0 14px;font-size:.95rem}.bottomnav a[aria-current=page]{box-shadow:none;background:var(--accent-soft)}.page{padding-bottom:40px}.nav-slot-bottom{display:none}}@media (max-width:859px){.nav-slot-top{display:none}.topbar .tabs{flex-basis:100%;order:3}}@media (max-width:420px){.prompt{font-size:1.6rem}.card{padding:16px}.cal-day{grid-template-columns:92px 1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}[data-motion=off] *,[data-motion=off] :before,[data-motion=off] :after{transition:none!important;animation:none!important}
