:root{--ink-0:#0e0b09;--ink-1:#14100c;--surface:#1c1712;--surface-2:#241d16;--border:#34291f;--border-soft:#251d15;--ember:#e0723a;--ember-hi:#ff8a4c;--gold:#d9a441;--sage:#7fa06a;--danger:#c65f4e;--text:#f0e9df;--text-muted:#b8ab98;--text-dim:#7d715f;--ring-track:#2a2018;--radius:16px;--radius-sm:10px;--shadow:0 10px 30px -12px #000000b3;--shadow-ember:0 0 24px -4px #e0723a73;--sans:"Segoe UI", system-ui, Roboto, sans-serif;--serif:"Iowan Old Style", "Palatino Linotype", Georgia, serif;--mono:ui-monospace, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:16px/1.5 var(--sans);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=light]{--ink-0:#f4efe7;--ink-1:#efe8dd;--surface:#fffaf2;--surface-2:#f6efe3;--border:#e0d4c2;--border-soft:#ece1d0;--ember:#c85f2a;--ember-hi:#e0723a;--gold:#b8892b;--sage:#5f7f4a;--danger:#b2482f;--text:#241c14;--text-muted:#6b5d4a;--text-dim:#9a8a72;--ring-track:#e2d6c4;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--ink-0);min-height:100svh;margin:0;padding:0}body{background:radial-gradient(1200px 600px at 50% -10%, #e0723a1a, transparent 60%), var(--ink-0)}#root{justify-content:center;min-height:100svh;display:flex}.app-frame{background:linear-gradient(180deg, var(--ink-1), var(--ink-0));flex-direction:column;width:100%;max-width:468px;min-height:100svh;display:flex;position:relative}h1,h2,h3{color:var(--text);margin:0 0 .4em;font-weight:600}h1{letter-spacing:-.4px;font-size:26px}h2{letter-spacing:-.2px;font-size:20px}h3{font-size:16px}p{color:var(--text-muted);margin:0 0 .8em}a{color:var(--ember-hi);text-decoration:none}.muted{color:var(--text-muted)}.dim{color:var(--text-dim)}.gold{color:var(--gold)}.sage{color:var(--sage)}.card{background:linear-gradient(180deg, var(--surface), var(--ink-1));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.btn{font:inherit;border-radius:var(--radius-sm);cursor:pointer;color:var(--text);background:var(--surface-2);border:1px solid #0000;border-color:var(--border);justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-weight:600;transition:transform 80ms,box-shadow .2s,background .2s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:linear-gradient(180deg, var(--ember-hi), var(--ember));color:#1a0f08;box-shadow:var(--shadow-ember);border-color:#0000}.btn-ghost{border-color:var(--border);background:0 0}.btn-block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.input,textarea.input,select.input{width:100%;font:inherit;color:var(--text);background:var(--ink-0);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px}.input:focus{border-color:var(--ember);outline:none}label{color:var(--text-muted);margin:0 0 6px;font-size:13px;display:block}.field{margin-bottom:14px}.chip{letter-spacing:.4px;text-transform:uppercase;border:1px solid var(--border);color:var(--text-muted);border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.chip-canon{color:var(--gold);border-color:var(--gold)}.chip-interp{color:var(--ember-hi);border-color:var(--ember)}.stack>*+*{margin-top:14px}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.grow{flex:1}.center{text-align:center}.pad{padding:20px}.scroll{flex:1;overflow-y:auto}.tabbar{border-top:1px solid var(--border);background:var(--ink-1);display:flex;position:sticky;bottom:0}.tabbar a{text-align:center;color:var(--text-dim);flex:1;padding:10px 4px 14px;font-size:11px}.tabbar a.active{color:var(--ember-hi)}.tabbar a .ico{margin-bottom:2px;font-size:20px;display:block}.mandala{width:100%;max-width:340px;margin:4px auto 0;display:block;overflow:visible}.mandala text{font-family:var(--sans)}.mandala g{transition:filter .15s}.topbar{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.topbar .title{letter-spacing:2px;font-size:14px;font-weight:700}.iconbtn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:6px;font-size:18px}
