@font-face{font-family:Space Grotesk;src:url(../assets/fonts/SpaceGrotesk.woff2) format("woff2");font-weight:300 700;font-display:swap}@font-face{font-family:Inter;src:url(../assets/fonts/Inter.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(../assets/fonts/IBMPlexMono.woff2) format("woff2");font-weight:100 700;font-display:swap}:root{--bg: #0c0c0d;--bg-raise: #141416;--bg-sunken: #09090a;--border: #232326;--border-strong: #32323a;--fg: #f2f2f0;--muted: #8c8c8f;--muted-dim: #6a6a6e;--accent: #e8a05c;--accent-dim: rgba(232, 160, 92, .32);--accent-ghost: rgba(232, 160, 92, .08);--high: #e8735c;--medium: #e8c05c;--success: #7fc08a;--font-display: "Space Grotesk", system-ui, sans-serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;--radius: 12px;--radius-sm: 8px;--ease: cubic-bezier(.16, .84, .44, 1);color-scheme:dark;font-family:var(--font-body)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);line-height:1.55;-webkit-font-smoothing:antialiased;background-image:linear-gradient(rgba(35,35,38,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(35,35,38,.28) 1px,transparent 1px),radial-gradient(circle at 82% -10%,rgba(232,160,92,.07),transparent 42%);background-size:48px 48px,48px 48px,100% 100%;background-attachment:fixed}#app{max-width:760px;margin:0 auto;padding:0 20px 64px}::selection{background:var(--fg);color:var(--bg)}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 0 16px;border-bottom:1px solid var(--border);margin-bottom:28px}.brand{font-family:var(--font-display);font-weight:700;font-size:1.05rem;letter-spacing:-.01em;display:flex;align-items:center;gap:9px}.brand:before{content:"";width:9px;height:9px;border-radius:2px;background:var(--accent);box-shadow:0 0 12px var(--accent-dim)}.nav{display:flex;gap:2px;flex-wrap:wrap}.nav a{color:var(--muted);text-decoration:none;padding:7px 13px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;border:1px solid transparent;transition:color .18s var(--ease),background .18s var(--ease),border-color .18s var(--ease)}.nav a:hover{color:var(--fg);background:var(--bg-raise)}.nav a.active{color:var(--accent);background:var(--accent-ghost);border-color:var(--accent-dim)}.content{display:flex;flex-direction:column;gap:14px;background:var(--bg-raise);border:1px solid var(--border);border-radius:var(--radius);padding:26px}h2{font-family:var(--font-display);font-size:1.4rem;font-weight:700;letter-spacing:-.02em;margin:0;display:flex;align-items:center;gap:11px}h2:before{content:"";flex:none;width:3px;height:1.05em;border-radius:2px;background:var(--accent)}.content>h2:not(:first-child){margin-top:16px;padding-top:26px;border-top:1px solid var(--border)}h3{font-family:var(--font-display);font-size:.95rem;font-weight:600;letter-spacing:.01em;margin:18px 0 6px}p{margin:0 0 10px}p:last-child{margin-bottom:0}.muted{color:var(--muted);font-size:13.5px}.total{font-family:var(--font-display);font-size:2.6rem;font-weight:700;letter-spacing:-.03em;line-height:1.05;margin:6px 0 2px;font-variant-numeric:tabular-nums}.principal{font-family:var(--font-mono);font-size:12px;color:var(--muted);word-break:break-all;background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px}.row{display:flex;gap:9px;flex-wrap:wrap;align-items:center}button{background:var(--bg-raise);color:var(--fg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:10px 17px;font-family:var(--font-body);font-size:13.5px;font-weight:600;cursor:pointer;transition:background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease),transform .12s var(--ease)}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}button:active:not(:disabled){transform:translateY(1px)}button.primary{background:var(--accent);border-color:var(--accent);color:#17120a}button.primary:hover:not(:disabled){background:#f0b174;border-color:#f0b174;color:#17120a}button.danger{border-color:#e8735c80;color:var(--high)}button.danger:hover:not(:disabled){background:#e8735c1a;border-color:var(--high);color:var(--high)}button:disabled{opacity:.4;cursor:not-allowed}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input.amount,.note-select,select,input[type=text],input[type=number]{width:100%;padding:11px 13px;background:var(--bg-sunken);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--fg);font-family:var(--font-mono);font-size:14.5px;transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}input.amount:focus,.note-select:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ghost)}label{display:block;font-size:13.5px;color:var(--muted);margin-bottom:5px}label.radio{display:flex;align-items:center;gap:9px;margin:0;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-sunken);color:var(--fg);cursor:pointer;transition:border-color .18s var(--ease),background .18s var(--ease)}label.radio:hover{border-color:var(--border-strong)}label.radio:has(input:checked){border-color:var(--accent);background:var(--accent-ghost)}input[type=radio],input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;margin:0}fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px 16px;margin:0 0 4px;display:flex;flex-direction:column;gap:8px}legend{color:var(--muted);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;padding:0 7px}table.denoms,table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}table.denoms th,table.denoms td,table th,table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border);font-size:13.5px}table.denoms th,table th{color:var(--muted);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}table.denoms td,table td{font-family:var(--font-mono)}table.denoms tbody tr:last-child td,table tbody tr:last-child td{border-bottom:none}.preview,.intent-summary,.results,.journal{background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;font-size:13.5px}.preview ul,.intent-summary ul,.results ul,.journal ul{margin:6px 0 0;padding-left:18px;color:var(--muted)}.preview li,.intent-summary li,.results li,.journal li{margin:3px 0}.intent-summary{border-left:2px solid var(--accent)}.error{color:var(--high);font-size:13.5px}.success{color:var(--success);font-size:13.5px}.warnings{display:flex;flex-direction:column;gap:9px}.warning{padding:12px 14px;border-radius:var(--radius-sm);font-size:13.5px;line-height:1.6;background:var(--bg-sunken);border:1px solid var(--border);border-left:3px solid var(--border-strong)}.warning.high{border-left-color:var(--high);background:#e8735c12}.warning.medium{border-left-color:var(--medium);background:#e8c05c0f}.warning.low{border-left-color:var(--accent)}.warning:before{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:5px;color:var(--muted)}.warning.high:before{content:"High impact on privacy";color:var(--high)}.warning.medium:before{content:"Consider before continuing";color:var(--medium)}.warning.low:before{content:"Note";color:var(--accent)}.preceremony{padding:14px 16px;border-radius:var(--radius-sm);background:#e8c05c14;border:1px solid rgba(232,192,92,.35);border-left:3px solid var(--medium);font-size:13.5px;line-height:1.6;color:var(--fg)}.preceremony strong{color:var(--medium);font-weight:700}.status{min-height:0}.status-msg{padding:12px 14px;border-radius:var(--radius-sm);font-size:13.5px;margin-bottom:12px;background:var(--bg-raise);border:1px solid var(--border);border-left:3px solid var(--border-strong);animation:msg-in .32s var(--ease)}.status-msg.error{border-left-color:var(--high)}.status-msg.success{border-left-color:var(--success)}.status-msg.info{border-left-color:var(--accent)}@keyframes msg-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}main,.content{animation:view-in .34s var(--ease)}@keyframes view-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 560px){#app{padding:0 14px 48px}.app-header{padding:16px 0 12px}.total{font-size:2.1rem}.content{padding:18px 16px}.nav a{padding:6px 10px;font-size:12.5px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
