:root { color-scheme:dark; --bg:#0b0d12; --panel:#10131a; --line:#2a303a; --text:#d9dee7; --muted:#77808d; --amber:#f3b33d; --cyan:#62d4d5; }
html[data-theme="archive"] { --bg:#ede9dc; --panel:#f5f1e6; --line:rgba(16,20,22,.22); --text:#101416; --muted:#62665f; --amber:#996b00; --cyan:#278a55; }
html[data-theme="night-city"] { --bg:#f3e600; --panel:#fff23d; --line:rgba(8,9,13,.36); --text:#08090d; --muted:#4c4800; --amber:#d0009f; --cyan:#005b64; }
html[data-theme="pro"] { --bg:#0c1118; --panel:#101720; --line:#2a3544; --text:#e1e9f1; --muted:#aab7c8; --amber:#8bdacb; --cyan:#b7ded5; }
html[data-theme="cyberpunk"] { --bg:#080617; --panel:#151329; --line:rgba(185,138,255,.44); --text:#f1eaff; --muted:#b8afd0; --amber:#f4ff90; --cyan:#69f6e7; }
html[data-theme="neon-grid"] { --bg:#071018; --panel:#101f2b; --line:rgba(0,229,255,.32); --text:#eaffff; --muted:#9ebdc6; --amber:#00e5ff; --cyan:#00ff88; }
html[data-theme="crt-green"] { --bg:#061008; --panel:#0b1b0f; --line:rgba(100,255,115,.3); --text:#d8ffd2; --muted:#82bd88; --amber:#64ff73; --cyan:#d0ff74; }
* { box-sizing:border-box; }
html,body { margin:0; width:100%; height:100%; overflow:hidden; background:var(--bg); color:var(--text); font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono',monospace; }
body { display:grid; grid-template-rows:52px 1fr; }
.product-bar { display:flex; align-items:center; gap:18px; padding:0 16px; border-bottom:1px solid var(--line); background:var(--panel); }
.brand { color:var(--amber); text-decoration:none; letter-spacing:.08em; }
.privacy { margin:auto; color:var(--muted); font-size:.64rem; letter-spacing:.08em; }
.privacy span { display:inline-block; width:7px; height:7px; margin-right:6px; border-radius:50%; background:var(--cyan); box-shadow:0 0 10px var(--cyan); }
.actions { display:flex; gap:8px; }
button { border:1px solid var(--line); border-radius:2px; background:var(--panel); color:var(--text); padding:9px 13px; font:700 .68rem/1 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono',monospace; text-transform:uppercase; letter-spacing:.06em; cursor:pointer; }
button:hover,button:focus-visible { border-color:var(--amber); color:var(--amber); outline:none; }
#choose-folder,#welcome-choose,#save-editor { background:var(--amber); color:#19140b; border-color:var(--amber); }
#ira-shell { position:relative; min-height:0; padding:10px; }
#ira-terminal { width:100%; height:100%; margin:0; overflow:hidden; font:500 14px/1.25 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono',monospace; outline:none; }
#ira-terminal > * { margin:auto; }
#ira-terminal_ratzilla_grid > pre { margin:0; padding:0; }
#welcome { position:absolute; inset:10px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--cyan) 10%,transparent),transparent 30%),color-mix(in srgb,var(--bg) 96%,transparent); z-index:4; }
#welcome[hidden] { display:none; }
#welcome > p:first-child { color:var(--cyan); font-size:.65rem; letter-spacing:.14em; }
#welcome h1 { margin:14px 0; color:var(--text); font-size:clamp(2rem,5vw,4.8rem); line-height:.96; letter-spacing:-.06em; }
#welcome .intro { max-width:650px; color:var(--muted); font-size:clamp(.78rem,1.4vw,1rem); line-height:1.7; }
#welcome .welcome-actions { display:flex; gap:10px; margin:18px 0; }
#welcome button { padding:13px 18px; }
#welcome .secondary-action { background:var(--panel); color:var(--text); border-color:var(--line); }
#welcome small { max-width:720px; color:var(--muted); font-size:.72rem; line-height:1.5; }
#welcome .compatibility-note { margin-top:8px; color:color-mix(in srgb,var(--amber) 70%,var(--muted)); }
#unsupported { position:fixed; inset:auto 16px 16px; padding:14px; border:1px solid #e16b79; background:#281318; color:#ffc2c9; z-index:10; font-size:.72rem; }
dialog { width:min(900px,calc(100vw - 28px)); height:min(680px,calc(100dvh - 70px)); padding:0; border:1px solid #56616e; background:#0d1117; color:var(--text); box-shadow:0 40px 120px #000; }
dialog::backdrop { background:rgba(0,0,0,.76); backdrop-filter:blur(5px); }
dialog form { height:100%; display:grid; grid-template-rows:auto 1fr auto; }
dialog header,dialog footer { display:flex; align-items:center; gap:10px; padding:10px 12px; border-bottom:1px solid var(--line); }
dialog header button { margin-left:auto; }
dialog footer { border:0; border-top:1px solid var(--line); }
dialog footer span { margin-right:auto; color:var(--muted); font-size:.65rem; }
textarea { resize:none; width:100%; height:100%; border:0; outline:0; padding:18px; background:#0b0f14; color:#dce3ec; font:500 .82rem/1.65 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono',monospace; }
@media(max-width:1100px){.privacy{display:none}.brand{margin-right:auto}}
@media(max-width:700px){.product-bar{gap:8px}.brand{margin-right:auto}#restore-folder{display:none!important}#ira-shell{padding:4px}#ira-terminal{font-size:11px}#welcome .welcome-actions{flex-direction:column}}
