@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";:root{--app-height: 100dvh;--app-width: 100vw;font-family:Inter,Pretendard,Noto Sans KR,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1d2329;background:#f6fbf8;font-synthesis:none;text-rendering:optimizeLegibility}.admin-auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f6f7f9;color:#171717}.admin-auth-card{width:min(420px,100%);display:grid;gap:16px;padding:24px;border:1px solid #d7dce2;border-radius:8px;background:#fff;box-shadow:0 14px 40px #0f172a1f}.admin-auth-card h1,.admin-auth-card p{margin:0}.admin-auth-card label{display:grid;gap:8px;font-weight:700}.admin-auth-card input{min-height:44px;border:1px solid #c4cbd4;border-radius:8px;padding:0 12px;font:inherit}.admin-auth-error{color:#b42318;font-weight:700}*{box-sizing:border-box}html{overscroll-behavior-x:none}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden;overscroll-behavior:none;background:#e5eeea;-webkit-tap-highlight-color:transparent}#root{height:var(--app-height);width:100vw;overflow:hidden;overscroll-behavior:none}button,input,select,textarea{font:inherit}button{min-height:48px;border:1px solid #1c5b47;border-radius:8px;padding:0 18px;color:#fff;background:#1c5b47;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}button:hover{background:#24755d}button:disabled{border-color:#c7d4cf;color:#73827b;background:#e5eeea;cursor:not-allowed}button.danger{border-color:#a33b33;background:#a33b33}button.danger:hover{background:#bf4c42}input,select,textarea{width:100%;border:1px solid #c8d7d0;border-radius:8px;padding:10px 11px;color:#1d2329;background:#fff}textarea,input,select{min-height:48px;padding:12px 13px}textarea{min-height:96px;resize:vertical}label{display:grid;gap:6px;font-weight:700}meter{width:100%;height:12px}.app{min-height:100vh}.brand-portal{display:grid;grid-template-rows:auto minmax(0,1fr);gap:28px;height:var(--app-height);overflow:hidden;padding:clamp(24px,4vw,56px);background:linear-gradient(180deg,#f6fbf8f5,#edf7f1f5),#f6fbf8}.brand-portal-head,.brand-admin-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand-portal-head h1,.brand-admin-head h1{margin:6px 0 0;font-size:clamp(calc(2.4rem * var(--wfs, 1)),calc(5vw * var(--wfs, 1)),calc(5.8rem * var(--wfs, 1)));line-height:1.04;letter-spacing:0}.portal-admin-button{min-width:180px;min-height:72px;border-color:#b34337;background:#b34337;font-size:calc(1.2rem * var(--wfs, 1));font-weight:900}.portal-admin-button:hover{background:#c65346}.brand-button-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;min-height:0}.brand-button-card{position:relative;display:grid;align-content:end;gap:12px;overflow:hidden;min-height:0;border:1px solid #c9dbd3;border-radius:8px;padding:clamp(22px,3vw,34px);color:#fff;background:#1c5b47;text-align:left}.brand-button-card:after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,#12201b14,#112d24e6);pointer-events:none}.brand-button-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.brand-button-card span,.brand-button-card strong,.brand-button-card small{position:relative;z-index:1}.brand-button-card span{justify-self:start;border:1px solid rgba(255,255,255,.6);border-radius:8px;padding:8px 12px;background:#00000047;font-weight:900}.brand-button-card strong{font-size:clamp(calc(2.5rem * var(--wfs, 1)),calc(5vw * var(--wfs, 1)),calc(5.6rem * var(--wfs, 1)));line-height:1;letter-spacing:0}.brand-button-card small{max-width:680px;color:#fffffff0;font-size:clamp(calc(1.08rem * var(--wfs, 1)),calc(1.8vw * var(--wfs, 1)),calc(1.45rem * var(--wfs, 1)));line-height:1.45;font-weight:850}.brand-button-card.disabled{border-color:#aebbb6}.brand-admin-page{height:var(--app-height);overflow-y:auto;padding:24px clamp(20px,4vw,56px) 48px;background:#f6fbf8}.brand-admin-head{border-bottom:1px solid #dce8e2;padding-bottom:20px}.brand-admin-head h1{font-size:clamp(calc(2rem * var(--wfs, 1)),calc(4vw * var(--wfs, 1)),calc(4rem * var(--wfs, 1)))}.brand-admin-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,440px);gap:24px;align-items:start;margin-top:24px}.brand-button-list,.brand-button-editor{display:grid;gap:12px}.brand-button-editor{border:1px solid #d4e2dc;border-radius:8px;padding:18px;background:#fff}.brand-button-editor h2{margin:0;font-size:calc(1.45rem * var(--wfs, 1))}.brand-admin-row{display:grid;grid-template-columns:112px minmax(0,1fr) auto auto;gap:12px;align-items:center;border:1px solid #d4e2dc;border-radius:8px;padding:12px;background:#fff}.brand-admin-row img{width:112px;height:78px;border-radius:8px;object-fit:cover}.brand-admin-row p{margin:4px 0;color:#52605a;line-height:1.45}.brand-admin-row small{color:#335649;font-weight:900}.brand-image-preview{overflow:hidden;border:1px solid #d4e2dc;border-radius:8px;background:#edf6f1}.brand-image-preview img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover}.brand-visible-check{align-self:end;min-height:48px}.root-product-admin{border-top:1px solid #dce8e2;margin-top:32px;padding-top:24px}.preview-banner{display:grid;gap:8px;border:1px solid #f3c36b;border-radius:8px;margin-top:18px;padding:14px 16px;background:#fff7e8}.preview-banner strong,.preview-banner p{margin:0}.preview-banner strong{color:#8a4e00}.preview-banner p{color:#6e5a39;line-height:1.55;font-weight:800}.wonderium-page-admin{display:grid;gap:16px;margin-top:24px}.wonderium-page-admin .section-heading{align-items:start}.wonderium-admin-grid{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:18px;align-items:start}.wonderium-tile-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.kiosk-app{--frame-height: clamp(64px, 11dvh, 92px);--page-peek: clamp(24px, 5dvh, 42px);width:100vw;max-width:100vw;min-height:0;margin-inline:auto;height:var(--app-height);overflow:hidden;font-size:clamp(calc(14px * var(--wfs, 1)),calc(1.6vw * var(--wfs, 1)),calc(18px * var(--wfs, 1)));background:linear-gradient(180deg,#f6fbf8,#edf7f1 48%,#f6fbf8)}.orientation-guard{display:none}.kiosk-frame{position:relative;z-index:20;display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center;height:var(--frame-height);border-bottom:1px solid #cfe0d8;padding:16px clamp(20px,4vw,56px);background:#f6fbf8f5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.frame-controls,.bottom-controls{display:flex;justify-content:flex-end;gap:12px;flex-wrap:nowrap;min-width:0;overflow-x:auto}.frame-controls button,.bottom-controls button{min-width:116px;min-height:60px;font-size:calc(1.05rem * var(--wfs, 1));font-weight:900}.frame-controls .reset-to-landing{background:#1c5b47;color:#fff;border-color:#1c5b47}.frame-controls .reset-to-landing:hover{background:#164a39;border-color:#164a39}.frame-controls .reset-to-landing span[aria-hidden]{display:inline-block;margin-right:4px;font-size:1.15em;line-height:1}.frame-controls .bgm-toggle{background:#fff;color:#1c5b47;border-color:#cfe0d8}.frame-controls .bgm-toggle[aria-pressed=false]{color:#889892;background:#f1f5f3}.frame-controls .bgm-toggle span[aria-hidden]{display:inline-block;margin-right:4px;font-size:1.1em;line-height:1}.kiosk-screen{display:grid;gap:18px;height:100%;min-height:0;overflow:hidden;padding:20px clamp(20px,4vw,56px) 22px}.admin-screen{height:calc(var(--app-height) - var(--frame-height));overflow:auto;padding:24px clamp(20px,4vw,56px) 48px}.swipe-viewport{position:relative;height:calc(var(--app-height) - var(--frame-height));overflow:hidden;touch-action:manipulation}.swipe-track{display:grid;transition:transform .44s cubic-bezier(.2,.9,.2,1)}.swipe-page{height:calc(var(--app-height) - var(--frame-height) - var(--page-peek));overflow:hidden;pointer-events:none}.swipe-page.active{pointer-events:auto}.swipe-page.last{height:calc(var(--app-height) - var(--frame-height))}.section-pager{height:100%;min-height:0;overflow:hidden}.section-track{height:100%;transition:transform .46s cubic-bezier(.2,.9,.2,1)}.section-screen{height:calc(100% - var(--page-peek));min-height:0;overflow:hidden;padding-bottom:10px}.page-progress{position:absolute;right:clamp(18px,3vw,42px);bottom:14px;z-index:5;display:flex;align-items:center;gap:12px;border:1px solid rgba(28,91,71,.18);border-radius:8px;padding:8px 10px;background:#ffffffe6;box-shadow:0 10px 28px #1d23291f}.page-progress span{color:#335649;font-weight:900}.page-progress div{display:flex;gap:6px}.page-progress button{width:14px;height:14px;min-height:14px;border:0;border-radius:50%;padding:0;background:#b9d5c5}.page-progress button.active{width:34px;border-radius:8px;background:#1c5b47}.swipe-viewport.at-end:after{display:none}.swipe-viewport.has-next:after{position:absolute;left:50%;bottom:8px;z-index:4;width:74px;height:6px;border-radius:999px;content:"";background:#1c5b4752;transform:translate(-50%)}.page-title{display:grid;gap:6px;border-bottom:1px solid #dce8e2;padding-bottom:18px}.page-title h1{margin:0;font-size:clamp(calc(2rem * var(--wfs, 1)),calc(4vw * var(--wfs, 1)),calc(4rem * var(--wfs, 1)));line-height:1.05;letter-spacing:0}.home-screen{display:grid;gap:24px}.home-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:24px;align-items:stretch}.home-hero>div{display:grid;align-content:center;gap:14px;min-height:300px;border:1px solid #d4e2dc;border-radius:8px;padding:clamp(24px,4vw,46px);background:#fff}.home-hero h1{max-width:780px;margin:0;font-size:clamp(calc(3.2rem * var(--wfs, 1)),calc(7vw * var(--wfs, 1)),calc(7.2rem * var(--wfs, 1)));line-height:1.04;letter-spacing:0}.home-hero p:not(.eyebrow){max-width:640px;margin:0;color:#52605a;font-size:calc(1.2rem * var(--wfs, 1));line-height:1.6;font-weight:800}.home-hero img{width:100%;height:100%;min-height:300px;border-radius:8px;object-fit:cover}.touch-menu{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.touch-tile{position:relative;display:grid;align-content:end;gap:10px;overflow:hidden;min-height:300px;border:1px solid #c9dbd3;border-radius:8px;padding:20px;color:#fff;background:#1c5b47;text-align:left}.touch-tile:after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,#12201b0a,#112d24db);pointer-events:none}.touch-tile:hover{background:#1c5b47}.touch-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.touch-tile strong,.touch-tile small,.tile-number{position:relative;z-index:1}.touch-tile strong{font-size:clamp(calc(1.35rem * var(--wfs, 1)),calc(2vw * var(--wfs, 1)),calc(2rem * var(--wfs, 1)));line-height:1.16;letter-spacing:0}.touch-tile small{color:#ffffffeb;font-size:calc(1rem * var(--wfs, 1));line-height:1.45;font-weight:800}.tile-number{display:grid;width:48px;height:48px;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:8px;background:#00000047;font-size:calc(1.3rem * var(--wfs, 1));font-weight:900}.kiosk-stats{max-width:720px}.admin-entry{justify-self:end;min-width:220px;background:#52605a;border-color:#52605a}.bottom-controls{justify-content:center;border-top:1px solid #dce8e2;padding-top:20px}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;height:100%;min-height:0;grid-auto-rows:minmax(0,1fr)}.guide-card.is-focus{outline:3px solid #1c5b47;outline-offset:2px}.product-card-button,.guide-card-button{cursor:pointer;text-align:left;font:inherit;color:inherit;appearance:none;-webkit-appearance:none;width:100%}.product-card-button:active,.guide-card-button:active{transform:translateY(1px)}.product-card-cta,.guide-card-cta{color:#1c5b47;font-weight:800;white-space:nowrap}.guide-card-cta{display:inline-block;margin-top:8px}.product-detail{height:100%;min-height:0;overflow:hidden}.product-detail-scroll{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:clamp(16px,3vh,28px) clamp(18px,5vw,56px) 48px;display:grid;gap:14px;align-content:start}.product-detail-image{width:100%;max-height:42vh;object-fit:contain;background:#f1f5f3;border-radius:12px}.product-detail-scroll h1{margin:0;font-size:clamp(1.5rem,3vw,2.2rem)}.product-detail-scroll h2{margin:18px 0 4px;font-size:clamp(1.1rem,2vw,1.4rem);color:#1c5b47}.product-detail-scroll p{margin:0;line-height:1.6;font-size:clamp(1rem,1.5vw,1.15rem)}.product-detail-meta{display:flex;gap:8px;flex-wrap:wrap}.product-detail-meta span{background:#e7f0ec;color:#1c5b47;padding:4px 12px;border-radius:999px;font-weight:800;font-size:.95rem}.product-detail-pitch{font-weight:800}.product-detail-play{margin-top:18px;justify-self:start;background:#1c5b47;color:#fff;border:0;border-radius:10px;padding:16px 32px;font-size:1.05rem;font-weight:900;min-height:56px}.product-detail-play:active{background:#164a39}.guide-card{display:grid;grid-template-rows:190px minmax(0,1fr);gap:14px;border:1px solid #d4e2dc;border-radius:8px;overflow:hidden;min-height:0;background:#fff}.parent-note{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:16px;border:1px solid #d4e2dc;border-radius:8px;padding:24px;background:#fff;height:100%;min-height:0;box-sizing:border-box;overflow:hidden}.parent-note:not(:has(.parent-note-image)){grid-template-rows:auto}.parent-note-text{order:-1}.parent-note-image{width:100%;height:100%;min-height:0;object-fit:contain;border-radius:8px;border:1px solid #e3ece8;background:#edf6f1}.parent-note-text{display:grid;gap:12px}.guide-card>img{width:100%;height:100%;object-fit:cover;background:#edf6f1}.guide-card>div{display:flex;flex-direction:column;gap:10px;padding:18px;min-height:0;overflow:hidden}.guide-card>div>p:last-of-type{flex:1 1 auto;min-height:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}.guide-card-cta{flex:0 0 auto}.guide-card h2,.parent-note h2{margin:0;font-size:calc(1.5rem * var(--wfs, 1));line-height:1.2;letter-spacing:0}.guide-card p,.parent-note p{margin:0;color:#52605a;font-size:calc(1.05rem * var(--wfs, 1));line-height:1.7;font-weight:750}.guide-card strong{color:#1c5b47;line-height:1.5}.guide-card button{align-self:end;min-height:64px}.game-hub-page{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0}.game-hub-heading{margin-bottom:4px}.game-hub-heading>div{display:flex;align-items:baseline;flex-wrap:nowrap;gap:12px;min-width:0}.game-hub-heading .eyebrow{flex:0 0 auto;white-space:nowrap}.game-hub-heading h2{margin:0;flex:0 0 auto;font-size:clamp(calc(1.1rem * var(--wfs, 1)),calc(1.6vw * var(--wfs, 1)),calc(1.45rem * var(--wfs, 1)));line-height:1.2;white-space:nowrap}.game-hub-heading .muted{margin:0;flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.game-hub{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:18px;height:100%;min-height:0}.game-picker{display:grid;align-content:start;gap:10px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 8px 8px 0;touch-action:pan-y}.game-pick{display:grid;grid-template-columns:74px minmax(0,1fr);grid-template-rows:auto auto;gap:4px 10px;align-items:center;min-height:92px;border-color:#c9dbd3;color:#1d2329;background:#fff;text-align:left}.game-pick:hover,.game-pick.active{border-color:#1c5b47;color:#fff;background:#1c5b47}.game-pick img{grid-row:span 2;width:74px;height:62px;border-radius:8px;object-fit:cover}.game-heading-image{width:92px;height:62px;border:1px solid #d4e2dc;border-radius:8px;object-fit:cover;background:#edf6f1}.game-pick span{color:#b34337;font-size:calc(.9rem * var(--wfs, 1));font-weight:900}.game-pick.active span,.game-pick:hover span{color:#ffd560}.game-pick strong{min-width:0;font-size:calc(1.05rem * var(--wfs, 1));line-height:1.3}.category-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.category-buttons button{min-height:72px;border-color:#bdd3ca;color:#1d2329;background:#fff;font-size:calc(1.05rem * var(--wfs, 1));font-weight:900}.category-buttons button.active{border-color:#1c5b47;color:#fff;background:#1c5b47}.category-current{align-self:end;margin:0;border:1px solid #d4e2dc;border-radius:8px;padding:14px 16px;background:#fff;color:#335649;font-weight:900}.empty-state.compact{min-height:120px;margin:0;border:1px solid #d4e2dc;border-radius:8px;padding:24px;background:#fff;color:#52605a;font-weight:900}.catalog-panel{height:100%;grid-template-rows:auto auto auto minmax(0,1fr);gap:10px}.swipe-page .home-screen{position:relative;grid-template-rows:minmax(150px,.48fr) minmax(260px,1fr);height:100%;gap:14px}.swipe-page .home-hero{min-height:0;gap:14px}.swipe-page .home-hero>div,.swipe-page .home-hero img{min-height:0}.swipe-page .home-hero>div{padding:22px}.swipe-page .home-hero h1{font-size:clamp(calc(3rem * var(--wfs, 1)),calc(6vw * var(--wfs, 1)),calc(6.4rem * var(--wfs, 1)))}.swipe-page .home-hero p:not(.eyebrow){font-size:calc(1rem * var(--wfs, 1))}.swipe-page .touch-menu,.swipe-page .touch-tile{min-height:0;height:100%}.swipe-page .kiosk-stats{display:none}.swipe-page .admin-entry{position:absolute;right:clamp(20px,4vw,56px);bottom:8px;z-index:6;min-width:180px;min-height:44px;opacity:.92}.swipe-page .quiz-panel{height:100%}.swipe-page .quiz-panel .recommend-layout{grid-template-columns:minmax(0,1fr) minmax(250px,320px);gap:16px;height:100%;overflow:hidden}.swipe-page .quiz-question-pane{display:grid;grid-template-rows:minmax(0,1fr);min-height:0}.swipe-page .quiz-question-pane.has-intro{grid-template-rows:auto auto minmax(0,1fr)}.swipe-page .quiz-panel .section-heading,.swipe-page .quiz-panel .field-inline{margin-bottom:8px}.swipe-page .question-list{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:14px;min-height:0}.swipe-page .question-list.single{grid-template-rows:minmax(0,1fr)}.swipe-page .question-list.double{grid-template-rows:repeat(2,minmax(0,1fr))}.swipe-page .question-box{display:grid;grid-template-rows:auto repeat(3,minmax(0,1fr));gap:10px;min-height:0;padding:18px}.swipe-page .question-box h3{font-size:clamp(calc(1.3rem * var(--wfs, 1)),calc(1.85vw * var(--wfs, 1)),calc(1.72rem * var(--wfs, 1)));line-height:1.2}.swipe-page .answer-option{min-height:0;padding:12px 16px;font-size:clamp(calc(1.08rem * var(--wfs, 1)),calc(1.35vw * var(--wfs, 1)),calc(1.28rem * var(--wfs, 1)));line-height:1.25;font-weight:850}.swipe-page .profile-panel{display:grid;align-content:start;padding:16px}.swipe-page .profile-panel p{display:none}.swipe-page .trait-meter{grid-template-columns:82px minmax(0,1fr) 24px;margin-bottom:6px;font-size:calc(.95rem * var(--wfs, 1))}.swipe-page .quiz-panel>section:nth-of-type(2) .section-heading{margin-bottom:8px}.swipe-page .quiz-panel>section:nth-of-type(2) .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.swipe-page .quiz-results-screen{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;min-height:0;overflow:hidden}.swipe-page .quiz-results-screen .section-heading{margin-bottom:0}.swipe-page .quiz-results-screen.is-persona{grid-template-rows:auto minmax(0,1fr)}.swipe-page .quiz-results-screen.is-products{grid-template-rows:minmax(0,1fr)}.swipe-page .quiz-results-screen.is-products .product-recommendations{min-height:0;height:100%;margin-top:0;display:grid;grid-template-rows:auto minmax(0,1fr)}.swipe-page .quiz-results-screen.is-products .product-grid{min-height:0;height:100%;display:grid;grid-auto-flow:column;grid-auto-columns:clamp(150px,46%,260px);grid-template-columns:none;grid-template-rows:1fr;justify-content:start;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;touch-action:pan-x;-webkit-overflow-scrolling:touch}.swipe-page .quiz-results-screen.is-products .product-card{grid-template-columns:none;grid-template-rows:minmax(96px,.46fr) minmax(0,1fr);scroll-snap-align:start;min-height:0}.swipe-page .quiz-results-screen.is-products .product-image{height:100%}.swipe-page .quiz-results-screen.is-books{grid-template-rows:minmax(0,1fr)}.swipe-page .quiz-results-screen.is-books .book-recommendations{display:grid;min-height:0;height:100%;margin-top:0;grid-template-rows:auto minmax(0,1fr)}.swipe-page .quiz-results-screen.is-books .book-grid{min-height:0;height:100%;grid-auto-columns:clamp(180px,32%,300px);scroll-snap-type:x mandatory}.swipe-page .quiz-results-screen .product-grid{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 30px)/4);grid-template-columns:none;justify-content:start;direction:ltr;gap:10px;min-height:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:6px;touch-action:pan-x;-webkit-overflow-scrolling:touch;cursor:grab;-webkit-user-select:none;user-select:none}.swipe-page .quiz-results-screen .product-grid.dragging{cursor:grabbing;scroll-snap-type:none}.swipe-page .quiz-results-screen .product-card{scroll-snap-align:start}.swipe-page .quiz-results-screen .book-grid{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 20px) / 3);grid-template-columns:none;justify-content:start;direction:ltr;gap:10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:6px;touch-action:pan-x;-webkit-overflow-scrolling:touch;cursor:grab;-webkit-user-select:none;user-select:none}.swipe-page .quiz-results-screen .book-grid.dragging{cursor:grabbing;scroll-snap-type:none}.swipe-page .quiz-results-screen .book-card{scroll-snap-align:start}.swipe-page .quiz-results-screen .product-card{display:grid;grid-template-rows:minmax(70px,.58fr) minmax(0,1fr);min-height:0}.swipe-page .quiz-results-screen .product-image{height:100%;min-height:0;aspect-ratio:auto}.swipe-page .quiz-results-screen .product-body{grid-template-rows:auto auto minmax(0,1fr) auto;min-height:0}.swipe-page .quiz-results-screen .product-body h3,.swipe-page .quiz-results-screen .short-pitch{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical}.swipe-page .quiz-results-screen .product-body h3,.swipe-page .quiz-results-screen .short-pitch{-webkit-line-clamp:2}.swipe-page .quiz-results-screen .card-footer{align-self:end;flex-wrap:nowrap}.swipe-page .quiz-results-screen .card-footer>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swipe-page .quiz-results-screen .card-footer button{flex:1 1 auto;min-width:0}.book-recommendations{display:grid;gap:10px;margin-top:12px}.book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.book-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;border:1px solid #d4e2dc;border-radius:8px;overflow:hidden;background:#fff}.book-card img{width:92px;height:100%;min-height:138px;object-fit:cover;background:#edf6f1}.book-card>div{display:grid;gap:6px;padding:9px}.book-card h3,.book-card p{margin:0}.book-card h3{font-size:calc(.98rem * var(--wfs, 1));line-height:1.22}.book-card p{color:#52605a;font-size:calc(.82rem * var(--wfs, 1));line-height:1.32}.book-card a{align-self:end;color:#1c5b47;font-weight:900;text-decoration:none}.swipe-page .product-card{min-height:0}.swipe-page .product-image{aspect-ratio:16 / 9}.swipe-page .product-body{gap:8px;padding:10px}.swipe-page .product-body h3{font-size:calc(1.08rem * var(--wfs, 1))}.swipe-page .product-body p:not(.short-pitch){display:none}.swipe-page .tag-row{display:none}.swipe-page .card-footer{padding-top:8px}.swipe-page .card-footer button{min-height:42px;padding-inline:10px}.swipe-page .guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.swipe-page .guide-card{grid-template-rows:minmax(140px,.82fr) minmax(0,1fr);min-height:0}.swipe-page .guide-card>div{gap:8px;padding:14px}.swipe-page .guide-card h2{font-size:calc(1.25rem * var(--wfs, 1))}.swipe-page .guide-card p{font-size:calc(.96rem * var(--wfs, 1));line-height:1.48}.swipe-page .guide-card strong{font-size:calc(.94rem * var(--wfs, 1))}.swipe-page .guide-card button{min-height:50px}.swipe-page .parent-note{padding:18px}.swipe-page .game-hub{grid-template-columns:minmax(210px,280px) minmax(0,1fr);height:100%;gap:12px}.swipe-page .game-picker{display:grid;gap:10px;height:100%;max-height:100%;overflow-y:auto;padding-right:8px}.swipe-page .game-pick{min-height:86px;grid-template-columns:68px minmax(0,1fr)}.swipe-page .game-pick img{width:68px;height:58px}.swipe-page .game-shell{min-height:0;height:100%;overflow:hidden}.swipe-page .game-layout{grid-template-columns:minmax(0,1fr) minmax(220px,310px);gap:14px;height:calc(100% - 74px)}.swipe-page .game-layout:has(>.omok-board){grid-template-rows:minmax(0,1fr);align-items:stretch}.swipe-page .omok-board{width:auto;height:100%;max-width:min(100%,760px);min-height:0}.swipe-page .memory-grid{max-width:720px}.swipe-page .catalog-panel{height:100%}.swipe-page .catalog-screen{display:flex;flex-direction:column;gap:10px;height:100%;min-height:0;justify-content:flex-start}.swipe-page .catalog-screen>.product-grid{flex:1 1 auto;min-height:0;align-content:start;overflow-y:auto;grid-template-columns:repeat(4,minmax(0,1fr));justify-content:start}.swipe-page .toolbar{grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-bottom:10px}.swipe-page .category-buttons{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-bottom:10px}.swipe-page .category-buttons button{min-height:56px}.swipe-page .catalog-screen>.section-heading,.swipe-page .catalog-screen>.category-detail,.swipe-page .catalog-screen>.toolbar{overflow:hidden;transition:max-height .26s ease,opacity .2s ease,margin .26s ease;max-height:320px;opacity:1}.swipe-page .catalog-screen.is-collapsed>.section-heading,.swipe-page .catalog-screen.is-collapsed>.category-detail,.swipe-page .catalog-screen.is-collapsed>.toolbar{max-height:0;opacity:0;margin:0;pointer-events:none}.swipe-page .catalog-screen .category-buttons{position:sticky;top:0;z-index:2;transition:gap .2s ease}.swipe-page .catalog-screen.is-collapsed .category-buttons{gap:6px;margin-bottom:6px}.swipe-page .catalog-screen.is-collapsed .category-buttons button{min-height:44px;font-size:calc(.9rem * var(--wfs, 1))}.swipe-page .product-grid{gap:10px;max-height:100%;overflow:hidden}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #dce8e2;padding:14px clamp(16px,4vw,48px);background:#f6fbf8f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{display:inline-flex;align-items:center;gap:10px;min-height:52px;border:0;padding:0;color:inherit;background:transparent;text-decoration:none;white-space:nowrap}.brand:hover{background:transparent}.brand span{display:grid;width:44px;height:44px;place-items:center;border-radius:8px;color:#fff;background:#d85b4a;font-weight:900}.topbar nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.topbar nav button{min-height:48px;border-color:#bdd3ca;color:#1d2329;background:#fff}.topbar nav button.active{border-color:#1c5b47;color:#fff;background:#1c5b47}main:not(.swipe-viewport):not(.admin-screen):not(.brand-portal):not(.brand-admin-page):not(.landing-page){display:grid;gap:34px;padding:28px clamp(16px,4vw,48px) 56px}.intro-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,420px);gap:28px;align-items:end;border-bottom:1px solid #dce8e2;padding:10px 0 30px}.intro-band h1{max-width:860px;margin:8px 0 0;font-size:clamp(calc(2rem * var(--wfs, 1)),calc(3vw * var(--wfs, 1)),calc(3.6rem * var(--wfs, 1)));line-height:1.14;letter-spacing:0}.eyebrow{margin:0;color:#b34337;font-size:calc(.82rem * var(--wfs, 1));font-weight:900;letter-spacing:0}.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid #b9d5c5;border-radius:8px;background:#fff}.stat-strip span{display:grid;gap:6px;min-width:0;padding:16px;border-right:1px solid #dce8e2;color:#52605a;font-weight:700}.stat-strip span:last-child{border-right:0}.stat-strip strong{color:#1c5b47;font-size:calc(1.8rem * var(--wfs, 1))}.stack{display:grid;gap:34px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}.section-heading.compact{margin-bottom:10px}.section-heading h2{margin:4px 0 0;font-size:clamp(calc(1.65rem * var(--wfs, 1)),calc(2.3vw * var(--wfs, 1)),calc(2.35rem * var(--wfs, 1)));line-height:1.22;letter-spacing:0}.section-heading span{border:1px solid #c8d7d0;border-radius:8px;padding:8px 10px;background:#fff;font-weight:800}.toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px);gap:14px;align-items:end;margin-bottom:18px}.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.product-grid.small{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.product-card{overflow:hidden;border:1px solid #d4e2dc;border-radius:8px;background:#fff}.product-image{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;background:#dce8e2}.product-body{display:grid;gap:12px;padding:16px}.product-body h3{margin:0;font-size:calc(1.2rem * var(--wfs, 1));line-height:1.3;letter-spacing:0}.product-body p{margin:0;color:#52605a;line-height:1.6}.product-body .short-pitch{color:#1d2329;font-weight:800}.product-meta,.tag-row,.card-footer,.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.product-meta span,.product-meta strong,.tag-row span,.muted{border-radius:8px;padding:5px 8px;background:#edf6f1;color:#335649;font-size:calc(.85rem * var(--wfs, 1));font-weight:800}.product-meta strong{background:#ffe6d2;color:#7a351f}.card-footer{justify-content:space-between;border-top:1px solid #edf2ef;padding-top:12px;font-weight:900}.card-footer button{min-height:48px}.recommend-layout,.admin-layout,.game-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:24px;align-items:start}.field-inline{grid-template-columns:120px minmax(120px,180px);align-items:center;margin-bottom:16px}.field-inline.age-stepper{display:flex;align-items:center;gap:12px}.age-stepper-label{font-weight:850}.age-stepper-btn{width:52px;min-height:52px;border:2px solid #1c5b47;border-radius:10px;background:#fff;color:#1c5b47;font-size:1.6rem;font-weight:900;line-height:1}.age-stepper-btn:active:not(:disabled){background:#1c5b47;color:#fff}.age-stepper-btn:disabled{opacity:.4}.age-stepper-value{min-width:64px;text-align:center;font-size:1.5rem;font-weight:900;color:#1c5b47}.question-list{display:grid;gap:14px}.question-list.single{grid-template-rows:minmax(0,1fr)}.question-list.double{grid-template-rows:repeat(2,minmax(0,1fr))}.question-box{display:grid;gap:10px;border:1px solid #d4e2dc;border-radius:8px;margin:0;padding:16px;background:#fff}.question-box h3{margin:0;color:#1d2329;font-size:calc(1.25rem * var(--wfs, 1));line-height:1.25;font-weight:900;letter-spacing:0}.answer-option{display:flex;align-items:center;gap:14px;min-height:56px;border:1px solid #edf2ef;border-radius:8px;padding:10px;background:#fbfdfc;font-size:calc(1.06rem * var(--wfs, 1));font-weight:700}.answer-option input,.check-line input{min-height:24px;width:auto}.profile-panel,.game-side,.admin-editor{border:1px solid #d4e2dc;border-radius:8px;padding:18px;background:#fff}.profile-companion{margin:14px 0 0;display:grid;justify-items:center;gap:6px;padding-top:14px;border-top:1px dashed #d4e2dc}.profile-companion img{width:160px;height:160px;object-fit:contain;image-rendering:pixelated;background:#edf6f1;border:1px solid #d4e2dc;border-radius:50%;animation:companion-bob 2.4s ease-in-out infinite}@keyframes companion-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.profile-panel h3,.game-side h3,.admin-editor h3,.cluster-card h3{margin:0 0 12px;font-size:calc(1.05rem * var(--wfs, 1))}.trait-meter{display:grid;grid-template-columns:92px minmax(0,1fr) 32px;gap:8px;align-items:center;margin-bottom:10px;font-size:calc(.92rem * var(--wfs, 1))}.trait-meter strong{text-align:right}.cluster-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.cluster-card{min-height:120px;border:1px solid #d4e2dc;border-radius:8px;padding:16px;background:#fff}.cluster-card p{margin:0;color:#52605a;line-height:1.6}.game-shell{min-height:620px;display:flex;flex-direction:column;align-items:center}.game-shell>.section-heading,.game-shell>.game-layout{align-self:stretch;width:100%}.game-shell .omok-board,.game-shell .memory-grid,.game-shell .kanoodle-board,.game-shell .pattern-board,.game-shell .pattern-stage,.game-shell .square-puzzle-board{margin-inline:auto}.game-shell.empty-state{border:1px solid #d4e2dc;border-radius:8px;padding:24px;background:#fff}.omok-board{container-type:inline-size;--board-padding: clamp(22px, 5%, 38px);--hit-size: max(38px, 10cqw);position:relative;width:min(100%,80cqh,820px);aspect-ratio:1;border:3px solid #7a562d;border-radius:8px;background:#e2b86f;box-shadow:inset 0 0 0 5px #ffecb23d;touch-action:manipulation}.omok-board:before{position:absolute;inset:var(--board-padding);content:"";border:1px solid #7a562d;background-image:linear-gradient(90deg,#9f7641 1px,transparent 1px),linear-gradient(#9f7641 1px,transparent 1px);background-repeat:repeat;background-size:10% 100%,100% 10%;pointer-events:none}.omok-points{position:absolute;inset:var(--board-padding);z-index:1}.omok-cell{position:absolute;width:var(--hit-size);height:var(--hit-size);min-height:var(--hit-size);border:0;border-radius:50%;padding:0;background:transparent;transform:translate(-50%,-50%)}.omok-cell:hover{background:#ffffff42}.omok-cell span{position:absolute;inset:16%;border-radius:50%}.omok-cell.stone-1 span{background:#151515;box-shadow:inset 8px 8px 12px #ffffff1f}.omok-cell.stone-2 span{border:1px solid #c9c9c9;background:#f8f7ef;box-shadow:inset -7px -7px 12px #00000024}.memory-grid{display:grid;grid-template-columns:repeat(4,minmax(60px,1fr));gap:10px;width:100%;max-width:720px}.memory-card{aspect-ratio:1;min-height:0;border-color:#1c5b47;background:#1c5b47;font-size:calc(1.3rem * var(--wfs, 1));font-weight:900}.memory-card.visible{color:#1d2329;background:#ffd560}.pattern-area{display:grid;gap:20px}.pattern-sequence,.pattern-buttons{display:flex;flex-wrap:wrap;gap:10px}.pattern-chip,.pattern-button{min-width:92px;min-height:56px;border-radius:8px;padding:12px;color:#1d2329;font-weight:900;text-align:center}.pattern-button{border:0}.puzzle-game-layout{align-items:stretch}.square-puzzle-stage,.kanoodle-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,220px);gap:16px;align-items:center;min-height:0}.square-target{position:relative;overflow:hidden;width:min(100%,460px);aspect-ratio:1;border:5px solid #1c5b47;border-radius:8px;background:linear-gradient(180deg,#ffffffe6,#f6fbf8eb),#fff}.square-slot{position:absolute;display:grid;place-items:center;min-height:0;border:1px dashed #b9d5c5;border-radius:8px;background:#edf6f1d1;padding:0}.square-slot span:not(.square-piece){color:#8da197;font-size:calc(.72rem * var(--wfs, 1));font-weight:900;line-height:1.1;text-align:center}.tangram-caption{position:absolute;left:12px;top:10px;z-index:2;border-radius:8px;padding:6px 9px;background:#ffffffd1;color:#1c5b47;font-size:calc(.86rem * var(--wfs, 1))}.tangram-slot.slot-0{left:13%;top:8%;width:38%;height:34%}.tangram-slot.slot-1{right:13%;top:8%;width:38%;height:34%}.tangram-slot.slot-2{left:34%;top:39%;width:32%;height:28%}.tangram-slot.slot-3{left:13%;top:57%;width:24%;height:24%}.tangram-slot.slot-4{right:13%;top:57%;width:24%;height:24%}.tangram-slot.slot-5{left:39%;top:64%;width:22%;height:22%}.tangram-slot.slot-6{left:35%;top:78%;width:30%;height:16%}.piece-tray,.kanoodle-tray{display:grid;gap:10px;min-height:0}.puzzle-piece-button,.kanoodle-piece-button{display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px;align-items:center;min-height:64px;border-color:#c9dbd3;background:#fff;color:#1d2329;text-align:left}.puzzle-piece-button.active,.kanoodle-piece-button.active,.button-row button.active{border-color:#b34337;background:#fff0e9;color:#9d3d2f}.kanoodle-piece-button{touch-action:none;cursor:grab}.kanoodle-piece-button:active{cursor:grabbing}.square-piece{display:block;width:72px;aspect-ratio:1;border:3px solid rgba(255,255,255,.88);box-shadow:0 8px 16px #1d23291f;transition:transform .18s ease}.puzzle-piece-button .square-piece{width:44px}.square-slot .square-piece{width:78%}.square-piece.size-large{width:92px}.square-piece.size-medium{width:72px}.square-piece.size-small{width:54px}.puzzle-piece-button .square-piece.size-large{width:48px}.puzzle-piece-button .square-piece.size-medium{width:42px}.puzzle-piece-button .square-piece.size-small{width:34px}.square-piece.triangle{clip-path:polygon(50% 0,100% 100%,0 100%)}.square-piece.parallelogram{aspect-ratio:1.45;clip-path:polygon(24% 0,100% 0,76% 100%,0 100%)}.square-piece.square{border-radius:6px}.kanoodle-stage{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;align-content:start;gap:12px;touch-action:none;container-type:inline-size;--kanoodle-cell: calc((min(100cqw, 420px) - 48px) / 11)}.kanoodle-goal{display:grid;gap:4px;border:1px solid #c9dbd3;border-radius:8px;padding:10px 12px;background:#fff}.kanoodle-goal strong{color:#1c5b47}.kanoodle-goal span,.kanoodle-message{color:#52605a;font-weight:800;line-height:1.35}.kanoodle-board{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));gap:2px;width:min(100%,420px);aspect-ratio:11 / 5;border:8px solid #1c5b47;border-radius:18px;padding:4px;background:#173f34;touch-action:none}.kanoodle-cell{display:grid;place-items:center;min-height:0;border:0;border-radius:4px;padding:0;background:#ffffff2e;box-shadow:inset 0 0 0 2px #fff3}.kanoodle-cell span{display:none}.kanoodle-cell.filled{background:var(--bead-color);box-shadow:inset -6px -8px #0000002e,inset 5px 6px #ffffff61}.kanoodle-cell.preview{background:color-mix(in srgb,var(--preview-color) 64%,white);opacity:.82;box-shadow:inset -6px -8px #0000001f,inset 5px 6px #ffffff80,0 0 0 3px #ffffff9e}.kanoodle-cell.fixed{box-shadow:inset -6px -8px #0003,inset 5px 6px #ffffff6b,0 0 0 3px #ffffff80}.kanoodle-tray{display:flex;flex-wrap:wrap;gap:10px 10px;align-items:flex-start;justify-content:flex-start;padding:4px 2px 10px;touch-action:auto}.kanoodle-piece-button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;grid-template-columns:none;gap:0;min-height:0;min-width:0;border:2px solid transparent;border-radius:8px;padding:6px;background:transparent;box-shadow:none;touch-action:none;width:max-content}.kanoodle-piece-button.active{border-color:transparent;background:transparent}.kanoodle-piece-button.active .mini-kanoodle-piece{filter:drop-shadow(0 0 .45rem rgba(28,91,71,.5))}.mini-kanoodle-piece{--bead-size: clamp(14px, calc(var(--kanoodle-cell, 18px) * .62), 22px);--bead-gap: 2px;display:grid;grid-template-columns:repeat(var(--piece-cols),var(--bead-size));grid-template-rows:repeat(var(--piece-rows),var(--bead-size));gap:var(--bead-gap)}.mini-kanoodle-piece i{display:block;border-radius:4px;background:var(--piece-color);box-shadow:inset -3px -4px #00000029,inset 2px 2px #ffffff5c}.kanoodle-drag-preview{position:fixed;z-index:80;display:grid;place-items:center;padding:0;pointer-events:none;transform:translate(-50%,-50%);filter:drop-shadow(0 14px 18px rgba(29,35,41,.26))}.kanoodle-drag-preview .mini-kanoodle-piece{--bead-size: 22px;--bead-gap: 4px}.kanoodle-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:4px}.kanoodle-actions button{min-height:48px}.kanoodle-actions button:disabled{opacity:.38}.color-0{background:#ff8a7a}.color-1{background:#7bd88f}.color-2{background:#74c9e8}.color-3{background:#ffd560}.game-side p{color:#52605a;line-height:1.6}.game-score-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.game-score-row span{border:1px solid #d4e2dc;border-radius:8px;padding:12px;background:#edf6f1;color:#1c5b47;font-weight:900;text-align:center}.leaderboard{display:grid;gap:8px;border-top:1px solid #edf2ef;padding-top:12px}.leaderboard h4{margin:0;font-size:calc(1rem * var(--wfs, 1))}.leaderboard ol{display:grid;gap:6px;margin:0;padding:0;list-style:none}.leaderboard li{display:grid;grid-template-columns:48px 1fr auto;gap:8px;align-items:center;border:1px solid #edf2ef;border-radius:8px;padding:8px;background:#fff}.leaderboard p{margin:0}.admin-list,.admin-editor,.trait-editor,.json-tools{display:grid;gap:12px}.file-action{position:relative;overflow:hidden;display:inline-flex;align-items:center;min-height:48px;border:1px solid #1c5b47;border-radius:8px;padding:0 18px;color:#fff;background:#1c5b47;cursor:pointer}.file-action:hover{background:#24755d}.file-action input{position:absolute;inset:0;opacity:0;cursor:pointer}.import-panel{display:grid;gap:10px;border:1px solid #d4e2dc;border-radius:8px;padding:14px;background:#fff}.import-summary,.import-warnings{display:grid;gap:8px}.import-summary{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.import-summary span,.import-warnings p{margin:0;border-radius:8px;padding:8px 10px;background:#edf6f1;color:#335649;font-size:calc(.9rem * var(--wfs, 1));font-weight:800}.import-warnings p{background:#fff4ef;color:#8b4638}.admin-row{display:grid;grid-template-columns:76px minmax(0,1fr) auto auto;gap:12px;align-items:center;border:1px solid #d4e2dc;border-radius:8px;padding:10px;background:#fff}.admin-row img{width:76px;height:62px;border-radius:8px;object-fit:cover}.admin-row p{margin:4px 0 0;color:#52605a}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.check-line{display:flex;align-items:center;gap:8px}.trait-editor label{gap:4px}.json-tools{border-top:1px solid #edf2ef;margin-top:4px;padding-top:14px}.json-tools textarea{min-height:180px;font-family:Cascadia Mono,Consolas,monospace;font-size:calc(.85rem * var(--wfs, 1));font-weight:400}@media(max-width:900px){.brand-portal-head,.brand-admin-head{align-items:flex-start;flex-direction:column}.brand-button-grid,.brand-admin-layout,.wonderium-admin-grid,.wonderium-tile-editor{grid-template-columns:1fr}.kiosk-frame{position:static;grid-template-columns:1fr}.frame-controls{justify-content:stretch}.frame-controls button,.bottom-controls button{flex:1;min-width:0}.home-hero{grid-template-columns:1fr}.guide-grid{grid-template-columns:1fr;height:100%;min-height:0;grid-auto-rows:minmax(0,1fr)}.touch-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{position:static;align-items:flex-start;flex-direction:column}.topbar nav{justify-content:flex-start}.intro-band,.recommend-layout,.game-layout{grid-template-columns:1fr}.game-hub,.swipe-page .game-hub{grid-template-columns:minmax(150px,220px) minmax(0,1fr)}.game-shell{min-height:0}}@media(max-width:560px){.brand-portal{height:100dvh;overflow-y:auto;padding:18px}.brand-portal-head h1{font-size:calc(2.15rem * var(--wfs, 1))}.brand-button-grid{grid-auto-rows:minmax(220px,1fr)}.brand-button-card{min-height:220px}.brand-admin-row{grid-template-columns:1fr}.brand-admin-row img{width:100%;height:180px}.kiosk-screen{padding-inline:14px}.touch-menu,.game-pick{grid-template-columns:1fr}.game-hub,.swipe-page .game-hub{grid-template-columns:120px minmax(0,1fr)}.touch-tile{min-height:220px}.home-hero>div,.home-hero img{min-height:240px}.game-pick img{width:100%;height:68px}main{padding-inline:14px}.stat-strip,.toolbar,.two-col,.field-inline{grid-template-columns:1fr}.stat-strip span{border-right:0;border-bottom:1px solid #dce8e2}.stat-strip span:last-child{border-bottom:0}.admin-row{grid-template-columns:64px minmax(0,1fr)}.admin-row button{grid-column:span 1}.omok-board{width:100%}.memory-grid{grid-template-columns:repeat(3,minmax(64px,1fr))}}.orientation-guard.is-visible{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:#f6fbf8;text-align:center}.orientation-guard>div{display:grid;gap:14px;max-width:360px;border:1px solid #d4e2dc;border-radius:8px;padding:24px;background:#fff}.orientation-guard strong{color:#1c5b47;font-size:calc(1.8rem * var(--wfs, 1));line-height:1.15}.orientation-guard p{margin:0;color:#52605a;font-size:calc(1rem * var(--wfs, 1));line-height:1.5;font-weight:800}@media(orientation:landscape)and (max-height:560px){.kiosk-app{--frame-height: 52px;--page-peek: 14px;width:min(100vw,calc(var(--app-height) * 1.68));font-size:calc(13px * var(--wfs, 1))}button{min-height:40px;padding-inline:10px}.kiosk-frame{grid-template-columns:auto auto;justify-content:space-between;gap:8px;padding:5px 8px}.brand{min-height:40px;gap:6px}.brand span{width:34px;height:34px}.brand strong{font-size:calc(.92rem * var(--wfs, 1))}.frame-controls{gap:6px}.frame-controls button,.bottom-controls button{min-width:70px;min-height:42px;font-size:calc(.86rem * var(--wfs, 1))}.kiosk-screen{gap:6px;padding:6px 8px 8px}.swipe-page .home-screen{grid-template-rows:minmax(46px,.24fr) minmax(0,1fr);gap:6px}.swipe-page .home-hero{grid-template-columns:minmax(0,1fr) minmax(82px,.28fr);gap:6px}.swipe-page .home-hero>div{padding:8px 10px}.swipe-page .home-hero h1{font-size:clamp(calc(1.55rem * var(--wfs, 1)),calc(4vw * var(--wfs, 1)),calc(2.45rem * var(--wfs, 1)))}.touch-menu{gap:6px}.swipe-page .touch-menu{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.swipe-page .touch-tile{align-content:end;gap:3px;min-height:0;padding:7px}.tile-number{width:24px;height:24px;font-size:calc(.72rem * var(--wfs, 1))}.touch-tile strong{font-size:calc(.84rem * var(--wfs, 1));line-height:1.08}.touch-tile small{font-size:calc(.64rem * var(--wfs, 1));line-height:1.14}.page-progress{right:8px;bottom:5px;gap:6px;padding:5px 6px}.page-progress button{width:10px;height:10px;min-height:10px}.page-progress button.active{width:24px}.swipe-viewport.has-next:after{bottom:5px;width:48px;height:4px}.section-screen{padding-bottom:4px}.section-heading{gap:8px;margin-bottom:6px}.section-heading h2{font-size:calc(1.25rem * var(--wfs, 1))}.eyebrow{font-size:calc(.68rem * var(--wfs, 1))}.swipe-page .quiz-panel .recommend-layout,.recommend-layout{grid-template-columns:minmax(0,1fr) minmax(150px,210px);gap:8px}.swipe-page .quiz-panel .section-heading,.swipe-page .quiz-panel .field-inline{margin-bottom:4px}.field-inline{grid-template-columns:74px minmax(70px,110px)}.field-inline input{min-height:36px;padding:6px 8px}.swipe-page .question-list{gap:6px}.swipe-page .question-box{gap:5px;padding:8px}.swipe-page .question-box h3{font-size:calc(.98rem * var(--wfs, 1))}.swipe-page .answer-option{min-height:0;padding:5px 8px;font-size:calc(.82rem * var(--wfs, 1));line-height:1.18}.swipe-page .profile-panel{padding:8px}.profile-panel h3,.game-side h3,.admin-editor h3,.cluster-card h3{margin-bottom:6px;font-size:calc(.9rem * var(--wfs, 1))}.swipe-page .trait-meter{grid-template-columns:58px minmax(0,1fr) 18px;gap:4px;margin-bottom:3px;font-size:calc(.72rem * var(--wfs, 1))}meter{height:8px}.swipe-page .quiz-panel>section:nth-of-type(2) .product-grid,.swipe-page .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.swipe-page .quiz-results-screen{grid-template-rows:auto minmax(0,1fr);gap:6px}.swipe-page .quiz-results-screen .book-recommendations{display:none}.swipe-page .quiz-results-screen .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));height:100%}.swipe-page .quiz-results-screen .product-card{grid-template-columns:minmax(56px,.34fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.swipe-page .quiz-results-screen .product-image{height:100%}.swipe-page .product-body{gap:4px;padding:6px}.swipe-page .quiz-results-screen .product-body{grid-template-rows:auto auto minmax(0,1fr) auto}.swipe-page .product-body h3{font-size:calc(.82rem * var(--wfs, 1))}.swipe-page .quiz-results-screen .product-body h3{font-size:calc(.78rem * var(--wfs, 1));line-height:1.12}.short-pitch{font-size:calc(.72rem * var(--wfs, 1));line-height:1.25}.swipe-page .quiz-results-screen .short-pitch{font-size:calc(.62rem * var(--wfs, 1));line-height:1.15;-webkit-line-clamp:2}.swipe-page .quiz-results-screen .product-meta{gap:3px}.swipe-page .quiz-results-screen .product-meta span,.swipe-page .quiz-results-screen .product-meta strong{padding:2px 4px;font-size:calc(.58rem * var(--wfs, 1));line-height:1.1}.swipe-page .quiz-results-screen .card-footer{gap:4px;padding-top:4px;font-size:calc(.62rem * var(--wfs, 1))}.card-footer button{min-height:34px}.swipe-page .quiz-results-screen .card-footer button{min-height:30px;padding-inline:5px;font-size:calc(.62rem * var(--wfs, 1))}.book-grid{gap:6px}.book-card{grid-template-columns:54px minmax(0,1fr)}.book-card img{width:54px;min-height:78px}.book-card>div{gap:3px;padding:5px}.book-card h3{font-size:calc(.7rem * var(--wfs, 1))}.book-card p{display:none}.book-card a{font-size:calc(.68rem * var(--wfs, 1))}.swipe-page .guide-grid{gap:8px}.swipe-page .guide-card{grid-template-rows:minmax(70px,.55fr) minmax(0,1fr)}.swipe-page .guide-card>div{gap:4px;padding:8px}.swipe-page .guide-card h2{font-size:calc(.95rem * var(--wfs, 1))}.swipe-page .guide-card p,.swipe-page .guide-card strong{font-size:calc(.72rem * var(--wfs, 1));line-height:1.25}.swipe-page .guide-card button{min-height:34px}.swipe-page .game-hub{grid-template-columns:minmax(120px,170px) minmax(0,1fr);gap:8px}.swipe-page .game-picker{gap:6px;padding-right:4px}.swipe-page .game-pick{grid-template-columns:44px minmax(0,1fr);min-height:52px;gap:2px 6px;padding:5px}.swipe-page .game-pick img{width:44px;height:38px}.game-pick span{font-size:calc(.65rem * var(--wfs, 1))}.game-pick strong{font-size:calc(.75rem * var(--wfs, 1))}.game-heading-image{width:52px;height:36px}.swipe-page .game-layout{grid-template-columns:minmax(0,1fr) minmax(140px,200px);gap:8px;height:calc(100% - 46px)}.swipe-page .puzzle-game-layout{grid-template-columns:minmax(0,1fr) minmax(112px,130px)}.square-puzzle-stage,.kanoodle-stage{grid-template-columns:minmax(0,1fr) minmax(150px,190px);gap:8px}.kanoodle-stage{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;align-content:start;gap:5px}.square-target{width:min(100%,230px);border-width:4px}.tangram-caption{left:6px;top:6px;padding:3px 5px;font-size:calc(.58rem * var(--wfs, 1))}.square-slot span:not(.square-piece){font-size:calc(.5rem * var(--wfs, 1))}.piece-tray,.kanoodle-tray{gap:5px}.puzzle-piece-button,.kanoodle-piece-button{grid-template-columns:34px minmax(0,1fr);gap:5px;min-height:38px;padding:5px;font-size:calc(.62rem * var(--wfs, 1))}.puzzle-piece-button .square-piece{width:30px}.puzzle-piece-button .square-piece.size-large{width:31px}.puzzle-piece-button .square-piece.size-medium{width:28px}.puzzle-piece-button .square-piece.size-small{width:24px}.kanoodle-board{width:min(100%,260px);gap:1px;border-width:6px;border-radius:12px;padding:2px}.kanoodle-cell span{font-size:calc(.45rem * var(--wfs, 1))}.kanoodle-tray{gap:4px;max-width:100%;padding-bottom:4px}.kanoodle-piece-button{place-items:center;min-width:46px;min-height:46px;padding:4px}.mini-kanoodle-piece{--bead-size: 9px;--bead-gap: 1px;grid-template-columns:repeat(var(--piece-cols),var(--bead-size));grid-template-rows:repeat(var(--piece-rows),var(--bead-size));gap:1px}.kanoodle-drag-preview{min-width:52px;min-height:52px;padding:6px}.kanoodle-drag-preview .mini-kanoodle-piece{--bead-size: 12px;--bead-gap: 2px}.kanoodle-goal{gap:2px;padding:4px 6px}.kanoodle-goal strong{font-size:calc(.62rem * var(--wfs, 1))}.kanoodle-goal span,.kanoodle-message{font-size:calc(.56rem * var(--wfs, 1));line-height:1.18}.kanoodle-actions{grid-template-columns:1fr;gap:6px}.kanoodle-actions button{min-height:32px;padding-inline:5px}.game-side{padding:8px}.game-side p{margin:0 0 6px;font-size:calc(.72rem * var(--wfs, 1));line-height:1.3}.game-side button{min-height:34px}.swipe-page .omok-board{width:min(100%,280px)}.omok-board{--board-padding: clamp(16px, 5%, 24px);--hit-size: clamp(24px, 5vw, 38px)}.memory-grid{gap:6px;max-width:280px}.memory-card{font-size:calc(.9rem * var(--wfs, 1))}.game-score-row{gap:5px}.game-score-row span,.leaderboard li{padding:5px;font-size:calc(.7rem * var(--wfs, 1))}.leaderboard{gap:4px;padding-top:6px}.leaderboard h4{font-size:calc(.78rem * var(--wfs, 1))}.leaderboard ol{gap:3px}.pattern-area{gap:8px}.pattern-sequence,.pattern-buttons{gap:6px}.pattern-chip,.pattern-button{min-width:58px;min-height:36px;padding:7px;font-size:calc(.72rem * var(--wfs, 1))}.catalog-panel,.swipe-page .catalog-screen{gap:6px}.swipe-page .toolbar{gap:6px;margin-bottom:4px}.swipe-page .category-buttons{gap:5px;margin-bottom:4px}.swipe-page .category-buttons button{min-height:38px;font-size:calc(.75rem * var(--wfs, 1))}}@media(pointer:coarse){button{min-height:56px}.kiosk-frame{padding-block:18px}.frame-controls button,.bottom-controls button{min-height:68px}.touch-tile{min-height:340px}.question-box{padding:20px}.answer-option{min-height:72px;padding:14px 16px;font-size:calc(1.08rem * var(--wfs, 1))}.topbar nav{width:100%}.topbar nav button{flex:1 1 140px}.product-card{scroll-margin-top:18px}.product-body{gap:14px;padding:18px}.tag-row span,.product-meta span,.product-meta strong{padding:8px 10px}.omok-board{width:min(100%,720px)}.memory-grid{gap:12px}.pattern-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(pointer:coarse)and (orientation:landscape)and (max-height:560px){button,.frame-controls button,.bottom-controls button{min-height:40px}.kiosk-frame{padding-block:5px}.touch-tile{min-height:0}.question-box{padding:8px}.answer-option{min-height:0;padding:5px 8px;font-size:calc(.82rem * var(--wfs, 1))}.omok-board{width:min(100%,280px)}.memory-grid{gap:6px}}@media(orientation:landscape)and (max-height:340px){.kiosk-app{--frame-height: 46px;--page-peek: 10px;width:min(100vw,calc(var(--app-height) * 1.58));font-size:calc(12px * var(--wfs, 1))}.brand span{width:30px;height:30px}.brand strong{font-size:calc(.78rem * var(--wfs, 1))}.frame-controls button{min-width:58px;min-height:34px;font-size:calc(.74rem * var(--wfs, 1))}.swipe-page .home-screen{grid-template-rows:34px minmax(0,1fr);gap:5px}.swipe-page .home-hero{grid-template-columns:1fr 58px}.swipe-page .home-hero>div{padding:5px 8px}.swipe-page .home-hero h1{font-size:calc(1.3rem * var(--wfs, 1))}.touch-tile small{display:none}.tile-number{width:22px;height:22px}}.admin-workspace{display:grid;gap:20px}.admin-workspace-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.admin-toast{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d9c27f;border-radius:12px;padding:12px 14px;background:#fff6d9}.admin-head-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.save-toast{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:12px;padding:12px 14px;font-size:calc(14px * var(--wfs, 1))}.save-toast.ok{border:1px solid #2c7a5b;background:#e8f6ee;color:#134a32}.save-toast.err{border:1px solid #b94646;background:#fbe5e1;color:#62201a}.save-toast a{color:inherit;font-weight:600;text-decoration:underline}.ghost-button{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid #c8c4b6;border-radius:8px;background:#fff;color:#2c2a23;text-decoration:none;font-size:calc(14px * var(--wfs, 1));cursor:pointer}.ghost-button.compact{padding:6px 10px;font-size:calc(13px * var(--wfs, 1))}.ghost-button:hover{background:#f5f2e8}.admin-preview-panel{display:grid;gap:8px;padding:14px;border:1px dashed #c8c4b6;border-radius:12px;background:#fbfaf3}.admin-preview-panel .product-card,.admin-preview-panel .book-card{max-width:360px;margin:0 auto}.admin-section-tabs,.admin-tab-row,.bulk-row{display:flex;flex-wrap:wrap;gap:8px}.admin-section-tabs button,.admin-tab-row button{min-height:42px}.admin-section-tabs button.active,.admin-tab-row button.active{border-color:#123f32;background:#123f32}.catalog-pagination{display:flex;justify-content:center;align-items:center;gap:12px;padding:14px 0 4px;margin-top:8px;border-top:1px solid #e3ece8}.catalog-pagination button{min-width:96px;min-height:38px;background:#fff;border:1px solid #cfe0d8;border-radius:6px;font-weight:700;cursor:pointer}.catalog-pagination button:hover:not(:disabled){border-color:#1c5b47;color:#1c5b47}.catalog-pagination button:disabled{opacity:.4;cursor:not-allowed}.catalog-pagination-status{font-size:.95rem;color:#52605a;font-weight:600}.admin-save-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 16px;padding:10px 14px;border:1px solid #d4e0db;border-radius:12px;background:#f8fbfa;position:sticky;top:0;z-index:10}.admin-save-bar-right{display:flex;gap:8px}.primary-button{padding:8px 18px;border:1px solid #1c5b47;border-radius:10px;background:#1c5b47;color:#fff;font-weight:600;cursor:pointer}.primary-button:hover:not(:disabled){background:#134a32}.primary-button:disabled,.ghost-button:disabled{opacity:.5;cursor:not-allowed}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:calc(.85rem * var(--wfs, 1));border:1px solid}.status-pill.pending{border-color:#d9a73d;background:#fff6d9;color:#6b4d0a}.status-pill.saving{border-color:#2c7a5b;background:#e8f6ee;color:#134a32}.status-pill.ok{border-color:#c8d6cf;background:#f5faf7;color:#1c5b47}.admin-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.admin-pane.left{display:grid;gap:16px;min-width:0}.admin-pane.right.preview-pane{position:sticky;top:16px;display:grid;gap:12px;padding:14px;border:1px dashed #c8c4b6;border-radius:14px;background:#fbfaf3;max-height:calc(100vh - 32px);overflow:auto}.preview-pane-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.preview-pane-head .eyebrow{margin:0}.home-preview-frame{position:relative;width:100%;aspect-ratio:1280 / 760;border-radius:12px;overflow:hidden;background:#f5d6c2;pointer-events:none}.home-preview-frame .pix-room{position:absolute;inset:0;width:100%;height:100%;min-height:0!important}@media(max-width:1280px){.admin-split{grid-template-columns:1fr}.admin-pane.right.preview-pane{position:static;max-height:none}}.admin-page-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:8px 0 24px}@media(max-width:880px){.admin-page-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-page-tabs button{display:grid;gap:4px;padding:18px 16px;text-align:left;border:1px solid #d4e0db;border-radius:16px;background:#fff;color:#2c2a23;cursor:pointer;transition:border-color .12s ease,background .12s ease,transform .12s ease}.admin-page-tabs button:hover{border-color:#1c5b47;transform:translateY(-1px)}.admin-page-tabs button.active{border-color:#1c5b47;background:#e9f3ec;box-shadow:0 0 0 2px #1c5b472e}.admin-page-tabs button .tab-emoji{font-size:calc(1.6rem * var(--wfs, 1));line-height:1}.admin-page-tabs button>span:nth-child(2){font-weight:700;font-size:calc(1.05rem * var(--wfs, 1))}.admin-page-tabs button small{color:#52615c;font-size:calc(.82rem * var(--wfs, 1))}.admin-workspace-status{margin:0;font-size:calc(.86rem * var(--wfs, 1))}.tile-accordion{display:grid;gap:10px;margin-top:12px}.tile-accordion-item{border:1px solid #d4e0db;border-radius:14px;background:#fff;overflow:hidden}.tile-accordion-item.expanded{box-shadow:0 0 0 2px #1c5b4724}.tile-accordion-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;-webkit-user-select:none;user-select:none}.tile-accordion-head:hover{background:#f5faf7}.tile-accordion-head:focus-visible{outline:2px solid #1c5b47;outline-offset:-2px}.tile-head-right{display:flex;align-items:center;gap:10px}.tile-visible-pill{font-size:calc(.82rem * var(--wfs, 1));color:#52615c}.tile-visible-pill.on{color:#1c5b47;font-weight:600}.chevron{color:#8aa19b;font-size:calc(.95rem * var(--wfs, 1))}.tile-accordion-body{display:grid;gap:10px;padding:14px 16px 16px;border-top:1px solid #eef3f0}.hero-editor h3{margin:0 0 8px}.muted.small,.small{font-size:calc(.82rem * var(--wfs, 1))}.admin-editor-empty{display:grid;align-content:start;gap:12px;padding:20px;border:1px dashed #c8d6cf;border-radius:14px;background:#fafbfa;color:#2c2a23}.admin-editor-empty h3{margin:0;font-size:calc(1.05rem * var(--wfs, 1))}.admin-editor-empty .button-row{margin-top:4px}.admin-editor-head{display:flex;align-items:center;justify-content:space-between}.admin-editor-head-right{display:flex;align-items:center;gap:8px}.brand-image-preview.with-remove{position:relative}.image-remove-btn{position:absolute;top:8px;right:8px;padding:6px 10px;font-size:calc(.82rem * var(--wfs, 1));border:1px solid #b94646;border-radius:8px;background:#ffffffeb;color:#62201a;cursor:pointer}.image-remove-btn:hover{background:#fbe5e1}@media(max-width:920px){.admin-page-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-layout.wide{grid-template-columns:minmax(0,1.3fr) minmax(320px,.85fr);align-items:start;gap:16px}.admin-layout.wide>*{min-width:0}.catalog-panel{display:grid;gap:14px}.catalog-toolbar,.catalog-filter-row{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px}.catalog-filter-row label{min-width:180px;flex:1 1 220px}.catalog-grid{display:grid;gap:12px}.reorder-hint{margin:4px 0 0;font-size:calc(.86rem * var(--wfs, 1))}.catalog-admin-card{display:grid;grid-template-columns:32px 88px minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid #d4e0db;border-left:5px solid #cbd7d2;border-radius:16px;padding:12px;background:#fff;transition:box-shadow .12s ease,transform .12s ease,opacity .12s ease}.catalog-grid.reorder-on .catalog-admin-card{grid-template-columns:18px 32px 88px minmax(0,1fr) auto;cursor:grab}.catalog-grid.reorder-on .catalog-admin-card.is-dragging{cursor:grabbing;opacity:.4}.catalog-admin-card.is-drop-target{box-shadow:0 -3px #1c5b47,0 0 0 2px #1c5b472e;transform:translateY(2px)}.reorder-grip{align-self:center;text-align:center;font-size:calc(1.1rem * var(--wfs, 1));line-height:1;color:#8aa19b;-webkit-user-select:none;user-select:none}.catalog-admin-card.is-editing{box-shadow:0 0 0 2px #1c5b4729}.catalog-admin-card.kind-product{border-left-color:#ff6fa5}.catalog-admin-card.kind-book{border-left-color:#6b4fc9}.catalog-admin-card.status-draft{opacity:.78}.catalog-admin-card.status-paused{opacity:.58}.catalog-admin-card.status-discontinued{opacity:.42;border-style:dashed}.catalog-admin-card>img,.persona-admin-tile img,.pix-card-thumb{width:100%;height:88px;border-radius:12px;object-fit:cover}.catalog-card-body{min-width:0}.catalog-card-body h3,.catalog-card-body p{margin:0}.catalog-card-body h3{margin-bottom:6px}.catalog-card-body p{color:#52615c}.catalog-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:calc(.88rem * var(--wfs, 1))}.catalog-card-actions{display:grid;gap:8px}.catalog-card-actions button{min-height:40px}.select-line{align-items:center;justify-items:center;font-size:calc(.78rem * var(--wfs, 1));color:#64736d}.admin-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dirty-pill{border-radius:999px;padding:6px 12px;color:#64736d;background:#edf4f0;font-size:calc(.82rem * var(--wfs, 1));font-weight:800}.dirty-pill.active{color:#7f1d1d;background:#ffe7e7}.admin-radar-panel{display:grid;gap:18px;grid-template-columns:minmax(0,240px) minmax(0,1fr);align-items:center}.radar-chart{width:100%;max-width:260px;justify-self:center}.radar-grid,.radar-axis{fill:none;stroke:#cbd9d3;stroke-width:1}.radar-fill{fill:#1c5b472e;stroke:#1c5b47;stroke-width:2}.radar-dot{fill:#1c5b47}.radar-dot.is-highlight{fill:#ff6fa5}.radar-label{fill:#31413b;font-size:calc(12px * var(--wfs, 1));font-weight:700}.persona-list-pane{display:grid;gap:12px;min-width:0}.persona-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.persona-admin-tile{display:grid;gap:8px;min-height:0;border:1px solid #d4e0db;border-radius:14px;padding:12px;color:#1d2329;background:#fff;text-align:left}.persona-admin-tile.active{border-color:#1c5b47;box-shadow:0 0 0 2px #1c5b4729}.persona-admin-tile strong,.persona-admin-tile span{color:inherit}.persona-card{display:grid;gap:18px;border:1px solid #d4e0db;border-radius:20px;padding:20px;background:linear-gradient(180deg,#fffef9,#f6fbf8)}.persona-card-head{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:center}.persona-card-head img{width:120px;height:120px;border-radius:18px;object-fit:cover;background:#edf4f0}.persona-card-head h3,.persona-card-head p{margin:0}.persona-card-copy{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.persona-card-copy section{border:1px solid #e1ebe6;border-radius:16px;padding:16px;background:#fff}.persona-card-copy section strong,.profile-copy-block strong{display:block;margin-bottom:8px}.persona-card-copy section p,.profile-copy-block ul,.persona-card-copy ul{margin:0}.persona-card-copy ul,.profile-copy-block ul{padding-left:18px}.profile-copy-block{display:grid;gap:8px;border-top:1px solid #d8e5df;padding-top:12px;margin-top:12px}.advanced-panel{display:grid;gap:16px}.pix-hero-photo{width:min(240px,28vw);border:3px solid #2a1f2d;border-radius:18px;overflow:hidden;background:#fffc}.pix-hero-photo img{display:block;width:100%;height:160px;object-fit:cover}.pix-card-thumb{width:66px;height:66px}@media(max-width:760px){.admin-layout.wide,.admin-radar-panel,.persona-card-copy,.persona-card-head{grid-template-columns:1fr}.catalog-admin-card{grid-template-columns:32px 72px minmax(0,1fr)}.catalog-card-actions{grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr))}}.landing-admin-preset-list{display:grid;gap:14px;margin-top:12px}.landing-admin-preset{border:1px solid #d4e0db;border-radius:12px;padding:14px 16px;background:#fbfaf3;display:grid;gap:10px}.landing-admin-preset>header{display:flex;align-items:center;justify-content:space-between;gap:8px}.landing-admin-preset>header strong{font-size:calc(.9rem * var(--wfs, 1));color:#1c5b47}.landing-admin-preset-order{display:flex;gap:6px}.landing-admin-preset-order button{padding:4px 10px;font-size:calc(.85rem * var(--wfs, 1))}.landing-preview-frame{position:relative;border-radius:12px;overflow:hidden;background:#f5d6c2;pointer-events:none;max-height:70vh;overflow-y:auto}.landing-preview-frame .landing-page{min-height:auto;padding:16px}.landing-preview-frame .landing-card{width:100%;box-shadow:4px 4px #2a1f2d}@font-face{font-family:Galmuri11;src:url(https://cdn.jsdelivr.net/npm/galmuri/dist/Galmuri11.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Galmuri11 Bold;src:url(https://cdn.jsdelivr.net/npm/galmuri/dist/Galmuri11-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}.skin-pixel{--pix-bg: #f5d6c2;--pix-wall: #f5d6c2;--pix-floor: #c49156;--pix-dark: #2a1f2d;--pix-pink: #e06fa2;--pix-pink-soft: #ffb8d0;--pix-pink-deep: #a8476e;--pix-cream: #fff8f0;--pix-yellow: #ffd94d;--pix-yellow-soft: #ffe8a0;--pix-mint: #8ac5d6;--pix-lilac: #c4a8ff;--pix-peach: #ffb266;--pix-red: #d94a46;--pix-muted: #6a5a66;font-family:Galmuri11,Galmuri11 Bold,"Press Start 2P",monospace;color:var(--pix-dark);-webkit-font-smoothing:none;font-smooth:never}.skin-pixel *{-webkit-font-smoothing:none;font-smooth:never}.skin-pixel svg{shape-rendering:crispEdges}.skin-pixel.app{background:var(--pix-bg)!important}.skin-pixel .kiosk-frame{background:var(--pix-pink)!important;border-bottom:4px solid var(--pix-dark)!important;padding:0 16px!important;height:48px!important;grid-template-columns:auto 1fr!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.skin-pixel .kiosk-frame .brand{display:flex;align-items:center;gap:10px;background:transparent!important;border:0!important;color:var(--pix-cream)!important;font-family:Galmuri11 Bold,monospace!important;font-size:calc(16px * var(--wfs, 1))!important;font-weight:400!important;height:auto!important;min-height:0!important;padding:0!important}.skin-pixel .kiosk-frame .brand>span:first-child{width:28px;height:28px;background:var(--pix-cream);color:var(--pix-pink);display:grid;place-items:center;font-family:"Press Start 2P",monospace;font-size:calc(12px * var(--wfs, 1));border:2px solid var(--pix-dark);border-radius:0!important}.skin-pixel .kiosk-frame .brand strong{color:var(--pix-cream);font-family:Galmuri11 Bold,monospace!important;font-size:calc(15px * var(--wfs, 1))!important;letter-spacing:.5px}.skin-pixel .kiosk-frame .brand strong:before{content:"› ";color:var(--pix-yellow)}.skin-pixel .frame-controls{gap:6px!important}.skin-pixel .frame-controls button{min-width:0!important;min-height:0!important;padding:6px 12px!important;background:var(--pix-cream)!important;color:var(--pix-dark)!important;border:none!important;border-radius:0!important;font-family:Galmuri11 Bold,monospace!important;font-size:calc(13px * var(--wfs, 1))!important;font-weight:400!important;box-shadow:inset -2px -2px #a8819a,inset 2px 2px #fff;cursor:pointer}.skin-pixel .frame-controls button:hover{background:var(--pix-yellow)!important}.skin-pixel .frame-controls button:disabled{opacity:.45;background:var(--pix-cream)!important}.skin-pixel button{border-radius:0!important;font-family:Galmuri11 Bold,monospace!important}.skin-pixel .home-screen button,.skin-pixel .touch-tile,.skin-pixel .game-pick{border-radius:0!important}.skin-pixel .page-progress{background:var(--pix-cream)!important;border:3px solid var(--pix-dark)!important;border-radius:0!important;box-shadow:4px 4px 0 var(--pix-dark)!important;padding:6px 10px!important}.skin-pixel .page-progress span{color:var(--pix-pink-deep)!important;font-family:"Press Start 2P",monospace!important;font-size:calc(10px * var(--wfs, 1))!important}.skin-pixel .page-progress button{border-radius:0!important;background:var(--pix-pink-soft)!important}.skin-pixel .page-progress button.active{background:var(--pix-pink)!important}.skin-pixel .kiosk-screen:has(.home-screen){padding:0!important;gap:0!important;grid-template-rows:1fr!important}.skin-pixel .home-screen{position:relative;display:block!important;gap:0!important;padding:0!important;height:100%;overflow:hidden}.skin-pixel .page-progress:has(button:only-child){display:none}.skin-pixel .pix-room{position:relative;width:100%;height:100%;min-height:520px;overflow:hidden;background:var(--pix-wall);image-rendering:pixelated;container-type:size}.skin-pixel .pix-stage{position:absolute;top:50%;left:50%;width:1280px;height:760px;margin:-380px 0 0 -640px;transform-origin:center center;transform:scale(min(calc(100cqw/1280px),calc(100cqh/760px)))}.skin-pixel .pix-bg-svg{position:absolute;inset:0;width:100%;height:100%}.skin-pixel .pix-hero{position:absolute;top:16px;left:16px;z-index:12}.skin-pixel .pix-eyebrow{display:inline-block;background:var(--pix-yellow);border:3px solid var(--pix-dark);box-shadow:4px 4px 0 var(--pix-dark);padding:4px 10px;font-family:"Press Start 2P",monospace;font-size:calc(10px * var(--wfs, 1));color:var(--pix-dark);letter-spacing:1px}.skin-pixel .pix-hero h1{margin:12px 0 0;font-family:Galmuri11 Bold,monospace;font-size:calc(32px * var(--wfs, 1));color:var(--pix-dark);line-height:1.05;letter-spacing:1px;text-shadow:4px 4px 0 var(--pix-pink)}.skin-pixel .pix-hero h1 em{font-style:normal;color:var(--pix-pink);text-shadow:4px 4px 0 var(--pix-dark)}.skin-pixel .pix-hero .pix-sub{margin-top:14px;display:inline-block;background:var(--pix-cream);border:3px solid var(--pix-dark);box-shadow:4px 4px 0 var(--pix-dark);padding:6px 12px;font-family:Galmuri11,monospace;font-size:calc(14px * var(--wfs, 1));color:#4a3a44}.skin-pixel .pix-hud{position:absolute;top:16px;right:16px;z-index:12;background:var(--pix-cream);border:3px solid var(--pix-dark);box-shadow:4px 4px 0 var(--pix-dark);padding:10px 12px 8px;width:240px;font-family:Galmuri11 Bold,monospace;font-size:calc(13px * var(--wfs, 1))}.skin-pixel .pix-hud-title{display:block;text-align:center;background:var(--pix-dark);color:var(--pix-yellow);font-family:"Press Start 2P",monospace;font-size:calc(10px * var(--wfs, 1));padding:3px 6px;margin:-10px -12px 8px}.skin-pixel .pix-hud-row{display:flex;justify-content:space-between;padding:2px 0;border-bottom:2px dotted #a8819a}.skin-pixel .pix-hud-row:last-child{border-bottom:0}.skin-pixel .pix-hud-row b{color:var(--pix-pink);font-family:"Press Start 2P",monospace;font-size:calc(11px * var(--wfs, 1))}.skin-pixel .pix-chips{position:absolute;top:160px;right:16px;z-index:12;display:flex;gap:6px}.skin-pixel .pix-chip{background:var(--pix-cream);border:3px solid var(--pix-dark);box-shadow:3px 3px 0 var(--pix-dark);padding:4px 8px;font-family:Galmuri11 Bold,monospace;font-size:calc(12px * var(--wfs, 1));display:inline-flex;align-items:center;gap:4px}.skin-pixel .pix-chip.gold{background:var(--pix-yellow)}.skin-pixel .pix-chip b{color:var(--pix-pink);font-family:"Press Start 2P",monospace;font-size:calc(10px * var(--wfs, 1))}.skin-pixel .pix-bubble{position:absolute;top:250px;left:340px;z-index:18;background:var(--pix-cream);border:3px solid var(--pix-dark);box-shadow:4px 4px 0 var(--pix-dark);padding:10px 14px;max-width:220px;font-family:Galmuri11 Bold,monospace;font-size:calc(14px * var(--wfs, 1));line-height:1.3}.skin-pixel .pix-bubble:after{content:"";position:absolute;right:-4px;bottom:-12px;width:14px;height:14px;background:var(--pix-cream);border-right:3px solid var(--pix-dark);border-bottom:3px solid var(--pix-dark);transform:rotate(-45deg)}.skin-pixel .pix-bubble .heart{color:var(--pix-pink)}.skin-pixel .pix-cards{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:12px;z-index:20;align-items:stretch}.skin-pixel .pix-card{position:relative;width:238px;min-height:150px;height:auto;background:var(--pix-cream);border:3px solid var(--pix-dark);box-shadow:6px 6px 0 var(--pix-dark);display:flex;flex-direction:column;padding:0;text-align:left;cursor:pointer;font-family:inherit;color:var(--pix-dark)}.skin-pixel .pix-card:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--pix-dark)}.skin-pixel .pix-card .bar{height:22px;display:flex;align-items:center;justify-content:space-between;padding:0 6px;font-family:"Press Start 2P",monospace;font-size:calc(9px * var(--wfs, 1));color:var(--pix-cream);box-shadow:inset 0 -2px 0 var(--pix-dark)}.skin-pixel .pix-card.c1 .bar{background:var(--pix-pink)}.skin-pixel .pix-card.c2 .bar{background:var(--pix-mint)}.skin-pixel .pix-card.c3 .bar{background:var(--pix-lilac)}.skin-pixel .pix-card.c4 .bar{background:var(--pix-peach)}.skin-pixel .pix-card .x{width:14px;height:14px;background:var(--pix-cream);color:var(--pix-dark);display:grid;place-items:center;font-size:calc(11px * var(--wfs, 1))}.skin-pixel .pix-card .body{flex:1;display:flex;gap:10px;padding:10px;align-items:center}.skin-pixel .pix-card .icon{flex-shrink:0;width:56px;height:56px}.skin-pixel .pix-card h3{margin:0;font-family:Galmuri11 Bold,monospace;font-size:calc(17px * var(--wfs, 1))}.skin-pixel .pix-card p{margin:4px 0 0;font-family:Galmuri11,monospace;font-size:calc(12px * var(--wfs, 1));line-height:1.3;color:#4a3a44}.skin-pixel .pix-card .heart-num{position:absolute;top:-8px;right:-8px;width:22px;height:22px;background:var(--pix-pink);color:var(--pix-cream);border:3px solid var(--pix-dark);display:grid;place-items:center;font-family:"Press Start 2P",monospace;font-size:calc(10px * var(--wfs, 1))}.skin-pixel .admin-auth-screen{background:var(--pix-bg)!important}.skin-pixel .admin-auth-card{background:var(--pix-cream)!important;border:3px solid var(--pix-dark)!important;border-radius:0!important;box-shadow:6px 6px 0 var(--pix-dark)!important}.skin-pixel .page-title h1{font-family:Galmuri11 Bold,monospace;letter-spacing:1px}.skin-pixel.landing-page,.landing-page.skin-pixel{height:var(--app-height);background:var(--pix-bg);display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vh,24px);overflow:hidden}.skin-pixel .landing-card{width:min(960px,100%);max-height:100%;background:var(--pix-cream);border:4px solid var(--pix-dark);box-shadow:8px 8px 0 var(--pix-dark);padding:clamp(16px,3vh,28px) clamp(18px,4vw,32px);display:flex;flex-direction:column;gap:clamp(12px,2.4vh,22px);min-height:0}.skin-pixel .landing-head{flex:0 0 auto;text-align:center;display:grid;gap:6px}.skin-pixel .landing-head .eyebrow{margin:0;font-family:"Press Start 2P",monospace;font-size:calc(10px * var(--wfs, 1));letter-spacing:2px;color:var(--pix-pink-deep)}.skin-pixel .landing-head h1{margin:0;font-family:Galmuri11 Bold,monospace;font-size:calc(28px * var(--wfs, 1));letter-spacing:1px;color:var(--pix-dark)}.skin-pixel .landing-sub{margin:0;font-family:Galmuri11,monospace;font-size:calc(14px * var(--wfs, 1));color:#4a3a44}.skin-pixel .landing-block{display:grid;gap:10px}.skin-pixel .landing-block--characters{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:10px}.skin-pixel .landing-block--characters>h2{flex:0 0 auto}.skin-pixel .landing-preset-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:4px;border:2px solid var(--pix-dark);background:var(--pix-bg);box-shadow:inset 2px 2px #0000000f}.skin-pixel .landing-block h2{margin:0;font-family:Galmuri11 Bold,monospace;font-size:calc(16px * var(--wfs, 1));letter-spacing:1px;color:var(--pix-dark)}.skin-pixel .landing-block h2:before{content:"♡ ";color:var(--pix-pink)}.skin-pixel .landing-preset-grid{--landing-cell: clamp(116px, 15vh, 156px);display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--landing-cell),1fr));gap:14px;align-content:start}.skin-pixel .landing-preset{appearance:none;-webkit-appearance:none;background:var(--pix-cream);border:3px solid var(--pix-dark);padding:12px 10px;display:grid;gap:6px;cursor:pointer;text-align:center;color:var(--pix-dark);transition:transform 80ms ease,box-shadow 80ms ease,background 80ms ease;box-shadow:4px 4px 0 var(--pix-dark);border-radius:0}.skin-pixel .landing-preset:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--pix-dark)}.skin-pixel .landing-preset.active{background:var(--pix-pink-soft);box-shadow:4px 4px 0 var(--pix-pink-deep);outline:none}.skin-pixel .landing-preset .landing-preset-frame{width:100%;aspect-ratio:3 / 4;background:var(--pix-bg);border:2px solid var(--pix-dark);display:grid;place-items:center;overflow:hidden}.skin-pixel .landing-preset .landing-preset-frame img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.skin-pixel .landing-preset .landing-preset-placeholder{font-family:"Press Start 2P",monospace;font-size:calc(24px * var(--wfs, 1));color:var(--pix-muted)}.skin-pixel .landing-preset strong{font-family:Galmuri11 Bold,monospace;font-size:calc(14px * var(--wfs, 1));letter-spacing:.5px}.skin-pixel .landing-preset small{font-family:Galmuri11,monospace;font-size:calc(11px * var(--wfs, 1));color:var(--pix-muted)}.skin-pixel .landing-name-field input{width:100%;font-family:Galmuri11 Bold,monospace;font-size:calc(18px * var(--wfs, 1));padding:12px 14px;border:3px solid var(--pix-dark);background:var(--pix-cream);color:var(--pix-dark);border-radius:0;outline:none;box-shadow:inset 2px 2px #00000014}.skin-pixel .landing-name-field input:focus{background:#fffefa;box-shadow:0 0 0 3px var(--pix-yellow)}.skin-pixel .landing-empty{font-family:Galmuri11,monospace;font-size:calc(13px * var(--wfs, 1));padding:12px;border:2px dashed var(--pix-dark);background:var(--pix-bg)}.skin-pixel .landing-foot{flex:0 0 auto;display:grid;gap:clamp(10px,2vh,18px);padding-top:clamp(10px,2vh,18px);border-top:3px dashed var(--pix-dark)}.skin-pixel .landing-actions{display:grid;gap:6px;justify-items:center}.skin-pixel .landing-start{appearance:none;-webkit-appearance:none;font-family:Galmuri11 Bold,monospace;font-size:calc(18px * var(--wfs, 1));letter-spacing:1px;padding:14px 36px;border:3px solid var(--pix-dark);background:var(--pix-pink);color:var(--pix-cream);cursor:pointer;box-shadow:5px 5px 0 var(--pix-dark);transition:transform 80ms ease,box-shadow 80ms ease;border-radius:0}.skin-pixel .landing-start:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:6px 6px 0 var(--pix-dark)}.skin-pixel .landing-start:active:not(:disabled){transform:translate(2px,2px);box-shadow:2px 2px 0 var(--pix-dark)}.skin-pixel .landing-start:disabled{background:#c8c4b6;color:var(--pix-muted);cursor:not-allowed;box-shadow:3px 3px 0 var(--pix-muted)}.skin-pixel .landing-hint{font-family:Galmuri11,monospace;font-size:calc(12px * var(--wfs, 1))}.skin-pixel .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap}@media(max-width:720px){.skin-pixel .landing-card{box-shadow:5px 5px 0 var(--pix-dark)}.skin-pixel .landing-head h1{font-size:calc(22px * var(--wfs, 1))}.skin-pixel .landing-preset-grid{--landing-cell: clamp(100px, 26vw, 132px);gap:10px}}@media(orientation:landscape)and (max-height:560px){.skin-pixel.landing-page,.landing-page.skin-pixel{padding:10px}.skin-pixel .landing-card{display:grid;grid-template-columns:minmax(165px,30%) minmax(0,1fr);grid-template-rows:auto auto 1fr;grid-template-areas:"head  chars" "foot  chars" ".     chars";column-gap:18px;row-gap:8px;padding:12px 16px;max-height:100%}.skin-pixel .landing-head{grid-area:head;text-align:left}.skin-pixel .landing-head h1{font-size:calc(17px * var(--wfs, 1))}.skin-pixel .landing-sub{display:none}.skin-pixel .landing-block--characters{grid-area:chars;min-height:0;height:100%}.skin-pixel .landing-block--characters>h2{font-size:calc(12px * var(--wfs, 1))}.skin-pixel .landing-preset-scroll{padding:4px}.skin-pixel .landing-preset-grid{--landing-cell: clamp(92px, 13vh, 124px);gap:8px}.skin-pixel .landing-foot{grid-area:foot;border-top:0;padding-top:0;gap:8px}.skin-pixel .landing-block{gap:6px}.skin-pixel .landing-block h2{font-size:calc(12px * var(--wfs, 1))}.skin-pixel .landing-name-field input{font-size:calc(15px * var(--wfs, 1));padding:9px 11px}.skin-pixel .landing-start{font-size:calc(15px * var(--wfs, 1));padding:10px 20px}}
