/* Tunnel Lights v0.1.1 - (c) Permyakov D.V., 2026. All rights reserved. Unauthorized copying, modification or redistribution is prohibited. */
@font-face{font-family:"Peregon Mono";src:url("../fonts/dejavu-sans-mono.ttf") format("truetype");font-weight:400;font-display:block}:root{--bg:#0e0d0b;--lamp:#e8b45a;--dim:#6f6656}*{box-sizing:border-box}[hidden]{display:none !important}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--dim);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;overflow:hidden}#app{height:100%;display:flex;align-items:center;justify-content:center;padding:0 16px}#screen:not([hidden]){position:fixed;inset:0;display:block}#title{margin:0;color:var(--lamp);font-weight:400;font-size:clamp(28px,8vw,48px);letter-spacing:0.04em;text-align:center;text-shadow:0 0 24px rgba(232,180,90,0.35)}body,button{font-family:"Peregon Mono",monospace}.ui{position:fixed;inset:0;display:flex;flex-direction:column;gap:10px;padding:12px;pointer-events:none;color:#d6dbd2;font-size:14px;line-height:1.35}.ui>*{pointer-events:auto}.ui.on-title{justify-content:flex-end}.ui.on-card{justify-content:center;align-items:center}.ui.on-map{align-items:flex-end;padding-top:96px}.ui.on-combat{justify-content:space-between}.panel{background:rgba(27,32,36,0.94);border:2px solid rgba(255,255,255,0.08);box-shadow:inset 0 0 0 1px rgba(0,0,0,0.5);padding:12px 14px}.title-panel{max-width:560px;width:100%;align-self:center}.stack{display:flex;flex-direction:column;gap:10px;max-width:640px;width:100%;align-self:center;min-height:0}.panel h2{margin:0 0 8px;font-size:17px;font-weight:400;color:#ffb84d}.panel h3{margin:10px 0 6px;font-size:13px;color:rgba(214,219,210,0.6);font-weight:400}.line,.etext{margin:0 0 10px}.dim,.etext.dim{color:rgba(214,219,210,0.55)}.hint{margin:0 0 6px;color:#ffb84d;font-size:13px}.label-row{color:rgba(214,219,210,0.6);font-size:12px;margin-bottom:4px}.meters{display:flex;gap:4px}.meter{background:#0e1114;border:1px solid rgba(255,255,255,0.06);padding:3px 6px;flex:1 1 0;min-width:0}.mk{color:rgba(214,219,210,0.68);font-size:10px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mv{font-size:16px;color:#ffffff}@media (max-width:420px){.on-combat .meters{gap:3px}.on-combat .meter{padding:3px 2px 3px 3px}}.combat-ui{display:flex;flex-direction:column;gap:8px;height:100%;min-height:0}.btn{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;width:100%;text-align:left;background:#0e1114;color:#d6dbd2;border:1px solid rgba(255,255,255,0.12);padding:9px 10px;font-size:14px;cursor:pointer;margin:0 0 6px}.btn .lamp{width:10px;height:10px;border-radius:50%;background:#ffb84d;box-shadow:0 0 8px #ffb84d;flex:none}.btn .label{flex:1 1 auto;min-width:0}.btn .sub{flex:1 1 100%;color:rgba(214,219,210,0.6);font-size:12px;padding-left:18px}.btn .why{flex:1 1 100%;color:#ff7a59;font-size:12px;padding-left:18px}.btn:disabled{cursor:default;opacity:0.75}.btn:disabled .lamp{background:#2c3237;box-shadow:none}.btn.on{border-color:#ffb84d}.btn.mute .lamp{background:#2c3237;box-shadow:none}.btn.sound{font-size:12px;padding:6px 10px;margin-top:10px;color:rgba(214,219,210,0.7);border-color:rgba(255,255,255,0.06)}.btn.main{margin-top:8px}.btn.main{border-color:rgba(255,184,77,0.6);color:#ffb84d}.tabs{display:flex;gap:6px}.tabs .btn{margin:0;flex-wrap:nowrap}.tabs .btn .label{flex-basis:0}@media (max-width:420px){.tabs .btn{font-size:12px;padding:8px;gap:6px}}.choices{display:flex;flex-wrap:wrap;gap:6px}.choices .btn{width:auto;flex:1 1 140px;margin:0}.choices.col{flex-direction:column}.choices.col .btn{flex:none;width:100%}.list{display:flex;flex-direction:column;gap:6px;overflow:auto;min-height:0}.row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;border-bottom:1px solid rgba(255,255,255,0.05);padding-bottom:6px}.row .btn{width:auto;margin:0}.rname{flex:1 1 140px}.rgives{flex:1 1 100%;color:rgba(214,219,210,0.6);font-size:12px;order:3}.rnote{color:rgba(214,219,210,0.5);font-size:12px;text-align:right;flex:1 1 auto}.rname{flex:none}.card-event{max-width:560px;width:100%;max-height:100%;overflow:auto}.map-ui{display:flex;flex-direction:column;align-items:flex-end;gap:6px;max-width:280px}.trade .btn{font-size:12px;padding:6px 8px}.warn{background:rgba(14,17,20,0.92);border:1px solid #ff7a59;color:#ff7a59;padding:6px 8px;font-size:12px}.foes{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.foe{background:rgba(14,17,20,0.9);border:1px solid rgba(255,255,255,0.1);padding:6px 8px;flex:1 1 150px;max-width:320px;cursor:pointer}.foe.on{border-color:#ffb84d}.fname{color:#ffb84d}.fpress,.fintent,.feff{font-size:12px}.feff{color:#ffb84d}.feff.void{text-decoration:line-through;color:rgba(214,219,210,0.45)}.note,.gain{color:#ffb84d;font-size:13px}.note{background:rgba(14,17,20,0.92);border:1px solid rgba(255,184,77,0.4);padding:6px 8px}.bottom{display:flex;flex-direction:column;margin-top:auto}.hand{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px;margin-bottom:6px}.hand .btn{margin:0;align-content:flex-start;padding:7px 8px;font-size:13px}.hand .btn .sub,.hand .btn .why{padding-left:0;font-size:11px}.hand .btn:not(:disabled) .sub{color:rgba(214,219,210,0.8)}.hand .btn .cost{color:#2a1a05;background:#ffb84d;padding:0 6px;border-radius:2px}.hand .btn:disabled .cost{background:#2c3237;color:#d6dbd2}.hand .btn .lamp{display:none}.hand .btn:disabled{opacity:1;color:rgba(214,219,210,0.45)}.hand .btn:disabled .sub{color:rgba(214,219,210,0.35)}.btn.end{margin:0}@media (min-width:900px){.hand{grid-template-columns:repeat(5,1fr)}.hand.six{grid-template-columns:repeat(6,1fr)}.ui.on-combat{padding:16px 20%}}.chips{display:flex;flex-wrap:wrap;gap:4px}.chips .btn.chip{width:auto;margin:0;padding:5px 8px;font-size:12px;gap:2px 6px}.chips .btn.chip .lamp{width:7px;height:7px}.chips .btn.chip .why{padding-left:0;font-size:10px}.stack .panel{padding:9px 12px}.row .btn{padding:5px 8px;font-size:12px}.row .btn .sub,.row .btn .why{padding-left:14px;font-size:11px}.foe{padding:4px 6px;flex:1 1 100px}.fname{font-size:13px}.fpress,.fintent{font-size:11px;line-height:1.25}.hand .btn{font-size:12px;padding:5px 6px}.hand .btn .sub,.hand .btn .why{font-size:10px;line-height:1.2}@media (max-height:700px){.ui{padding:8px;gap:6px}.hint{font-size:11px;margin-bottom:4px}.btn.end{padding:7px 10px}}.hint.small{font-size:12px;margin:4px 0 0}
