:root{--ink:#193453;--paper:#edf5f8;--gold:#ffd166;--teal:#8ad7ca}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Trebuchet MS',Arial,sans-serif}button,select,input{font:inherit}button,a,select{touch-action:manipulation}button{border:1px solid #bbcedb;border-radius:12px;min-height:46px;padding:11px 18px;background:white;color:var(--ink);font-weight:bold;cursor:pointer}button:disabled{opacity:.48;cursor:default}button:not(:disabled):hover{filter:brightness(.96)}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:4px solid #b37913;outline-offset:3px}button.primary{background:var(--gold);border-color:#d3a33b;box-shadow:0 3px #c99b33}a{color:inherit}header{display:flex;align-items:center;justify-content:space-between;gap:14px;background:white;padding:14px 4%;border-bottom:1px solid #cfdee8}header a{text-decoration:none;font-weight:bold}header div{display:flex;gap:8px}header button{font-size:13px;padding:8px 12px}main{max-width:1180px;margin:auto;padding:28px}.hero{display:grid;grid-template-columns:1fr 1.15fr;gap:35px;align-items:center;margin-bottom:25px}.hero .tag{color:#4b7184;font-size:14px;font-weight:bold}h1{font-size:clamp(32px,4vw,51px);line-height:1.03;letter-spacing:-1.6px;margin:12px 0 17px}.hero p{line-height:1.6;color:#456176;max-width:440px}.scene{display:block;width:100%;border-radius:22px;overflow:hidden}h2{font-size:28px;margin:10px 0 12px}h3{font-size:20px}.panel{background:white;border:1px solid #cadbe6;border-radius:22px;overflow:hidden;box-shadow:0 10px #dce9f0}.prepare{display:flex;gap:16px;align-items:end;flex-wrap:wrap;padding:24px;background:#f8fcff;border-bottom:1px solid #d5e3eb}.prepare label{display:grid;gap:8px;flex:1;min-width:145px;font-size:13px;font-weight:bold}select{padding:12px;border:1px solid #bcd0dd;border-radius:10px;background:white;color:var(--ink);width:100%;min-height:46px}.toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid #dce7ee;padding:12px 24px;font-size:14px}.toolbar button{font-size:13px;min-height:40px;padding:8px 12px}#play{text-align:center;padding:24px;min-height:250px}#notice{margin:15px 0 0;color:#4b6579;font-size:13px;min-height:20px}#status{font-weight:bold}#play p{line-height:1.5}#play .sub{color:#506d82;font-size:14px;max-width:650px;margin:8px auto 20px}.art{width:95px;height:95px;display:block;margin:auto}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px auto;max-width:860px}.instrument{min-height:150px;background:#f4f8fb;border-bottom:5px solid #c4d4df;transition:transform .15s}.instrument .art{width:90px;height:90px}.instrument.correct{background:#ccefe0;border-color:#399977}.instrument.incorrect{background:#ffe3dc;border-color:#c78579}.actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:20px 0 5px}.album{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:22px auto}.album button{padding:6px;min-width:65px;font-size:11px}.album .art{width:45px;height:45px}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:740px;margin:22px auto}.memory-card{background:var(--ink);color:#fff;min-height:115px;border:0;border-bottom:5px solid #0d243d;font-size:30px;position:relative}.memory-card span{font-size:12px;position:absolute;left:10px;top:8px;color:#c2dce9}.memory-card.open{background:#6daaaa;color:#0b3045}.memory-card.matched{background:#e1f2dc;border-bottom-color:#94b784;color:var(--ink)}.memory-card .art{height:72px;width:72px}.memory-card.open .art{display:none}.score{font-weight:bold;color:#345b72}.result{padding:24px 10px}.result .art{width:120px;height:120px}.result h2{font-size:36px}.mission-layout{display:grid;grid-template-columns:210px 1fr;gap:28px;text-align:left;align-items:center;max-width:860px;margin:auto}.mission-art{background:#eef4f9;border-radius:20px;padding:25px}.mission-art .art{width:150px;height:150px}.mission-step{font-size:25px;line-height:1.35}.steps-dots{display:flex;gap:7px;margin:20px 0}.steps-dots i{width:24px;height:7px;background:#d5e4ec;border-radius:3px}.steps-dots i.on{background:#328c82}.meta{font-size:13px;color:#4c6980}.badge{display:inline-block;border-radius:20px;background:#e4f3eb;padding:6px 12px;font-size:12px;font-weight:bold}.timer{font-size:40px;font-variant-numeric:tabular-nums}.teams{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.team{border:2px solid #c4d6e2;padding:18px 8px;border-radius:16px;background:#f0f5f8;opacity:.6}.team.active{opacity:1;background:#f9d874;border-color:#aa7a21}.team strong{display:block;margin:8px;font-size:20px}.team .art{height:70px;width:70px}.timeline{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:20px 0}.bar{min-width:44px;padding:9px;border:1px solid #bdcedb;border-radius:7px;background:#eef5f8;font-size:13px}.bar.current{background:#ffd166;border-color:#ac7912;box-shadow:0 0 0 2px #ffe8ad}.bar small{display:block;font-size:10px}.manual-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:15px 0}.editor{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;text-align:left}.editor label{font-size:12px;background:#f2f6fa;border-radius:10px;padding:10px}.editor select{font-size:12px;padding:8px}.bpm{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin:15px}.freeze-stage{background:#193453;color:white;border-radius:20px;min-height:255px;padding:24px}.freeze-stage h2{font-size:44px}.pose{width:140px;height:140px}.frozen{background:#294f6a}.running .dancer{animation:dance .65s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}.running .baton{animation:conduct .5s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}footer{display:flex;gap:24px;justify-content:space-between;flex-wrap:wrap;margin:28px 0;font-size:13px;color:#426078;line-height:1.6}details{max-width:680px}summary{font-weight:bold;cursor:pointer}.credits{font-size:12px}.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.game-card{display:block;text-decoration:none;border:1px solid #cbdde6;background:white;border-radius:20px;overflow:hidden;box-shadow:0 6px #dce8f0;transition:transform .15s}.game-card:hover{transform:translateY(-4px)}.game-card .scene{border-radius:0}.game-card>div{padding:20px}.game-card h2{font-size:23px}.game-card p{line-height:1.5;color:#4b677b;font-size:14px}.game-card strong{display:inline-block;background:var(--gold);padding:10px 16px;border-radius:10px}.game-card small{display:block;font-size:12px;color:#59768a;margin:12px 0}.print-cards{display:none}.reduced *{animation:none!important;transition:none!important}@keyframes dance{from{rotate:-6deg}to{rotate:6deg}}@keyframes conduct{from{rotate:-8deg}to{rotate:12deg}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:750px){main{padding:20px 14px}.hero{grid-template-columns:1fr;gap:14px}.hero h1{font-size:35px}.hero p{margin-bottom:0}.hero #scene{max-width:450px;width:100%;margin:auto}header>span{display:none}header{flex-wrap:wrap}.prepare{padding:18px;gap:12px}.prepare label{min-width:130px}.prepare .primary{width:100%}#play{padding:18px 12px}.toolbar{padding:10px 12px;flex-wrap:wrap}.choices{gap:8px}.instrument{padding:10px 5px;font-size:13px;min-height:125px}.instrument .art{width:65px;height:65px}.memory-grid{gap:8px}.memory-card{min-height:88px;padding:6px}.memory-card .art{width:52px;height:52px}.mission-layout{grid-template-columns:1fr;text-align:center;gap:14px}.mission-art{padding:12px;width:120px;margin:auto}.mission-art .art{width:90px;height:90px}.mission-step{font-size:23px}.steps-dots{justify-content:center}.teams{gap:6px}.team{padding:12px 2px}.team strong{font-size:13px;margin:8px 0}.team .art{width:50px;height:50px}.team span{font-size:12px}.manual-controls{grid-template-columns:repeat(2,1fr)}.editor{grid-template-columns:repeat(2,1fr)}.hub-grid{grid-template-columns:1fr}.game-card{max-width:520px;width:100%;margin:auto}body.started .hero>div:first-child{display:none}body.started #scene{max-width:290px}body.started .hero{margin-bottom:14px}.freeze-stage h2{font-size:34px}}@media print{body>*{display:none!important}body>.print-cards{display:block!important;color:#000;padding:20px}.print-card{border:2px dashed #667;padding:18px;margin:0 0 20px;break-inside:avoid}.print-card h2{font-size:22px}.print-card .art{float:right;width:85px;height:85px}.print-card li{margin-bottom:10px}.print-card p{font-size:13px}}

@media(max-width:750px){.mission-art{display:flex;align-items:center;justify-content:space-around;gap:10px;width:100%;padding:10px 14px}.mission-art .art{width:58px;height:58px;margin:0}.mission-art .meta{font-size:12px;flex:1}.mission-art .timer{font-size:29px}.mission-layout{gap:10px}.mission-step{min-height:64px}.actions button{font-size:13px;padding:10px 12px}}

.game-card img.scene{height:auto}
