:root{color-scheme:dark;--bg: #07070f;--green: #00ffcc;--green-soft: rgba(0, 255, 204, .35);--orange: #ff7b45;--orange-soft: rgba(255, 123, 69, .4);--wire: rgba(255, 255, 255, .5)}html[data-theme=light]{color-scheme:light;--bg: #f3fbf7;--green: #0d6f5e;--green-soft: rgba(13, 111, 94, .35);--orange: #bf4f20;--orange-soft: rgba(191, 79, 32, .4);--wire: rgba(7, 7, 15, .6)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background-color:var(--bg);color:#e8f5f0}body{font-family:Share Tech Mono,monospace;font-size:16px;overflow-x:hidden}.dot-grid{position:fixed;inset:0;background-image:radial-gradient(rgba(255,255,255,.035) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:8px;left:8px;z-index:300;padding:10px 16px;background-color:var(--green);color:#07070f;font-family:Orbitron,sans-serif;font-weight:700;letter-spacing:1px;text-decoration:none;transform:translateY(-160%);transition:transform .18s ease}.skip-link:focus{transform:translateY(0)}html[data-theme=light] .skip-link{color:#f3fbf7}.app-footer{text-align:center;padding:1.5rem;font-size:.85rem;margin-top:2rem}.footer-links a{color:var(--green)}.app-grid{position:relative;display:grid;grid-template-columns:38% 24% 38%;min-height:100vh}.app-header{position:relative;z-index:120}.theme-toggle{position:absolute;top:12px;right:12px;width:44px;height:44px;border-radius:50%;border:1px solid var(--green-soft);background-color:var(--bg);color:var(--green);font-size:1.2rem;line-height:1;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s;z-index:140}.theme-toggle:hover{background-color:var(--green-soft);border-color:var(--green)}html[data-theme=light] .theme-toggle{border-color:var(--orange-soft);color:var(--orange)}html[data-theme=light] .theme-toggle:hover{background-color:var(--orange-soft);border-color:var(--orange)}.zone{padding:22px;display:flex;flex-direction:column;gap:12px}.zone-questioner{border-right:1px solid rgba(0,255,179,.12)}.zone-label{margin:0;font-family:Orbitron,sans-serif;font-size:18px;font-weight:700;letter-spacing:5px}.zone-label-green{color:var(--green)}.zone-label-wire{color:var(--wire)}.zone-label-orange{color:var(--orange)}.zone-subtext{margin:0;font-size:14px}.zone-subtext-green{color:#00ffccb3}.explain-card{border:1px solid rgba(0,255,179,.2);background:linear-gradient(180deg,#00ffb30f,#00ffb305);padding:10px}.explain-title{margin:0 0 10px;font-family:Orbitron,sans-serif;font-size:14px;letter-spacing:2px;color:#0fc}.explain-steps{margin:0;padding-left:22px;font-size:14px;line-height:1.6;color:#e6fff8f2}.explain-note{margin:10px 0 0;font-size:13px;color:#0fcc}.zone-subtext-orange{color:#ff7b45bf}.field-label{margin-top:12px;font-size:14px;letter-spacing:2px;color:#00ffccd9}input[type=number]{width:100%;background-color:#00ffcc14;border:2px solid var(--green-soft);color:var(--green);font-family:Share Tech Mono,monospace;font-size:32px;padding:14px;outline:none}input[type=number]:focus{border-color:var(--green);box-shadow:0 0 0 1px #00ffb399}.action{min-height:44px;font-family:Orbitron,sans-serif;font-size:15px;font-weight:700;letter-spacing:1.5px;padding:14px 18px;background-color:transparent;cursor:pointer}.action:disabled{opacity:.45;cursor:not-allowed}.action-green{border:1px solid var(--green-soft);color:var(--green)}.action-orange{border:1px solid var(--orange-soft);color:var(--orange)}.action-ghost{border:1px solid rgba(255,255,255,.3);color:#d1d1d1}.key-status{margin-top:auto;display:flex;align-items:center;gap:10px;color:#00ffcce6;font-size:14px}.dot{width:8px;height:8px;border-radius:50%;background-color:var(--green);box-shadow:0 0 10px var(--green)}.zone-wire{position:relative;border-right:1px solid rgba(255,255,255,.09)}.scheme-badge{display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:2px;color:#ffffffb3;margin-bottom:8px}.info-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;background-color:transparent;border:1px solid rgba(255,255,255,.4);color:#ffffffb3;font-family:Share Tech Mono,monospace;font-size:13px;padding:4px 10px;cursor:pointer;transition:border-color .2s,color .2s}.info-btn:hover{border-color:var(--green);color:var(--green)}#wire-canvas{flex:1;width:100%;min-height:380px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,#00ffb308,#ff6b3508)}.response-time{font-size:15px;color:#ffffffd9}.pulse{position:absolute;left:50%;width:24px;height:24px;border-radius:50%;border:1px solid rgba(255,255,255,.38);transform:translate(-50%);animation:pulse-ring 1.6s infinite ease-out}.pulse-top{top:26px}.pulse-bottom{bottom:26px}@keyframes pulse-ring{0%{transform:translate(-50%) scale(.7);opacity:.8}to{transform:translate(-50%) scale(1.5);opacity:0}}.cipher-panel{border:1px solid rgba(255,107,53,.22);background-color:#ff6b350a;padding:10px}.cipher-title{margin:0;color:#ff7b45f2;font-size:14px;font-weight:700;letter-spacing:1.4px}.cipher-body{margin:10px 0 0;font-size:13px;line-height:1.5;overflow-wrap:anywhere;color:#ffe6dce6}.oracle-log{min-height:360px;flex:1;overflow-y:auto;border:1px solid rgba(255,123,69,.35);background-color:#ff7b450f;padding:12px}.oracle-line{margin:0 0 8px;font-size:13px;color:#ffe8dc}.result-bar{position:fixed;left:20px;right:20px;bottom:max(20px,env(safe-area-inset-bottom));z-index:60;border:1px solid rgba(0,255,179,.45);background-color:#07070ff5;display:flex;justify-content:space-between;align-items:end;gap:12px;padding:16px;transform:translateY(100%);opacity:0;transition:transform .6s cubic-bezier(.16,1,.3,1),opacity .6s cubic-bezier(.16,1,.3,1)}.result-bar.revealed{transform:translateY(0);opacity:1}.result-label{margin:0;font-size:16px;color:#ffffffe6}.result-value{margin:4px 0 0;font-family:Orbitron,sans-serif;font-size:clamp(42px,7vw,80px);font-weight:900;color:var(--green)}.result-controls{display:flex;gap:8px}.system-status{position:fixed;top:62px;right:12px;border:1px solid rgba(255,255,255,.35);background-color:#0c0c12e6;padding:10px 14px;font-size:14px;color:#ffffffe6}.error{position:fixed;top:102px;right:12px;border:1px solid rgba(255,107,53,.6);background-color:#ff6b3533;color:#ffe0d0;padding:10px 14px;font-size:14px}.inspector-modal{width:min(1100px,94vw);max-height:90vh;overflow:auto;background-color:#0f111a;color:#f1f5f4;border:1px solid rgba(255,255,255,.2)}.inspector-modal::backdrop{background-color:#04060cd6}.verdict{border:1px solid rgba(0,255,179,.4);color:var(--green);padding:8px}.modal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.modal-grid pre{margin:0;min-height:170px;max-height:220px;overflow:auto;border:1px solid rgba(255,255,255,.3);padding:10px;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}@media (max-width: 980px){body{overflow:auto}.app-grid{grid-template-columns:1fr;min-height:auto;padding-bottom:24px}.zone-questioner,.zone-wire{border-right:none;border-bottom:1px solid rgba(255,255,255,.12)}#wire-canvas{min-height:240px}.modal-grid{grid-template-columns:1fr}.devtools-panel{position:static;left:auto;right:auto;border-left:none;border-right:none}.result-bar{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));flex-direction:column;align-items:flex-start}.system-status,.error{position:static;top:auto;right:auto;max-width:none;margin:0 16px 12px;font-size:13px;padding:10px 12px}}@media (max-width: 560px){.zone{padding:18px 16px}input[type=number]{font-size:26px}.inspector-modal{width:96vw;padding:16px}.info-modal{padding:16px}.result-controls{flex-direction:column;align-self:stretch}.result-controls .action{width:100%}}.info-modal{width:min(600px,90vw);max-height:90vh;overflow:auto;background-color:#0f111a;color:#f1f5f4;border:1px solid rgba(0,255,179,.3);padding:20px}.info-modal::backdrop{background-color:#04060cd6}.info-modal h2{margin:0 0 18px;font-family:Orbitron,sans-serif;font-size:20px;letter-spacing:2px;color:var(--green)}.info-content{font-size:16px;line-height:1.7;color:#e8f5f0}.info-content p{margin:0 0 12px}.info-content strong{color:var(--green)}.info-content em{color:#00ffb3cc;font-style:normal}.devtools-panel{position:fixed;left:20px;right:20px;bottom:0;background-color:#0c0c12f2;border:1px solid rgba(255,255,255,.25);border-bottom:none;font-size:13px;color:#ffffffb3;z-index:50}.devtools-panel summary{display:flex;align-items:center;min-height:44px;padding:10px 14px;cursor:pointer;letter-spacing:1px}.devtools-panel summary:hover{color:var(--green)}.devtools-content{padding:0 12px 12px;border-top:1px solid rgba(255,255,255,.1)}.devtools-content p{margin:8px 0 0}.devtools-content code{background-color:#00ffb31a;padding:2px 5px;color:var(--green)}.last-request{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}.req-label{color:#ffffffa6;margin:0 0 6px}.last-request pre{margin:0;max-height:80px;overflow:auto;font-size:11px;line-height:1.4;color:#fffc;white-space:pre-wrap;overflow-wrap:anywhere}html[data-theme=light],html[data-theme=light] body{color:#1a2a24}html[data-theme=light] .dot-grid{background-image:radial-gradient(rgba(0,0,0,.06) 1px,transparent 1px)}html[data-theme=light] .zone-questioner{border-right-color:#0d6f5e33}html[data-theme=light] .zone-subtext-green{color:#0d6f5e}html[data-theme=light] .zone-subtext-orange{color:#bf4f20}html[data-theme=light] .explain-card{border-color:#0d6f5e40;background:linear-gradient(180deg,#0d6f5e0f,#0d6f5e05)}html[data-theme=light] .explain-title{color:var(--green)}html[data-theme=light] .explain-steps{color:#1a2a24}html[data-theme=light] .explain-note{color:#0d6f5e}html[data-theme=light] .field-label{color:#0d6f5ee6}html[data-theme=light] input[type=number]{background-color:#0d6f5e0f}html[data-theme=light] input[type=number]:focus{box-shadow:0 0 0 1px #0d6f5e80}html[data-theme=light] .key-status{color:#0d6f5ee6}html[data-theme=light] .zone-wire{border-right-color:#0000001a}html[data-theme=light] .scheme-badge{color:#0009}html[data-theme=light] .info-btn{border-color:#0000004d;color:#0009}html[data-theme=light] #wire-canvas{border-color:#0000001f;background:linear-gradient(180deg,#0d6f5e0a,#bf4f200a)}html[data-theme=light] .response-time{color:#000000bf}html[data-theme=light] .pulse{border-color:#0003}html[data-theme=light] .cipher-panel{border-color:#bf4f2040;background-color:#bf4f200a}html[data-theme=light] .cipher-title{color:#a8431b}html[data-theme=light] .cipher-body{color:#2a1a14}html[data-theme=light] .oracle-log{border-color:#bf4f204d;background-color:#bf4f200a}html[data-theme=light] .oracle-line{color:#2a1a14}html[data-theme=light] .result-bar{border-color:#0d6f5e66;background-color:#f3fbf7f5}html[data-theme=light] .result-label{color:#000c}html[data-theme=light] .action-ghost{border-color:#00000040;color:#333}html[data-theme=light] .system-status{border-color:#0003;background-color:#f3fbf7eb;color:#000c}html[data-theme=light] .error{border-color:#bf4f2080;background-color:#bf4f201a;color:#5a2010}html[data-theme=light] .inspector-modal{background-color:#f3fbf7;color:#1a2a24;border-color:#00000026}html[data-theme=light] .inspector-modal::backdrop{background-color:#0006}html[data-theme=light] .modal-grid pre{border-color:#00000026}html[data-theme=light] .info-modal{background-color:#f3fbf7;color:#1a2a24;border-color:#0d6f5e4d}html[data-theme=light] .info-modal::backdrop{background-color:#0006}html[data-theme=light] .info-content{color:#1a2a24}html[data-theme=light] .info-content em{color:#0d6f5e}html[data-theme=light] .devtools-panel{background-color:#f3fbf7f2;border-color:#00000026;color:#0009}html[data-theme=light] .devtools-content{border-top-color:#00000014}html[data-theme=light] .devtools-content code{background-color:#0d6f5e14}html[data-theme=light] .last-request{border-top-color:#0000000f}html[data-theme=light] .req-label{color:#000000a6}html[data-theme=light] .last-request pre{color:#000000b3}@media (max-width: 980px){html[data-theme=light] .zone-questioner,html[data-theme=light] .zone-wire{border-bottom-color:#0000001a}}.boot-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;background-color:#07070feb;backdrop-filter:blur(4px);transition:opacity .4s ease,visibility .4s ease}html[data-theme=light] .boot-overlay{background-color:#f3fbf7f0}.boot-overlay--hidden{opacity:0;visibility:hidden;pointer-events:none}.boot-card{width:min(440px,100%);text-align:center;border:1px solid var(--green-soft);background:linear-gradient(180deg,#00ffb30f,#00ffb305);padding:32px 28px}.boot-overlay--error .boot-card{border-color:var(--orange-soft);background:linear-gradient(180deg,#ff7b4514,#ff7b4505)}.boot-spinner{width:54px;height:54px;margin:0 auto 20px;border:3px solid var(--green-soft);border-top-color:var(--green);border-radius:50%;animation:boot-spin .9s linear infinite}.boot-overlay--error .boot-spinner{display:none}@keyframes boot-spin{to{transform:rotate(360deg)}}.boot-title{margin:0 0 10px;font-family:Orbitron,sans-serif;font-size:17px;font-weight:700;letter-spacing:3px;color:var(--green)}.boot-overlay--error .boot-title{color:var(--orange)}.boot-detail{margin:0 0 18px;font-size:14px;line-height:1.5;color:#e8f5f0;min-height:2.6em}html[data-theme=light] .boot-detail{color:#1a2a24}.boot-bar{height:4px;width:100%;overflow:hidden;background-color:#00ffb31f;margin-bottom:18px}.boot-overlay--error .boot-bar{display:none}.boot-bar-fill{height:100%;width:40%;background-color:var(--green);animation:boot-slide 1.4s ease-in-out infinite}@keyframes boot-slide{0%{transform:translate(-110%)}to{transform:translate(320%)}}.boot-hint{margin:0;font-size:12px;line-height:1.5;color:#00ffccb3}html[data-theme=light] .boot-hint{color:#0d6f5e}.boot-retry{margin-top:18px}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--green);outline-offset:2px}html[data-theme=light] a:focus-visible,html[data-theme=light] button:focus-visible,html[data-theme=light] input:focus-visible,html[data-theme=light] summary:focus-visible{outline-color:var(--orange)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.pulse{display:none}}
