/* Six separately art-directed worlds. The launcher remains a quiet shared frame. */
.dashboard .featured{height:440px;border-radius:8px;isolation:isolate;background:#131217;overflow:hidden}.dashboard .feature-art{inset:0;z-index:-2;opacity:1!important;animation:none}.world-scene{width:100%;height:100%;object-fit:cover;display:block}.dashboard .feature-copy{width:100%;height:100%;background:none;padding:34px;display:flex;flex-direction:column;align-items:flex-start;position:relative}.dashboard .feature-copy:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#09070dd9,transparent 83%)}.dashboard .feature-copy h2{font-size:clamp(38px,4.2vw,67px);max-width:65%;margin:18px 0 14px}.dashboard .feature-copy>p{max-width:290px;font-size:12px;color:#f1e8dc}.dashboard .feature-meta{font-size:10px;margin-top:16px}.dashboard .feature-actions{margin-top:auto}.dashboard .theme-chip{margin-top:12px;font-size:8px}.dashboard .feature-tag{font-size:9px}.dashboard .feature-pagination{right:20px;bottom:22px}.dashboard .world-name{font-size:10px;letter-spacing:.14em}.dashboard .cover{padding:16px;position:relative;background:#222;color:white;border-radius:5px;height:238px}.dashboard .cover:before{inset:0;width:auto;height:auto;border:0;border-radius:0;opacity:1;background:linear-gradient(180deg,#0007,transparent 40%,#000d);z-index:-1}.dashboard .cover:after{display:none}.cover-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.dashboard .cover strong{font-size:28px;max-width:100%;margin-top:auto;text-shadow:0 2px 12px #0009}.dashboard .cover .cover-symbol{display:none}.dashboard .cover .cover-label{font-size:7px;letter-spacing:.15em}.dashboard .cover small{margin-top:12px;font-size:7px}.dashboard .game-tile{flex-basis:190px}.dashboard .tile-select:hover .cover{transform:translateY(-5px)}
/* MUSEUM: formal exhibition catalogue, velvet and gilded frames. */
body[data-adventure=museum] .featured{border:5px ridge #90713f;box-shadow:inset 0 0 0 2px #ddc080}.dashboard [data-adventure=museum] .cover{border:4px ridge #ac884a;border-radius:0}.dashboard [data-adventure=museum] .cover strong,body[data-adventure=museum] .feature-copy h2,body[data-adventure=museum] .game-body h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em;color:#f5dfa5}.dashboard [data-adventure=museum] .cover strong{font-size:30px}.dashboard [data-adventure=museum] .cover-label{color:#f1d293}.dashboard [data-adventure=museum] .cover:before{background:linear-gradient(180deg,#0b120daa,transparent,#10140ae8)}
body[data-adventure=museum] .feature-copy{padding:35px 35px 26px}body[data-adventure=museum] .feature-tag{border-bottom:1px solid #b8955e;padding-bottom:10px;letter-spacing:.2em;color:#e6c780}body[data-adventure=museum] .feature-copy:before{background:linear-gradient(90deg,#10150bed,transparent 85%)}body[data-adventure=museum] .feature-copy h2{font-size:clamp(40px,4.5vw,67px)}body[data-adventure=museum] .play-primary,body[data-adventure=museum] .game-body .button.blue{border-radius:1px;background:linear-gradient(#e2c081,#9f793d);border:3px double #533b1f;color:#291e10;font:600 12px Georgia,serif;letter-spacing:.05em}body[data-adventure=museum] #game-dialog{border:5px ridge #9d7b45;border-radius:0;background:radial-gradient(ellipse at top,#26372a,#0f1b14)}body[data-adventure=museum] .game-header{background:#162318;border-color:#967846}body[data-adventure=museum] .memory-preview{border:5px double #ac8b58;border-radius:0;background:#e7d9b9;box-shadow:8px 10px 0 #0004}body[data-adventure=museum] .clue{background:#e7dcc0;color:#302a21;border-radius:0;border-top:5px solid #a98748}body[data-adventure=museum] .clue p,body[data-adventure=museum] .clue .eyebrow{color:#392e1a}body[data-adventure=museum] .answer{border:2px solid #aa894c;border-radius:0;background:#202b20}body[data-adventure=museum] .game-body h3{font-family:Georgia,serif}
/* FREQUENCY: loud live radio, signal graphics, equipment switches. */
body[data-adventure=frequency] .featured{border:1px solid #ff40938a;border-radius:0}body[data-adventure=frequency] .feature-copy:before{background:linear-gradient(90deg,#16091edb,transparent 80%)}body[data-adventure=frequency] .feature-copy h2,.dashboard [data-adventure=frequency] .cover strong,body[data-adventure=frequency] .game-body h2{font-family:Impact,'Arial Narrow',sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:-.01em;line-height:.94;color:#fff7f0;transform:skew(-5deg)}body[data-adventure=frequency] .feature-copy h2{font-size:clamp(47px,5.2vw,80px)}body[data-adventure=frequency] .feature-tag{background:#fc277f;color:#130d18;padding:6px 10px;font-weight:900;letter-spacing:.2em}body[data-adventure=frequency] .feature-meta{font-family:monospace;color:#9bfaff}.dashboard [data-adventure=frequency] .cover{border-radius:0;border-bottom:5px solid #ff399b}.dashboard [data-adventure=frequency] .cover strong{font-size:35px}.dashboard [data-adventure=frequency] .cover-label{color:#64f0f0}body[data-adventure=frequency] .play-primary,body[data-adventure=frequency] .game-body .button.blue{border-radius:0;background:#72f1ef;box-shadow:5px 5px 0 #fc3093;color:#102128;font-family:monospace;text-transform:uppercase;letter-spacing:.08em;transform:skew(-5deg)}body[data-adventure=frequency] #game-dialog{border:1px solid #da388c;border-radius:0;background:repeating-linear-gradient(0deg,#ffffff02 0 1px,transparent 1px 5px),#160f22}body[data-adventure=frequency] .game-header{background:#0f0d17;border-bottom:3px solid #fc3093}body[data-adventure=frequency] .sound-player{border:2px solid #77eded;background:#132b31;border-radius:0;min-height:100px;font-family:monospace;box-shadow:inset 0 0 25px #6befed15}body[data-adventure=frequency] .answer-options{grid-template-columns:1fr;gap:14px}body[data-adventure=frequency] .answer{border-radius:3px;min-height:66px;background:linear-gradient(#3b3147,#251c31);border:1px solid #776283;border-bottom:5px solid #100b17;font-family:monospace;letter-spacing:.06em}body[data-adventure=frequency] .answer:before{content:'◉';color:#fc3b9a;margin-right:18px}body[data-adventure=frequency] .feedback{background:#15292d;color:#a8f6eb;border-color:#72eeee}
/* PLOT TWIST: comic page geometry, speech panels, inked controls. */
body[data-adventure=story] .featured{border:4px solid #141e27;border-radius:0;background:#f4e6c6}.dashboard [data-adventure=story] .cover{border:4px solid #172832;border-radius:0;transform:rotate(-1deg)}.dashboard [data-adventure=story] .cover:before{background:linear-gradient(180deg,#f6eacbcc,transparent 45%,#f4e6c6f5)}body[data-adventure=story] .feature-copy:before{background:linear-gradient(90deg,#f3e6c5fc,#f3e6c500 85%)}body[data-adventure=story] .feature-copy h2,.dashboard [data-adventure=story] .cover strong,body[data-adventure=story] .game-body h2{font-family:Impact,'Arial Black',sans-serif;font-weight:900;text-transform:uppercase;font-style:italic;color:#102a3b;line-height:.96;letter-spacing:-.025em;text-shadow:3px 3px 0 #f5b72e}body[data-adventure=story] .feature-copy h2{font-size:clamp(52px,5.6vw,86px)}body[data-adventure=story] .feature-copy>p,body[data-adventure=story] .feature-meta,body[data-adventure=story] .theme-chip{color:#20323a}body[data-adventure=story] .feature-tag{background:#cf4238;color:#fff2d3;border:2px solid #132a3b;padding:6px 10px;transform:rotate(-3deg)}.dashboard [data-adventure=story] .cover strong{text-shadow:2px 2px 0 #f2b733;font-size:36px}.dashboard [data-adventure=story] .cover-label,.dashboard [data-adventure=story] .cover small{color:#1b2e3b}body[data-adventure=story] .play-primary,body[data-adventure=story] .game-body .button.blue{border:3px solid #142b3a;border-radius:0;background:#f9d349;color:#162b3b;box-shadow:5px 5px 0 #182936;font-family:'Arial Black',sans-serif;text-transform:uppercase;transform:rotate(-2deg)}body[data-adventure=story] .save-feature{background:#f6e8c9;color:#19313e;border:2px solid #19313e}body[data-adventure=story] #game-dialog{background:#f3e6ca;border:4px solid #172e3e;border-radius:0;color:#182d3a}body[data-adventure=story] .game-header{background:#142e3d;color:#fff3cd}body[data-adventure=story] .game-body>.game-description,body[data-adventure=story] .helper,body[data-adventure=story] .game-body .eyebrow{color:#3b4d55}body[data-adventure=story] .simple-prompt{background:#fff7e3;border:3px solid #152e3c;box-shadow:7px 7px 0 #cf4538;border-radius:0;transform:rotate(1deg);position:relative;padding:30px}body[data-adventure=story] .simple-prompt h3{font-family:'Arial Black',sans-serif;color:#173344;font-size:27px;letter-spacing:-1px}body[data-adventure=story] .game-textarea{border:3px solid #193242;border-radius:0;background:#fff9e8;color:#162c3a;min-height:135px;box-shadow:5px 5px 0 #a9cace}body[data-adventure=story] .memory-card-entry{background:#fff7e4;border:3px solid #193342;color:#20313c;box-shadow:7px 7px 0 #d74c3a}body[data-adventure=story] .memory-card-entry p,body[data-adventure=story] .memory-card-entry small{color:#243b49}
/* COMMON: a table of shared scraps; no glossy panels. */
body[data-adventure=common] .featured{border-radius:3px;border:8px solid #d1b99b;box-shadow:0 10px 25px #0004}body[data-adventure=common] .feature-copy:before{background:linear-gradient(90deg,#efe4cff5,#efe4cf00 80%)}body[data-adventure=common] .feature-copy h2,.dashboard [data-adventure=common] .cover strong,body[data-adventure=common] .game-body h2{font-family:'Segoe Print','Bradley Hand',Georgia,serif;font-weight:600;letter-spacing:-.05em;color:#244c3c;transform:rotate(-3deg);line-height:1.05}body[data-adventure=common] .feature-tag{font-family:monospace;color:#4a5843;letter-spacing:.02em;border-bottom:2px dashed #818a62;padding-bottom:8px}body[data-adventure=common] .feature-copy>p,body[data-adventure=common] .feature-meta,body[data-adventure=common] .theme-chip{color:#40503e}.dashboard [data-adventure=common] .cover{border:7px solid #f1e7d4;border-bottom:24px solid #f1e7d4;border-radius:0;transform:rotate(2deg)}.dashboard [data-adventure=common] .cover:before{background:linear-gradient(180deg,#f1e8d099,transparent,#f1e8d0ee)}.dashboard [data-adventure=common] .cover strong{font-size:28px;text-shadow:none}.dashboard [data-adventure=common] .cover-label,.dashboard [data-adventure=common] .cover small{color:#3a5443}body[data-adventure=common] .play-primary,body[data-adventure=common] .game-body .button.blue{background:#34664e;color:#f9eed6;border-radius:3px;border:1px dashed #c2ddae;box-shadow:3px 4px 0 #75846b;transform:rotate(-2deg);font-family:Georgia,serif;font-size:14px}body[data-adventure=common] #game-dialog{background:#d5c2a4;border:8px solid #a59375;border-radius:2px;color:#2c4738}body[data-adventure=common] .game-header{background:#ecdfc4;color:#2c4738;border-bottom:2px dashed #948970}body[data-adventure=common] .game-body h2{font-size:37px}body[data-adventure=common] .game-body .eyebrow,body[data-adventure=common] .game-body>.game-description,body[data-adventure=common] .helper{color:#405441}body[data-adventure=common] .simple-prompt{background:#f6efb9;border:0;box-shadow:3px 6px 8px #4d3f3b35;transform:rotate(-2deg);border-radius:0;position:relative}body[data-adventure=common] .simple-prompt:before{content:'';position:absolute;width:80px;height:23px;top:-11px;left:35%;background:#c6d9b7bb;transform:rotate(6deg)}body[data-adventure=common] .simple-prompt h3{font-family:'Segoe Print','Bradley Hand',Georgia,serif;color:#38513b}body[data-adventure=common] .game-textarea{background:repeating-linear-gradient(#fbf5e8 0 31px,#bccab6 32px 33px);line-height:33px;border:0;border-radius:0;color:#254337;box-shadow:3px 5px 5px #67583e22}body[data-adventure=common] .memory-card-entry{background:#fff8e5;border:0;color:#264633;transform:rotate(1deg);box-shadow:4px 4px 0 #a89677}body[data-adventure=common] .memory-card-entry small,body[data-adventure=common] .memory-card-entry p{color:#38533e}body[data-adventure=common] .save-feature{background:#f7efd9;color:#34664e;border:1px solid #34664e}
/* CHOICE: a televised two-door finale, symmetrical and theatrical. */
body[data-adventure=choice] .featured{height:490px;border:3px solid #ba964d;border-radius:18px 18px 0 0}body[data-adventure=choice] .feature-copy{align-items:center;text-align:center;padding:24px 25px 20px;background:linear-gradient(#160922bb,transparent 55%,#160922e8)}body[data-adventure=choice] .feature-copy:before{display:none}body[data-adventure=choice] .feature-copy h2{font:700 clamp(43px,5vw,75px)/.95 Georgia,serif;text-transform:uppercase;color:#ffe7a1;text-shadow:2px 3px 0 #805123,0 0 24px #f9c65855;max-width:100%;margin:13px 0}body[data-adventure=choice] .feature-copy h2 br{display:none}body[data-adventure=choice] .feature-copy>p{margin-top:auto;max-width:450px;color:#fff2d4;text-shadow:0 2px 6px #000}body[data-adventure=choice] .feature-meta{margin-top:10px;color:#f3dcae}body[data-adventure=choice] .feature-actions{margin-top:13px}body[data-adventure=choice] .feature-tag{font-size:8px;letter-spacing:.19em;color:#f8d376}body[data-adventure=choice] .theme-chip{display:none}.dashboard [data-adventure=choice] .cover{border:3px solid #b99243;border-radius:40px 40px 3px 3px;text-align:center}.dashboard [data-adventure=choice] .cover strong{font:700 28px/1 Georgia,serif;text-transform:uppercase;color:#ffe6a3}.dashboard [data-adventure=choice] .cover:before{background:linear-gradient(#18052299,transparent 45%,#180522ee)}body[data-adventure=choice] .play-primary,body[data-adventure=choice] .game-body .button.blue{border-radius:40px;background:linear-gradient(#ffedb2,#c2933b);border:3px double #ffedb2;box-shadow:0 0 20px #eabe623b;color:#382213;font-weight:800;text-transform:uppercase;letter-spacing:.09em}body[data-adventure=choice] #game-dialog{background:radial-gradient(ellipse at top,#4b1c70,#1a0c2c);border:3px solid #b89343;border-radius:20px 20px 0 0}body[data-adventure=choice] .game-header{background:#250c39;border-bottom:2px solid #b4934e}body[data-adventure=choice] .game-body{text-align:center}body[data-adventure=choice] .game-body h2{font-family:Georgia,serif;color:#ffe6a2;font-size:42px}body[data-adventure=choice] .answer-options{gap:22px;margin:35px 0}body[data-adventure=choice] .answer{position:relative;min-height:230px!important;border-radius:65px 65px 3px 3px;border:6px double #ffe8a6;background:linear-gradient(110deg,#bc8632,#edc574 45%,#ab7329);color:#402412;text-align:center;font:700 21px/1.2 Georgia,serif;padding:30px 18px;box-shadow:0 0 0 5px #67431d,0 8px 22px #0005}body[data-adventure=choice] .answer:before{content:'A';display:block;font:700 54px/1 Georgia,serif;border:2px solid currentColor;border-radius:50%;width:72px;height:72px;line-height:70px;margin:0 auto 24px}body[data-adventure=choice] .answer:nth-child(2){background:linear-gradient(110deg,#6b318c,#bb7fce 45%,#622786);border-color:#edc5ff;color:#f5dcff;box-shadow:0 0 0 5px #4d1d60,0 8px 22px #0005}body[data-adventure=choice] .answer:nth-child(2):before{content:'B'}body[data-adventure=choice] .answer:hover:not(:disabled){transform:translateY(-6px);filter:brightness(1.12);background:linear-gradient(110deg,#bc8632,#edc574 45%,#ab7329);color:#402412}body[data-adventure=choice] .answer:nth-child(2):hover{background:linear-gradient(110deg,#6b318c,#bb7fce 45%,#622786);color:#fff}
/* CLUES: case file, red thread, stamped evidence and typewriter forms. */
body[data-adventure=clues] .featured{border:7px solid #6b4d30;border-radius:0}body[data-adventure=clues] .feature-copy{padding:30px}body[data-adventure=clues] .feature-copy:before{background:linear-gradient(90deg,#e1cda7f5,#d9c6a000 85%)}body[data-adventure=clues] .feature-copy h2,.dashboard [data-adventure=clues] .cover strong,body[data-adventure=clues] .game-body h2{font-family:'Courier New',monospace;font-weight:800;color:#29292a;text-transform:uppercase;letter-spacing:-.065em;line-height:1.02}body[data-adventure=clues] .feature-tag{border:2px solid #8b2928;color:#8b2928;padding:5px 10px;font-family:monospace;transform:rotate(-4deg)}body[data-adventure=clues] .feature-copy>p,body[data-adventure=clues] .feature-meta,body[data-adventure=clues] .theme-chip{font-family:monospace;color:#372f28}.dashboard [data-adventure=clues] .cover{border-radius:0;border:5px solid #ac8c61;clip-path:polygon(0 0,45% 0,50% 5%,100% 5%,100% 100%,0 100%)}.dashboard [data-adventure=clues] .cover:before{background:linear-gradient(#d2bb9999,transparent,#d3bd99f5)}.dashboard [data-adventure=clues] .cover strong{font-size:28px;text-shadow:none}.dashboard [data-adventure=clues] .cover-label,.dashboard [data-adventure=clues] .cover small{font-family:monospace;color:#372d26}body[data-adventure=clues] .play-primary,body[data-adventure=clues] .game-body .button.blue{border:3px double #97352d;color:#97352d;background:#ead9b5;box-shadow:none;border-radius:0;transform:rotate(-2deg);font-family:monospace;letter-spacing:.12em;text-transform:uppercase}body[data-adventure=clues] #game-dialog{background:#b69a70;border:8px solid #755a3a;border-radius:0;color:#332b22}body[data-adventure=clues] .game-header{background:#d6c098;color:#342d24;border-bottom:2px dashed #766447}body[data-adventure=clues] .game-body{font-family:'Courier New',monospace}body[data-adventure=clues] .game-body>.game-description,body[data-adventure=clues] .game-body .eyebrow,body[data-adventure=clues] .helper{color:#362f26}body[data-adventure=clues] .simple-prompt{background:#e9dcb9;border:0;border-radius:0;box-shadow:6px 7px 8px #44301644;transform:rotate(-2deg);position:relative}body[data-adventure=clues] .simple-prompt:before{content:'';position:absolute;top:-9px;left:50%;width:16px;height:16px;background:radial-gradient(circle at 35% 25%,#fb7562,#961a17 70%);border-radius:50%;box-shadow:2px 3px 3px #0004}body[data-adventure=clues] .simple-prompt h3{color:#352b23;font-family:'Courier New',monospace}body[data-adventure=clues] .simple-prompt p{color:#55422d}body[data-adventure=clues] .answer{background:#e6d7b4;color:#34291f;border:1px solid #927951;border-radius:0;font-family:monospace;box-shadow:3px 5px 0 #7c684e55;transform:rotate(-1deg)}body[data-adventure=clues] .answer:nth-child(2n){transform:rotate(2deg)}body[data-adventure=clues] .hint-button{color:#67302a}body[data-adventure=clues] .feedback{background:#eee0b9;color:#403020;border-color:#9d3730}body[data-adventure=clues] .save-feature{color:#782e27;background:#e4d5b5;border:1px solid #8a6241}
@media(max-width:640px){.dashboard .featured{height:445px}.dashboard .feature-copy{padding:25px 20px}.dashboard .feature-copy h2{max-width:100%;font-size:45px}.dashboard .feature-copy>p{max-width:230px;font-size:11px}.dashboard .feature-copy:before{background:linear-gradient(90deg,#15101ddd,#15101d33)}.dashboard .world-scene{object-position:62% center}.dashboard .game-tile{flex-basis:173px}.dashboard .cover{height:224px}.dashboard .feature-copy .theme-chip{font-size:7px}.dashboard .feature-copy .feature-meta{font-size:9px}body[data-adventure=choice] .featured{height:480px}body[data-adventure=choice] .feature-copy h2{font-size:43px}body[data-adventure=choice] .feature-copy>p{max-width:260px}body[data-adventure=choice] .answer-options{grid-template-columns:1fr 1fr;gap:12px}body[data-adventure=choice] .answer{min-height:210px!important;font-size:15px;padding:20px 9px;border-width:3px;border-radius:50px 50px 0 0}body[data-adventure=choice] .answer:before{font-size:35px;width:50px;height:50px;line-height:48px}body[data-adventure=choice] .game-body h2{font-size:32px}body[data-adventure=clues] .feature-copy,body[data-adventure=museum] .feature-copy{padding:24px 18px}body[data-adventure=common] .feature-copy h2{font-size:40px}body[data-adventure=frequency] .feature-copy h2{font-size:52px}body[data-adventure=story] .feature-copy h2{font-size:61px}.dashboard .simple-prompt h3{font-size:24px}}
body[data-adventure=story] .feature-copy>p{background:#fff4dbe8;border:2px solid #1d3543;padding:10px 12px;box-shadow:3px 3px 0 #1b3343;max-width:260px;transform:rotate(-1deg)}body[data-adventure=common] .feature-copy>p{background:#f8f0dfe8;padding:10px 12px;box-shadow:3px 4px 8px #42362722;max-width:270px;transform:rotate(1deg)}body[data-adventure=clues] .feature-copy>p{background:#e7d9b8e8;padding:11px 12px;border-left:3px solid #8d322e;max-width:270px}body[data-adventure=story] .validation-message,body[data-adventure=common] .validation-message,body[data-adventure=clues] .validation-message{color:#8b231c}body[data-adventure=story] .hint-button,body[data-adventure=common] .hint-button{color:#345243}
