:root{--ink:#e6ecff;--muted:#b4bee0;--paper:#0f162b;--card:#1a2649d1;--line:#8db2ff52;--brand:#63e6be;--brand-soft:#bcf2df}html[data-theme=light]{--ink:#172033;--muted:#3b506e;--paper:#eef4ff;--card:#ffffffe0;--line:#49639c47;--brand:#126871;--brand-soft:#1f334e}*{box-sizing:border-box}html,body{min-height:100%;margin:0}.skip-link{background:var(--brand);color:var(--paper);z-index:100;border-radius:.5rem;padding:.6rem 1rem;font-weight:600;text-decoration:none;position:absolute;top:-10rem;left:1rem}.skip-link:focus{top:1rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--brand);outline-offset:2px}:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{color:var(--ink);background:radial-gradient(80% 70% at 50% -20%,#45a4ff42,#0000),linear-gradient(145deg,#0b1022,#0f162b 60%,#111a34);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}html[data-theme=light] body{background:radial-gradient(80% 70% at 50% -20%,#70aaff33,#0000),linear-gradient(145deg,#edf2ff,#e5efff 60%,#f4f8ff)}#app{width:min(980px,94vw);margin:0 auto;padding:2rem 0 3rem}.shell{gap:1rem;display:grid}.hero,.panel{border:1px solid var(--line);background:var(--card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:1rem;padding:1.25rem}.hero{position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;background:linear-gradient(130deg,#63e6be14,#0000 42%);position:absolute;inset:0}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--brand);margin:0;font-size:.75rem}h1{color:var(--brand-soft);margin:.45rem 0 .55rem;font-size:clamp(1.8rem,5vw,3rem);line-height:1.05}h2{margin:0 0 .4rem;font-size:clamp(1.1rem,2vw,1.4rem)}p{color:var(--muted);margin:0;line-height:1.6}h3{color:var(--brand-soft);margin:0 0 .35rem;font-size:1rem}label{color:var(--muted);gap:.3rem;display:grid}input,button{font:inherit}input[type=text],input[type=range]{width:100%}input[type=text]{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:.65rem;min-height:2.75rem;padding:.55rem .7rem}input[type=range]{accent-color:var(--brand);height:2.75rem}button{border:1px solid var(--line);min-width:2.75rem;min-height:2.75rem;color:var(--ink);background:var(--paper);cursor:pointer;border-radius:.7rem;padding:.55rem .85rem}button:hover:not(:disabled){box-shadow:0 0 0 3px var(--line)}button:disabled{opacity:.55;cursor:not-allowed}.theme-toggle{border:1px solid var(--line);background:var(--card);width:2.6rem;height:2.6rem;color:var(--ink);z-index:10;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle:hover{background:var(--paper)}.grid{gap:.8rem;display:grid}.controls{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:.45rem}.actions{flex-wrap:wrap;gap:.6rem;margin:.45rem 0;display:flex}.cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.card{border:1px solid var(--line);background:var(--paper);border-radius:.75rem;padding:.75rem}.tokens{flex-wrap:wrap;gap:.45rem;margin-top:.6rem;display:flex}.distribution{flex-wrap:wrap;gap:.45rem;margin-top:.55rem;display:flex}.node{border:1px solid var(--line);background:var(--paper);color:var(--brand-soft);border-radius:.5rem;padding:.2rem .5rem;animation:1s infinite pulse}.token{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:.22rem .6rem;animation:.35s both rise}.token.ok{color:var(--brand)}.token.warn{color:var(--muted)}.mono{overflow-wrap:anywhere;word-break:break-all;font-family:Courier New,Courier,monospace}.meta{margin-top:.5rem}.meta.good{color:var(--brand)}.meta.bad{color:var(--brand-soft)}ul{color:var(--muted);margin:.5rem 0 0}.scripture-footer{text-align:center;color:var(--muted);padding:1.4rem 0 1.6rem;font-size:.88rem}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--line)}to{box-shadow:0 0 0 7px #0000}}@media (width<=700px){#app{width:min(98vw,980px);padding-top:1rem}.hero,.panel{padding:.95rem}.actions{flex-direction:column}.actions button{width:100%}.controls,.cards{grid-template-columns:1fr}h1{font-size:clamp(1.4rem,6vw,2.2rem)}.scripture-footer{padding:1rem .75rem;font-size:.82rem}ul{padding-left:1.2rem}}
