/* Pixelkovia: Stratený signál. Visual layer; compatible with V1 progress. */
@font-face{font-family:Caveat;src:url('assets/fonts/Caveat.ttf') format('truetype');font-weight:400 700;font-display:swap}
:root{--paper:#0b1021;--ink:#f0f0ff;--muted:#a8b1cb;--line:#2c3555;--blue:#8a70ff;--soft:#182039;--gold:#ffcb7e;--white:#121a30}
body{background:#0b1021;background-image:radial-gradient(ellipse at 80% 5%,#30215b55,transparent 45%);color:var(--ink)}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline-color:#74e8f7}
.site-header{height:86px;padding:0 4%;gap:30px;border-color:#2a3350}.brand{color:#f0e9ff;font-size:16px}.brand-mark{color:#7ce5f5;border-color:#7ce5f5;border-radius:7px;transform:none;font-family:monospace;font-size:30px;line-height:35px}.brand-sub{font-size:8px}.nav-link{color:#abb6ce}.nav-link.active{color:#b6a6ff}.nav-link.active:after{content:'';display:block;height:2px;background:#9b81ff;transform:translateY(10px)}.parent-tag{background:#222943;color:#b7b3d4}.gm-button{color:#b8c1db;border-color:#394364}.gm-button:hover{background:#1a2540}
main{padding:0 4%}.hero{position:relative;isolation:isolate;overflow:hidden;margin-top:26px;min-height:650px;padding:50px 46px;gap:20px;grid-template-columns:1fr 1fr;border:1px solid #374369;border-radius:12px;background:#070d20}.hero-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3}.hero:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#070c1bf5 0%,#070c1bd9 22%,#080d1b57 48%,transparent 67%)}.hero:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(0deg,#0a102399,transparent 30%)}.hero-copy{align-self:start;max-width:570px;padding-top:12px}.hero .eyebrow{font-size:10px;letter-spacing:.17em;color:#a1e5f2;margin-bottom:24px}.status-dot{background:#71e5dc;box-shadow:0 0 0 4px #71e5dc15,0 0 14px #71e5dc66}.hero h1.adventure-title{font-size:clamp(66px,6.7vw,102px);line-height:.9;letter-spacing:-.065em;max-width:none;font-weight:750;margin-bottom:22px;text-shadow:0 3px 25px #0007}.adventure-title>span{display:block}.hero h1 em{display:block;font-family:Caveat,cursive;font-size:1.12em;font-weight:500;color:#b5a0ff;letter-spacing:-.04em;line-height:.95;margin-left:3px}.title-caption{color:#f6cb86;font-size:11px;font-weight:700;letter-spacing:.25em;margin:8px 0 20px}.hero-copy>.hero-description{font-size:17px;line-height:1.6;color:#d5d9e9;margin-bottom:25px;max-width:400px}.btn{background:#9a7cff;color:#0b1021;font-weight:750;box-shadow:0 3px 0 #5c3dba;min-height:46px;border-radius:5px}.btn:hover{background:#b19aff}.btn.secondary{color:#d2d8ed;border-color:#526084;box-shadow:none;background:transparent}.btn.secondary:hover{background:#243152}.text-link{color:#b8acfa}.hero-copy>.quiet{color:#b3bed8;font-size:11px;margin-top:16px;text-align:left}.hero-meta{display:flex;gap:23px;margin:27px 0 0}.hero-meta>span{display:flex;align-items:center;gap:8px;color:#95acd1;font-size:20px}.hero-meta>span>span{display:block;font-size:9px;letter-spacing:.07em;color:#e5e8f6;font-weight:600}.hero-meta small{display:block;color:#aab6ce;font-size:8px;font-weight:400;letter-spacing:0}.hero-scene{align-self:stretch;position:relative;min-width:0}.incoming-card{display:flex;align-items:center;gap:12px;border:1px solid #6575ad77;border-radius:9px;background:#10182edb;box-shadow:0 10px 35px #0004;backdrop-filter:blur(10px);position:absolute;top:0;right:0;width:310px;padding:16px}.incoming-card>.pixel-sprite{width:90px;flex-shrink:0;border-radius:8px}.incoming-card .section-kicker{font-size:7px;margin-bottom:6px;color:#82dedc;letter-spacing:.14em}.incoming-card strong{font-size:16px}.incoming-card p{font-size:11px;line-height:1.65;margin:8px 0;color:#c0cbe2}.signal-wave{color:#8f82ff;font-size:15px;letter-spacing:4px}.scene-caption{position:absolute;bottom:-25px;right:0;font-family:Caveat,cursive;font-size:24px;color:#e2d1ff;text-shadow:0 2px 5px #000}
.pixel-sprite{display:block;aspect-ratio:1;width:100%;background-image:var(--character-image,url('assets/characters/piko.png'));background-size:contain;background-position:center;background-repeat:no-repeat;background-repeat:no-repeat;image-rendering:auto;border-radius:9px;background-color:#0c1122}
.how-it-works{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid #303b5e;border-radius:8px;overflow:hidden;margin-top:18px;background:#303b5e}.story-step{display:grid;grid-template-columns:1fr 65px;grid-template-rows:auto auto auto;padding:22px 23px 20px;background:#131b30;position:relative}.step-number{color:#8b7ed3;font-family:monospace;font-size:12px;letter-spacing:.1em;margin-bottom:10px}.story-step>.pixel-sprite{grid-column:2;grid-row:1/4;align-self:center;width:65px}.story-step h2{font-family:Manrope,sans-serif;font-size:14px;letter-spacing:-.02em;line-height:1.4;margin:0 8px 6px 0}.story-step p{font-size:11px;line-height:1.6;max-width:180px;margin:0 10px 0 0;color:#a6b1cb}
.section-title{margin:54px 0 26px;align-items:end}.section-title h2{font-size:34px;line-height:1.15;color:#e8e9fc;letter-spacing:-.04em}.section-kicker{color:#a89beb;font-size:9px}.section-title>p{color:#a4afc9;font-size:12px}.character-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}.character-card{min-width:0;background:#121a2d;border:1px solid #2c3858;border-radius:8px;padding:9px 9px 18px}.character-card>.pixel-sprite{margin-bottom:16px}.character-role{font-size:8px;letter-spacing:.02em;color:#9bafcb;display:block;line-height:1.4;min-height:25px;margin:0 4px}.character-card h3{font-size:21px;letter-spacing:-.025em;margin:3px 4px 9px;color:#ece8ff}.character-card p{font-size:10px;line-height:1.7;margin:0 4px;color:#9eacc7}.character-card:first-child{border-color:#6078bd;background:#18233e}.intro-strip{margin-top:36px;background:linear-gradient(110deg,#20233d,#18263c);border-color:#3e496d}.intro-strip .icon-box{background:#35304e;color:#c1acff}.intro-strip h3{color:#e5e5fa}.intro-strip p{color:#aebbd7}.chapter-card{background:#141d32;border-color:#2e3b5b;border-radius:6px;min-height:165px}.chapter-card.locked{opacity:1}.chapter-card h3{color:#c5cde2}.chapter-card p{color:#92a2c0}.chapter-icon{color:#9e8de5}.chapter-number{color:#8597b9}.chapter-card.current{border-color:#9f8cff;box-shadow:inset 0 0 0 1px #9f8cff}.chapter-card.current h3{color:#ebe1ff}.chapter-card:hover:enabled{box-shadow:0 7px 25px #0004}.case-bottom{color:#9aa9c6}.mini-line{background:#9e84ff}.site-footer{border-color:#29354f;color:#8b9bbd;padding-left:4%;padding-right:4%}
.page-head h1{color:#e8e5ff}.notice{background:#20243f;border-left-color:#9580df;color:#e4dffb}.notice p{color:#b9c2da}.panel{background:#141d32;border-color:#344265}.panel h2,.panel h3{color:#ddd8fc}.checklist input{accent-color:#a28af4}.checklist input:checked+span{color:#97a4be}.prep-table th{color:#b2a0f3}.prep-table td{color:#bfc9e1}.prep-table td,.prep-table th{border-color:#34415f}.stage-index a{border-color:#485274;color:#cfc7ef}.storyboard{background:#eff0fa;color:#222c48;border-color:#9ba3c1}.storyboard .story{color:#303a56}.storyboard p,.storyboard li{color:#47516b}.storyboard .section-kicker,.detail-grid h3{color:#68528e}.storyboard-head{border-color:#c1c7dc}.storyboard .btn.secondary{background:#dfe3f1;border-color:#b3bcd8;color:#303b5a}.time-pill{background:#232c47;color:#c9c3ef;border:1px solid #465174;font-size:10px}.storyboard .time-pill{background:#dce1f1;color:#47516e;border:0}.solution{background:#dce1f1}.storyboard details{margin-bottom:25px}.storyboard summary{cursor:pointer}.storyboard .notice{background:#e1def0;color:#322448}.storyboard .notice p{color:#4c4262}
.task-toolbar{border-color:#344162}.task-main{padding:34px 38px;background:#eff0fa;color:#25304e;border:1px solid #a4aecf;border-radius:8px;box-shadow:0 12px 35px #0003}.task-main h1{font-size:39px;line-height:1.15;color:#242c47}.task-main .eyebrow{color:#675a93;font-size:9px;letter-spacing:.1em}.task-main .status-dot{background:#7c67b5;box-shadow:0 0 0 4px #8f78c515}.task-main .narrative{color:#3a4361;font-size:19px;line-height:1.85}.task-main p{color:#4c5775}.story-label{color:#806599}.task-instruction{border-color:#c3c9dc}.task-instruction h2{color:#303c5b}.task-main .text-link{color:#6b4ab0;white-space:normal}.answer-row input{background:#fff;border-color:#a9b3d0;color:#263250}.answer-row input::placeholder{color:#7b88a6}.hint-box{border-color:#b8c0d8}.hint-box p{background:#e1e5f2;color:#465374}.task-main .feedback{color:#a23d58}.task-main .feedback.success{color:#276960}.symbol-btn{background:#dfe3f5;border-color:#a8afd0;color:#5c478c}.symbol-btn:hover{background:#c8c1ed}.sequence{background:#e1e4f4;color:#49386a}.sequence:empty:before{color:#7782a4}.task-character{display:flex;align-items:center;gap:16px;margin:22px 0 28px;padding:12px;background:#e0e4f2;border-radius:7px}.task-character>.pixel-sprite{width:95px;flex-shrink:0}.task-character strong{display:block;font-size:25px;color:#293352}.task-character small{display:block;color:#64708f;font-size:12px}.task-character .section-kicker{font-size:8px;margin-bottom:5px}.task-aside .panel{background:#141e35;border-color:#384569}.task-aside .aside-copy{font-size:11px;color:#a4b3d3}.map-node{border-color:#405073;background:#202c47;color:#b5c0da}.map-node.done{background:#214d53;border-color:#428785;color:#b6f6df}.map-node.current{background:#a58bff;border-color:#bba8ff;color:#141b34}.progress-track{background:#2e3b59}.progress-track>span{background:#78d3c9}.fragment{background:#273651;border-color:#485577;color:#b9e6e5}.big-fragment{color:#cab8ff}.success-card,.finale{background:radial-gradient(ellipse at 50% 0,#35274a,#151e34 75%);border:1px solid #465174;border-radius:10px;padding:40px 32px}.success-card h1,.finale h1{color:#e9e0ff}.success-card p,.finale p{color:#c1c9de}.success-icon{background:#254d50;color:#a8efdb}.final-icon{color:#e6c790}.success-card .compact-map,.finale .compact-map{max-width:430px;margin:24px auto}.success-character{width:170px;margin:0 auto 20px;box-shadow:0 0 45px #9174de22}.finale .narrative{max-width:830px;margin:28px auto;line-height:1.9}.contacts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0 23px}.contact{min-width:0;text-align:center;border:1px solid #344565;border-radius:6px;padding:5px 5px 8px;background:#10182b}.contact .pixel-sprite{filter:grayscale(.9);opacity:.5}.contact.connected{border-color:#528c8b;background:#182e3b}.contact.connected .pixel-sprite{filter:none;opacity:1}.contact strong{display:block;color:#b5c5de;font-size:11px;margin:5px 0 0}.contact small{font-size:8px;color:#8a9cba;display:block}.contact.connected small{color:#8be0ca}.finale .contacts{max-width:710px;margin:0 auto 32px;grid-template-columns:repeat(6,1fr)}.finale .contact strong{font-size:13px}.finale .contact small{font-size:10px}
dialog{background:#151d34;color:#e8e7fb;border:1px solid #57668b;box-shadow:0 25px 90px #0009;max-height:90dvh}.call .eyebrow{color:#a898ed}.call h2{color:#eee9ff}.call .call-line{color:#d3d8ed}.call-avatar{border-color:#6d8dd3;background:#0c1122;overflow:hidden}.call-avatar>.pixel-sprite{width:100%;height:100%;border-radius:0}.call-avatar.disconnected{color:#c2bcf4}.call .accept{background:#88dfcc;color:#0b1021;box-shadow:0 3px 0 #3c8d7a}.dialog-close{background:#28354f;color:#d0d8ed}
@media(min-width:1500px){.hero{min-height:700px}}
@media(max-width:1100px){.hero{padding:36px 30px;min-height:630px;grid-template-columns:1.1fr 1fr}.hero h1.adventure-title{font-size:80px}.incoming-card{width:250px;padding:12px;gap:8px}.incoming-card>.pixel-sprite{width:70px}.incoming-card strong{font-size:13px}.incoming-card p{font-size:10px}.hero-meta{gap:12px}.character-grid{grid-template-columns:repeat(4,1fr)}.character-card p{font-size:11px}.character-role{font-size:9px;min-height:0}.story-step{padding:18px 14px;grid-template-columns:1fr 45px}.story-step>.pixel-sprite{width:45px}.story-step h2{font-size:12px}.task-main{padding:28px}.task-main h1{font-size:34px}}
@media(max-width:700px){.site-header{height:auto;min-height:90px;padding:17px 5%;gap:16px}.brand{font-size:14px}.brand-mark{width:31px;height:34px;line-height:29px;font-size:26px}.gm-button{font-size:10px;padding:8px 10px}.site-header nav{border-color:#303b58;gap:40px}.nav-link{font-size:11px}.nav-link.active:after{transform:translateY(8px)}main{padding:0 5%}.how-it-works{grid-template-columns:repeat(2,1fr);margin-top:14px}.story-step{padding:15px 12px;grid-template-columns:1fr 45px}.step-number{font-size:9px}.story-step h2{font-size:12px;grid-column:1/3;margin:0 0 6px}.story-step p{font-size:10px;grid-column:1/3;margin:0;max-width:none}.story-step>.pixel-sprite{grid-row:1;grid-column:2;margin-bottom:5px}.section-title{margin:35px 0 20px;gap:16px;align-items:end}.section-title h2{font-size:28px;max-width:220px}.section-title>p{font-size:10px;max-width:120px;padding:0}.section-kicker{font-size:8px}.character-grid{grid-template-columns:repeat(2,1fr);gap:10px}.character-card{padding:8px 8px 17px}.character-card:first-child{grid-column:1/3;display:grid;grid-template-columns:115px 1fr;grid-template-rows:auto auto 1fr;column-gap:15px;align-items:start;padding:14px}.character-card:first-child>.pixel-sprite{grid-row:1/4;width:115px;margin:0}.character-card:first-child .character-role{margin-top:8px}.character-card h3{font-size:23px}.character-card p{font-size:11px}.character-card>.pixel-sprite{margin-bottom:12px}.character-role{font-size:9px}.intro-strip{margin-top:24px;padding:18px 14px;gap:13px}.intro-strip h3{font-size:13px}.intro-strip p{font-size:11px}.intro-strip .text-link{font-size:11px}.chapter-card{min-height:160px;padding:16px}.chapter-card h3{font-size:13px;line-height:1.35}.chapter-card p{font-size:9px}.case-bottom{font-size:10px}.task-wrap{margin-top:20px}.task-main{padding:24px 20px}.task-main h1{font-size:31px}.task-main .narrative{font-size:18px;line-height:1.85}.task-main .eyebrow{font-size:7px;letter-spacing:.07em}.task-main .text-link{font-size:11px}.task-character>.pixel-sprite{width:76px}.task-character{gap:12px;padding:10px}.task-character strong{font-size:24px}.task-character small{font-size:10px}.task-toolbar{gap:8px}.task-toolbar .text-link{font-size:10px}.task-toolbar .time-pill{font-size:8px;white-space:nowrap}.task-aside .contacts{grid-template-columns:repeat(6,1fr);gap:5px;margin:0 0 12px}.task-aside .contact{padding:2px;border-radius:3px}.task-aside .contact strong{font-size:8px;margin:3px 0}.task-aside .contact small{display:none}.page-head h1{font-size:34px}.prep-table{font-size:11px}.prep-table td:first-child{white-space:normal}.storyboard{padding:20px 17px}.storyboard-head h2{font-size:21px}.storyboard .story{font-size:14px}.storyboard-head .btn{font-size:9px;white-space:nowrap}.success-card{padding:28px 18px}.success-card h1{font-size:29px!important}.success-character{width:140px}.call .call-line{font-size:19px}.call-avatar{width:110px;height:110px}.finale .contacts{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:24px}.finale .narrative{font-size:18px;line-height:1.85}dialog{padding:25px 20px}.site-footer{padding-left:5%;padding-right:5%}}
@media(max-width:370px){.character-card:first-child{grid-template-columns:90px 1fr;column-gap:10px}.character-card:first-child>.pixel-sprite{width:90px}.character-card:first-child p{font-size:10px}.task-main{padding:20px 16px}.task-main h1{font-size:28px}}
@media print{body{background:white;color:#222}main{padding:0}.storyboard,.task-main{background:white;color:#222;border-color:#aaa;box-shadow:none}.storyboard p,.storyboard .story,.storyboard li,.task-main .narrative{color:#222}.notice,.panel{background:white;color:#222}.notice p,.panel p,.panel h2,.page-head h1,.prep-table td{color:#222}.section-kicker,.detail-grid h3{color:#444}.solution{background:#eee}.storyboard .time-pill{color:#333;background:#eee}.btn,.text-link{box-shadow:none}.pixel-sprite{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
/* Keep the signal indicator on one line. */
.signal-wave{white-space:nowrap;letter-spacing:3px}

/* The secret world behind everyday screens. */
.hidden-world{display:grid;grid-template-columns:1fr 1.25fr;gap:55px;align-items:center;margin:36px 0 12px;padding:36px 38px;border:1px solid #364365;border-radius:9px;background:radial-gradient(ellipse at 0 100%,#2a32634d,transparent 65%),#111a2d}.hidden-world-heading h2{font-size:34px;line-height:1.18;color:#e8e6fd;margin:14px 0 22px}.hidden-world .section-kicker{color:#89d9df;font-size:8px;line-height:1.7;letter-spacing:.13em}.hidden-world-copy p{font-size:14px;line-height:1.9;color:#b0bdd5;margin:0 0 15px}.hidden-world-copy p:last-child{margin-bottom:0}.hidden-world-copy strong{font-weight:600;color:#e0d8ff}.device-list{display:flex;flex-wrap:wrap;gap:7px}.device-list span{font-size:10px;color:#bcd8e7;border:1px solid #3c536f;border-radius:4px;padding:5px 10px;background:#1a293d}
@media(max-width:1000px){.hidden-world{gap:30px;padding:30px}.hidden-world-heading h2{font-size:29px}.hidden-world-copy p{font-size:13px}}
@media(max-width:700px){.hidden-world{grid-template-columns:1fr;gap:24px;margin:25px 0 0;padding:24px 20px}.hidden-world-heading h2{font-size:29px;margin:12px 0 18px}.hidden-world-copy p{font-size:13px;line-height:1.9}.device-list span{font-size:10px}.hidden-world .section-kicker{font-size:7px}}
@media print{.hidden-world{background:white;border-color:#aaa}.hidden-world-heading h2,.hidden-world-copy p,.hidden-world-copy strong{color:#222}}
/* V2 authored dialogue panels, advanced at the team's pace. */
.scene-reader{margin:26px 0;background:#e3e7f3;border:1px solid #c9cde1;border-radius:7px;padding:22px;scroll-margin-top:20px}.reader-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}.reader-heading .story-label{margin:0;font-size:10px}.reader-count{font:10px monospace;color:#76688d;white-space:nowrap}.scene-panel:focus{outline:none}.scene-panel p{margin:0 0 12px}.scene-panel .scene-narration{font-size:14px;line-height:1.8;color:#64708b}.scene-panel .scene-dialogue{font:20px/1.7 Georgia,serif;color:#393452;border-left:2px solid #bda7e3;padding-left:16px}.scene-panel .scene-signal{font:600 14px/1.8 monospace;letter-spacing:.05em;background:#d3d8ec;padding:12px 15px;border-radius:4px;color:#58427d}.reader-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #c2c8df;margin-top:20px;padding-top:15px}.reader-controls .text-link{padding-left:0;white-space:normal}.reader-controls .btn{font-size:11px;gap:10px}.reader-controls button:disabled{opacity:.35}.reader-end{font-size:10px;color:#7c7094;text-align:right}.success-card .scene-reader,.finale .scene-reader{max-width:760px;margin:27px auto;background:#1b2640;border-color:#3e4d74;text-align:left}.success-card .scene-dialogue,.finale .scene-dialogue{color:#e5ddf9;border-color:#7d69b0}.success-card .scene-narration,.finale .scene-narration{color:#afbdd7}.success-card .scene-signal,.finale .scene-signal{background:#323457;color:#d4c4ff}.success-card .reader-count,.finale .reader-count,.success-card .reader-end,.finale .reader-end{color:#aab6d1}.success-card .reader-controls,.finale .reader-controls{border-color:#3d4b6e}.finale .whole-party{grid-template-columns:repeat(7,minmax(0,1fr));max-width:820px}.atlas-invitation{max-width:760px;margin:35px auto;padding:28px;background:#202b47;border:1px solid #6c6094;border-radius:8px;text-align:left}.atlas-invitation>.pixel-sprite{width:90px;float:right;margin:0 0 18px 20px}.atlas-invitation .scene-narration{font-size:12px;color:#adbbd6;line-height:1.8}.atlas-invitation .scene-dialogue{font:18px/1.8 Georgia,serif;color:#ddd2fa}.atlas-invitation .atlas-cta{font-size:11px;white-space:normal;text-align:center;line-height:1.7;margin:12px 0 22px;max-width:100%}.gm-scene{padding:18px 20px;margin:15px 0;background:#e5e7f3;border-left:2px solid #aa93c7}.gm-scene p{font-size:14px;line-height:1.8;margin-bottom:9px}.gm-scene .scene-dialogue{font-family:Georgia,serif;font-size:17px}.gm-scene .scene-signal{font-family:monospace;font-weight:700;color:#5a4476}.gm-dramaturgy{border-top:1px solid #bdc5dc;padding-top:23px;margin-top:25px}.gm-dramaturgy h3{font-size:17px}.gm-dramaturgy p{font-size:13px;line-height:1.8;margin-bottom:8px}.call .call-line .scene-narration{font:13px/1.75 'DM Sans',sans-serif;color:#9eafcc;margin:0 0 10px}.call .call-line .scene-dialogue{font:20px/1.7 Georgia,serif;color:#e4dcfa;margin:0 0 13px}.call .call-line .scene-signal{font:13px/1.8 monospace;color:#bda8f2}.call .call-line{margin-bottom:22px}.call .eyebrow{font-size:9px;justify-content:center}
@media(max-width:700px){.scene-reader{padding:18px 15px;margin:22px 0}.scene-panel .scene-dialogue{font-size:19px;line-height:1.75;padding-left:12px}.scene-panel .scene-narration{font-size:13px}.scene-panel .scene-signal{font-size:12px;padding:10px}.reader-controls .btn{padding:11px 13px;font-size:10px}.reader-controls .text-link{font-size:10px}.reader-end{font-size:9px}.reader-heading .story-label{font-size:8px}.finale .whole-party{grid-template-columns:repeat(4,minmax(0,1fr))}.atlas-invitation{padding:22px 18px}.atlas-invitation>.pixel-sprite{width:75px;margin-left:14px}.atlas-invitation .scene-dialogue{font-size:17px}.atlas-invitation .atlas-cta{font-size:10px;padding:12px 16px}.call h2{font-size:26px}.call .call-line .scene-dialogue{font-size:18px}.call .call-line .scene-narration{font-size:12px}.call-avatar{width:85px;height:85px}.gm-scene{padding:16px 15px}.gm-scene .scene-dialogue{font-size:16px}}
@media print{.gm-scene,.scene-reader{background:white;break-inside:avoid}.reader-controls{display:none}.scene-panel .scene-dialogue,.scene-panel .scene-narration{color:#222}}
/* Piko's incoming message fills the display, including browsers without Fullscreen API. */
dialog.message-modal{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#080d1d;overflow:auto;color:#f0efff}
.message-modal::backdrop{background:#080d1d;backdrop-filter:none}
.message-screen{min-height:100%;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 42%,#24234e 0,transparent 60%),#080d1d;padding:max(18px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left))}
.message-status{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;max-width:1100px;margin:0 auto;color:#8496b8;font:10px/1.5 monospace;letter-spacing:.13em}
.message-status>span{display:flex;align-items:center;gap:12px}.message-status .status-dot{display:inline-block;background:#80e5d0;box-shadow:0 0 12px #80e5d055}.message-status .text-link{color:#b5bfd9;font-size:11px;letter-spacing:0;white-space:normal}
.message-waiting{width:100%;max-width:560px;margin:auto;align-self:center;padding:35px 0;text-align:center}.message-waiting .section-kicker{color:#9b93d1;font:10px/1.6 monospace;letter-spacing:.2em;margin:32px 0 18px}.message-waiting h1{font-size:clamp(36px,6vw,62px);line-height:1.12;letter-spacing:-.04em;margin-bottom:18px;color:#f0eeff}.message-waiting>p{font-size:13px;color:#8f9bb9;margin-bottom:35px}
.message-orbit{position:relative;width:100px;height:100px;margin:auto;display:grid;place-items:center;border:1px solid #7368b8;border-radius:28px;background:linear-gradient(135deg,#29234e,#141e36);box-shadow:0 0 60px #886fee25}.message-orbit>span{font-size:40px;color:#d5c9ff}.message-orbit i{position:absolute;inset:-14px;border:1px solid #9d84e52a;border-radius:36px;animation:message-pulse 4.8s infinite}.message-orbit i:last-child{inset:-28px;border-radius:44px;animation-delay:.3s}
.message-notification{width:100%;display:flex;gap:17px;align-items:center;text-align:left;padding:20px;border:1px solid #77759e;border-radius:18px;background:linear-gradient(115deg,#363450d9,#232c45ed);box-shadow:0 16px 50px #0004;color:#fff;transition:background .2s,transform .2s;animation:message-nudge 4.8s infinite}.message-notification:hover{background:#3b3b5b;transform:translateY(-2px)}.message-notification>.pixel-sprite{width:72px;flex-shrink:0;border-radius:12px}.message-notification>span:nth-child(2){flex:1;min-width:0}.message-notification strong{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:18px;margin-bottom:3px}.message-notification small{font-size:10px;font-weight:400;color:#abb5ce}.message-notification span span{display:block;font-size:13px;color:#d1d5e8}.message-notification em{display:block;font-style:normal;font-size:10px;color:#9be9df;margin-top:13px}.message-notification em b{margin-left:12px}.message-unread{display:grid;place-items:center;flex-shrink:0;width:23px;height:23px;background:#b39aff;border-radius:50%;color:#191a33;font-size:11px;font-weight:700}.message-sound{align-self:center;color:#93a5c8;font-size:11px;margin:0 0 18px}.message-footer{display:flex;justify-content:center;margin-top:auto;padding-top:12px}.message-home-bar{height:4px;width:110px;border-radius:10px;background:#8c95af55}
.message-thread{width:min(100%,740px);margin:auto;align-self:center;padding:30px 0}.message-sender{display:flex;align-items:center;gap:15px;margin-bottom:24px}.message-sender>.pixel-sprite{width:65px;flex-shrink:0;border-radius:16px}.message-sender h1{font-size:26px;margin:0;color:#f1edff}.message-sender .section-kicker{font:8px monospace;color:#92a6c8;letter-spacing:.16em;margin-bottom:8px}.message-badge{margin-left:auto;font:9px monospace;letter-spacing:.15em;border:1px solid #3f526e;border-radius:5px;padding:5px 9px;color:#99d8dc}.message-video-wrap{--video-height:72dvh;--video-ratio:.741935484;position:relative;width:min(100%,calc(var(--video-height)*var(--video-ratio)));max-width:100%;margin-inline:auto;border:1px solid #465374;background:#02040a;border-radius:15px;overflow:hidden;box-shadow:0 18px 65px #0005}.message-video-wrap video{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;background:#02040a}.message-video-wrap p{padding:18px 22px;margin:0;background:#222940;color:#e7d6dc;font-size:13px}.message-caption{text-align:center;font-size:13px;color:#b4bdd6;margin:15px 0 28px}.message-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px}.message-actions .btn{background:#baa5ff;color:#13182e;border-radius:8px;box-shadow:none}.message-actions .btn:hover{background:#cdbcff}.message-actions .btn.secondary{background:#19283c;border:1px solid #526078;color:#b7dfd8}.message-help{text-align:center;font-size:12px;line-height:1.8;color:#8b9cba;margin:22px 0 0}.message-actions [hidden],.message-video-wrap [hidden]{display:none!important}.task-toolbar{flex-wrap:wrap}.message-opened .message-footer{margin-top:auto}
@keyframes message-pulse{0%,22%,100%{opacity:.4;transform:scale(1)}6%{opacity:1;transform:scale(1.06)}14%{opacity:.7;transform:scale(1.02)}}
@keyframes message-nudge{0%,16%,100%{translate:0}4%{translate:0 -3px}8%{translate:0}12%{translate:0 -2px}}
@media(max-width:500px){.message-screen{padding-left:20px;padding-right:20px}.message-status{font-size:8px;letter-spacing:.08em}.message-status .text-link{font-size:10px}.message-notification{gap:12px;padding:16px}.message-notification>.pixel-sprite{width:55px}.message-notification strong{font-size:16px}.message-notification span span{font-size:11px}.message-waiting{padding:45px 0 30px}.message-waiting .section-kicker{font-size:8px}.message-thread{padding:16px 0}.message-actions .btn{flex:1;font-size:11px;padding:14px 16px;white-space:normal}.message-video-wrap{--video-height:68dvh}.message-caption{margin:12px 0 14px}.message-help{font-size:11px}.message-sender{margin-bottom:14px}.message-sender>.pixel-sprite{width:48px}}
@media(max-height:600px) and (min-width:650px){.message-waiting{padding:20px 0}.message-orbit{width:55px;height:55px;border-radius:15px}.message-orbit>span{font-size:26px}.message-orbit i{display:none}.message-waiting .section-kicker{margin-top:20px}.message-waiting h1{font-size:32px}.message-waiting>p{margin-bottom:18px}.message-notification{padding:12px}.message-notification>.pixel-sprite{width:48px}.message-thread{max-width:600px;padding:15px 0}.message-sender{margin-bottom:12px}.message-sender>.pixel-sprite{width:45px}.message-video-wrap{--video-height:62dvh}.message-caption{margin:10px 0}.message-help{margin-top:12px}}

/* Replay stays on the picture; the native player controls return during playback. */
.message-status-actions{display:flex;align-items:center;gap:8px}.message-status .game-fullscreen{min-height:36px;color:#c7b6ff}:fullscreen .game-fullscreen{display:none}
.message-video-surface{position:relative}.message-video-replay{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#02040a38;color:#fff;font-size:12px;text-shadow:0 2px 8px #000;cursor:pointer}.message-play-circle{display:grid;place-items:center;width:76px;height:76px;padding-left:5px;border:1px solid #ffffff66;border-radius:50%;background:#efecffed;color:#17162b;font-size:29px;text-shadow:none;box-shadow:0 6px 30px #0005}.message-video-replay:hover .message-play-circle{background:#fff;transform:scale(1.04)}.message-video-replay:focus-visible{outline-offset:-5px}
@media(max-width:500px){.message-status-actions{gap:2px}.message-status .game-fullscreen{font-size:9px}.message-help{margin-top:16px}}

@media(max-width:500px) and (max-height:700px){.message-video-wrap{--video-height:54dvh}.message-thread{padding:10px 0}.message-sender>.pixel-sprite{width:42px}.message-caption{margin:10px 0}.message-help{margin-top:12px}}

/* A single illustrated cover for phones; desktop composition stays unchanged. */
@media(max-width:700px){
  .hero{display:block;min-height:0;margin-top:16px;padding:24px 20px 20px;border-radius:12px;background:#080e20}
  .hero-background{inset:0 0 auto auto;width:155%;max-width:none;height:auto;object-fit:contain;object-position:right top;mask-image:linear-gradient(#000 0%,#000 83%,transparent 100%)}
  .hero:before{inset:0 0 auto;height:215px;background:linear-gradient(90deg,#0409189c,#04091830 72%,transparent)}
  .hero:after{background:none}
  .hero-copy{position:relative;max-width:none;padding:0}
  .hero .eyebrow{font-size:8px;letter-spacing:.12em;margin-bottom:16px;text-shadow:0 1px 7px #000}
  .hero h1.adventure-title{font-size:clamp(56px,17vw,92px);line-height:.91;margin-bottom:12px;text-shadow:0 3px 22px #050812}
  .hero h1 em{font-size:1.12em;color:#c6b4ff;text-shadow:0 2px 18px #080d20}
  .title-caption{font-size:8px;letter-spacing:.24em;margin:0;color:#ffdb9e;text-shadow:0 2px 8px #000}
  .hero-copy>.hero-description{font-size:14px;line-height:1.6;margin:clamp(145px,40vw,280px) 0 18px;color:#e0e4f3;text-shadow:0 2px 12px #030817}
  .hero .button-row{gap:10px}
  .hero .button-row .btn{width:100%;min-height:48px;padding:13px 14px;font-size:12px;border-radius:7px}
  .hero .button-row .btn.secondary{min-height:44px;font-size:11px;background:#111b32a8;border-color:#7281a7}
  .hero-copy>.quiet{font-size:9px;text-align:center;margin:13px 0 0;color:#b2c2db}
  .hero-meta{justify-content:space-between;gap:8px;flex-wrap:nowrap;margin:20px 0 0;padding-top:17px;border-top:1px solid #7285ad33}
  .hero-meta>span{font-size:16px;gap:6px}
  .hero-meta>span>span{font-size:8px;letter-spacing:.04em}
  .hero-meta small{font-size:7px}
  .hero-scene{position:static;height:auto;margin:0}
  .incoming-card{position:absolute;top:calc((90vw - 2px)*1.033333 - 48px);right:15px;width:auto;max-width:225px;padding:7px 10px;gap:7px;border-radius:9px;background:#0b1327d9;box-shadow:0 5px 22px #0005;backdrop-filter:blur(8px)}
  .incoming-card>.pixel-sprite{width:32px;border-radius:5px}
  .incoming-card .section-kicker{font-size:5px;letter-spacing:.12em;margin-bottom:4px}
  .incoming-card strong{font-size:10px}
  .incoming-card p,.incoming-card .signal-wave{display:none}
  .scene-caption{position:static;display:block;margin-top:16px;text-align:center;font-size:20px;line-height:1.15;color:#c5b4e8}
}
@media(max-width:370px){
  .hero{padding:22px 16px 18px}
  .hero h1.adventure-title{font-size:56px}
  .hero-copy>.hero-description{margin-top:130px;font-size:13px}
  .hero .button-row .btn{font-size:11px}
  .hero-meta>span{font-size:14px;gap:5px}
  .hero-meta>span>span{font-size:7px}.hero-meta small{font-size:6px}
}

/* Mikyho fyzicko-digitálna misia: mobilný displej s obnovou linky. */
main.signal-mode{position:fixed;inset:0;z-index:30;padding:0;background:#080d1d;overflow-y:auto;overscroll-behavior:contain}
.signal-screen{min-height:100dvh;display:flex;flex-direction:column;padding:18px max(20px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom));background:radial-gradient(ellipse at 50% 35%,#202a4f,transparent 65%),#080d1d;color:#edf1ff}
.signal-header{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border-bottom:1px solid #32415d;padding:0 0 14px}.signal-header .section-kicker{font-size:9px;margin:0;color:#a2b5d4}.signal-header .text-link{min-height:44px;font-size:12px}.signal-content{width:min(100%,560px);margin:auto;align-self:center;padding:32px 0;text-align:center}.signal-content h1{font-size:clamp(24px,5vw,36px);line-height:1.25;letter-spacing:.02em;margin:14px 0 20px;color:#eef5ff}.signal-content p{font-size:15px;line-height:1.75;color:#b9c9e1}.signal-content>.signal-avatar{width:135px;display:block;margin:0 auto 24px;border-radius:10px}.signal-content .eyebrow{justify-content:center;font:10px monospace;letter-spacing:.12em;color:#9fe4dc}.signal-form{display:flex;flex-direction:column;gap:16px;max-width:400px;margin:28px auto 0}.signal-form label{font-size:12px;color:#b9c9e1}.signal-form #answer{display:block;width:100%;min-height:76px;text-align:center;font:32px monospace;letter-spacing:.2em;border:2px solid #647da8;border-radius:8px;background:#101b32;color:#fff;padding:14px 10px}.signal-form #answer:focus{outline:2px solid #9ee8de;outline-offset:4px}.signal-form .btn{white-space:normal;min-height:54px}.signal-content .feedback{color:#ffd3b3;min-height:24px}.signal-content .hint-box{text-align:left;background:#121e35;border-color:#3b4d70;padding:12px 18px}.signal-content .hint-box p{font-size:13px}.signal-footer{text-align:center;font-size:11px;color:#93a8c8;padding:20px 0 0}.signal-connected.success-card{max-width:none;border:0;border-radius:0;margin:0;box-shadow:none}.signal-duo{display:flex;align-items:center;justify-content:center;margin:30px 0 16px;gap:12px}.signal-person{width:38%;min-width:0;display:flex;flex-direction:column;align-items:center}.signal-person>.pixel-sprite{display:block;width:100%;max-width:180px;border-radius:8px}.signal-person strong{font-size:17px;margin-top:10px;color:#edf1ff}.signal-person small{font-size:11px;color:#a3b8d7;margin-top:6px}.connection-line{flex:1;display:flex;align-items:center;color:#a6f4df;filter:drop-shadow(0 0 6px #6dcbbf)}.connection-line span{height:2px;background:#a2ecdf;flex:1}.connection-line i{font-style:normal;font-size:21px;padding:0 4px}.signal-intro{margin-bottom:20px}.signal-audio-controls{display:grid;grid-template-columns:1fr;gap:14px}.signal-audio-controls .btn:first-child{grid-column:1/-1}.signal-audio-controls .btn{white-space:normal;min-height:52px}.signal-audio-controls .text-link{min-height:48px}.signal-content #miky-audio-status{font-size:12px;min-height:42px;margin:14px 0 22px}.signal-transcript{text-align:left;border:1px solid #4a6083;border-radius:8px;background:#111e33;margin:18px 0 24px}.signal-transcript summary{padding:16px;cursor:pointer;min-height:50px;font-size:13px;color:#d2dff4}.signal-transcript>div{padding:0 18px 16px}.signal-transcript p{font-size:14px}.signal-reward{display:flex;flex-direction:column;align-items:center;margin:22px 0 28px;padding-top:22px;border-top:1px solid #334866}.signal-reward>span{font:9px monospace;letter-spacing:.12em;color:#9aacc7}.signal-reward strong{display:grid;place-items:center;width:52px;height:52px;margin:14px;border:1px solid #7d8cae;border-radius:5px;font:27px monospace;color:#ffe0a4}.signal-reward small{font-size:11px;color:#a1b5d3}.signal-content>[data-action="next"]{width:100%;min-height:54px;white-space:normal}.is-speaking .connection-line{animation:miky-signal 1.2s ease-in-out infinite}.is-speaking .miky-speaker>.pixel-sprite{outline:2px solid #a1e7d5;outline-offset:4px}.signal-header+.signal-content{flex:initial}.signal-connected .signal-content{padding-top:25px}
@keyframes miky-signal{50%{opacity:.45;filter:drop-shadow(0 0 14px #a1f4e3)}}
@media(max-width:360px){.signal-screen{padding-inline:16px}.signal-header .section-kicker{font-size:7px}.signal-header .text-link{font-size:10px}.signal-content{padding-top:24px}.signal-content h1{font-size:24px}.signal-duo{gap:6px}.signal-audio-controls{gap:10px}.signal-audio-controls .btn,.signal-content>[data-action="next"]{font-size:12px}.signal-person small{font-size:10px}}
@media(prefers-reduced-motion:reduce){.is-speaking .connection-line{animation:none}}

/* Direct task checks; narrative and preparation remain in the StoryBoard. */
.signal-stage-result.success-card{max-width:none;border:0;border-radius:0;margin:0;box-shadow:none}.signal-task .signal-form #answer{font-size:24px;letter-spacing:.04em}.signal-task .signal-form #answer::placeholder{font-size:17px;letter-spacing:0;color:#94a7c6}.signal-task-icon{font-size:60px;line-height:1;margin:20px 0 30px;color:#bdaaff}.signal-symbols{margin:28px 0}.signal-symbols .symbol-buttons{display:flex;justify-content:center;gap:15px}.signal-symbols .symbol-btn{width:70px;min-height:64px}.signal-symbols .sequence{min-height:60px;margin:18px 0;font-size:28px}.signal-symbols .button-row{justify-content:center;gap:15px}.signal-symbols .btn{white-space:normal}.signal-content .stage-transition{margin:0 0 26px;font-size:14px;line-height:1.8}

/* Keep the active answer above the mobile keyboard; titles are programmatic focus targets. */
.signal-content h1:focus{outline:none}
main.signal-mode.is-entering-answer{top:var(--answer-viewport-top,0px);bottom:auto;height:var(--answer-viewport-height,100dvh)}
.is-entering-answer .signal-screen{padding-bottom:var(--answer-viewport-height,100dvh)}

/* The written story stays readable without opening any media or transcript. */
.signal-content .quest-story{max-width:620px;margin:24px auto;text-align:left}
.signal-content .quest-story p{font:400 16px/1.8 var(--font-body,Arial,sans-serif);color:#d8e3f2;margin:0 0 16px}
.signal-content .quest-story p:last-child{margin-bottom:0}
.signal-content .task-question{border-top:1px solid #34435d;padding-top:20px;text-align:left;color:#e4ecf9;line-height:1.7}
.signal-content .answer-prompt{font-size:14px;color:#aebed5;margin-top:18px}

/* Miky's phone screens are compact terminals; the full story stays on paper. */
.signal-screen.signal-restore,.signal-screen.signal-connected{padding:12px max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
.signal-restore .signal-header,.signal-connected .signal-header{padding-bottom:6px}
.signal-restore .signal-content,.signal-connected .signal-content{width:min(100%,480px);margin:auto;padding:16px 0;display:flex;flex-direction:column;align-items:center;gap:10px}
.signal-restore .signal-content h1,.signal-connected .signal-content h1{font-size:clamp(21px,5.4vw,32px);margin:0;line-height:1.2}
.signal-restore .quest-party{margin:0 0 12px}
.signal-restore .quest-party figcaption{display:none}
.signal-restore .party-sprite,.signal-restore .party-current .party-sprite{width:clamp(72px,16dvh,120px);height:clamp(72px,16dvh,120px);outline:none}
.signal-restore .party-lineup{align-items:center;gap:24px}
.signal-restore .signal-form{width:100%;margin:12px 0 0;gap:12px}
.signal-restore .signal-form #answer{min-height:64px;font-size:28px}
.signal-restore .signal-form .btn{min-height:48px}
.signal-restore .feedback{margin:0;font-size:13px;line-height:1.4;min-height:36px}
.signal-connected .signal-content{gap:8px;padding:12px 0}
.signal-connected .signal-duo{width:100%;justify-content:center;align-items:center;gap:12px;margin:4px 0}
.signal-connected .signal-person{width:clamp(72px,14dvh,116px);gap:6px}
.signal-connected .signal-person>.pixel-sprite{width:100%;max-width:none;aspect-ratio:1;animation:none;transform:none;margin:0}
.signal-connected .signal-person strong{font-size:13px;line-height:1.3;margin:0}
.signal-connected .connection-line{max-width:72px}
.signal-connected .connection-message{font-size:14px;line-height:1.45;margin:0;max-width:420px}
.signal-connected .signal-audio-controls{width:100%;gap:0}
.signal-connected .signal-audio-controls .btn{min-height:46px;padding:10px 14px;font-size:13px}
.signal-connected #miky-audio-status{margin:0;font-size:11px;line-height:1.4;min-height:16px}
.signal-connected .miky-transcript-link{min-height:36px;padding:6px 10px;font-size:11px}
.signal-connected .signal-reward{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:12px;width:100%;margin:0;padding:12px;border:1px solid #647da8;border-radius:8px;background:#15233c;text-align:left}
.signal-connected .signal-reward strong{width:48px;height:48px;margin:0;font:32px/1 monospace;color:#ffe0a4;border-color:#95835e}
.signal-connected .signal-reward span{display:block;font:9px/1.4 monospace;letter-spacing:.08em;color:#b9c9e1}
.signal-connected .signal-reward small{display:block;font-size:13px;line-height:1.45;color:#edf1ff;margin-top:4px}
.miky-message-reading h2{font-size:26px}
.miky-message-reading p{font-size:15px;line-height:1.6}
@media(max-height:700px){
 .signal-screen.signal-restore,.signal-screen.signal-connected{padding-top:8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
 .signal-restore .signal-content,.signal-connected .signal-content{gap:6px;padding:8px 0}
 .signal-connected .signal-reward{padding:10px}
}
@media(min-width:601px) and (max-height:500px){
 .signal-restore .signal-content{display:grid;grid-template-columns:200px minmax(0,1fr);gap:8px 24px;width:min(100%,760px)}
 .signal-restore .quest-party{grid-column:1;grid-row:1 / 4;margin:0}
 .signal-restore .signal-content h1{grid-column:2;grid-row:1}
 .signal-restore .signal-form{grid-column:2;grid-row:2;margin:0;gap:8px}
 .signal-restore .feedback{grid-column:2;grid-row:3;min-height:20px}
 .signal-restore .party-sprite,.signal-restore .party-current .party-sprite{width:72px;height:72px}
 .signal-connected .signal-content{display:grid;grid-template-columns:220px minmax(0,1fr);grid-template-areas:"heading heading" "party message" "party audio" "party status" "party reward" "party read";gap:6px 24px;width:min(100%,760px)}
 .signal-connected h1{grid-area:heading}
 .signal-connected .signal-duo{grid-area:party}
 .signal-connected .connection-message{grid-area:message}
 .signal-connected .signal-audio-controls{grid-area:audio}
 .signal-connected #miky-audio-status{grid-area:status}
 .signal-connected .signal-reward{grid-area:reward}
 .signal-connected .miky-transcript-link{grid-area:read}
 .signal-connected .signal-person{width:78px}
}
.message-reading{overflow-y:auto;min-height:0}
.message-reading .quest-story{max-width:680px;margin:18px auto;text-align:left}
.message-reading .quest-story p{font-size:16px;line-height:1.8;color:#e4ecf9;margin:0 0 18px}
.message-actions{flex-wrap:wrap}
.message-reading .message-actions{flex-shrink:0;padding-bottom:12px}
.message-waiting>[data-action="read-message"]{margin-top:16px;min-height:44px}
@media(max-width:600px){
 .signal-content .quest-story{margin:22px 0}
 .signal-content .quest-story p,.message-reading .quest-story p{font-size:15px;line-height:1.8}
 .message-reading{padding:18px 20px}
 .message-reading .message-sender{gap:10px}
 .message-reading .message-sender h1{font-size:24px}
 .message-actions .btn{min-height:44px;flex:1 1 140px}
}

/* A compact introduction keeps Piko's story and the video action together. */
.message-introduction{max-width:620px;padding:16px 0;text-align:left}
.message-introduction .message-sender{margin-bottom:18px;gap:12px}
.message-introduction .message-sender .section-kicker{margin:0 0 6px}
.message-introduction .message-sender h1{font-size:clamp(23px,4vw,32px);margin:0}
.message-introduction .message-sender>.pixel-sprite{width:64px}
.message-introduction .quest-story p{font-size:16px;line-height:1.6;color:#e4ecf9;margin:0 0 14px}
.message-introduction .message-actions{margin-top:18px;gap:8px}
.message-introduction .message-notification{justify-content:center;text-align:center;min-height:48px;padding:12px 18px;border:0;font-size:14px;animation:none}
.message-introduction .message-actions>.text-link{min-height:44px;color:#b7dfd8}
.message-incoming .message-sound{min-height:44px;margin:0}
.message-transcript p{color:#e4ecf9;font-size:16px;line-height:1.6;margin:0 0 12px}
.message-opened .message-thread:not(.message-reading){display:flex;flex-direction:column;gap:12px;padding:12px 0}
.message-opened .message-thread:not(.message-reading) .message-sender{margin:0}
.message-opened .message-video-wrap{--video-height:calc(100dvh - 330px);flex-shrink:0}
.message-opened .message-caption{max-width:440px;align-self:center;font-size:13px;line-height:1.5;margin:0;color:#c6d2e8}
.message-opened .message-actions .btn{flex:1 1 0;min-width:0;min-height:44px;padding:12px 10px;font-size:12px}
.piko-media-preview video{display:block;width:auto;max-width:100%;max-height:calc(90dvh - 230px);margin:0 auto;object-fit:contain}
.piko-media-preview .preview-message-instructions{font-size:13px;line-height:1.5;margin:14px 0 0}
.piko-media-preview .preview-media-status:empty{display:none}
@media(max-width:600px){
 .message-introduction{padding:10px 0}
 .message-introduction .message-sender>.pixel-sprite{width:48px}
 .message-introduction .quest-story p{font-size:15px;line-height:1.5;margin-bottom:12px}
 .message-introduction .message-actions{display:grid;grid-template-columns:1fr;margin-top:12px;gap:0}
 .message-introduction .message-actions>.btn{font-size:13px}
 .message-opened .message-thread:not(.message-reading){gap:10px;padding:8px 0}
 .message-opened .message-video-wrap{--video-height:calc(100dvh - 350px)}
}
@media(max-width:600px) and (max-height:700px){
 .message-screen{padding-top:max(10px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom));padding-inline:16px}
 .message-introduction .message-sender{margin-bottom:10px}
 .message-introduction .message-sender h1{font-size:22px}
 .message-introduction .quest-story p{font-size:14px;line-height:1.45;margin-bottom:9px}
 .message-introduction .message-actions{margin-top:8px}
 .message-incoming .message-sound{min-height:36px;font-size:10px}
 .message-incoming .message-footer{padding-top:0}
 .message-footer{padding-top:6px}
 .message-opened .message-video-wrap{--video-height:calc(100dvh - 340px)}
}
@media(min-width:601px) and (max-height:500px){
 .message-screen{padding-block:10px}
 .message-introduction{display:grid;grid-template-columns:210px 1fr;gap:12px 24px;max-width:900px;padding:8px 0}
 .message-introduction .message-sender{grid-column:1;grid-row:1;margin:0;align-self:end}
 .message-introduction .message-sender h1{font-size:22px}
 .message-introduction .message-sender>.pixel-sprite{width:48px}
 .message-introduction .quest-story{grid-column:2;grid-row:1 / 3}
 .message-introduction .quest-story p{font-size:14px;line-height:1.45;margin-bottom:10px}
 .message-introduction .message-actions{grid-column:1;grid-row:2;margin:0;gap:0;align-self:start}
 .message-introduction .message-actions .btn{flex-basis:100%;font-size:12px}
 .message-introduction .message-actions>.text-link{min-height:44px}
 .message-incoming .message-sound{min-height:36px}
 .message-footer{padding-top:6px}
 .message-opened .message-thread:not(.message-reading){display:grid;grid-template-columns:180px 1fr;gap:12px 24px;max-width:680px;padding:8px 0}
 .message-opened .message-thread:not(.message-reading) .message-sender{grid-column:2;grid-row:1}
 .message-opened .message-video-wrap{grid-column:1;grid-row:1 / 4;--video-height:calc(100dvh - 110px)}
 .message-opened .message-caption{grid-column:2;grid-row:2}
 .message-opened .message-thread:not(.message-reading) .message-actions{grid-column:2;grid-row:3}
 .message-reading{padding:8px 0}
 .message-reading .message-sender{margin-bottom:10px}
 .message-transcript p{font-size:15px;line-height:1.4;margin-bottom:6px}
}

/* Plugy: the paper values light a five-column, seven-row stone lock. */
.signal-screen.plugy-screen{padding:8px max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
.plugy-screen .signal-header{padding-bottom:4px}
.plugy-screen .signal-header .section-kicker{font-size:8px}
.plugy-screen .signal-content{width:min(100%,480px);display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 0;margin:auto}
.plugy-screen .signal-content h1{font-size:clamp(21px,5.5vw,30px)!important;line-height:1.2;margin:0}
.plugy-screen .signal-content>.quest-party{margin:0}
.plugy-screen .quest-party figcaption{display:none}
.plugy-screen .party-lineup{gap:12px;flex-wrap:nowrap;align-items:center}
.plugy-screen .party-person{min-width:0;font-size:11px;gap:4px}
.plugy-screen .party-sprite,.plugy-screen .party-current .party-sprite{width:clamp(44px,9dvh,72px);height:clamp(44px,9dvh,72px);outline:none}
.plugy-screen .signal-content p{font-size:14px;line-height:1.45;margin:0}
.plugy-lock .plugy-welcome{max-width:430px}
.plugy-screen #plugy-instruction{color:#edf1ff;max-width:420px}
.plugy-screen #plugy-instruction small{display:block;font-size:11px;color:#a8bbd5;margin-top:4px}
.plugy-grid{--cell-size:clamp(32px,5.7dvh,44px);display:grid;grid-template-columns:repeat(5,var(--cell-size));grid-template-rows:repeat(7,var(--cell-size));gap:4px;padding:10px;background:#0c1427;border:1px solid #576584;border-radius:12px;box-shadow:0 10px 40px #0003}
.plugy-cell{display:grid;place-items:center;padding:0;border:1px solid #62718e;border-radius:5px;background:linear-gradient(#29364e,#1c273c);color:#e7edf8;font:600 20px/1 monospace;box-shadow:0 2px 0 #060d1c;transition:background .15s,color .15s,box-shadow .15s}
.plugy-cell[aria-pressed="true"]{color:#14251f;background:#a7f2ce;border-color:#d4ffe8;box-shadow:0 0 10px #7ce8b655,inset 0 0 8px #dcffec}
.plugy-screen .plugy-hint{min-height:32px;padding:4px 8px;font-size:11px}
.plugy-unlock{display:flex;gap:12px;align-items:center;color:#a7f2ce;font:10px/1.4 monospace;letter-spacing:.08em}
.plugy-unlock>span:last-child{display:flex;flex-direction:column;text-align:left}
.plugy-unlock strong{font:600 30px/1.2 monospace;color:#dbffe8}
.plugy-unlock-sign{display:grid;grid-template-columns:repeat(5,5px);grid-template-rows:repeat(7,5px);gap:2px}
.plugy-unlock-sign i{background:#27394b;border-radius:1px}
.plugy-unlock-sign i.lit{background:#a7f2ce;box-shadow:0 0 5px #a7f2ce66}
.plugy-party-scene{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:contain;border:1px solid #405474;border-radius:10px;background:#fff}
.plugy-message{width:100%}
.plugy-connected .signal-audio-controls .btn{width:100%;min-height:44px;font-size:13px}
.plugy-screen #plugy-audio-status{font-size:11px;margin:4px 0;min-height:16px}
.plugy-message>.text-link{font-size:11px;min-height:32px;padding:4px 8px}
.plugy-connected .signal-reward{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:12px;width:100%;margin:0;padding:10px 12px;border:1px solid #647da8;border-radius:8px;background:#15233c;text-align:left}
.plugy-connected .signal-reward strong{width:48px;height:48px;margin:0;font:32px/1 monospace}
.plugy-connected .signal-reward span{font:9px/1.4 monospace;letter-spacing:.08em;color:#b9c9e1}
.plugy-connected .signal-reward small{display:block;margin-top:4px;font-size:13px;line-height:1.4;color:#edf1ff}
.plugy-screen .signal-content>[data-action="next"]{min-height:44px;padding:10px 14px;font-size:13px}
@media(max-height:720px){
 .plugy-screen .signal-content{gap:7px;padding:8px 0}
 .plugy-screen .party-sprite,.plugy-screen .party-current .party-sprite{width:46px;height:46px}
 .plugy-screen .signal-content p{font-size:12px;line-height:1.4}
 .plugy-grid{--cell-size:32px;gap:3px;padding:8px}
 .plugy-screen .plugy-hint{min-height:28px}
 .plugy-party-scene{max-width:360px}
 .plugy-connected .signal-reward{padding:8px 10px}
}
@media(orientation:landscape) and (max-height:580px) and (min-width:640px){
 .plugy-lock .signal-content{width:min(100%,800px);display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"party grid" "heading grid" "welcome grid" "instruction grid" "hint grid";gap:7px 24px;justify-items:center}
 .plugy-lock .quest-party{grid-area:party}.plugy-lock h1{grid-area:heading}.plugy-lock .plugy-welcome{grid-area:welcome}.plugy-lock #plugy-instruction{grid-area:instruction}.plugy-lock .plugy-grid{grid-area:grid}.plugy-lock .plugy-hint{grid-area:hint}
}
@media(orientation:portrait) and (max-height:600px){
 .signal-screen.plugy-screen{padding-top:4px;padding-bottom:8px}
 .plugy-screen .signal-header .text-link{min-height:36px}
 .plugy-screen .signal-content{gap:5px;padding:6px 0}
 .plugy-screen .party-sprite,.plugy-screen .party-current .party-sprite{width:40px;height:40px}
 .plugy-grid{padding:6px}
 .plugy-party-scene{max-width:290px}
 .plugy-screen .signal-content h1{font-size:20px!important}
}

/* Leave the discovered nine on the lock for 2.5 seconds before opening the bridge. */
.plugy-grid.is-unlocking .plugy-cell:disabled{opacity:1;color:transparent;cursor:default;transition:none}
.plugy-grid.is-unlocking .plugy-cell[aria-pressed="true"]{animation:plugy-nine-blink .8s ease-in-out 3}
.plugy-grid.is-unlocking .plugy-cell[aria-pressed="false"]{opacity:.18}
@keyframes plugy-nine-blink{0%,100%{opacity:1;box-shadow:0 0 14px #7ce8b677}50%{opacity:.3;box-shadow:none}}
@media(prefers-reduced-motion:reduce){.plugy-grid.is-unlocking .plugy-cell[aria-pressed="true"]{animation:none}}

.plugy-screen .plugy-thanks{max-width:440px;color:#d8e9f5;font-size:14px;line-height:1.45}
@media(max-height:720px){.plugy-screen .plugy-thanks{font-size:12px}}

/* A single rhythm for the bridge celebration, message and keepsake. */
.plugy-connected .signal-content{gap:16px;padding:20px 0}
.plugy-result-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;text-align:left}
.plugy-result-heading h1{max-width:260px;letter-spacing:-.03em}
.plugy-connected .plugy-unlock{flex-shrink:0;gap:8px;padding:10px;border:1px solid #86dfbc40;border-radius:12px;background:#8fdfba0a;font-size:8px;letter-spacing:.03em}
.plugy-connected .plugy-unlock strong{font-size:24px}
.plugy-connected .plugy-unlock-sign{grid-template-columns:repeat(5,3px);grid-template-rows:repeat(7,3px);gap:1px}
.plugy-celebration{width:100%;overflow:hidden;border:1px solid #405474;border-radius:16px;background:rgb(0 0 0 / 25%)}
.plugy-connected .plugy-party-scene{width:100%;max-width:none;border:0;border-radius:0;background:transparent}
.plugy-connected .plugy-thanks{max-width:none;padding:14px 16px;text-align:left}
.plugy-connected .plugy-message{padding:16px 16px 4px;border:1px solid #8675bc55;border-radius:16px;background:linear-gradient(145deg,#272340,#192238)}
.plugy-connected .signal-audio-controls{margin:0}
.plugy-connected .signal-audio-controls .btn{min-height:50px;border-radius:10px;font-size:14px}
.plugy-connected #plugy-audio-status{font-size:11px;line-height:1.5;min-height:18px;margin:10px 0 0;color:#bdc7dd}
.plugy-connected .plugy-message>.text-link{min-height:44px;font-size:12px;text-underline-offset:4px}
.plugy-connected .signal-reward{padding:14px 16px;gap:14px;border-color:#f0c88055;border-radius:16px;background:linear-gradient(110deg,#f3c77b12,#17233a 70%)}
.plugy-connected .signal-reward strong{display:grid;place-items:center;border:1px solid #f0c88066;border-radius:10px;background:#f3c77b0a;color:#ffd494}
.plugy-connected .signal-reward span{color:#e9c992}
@media(max-width:380px){
 .plugy-result-heading{gap:10px}
 .plugy-connected .plugy-unlock{padding:8px;gap:6px;font-size:7px}
}
@media(max-height:720px){
 .plugy-connected .signal-content{gap:8px;padding:8px 0}
 .plugy-connected .plugy-thanks{padding:10px 12px}
 .plugy-connected .plugy-message{padding:12px 12px 0}
 .plugy-connected .signal-reward{padding:10px 12px}
}
@media(orientation:landscape) and (max-height:580px) and (min-width:640px){
 .plugy-connected .signal-content{width:min(100%,800px);display:grid;grid-template-columns:1fr 1fr;gap:6px 20px;padding:2px 0}
 .plugy-connected .plugy-result-heading{grid-column:1/-1}
 .plugy-connected .plugy-result-heading h1{max-width:none}
 .plugy-connected .plugy-unlock{padding:8px}
 .plugy-connected .plugy-celebration{grid-column:1;grid-row:2/4;align-self:center}
 .plugy-connected .plugy-message{grid-column:2;grid-row:2}
 .plugy-connected .signal-reward{grid-column:2;grid-row:3}
 .plugy-connected .plugy-party-scene{max-width:none}
}

/* Čipko: four small touch games and a persistent paper-code strip. */
.cipko-screen .signal-content{max-width:480px;padding-inline:20px}
.cipko-screen .pixel-sprite{width:64px;height:64px;margin:0 auto 12px;display:block}
.cipko-screen h1{font-size:clamp(25px,7vw,34px);margin:10px 0 14px;text-align:center}
.cipko-screen p{text-align:center;line-height:1.5}
.cipko-round{color:#8ce9e0;font:700 12px monospace;letter-spacing:2px}
.cipko-instruction{font-size:17px;min-height:50px}
.cipko-pixels,.cipko-memory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0}
.cipko-screen button{touch-action:manipulation}
.cipko-pixel,.cipko-card{min-height:60px;border:1px solid #46768a;border-radius:16px;background:#152c44;color:#82f7e3;font-size:36px;box-shadow:inset 0 0 20px #24e9db13}
.cipko-pixel{font-size:25px;color:#fff4a9;text-shadow:0 0 18px #ffc65b}
.cipko-pixel.collected{color:#82f7e3;opacity:.4;text-shadow:none}
.cipko-card{height:68px;color:#c6d4e8}
.cipko-card.flipped{background:#28485c;color:#ffe398}
.cipko-card.matched{background:#11493f;color:#9df6cf;opacity:.65}
.cipko-digits{display:flex;gap:8px;padding:0;margin:24px 0;list-style:none;justify-content:center}
.cipko-digits li{width:70px;background:#13273c;border:1px solid #3c6279;border-radius:10px;text-align:center;padding:8px 0}
.cipko-digits small{display:block;font-size:11px;color:#b2c5d8}
.cipko-digits strong{display:block;font:700 28px monospace;color:#ffe2a2}
.cipko-prize{display:block;font:700 86px monospace;color:#ffe2a2;margin:16px}
.cipko-win{text-align:center}
.cipko-status{font-size:14px;color:#b9e7dd;min-height:42px}
.cipko-jigsaw{display:flex;align-items:center;justify-content:center;gap:16px;margin:18px 0}
.cipko-reference{width:76px;height:76px;object-fit:contain;background:white;border-radius:8px}
.cipko-slots{display:grid;grid-template-columns:repeat(3,1fr);width:220px;aspect-ratio:1}
.cipko-slot,.cipko-tile{padding:0;border:2px dashed #668497;background:#1d3349;position:relative;aspect-ratio:1;overflow:hidden;color:#b3c9d9;font:24px monospace}
.cipko-slot.placed{border:1px solid #90b5bb;background:white}
.cipko-piece{display:block;width:100%;height:100%;background:white url('assets/characters/cipko.png') var(--piece-x) var(--piece-y)/300% 300% no-repeat}
.cipko-tray{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:234px;margin:auto;min-height:76px}
.cipko-tile{border:3px solid #658da3;border-radius:8px;cursor:grab;touch-action:none}
.cipko-tile.selected{border-color:#ffe398;outline:2px solid #ffe398;outline-offset:2px}
.cipko-pipes{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin:0;position:relative}
.cipko-pipe{display:block;aspect-ratio:1;background:#183343;border:1px solid #456579;border-radius:8px;padding:0;overflow:hidden}
.cipko-pipe.movable{border:2px solid #e0b76b;background:#243e4c}
.cipko-pipe svg{width:100%;height:100%;display:block}
.cipko-pipe path{fill:none;stroke:#8ff9e4;stroke-width:12;stroke-linejoin:round}
.cipko-screen .signal-content:has(.cipko-pipes){position:relative}
@media(max-width:360px){.cipko-screen .signal-content{padding-inline:14px}.cipko-slots{width:190px}.cipko-reference{width:60px;height:60px}}
@media(prefers-reduced-motion:no-preference){.cipko-pixel:active,.cipko-card:active{transform:scale(.95)}}
.cipko-screen .cipko-tile{touch-action:none}

.cipko-finished .cipko-digits{gap:10px;margin:28px 0}
.cipko-finished .cipko-digits li{width:78px;padding:12px 0}
.cipko-finished .cipko-digits strong{font-size:42px}
.cipko-finished .cipko-paper-handoff{padding:18px;border:1px solid #6a829d;border-radius:14px;background:#172c43;font-size:18px}

.cipko-pipe-board{position:relative;margin:42px 0 24px;padding-inline:32px}
.cipko-port{position:absolute;top:0;width:32px;height:calc((100% - 6px)/6);color:#c2eadc}
.cipko-inlet{left:0}.cipko-outlet{right:0}
.cipko-port i{display:block;position:absolute;inset-inline:0;bottom:-7px;height:14px;background:#8ff9e4;box-shadow:0 0 8px #8ff9e440}
.cipko-port span{position:absolute;top:-28px;left:0;font:700 10px/1.4 monospace;white-space:nowrap}
.signal-content .phone-away{color:#c2eadc}
.signal-content .task-completion-note,.finale .task-completion-note{font-size:11px;line-height:1.5;font-weight:400;color:#aebcd2;max-width:560px;margin:16px auto 0;text-align:center}
.signal-content #miky-audio-status.audio-status-paused,.signal-content #plugy-audio-status.audio-status-paused,.signal-content #guardy-audio-status.audio-status-paused{position:absolute;width:1px;height:1px;min-height:0;margin:0;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(min-width:601px) and (max-height:500px){
 .signal-connected .signal-content{grid-template-areas:"heading heading" "party message" "party audio" "party status" "party reward" "party read" "note note"}
 .signal-connected .task-completion-note{grid-area:note}
}
@media(orientation:landscape) and (max-height:580px) and (min-width:640px){.plugy-connected .task-completion-note{grid-column:1/-1;grid-row:4}}

.cipko-outlet span{left:auto;right:0;text-align:right}

/* A single farewell, with the whole party as a compact decorative strip. */
.finale .whole-party{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:0 auto 24px;max-width:420px}
.finale .contact{padding:4px;background:transparent;border:0}
.finale .contact .pixel-sprite{width:100%;height:auto;aspect-ratio:1;margin:0}
.finale .contact strong,.finale .contact small{display:none}
.finale .final-icon{font-size:32px;margin:0 0 14px}
.finale .quest-story{max-width:620px;margin:24px auto;text-align:left}
.finale .quest-story p{font-size:16px;line-height:1.7}
.finale-media{max-width:420px;margin:24px auto}
.finale-media video{display:block;width:100%;max-height:65dvh;border-radius:12px;background:#101b32;object-fit:contain}
.finale-media audio{display:block;width:100%;margin-top:12px}
.finale .atlas-invitation{padding:20px;margin:28px auto}
@media(max-width:600px){.finale .whole-party{gap:2px}.finale .contact{padding:1px}.finale h1{font-size:32px}.finale .atlas-invitation>.pixel-sprite{width:56px}}

.guardy-result .quest-party{width:100%}
.guardy-transcript-link{display:block;margin:16px auto;min-height:44px}
.guardy-result [data-action="close-window"]{width:100%;min-height:54px}

/* Matching compact QR entries for the code and final password. */
.signal-screen.code-check-screen{padding:10px max(16px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
.code-check-screen .signal-header{padding-bottom:4px}
.code-check-screen .signal-content{width:min(100%,480px);padding:12px 0;display:grid;gap:12px}
.code-check-screen .signal-content h1{font-size:clamp(21px,5vw,30px);margin:0}
.code-check-party{display:block;width:100%;height:clamp(110px,28dvh,240px);object-fit:contain;background:transparent;border-radius:0}
.code-check-screen .signal-content p{font-size:15px;line-height:1.5;margin:0}
.code-check-screen .signal-form{margin:12px auto 0;gap:10px;max-width:none}
.code-check-screen .signal-form label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.code-check-screen .signal-form #answer{min-height:56px;padding:10px;font-size:28px;letter-spacing:.12em}
.code-check-screen .signal-form .btn{min-height:48px}
.code-check-screen .signal-content .feedback{min-height:24px;margin-top:6px;font-size:13px}
@media(max-height:500px) and (min-width:600px){
 .code-check-screen .signal-content{width:min(100%,800px);grid-template-columns:220px minmax(0,1fr);gap:8px 24px;padding:8px 0}
 .code-check-screen h1{grid-column:1/-1}
 .code-check-party{height:210px;grid-column:1}
 .code-check-entry{grid-column:2;align-self:center}
}


.finale-video-frame{position:relative;overflow:hidden;border-radius:12px}
.finale-end-title{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;color:#fff;font:800 clamp(32px,9vw,58px)/1.1 var(--font-body,Arial,sans-serif);letter-spacing:.12em;text-indent:.12em;text-shadow:0 2px 8px #000,0 0 28px #000}
.finale-end-title[hidden]{display:none}

.finale-screen.finale{box-sizing:border-box;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;height:100dvh;min-height:0;width:100%;max-width:none;margin:0;padding:max(8px,env(safe-area-inset-top)) env(safe-area-inset-right,0px) max(8px,env(safe-area-inset-bottom)) env(safe-area-inset-left,0px);border:0;border-radius:0;background:#080d1d;box-shadow:none;text-align:center}
.finale-screen #finale-title{margin:0;padding:2px 0;font-size:clamp(16px,4vw,26px);line-height:1.25;color:#edf1ff}
.finale-screen .finale-media{width:100%;max-width:none;height:100%;min-height:0;margin:0}
.finale-screen .finale-video-frame{height:100%;min-height:0;border-radius:4px;background:#080d1d}
.finale-screen #finale-video{width:100%;height:100%;max-height:none;object-fit:contain;border-radius:0}
.finale-screen .finale-exit{width:min(calc(100% - 20px),480px);min-height:48px;justify-self:center;margin:0;white-space:normal}
.finale-video-toggle{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:transparent;color:transparent;font-size:0;cursor:pointer;touch-action:manipulation}
.finale-video-toggle::after{content:attr(data-icon);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:76px;height:76px;border:1px solid #b8c5da;border-radius:50%;background:#101b32bf;color:white;font:32px/1 Arial,sans-serif;text-indent:2px;box-shadow:0 0 20px #0005}
.finale-video-toggle:focus-visible{outline:3px solid #a58aff;outline-offset:-3px}
.finale-video-frame[data-playback="playing"] .finale-video-toggle::after{opacity:0}
.finale-video-frame[data-playback="playing"] .finale-video-toggle:focus-visible::after{opacity:.8}
@media(hover:hover){.finale-video-frame[data-playback="playing"] .finale-video-toggle:hover::after{opacity:.8}}
.finale-video-frame[data-playback="ended"] .finale-video-toggle::after{top:auto;bottom:10px;transform:translateX(-50%);width:44px;height:44px;font-size:25px}
.finale-video-frame #finale-video-status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.finale-video-frame[data-playback="error"] #finale-video-status{width:auto;height:auto;inset:20% 12px auto;overflow:visible;clip-path:none;white-space:normal;padding:12px;background:#080d1de6;color:white;font-size:14px;line-height:1.5;pointer-events:none}
.finale-end-title{z-index:1}

.cipko-finish-exit{width:100%;min-height:54px;margin-top:20px}

.finale-video-frame[data-playback="starting"]{background:#080d1d url("assets/finale-production/start-a.png") center/contain no-repeat}
.finale-video-frame[data-playback="starting"] video,.finale-video-frame[data-playback="starting"] .finale-video-toggle{opacity:0;pointer-events:none}
