/* Sanayi Kralı — arayüz. Dikey çerçeve, garaj gecesi paleti. */
:root{
  --bg:#0f0e0b; --panel:#1b1914; --panel2:#24211a; --line:#3a352b; --ink:#efe9dc; --ink2:#b9b19f; --mute:#7d766a;
  --amber:#f0a030; --amber2:#c9741a; --red:#d9412f; --green:#5fbf6a; --paper:#efe7d2; --paper-ink:#2a2418;
  --font:"Helvetica Neue",Arial,system-ui,sans-serif; --cond:"Arial Narrow","Helvetica Neue",Arial,sans-serif; --mono:ui-monospace,Menlo,Consolas,monospace;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;background:#000;color:var(--ink);font-family:var(--font);overflow:hidden;touch-action:manipulation}
#frame{position:relative;margin:0 auto;height:100vh;height:100dvh;aspect-ratio:9/16;max-width:100vw;background:var(--bg);overflow:hidden}
@media (max-aspect-ratio:9/16){#frame{width:100vw;height:auto;min-height:100dvh}}
#gl{position:absolute;inset:0;width:100%;height:100%;display:block}
#ui{position:absolute;inset:0;pointer-events:none}
#ui>*{pointer-events:auto}
#strip{position:absolute;left:0;right:0;bottom:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(15,14,11,.85);color:var(--amber);font-family:var(--cond);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:15px;text-align:center;pointer-events:none}
#toast{position:absolute;left:12px;right:12px;top:14px;background:var(--panel);border:1px solid var(--amber2);color:var(--ink);padding:10px 12px;border-radius:4px;font-size:14px;z-index:50;box-shadow:0 6px 20px rgba(0,0,0,.5)}
button{font:inherit;color:inherit;background:var(--panel2);border:1px solid var(--line);border-radius:4px;padding:10px 14px;cursor:pointer}
button:active{transform:translateY(1px)}
button.primary{background:var(--amber);color:#1a1409;border-color:var(--amber);font-weight:700}
button.danger{border-color:var(--red);color:#ffb0a8}
button:disabled{opacity:.45;cursor:default}
button:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
input,select{font:inherit;color:var(--ink);background:#0c0b09;border:1px solid var(--line);border-radius:4px;padding:10px;width:100%}
h1,h2,h3{font-family:var(--cond);text-transform:uppercase;letter-spacing:.04em;margin:0}
.screen{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--bg);overflow:hidden;animation:fadein .28s ease}
@keyframes fadein{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.screen{animation:none}}
.screen.transparent{background:transparent}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;background:rgba(15,14,11,.88);border-bottom:1px solid var(--line);font-family:var(--cond);font-size:14px;letter-spacing:.06em;text-transform:uppercase}
.topbar .money{color:var(--amber);font-weight:700}
.topbar .day{color:var(--ink2)}
.body{flex:1;overflow:auto;padding:12px}
.footer{display:flex;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--panel)}
.footer button{flex:1}
.row{display:flex;gap:8px;align-items:center}
.stack{display:flex;flex-direction:column;gap:8px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:10px 12px}
.card.sel{border-color:var(--amber)}
.muted{color:var(--mute);font-size:13px}
.small{font-size:13px;color:var(--ink2)}
.kv{display:grid;grid-template-columns:1fr auto;gap:4px 12px;font-size:14px}
.kv b{font-weight:600;color:var(--ink2)}
.kv .v{font-family:var(--mono);font-size:13px;text-align:right}
.bar{height:6px;background:#0c0b09;border:1px solid var(--line);border-radius:3px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--green)}
.bar.warn i{background:var(--amber)}
.bar.bad i{background:var(--red)}
.tag{display:inline-block;font-family:var(--mono);font-size:11px;padding:2px 6px;border:1px solid var(--line);border-radius:3px;color:var(--ink2);margin-right:4px}
.tag.amber{border-color:var(--amber2);color:var(--amber)}
.tag.red{border-color:var(--red);color:#ffb0a8}
/* modal */
.modal-bg{position:absolute;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:flex-end;justify-content:center;z-index:40}
.modal{width:100%;max-height:88%;overflow:auto;background:var(--panel);border-top:2px solid var(--amber2);border-radius:10px 10px 0 0;padding:14px 14px calc(14px + env(safe-area-inset-bottom))}
.modal.short{max-height:60%}
.modal h2{font-size:22px;margin-bottom:8px;color:var(--amber)}
.modal .actions{display:flex;gap:8px;margin-top:12px}
.modal .actions button{flex:1}
/* title */
.title{justify-content:center;align-items:center;text-align:center;padding:24px;background:radial-gradient(ellipse at 50% 30%,#3a2a12 0%,#0f0e0b 60%)}
.title h1{font-size:64px;line-height:.9;color:var(--amber);text-shadow:0 0 30px rgba(240,160,48,.35)}
.title h1 small{display:block;font-size:20px;color:var(--ink2);letter-spacing:.3em;margin-bottom:6px}
.title p{color:var(--ink2);max-width:30ch;font-size:15px}
.title .stack{width:min(320px,90%);margin-top:20px}
/* newspaper */
.paper{background:var(--paper);color:var(--paper-ink);font-family:Georgia,"Times New Roman",serif}
.paper .masthead{border-bottom:3px double var(--paper-ink);padding:12px 12px 6px;text-align:center}
.paper .masthead h1{font-family:Georgia,serif;text-transform:none;letter-spacing:0;font-size:34px;font-weight:700}
.paper .masthead .date{font-size:12px;letter-spacing:.1em;text-transform:uppercase;display:flex;justify-content:space-between}
.paper .headline{font-size:14px;font-weight:700;padding:6px 12px;border-bottom:1px solid var(--paper-ink)}
.paper .tabs{display:flex;border-bottom:1px solid var(--paper-ink)}
.paper .tabs button{flex:1;background:transparent;color:var(--paper-ink);border:none;border-right:1px solid var(--paper-ink);border-radius:0;font-family:Georgia,serif;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:13px;padding:8px}
.paper .tabs button.on{background:var(--paper-ink);color:var(--paper)}
.paper .ad{padding:8px 12px;border-bottom:1px dotted #8a8070;font-size:14px;line-height:1.35}
.paper .ad b{text-transform:uppercase;letter-spacing:.02em}
.paper .ad .price{font-weight:700;white-space:nowrap}
.paper .ad .row{justify-content:space-between;margin-top:4px}
.paper .ad button{background:transparent;color:var(--paper-ink);border:1px solid var(--paper-ink);border-radius:0;padding:5px 9px;font-family:Georgia,serif;font-size:13px}
.paper .ad button.primary{background:var(--paper-ink);color:var(--paper)}
.paper .body{padding:0}
.paper .footer{background:var(--paper);border-top:1px solid var(--paper-ink)}
.paper .footer button{background:transparent;color:var(--paper-ink);border:1px solid var(--paper-ink);border-radius:0;font-family:Georgia,serif}
/* hood / schematic */
.schem{width:100%;height:auto;display:block;background:#0c0b09;border:1px solid var(--line);border-radius:4px}
.schem .bolt{cursor:pointer}
.schem text{font-family:var(--cond);font-size:11px;letter-spacing:.06em;text-transform:uppercase;fill:var(--ink2)}
/* race hud */
.hud{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}
.hud .top{display:flex;justify-content:space-between;align-items:flex-start;padding:calc(10px + env(safe-area-inset-top)) 12px 0}
.hud .tree{display:flex;flex-direction:column;gap:5px;background:rgba(0,0,0,.5);padding:8px;border-radius:6px}
.hud .tree i{display:block;width:16px;height:16px;border-radius:50%;background:#2a2620;border:1px solid #000}
.hud .tree i.amber{background:#f0a030;box-shadow:0 0 12px #f0a030}
.hud .tree i.green{background:#5fbf6a;box-shadow:0 0 12px #5fbf6a}
.hud .tree i.red{background:#d9412f;box-shadow:0 0 12px #d9412f}
.hud .info{text-align:right;font-family:var(--mono);font-size:13px;background:rgba(0,0,0,.5);padding:8px 10px;border-radius:6px;line-height:1.5}
.hud .info b{font-size:22px;color:var(--amber)}
.hud .tach{margin:0 6px;background:rgba(0,0,0,.45);border-radius:8px;padding:4px 6px 0}
.hud .tach svg{width:118px;display:block}
.hud .msg{align-self:center;font-family:var(--cond);font-size:28px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--amber);text-shadow:0 2px 8px #000;padding:0 12px;text-align:center}
.hud .ctrl{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;padding:10px 12px calc(12px + env(safe-area-inset-bottom));pointer-events:auto}
.hud .ctrl button{padding:22px 0;font-family:var(--cond);font-weight:700;letter-spacing:.08em;font-size:16px;background:rgba(27,25,20,.9);user-select:none;-webkit-user-select:none}
.hud .ctrl button.gas{background:rgba(240,160,48,.9);color:#1a1409}
.hud .ctrl button.brake{background:rgba(217,65,47,.85)}
.hud .ctrl button.held{outline:3px solid #fff}
/* misc */
.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;font-family:var(--mono);font-size:12px;text-align:center}
.calendar div{padding:6px 0;border:1px solid transparent;color:var(--ink2)}
.calendar .hd{color:var(--mute);font-size:10px}
.calendar .today{border-color:var(--amber);color:var(--amber);font-weight:700}
.calendar .ring{border-radius:50%;border-color:var(--red)}
.calendar .past{color:var(--mute);text-decoration:line-through}
.swatches{display:flex;flex-wrap:wrap;gap:8px}
.swatches button{width:44px;height:44px;border-radius:50%;border:2px solid var(--line);padding:0}
.swatches button.on{border-color:#fff}
.phrases{display:flex;flex-wrap:wrap;gap:6px}
.phrases button{font-size:13px;padding:6px 10px}
.phrases button.on{border-color:var(--amber);color:var(--amber)}
.usta{display:flex;gap:10px;align-items:flex-start;background:var(--panel2);border-left:3px solid var(--amber2);padding:8px 10px;border-radius:0 4px 4px 0;font-size:14px;color:var(--ink)}
.usta .who{font-family:var(--cond);color:var(--amber);letter-spacing:.06em;text-transform:uppercase;font-size:12px;white-space:nowrap;padding-top:2px}
.opp{display:flex;justify-content:space-between;align-items:center;gap:8px}
.opp .car{font-size:13px;color:var(--ink2)}
