:root{--bg:#030812;--panel:#081a2cb8;--line:#17496a;--glow:#35d0ff;--text:#dff6ff;--dim:#7fa6bd;--ok:#5dffb0;--warn:#ffb86b;--bad:#ff6b7a}*{box-sizing:border-box}html,body{height:100%}body{color:var(--text);background:radial-gradient(at 50% 30%,#0a2640 0,#04101e 55%,#02060d 100%);margin:0;font:16px/1.5 IBM Plex Sans,system-ui,sans-serif}h1,h2,b,.teks-status,summary{font-family:Chakra Petch,sans-serif}.hud{height:100dvh;padding:10px;display:flex}.frame{border:1px solid var(--line);background:linear-gradient(#35d0ff09 1px,#0000 1px) 0 0/100% 4px;border-radius:16px;flex:1;grid-template-columns:minmax(0,1fr);min-height:0;display:grid;position:relative;overflow:hidden;box-shadow:0 0 22px #35d0ff29,inset 0 0 36px #35d0ff12}.frame:before,.frame:after{content:"";border:2px solid var(--glow);pointer-events:none;width:26px;height:26px;filter:drop-shadow(0 0 6px var(--glow));position:absolute}.frame:before{border-bottom:0;border-right:0;border-radius:8px 0 0;top:8px;left:8px}.frame:after{border-top:0;border-left:0;border-radius:0 0 8px;bottom:8px;right:8px}.kiri,.kanan{display:none}.tengah{flex-direction:column;min-width:0;min-height:0;padding:12px 14px;display:flex}header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.tajuk{text-align:left}.judul{letter-spacing:.28em;color:#fff;text-shadow:0 0 14px var(--glow),0 0 30px #35d0ff80;margin:0;font-size:26px}.sub{color:var(--dim);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:12px}.atur{z-index:5;position:relative}.atur summary{cursor:pointer;color:var(--glow);border:1px solid var(--line);letter-spacing:.08em;border-radius:999px;padding:5px 14px;font-size:13px;list-style:none}.atur summary::-webkit-details-marker{display:none}.atur[open] summary{background:#35d0ff24}.isi-atur{border:1px solid var(--glow);background:#06182a;border-radius:10px;flex-direction:column;gap:10px;width:270px;padding:14px;display:flex;position:absolute;top:36px;right:0;box-shadow:0 0 18px #35d0ff40}.isi-atur label{color:var(--dim);flex-direction:column;gap:4px;font-size:13px;display:flex}.isi-atur small{color:var(--dim);font-size:12px}select{color:var(--text);border:1px solid var(--line);font:inherit;background:#04121f;border-radius:8px;padding:8px;font-size:14px}.reaktor{filter:drop-shadow(0 0 14px #35d0ff99);flex:none;width:132px;height:132px;margin:6px auto 0}.reaktor svg{width:100%;height:100%;overflow:visible}.reaktor circle{fill:none;stroke:var(--glow);transform-box:fill-box;transform-origin:50%}.r1{stroke-width:1.5px;stroke-dasharray:3 7;animation:40s linear infinite putar}.r2{stroke-width:5px;stroke-dasharray:90 30 30 30;opacity:.85;animation:14s linear infinite reverse putar}.r3{stroke-width:1.5px;opacity:.7}.inti{fill:#35d0ff1a;stroke-width:3px;animation:3.2s ease-in-out infinite denyut}.huruf{fill:#e8fbff;filter:drop-shadow(0 0 8px var(--glow));font:700 58px Chakra Petch,sans-serif}.reaktor.dengar .r2{animation-duration:4s}.reaktor.dengar .inti{animation-duration:.7s}.reaktor.mikir .r2{animation-duration:2.2s}.reaktor.mikir .r1{animation-duration:8s}.reaktor.mikir .inti{animation-duration:1.1s}@keyframes putar{to{transform:rotate(360deg)}}@keyframes denyut{50%{fill:#35d0ff52;transform:scale(1.05)}}.teks-status{text-align:center;color:var(--glow);letter-spacing:.2em;text-shadow:0 0 10px #35d0ffb3;margin-top:4px;font-size:15px}.gelombang{justify-content:center;align-items:center;gap:3px;height:22px;margin:6px 0 4px;display:flex}.gelombang span{background:var(--glow);opacity:.45;border-radius:2px;width:3px;height:4px}.gelombang.aktif span{opacity:1;animation:.7s ease-in-out infinite alternate gel}@keyframes gel{to{height:20px}}main{flex-direction:column;flex:1;gap:12px;min-height:0;padding:10px 2px;display:flex;overflow-y:auto}main::-webkit-scrollbar{width:6px}main::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}.msg{white-space:pre-wrap;border-radius:12px;max-width:90%;padding:10px 14px}.msg.jarvis{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--glow);align-self:flex-start}.msg.user{border:1px solid var(--glow);background:#35d0ff29;align-self:flex-end}.msg.err{border-color:var(--bad);border-left-color:var(--bad);color:#ffc2c9}.msg.mikir{color:var(--glow);animation:1.2s ease-in-out infinite kedip}@keyframes kedip{50%{opacity:.45}}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips button{color:var(--glow);border:1px solid var(--glow);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:6px 12px;font-size:14px}.chips button:hover{background:var(--glow);color:var(--bg)}.file{background:var(--panel);border:1px solid var(--glow);border-radius:10px;align-self:flex-start;width:90%;padding:14px;box-shadow:0 0 14px #35d0ff24}.file ol{color:var(--dim);margin:8px 0 12px;padding-left:20px;font-size:14px}.file .meta{color:var(--dim);font-size:14px}.file .isi{white-space:pre-wrap;background:#00000059;border-radius:6px;margin:8px 0;padding:8px 10px;font-size:14px}.aksi{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.file .ok,.file a.ok{background:var(--glow);color:#02101c;font:inherit;cursor:pointer;border:0;border-radius:6px;padding:8px 16px;font-weight:600;text-decoration:none;display:inline-block}.file .batal,.file a.batal{border:1px solid var(--line);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:8px 14px;text-decoration:none;display:inline-block}.file .ok:hover{box-shadow:0 0 12px var(--glow)}.strip{flex:none;padding:6px 0;overflow-x:auto}.pintasan{gap:8px;display:flex}.pintasan a{color:var(--glow);border:1px solid var(--line);background:#081a2c99;border-radius:8px;flex:none;padding:6px 12px;font-size:14px;text-decoration:none}.pintasan a:hover{border-color:var(--glow);box-shadow:0 0 10px #35d0ff66}.catatan{color:var(--warn);padding:6px 0;font-size:14px}form{border-top:1px solid var(--line);gap:8px;margin-top:2px;padding:10px 0 4px;display:flex}input{border:1px solid var(--line);min-width:0;color:var(--text);font:inherit;background:#04121fe6;border-radius:8px;flex:1;padding:12px 14px}input:focus,button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--glow);outline-offset:2px}form button{background:var(--glow);color:#02101c;cursor:pointer;border:0;border-radius:8px;padding:0 18px;font-family:inherit;font-size:15px;font-weight:600}form button:disabled{opacity:.4;cursor:default}form .mic{border:1px solid var(--glow);color:var(--glow);background:0 0;padding:0 12px}form .mic.on{background:var(--bad);border-color:var(--bad);color:#fff}.toggle{border:1px solid var(--line);color:var(--dim);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:6px 12px;font-size:13px}.toggle[aria-pressed=true]{border-color:var(--glow);color:var(--glow)}.masuk{flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.masuk .reaktor{width:150px;height:150px}.login{border:0;gap:10px;width:min(360px,90%);margin-top:14px;padding:0;display:flex}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 14px;box-shadow:inset 0 0 18px #35d0ff0d}.panel h2{letter-spacing:.12em;text-transform:uppercase;color:#fff;border-bottom:1px solid var(--line);margin:0 0 8px;padding-bottom:6px;font-size:14px}.panel ul{color:var(--dim);margin:0;padding-left:18px;font-size:14px}.baris{color:var(--dim);justify-content:space-between;gap:8px;padding:3px 0;font-size:14px;display:flex}.baris b{color:var(--text);letter-spacing:.06em;font-size:13px}.baris .ok{color:var(--ok)}.baris .mati{color:var(--warn)}.kanan .pintasan{flex-wrap:wrap}@media (width>=960px){.hud{max-width:1280px;margin:0 auto;padding:18px}.frame{grid-template-columns:260px minmax(0,1fr) 260px;gap:16px;padding:0 16px}.kiri,.kanan{flex-direction:column;gap:14px;padding:22px 0;display:flex}.strip{display:none}.tengah{padding:16px 0 14px}header{justify-content:center;position:relative}.tajuk{text-align:center}.atur{position:absolute;top:0;right:0}.reaktor{width:190px;height:190px}}@media (prefers-reduced-motion:reduce){*{animation:none!important}}@media (width<=600px){form{gap:6px}form button{padding:0 11px;font-size:13px}form .mic{padding:0 9px}input{padding:10px}}.petunjuk{border:1px dashed var(--warn);color:var(--warn);word-break:break-all;border-radius:8px;margin-top:8px;padding:8px 10px;font-size:12px;line-height:1.5}.petunjuk code{color:var(--text)}
