.toolbar[data-v-59ff1a89]{display:flex;align-items:center;justify-content:space-between;gap:8px}.brand[data-v-59ff1a89]{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:1.15rem;color:var(--ink)}.brand-mark[data-v-59ff1a89]{font-size:1.3rem}.actions[data-v-59ff1a89]{display:inline-flex;gap:6px}.ic[data-v-59ff1a89]{width:44px;height:44px;border-radius:12px;background:var(--surface);box-shadow:var(--shadow-card);font-size:1.1rem;display:inline-flex;align-items:center;justify-content:center;transition:transform .1s ease,opacity .1s ease}.ic[data-v-59ff1a89]:active{transform:scale(.94)}.ic.on[data-v-59ff1a89]{outline:2px solid var(--primary)}.ic[data-v-59ff1a89]:disabled{opacity:.4;cursor:not-allowed}.start[data-v-0d302d23]{display:flex;flex-direction:column;gap:16px}.field[data-v-0d302d23]{display:flex;flex-direction:column;gap:8px}.field-label[data-v-0d302d23]{font-weight:600;color:var(--ink-soft);font-size:.9rem}.hint[data-v-0d302d23],.info[data-v-0d302d23]{color:var(--ink-soft);font-size:.82rem;margin:2px 0 0}.info[data-v-0d302d23]{color:var(--primary)}.poem-list[data-v-0d302d23]{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto}.poem-item[data-v-0d302d23]{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;border-radius:var(--radius-md);background:var(--surface-2);color:var(--ink);text-align:left}.poem-item.active[data-v-0d302d23]{box-shadow:inset 0 0 0 2px var(--primary)}.p-title[data-v-0d302d23]{font-weight:700}.p-meta[data-v-0d302d23]{font-size:.78rem;color:var(--ink-soft)}.big[data-v-0d302d23]{padding:14px;font-size:1.1rem;margin-top:4px}.board[data-v-6f978b3b]{position:relative;width:min(90vw,56vh,500px);margin:0 auto;padding:0;overflow:visible}.board.f-diamond[data-v-6f978b3b]{overflow:hidden}.grid[data-v-6f978b3b]{position:absolute;top:5%;right:5%;bottom:5%;left:5%}.grid.f-diamond[data-v-6f978b3b]{top:8%;right:8%;bottom:8%;left:8%;transform:rotate(45deg) scale(.7071);transform-origin:center}.cell[data-v-6f978b3b]{position:absolute;background:var(--surface-2);border-radius:var(--radius-md);color:var(--ink);font-weight:800;font-size:clamp(14px,3.2vmin,32px);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-card);transition:transform .1s ease,background .15s ease;user-select:none;-webkit-user-select:none;transform:translate(-50%,-50%);padding:0}.cell[data-v-6f978b3b]:active{transform:translate(-50%,-50%) scale(.94)}.cell[data-v-6f978b3b]:disabled{background:transparent;box-shadow:none;cursor:default;opacity:.15}.cell.s-done[data-v-6f978b3b]{background:linear-gradient(135deg,color-mix(in srgb,var(--done) 85%,#fff),var(--done));color:var(--primary-ink)}.cell.s-wrong[data-v-6f978b3b]{background:var(--wrong);color:#fff;animation:shake-6f978b3b .4s ease}.cell.hex[data-v-6f978b3b]{clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0% 50%);border-radius:0}.cell.circ[data-v-6f978b3b]{border-radius:50%}.grid.f-diamond .cell .cell-val[data-v-6f978b3b]{display:inline-block;transform:rotate(-45deg)}@keyframes shake-6f978b3b{0%,to{transform:translate(-50%,-50%)}25%{transform:translate(calc(-50% - 4px),-50%)}75%{transform:translate(calc(-50% + 4px),-50%)}}.hud[data-v-2801172d]{display:flex;flex-direction:column;gap:8px;padding:10px 16px}.hud-row[data-v-2801172d]{display:flex;justify-content:space-between;align-items:center;gap:8px}.metric[data-v-2801172d]{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.m-label[data-v-2801172d]{font-size:.7rem;color:var(--ink-soft)}.m-value[data-v-2801172d]{font-size:1.15rem;font-weight:800;color:var(--ink);line-height:1.1}.time[data-v-2801172d]{color:var(--primary);font-variant-numeric:tabular-nums}.time small[data-v-2801172d]{font-size:.65rem;color:var(--ink-soft);font-weight:600}.target[data-v-2801172d]{background:linear-gradient(135deg,var(--primary),var(--accent-1));color:var(--primary-ink);padding:2px 12px;border-radius:999px}.bar[data-v-2801172d]{height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}.bar-fill[data-v-2801172d]{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--accent-1));transition:width .2s ease}.result[data-v-bac4a27a]{display:flex;flex-direction:column;gap:16px;text-align:center}.best[data-v-bac4a27a]{color:var(--accent-2);font-weight:700;margin:0}.big-stats[data-v-bac4a27a]{display:flex;justify-content:center;gap:32px;margin:8px 0}.big-stat[data-v-bac4a27a]{display:flex;flex-direction:column;gap:4px}.bs-label[data-v-bac4a27a]{font-size:.85rem;color:var(--ink-soft)}.bs-value[data-v-bac4a27a]{font-size:2.4rem;font-weight:800;color:var(--ink)}.bs-value small[data-v-bac4a27a]{font-size:1rem;color:var(--ink-soft)}.rounds[data-v-bac4a27a]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.rounds li[data-v-bac4a27a]{display:flex;justify-content:space-between;padding:8px 14px;background:var(--surface-2);border-radius:var(--radius-md);font-size:.95rem}.actions[data-v-bac4a27a]{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.stats[data-v-ea43e4e3]{display:flex;flex-direction:column;gap:14px}.group-list[data-v-ea43e4e3]{display:flex;flex-direction:column;gap:8px}.group-item[data-v-ea43e4e3]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:var(--radius-md);background:var(--surface-2);color:var(--ink);text-align:left;font-weight:600;transition:all .12s ease}.group-item.active[data-v-ea43e4e3]{box-shadow:inset 0 0 0 2px var(--primary)}.g-best[data-v-ea43e4e3]{color:var(--primary);font-size:.9rem}.summary[data-v-ea43e4e3]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.card-in[data-v-ea43e4e3]{background:var(--surface-2);border-radius:var(--radius-md);padding:12px}.s-item[data-v-ea43e4e3]{display:flex;flex-direction:column;gap:2px;text-align:center}.s-item span[data-v-ea43e4e3]{font-size:.75rem;color:var(--ink-soft)}.s-item b[data-v-ea43e4e3]{font-size:1.05rem;color:var(--ink)}.chart-wrap[data-v-ea43e4e3]{height:220px}.bottom[data-v-ea43e4e3]{display:flex;gap:8px}.modal[data-v-ea43e4e3]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:50;padding:24px}.modal-box[data-v-ea43e4e3]{max-width:340px;text-align:center;display:flex;flex-direction:column;gap:14px}.actions[data-v-ea43e4e3]{display:flex;gap:8px;justify-content:center}@media (max-width: 420px){.summary[data-v-ea43e4e3]{grid-template-columns:repeat(2,1fr)}}.hint[data-v-0effb640]{text-align:center;color:var(--ink-soft);font-size:.85rem}.storage-warn[data-v-0effb640]{text-align:center;color:var(--wrong);font-size:.8rem;background:color-mix(in srgb,var(--wrong) 12%,transparent);padding:8px;border-radius:var(--radius-md)}.update-toast[data-v-0effb640]{position:fixed;left:50%;bottom:calc(var(--safe-bottom) + 16px);transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:12px 16px;z-index:60;max-width:calc(100vw - 32px);font-size:.9rem}.upd-actions[data-v-0effb640]{display:flex;gap:6px}.sm[data-v-0effb640]{padding:6px 12px;font-size:.85rem}:root{--c-cyan: #22d3ee;--c-pink: #fb7185;--c-orange: #fb923c;--c-purple: #a78bfa;--c-green: #34d399;--bg: #eef1f6;--bg-grad-1: rgba(34, 211, 238, .28);--bg-grad-2: rgba(167, 139, 250, .24);--bg-grad-3: rgba(251, 113, 133, .2);--surface: #ffffff;--surface-2: #e9edf3;--ink: #1e293b;--ink-soft: #5b6b80;--gaze: #0891b2;--done: var(--c-green);--wrong: var(--c-pink);--primary: var(--c-cyan);--primary-ink: #ffffff;--accent-1: var(--c-purple);--accent-2: var(--c-orange);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 22px;--shadow-card: 0 6px 24px rgba(30, 41, 59, .1);--shadow-pop: 0 12px 40px rgba(30, 41, 59, .18);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}[data-theme=dark]{--bg: #0d1424;--bg-grad-1: rgba(34, 211, 238, .2);--bg-grad-2: rgba(167, 139, 250, .2);--bg-grad-3: rgba(251, 113, 133, .16);--surface: #1a2438;--surface-2: #243049;--ink: #f1f5f9;--ink-soft: #9fb0c8;--gaze: #38bdf8;--done: #34d399;--wrong: #fb7185;--primary: #22d3ee;--primary-ink: #06121a;--shadow-card: 0 8px 30px rgba(0, 0, 0, .45);--shadow-pop: 0 12px 40px rgba(0, 0, 0, .6)}*{box-sizing:border-box}html,body{margin:0;padding:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Roboto,Helvetica,Arial,sans-serif;font-size:16px;color:var(--ink);background:var(--bg);background-image:radial-gradient(at 15% 12%,var(--bg-grad-1) 0px,transparent 55%),radial-gradient(at 85% 18%,var(--bg-grad-2) 0px,transparent 55%),radial-gradient(at 50% 95%,var(--bg-grad-3) 0px,transparent 55%);background-attachment:fixed;min-height:100dvh}body{min-height:100dvh}#app{min-height:100dvh;padding:calc(var(--safe-top) + 12px) var(--safe-right) calc(var(--safe-bottom) + 12px) var(--safe-left)}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:var(--radius-md);font-size:1rem;font-weight:600;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-card);transition:transform .12s ease,box-shadow .12s ease,background .12s ease;-webkit-user-select:none;user-select:none}.btn:active{transform:translateY(1px) scale(.99)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--primary{background:linear-gradient(135deg,var(--primary),var(--accent-1));color:var(--primary-ink);box-shadow:var(--shadow-pop)}.btn--ghost{background:transparent;box-shadow:none;color:var(--ink-soft)}.segment{display:inline-flex;flex-wrap:wrap;gap:8px}.seg-btn{padding:10px 14px;border-radius:var(--radius-md);background:var(--surface);color:var(--ink-soft);font-weight:600;box-shadow:var(--shadow-card);transition:all .12s ease;min-height:44px}.seg-btn[aria-pressed=true]{background:linear-gradient(135deg,var(--primary),var(--accent-1));color:var(--primary-ink)}.seg-btn:disabled{opacity:.35;cursor:not-allowed}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:20px}.app-root{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:16px}h1,h2,h3{margin:0;color:var(--ink)}h1{font-size:1.6rem}.subtitle{color:var(--ink-soft);margin:4px 0 0;font-size:.95rem}@media (max-width: 420px){html{font-size:15px}h1{font-size:1.4rem}}
