*{box-sizing:border-box}.pair-page{max-width:1280px;margin:20px auto;padding:0 16px}.pair-page>h1{font-size:28px;color:#173657;margin:0}.pair-page>p{color:#3a5068;margin:8px 0 16px}.airport{container-type:inline-size;position:relative;isolation:isolate;aspect-ratio:16/9;width:100%;overflow:hidden;border-radius:13px;border:3px solid #e2d7bc;background:#d8f2ff url('./assets/airport.webp') center/cover;color:#102e55;font-family:'Zen Maru Gothic',sans-serif}.airport button{font:900 clamp(11px,1.35cqw,20px)/1.3 'Zen Maru Gothic',sans-serif;color:#102e55;background:#fff9ec;border:2px solid #9bb4c2;border-radius:10px;box-shadow:0 3px 0 #a7bac2;padding:7px 12px;cursor:pointer}.airport button:disabled{opacity:.5;cursor:default}.airport button:focus-visible{outline:4px solid #7250c7;outline-offset:3px}.airport button[aria-pressed=true]{background:#ffcb70}.airport button.primary{background:#ffba54}.game-tools{position:absolute;right:2%;top:2%;height:7%;display:flex;gap:5px;z-index:5}.game-tools button{font-size:clamp(9px,1cqw,14px);padding:3px 5px}.game-tools button[aria-pressed=false]{background:#dce4e8}.game-tools button[aria-pressed=true]{background:#e9fbec}#scene{position:absolute;inset:2% 2% 3%;display:grid;grid-template-rows:10% 32% 12% 32% 8%;gap:1.5%}.play-head{grid-row:1;display:flex;align-items:flex-start;gap:2%;width:64%;min-height:0}.levels{display:flex;gap:5px}.levels button{font-size:clamp(10px,1.15cqw,16px);padding:5px 8px;white-space:nowrap}.stats{display:flex;gap:12px;background:#fffef1ed;border:2px solid #9ab6c6;border-radius:9px;padding:5px 10px;font-size:clamp(10px,1.2cqw,17px);white-space:nowrap}.stats b{font-size:1.1em}.bank{position:relative;border-radius:13px;background:linear-gradient(#ecf3f3dd,#d6e2e9f5);border:3px solid #b6c9d2;border-bottom:8px solid #91a8b5;min-height:0}.bank.upper{grid-row:2}.bank.lower{grid-row:4}.bank h3{position:absolute;top:2px;left:8px;margin:0;font-size:clamp(10px,1.05cqw,15px);color:#3c566d;line-height:1;z-index:2}.pieces{height:100%;display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));grid-template-rows:repeat(var(--rows),minmax(0,1fr));gap:5px;align-items:end;justify-items:center;padding:14px 8px 1px;min-height:0}.airport .piece{position:relative;width:var(--piece-width);height:calc(var(--piece-width)*425/384);border:0;border-radius:10px;background:none;box-shadow:none;padding:0;min-width:0;max-width:100%;color:#092557}.piece img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.piece .glyph{position:absolute;left:54%;top:60%;transform:translate(-50%,-50%);font:700 calc(var(--piece-width)*.46)/1 Verdana,sans-serif;pointer-events:none}.lower .piece .glyph{left:52%;top:66%;font-size:calc(var(--piece-width)*.46)}.piece .check{display:none;position:absolute;right:4%;top:22%;background:#118b4d;color:#fff;border:2px solid white;border-radius:50%;width:26%;aspect-ratio:1;place-items:center;font:900 calc(var(--piece-width)*.17)/1 sans-serif;z-index:3}.airport .piece:disabled{opacity:1}.piece.matched .check{display:grid}.piece.selected{filter:drop-shadow(0 0 4px #ffe24d)}.piece.selected:after{content:'';position:absolute;inset:16% 1% 2%;border:3px solid #ffd03f;border-radius:15px;pointer-events:none}.piece.wrong:after{content:'';position:absolute;inset:21% 4% 2%;border:4px solid #cb4b5c;border-radius:15px;pointer-events:none}.middle{grid-row:3;display:flex;align-items:center;justify-content:center;gap:3%;min-width:0}.middle p{margin:0;background:#fffbeeeb;border:2px solid #b6c8cd;border-radius:10px;padding:8px 12px;font-size:clamp(12px,1.6cqw,23px);font-weight:900;max-width:72%;text-align:center}.middle p.complete{background:#e8f8d6;color:#205d36}.middle button{font-size:clamp(10px,1.2cqw,17px);white-space:nowrap;padding:6px 10px}.actions{grid-row:5;display:flex;align-items:center;justify-content:space-between;gap:10px}.actions button{font-size:clamp(10px,1.15cqw,17px);padding:6px 10px}.audio-status{font-size:clamp(9px,1cqw,14px);text-align:center;max-width:45%}.airport[data-scene=menu] #scene{grid-template-columns:52% minmax(0,1fr);grid-template-rows:1fr 11%;gap:3%;inset:13% 3% 4%}.boarding{grid-column:1;grid-row:1;background:#fff9e9f5;border:3px solid #85b7c9;border-top:18px solid #79c9d8;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7%;padding:5% 7%;box-shadow:0 5px 0 #7c9fb0}.boarding h2{font-size:clamp(30px,5cqw,68px);margin:0;line-height:1.1}.boarding p{font-size:clamp(14px,1.8cqw,26px);margin:0}.boarding .levels{width:100%;justify-content:center}.boarding .levels button{font-size:clamp(15px,2cqw,28px);padding:9px 15px;flex:1}.boarding #start{width:100%;font-size:clamp(18px,2.5cqw,35px)}.sample{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center;gap:2%;min-width:0}.sample-piece{position:relative;width:48%;aspect-ratio:384/425}.sample-piece img{width:100%;height:100%;object-fit:contain}.sample-piece span{position:absolute;left:54%;top:60%;transform:translate(-50%,-50%);font:700 clamp(35px,6cqw,85px)/1 Verdana,sans-serif}.sample-piece.tag span{left:52%;top:66%}.intro{grid-column:1/-1;grid-row:2;display:grid;place-items:center;background:#e7f7fbef;border:2px solid #9eb7c9;border-radius:10px;margin:0;font-size:clamp(13px,1.9cqw,26px);font-weight:900}.sheet{position:absolute;inset:0;background:#284b6dbd;z-index:10;display:grid;place-items:center;padding:3%}.sheet[hidden]{display:none}.sheet>div{background:#fff9e9;border:4px solid #8aaebb;border-radius:16px;width:min(94%,620px);max-height:100%;overflow:auto;padding:22px;display:grid;gap:12px}.sheet h2,.sheet p{margin:0}.sheet p{font-size:clamp(13px,1.5cqw,21px);line-height:1.6}.parent-note{font-size:13px!important}.airport:fullscreen{width:100vw;height:100dvh;aspect-ratio:auto;border:0;border-radius:0}@media(max-width:900px) and (orientation:landscape){.levels{gap:3px}.levels button{font-size:9px;padding:3px 5px}.stats{font-size:9px;gap:5px;padding:3px 5px}.play-head{gap:1%}.game-tools{gap:3px}.game-tools button{font-size:8px;padding:2px 3px}.middle p{font-size:11px;padding:4px 8px}.middle button{font-size:9px;padding:3px 6px}.actions button{font-size:10px;padding:3px 7px}.bank{border-width:2px;border-bottom-width:5px}.bank h3{font-size:9px}.pieces{padding-top:11px}.boarding{gap:6%}}@media(max-width:600px) and (orientation:portrait){.pair-page{padding:0 8px}.airport{aspect-ratio:auto;padding:8px}.game-tools{position:relative;right:auto;top:auto;height:34px;margin:0 0 12px;justify-content:flex-end;gap:3px}.game-tools button{font-size:9px;padding:3px 4px}#scene{position:relative;inset:auto;display:grid;grid-template-rows:76px 150px 85px 150px 68px;gap:12px}.airport[data-size='6'] #scene,.airport[data-size='8'] #scene{grid-template-rows:76px 250px 85px 250px 68px}.play-head{width:100%;display:flex;flex-direction:column;gap:9px;align-items:stretch}.levels{justify-content:center;gap:8px}.levels button{font-size:13px;padding:5px 10px;flex:1}.stats{font-size:12px;justify-content:space-around;padding:5px;gap:5px}.pieces{gap:6px;padding:15px 3px 2px}.bank{border-width:2px;border-bottom-width:5px}.bank h3{font-size:11px}.middle{flex-direction:column;gap:5px}.middle p{font-size:13px;padding:5px 7px;max-width:100%;width:100%}.middle button{font-size:12px;padding:5px 10px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.actions button{font-size:12px;padding:7px 5px;min-height:35px}.audio-status{grid-column:1/-1;grid-row:2;font-size:10px;max-width:100%;min-height:20px}.airport[data-scene=menu] #scene{position:relative;inset:auto;display:flex;flex-direction:column;gap:18px}.boarding{min-height:300px;padding:22px 14px;gap:23px;border-top-width:12px}.boarding h2{font-size:42px}.boarding p{font-size:16px}.boarding .levels button{font-size:17px;padding:8px}.boarding #start{font-size:23px}.sample{height:180px}.sample-piece{width:135px}.sample-piece span{font-size:56px}.intro{font-size:15px;padding:12px;min-height:50px}.sheet{position:fixed;inset:0;z-index:1000;padding:15px}.sheet>div{padding:18px}.sheet button{font-size:16px}.sheet p{font-size:14px}.airport:fullscreen{overflow:auto;min-height:100dvh}}
.airport .piece{background:transparent!important}
