:root{--bg: #FAF9F7;--bg-2: #F1EFEA;--card: #FDFCFA;--card-2: #F5F4F0;--sheet: #FAF9F7;--bd: #EAEAE6;--bd-2: #D9D7D0;--hairline: #F0EEE9;--ink: #2C2C2A;--ink-2: #6B6B66;--mute: #8C8B85;--faint: #B0AEA6;--gold: #C56A4D;--gold-hi: #D4785C;--gold-deep: #A85539;--gold-bg: rgba(197, 106, 77, .12);--gold-bd: rgba(197, 106, 77, .4);--sand: #C9B89A;--up: #6B8E5B;--up-bg: rgba(107, 142, 91, .14);--down: #B96D5A;--down-bg: rgba(185, 109, 90, .14);--cyan: #5E8FB5;--rose: #B96D5A;--font-display: "Zen Old Mincho", serif;--font-ui: "Noto Sans JP", sans-serif;--font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--r-sm: 4px;--r-md: 8px;--r-lg: 10px;--shadow-card: 0 1px 2px rgba(28, 28, 26, .04), 0 1px 3px rgba(28, 28, 26, .06);--gutter: 16px;--t: .16s ease}*{box-sizing:border-box}html,body{height:100%}html{overscroll-behavior:none}body{margin:0;background:var(--bg);background-image:radial-gradient(rgba(28,28,26,.045) 1px,transparent 1px);background-size:16px 16px;color:var(--ink);font-family:var(--font-ui);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--gold);text-decoration:none}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.microlabel{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}.card{background:var(--card);border:1px solid var(--bd);border-radius:var(--r-md);box-shadow:var(--shadow-card)}.glass{background:#faf9f7d1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.btn-gold{background:linear-gradient(150deg,var(--gold-hi),var(--gold));color:#fff;font-weight:700;border:none;border-radius:8px;padding:13px 18px;transition:opacity var(--t),transform var(--t)}.btn-gold:active{transform:scale(.98)}.btn-ink{background:var(--ink);color:var(--bg);font-weight:700;font-size:12px;border:none;border-radius:8px;padding:7px 14px}.textbtn{background:none;border:none;color:var(--ink-2);font-size:12px;font-weight:700;padding:0;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--bd-2)}.btn-ghost{background:var(--card-2);color:var(--ink-2);font-weight:600;border:1px solid var(--bd);border-radius:8px;padding:11px 16px}.chip{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:6px;border:1px solid var(--bd);background:transparent;color:var(--ink-2);font-size:12px;font-weight:600;white-space:nowrap;transition:border-color var(--t),color var(--t),background var(--t)}.chip.on{background:var(--gold-bg);border-color:var(--gold-bd);color:var(--gold-hi)}.noscroll::-webkit-scrollbar{display:none}.noscroll{scrollbar-width:none}@keyframes marq{0%,12%{transform:translate(0)}88%,to{transform:translate(var(--marq-dist))}}@keyframes blink{50%{opacity:0}}.cursor{animation:blink 1s step-end infinite;color:var(--gold)}@keyframes pulse{50%{opacity:.45}}.skeleton{background:#eceae4;border-radius:8px;animation:pulse 1.4s ease infinite}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:16px;height:16px;border:2px solid var(--bd-2);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}
