:root{--bg: #FAF7F2;--bg-2: #F2ECE0;--bg-card: #FFFFFF;--ink: #1B1A17;--ink-2: #3F3A33;--ink-3: #6B6459;--ink-4: #9A9287;--line: #E8E2D6;--line-2: #D9D2C2;--accent: #E87B3E;--accent-ink: #B54F17;--accent-soft: #FCE9D8;--rec: #D93A3A;--rec-soft: #FBE3E3;--ok: #2E8B57;--ok-soft: #DCEEE2;--warn: #C98B16;--warn-soft: #F7EBCF;--info: #2E6FB5;--info-soft: #DCE8F5;--radius: 12px;--radius-sm: 8px;--radius-lg: 18px;--shadow-sm: 0 1px 0 rgba(27,26,23,.04), 0 1px 2px rgba(27,26,23,.04);--shadow-md: 0 2px 0 rgba(27,26,23,.03), 0 6px 20px -8px rgba(27,26,23,.12);--shadow-lg: 0 24px 60px -20px rgba(27,26,23,.28);--font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-display: "Instrument Serif", "Geist", ui-serif, serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--ink);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11"}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit;padding:0}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}a{color:inherit}.mono{font-family:var(--font-mono);font-feature-settings:"ss01"}.serif{font-family:var(--font-display);font-weight:400;letter-spacing:-.01em}.caps{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:500}.btn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:10px;font-weight:500;border:1px solid var(--line);background:var(--bg-card);color:var(--ink);transition:background .12s,border-color .12s,transform .12s;white-space:nowrap}.btn:hover{background:var(--bg-2);border-color:var(--line-2)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn-primary:hover{background:#000;border-color:#000}.btn-accent{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-accent:hover{background:#d66a2e;border-color:#d66a2e}.btn-rec{background:var(--rec);color:#fff;border-color:var(--rec)}.btn-rec:hover{background:#c23030;border-color:#c23030}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{background:var(--bg-2)}.btn-lg{height:44px;padding:0 20px;border-radius:12px;font-size:15px}.btn-sm{height:28px;padding:0 10px;border-radius:8px;font-size:12.5px}.btn-icon{width:36px;padding:0;justify-content:center}.chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:999px;font-size:11.5px;font-weight:500;background:var(--bg-2);color:var(--ink-2);border:1px solid var(--line)}.chip-accent{background:var(--accent-soft);color:var(--accent-ink);border-color:transparent}.chip-ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}.chip-warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}.chip-info{background:var(--info-soft);color:var(--info);border-color:transparent}.chip-rec{background:var(--rec-soft);color:var(--rec);border-color:transparent}.chip-ink{background:var(--ink);color:var(--bg);border-color:var(--ink)}.card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius)}.input{height:40px;width:100%;padding:0 12px;background:var(--bg-card);border:1px solid var(--line);border-radius:10px;transition:border-color .12s,box-shadow .12s;outline:none}.input:focus{border-color:var(--ink);box-shadow:0 0 0 3px #1b1a1714}.input-lg{height:46px;font-size:15px;border-radius:12px}.divider{height:1px;background:var(--line);border:0;margin:0}.claw-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--ink);color:var(--bg)}.avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;font-weight:600;font-size:12px;color:#fff;letter-spacing:.02em}.scroll-thin::-webkit-scrollbar{width:10px;height:10px}.scroll-thin::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:999px;border:2px solid var(--bg)}.scroll-thin::-webkit-scrollbar-track{background:transparent}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.35}}.rec-dot{width:8px;height:8px;border-radius:999px;background:var(--rec);animation:rec-pulse 1.2s ease-in-out infinite;display:inline-block}.grain{background-image:radial-gradient(rgba(27,26,23,.04) 1px,transparent 1px);background-size:4px 4px}.row-split>*+*{border-top:1px solid var(--line)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.select{height:36px;padding:0 32px 0 12px;border:1px solid var(--line);background:var(--bg-card);border-radius:10px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 5l3 3 3-3' stroke='%236B6459' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;outline:none}.select:focus{border-color:var(--ink);box-shadow:0 0 0 3px #1b1a1714}.theme-dark{--bg: #111110;--bg-2: #1A1A18;--bg-card: #1F1F1D;--ink: #F5F2EC;--ink-2: #D9D4CA;--ink-3: #9A9287;--ink-4: #6B6459;--line: #2A2A27;--line-2: #3A3A36;--accent-soft: #3A2616;--rec-soft: #3A1A1A;--ok-soft: #1C2E25;--warn-soft: #2E2817;--info-soft: #1A2535;color:var(--ink);background:var(--bg)}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-weight:500;color:var(--ink-3);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;padding:10px 12px;border-bottom:1px solid var(--line)}.table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}.table tbody tr:hover{background:var(--bg-2)}.progress{height:4px;background:var(--line);border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent);border-radius:999px}.kbd{font-family:var(--font-mono);font-size:11px;padding:2px 6px;border-radius:6px;border:1px solid var(--line);background:var(--bg-card);color:var(--ink-3)}textarea.input{height:auto;padding:10px 12px;resize:vertical;line-height:1.5}@keyframes spin{to{transform:rotate(360deg)}}
