:root{--bg:#121321;--panel:#1b1c2e;--panel2:#22243a;--line:#ffffff12;--text:#f7f5ff;--muted:#a1a0b9;--violet:#b69aff;--peach:#ffb79d;--mint:#a7dec9;--gold:#f7d586;--radius:22px;--font:'Segoe UI',system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.55}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--mint);outline-offset:4px}button{border:0}svg.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(34px,4.2vw,62px);line-height:1.08;letter-spacing:-2.3px;font-weight:800}h2{font-size:25px;letter-spacing:-.6px;line-height:1.2}h3{font-size:18px;line-height:1.3}p{color:var(--muted)}small,.muted{color:var(--muted)}small{font-size:12px}.text-violet{color:var(--violet)}.text-mint{color:var(--mint)}.text-peach{color:var(--peach)}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:750;color:var(--violet);margin-bottom:16px}.skip-link{position:fixed;left:10px;top:-70px;background:var(--mint);color:#141625;padding:12px;z-index:200}.skip-link:focus{top:10px}.loading-screen{min-height:100dvh;display:grid;place-content:center;text-align:center;gap:12px}.loading-star{font-size:60px;color:var(--violet);animation:breath 1s infinite alternate}.app-header{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:40px;padding:0 4.5%;position:relative;z-index:20;background:var(--bg)}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap;font-weight:800;font-size:24px;letter-spacing:-.8px}.brand img{width:43px;height:43px;object-fit:contain}.brand small{display:block;font-size:7px;letter-spacing:1.7px;font-weight:600;margin-top:-4px}.brand-mark{width:44px;height:44px;display:grid;place-items:center;background:var(--violet);color:#262039;font-weight:900;font-size:35px;border-radius:15px;position:relative;line-height:1}.brand-mark span{position:absolute;right:4px;bottom:4px;font-size:15px;color:#f9d1ba}.header-nav{display:flex;gap:24px;height:100%;align-items:center}.header-nav a{color:var(--muted);font-size:13px;position:relative;white-space:nowrap;font-weight:600}.header-nav a.active{color:white}.header-nav a.active:after{content:'';position:absolute;height:3px;border-radius:4px;background:var(--violet);left:0;right:0;bottom:-29px}.header-actions{display:flex;align-items:center;gap:14px;margin-left:auto}.header-search{background:var(--panel);border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;gap:8px;padding:8px 12px;width:210px;color:var(--muted)}.header-search input{padding:0;border:0;background:none;width:100%;outline:none;font-size:12px}.header-search kbd{font-size:10px;border:1px solid #ffffff25;padding:0 5px;border-radius:4px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 19px;border-radius:12px;background:var(--panel2);font-weight:700;font-size:13px;transition:transform .18s,background .18s;white-space:nowrap}.button:hover{transform:translateY(-2px);background:#30324b}.button.primary{background:var(--violet);color:#201b35}.button.primary:hover{background:#c5afff}.button.peach{background:var(--peach);color:#38221c}.button.mint{background:var(--mint);color:#17372d}.button.ghost{border:1px solid #ffffff23;background:#ffffff05}.button.danger{background:#ff9b9b1c;color:#ffc0c0;border:1px solid #ff9b9b40}.button.small{padding:8px 12px;font-size:12px}.button.full{width:100%}.button.large{padding:15px 24px;font-size:14px}.icon-button{width:40px;height:40px;display:inline-grid;place-items:center;border:1px solid var(--line);background:var(--panel);border-radius:12px;flex-shrink:0}.icon-button:hover{background:var(--panel2)}.icon-button.saved{color:#ffb3c4;background:#ffb3c415}.avatar{width:35px;height:35px;display:grid;place-items:center;border-radius:12px;color:#242037;font-size:14px;font-weight:800;background:var(--violet);flex-shrink:0}.avatar.coral{background:var(--peach)}.avatar.mint{background:var(--mint)}.avatar.gold{background:var(--gold)}.avatar.sky{background:#a7c7ff}.avatar.rose{background:#efb7db}.user-button{display:flex;align-items:center;gap:9px;background:none;padding:0;text-align:left}.user-button span:last-child{font-weight:700;font-size:12px}.user-button small{display:block;font-size:10px;font-weight:400}.layout{max-width:1536px;margin:auto;display:grid;grid-template-columns:215px minmax(0,1fr)}.sidebar{padding:35px 19px 25px 28px;border-right:1px solid var(--line);min-height:calc(100dvh - 88px)}.side-heading{font-size:9px;letter-spacing:2px;color:#77788f;font-weight:700;margin:0 0 14px 12px}.side-nav{display:flex;flex-direction:column;gap:5px;margin-bottom:32px}.side-nav a,.side-nav button{display:flex;align-items:center;gap:11px;border-radius:11px;padding:11px 13px;background:none;color:var(--muted);font-size:12px;text-align:left;font-weight:600}.side-nav a.active{color:var(--violet);background:#b69aff12}.side-nav a:hover{background:var(--panel)}.side-nav .icon{width:17px;height:17px}.side-nav .count{margin-left:auto;font-size:10px;opacity:.65}.side-promo{position:relative;overflow:hidden;background:#242137;border:1px solid #b69aff20;border-radius:16px;padding:19px 15px}.side-promo .sparkle{font-size:28px;display:block;margin-bottom:12px}.side-promo h3{font-size:14px;margin-bottom:7px}.side-promo p{font-size:11px;line-height:1.6;margin-bottom:16px}.side-promo .button{font-size:10px;padding:9px 12px;width:100%}.side-bottom{font-size:10px;margin:25px 10px;color:#77788f}.side-bottom a{display:inline-block;margin-top:8px;margin-right:9px;color:#a1a0b9}.main-content{padding:30px 36px 45px;min-width:0}.announcement{border:1px solid #f7d58630;background:#f7d5860a;border-radius:12px;padding:10px 16px;font-size:12px;color:var(--gold);margin-bottom:20px}.hero{min-height:365px;border-radius:26px;overflow:hidden;position:relative;isolation:isolate;background:#17182c;display:flex;align-items:center;margin-bottom:26px;border:1px solid #ffffff0c}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#17162ded 0%,#17162ddb 30%,#17162d35 56%,transparent 75%);z-index:-1}.hero-copy{padding:38px 38px;max-width:510px}.hero-copy .eyebrow{margin-bottom:17px;display:flex;align-items:center;gap:7px;color:#cdbbff;font-size:9px;letter-spacing:2px}.hero-copy .eyebrow:before{content:'';width:5px;height:5px;background:var(--mint);border-radius:50%}.hero h1{font-size:clamp(32px,3.5vw,49px);margin-bottom:17px}.hero h1 em{font-style:normal;color:#c9b3ff}.hero-copy p{font-size:12px;max-width:310px;line-height:1.8;color:#c1bed6;margin-bottom:23px}.hero-buttons{display:flex;gap:10px;flex-wrap:wrap}.hero-footer{display:flex;gap:16px;margin-top:20px;font-size:9px;color:#c8c2db}.hero-footer span{display:flex;align-items:center;gap:5px}.hero-footer svg.icon{width:12px;height:12px}.hero-badge{position:absolute;right:24px;bottom:22px;background:#202036b3;backdrop-filter:blur(12px);border:1px solid #ffffff18;border-radius:12px;padding:10px 14px;display:flex;gap:10px;align-items:center;font-size:10px}.hero-badge strong{display:block;font-size:11px}.hero-badge span:first-child{font-size:22px}.quick-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:33px}.quick-card{border:1px solid var(--line);border-radius:15px;padding:16px;display:flex;align-items:center;gap:12px;text-align:left;background:var(--panel);transition:transform .2s}.quick-card:hover{transform:translateY(-3px)}.quick-icon{width:41px;height:41px;border-radius:12px;background:#b69aff16;color:var(--violet);display:grid;place-items:center;flex-shrink:0}.quick-card:nth-child(2) .quick-icon{background:#ffb79d15;color:var(--peach)}.quick-card:nth-child(3) .quick-icon{background:#a7dec916;color:var(--mint)}.quick-card strong{font-size:12px;display:block;margin-bottom:2px}.quick-card small{font-size:10px}.quick-card>.icon{margin-left:auto;width:15px;opacity:.5}.section-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 17px;gap:12px}.section-head h2{font-size:20px;margin:0;display:flex;align-items:center;gap:9px}.section-head p{font-size:11px;margin:5px 0 0}.section-head a,.section-head button{color:var(--violet);background:none;font-size:11px;font-weight:700;display:flex;align-items:center;gap:5px}.section-head .icon{width:15px;height:15px}.pill{font-size:9px;font-weight:700;padding:4px 7px;border-radius:5px;background:#b69aff15;color:var(--violet);letter-spacing:.5px}.game-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:32px}.game-card{position:relative;border-radius:17px;background:var(--panel);border:1px solid var(--line);overflow:hidden;transition:transform .2s,border-color .2s;min-width:0}.game-card:hover{transform:translateY(-5px);border-color:#b69aff60}.game-card>a{display:block}.game-cover{height:145px;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate;overflow:hidden;background:var(--cover-bg,#b49ee9);color:#35304c}.game-cover:before{content:'';position:absolute;width:120px;height:120px;border:25px solid #ffffff20;border-radius:50%;right:-25px;top:-29px;z-index:-1}.game-cover:after{content:'';position:absolute;width:75px;height:75px;border:15px solid #00000006;transform:rotate(28deg);border-radius:19px;left:12px;bottom:-25px;z-index:-1}.game-cover .big-emoji{font-size:66px;filter:drop-shadow(0 9px 5px #31273a25);transform:rotate(-9deg);transition:transform .2s;line-height:1.2}.game-card:nth-child(even) .big-emoji{transform:rotate(8deg)}.game-card:hover .big-emoji{transform:rotate(0) scale(1.13)}.game-cover .mini-symbol{position:absolute;font-size:24px;right:22px;bottom:23px;transform:rotate(16deg);opacity:.8}.game-cover .mini-star{position:absolute;left:24px;top:28px;font-size:19px;color:#ffffffb0}.game-cover .cover-tag{position:absolute;top:10px;left:10px;background:#ffffffcf;color:#352c49;font-size:8px;font-weight:800;padding:4px 7px;border-radius:6px;letter-spacing:.5px}.card-heart{position:absolute;right:9px;top:9px;width:28px;height:28px;background:#24203725;border:1px solid #ffffff40;backdrop-filter:blur(5px);border-radius:8px;z-index:2;color:white;display:grid;place-items:center}.card-heart .icon{width:14px;height:14px}.card-heart.saved{background:#6d3967;color:#ffd2e4}.card-heart.saved .icon{fill:currentColor}.card-info{padding:13px 14px 15px}.card-info h3{font-size:12px;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-meta{font-size:9px;color:var(--muted);display:flex;align-items:center;gap:9px}.card-meta span{display:flex;align-items:center;gap:3px}.card-meta .icon{width:11px;height:11px}.card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:11px}.card-category{font-size:8px;padding:3px 6px;background:#ffffff08;border-radius:4px;color:#bbb5d0}.card-stars{font-size:10px;color:var(--gold);letter-spacing:1px}.color-violet{--cover-bg:#b9a4e9}.color-peach{--cover-bg:#f0bb9d}.color-mint{--cover-bg:#9ecfb8}.color-gold{--cover-bg:#e8cd8c}.color-blue{--cover-bg:#9dbade}.color-rose{--cover-bg:#dca8bf}.color-lime{--cover-bg:#c3ce92}.color-pop{--cover-bg:#c4a5de}.daily-banner{padding:23px 26px;display:flex;gap:20px;align-items:center;background:#232537;border:1px solid #a7dec920;border-radius:20px;margin:5px 0 32px;position:relative;overflow:hidden}.daily-banner>span{font-size:43px}.daily-banner h3{margin:0 0 5px;font-size:17px}.daily-banner p{margin:0;font-size:11px}.daily-banner .button{margin-left:auto;flex-shrink:0}.daily-label{font-size:8px;letter-spacing:1px;color:var(--mint);margin-bottom:7px}.catalog-head{padding:12px 0 20px}.catalog-head h1{font-size:37px;letter-spacing:-1px;margin-bottom:10px}.catalog-head p{font-size:13px}.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:23px}.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #ffffff15;border-radius:9px;background:var(--panel);padding:8px 12px;font-size:11px;color:var(--muted);white-space:nowrap}.chip.active{background:#b69aff1a;color:var(--violet);border-color:#b69aff60}.chip .icon{width:14px;height:14px}.filter-select{margin-left:auto;max-width:180px;padding:8px 12px;font-size:11px}.empty{padding:50px 25px;text-align:center;border:1px dashed #ffffff20;border-radius:20px;grid-column:1/-1}.empty>span{font-size:50px;display:block;margin-bottom:15px}.empty h2{font-size:20px}.empty p{font-size:12px;max-width:420px;margin:0 auto 20px}.mobile-nav{display:none}.page-footer{border-top:1px solid var(--line);padding-top:23px;font-size:10px;display:flex;align-items:center;justify-content:space-between;color:#77788f;gap:10px}.page-footer strong{color:#aaa4bc}.page-footer a{margin-left:14px}.breadcrumb{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;margin-bottom:23px}.breadcrumb .icon{width:12px}.detail-hero{display:grid;grid-template-columns:1fr 1.1fr;gap:34px;margin-bottom:35px;align-items:center}.detail-art{min-height:295px;border-radius:24px;height:100%;position:relative}.detail-art .big-emoji{font-size:135px}.detail-art .mini-symbol{font-size:50px;right:45px;bottom:35px}.detail-copy h1{font-size:38px;letter-spacing:-1px;margin:16px 0}.detail-copy p{font-size:13px;line-height:1.8}.detail-badges{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0}.detail-actions{display:flex;gap:9px;flex-wrap:wrap}.detail-actions .button{padding:13px 19px}.panel{background:var(--panel);border:1px solid var(--line);padding:24px;border-radius:20px;margin-bottom:23px}.panel h2{font-size:20px}.panel p,.panel li{font-size:12px}.two-columns{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.level-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:9px}.level-button{border:1px solid var(--line);border-radius:11px;padding:12px 3px;background:var(--panel2);font-size:13px;font-weight:700;position:relative;min-height:60px}.level-button span{display:block;font-size:8px;color:var(--gold);letter-spacing:1px}.level-button.selected{background:#b69aff23;border-color:var(--violet)}.level-button.locked{opacity:.42}.chapter-label{font-size:10px;color:var(--muted);margin:17px 0 10px}.notice{padding:13px 16px;border:1px solid #b69aff30;border-radius:12px;background:#b69aff0a;color:#c4b9e2;font-size:12px;line-height:1.7;margin:15px 0}.notice p{margin:6px 0 0;font-size:12px}.notice.warning{border-color:#f7d58645;background:#f7d5860b;color:#f7d586}.notice.success{border-color:#a7dec945;background:#a7dec90b;color:var(--mint)}.room-layout{max-width:900px;margin:auto}.room-code{text-align:center;letter-spacing:12px;font-size:43px;font-weight:800;color:var(--violet);margin:15px 0}.player-slots{display:grid;grid-template-columns:1fr 42px 1fr;align-items:center;gap:12px;margin:25px 0}.player-slot{border:1px solid var(--line);padding:18px;border-radius:15px;display:flex;align-items:center;gap:11px;min-height:78px}.player-slot.waiting{border-style:dashed}.player-slot strong{display:block;font-size:13px}.player-slot small{font-size:10px}.connection{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:var(--mint)}.connection:before{content:'';width:5px;height:5px;background:currentColor;border-radius:50%}.connection.offline{color:var(--gold)}.share-row{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:20px 0}.room-game-select{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.room-game-option{border-radius:12px;border:1px solid var(--line);background:var(--panel2);padding:12px;text-align:left;font-size:11px}.room-game-option.selected{border-color:var(--violet);background:#b69aff20}.room-game-option span{font-size:23px;display:block;margin-bottom:7px}.modal-backdrop{position:fixed;inset:0;background:#080812ce;backdrop-filter:blur(8px);z-index:100;display:flex;align-items:center;justify-content:center;padding:22px;overflow-y:auto}.modal{width:100%;max-width:450px;background:#1c1d30;border:1px solid #ffffff18;border-radius:25px;padding:32px;position:relative;max-height:calc(100dvh - 44px);overflow:auto;box-shadow:0 30px 100px #0006}.modal.wide{max-width:640px}.modal>.close-modal{position:absolute;right:17px;top:17px}.modal-symbol{font-size:42px;display:block;margin-bottom:18px}.modal h2{font-size:28px;margin-bottom:10px}.modal p{font-size:12px;line-height:1.8}.form-stack{display:flex;flex-direction:column;gap:16px}label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:650;color:#c8c3dc}input,textarea,select{width:100%;border:1px solid #ffffff19;border-radius:10px;padding:12px 13px;background:#111321;color:var(--text);min-height:43px;font-size:13px}input::placeholder,textarea::placeholder{color:#75738c}textarea{resize:vertical;min-height:110px}select option{background:#1c1d30}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-error{color:#ffc0c0;font-size:12px;margin:0}.otp-input{text-align:center;font-size:30px;letter-spacing:12px;padding:12px 3px 12px 15px;font-weight:800}.otp-email{color:var(--mint)}.divider{height:1px;background:var(--line);margin:22px 0}.modal-footer{font-size:10px;text-align:center;color:var(--muted);margin-top:20px}.modal-footer button{background:none;color:var(--violet);font-size:10px;padding:4px}.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);z-index:150;background:#ebe5ff;color:#282039;padding:13px 20px;border-radius:12px;font-size:12px;font-weight:600;box-shadow:0 10px 40px #0005;max-width:90vw;animation:toast-in .2s ease}.toast.error{background:#ffcece}.profile-hero{display:flex;align-items:center;gap:20px;margin-bottom:25px}.profile-hero .avatar{width:72px;height:72px;font-size:25px;border-radius:22px}.profile-hero h1{font-size:30px;margin-bottom:4px;letter-spacing:-1px}.profile-hero p{font-size:12px;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:25px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:19px}.stat small{font-size:10px}.stat strong{display:block;font-size:30px;letter-spacing:-1px;color:var(--violet);margin-top:5px}.reward-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.reward{padding:18px 8px;border:1px solid var(--line);border-radius:14px;text-align:center;background:var(--panel2);opacity:.35}.reward.unlocked{opacity:1;border-color:#f7d58630}.reward span{font-size:30px;display:block}.reward strong{font-size:10px;display:block;margin-top:7px}.reward small{font-size:9px}.owner-tabs{display:flex;gap:6px;overflow-x:auto;margin:20px 0}.owner-tabs button{white-space:nowrap}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px;text-align:left}th{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);padding:12px 10px;border-bottom:1px solid var(--line)}td{padding:13px 10px;border-bottom:1px solid #ffffff08;vertical-align:top}td .button{font-size:9px;padding:6px 9px}.owner-list{display:flex;flex-direction:column;gap:10px}.owner-game-row{display:flex;align-items:center;gap:12px;padding:10px;background:var(--panel2);border-radius:10px;font-size:12px}.owner-game-row input{width:18px;height:18px;min-height:18px;margin-left:auto;accent-color:var(--violet)}.owner-game-row span{font-size:22px}.owner-report{border-left:2px solid var(--peach);padding:9px 14px;background:#ffb79d07;border-radius:0 10px 10px 0;margin-bottom:12px}.owner-report p{margin:7px 0;color:#ded7ef;white-space:pre-wrap}.install-body{min-height:100dvh;display:grid;place-items:center;padding:35px 20px;background:radial-gradient(ellipse at 20% 0%,#302546 0,transparent 60%),var(--bg)}.install-card{max-width:640px;width:100%;padding:38px;background:var(--panel);border:1px solid var(--line);border-radius:26px}.install-card>.brand{margin-bottom:35px}.install-card h1{font-size:36px;letter-spacing:-1px}.install-card>p{font-size:13px}.install-checks{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.recovery-key{display:block;overflow-wrap:anywhere;padding:14px;background:#0004;color:white;font-size:13px}.setup-steps{padding-left:19px;color:var(--muted);font-size:13px;line-height:2}.legal-copy{max-width:750px;line-height:1.9}.legal-copy h2{margin-top:26px}.legal-copy p,.legal-copy li{font-size:13px}.spacer{height:18px}.center{text-align:center}.flex{display:flex;align-items:center;gap:10px}.flex-wrap{flex-wrap:wrap}.push-right{margin-left:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Game stage */
.play-shell{max-width:970px;margin:auto}.play-topbar{display:flex;align-items:center;gap:12px;margin-bottom:20px}.play-title h1{font-size:20px;letter-spacing:-.4px;margin:0}.play-title small{font-size:10px}.play-topbar .push-right{display:flex;gap:7px;align-items:center}.game-stage{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:27px;min-height:430px;position:relative;overflow:hidden}.game-status{display:flex;align-items:center;justify-content:space-between;padding:0 0 18px;border-bottom:1px solid var(--line);margin-bottom:24px;gap:12px}.game-status span{font-size:11px;color:var(--muted)}.game-status strong{color:var(--text);margin-left:3px}.turn-pill{background:#b69aff17;color:var(--violet)!important;padding:7px 11px;border-radius:8px;font-size:10px!important}.game-prompt{text-align:center;max-width:650px;margin:0 auto 22px}.game-prompt .scene-emoji{font-size:62px;line-height:1.4;margin-bottom:13px;display:block}.game-prompt h2{font-size:24px;line-height:1.4;letter-spacing:-.5px}.game-prompt p{font-size:12px;line-height:1.8}.role-note{background:#a7dec90c;border:1px solid #a7dec92c;border-radius:12px;padding:12px 15px;color:var(--mint);font-size:12px;margin-bottom:20px}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;max-width:650px;margin:0 auto 20px}.choice-button{background:var(--panel2);border:1px solid #ffffff13;padding:17px 18px;border-radius:13px;text-align:left;font-size:13px;min-height:58px;transition:transform .15s,background .15s}.choice-button:hover{background:#303149;transform:translateY(-2px)}.choice-button.selected{border-color:var(--violet);background:#b69aff21}.choice-button .option-letter{font-size:10px;color:var(--violet);display:inline-block;margin-right:10px}.choice-button .choice-symbol{font-size:30px;display:block;margin-bottom:5px}.answer-form{max-width:520px;margin:0 auto;display:flex;gap:9px}.answer-form input{min-width:0}.answer-form .button{flex-shrink:0}.letter-rack{display:flex;justify-content:center;gap:5px;flex-wrap:wrap;margin:20px auto;max-width:600px}.letter{display:grid;place-items:center;width:35px;height:42px;border-radius:7px;background:#e7ddff;color:#3a2a57;box-shadow:0 3px 0 #8a72b4;font-weight:800;font-size:17px}.private-wait{padding:30px 20px;text-align:center;border:1px dashed #b69aff40;border-radius:16px;margin:20px auto;max-width:600px}.private-wait>span{font-size:40px}.private-wait h3{margin:12px 0}.private-wait p{font-size:12px}.game-message{padding:13px 16px;border:1px solid #f7d58630;background:#f7d58608;color:var(--gold);border-radius:11px;font-size:12px;margin:18px 0}.game-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:22px}.game-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;font-size:10px;color:var(--muted)}.game-bottom button{background:none;color:var(--muted);font-size:10px;display:flex;align-items:center;gap:5px}.board{display:grid;gap:5px;width:min(100%,420px);margin:18px auto;aspect-ratio:1;grid-template-columns:repeat(var(--n,5),1fr)}.cell{border-radius:8px;min-width:0;min-height:0;display:grid;place-items:center;font-size:clamp(16px,2.6vw,29px);background:#2b2d45;border:1px solid #ffffff0b;color:var(--text);position:relative;aspect-ratio:1;padding:0;touch-action:manipulation}.cell:hover:not(:disabled){background:#3d3d5c}.cell.wall{background:#10121e;border-color:#10121e}.cell.hidden-cell{background:#24263c}.cell.target{border:2px dashed var(--mint);background:#a7dec90b}.cell.actor0{background:#b69aff80;color:#1f1931}.cell.actor1{background:#ffb79d90;color:#341f17}.cell.selected{outline:2px solid var(--gold);outline-offset:-3px}.cell.path{background:#a7dec92b}.cell.guard{background:#ff919150}.cell small{position:absolute;right:4px;bottom:2px;font-size:8px;color:var(--muted)}.dpad{width:152px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:20px auto}.dpad button{height:45px;background:var(--panel2);border:1px solid #ffffff15;border-radius:10px;font-size:21px}.dpad button:nth-child(1){grid-column:2}.dpad button:nth-child(2){grid-column:1;grid-row:2}.dpad button:nth-child(3){grid-column:2;grid-row:2}.dpad button:nth-child(4){grid-column:3;grid-row:2}.resource-row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:16px 0}.resource{padding:9px 12px;background:#ffffff06;border:1px solid var(--line);border-radius:9px;font-size:12px}.resource strong{color:var(--gold)}.game-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.game-subpanel{background:#ffffff04;border:1px solid var(--line);padding:17px;border-radius:15px}.game-subpanel h3{font-size:14px}.symbol-row{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin:15px 0}.symbol-button{font-size:28px;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:10px 14px;min-width:52px}.symbol-button.selected{border-color:var(--violet);background:#b69aff25}.big-equation{font-size:34px;text-align:center;letter-spacing:8px;margin:25px 0;color:var(--gold);font-weight:750}.range-wrap{max-width:600px;margin:25px auto}.range-wrap input{accent-color:var(--violet);padding:0;border:none;min-height:35px;background:none}.range-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.range-target{text-align:center;font-size:42px;font-weight:800;color:var(--violet)}.sequence-row{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:25px auto}.sequence-dot{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;font-weight:800;color:#202035;animation:pop-in .3s both}.pad-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:300px;margin:20px auto}.pad-button{height:85px;border-radius:17px;font-size:24px;font-weight:800;color:#242035;box-shadow:inset 0 -5px #0002}.drawing-area{width:100%;max-width:620px;margin:20px auto}.drawing-canvas{background:#fffdf5;border-radius:15px;display:block;width:100%;aspect-ratio:1.4;touch-action:none;cursor:crosshair}.drawing-tools{display:flex;gap:8px;align-items:center;justify-content:center;margin:10px 0}.color-dot{width:27px;height:27px;border-radius:50%;border:2px solid white}.comic-panels{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:20px}.comic-panel{min-height:150px;border:2px solid #8e7ea940;border-radius:13px;padding:20px;position:relative;background:#b69aff07;overflow-wrap:anywhere}.comic-panel:nth-child(even){background:#ffb79d08;border-color:#ffb79d30}.comic-panel small{display:block;margin-bottom:12px;font-size:9px;color:var(--violet)}.comic-panel p{font-size:13px;color:var(--text);margin:0;white-space:pre-wrap}.result-card{text-align:center;padding:28px 20px}.result-card>.result-emoji{font-size:70px;display:block;animation:pop-in .4s}.result-card h2{font-size:32px;margin:20px 0 10px}.result-card p{font-size:13px;max-width:500px;margin:0 auto 20px;line-height:1.8}.result-stars{font-size:38px;color:var(--gold);letter-spacing:8px;margin:10px 0}.result-score{font-size:13px;color:var(--muted);margin-bottom:20px}.result-score strong{color:var(--mint)}.handover{padding:40px 20px;text-align:center}.handover>span{font-size:60px}.handover h2{margin:18px 0 10px}.handover p{font-size:13px}.pass-order{display:flex;flex-direction:column;gap:8px;max-width:550px;margin:20px auto}.order-item{background:var(--panel2);padding:12px 14px;border-radius:10px;display:flex;align-items:center;justify-content:space-between;font-size:12px}.order-item button{background:none;padding:4px 8px}.hint-label{font-size:10px;color:var(--gold);margin-bottom:7px;letter-spacing:1px}.bridge-board{display:flex;align-items:flex-end;justify-content:center;gap:5px;height:220px;margin:20px auto}.bridge-column{display:flex;flex-direction:column;justify-content:flex-end;flex:1;max-width:60px;height:100%;background:none;padding:0;border-radius:8px;overflow:hidden;position:relative}.bridge-column .deck{background:var(--peach);height:14px;border-radius:4px;font-size:9px;color:#3b2720;position:relative;z-index:2}.bridge-column .ground{background:#4b456b;border-top:2px solid #7f6ea0;display:grid;place-items:center;font-size:12px;color:#b4a6d1}.voice-preview{width:100%;margin:15px 0}.game-article{font-size:12px;line-height:1.9;color:var(--muted);max-width:600px;margin:auto}.result-artifact{margin-top:25px;text-align:left}.level-progress{height:4px;background:#ffffff0c;border-radius:5px;overflow:hidden;margin:15px 0}.level-progress>span{display:block;height:100%;background:var(--violet)}
@keyframes breath{to{opacity:.4;transform:scale(.9)}}@keyframes pop-in{from{transform:translateY(8px) scale(.95);opacity:0}to{transform:none;opacity:1}}@keyframes toast-in{from{opacity:0;bottom:20px}to{opacity:1;bottom:30px}}
@media(min-width:1500px){.game-cover{height:170px}.hero{min-height:400px}.hero-copy{padding-left:45px}.hero h1{font-size:53px}}
@media(max-width:1200px){.app-header{gap:28px;padding:0 28px}.header-nav{gap:18px}.header-search{width:160px}.layout{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:30px 14px 20px 18px}.main-content{padding:27px}.hero-copy{padding:30px;max-width:420px}.game-cover{height:125px}.hero-badge{display:none}.quick-card{padding:13px;gap:9px}.quick-icon{width:34px;height:34px}.quick-card small{font-size:9px}.game-grid{gap:13px}.card-info{padding:12px}.header-nav a{font-size:12px}.header-actions{gap:10px}.hero{min-height:340px}}
@media(max-width:1000px){.header-search{display:none}.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-copy{max-width:390px}.hero-copy p{max-width:270px}.quick-row{gap:8px}.quick-card>svg{display:none}.quick-card strong{font-size:11px}.two-columns{grid-template-columns:1fr}.reward-grid{grid-template-columns:repeat(3,1fr)}.detail-hero{gap:25px}.detail-copy h1{font-size:30px}.detail-art{min-height:260px}.hero-footer{gap:10px;font-size:8px}.level-grid{grid-template-columns:repeat(8,1fr)}}
@media(max-width:760px){.app-header{height:72px;padding:0 20px;gap:15px}.brand{font-size:23px}.brand small{font-size:6px}.brand img{width:38px;height:38px}.brand-mark{width:38px;height:38px;font-size:30px}.header-nav{display:none}.header-actions .button{padding:9px 12px;font-size:11px}.user-button>span:last-child{display:none}.header-actions{gap:8px}.layout{display:block}.sidebar{display:none}.main-content{padding:20px 20px 95px}.hero{min-height:470px;margin-bottom:17px;align-items:flex-start;border-radius:22px}.hero-art{object-position:72% bottom;object-fit:cover;top:100px;height:370px;opacity:.95}.hero:after{background:linear-gradient(180deg,#17162d 0%,#17162de0 32%,#17162d10 65%,#17162d30 100%)}.hero-copy{padding:27px 25px;max-width:none}.hero h1{font-size:37px;letter-spacing:-1.6px;max-width:350px;margin-bottom:12px}.hero-copy .eyebrow{font-size:8px;margin-bottom:13px}.hero-copy p{font-size:11px;max-width:300px;margin-bottom:17px;line-height:1.7}.hero-buttons .button{font-size:11px;padding:11px 13px}.hero-footer{margin-top:13px;font-size:8px;gap:12px}.hero-badge{display:none}.quick-row{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:27px}.quick-card{padding:12px 8px;display:block;text-align:center;border-radius:13px}.quick-icon{margin:0 auto 7px;width:33px;height:33px;border-radius:10px}.quick-icon .icon{width:18px;height:18px}.quick-card strong{font-size:10px}.quick-card small{font-size:8px;display:block}.section-head{margin-bottom:14px}.section-head h2{font-size:18px}.section-head a,.section-head button{font-size:10px}.section-head p{font-size:10px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:27px}.game-cover{height:132px}.game-cover .big-emoji{font-size:64px}.card-info h3{font-size:12px}.card-info{padding:12px}.card-meta{font-size:9px;gap:7px}.card-bottom{margin-top:10px}.daily-banner{padding:18px;gap:12px;flex-wrap:wrap}.daily-banner>span{font-size:35px}.daily-banner h3{font-size:15px}.daily-banner p{font-size:10px;max-width:230px}.daily-banner .button{width:100%;margin:0}.page-footer{font-size:9px;align-items:flex-start;flex-direction:column;gap:10px}.page-footer a{margin:0 12px 0 0}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;padding:10px 10px calc(8px + env(safe-area-inset-bottom));background:#181a2bf2;border-top:1px solid #ffffff10;backdrop-filter:blur(20px);justify-content:space-around;z-index:40}.mobile-nav a{display:flex;align-items:center;flex-direction:column;gap:4px;font-size:8px;color:var(--muted);min-width:50px}.mobile-nav a.active{color:var(--violet)}.mobile-nav .icon{width:20px;height:20px}.catalog-head{padding:5px 0 15px}.catalog-head h1{font-size:31px}.catalog-head p{font-size:11px}.filters{gap:6px}.chip{font-size:10px;padding:7px 9px}.filter-select{max-width:140px;margin-left:0}.detail-hero{grid-template-columns:1fr;gap:22px}.detail-art{min-height:220px;max-height:240px}.detail-art .big-emoji{font-size:100px}.detail-copy h1{font-size:31px;margin-top:10px}.detail-copy p{font-size:12px}.detail-badges{margin:13px 0}.detail-actions .button{flex:1;font-size:11px;padding:12px}.level-grid{grid-template-columns:repeat(6,1fr);gap:7px}.level-button{min-height:55px;padding:9px 0}.panel{padding:20px;border-radius:17px}.panel h2{font-size:18px}.breadcrumb{font-size:10px;margin-bottom:17px}.room-code{font-size:35px;letter-spacing:8px}.player-slots{grid-template-columns:1fr 22px 1fr;gap:7px}.player-slot{padding:12px 9px;gap:7px}.player-slot strong{font-size:11px}.player-slot small{font-size:9px}.player-slot .avatar{width:29px;height:29px;font-size:12px}.room-game-select{grid-template-columns:repeat(2,1fr)}.modal{padding:28px 23px;border-radius:22px}.modal-backdrop{padding:15px}.modal h2{font-size:25px}.modal-symbol{font-size:37px;margin-bottom:14px}.toast{bottom:88px;white-space:normal;width:max-content}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:16px}.stat strong{font-size:27px}.profile-hero h1{font-size:25px}.profile-hero .avatar{width:57px;height:57px}.install-card{padding:27px 22px}.install-card h1{font-size:30px}.form-grid{grid-template-columns:1fr}.play-topbar{gap:9px}.play-title h1{font-size:16px}.play-title small{font-size:9px}.play-topbar .connection{display:none}.game-stage{padding:19px 15px;border-radius:18px;min-height:420px}.game-status{margin-bottom:20px;padding-bottom:14px;gap:7px}.game-status span{font-size:10px}.turn-pill{font-size:9px!important;padding:6px 8px}.game-prompt h2{font-size:20px}.game-prompt .scene-emoji{font-size:48px}.choice-grid{gap:8px}.choice-button{padding:13px 12px;font-size:11px;min-height:56px;border-radius:11px}.choice-button .option-letter{margin-right:6px}.role-note{font-size:11px;padding:11px 12px}.cell{border-radius:6px;font-size:22px}.board{gap:4px}.dpad button{height:47px}.answer-form{gap:6px}.answer-form input{font-size:12px;padding:10px}.answer-form .button{padding:10px 12px;font-size:11px}.letter{width:28px;height:35px;font-size:15px}.game-columns{grid-template-columns:1fr;gap:12px}.game-subpanel{padding:14px}.resource{padding:7px 9px;font-size:10px}.resource-row{gap:6px}.comic-panels{gap:8px}.comic-panel{padding:15px;min-height:140px}.comic-panel p{font-size:11px}.result-card{padding:20px 5px}.result-card h2{font-size:27px}.result-card p{font-size:12px}.game-bottom{font-size:9px}.game-bottom button{font-size:9px}.big-equation{font-size:27px;letter-spacing:4px}.game-actions .button{font-size:11px;padding:11px 14px}.bridge-board{height:180px}.hero-copy{z-index:1}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.choice-fieldset{border:0;margin:0;padding:0;min-width:0}.radio-choice{display:flex;align-items:center;gap:10px;cursor:pointer}.radio-choice input{width:16px;height:16px;min-height:16px;accent-color:var(--violet);flex-shrink:0}.radio-choice:has(input:checked){border-color:var(--violet);background:#b69aff20}.play-shell:fullscreen{background:var(--bg);overflow:auto;padding:25px;max-width:none}.play-shell:fullscreen .game-stage{max-width:900px;margin:auto}
