/* Register terminal + receipt (printer) panels, restyled to match the illustrated UI (same look as the lore card):
   cream paper, thick black outlines, teal rim, hard shadows, sticker buttons. Layout rules stay in mood.css / style.css. */
:is(dialog.reg-dialog,dialog:has(#excuse),dialog.monitor-dialog,dialog:has(.gallery),dialog.freezer-dialog){
 --ink:#14212b;--cream:#f6e7c6;--paper:#fff9e8;--coral:#f2625a;--coral-d:#c9453f;--teal:#3cc7bb;--gold:#f3c64a;--line:#0b1117;--brown:#5a4a3a;
 color:var(--ink);
 background:
  radial-gradient(circle at 1.2% 92%,#0f4c5c 0 5px,transparent 6px),radial-gradient(circle at 98.6% 52%,#0f4c5c 0 4px,transparent 5px),
  radial-gradient(circle at 30% 99%,#0f4c5c 0 3px,transparent 4px),radial-gradient(circle at 1% 38%,#0f4c5c 0 3px,transparent 4px),
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .32 0 0 0 0 .22 0 0 0 0 .12 0 0 0 .2 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),
  linear-gradient(180deg,#fbeccb,var(--cream) 60%,#ecd8ad);
 border:4px solid var(--line);border-radius:22px;
 box-shadow:0 0 0 3px var(--teal),9px 11px 0 3px #000a,0 24px 80px #000a}
:is(dialog.reg-dialog,dialog:has(#excuse),dialog.monitor-dialog,dialog:has(.gallery),dialog.freezer-dialog)::before,:is(dialog.reg-dialog,dialog:has(#excuse),dialog.monitor-dialog,dialog:has(.gallery),dialog.freezer-dialog)::after{content:"";position:absolute;top:10px;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d8e2e4,#7f9296 60%,#3f5257);box-shadow:0 0 0 2px var(--line);pointer-events:none;z-index:3}
:is(dialog.reg-dialog,dialog:has(#excuse),dialog.monitor-dialog,dialog:has(.gallery),dialog.freezer-dialog)::before{left:12px}
:is(dialog.reg-dialog,dialog:has(#excuse),dialog.monitor-dialog,dialog:has(.gallery),dialog.freezer-dialog)::after{right:60px}
:is(dialog.reg-dialog,dialog:has(#excuse),dialog.monitor-dialog,dialog:has(.gallery),dialog.freezer-dialog) .close{background:var(--coral);color:var(--cream);border:3px solid var(--line);box-shadow:2px 3px 0 #0007;line-height:1;padding:0;z-index:4}
:is(dialog.reg-dialog,dialog:has(#excuse),dialog.monitor-dialog,dialog:has(.gallery),dialog.freezer-dialog) .close:hover{background:#ff7a70}

/* tape-label eyebrows */
:is(dialog.reg-dialog,dialog:has(#excuse),dialog.monitor-dialog,dialog:has(.gallery),dialog.freezer-dialog) .eyebrow{display:inline-block;transform:rotate(-1.2deg);background:var(--teal);color:#06231f;border:2.5px solid var(--line);padding:3px 12px 3px 10px;font:400 11px/1.2 var(--f-display);letter-spacing:1.6px;clip-path:polygon(0 0,100% 0,97% 50%,100% 100%,0 100%,3% 50%)}

/* sticker buttons */
:is(dialog.reg-dialog,dialog:has(#excuse),dialog.monitor-dialog,dialog:has(.gallery),dialog.freezer-dialog) :is(.reg-tabs button,.reg-ext,.replay-print,.export button,.tok-btn,.wall-controls button,.freezer-toolbar button,.product-card button){
 background:var(--paper);color:var(--ink);border:3px solid var(--line);border-radius:12px;box-shadow:3px 4px 0 #000a;font:400 12.5px/1.1 var(--f-display);letter-spacing:.3px;text-transform:uppercase;transition:transform .08s,box-shadow .08s}
:is(dialog.reg-dialog,dialog:has(#excuse),dialog.monitor-dialog,dialog:has(.gallery),dialog.freezer-dialog) :is(.reg-tabs button,.reg-ext,.replay-print,.export button,.tok-btn,.wall-controls button,.freezer-toolbar button,.product-card button):hover{background:#fff;transform:translateY(-1px);box-shadow:3px 5px 0 #000a}
:is(dialog.reg-dialog,dialog:has(#excuse),dialog.monitor-dialog,dialog:has(.gallery),dialog.freezer-dialog) :is(.reg-tabs button,.reg-ext,.replay-print,.export button,.tok-btn,.wall-controls button,.freezer-toolbar button,.product-card button):active{transform:translateY(2px);box-shadow:1px 2px 0 #000a}
:is(dialog.reg-dialog,dialog:has(#excuse),dialog.monitor-dialog,dialog:has(.gallery),dialog.freezer-dialog) .reg-tabs button[aria-pressed=true]{background:var(--teal);color:#06231f;border-color:var(--line)}
:is(dialog.reg-dialog,dialog:has(#excuse),dialog.monitor-dialog,dialog:has(.gallery),dialog.freezer-dialog) .reg-tabs .reg-full{background:var(--gold)}

/* ---------- register ---------- */
dialog.reg-dialog .reg-view{border:4px solid var(--line);border-radius:14px;box-shadow:0 0 0 3px #12384a inset,4px 5px 0 #000a}
dialog.reg-dialog .reg-foot{color:var(--brown);font-family:var(--f-body);font-size:12px}
dialog.reg-dialog .reg-mo .face{background-color:var(--paper);border:3px solid var(--line);border-radius:10px;box-shadow:3px 4px 0 #000a;transform:rotate(-4deg)}
dialog.reg-dialog .reg-mo .say{background:var(--paper);border:3px solid var(--line);border-radius:16px;box-shadow:3px 4px 0 #000a}
dialog.reg-dialog .reg-mo .ask{background:var(--coral);color:var(--ink);border:3px solid var(--line);border-radius:12px;box-shadow:3px 4px 0 #000a;font:400 13px var(--f-display);text-transform:uppercase;letter-spacing:.4px}
dialog.reg-dialog .reg-mo .ask:hover{background:#ff7a70}
dialog.reg-dialog .reg-mo .ask:active{transform:translateY(2px);box-shadow:1px 2px 0 #000a}

/* ---------- receipt / printer ---------- */
dialog:has(#excuse) h2{font:400 clamp(34px,4.6vw,52px)/.92 var(--f-display);letter-spacing:1px;color:var(--cream);-webkit-text-stroke:2.5px var(--line);paint-order:stroke fill;text-shadow:4px 4px 0 var(--coral),5px 5px 0 var(--line)}
dialog:has(#excuse) .receipt-layout>section:first-child>p:not(.fine){font:600 15px/1.3 var(--f-body);color:var(--brown)}
dialog:has(#excuse) .fine{color:var(--brown);font:600 12px/1.4 var(--f-body)}
dialog:has(#excuse) :is(label,legend){color:var(--ink);font:400 12px/1.2 var(--f-display);letter-spacing:1.1px;text-transform:uppercase}
dialog:has(#excuse) :is(input#nickname,textarea#excuse){background:var(--paper);color:var(--ink);border:3px solid var(--line);border-radius:12px;box-shadow:inset 2px 3px 0 #0001,3px 4px 0 #000a;font:700 15px var(--f-body)}
dialog:has(#excuse) :is(input#nickname,textarea#excuse)::placeholder{color:#8a7a66}
dialog:has(#excuse) :is(input#nickname,textarea#excuse):focus{outline:3px solid var(--teal);outline-offset:2px}
dialog:has(#excuse) .chips label{background:var(--paper);color:var(--ink);border:3px solid var(--line);border-radius:12px;box-shadow:3px 4px 0 #000a;font-size:11.5px;letter-spacing:.5px}
dialog:has(#excuse) .chips label:has(input:checked){background:var(--gold)}
dialog:has(#excuse) .chips input{accent-color:var(--coral-d)}
dialog:has(#excuse) .faces button{background-color:var(--paper);border:3px solid var(--line);border-radius:10px;box-shadow:3px 4px 0 #000a}
dialog:has(#excuse) .faces button[aria-pressed=true]{border-color:var(--line);background-color:var(--gold);box-shadow:0 0 0 3px var(--coral),3px 4px 0 3px #000a}
dialog:has(#excuse) .primary.print{background:var(--coral);color:var(--ink);border:3px solid var(--line);border-radius:14px;box-shadow:4px 5px 0 #000a;font:400 15px var(--f-display);letter-spacing:.8px;text-transform:uppercase}
dialog:has(#excuse) .primary.print:hover{background:#ff7a70;transform:translateY(-1px)}
dialog:has(#excuse) .primary.print:active{transform:translateY(2px);box-shadow:1px 2px 0 #000a}
dialog:has(#excuse) .print-theater{background:#09202b;border:4px solid var(--line);border-radius:16px;box-shadow:0 0 0 3px #12384a inset,4px 5px 0 #000a}
dialog:has(#excuse) .feed-closeup{border:3px solid var(--line);box-shadow:3px 4px 0 #000a}
dialog:has(#excuse) .print-stage-status{color:#8cf3ea}
dialog:has(#excuse) .printer-slot{background:#071018;border:4px solid var(--line);box-shadow:0 0 0 3px #4a5f67 inset}
dialog:has(#excuse) #receipt-status{color:var(--brown)}
dialog:has(#excuse) .feed-closeup>span{color:#9fe3dc}
@media(max-width:760px){
 :is(dialog.reg-dialog,dialog:has(#excuse),dialog.monitor-dialog,dialog:has(.gallery),dialog.freezer-dialog) :is(.reg-tabs button,.reg-ext){font-size:10.5px;padding:5px 9px;min-height:34px;border-width:2.5px;box-shadow:2px 3px 0 #000a;border-radius:10px}
 dialog.reg-dialog .reg-tabs{gap:6px}
}

/* ---------- shared headline + intro on every paper panel ---------- */
:is(dialog.monitor-dialog,dialog:has(.gallery)) h2{font:400 clamp(34px,4.6vw,52px)/.92 var(--f-display);letter-spacing:1px;color:var(--cream);-webkit-text-stroke:2.5px var(--line);paint-order:stroke fill;text-shadow:4px 4px 0 var(--coral),5px 5px 0 var(--line)}
dialog.monitor-dialog .security-heading p,dialog:has(.gallery)>div>p{font:600 15px/1.3 var(--f-body);color:var(--brown)}

/* ---------- CCTV wall ---------- */
dialog.monitor-dialog .camera-wall{border:4px solid var(--line);border-radius:14px;background:#05090d;box-shadow:0 0 0 3px #12384a inset,4px 5px 0 #000a}
dialog.monitor-dialog .wall-feed{box-shadow:0 0 0 2px var(--line)}
dialog.monitor-dialog .wall-feed.selected{box-shadow:0 0 0 3px var(--coral)}
dialog.monitor-dialog #wall-status{color:var(--brown);font:600 12px var(--f-body)}
dialog.monitor-dialog .wall-controls button{font-size:12px;padding:10px 14px}
dialog.monitor-dialog #wall-sound[aria-pressed=true]{background:var(--teal)}

/* ---------- memes ---------- */
dialog:has(.gallery) .meme{position:relative;background:var(--paper);border:3px solid var(--line);border-radius:14px;box-shadow:4px 5px 0 #000a;padding:16px 12px 12px}
dialog:has(.gallery) .meme:nth-child(odd){transform:rotate(-.5deg)}dialog:has(.gallery) .meme:nth-child(even){transform:rotate(.5deg)}
dialog:has(.gallery) .meme::before{content:"";position:absolute;top:-10px;left:50%;width:60px;height:17px;margin-left:-30px;transform:rotate(-2deg);background:var(--teal);border:2px solid var(--line);clip-path:polygon(0 0,100% 0,97% 50%,100% 100%,0 100%,3% 50%);z-index:1}
dialog:has(.gallery) .meme:nth-child(3n+2)::before{background:var(--coral);transform:rotate(2deg)}
dialog:has(.gallery) .meme:nth-child(3n)::before{background:var(--gold)}
dialog:has(.gallery) .meme .art{border:3px solid var(--line);border-radius:8px}
dialog:has(.gallery) .meme h3{font:400 15px/1.15 var(--f-display);text-transform:uppercase;letter-spacing:.4px;color:var(--ink)}
dialog:has(.gallery) .meme button{background:var(--coral);color:var(--ink);border:3px solid var(--line);border-radius:12px;box-shadow:3px 4px 0 #000a;font:400 12px var(--f-display);text-transform:uppercase;letter-spacing:.5px;transition:transform .08s,box-shadow .08s}
dialog:has(.gallery) .meme button:hover{background:#ff7a70;transform:translateY(-1px)}
dialog:has(.gallery) .meme button:active{transform:translateY(2px);box-shadow:1px 2px 0 #000a}

/* ---------- register: Summary tab (paper, not dark) ---------- */
dialog.reg-dialog .reg-view:has(.tok-panel){background:var(--paper);box-shadow:3px 4px 0 #000a;border-color:var(--line)}
.reg-view .tok-panel{color:var(--ink)}
.reg-view .tok-panel h2{font:400 30px/1 var(--f-display);color:var(--ink);-webkit-text-stroke:0;text-shadow:3px 3px 0 var(--gold)}
.reg-view .tok-panel h3{font:400 13px var(--f-display);letter-spacing:1.6px;color:var(--coral-d)}
.reg-view .tok-head img{border:3px solid var(--line);background:var(--paper);box-shadow:3px 4px 0 #000a}
.reg-view .tok-sym{color:var(--coral-d);font-weight:900}
.reg-view .tok-chip{font-weight:900;border:2px solid var(--line);color:var(--ink)}
.reg-view .tok-chip.live{background:#7ff0a8}.reg-view .tok-chip.demo{background:var(--gold)}
.reg-view .tok-desc{color:var(--brown);font:600 14px var(--f-body)}
.reg-view .tok-warn{background:var(--gold);color:var(--ink);border:3px solid var(--line);font-weight:700}
.reg-view .tok-grid div{border:3px solid var(--line);border-radius:12px;box-shadow:3px 4px 0 #000a;background:var(--paper)}
.reg-view .tok-grid div:nth-child(6n+1){background:var(--coral)}.reg-view .tok-grid div:nth-child(6n+2){background:var(--teal)}
.reg-view .tok-grid div:nth-child(6n+3){background:var(--gold)}
.reg-view .tok-grid small{color:#2a1410;opacity:.8;font:400 10px var(--f-display);letter-spacing:1.3px}
.reg-view .tok-grid b{color:#10171d}
.reg-view .tok-act{color:var(--ink)}
.reg-view .tok-act td,.reg-view .tok-act th{border-bottom:2px solid #0b111722;color:var(--ink)}
.reg-view .tok-act thead th{color:var(--brown);font-weight:900}
.reg-view .tok-act .up,.reg-view .tok-trades .buy b{color:#14733f}
.reg-view .tok-act .dn,.reg-view .tok-trades .sell b{color:#b8342d}
.reg-view .tok-trades{color:var(--ink)}
.reg-view .tok-trades li{border-bottom:2px solid #0b111722}
.reg-view .tok-trades small{color:var(--brown)}
.reg-view .tok-btn:first-child{background:var(--teal);color:#06231f}
.reg-view .tok-fine{color:var(--brown);font:600 12px var(--f-body)}
dialog.monitor-dialog .security-heading p{margin-bottom:4px}

/* ---------- freezer ---------- */
dialog.freezer-dialog .freezer-stage{border-radius:12px;box-shadow:0 0 0 4px var(--line),0 0 0 7px #12384a}
dialog.freezer-dialog .freezer-toolbar #freezer-toggle{background:var(--teal);color:#06231f}
dialog.freezer-dialog .freezer-toolbar #freezer-toggle:disabled{background:#cfc4a8;color:#7a6c58;box-shadow:1px 2px 0 #000a;transform:none}
dialog.freezer-dialog .freezer-toolbar #freezer-leave{background:var(--paper);color:var(--ink)}
dialog.freezer-dialog .freezer-toolbar p{font:700 14px/1.3 var(--f-body);color:var(--brown);letter-spacing:.2px}
dialog.freezer-dialog .freezer-pick{background:#03121bcc}
dialog.freezer-dialog .product-card{position:relative;background:var(--paper);color:var(--ink);border:4px solid var(--line);border-radius:20px;box-shadow:0 0 0 3px var(--teal),6px 8px 0 3px #000a;padding:22px 26px 16px}
dialog.freezer-dialog .product-card::before{content:"";position:absolute;top:-13px;left:50%;width:84px;height:22px;margin-left:-42px;transform:rotate(-2deg);background:var(--coral);border:2.5px solid var(--line);clip-path:polygon(0 0,100% 0,97% 50%,100% 100%,0 100%,3% 50%)}
dialog.freezer-dialog .product-card .eyebrow{margin-bottom:2px}
dialog.freezer-dialog .product-card h2{color:var(--cream);-webkit-text-stroke:2.5px var(--line);paint-order:stroke fill;text-shadow:3px 3px 0 var(--coral),4px 4px 0 var(--line);margin:8px 0 6px}
dialog.freezer-dialog .product-card p{font:700 15px/1.35 var(--f-body);color:var(--ink)}
dialog.freezer-dialog .product-card small{font:700 12px var(--f-body);color:var(--brown)}
dialog.freezer-dialog .product-card #save-frozen{background:var(--coral);color:var(--ink)}
dialog.freezer-dialog .product-card #return-frozen{background:var(--paper);color:var(--ink)}
dialog.freezer-dialog .product-card .picked-art{filter:drop-shadow(0 4px 0 #0005)}
.freezer-hit span{background:var(--paper,#fff9e8);color:#14212b;border:3px solid #0b1117;border-radius:10px;box-shadow:3px 4px 0 #000a;font:400 12px/1.1 var(--f-display);letter-spacing:.5px;padding:7px 10px}
@media(max-height:560px){
 dialog.freezer-dialog .product-card{padding:14px 18px 10px;border-width:3px}
 dialog.freezer-dialog .product-card::before{top:-10px;height:16px;width:60px;margin-left:-30px}
 dialog.freezer-dialog .product-card p{font-size:12.5px}
}
