:root{font-family:Arial,sans-serif;color:#342f34;background:#fff3cd}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button{font:inherit;cursor:pointer;border:2px solid #493d39;background:#fff3cd;border-radius:8px;padding:9px 13px;color:inherit}button:hover{background:#ffd994}button:focus-visible{outline:3px solid #00a69d;outline-offset:3px}.masthead{height:64px;padding:12px 25px;display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid #493d39}.brand{font-size:26px;font-weight:900;text-decoration:none;color:#367567}.brand span{color:#f27555}.masthead>div{display:flex;gap:12px}.masthead button{border:0;background:none;font-size:13px}.start-screen{min-height:calc(100dvh - 64px);background:linear-gradient(90deg,#ffefccf5,#ffefcc90,transparent),url('assets/kitchen.png') center/cover;position:relative;display:flex;align-items:center;padding:6vw}.start-copy{z-index:1}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:2px}h1{font:900 clamp(70px,10vw,140px)/.85 Georgia,serif;color:#367567;margin:30px 0}h1 em{color:#f27555}.primary{background:#ffb957;font-weight:800;padding:17px 24px;box-shadow:0 4px 0 #493d39;font-size:20px}.intro-note{line-height:1.7;margin:28px 0}.start-player,.player,.result-player{background:url('assets/ticket-hunter.png') 0 0/300% 200% no-repeat}.start-player{position:absolute;width:480px;height:480px;right:8%;bottom:12%}.hud{display:grid;grid-template-columns:1fr 1fr 2fr;gap:20px;max-width:1450px;margin:auto;padding:18px 25px}.hud small{display:block;font-size:10px;letter-spacing:1px;margin-bottom:7px}.hud strong{font-size:25px}.hud>div:last-child strong{font-size:18px}.rage-track{height:7px;border-radius:5px;background:#e3d6b7;margin-top:8px}.rage-track span{display:block;background:#ef633c;height:100%;width:0}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;max-width:1450px;margin:auto;padding:0 20px}.scene{position:relative;min-height:560px;height:calc(100dvh - 208px);background:url('assets/kitchen.png') center/cover;border:3px solid #493d39;border-radius:20px;overflow:hidden}.player{width:260px;height:260px;position:absolute;left:8%;top:-10px}.emotion-caption{position:absolute;top:35px;left:40%;right:5%;background:#fff8df;border:2px solid #493d39;padding:12px;border-radius:18px;font-weight:bold;font-size:15px}.laptop{position:absolute;left:8%;right:8%;top:170px;bottom:62px;background:#83c8a6;border:4px solid #493d39;border-radius:14px;padding:9px;box-shadow:5px 7px 0 #493d39}.browser-bar{display:flex;justify-content:space-between;align-items:center;background:#eee;padding:4px 9px;font-size:11px;height:31px;color:#777}.browser-bar button{padding:0 5px;border:0;background:none;font-size:20px}.queue-page{background:#e3e3e3;height:calc(100% - 31px);padding:18px 30px;overflow:auto;color:#555}.festival-brand{background:#191344;color:#ffd13b;font:bold clamp(22px,3vw,41px)/1 Georgia;text-align:center;padding:10px 3px;text-shadow:2px 2px #000;border-radius:3px;letter-spacing:-1px}.festival-brand span{display:block;color:#ff7b12;font:bold 23px Arial;letter-spacing:3px}.festival-brand small{font-size:8px;display:block;color:white;letter-spacing:1px}.queue-page h2{font-size:17px;margin:15px 0}.queue-page p{font-size:12px;line-height:1.6}.queue-track{background:#4d4d4d;height:26px;padding:4px;margin:25px 0}.queue-track span{height:100%;display:block;background:repeating-linear-gradient(90deg,#16bd89 0,#16bd89 9px,#4d4d4d 9px,#4d4d4d 11px);width:4%;transition:width 1s linear}.queue-page .queue-status{margin-top:20px;font-size:10px;font-style:italic}.queue-page small{font-size:9px}.notice{border:2px solid #00aeef;padding:9px;color:#ec7017;font-size:12px;line-height:1.4;background:#f4f4f4}.blocked{background:#fff}.blocked .festival-brand{display:none}.blocked h2{font-size:22px;font-weight:normal}.blocked h2:after{content:'';display:block;width:35px;height:2px;background:#00aaa8;margin-top:15px}#traffic-details small{display:block;margin-top:10px}.actions{position:absolute;bottom:12px;display:flex;gap:12px;justify-content:center;width:100%}.actions button{font-size:12px;font-weight:bold}.feed{border-radius:14px;overflow:hidden;border:2px solid #493d39;height:calc((100% - 14px)/2);display:flex;flex-direction:column}.feed header{padding:12px;display:flex;gap:12px;align-items:center;flex-shrink:0}.feed header small{display:block;font-size:10px;margin-top:6px;color:#aaa}.feed header>b{font-size:30px}.whatsapp{background:#101817;color:#eee}.whatsapp header{background:#202b29}.whatsapp header>span{color:#65cc96;font-size:30px}.feed footer{padding:12px;background:#202b29;font-size:11px;color:#aaa}.feed footer span{float:right}.twitter{background:#fff;color:#151515;margin-top:14px}.twitter header{border-bottom:1px solid #eee}.twitter header small{color:#777}.selected{color:#1688cf;border-bottom:3px solid #1688cf;padding-bottom:6px}.fiction-label{font-size:8px;letter-spacing:1px;color:#777;padding:5px 12px}.feed [role=log]{overflow:auto;padding:10px;flex:1;min-height:0;scroll-behavior:smooth}.message{margin-bottom:10px;font-size:12px;line-height:1.45}.message p{margin:4px 0}.message b{font-size:10px}.whatsapp .message{background:#26312f;padding:8px 10px;border-radius:0 10px 10px;margin-right:14px}.whatsapp .message b{color:#66d9c2}.whatsapp .message:nth-child(3n) b{color:#c7a4ff}.whatsapp .self{background:#155a43;margin-left:20px;margin-right:0}.twitter .message{border-bottom:1px solid #eee;padding:4px 4px 12px}.twitter .message small{color:#88919a;font-size:10px}#feeds{min-height:0;height:calc(100dvh - 208px);min-height:560px}.live-message{text-align:center;font-size:13px;font-weight:bold;padding:0 12px}dialog{border:3px solid #493d39;border-radius:20px;background:#fff5dc;padding:28px;width:min(490px,calc(100% - 30px));max-height:90dvh;overflow:auto;box-shadow:6px 7px 0 #493d39}dialog::backdrop{background:#332e3d90}dialog p{font-size:14px;line-height:1.6}dialog h2{font:900 32px Georgia}dialog small{display:block;font-size:11px;margin-top:20px}.close{float:right}.result-player{height:150px;width:150px;margin:auto}[data-emotion=worried] .player{background-position:50% 0}[data-emotion=annoyed] .player{background-position:100% 0}[data-emotion=panicked] .player,[data-emotion=panicked].result-player{background-position:0 100%;animation:rage .15s steps(2) infinite;filter:drop-shadow(0 0 12px #ff432766)}[data-emotion=happy] .player,[data-emotion=happy].result-player{background-position:50% 100%;animation:happy .6s infinite alternate}@keyframes rage{to{transform:rotate(3deg) translateX(3px)}}@keyframes happy{to{transform:translateY(-10px) rotate(5deg)}}
@media(max-width:900px){.play-layout{grid-template-columns:minmax(0,1fr) 265px;gap:10px;padding:0 10px}.queue-page{padding:15px}.laptop{left:4%;right:4%}.emotion-caption{left:48%;font-size:12px}.player{left:1%;width:230px;height:230px}}
@media(max-width:680px){.masthead{height:80px;padding:8px 12px;flex-wrap:wrap}.brand{font-size:23px}.masthead>div{gap:12px}.masthead button{font-size:11px;padding:5px 0}.start-screen{min-height:calc(100dvh - 80px);align-items:flex-start;padding:35px 25px}.start-player{width:300px;height:300px;right:-25px;bottom:3%}.start-copy h1{font-size:85px}.start-copy>p{max-width:270px;font-size:14px}.start-copy small{font-size:9px}.hud{padding:14px;gap:10px}.hud strong{font-size:20px}.hud small{font-size:8px}.hud>div:last-child strong{font-size:12px}.play-layout{display:block}.scene{height:570px;min-height:0}.laptop{top:150px;bottom:60px}.player{width:210px;height:210px}.emotion-caption{left:49%;top:22px;right:4%;font-size:12px}.queue-page p{font-size:11px}.festival-brand{font-size:29px}.festival-brand span{font-size:20px}.actions{gap:7px}.actions button{font-size:11px;padding:8px}.play-layout #feeds{height:400px;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.feed{height:100%;margin:0}.feed header{padding:9px;gap:7px}.feed header b{font-size:11px}.feed header>b{font-size:24px}.feed header small{font-size:8px}.message{font-size:11px}.feed [role=log]{padding:7px}.whatsapp .message{margin-right:0;padding:7px}.live-message{font-size:11px}.hud>div:last-child{min-width:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

#id-form{display:grid;gap:12px}#id-form label{font-size:13px;font-weight:bold}#glasto-id{width:100%;min-height:48px;border:2px solid #493d39;border-radius:8px;background:#fffdf5;padding:12px;font:18px Arial,sans-serif}#glasto-id:focus{outline:3px solid #00a69d;outline-offset:2px}#id-form .id-note{font-size:11px;margin:0 0 8px;color:#6b573c}
