@import "https://fonts.googleapis.com/css2?family=Overpass:wght@300;400;700;800;900&display=swap";
:root{--burgundy:#482426;--tartan-base:#3f1119;--plate:#3d1216;--plate-status:#3d1418;--chip-dark:#2a0d10;--green:#18332b;--gold:#d1ba8b;--bone:#f2f2f2;--cream:#f2ebdb;--ink:#5e2429;--hg:"Overpass", "Highway Gothic", sans-serif}*{box-sizing:border-box}html,body{background:var(--burgundy);color:var(--bone);font-family:var(--hg);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;margin:0}#root,.app{justify-content:center;min-height:100dvh;display:flex}.screen{background:var(--burgundy);flex-direction:column;width:100%;max-width:430px;min-height:100dvh;padding:92px 24px 28px;display:flex;position:relative}button{color:inherit;cursor:pointer;text-align:inherit;background:0 0;border:none;padding:0;font-family:inherit}button:disabled{cursor:default}.awning{z-index:10;filter:drop-shadow(0 10px 18px #0006);background-image:linear-gradient(#5a2630,#481b23 55%,#3b141a);justify-content:center;align-items:center;height:58px;display:flex;position:fixed;top:0;left:0;right:0}.awning .brand{letter-spacing:.02em;color:var(--cream);opacity:.95;font:italic 300 22px Overpass,serif}.awning:before{content:"";background:linear-gradient(#e8d5a6,#b5945a 55%,#8c6f3e);height:5px;position:absolute;top:0;left:0;right:0;box-shadow:0 1px 2px #00000073}.awning:after{content:"";background-image:radial-gradient(circle at 50% 0,#3b141a 0 12.2px,#b5945a 12.2px 14.1px,#0000 14.2px);background-repeat:repeat-x;background-size:28px 14px;height:14px;position:absolute;top:100%;left:0;right:0}.section-hd{align-items:center;gap:10px;margin:22px 0 8px;display:flex}.section-hd .label{font:700 9.5px var(--hg);letter-spacing:.38em;color:var(--gold);white-space:nowrap}.section-hd .rule{border-bottom:1px solid #d1ba8b47;flex:1}.diamond{border:1px solid var(--gold);flex:none;width:6px;height:6px;transform:rotate(45deg)}.double-rule-1{background:#d1ba8b80;height:1px}.double-rule-2{background:#d1ba8b38;height:1px;margin-top:2px}.pgrid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pcard{aspect-ratio:1/1.06;background:linear-gradient(160deg,#6b3a2a,#3d1216 70%);border-radius:14px;flex-direction:column;justify-content:flex-end;padding:12px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #d1ba8b33,0 10px 24px #100a0966}.pcard.sold{opacity:.45}.pcard .disc{background:radial-gradient(circle at 38% 32%,#d9a441,#a8471f 58%,#5d2216 100%);border-radius:50%;position:absolute;inset:12% 12% 34%;box-shadow:inset 0 0 22px #00000073,0 6px 18px #00000059}.pcard .flip-chip{z-index:2;background:#100a0999;border:1px solid #d1ba8b80;border-radius:8px;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:absolute;top:8px;right:8px}.pcard .pname{font:900 15px var(--hg);letter-spacing:.04em;z-index:1;position:relative}.pcard .pprice{font:400 13px var(--hg);opacity:.85;margin-top:2px}.pcard .ping{font:400 10px var(--hg);opacity:.55;min-height:26px;margin-top:4px;padding-right:92px;line-height:1.35}.qty-pill{z-index:2;background:#100a0999;border:1px solid #d1ba8b4d;border-radius:9px;align-items:center;padding:3px 4px;display:flex;position:absolute;bottom:8px;right:8px}.qty-pill .step{font:300 16px var(--hg);padding:0 8px;line-height:1}.qty-pill .n{font:700 14px var(--hg);text-align:center;min-width:16px}.slots{grid-template-columns:repeat(4,1fr);gap:8px 6px;margin-top:6px;display:grid}.slot{font:400 15px var(--hg);text-align:center;letter-spacing:.02em;border-radius:8px;padding:7px 2px}.slot.off{opacity:.3;text-decoration:line-through}.slot.on{box-shadow:inset 0 0 0 1px var(--gold);color:#fff;background:#d1ba8b29;font-weight:800}.slot.free{color:#f2f2f2d9}.days{gap:16px;margin-top:6px;display:flex}.day{font:400 17px var(--hg);opacity:.55;letter-spacing:.04em}.day.on{opacity:1;color:var(--gold);font-weight:800}.brass{border-radius:12px;justify-content:center;align-items:center;gap:14px;width:100%;height:58px;transition:transform .12s;display:flex;position:relative}.brass.armed{background:linear-gradient(#dec99e,#d1ba8b 45%,#c1a776);box-shadow:inset 0 1px #fff6,0 10px 28px #00000061}.brass.disarmed{background:#f2f2f208;box-shadow:inset 0 0 0 1px #f2f2f22e}.brass.armed:active{transform:scale(.985)}.brass .inner-rule{pointer-events:none;border-radius:8px;position:absolute;inset:4px}.brass.armed .inner-rule{border:1px solid #48242666}.brass.disarmed .inner-rule{border:1px solid #f2f2f212}.brass .word{font:900 20px var(--hg);letter-spacing:.16em}.brass.armed .word,.brass.armed .price{color:var(--burgundy)}.brass.disarmed .word{color:#f2f2f259}.brass .price{font:800 20px var(--hg)}.brass .dia{border:1.5px solid var(--burgundy);flex:none;width:7px;height:7px;transform:rotate(45deg)}.ghost{border-radius:12px;justify-content:center;align-items:center;width:100%;height:54px;display:flex;position:relative;box-shadow:inset 0 0 0 1px #f2f2f240}.ghost .word{font:900 15px var(--hg);letter-spacing:.16em;color:#f2f2f2e6}.keyline{width:100%;font:700 11px var(--hg);letter-spacing:.28em;color:var(--gold);border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:13px 16px;display:flex;box-shadow:inset 0 0 0 1px #d1ba8b73}.field{background:#100a0959;border:1px solid #d1ba8b59;border-radius:12px;padding:10px 14px 11px;transition:border-color .2s,box-shadow .2s}.field:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px #d1ba8b2e}.field .field-label{font:700 8.5px var(--hg);letter-spacing:.3em;color:#d1ba8be6}.field input{color:var(--bone);width:100%;font-family:inherit;font:400 16px var(--hg);caret-color:var(--gold);background:0 0;border:none;outline:none;padding:6px 0 1px}.field input::placeholder{color:#f2f2f24d}.counter{justify-content:center;align-items:center;gap:10px;margin:14px 0 6px;display:flex}.flip{font:900 40px var(--hg);letter-spacing:.04em;color:var(--cream);text-align:center;background:linear-gradient(#4d1f26,#35131a);border-radius:12px;min-width:86px;padding:14px 18px;box-shadow:inset 0 0 0 1px #d1ba8b59,0 8px 20px #00000059}.counter .sep{font:900 30px var(--hg);color:var(--gold)}.counter-hint{font:700 8.5px var(--hg);letter-spacing:.26em;color:#d1ba8bbf;text-align:center}.ticket{background:var(--cream);color:var(--ink);border-radius:4px;padding:18px 16px;position:relative;box-shadow:0 12px 30px #00000059}.ticket:before,.ticket:after{content:"";background-image:radial-gradient(circle at 6px 0, transparent 0 5px, var(--cream) 5px);background-repeat:repeat-x;background-size:12px 8px;height:8px;position:absolute;left:0;right:0}.ticket:before{top:-7px;transform:rotate(180deg)}.ticket:after{bottom:-7px}.ticket .row{font:400 13px var(--hg);justify-content:space-between;gap:10px;margin:5px 0;display:flex}.ticket .row b{font-weight:800}.ticket .hd{font:700 9px var(--hg);letter-spacing:.28em;text-align:center;opacity:.7}.ticket .total{font:900 17px var(--hg)}.leader{border-bottom:1px dotted #5e242959;flex:1;transform:translateY(-4px)}.qr-card{background:var(--cream);text-align:center;color:var(--ink);border-radius:14px;padding:20px}.qr-card img{width:100%;max-width:240px;image-rendering:pixelated}.qr-card .num{font:900 26px var(--hg);letter-spacing:.06em;margin-top:8px}.qr-card .hint{font:400 11px var(--hg);opacity:.7;margin-top:8px;line-height:1.5}.status-list{flex-direction:column;gap:2px;margin-top:10px;display:flex}.status-row{align-items:center;gap:12px;padding:11px 4px;display:flex}.status-row .dot{border:1px solid var(--gold);border-radius:50%;flex:none;width:9px;height:9px}.status-row.done .dot{background:var(--gold)}.status-row.now .dot{background:var(--gold);box-shadow:0 0 0 5px #d1ba8b2e}.status-row .t{font:800 12px var(--hg);letter-spacing:.2em}.status-row.pending{opacity:.38}.big{font:900 26px var(--hg);letter-spacing:.04em}.mut{font:400 12px var(--hg);opacity:.6;line-height:1.55}.err{font:700 10px var(--hg);letter-spacing:.2em;color:#ffb4a8;text-align:center;margin-top:10px}.center{text-align:center}a{color:inherit;text-decoration:none}.wallet{flex-direction:column;align-items:center;gap:10px;margin-top:14px;display:flex}.wallet-btn{cursor:pointer;background:0 0;border:none;padding:0;line-height:0;transition:transform .12s,opacity .12s}.wallet-btn:active{transform:scale(.985)}.wallet-btn:hover{opacity:.88}.wallet-btn img{width:auto;height:48px;display:block}.wallet-hint{font:700 8.5px var(--hg);letter-spacing:.22em;text-align:center;color:#d1ba8bb3;margin-top:2px;line-height:1.7}.wallet-warn{font:400 10.5px var(--hg);letter-spacing:.04em;text-align:center;color:#f2ebdbbf;background:#100a0966;border:1px solid #d1ba8b4d;border-radius:10px;padding:10px 12px;line-height:1.6}
