:root{--ink:#263650;--sub:#64758b;--cream:#fcf7e9;--panel:#fffdf5;--line:#293a55;--red:#f66e78;--blue:#62a7f2;--mint:#88d4b4;--yellow:#ffd36b;--shadow:5px 5px 0 #263650;--font:system-ui,'Malgun Gothic','Apple SD Gothic Neo',sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--font);background:var(--cream);color:var(--ink)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #437dea;outline-offset:2px}.hidden{display:none!important}a{color:inherit;text-decoration:none}#site{min-height:100dvh;overflow-x:hidden}.topbar{height:58px;padding:0 clamp(16px,3vw,56px);background:#fffdf3;border-bottom:3px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:9px;white-space:nowrap}.brand strong{font-size:24px;letter-spacing:-1.2px;font-weight:950}.exclamation{color:var(--red)}.brand small{font-size:9px;color:#7a8798;font-weight:900;letter-spacing:1.5px;align-self:center;margin-left:7px}.brand-box{width:27px;height:27px;background:var(--ink);display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:4px;transform:rotate(-7deg)}.brand-box span:nth-child(1){background:var(--red)}.brand-box span:nth-child(2){background:var(--yellow)}.brand-box span:nth-child(3){background:var(--mint)}.brand-box span:nth-child(4){background:var(--blue)}.header-actions{display:flex;align-items:center;gap:14px}.top-note{font-size:11px;font-weight:900;color:#8a93a1;letter-spacing:1px}.text-button{border:0;background:transparent;font-size:13px;font-weight:850;color:var(--ink);padding:7px 10px}.mini-button{border:2px solid var(--line);border-radius:0;background:#fffdf5;font-size:13px;color:var(--ink);font-weight:900;padding:6px 10px;box-shadow:2px 2px 0 var(--line)}.mini-button:active,.px-btn:active,.game-card:active{transform:translate(2px,2px);box-shadow:none}.home{max-width:1430px;margin:auto;padding:20px clamp(16px,3vw,56px) 0}.masthead{min-height:148px;border:3px solid var(--line);background:#eff5df;position:relative;display:flex;justify-content:space-between;overflow:hidden;padding:17px 22px 12px 30px}.masthead:before{position:absolute;content:'';inset:0;background:linear-gradient(90deg,#ffffff70,transparent 66%);pointer-events:none}.masthead>div{position:relative}.overline{font-size:10px;letter-spacing:1.7px;font-weight:1000;color:#5a8d79;margin:0}.masthead h1{font-size:clamp(29px,4vw,48px);margin:7px 0 4px;font-weight:950;letter-spacing:-2.8px;line-height:1.15}.masthead h1 span{color:#ea6c6e}.mast-sub{color:#647189;font-weight:700;font-size:12px;margin:5px 0 0}.hero-stage{height:111px;width:290px;align-self:center;flex:none;position:relative;image-rendering:pixelated}.hero-stage .hero-shadow{position:absolute;left:28px;right:20px;height:8px;bottom:1px;background:#a5c8af}.pixel-sun{position:absolute;width:62px;height:62px;background:#ffdb75;right:17px;top:0;box-shadow:10px 0 #ffdb75,-10px 0 #ffdb75,0 10px #ffdb75,0 -10px #ffdb75}.pixel-person{position:absolute;width:52px;height:52px;bottom:15px;background:var(--red);border:6px solid var(--ink);box-shadow:5px 5px 0 #435a6a}.pixel-person:before{content:'';position:absolute;width:35px;height:9px;left:3px;top:-19px;background:#ffe9cc;border:5px solid var(--ink)}.pixel-person i{position:absolute;width:11px;height:11px;left:6px;top:7px;background:#fff6e7;box-shadow:16px 0 #fff6e7}.pixel-person b{position:absolute;width:21px;height:5px;left:8px;bottom:5px;background:var(--ink)}.red-person{left:25px}.blue-person{right:25px;background:var(--blue);transform:scaleX(-1)}.hero-vs{position:absolute;left:126px;top:24px;font-size:26px;font-weight:1000;text-shadow:3px 3px #fff;transform:rotate(-7deg)}.pixel-star{position:absolute;font-size:19px;color:#efad4f}.pixel-star.one{left:95px;top:5px}.pixel-star.two{right:1px;bottom:0}.catalog{margin-top:22px}.catalog-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:13px}.catalog h2{font-size:22px;margin:3px 0 0;letter-spacing:-.6px}.catalog h2 span{background:var(--yellow);padding:2px 6px;font-size:13px;border:2px solid var(--ink);margin-left:3px;vertical-align:middle}.filter-row{display:flex;gap:7px;flex-wrap:wrap}.filter{border:2px solid #abb3bb;background:transparent;color:#617086;font-size:12px;font-weight:850;padding:8px 14px;border-radius:0}.filter.active{background:var(--ink);border-color:var(--ink);color:#fff}.game-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.game-card{background:var(--panel);border:3px solid var(--ink);border-radius:0;box-shadow:var(--shadow);text-align:left;padding:0;overflow:hidden;position:relative;display:flex;flex-direction:column;min-width:0;min-height:205px;transition:filter .1s}.game-card:hover{filter:brightness(.975)}.card-art{height:121px;position:relative;overflow:hidden;border-bottom:3px solid var(--ink);image-rendering:pixelated}.card-art svg{width:100%;height:100%;display:block;shape-rendering:crispEdges}.card-art.tone-aqua{background:#a9dfe6}.card-art.tone-green{background:#9edca5}.card-art.tone-peach{background:#ffd4aa}.card-art.tone-yellow{background:#ffe3a1}.card-art.tone-lavender{background:#d9cef9}.card-art.tone-pink{background:#ffd2d4}.card-art.tone-sky{background:#c8e6ff}.card-art.tone-mint{background:#b5e8d2}.card-chip{position:absolute;top:10px;left:10px;background:var(--panel);border:2px solid var(--ink);font-size:10px;padding:3px 6px;font-weight:900}.card-copy{padding:11px 12px 12px;flex:1;display:flex;flex-direction:column;gap:4px}.card-copy h3{font-size:17px;margin:0;font-weight:950;letter-spacing:-.4px}.card-copy p{font-size:11px;margin:0;color:#718197;line-height:1.35;font-weight:700;flex:1}.card-bottom{margin-top:5px;display:flex;align-items:center;justify-content:space-between}.card-bottom span{font-size:10px;color:#506480;font-weight:850}.card-bottom b{font-size:15px}.foot{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:27px 0 10px;color:#83909a;font-size:11px;font-weight:650}.foot>div{display:flex;flex-wrap:wrap;gap:15px}.foot a:hover{text-decoration:underline}
/* Full-screen game workspace */
.play-screen{position:fixed;inset:0;z-index:50;background:#f9f1db;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.play-topbar{height:42px;flex:0 0 42px;background:#fffdf2;border-bottom:3px solid var(--ink);display:flex;gap:10px;justify-content:space-between;align-items:center;padding:0 max(12px,env(safe-area-inset-left));}.back-game{font-size:12px;font-weight:900;border:0;background:none;color:var(--ink);padding:8px 3px}.playing-title{font-size:15px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.play-status{font-size:13px;font-weight:950;letter-spacing:.5px;color:#52667c}.play-area{position:relative;flex:1;min-height:0;overflow:hidden;display:flex;align-items:stretch;justify-content:center}.play-area canvas.arcade-canvas{height:100%;width:100%;touch-action:none;display:block;image-rendering:pixelated;object-fit:fill}.play-bottom{height:29px;flex:0 0 29px;border-top:3px solid var(--ink);background:#fffdf2;display:flex;align-items:center;justify-content:space-between;padding:0 max(12px,env(safe-area-inset-left));gap:8px}.control-legend{display:flex;gap:15px;justify-content:space-between;align-items:center;flex:1;min-width:0;font-size:11px;font-weight:850}.legend-left{color:#db5464;white-space:nowrap}.legend-right{color:#518ddd;white-space:nowrap}#playHint{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#697a86;text-align:center}.pause-game{font-size:10px;font-weight:850;padding:3px 7px;border:1px solid var(--line);border-radius:0;background:#fff4ce;white-space:nowrap}
/* party games */
.party-wrap{width:min(1030px,100%);padding:clamp(10px,2vw,28px);margin:auto;max-height:100%;overflow-y:auto;scrollbar-width:thin}.party-wrap.center{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px}.party-heading{text-align:center;margin-bottom:8px}.eyebrow{font-size:11px;color:#dc7276;font-weight:950;letter-spacing:2.5px}.party-heading h2{font-size:clamp(20px,3.2vw,34px);letter-spacing:-1.5px;margin:4px 0}.party-heading p{color:#708091;font-weight:700;font-size:12px;margin:4px 0}.px-btn{border:3px solid var(--ink);border-radius:0;padding:10px 18px;font-size:13px;font-weight:950;min-height:43px;box-shadow:3px 3px 0 var(--ink);white-space:nowrap}.px-btn.solid{background:var(--red);color:#fff}.px-btn.light{background:#fffdf5;color:var(--ink)}.px-btn:disabled{opacity:.4;cursor:not-allowed}.cup-categories{display:flex;gap:8px;justify-content:center;margin:6px auto 9px;flex-wrap:wrap}.chip{background:#fffdf4;border:2px solid #a6b1b6;padding:5px 15px;font-size:12px;font-weight:900}.chip.active{border-color:var(--ink);background:var(--yellow)}.choice-pair{display:flex;align-items:stretch;gap:12px;min-height:clamp(120px,31vh,240px)}.choice-option{flex:1;min-width:0;background:#f9d6bd;border:4px solid var(--ink);padding:14px;position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:5px 5px 0 #23344a}.choice-option:last-child{background:#c8e1fb}.choice-option strong{font-size:clamp(21px,3.5vw,36px);letter-spacing:-1px;line-height:1.2;text-align:center}.choice-index{position:absolute;top:6px;left:8px;font-size:10px;font-weight:900;padding:2px 6px;background:#fff;border:2px solid var(--ink)}.choice-vs{font-size:clamp(15px,2.6vw,25px);font-weight:1000;align-self:center;flex:none}.round-note{font-weight:750;text-align:center;font-size:11px;color:#758295;margin:12px 0 0}.cup-winner{background:#ffdf88;border:4px solid var(--ink);padding:18px;text-align:center;display:flex;gap:17px;align-items:center;justify-content:center}.cup-winner .trophy{font-size:40px}.cup-winner strong{font-size:clamp(23px,4vw,40px)}.actions{display:flex;justify-content:center;gap:12px;margin-top:14px}.huge-score{font-size:clamp(58px,13vw,120px);font-weight:1000;line-height:1;color:var(--ink)}.huge-score small{font-size:24px;color:#8993a0}.result-sub{color:#64758b;font-size:14px;font-weight:750}.answer-reveal{display:flex;gap:15px;flex-wrap:wrap;justify-content:center}.answer-reveal span{padding:14px;background:#fff;border:3px solid var(--ink);font-weight:900}.drawing-prompt{font-size:clamp(35px,6vw,64px);font-weight:1000;border:4px solid var(--ink);background:#fff8d9;padding:10px 40px;min-width:220px;text-align:center}.drawing-layout{width:100%;height:100%;min-height:0;padding:10px 13px;display:flex;gap:13px}.drawing-board{flex:1;min-width:0;min-height:0;border:4px solid var(--ink);background:#fffdf3}.drawing-board canvas{width:100%;height:100%;touch-action:none;display:block;cursor:crosshair}.drawing-tools{flex:0 0 175px;display:flex;flex-direction:column;gap:6px;align-items:stretch;justify-content:center;overflow-y:auto}.drawing-tools .draw-timer{font-size:37px}.drawing-tools p{font-size:12px;color:#718097;line-height:1.5;margin:0}.color-list{display:flex;gap:6px;flex-wrap:wrap}.color-swatch{width:30px;height:30px;min-height:30px;background:#263650;border:2px solid var(--ink)}.color-swatch.selected{outline:3px solid #fff;box-shadow:0 0 0 3px var(--ink)}.drawing-tools .px-btn{padding:7px;min-height:35px}.memory-layout{display:flex;width:min(1060px,100%);height:100%;min-height:0;margin:auto;align-items:center;gap:22px;padding:14px 25px}.memory-status{width:32%;max-width:285px;flex:none}.memory-status h2{font-size:clamp(18px,3vw,31px);margin:6px 0}.memory-status p{color:#687d91;font-size:12px}.memory-score{font-size:24px;font-weight:1000;display:flex;justify-content:space-between;align-items:center;border-top:3px solid var(--ink);padding-top:13px}.memory-score span{font-size:15px}.red-text{color:#e86673}.blue-text{color:#4f8ad5}.memory-grid{flex:1;min-width:0;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,minmax(0,1fr));gap:8px;height:min(95%,360px)}.memory-card{min-height:0;border:3px solid var(--ink);background:#84c8a7;color:var(--ink);font-size:clamp(22px,4.5vw,51px);font-weight:1000;box-shadow:3px 3px 0 var(--ink)}.memory-card.flipped{background:#fff9e1}.memory-card.matched{background:#e0edcb;opacity:.62}
.overlay{position:fixed;z-index:200;inset:0;background:#24344dbf;display:flex;align-items:center;justify-content:center;padding:14px}.popup{background:var(--panel);width:min(480px,100%);max-height:96dvh;overflow-y:auto;border:4px solid var(--ink);box-shadow:8px 8px 0 #19263d;padding:18px 22px 20px;text-align:center}.popup-cap{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:2px;color:#7a8da0;font-weight:900}.close-x{background:transparent;border:0;color:var(--ink);font-size:18px;font-weight:950}.popup-icon{font-size:36px;margin:7px}.popup h2{font-size:27px;margin:6px;line-height:1.2}.popup>p{font-size:13px;color:#65788a;margin:8px 0 12px;line-height:1.5}.popup-sub{font-size:12px;color:#647285;line-height:1.5;background:#f4f1e7;padding:8px 10px;margin-bottom:16px}.popup-actions{display:flex;gap:10px}.popup-actions button{flex:1}.portrait-hint{display:none}
@media(max-width:960px){.home{padding:12px 15px}.game-grid{gap:11px}.game-card{min-height:173px;box-shadow:3px 3px 0 var(--ink)}.card-art{height:91px}.card-copy{padding:8px}.card-copy h3{font-size:14px}.card-copy p{font-size:10px}.masthead{min-height:114px;padding:11px 19px}.masthead h1{font-size:30px;margin:5px 0}.hero-stage{transform:scale(.76);transform-origin:right center;height:95px}.catalog{margin-top:13px}.catalog-head{margin-bottom:10px}.catalog h2{font-size:19px}.topbar{height:47px}.brand strong{font-size:20px}.foot{margin-top:18px}.party-wrap{padding:12px}}
@media(max-width:650px){.top-note,.brand small{display:none}.topbar{height:44px}.masthead h1{font-size:24px;letter-spacing:-1px}.masthead{min-height:99px}.hero-stage{transform:scale(.55);width:170px}.mast-sub{font-size:10px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.game-card{min-height:175px}.card-art{height:100px}.catalog-head{align-items:start;flex-direction:column;gap:8px}.filter{font-size:11px;padding:5px 9px}.foot{flex-direction:column;gap:8px}.play-topbar{height:40px;flex-basis:40px}.playing-title{font-size:12px}.play-status{font-size:11px}.back-game{font-size:10px}.play-bottom{height:26px;flex-basis:26px}.control-legend{font-size:9px}.drawing-tools{flex-basis:128px}.drawing-tools .draw-timer{font-size:24px}.drawing-tools p{font-size:10px}.drawing-tools .px-btn{font-size:10px}.memory-layout{gap:9px;padding:8px}.memory-status{width:28%}.memory-grid{gap:5px}.memory-card{font-size:23px}.choice-pair{min-height:140px}.party-heading h2{font-size:19px}}
@media(orientation:portrait) and (max-width:700px){.portrait-hint{position:fixed;z-index:150;inset:0;background:#fff8df;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;border:9px solid var(--ink)}.portrait-hint .rotate-symbol{font-size:78px;color:var(--blue);line-height:1}.portrait-hint h2{font-size:24px;margin:10px 0 0}.portrait-hint p{color:#65768b;font-size:13px}.portrait-hint button{margin-top:17px}.portrait-hint.dismissed{display:none}}
@media(max-height:400px) and (orientation:landscape){.home{padding-top:8px}.masthead{min-height:79px;height:79px}.masthead h1{font-size:23px}.masthead .overline,.mast-sub{font-size:9px}.hero-stage{transform:scale(.46)}.catalog{margin-top:9px}.catalog-head{align-items:center;flex-direction:row;margin-bottom:7px}.game-card{min-height:147px}.card-art{height:80px}.card-copy h3{font-size:13px}.card-copy p{font-size:9px}.foot{margin-top:15px}.party-heading{margin-bottom:4px}.party-heading h2{font-size:18px}.party-heading p{font-size:10px}.choice-pair{min-height:100px}.party-wrap{padding:6px 10px}.cup-categories{margin:5px auto}.round-note{margin:6px}.pixel-person{bottom:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
