@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Noto+Sans+JP:wght@400;450;500;550;600;650;700;750&display=swap";:root{font-family:DM Sans,Noto Sans JP,sans-serif;color:#283b38;background:#f8f9f5;font-weight:400;font-size:calc(14px * var(--text-scale, 1));-webkit-font-smoothing:antialiased;font-synthesis:none;--ink: #253a34;--muted: #8b948c;--line: #e6e9e1;--lime: #d9ef98}*{box-sizing:border-box}body{margin:0}button,a,input,select{-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button{cursor:pointer}button{color:inherit}button:disabled{opacity:.36;cursor:not-allowed}button,a,input,select{outline-offset:5px}button:focus-visible,a:focus-visible{outline:2px solid #647d3e}button{border:0;background:none}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}svg{flex-shrink:0}button{transition:background .18s,transform .18s,color .18s}button:active:not(:disabled){transform:translateY(1px)}.app-shell{min-height:100vh}.sidebar{width:234px;position:fixed;inset:0 auto 0 0;background:#f1f3ec;border-right:1px solid #e4e8de;display:flex;flex-direction:column;padding:39px 22px 22px;z-index:30}.brand{display:flex;align-items:center;gap:11px;padding:0 8px}.brand>span:last-child{font-weight:700;letter-spacing:2.5px;font-size:calc(21px * var(--text-scale, 1));line-height:1.3}.brand small{display:block;font-size:calc(9px * var(--text-scale, 1));letter-spacing:1px;font-weight:500;margin-top:7px;color:#6b796c}.brand-mark{width:33px;height:35px;position:relative;display:block}.brand-mark i{position:absolute;width:31px;height:31px;background:#344b3b;clip-path:polygon(0 0,100% 0,0 100%)}.brand-mark i:nth-child(2){background:#95ac7c;clip-path:polygon(100% 10%,100% 100%,10% 100%)}.brand-mark i:nth-child(3){width:13px;height:13px;background:#c5d5a9;left:0;bottom:0;clip-path:polygon(0 0,100% 100%,0 100%)}.nav-caption{font-size:calc(9px * var(--text-scale, 1));letter-spacing:1.8px;color:#9ba493;margin:52px 12px 16px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.sidebar nav button{height:47px;border-radius:7px;display:flex;align-items:center;gap:11px;text-align:left;padding:0 12px;font-size:calc(12px * var(--text-scale, 1));font-weight:500;color:#738071;white-space:nowrap}.sidebar nav button.active{background:#e1e8d7;color:#344b36}.sidebar nav button:hover{background:#e7ebdf}.sidebar nav button>span{font-size:calc(10px * var(--text-scale, 1));background:#f1f4e9;border-radius:4px;padding:2px 5px;margin-left:auto}.sidebar-progress{margin:36px 8px 0;padding-top:24px;border-top:1px solid #dfe5d8}.progress-heading{display:flex;justify-content:space-between;gap:3px;color:#74826a;font-size:calc(9px * var(--text-scale, 1))}.progress-number{font-size:calc(32px * var(--text-scale, 1));font-weight:500;margin:14px 0 11px;line-height:1}.progress-number>span{font-size:calc(14px * var(--text-scale, 1));color:#9ba593;margin-left:6px}.progress-number>small{font-size:calc(9px * var(--text-scale, 1));margin-left:28px;color:#8a9780}.progress-track{height:4px;border-radius:3px;background:#dce3d4;overflow:hidden}.progress-track i{display:block;background:#80976a;height:100%;transition:width .4s}.sidebar-progress p{font-size:calc(9px * var(--text-scale, 1));color:#94a087;margin-top:11px;line-height:1.9}.sidebar-bottom{margin-top:auto;padding-top:40px}.sidebar-bottom>button{display:flex;gap:12px;align-items:center;padding:13px 12px;font-size:calc(11px * var(--text-scale, 1));color:#7a8772;width:100%}.sidebar-bottom>button svg:last-child:not(:first-child){margin-left:auto}.sidebar-footer{border-top:1px solid #dfe5d8;margin:18px 8px 0;padding-top:22px;color:#9aa68e;font-size:calc(8px * var(--text-scale, 1));letter-spacing:.05px;line-height:2}.sidebar-footer small{font-size:calc(8px * var(--text-scale, 1));display:block;padding-left:19px}.small-mark{font-size:calc(14px * var(--text-scale, 1));margin-right:7px}.main-content{margin-left:234px;padding:0 48px;max-width:1810px}.topbar{height:87px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.topbar>div,.topbar-right{display:flex;align-items:center}.breadcrumb{display:flex;align-items:center;gap:14px;color:#9aa094;font-size:calc(9px * var(--text-scale, 1));letter-spacing:1.5px}.breadcrumb b{font-weight:400;font-size:calc(10px * var(--text-scale, 1));letter-spacing:.5px;color:#6c7869}.topbar-right{gap:23px}.local-badge{font-size:calc(9px * var(--text-scale, 1));letter-spacing:.5px;color:#909b89;display:flex;align-items:center;gap:7px}.local-badge>span{width:5px;height:5px;background:#95ac75;border-radius:50%}.avatar{width:32px;height:32px;border-radius:50%;background:#e8ecdf;border:3px solid #fff;font-size:calc(12px * var(--text-scale, 1));position:relative;color:#6d7f54}.avatar>span{position:absolute;width:7px;height:7px;border-radius:50%;background:#9caf7b;border:1px solid #fff;bottom:-1px;right:-1px}.page-intro{display:flex;align-items:center;justify-content:space-between;padding:36px 0 29px;gap:15px}.eyebrow{font-size:calc(9px * var(--text-scale, 1));letter-spacing:2px;font-weight:500;color:#92a080}.page-intro h1{font-size:calc(24px * var(--text-scale, 1));letter-spacing:1px;font-weight:600;line-height:1.7;margin-top:10px}.page-intro p{color:#8b9584;font-size:calc(10.5px * var(--text-scale, 1));margin-top:7px;letter-spacing:.3px}.intro-stamp{display:flex;align-items:center;gap:7px;font-size:calc(8px * var(--text-scale, 1));letter-spacing:1px;color:#9ca98e;white-space:nowrap;margin-top:13px}.hero{background:#172426;min-height:330px;border-radius:12px;position:relative;display:flex;overflow:hidden;color:#fff}.hero:after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' opacity='.15' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E");opacity:.15;pointer-events:none}.hero-copy{padding:34px 0 32px 36px;z-index:2;flex:0 0 49%}.hero-kicker{display:flex;align-items:center;gap:8px;font-size:calc(9px * var(--text-scale, 1));letter-spacing:1.7px;color:#d0dda9}.hero-kicker>span{width:5px;height:5px;border-radius:50%;background:#d8ee9d}.hero-kicker>i{font-style:normal;font-size:calc(8px * var(--text-scale, 1));color:#84908a;letter-spacing:.5px;margin-left:7px}.hero-copy h2{font-size:calc(34px * var(--text-scale, 1));font-weight:500;line-height:1.65;letter-spacing:3px;margin-top:17px}.hero-copy p{font-size:calc(10px * var(--text-scale, 1));line-height:2.15;color:#acb7af;margin-top:11px;letter-spacing:.7px}.lime-button{background:var(--lime);border-radius:5px;padding:13px 17px;color:#33452d;font-size:calc(11px * var(--text-scale, 1));font-weight:550;display:flex;gap:35px;align-items:center;margin-top:22px}.lime-button:hover{background:#e9fbb9;transform:translateY(-2px)}.hero-meta{display:flex;gap:10px;align-items:center;margin-top:17px;font-size:calc(8px * var(--text-scale, 1));color:#8e9c91}.hero-meta>i{height:2px;width:2px;border-radius:50%;background:#64736b}.hero-art{position:absolute;width:49%;height:100%;right:0;top:0;z-index:1}.hero-art>div:has(canvas){position:absolute!important;inset:0}.art-circle{border:1px solid #73877b1a;width:290px;height:290px;border-radius:50%;position:absolute;left:50%;top:44%;transform:translate(-50%,-50%)}.art-circle:after{content:"";border:1px solid #73877b11;position:absolute;inset:-28px;border-radius:50%}.art-cross{position:absolute;color:#8a9b763a;font-weight:300;font-size:calc(23px * var(--text-scale, 1))}.cross-one{top:23px;left:40px}.cross-two{bottom:47px;right:31px}.art-caption{position:absolute;bottom:31px;left:38%;font-size:calc(7px * var(--text-scale, 1));color:#829383;letter-spacing:1.2px;text-align:center}.art-caption small{display:block;font-size:calc(8px * var(--text-scale, 1));letter-spacing:1px;margin-top:6px;color:#bac4ac}.hero-art-label{position:absolute;right:19px;top:30px;writing-mode:vertical-rl;font-size:calc(7px * var(--text-scale, 1));line-height:2;letter-spacing:2px;color:#6c7f71;font-weight:400}.hero-art-label b{font-weight:400}.hero-counter{position:absolute;bottom:25px;right:25px;display:flex;align-items:center;gap:8px;font-size:calc(8px * var(--text-scale, 1));color:#5e7368;z-index:2}.hero-counter>span:first-child{color:#c1cdac}.hero-counter>div{width:34px;height:1px;background:#4e6159}.hero-counter-text{font-size:calc(6px * var(--text-scale, 1));letter-spacing:1px}.quick-row{display:grid;grid-template-columns:1fr 1fr .95fr;margin:18px 0 34px;border-bottom:1px solid var(--line);padding-bottom:23px;gap:16px}.quick-row>button{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #e7eadd;border-radius:7px;padding:14px 13px;background:#fafbf7;min-width:0}.quick-row>button:hover{background:#eef2e6}.quick-row>button>svg:last-child{margin-left:auto;color:#a8b19c}.quick-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:#edf0e4;border-radius:8px;color:#899770}.quick-row strong{font-size:calc(10px * var(--text-scale, 1));font-weight:550;display:block;letter-spacing:.3px}.quick-row small{font-size:calc(8px * var(--text-scale, 1));display:block;color:#929d85;margin-top:5px}.quick-note{display:flex;align-items:center;justify-content:center;gap:12px;color:#929f83;font-size:calc(9px * var(--text-scale, 1));line-height:1.9}.quick-note>span>strong{font-size:calc(8px * var(--text-scale, 1));font-weight:400}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h2{font-size:calc(20px * var(--text-scale, 1));letter-spacing:.5px;font-weight:550;display:flex;gap:15px;align-items:center}.section-heading h2>span{font-size:calc(8px * var(--text-scale, 1));letter-spacing:1.2px;font-weight:400;color:#9ca68f}.section-heading p{color:#939c88;font-size:calc(10px * var(--text-scale, 1));margin-top:7px}.library-view{display:flex;gap:2px;background:#ebeee4;padding:3px;border-radius:5px}.library-view button{font-size:calc(9px * var(--text-scale, 1));padding:7px 13px;color:#8a967b;border-radius:3px;white-space:nowrap}.library-view button.active{background:#fff;color:#3d5037;box-shadow:0 1px 4px #283b3810}.category-tabs{display:flex;gap:8px;align-items:center;margin-top:24px;overflow-x:auto;scrollbar-width:none;padding-bottom:1px}.category-tabs>button{display:flex;align-items:center;gap:7px;border:1px solid #e1e6d8;background:#fafbf7;color:#839077;border-radius:5px;padding:9px 13px;font-size:calc(10px * var(--text-scale, 1));white-space:nowrap}.category-tabs>button.active{background:#344b3d;border-color:#344b3d;color:#fff}.category-tabs>button>span{font-size:calc(8px * var(--text-scale, 1));margin-left:1px;color:#c1cdb7}.more-category{margin-left:auto;position:relative;display:flex;align-items:center;gap:6px;flex-shrink:0}.more-category select{font-size:calc(10px * var(--text-scale, 1));max-width:170px;padding:9px 20px 9px 9px;appearance:none;border:0;background:none;color:#87917b;cursor:pointer}.more-category>svg{position:absolute;right:3px;pointer-events:none}.filter-row{display:flex;justify-content:space-between;align-items:center;margin:19px 0 17px;gap:10px}.filter-left,.filter-right{display:flex;align-items:center;gap:14px}.filter-toggle{display:flex;align-items:center;gap:6px;font-size:calc(9px * var(--text-scale, 1));color:#838f77;padding:5px 0}.filter-toggle.active{color:#354f3b}.result-count{font-size:calc(9px * var(--text-scale, 1));color:#a0aa93;border-left:1px solid #dce2d2;padding-left:14px}.search-box{display:flex;align-items:center;gap:7px;color:#adb4a3;border-right:1px solid #e2e6d9;padding-right:12px}.search-box input{width:105px;border:0;background:none;font-size:calc(9px * var(--text-scale, 1));color:#445440;padding:5px 0}.search-box input::placeholder{color:#a1aa95}.search-box button{padding:0;display:flex}.sort-select{display:flex;align-items:center;color:#9ba58d;font-size:calc(9px * var(--text-scale, 1));position:relative}.sort-select select{appearance:none;border:0;background:none;color:#647456;padding:5px 17px 5px 4px;font-size:calc(9px * var(--text-scale, 1));cursor:pointer}.sort-select>svg{position:absolute;right:0;pointer-events:none}.filter-panel{display:flex;align-items:center;gap:22px;padding:15px;background:#edf1e6;border-radius:6px;margin-bottom:20px;font-size:calc(10px * var(--text-scale, 1));flex-wrap:wrap}.filter-panel label{display:flex;gap:8px;align-items:center}.filter-panel select{padding:7px;background:#fff;border:1px solid #dbe2d1;border-radius:4px}.filter-active-dot{width:5px;height:5px;border-radius:50%;background:#658044}.puzzle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 18px}.puzzle-card{background:#fff;border:1px solid #e4e7de;border-radius:8px;overflow:hidden;transition:box-shadow .2s,transform .2s}.puzzle-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #344b3610}.card-art{height:153px;position:relative;overflow:hidden;color:#637f72;background:#eaf0e6}.card-art-button{width:100%;height:100%;padding:31px 38px 22px;display:block}.card-art-button svg{width:100%;height:100%;transition:transform .3s;filter:drop-shadow(0 3px 0 #00000003)}.puzzle-card:hover .card-art-button svg{transform:scale(1.055) rotate(-2deg)}.tone-0{background:#e9eee4;color:#728575}.tone-1{background:#f0e9df;color:#ae8d72}.tone-2{background:#ebe7ed;color:#97889e}.tone-3{background:#e6ecec;color:#7d969b}.tone-4{background:#f1eddf;color:#b2a175}.tone-5{background:#e9ebe3;color:#819077}.card-number{position:absolute;left:13px;top:13px;font-size:calc(8px * var(--text-scale, 1));letter-spacing:1px;opacity:.5;pointer-events:none}.favorite-button{position:absolute;right:10px;top:9px;padding:4px;color:inherit;opacity:.5;display:flex;align-items:center;justify-content:center;border-radius:4px;min-width:26px;min-height:26px}.favorite-button:hover,.favorite-button.saved{opacity:1;background:#fff5}.card-play{position:absolute;bottom:10px;right:10px;opacity:0;transform:translate(-5px,5px);transition:all .2s;pointer-events:none}.puzzle-card:hover .card-play{opacity:.8;transform:none}.card-info{width:100%;text-align:left;padding:14px 14px 15px}.card-category{font-size:calc(8px * var(--text-scale, 1));letter-spacing:.3px;color:#939e88}.card-info h3{font-size:calc(12px * var(--text-scale, 1));letter-spacing:.3px;font-weight:550;margin-top:6px}.card-meta{display:flex;justify-content:space-between;gap:3px;margin-top:15px;font-size:calc(8px * var(--text-scale, 1));color:#99a28d}.card-meta>span{display:flex;align-items:center;gap:4px;white-space:nowrap}.level-dots{display:inline-flex;gap:3px;align-items:center}.level-dots i{height:4px;width:4px;display:block;background:#e0e4d9;border-radius:50%}.level-dots i.filled{background:#8d9f72}.difficulty{gap:6px!important}.cleared-badge{position:absolute;bottom:8px;left:10px;display:flex;align-items:center;gap:3px;border-radius:3px;color:#476946;background:#fff9;font-size:calc(7px * var(--text-scale, 1));padding:3px 5px;letter-spacing:.7px}.load-more{display:flex;flex-direction:column;align-items:center;margin-top:29px;gap:12px}.load-more button{border:1px solid #dce3d2;border-radius:5px;padding:11px 31px;font-size:calc(10px * var(--text-scale, 1));display:flex;align-items:center;gap:25px;background:#fbfcf7;color:#77866a}.load-more button:hover{background:#eaf0df}.load-more>span{font-size:calc(8px * var(--text-scale, 1));letter-spacing:1.2px;color:#a3ad97}.closing-note{text-align:center;margin:55px 0 45px;color:#8c9a7e}.closing-note>span{font-size:calc(24px * var(--text-scale, 1));color:#a9b595}.closing-note p{font-size:calc(11px * var(--text-scale, 1));letter-spacing:1px;margin-top:9px}.closing-note small{font-size:calc(7px * var(--text-scale, 1));letter-spacing:1.5px;display:block;margin-top:9px;color:#a9b09e}.footer{border-top:1px solid var(--line);padding:22px 0;display:flex;justify-content:space-between;gap:12px;font-size:calc(7px * var(--text-scale, 1));letter-spacing:.6px;color:#a0aa93}.footer>button{display:flex;align-items:center;gap:4px;font-size:calc(8px * var(--text-scale, 1));padding:0}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.category-card{display:flex;align-items:center;text-align:left;gap:16px;background:#fff;border:1px solid var(--line);border-radius:7px;padding:15px}.category-card:hover{background:#f0f3e9}.category-art{width:66px;height:66px;display:flex;align-items:center;justify-content:center;border-radius:5px;flex-shrink:0;color:#ffffffd0}.category-art svg{width:35px;height:35px;fill:currentColor}.category-art>span{font-size:calc(34px * var(--text-scale, 1))}.category-card-body{display:flex;flex-direction:column;gap:6px}.category-card-body small{font-size:calc(8px * var(--text-scale, 1));color:#9aa28f}.category-card-body strong{font-size:calc(12px * var(--text-scale, 1));font-weight:550}.category-card-body>span{font-size:calc(9px * var(--text-scale, 1));color:#8b977d}.category-card>svg{margin-left:auto;color:#a0aa90}.empty-state{padding:75px 20px;text-align:center;color:#8c9b7a;background:#f0f3ea;border-radius:8px}.empty-state>svg{margin-bottom:20px}.empty-state h3{font-weight:500;font-size:calc(18px * var(--text-scale, 1))}.empty-state p{font-size:calc(12px * var(--text-scale, 1));margin:12px 0 24px}.text-button{display:inline-flex;align-items:center;gap:8px;font-size:calc(12px * var(--text-scale, 1));color:#758368;padding:9px 0}.text-button:hover{color:#263e2d}.icon-button{padding:8px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:#78866b}.icon-button:hover{background:#e9eee0}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#15251bcc;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:22px}.dialog{background:#fafbf6;border:1px solid #fff8;border-radius:16px;max-width:500px;width:100%;padding:39px;position:relative;box-shadow:0 24px 100px #0002;max-height:calc(100dvh - 44px);overflow:auto;animation:dialog-in .25s ease-out}.dialog-close{position:absolute;right:16px;top:16px}.dialog h2{font-size:calc(23px * var(--text-scale, 1));font-weight:550;line-height:1.6;margin:15px 0 25px;letter-spacing:.5px}.guide-step{display:flex;gap:19px;margin:22px 0}.guide-step>b{font-size:calc(20px * var(--text-scale, 1));font-weight:400;color:#9fb18a}.guide-step h3,.settings-row h3{font-size:calc(13px * var(--text-scale, 1));font-weight:550}.guide-step p,.settings-row p{font-size:calc(11px * var(--text-scale, 1));line-height:1.9;color:#8a9780;margin-top:5px}.dialog-note{font-size:calc(10px * var(--text-scale, 1));line-height:2;color:#8b9782;border-top:1px solid #e2e8d8;margin-top:24px;padding-top:18px}.primary-button{background:#344d3b;color:#f0f5e6;display:flex;align-items:center;justify-content:space-between;gap:25px;width:100%;border-radius:6px;padding:15px 20px;font-size:calc(12px * var(--text-scale, 1));margin-top:25px}.primary-button:hover{background:#4a654a}.settings-row{display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid #e5e9dd;padding:22px 0}.switch{width:41px;height:24px;border-radius:20px;background:#c9d1c0;padding:3px;flex-shrink:0}.switch>span{display:block;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s}.switch.on{background:#82956b}.switch.on>span{transform:translate(17px)}.version-label{font-size:calc(8px * var(--text-scale, 1));color:#a3ae97;letter-spacing:1.4px;text-align:center;margin-top:28px}.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%);z-index:120;background:#304a37;color:#fff;padding:14px 20px;border-radius:8px;box-shadow:0 5px 30px #0002;font-size:calc(12px * var(--text-scale, 1));display:flex;align-items:center;gap:12px;max-width:90vw}.toast button{display:flex;color:#fff;padding:0;margin-left:8px}.stats-page{padding:45px 0}.section-intro h1{font-size:calc(30px * var(--text-scale, 1));margin:12px 0}.section-intro p{font-size:calc(12px * var(--text-scale, 1));color:#8b9780}.stat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:32px 0 40px}.stat-cards>div{background:#eef2e6;border:1px solid #e0e7d4;border-radius:10px;padding:25px}.stat-cards svg{display:block;color:#94a57e;margin-bottom:24px}.stat-cards strong{display:block;font-size:calc(39px * var(--text-scale, 1));font-weight:450}.stat-cards strong>small{font-size:calc(16px * var(--text-scale, 1));color:#9ba98b}.stat-cards p{font-size:calc(10px * var(--text-scale, 1));color:#87957a;margin-top:8px}.stats-page h2{font-size:calc(18px * var(--text-scale, 1));font-weight:500;margin-bottom:22px}.category-progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.category-progress-grid>button{background:#fff;border:1px solid var(--line);padding:14px;display:flex;align-items:center;text-align:left;border-radius:6px;gap:12px}.category-small-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:#fff;border-radius:4px;font-size:calc(24px * var(--text-scale, 1))}.category-small-icon svg{width:23px;height:23px;fill:currentColor}.category-progress-grid>button>span:nth-child(2){flex:1;font-size:calc(10px * var(--text-scale, 1))}.category-progress-grid .progress-track{margin-top:10px}.category-progress-grid small{font-size:calc(10px * var(--text-scale, 1));color:#98a589;margin-left:8px}.mobile-menu,.mobile-close{display:none}.game-page{max-width:1280px;margin:0 auto;padding:0 35px;min-height:100dvh}.game-header{height:104px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:20px}.game-title{text-align:center}.game-title>span{font-size:calc(9px * var(--text-scale, 1));letter-spacing:1.2px;color:#89977d}.game-title h1{font-size:calc(20px * var(--text-scale, 1));margin-top:8px;font-weight:550;letter-spacing:1px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:38px;padding:28px 0}.board-panel{background:#f0f3e9;border:1px solid #e0e6d5;border-radius:12px;padding:18px;align-self:start}.board-top{display:flex;justify-content:space-between;align-items:center;padding:0 3px}.view-toggle{display:flex;gap:5px;align-items:center;font-size:calc(9px * var(--text-scale, 1));color:#94a082;padding:5px 8px;border:1px solid #dfe5d5;border-radius:4px;background:#f9fbf3}.view-toggle.active{background:#dee9cf;color:#576e45}.game-board{position:relative;aspect-ratio:1;width:100%;margin-top:5px;touch-action:none}.board-svg{width:100%;height:100%;position:relative;z-index:2;touch-action:none;display:block}.three-board{position:absolute;inset:0;z-index:3;pointer-events:none}.three-board+svg>g:first-of-type{opacity:.3}.draggable-piece{cursor:grab;touch-action:none}.draggable-piece:active{cursor:grabbing}.locked-piece{pointer-events:none}.board-instruction{font-family:Noto Sans JP,sans-serif;font-size:calc(.21px * var(--text-scale, 1));letter-spacing:.045px;fill:#99a28e}.board-status{border-top:1px solid #e1e7d7;padding:16px 8px 1px;text-align:center;color:#8c9b7e;font-size:calc(10px * var(--text-scale, 1));display:flex;align-items:center;justify-content:center;gap:7px}.status-dot{width:5px;height:5px;border-radius:50%;background:#a3b78e}.game-controls{padding:15px 0}.puzzle-info h2{font-size:calc(27px * var(--text-scale, 1));line-height:1.7;font-weight:500;letter-spacing:1.6px;margin:16px 0}.puzzle-info>p{font-size:calc(11px * var(--text-scale, 1));line-height:2;color:#91a081}.level-line{display:flex;gap:15px;align-items:center;font-size:calc(10px * var(--text-scale, 1));margin-top:20px;color:#8d9a7f}.level-line .level-dots{gap:5px}.level-line .level-dots i{width:5px;height:5px}.game-metrics{display:flex;justify-content:space-between;text-align:center;padding:22px 0;margin:25px 0 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.game-metrics strong{display:block;font-size:calc(23px * var(--text-scale, 1));font-weight:450;letter-spacing:1px;font-variant-numeric:tabular-nums}.game-metrics small{font-size:calc(12px * var(--text-scale, 1));color:#9da78f}.game-metrics span{display:block;font-size:calc(9px * var(--text-scale, 1));color:#929e85;margin-top:6px}.game-metrics .urgent{color:#c77860}.piece-picker label{font-size:calc(10px * var(--text-scale, 1));color:#7d8e6d;display:flex;justify-content:space-between;gap:8px}.piece-picker small{font-size:calc(8px * var(--text-scale, 1));color:#a0ac93}.piece-picker>div{display:flex;gap:7px;margin-top:12px;flex-wrap:wrap}.piece-picker button{width:32px;height:32px;border-radius:5px;background:var(--piece-color);font-size:calc(11px * var(--text-scale, 1));border:2px solid transparent;display:flex;align-items:center;justify-content:center}.piece-picker button.selected{border-color:#3e583c;box-shadow:0 0 0 2px #f8f9f5 inset}.transform-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}.transform-controls button{border:1px solid #dde4d3;background:#fff;border-radius:6px;padding:12px 5px;font-size:calc(9px * var(--text-scale, 1));display:flex;flex-direction:column;align-items:center;gap:8px}.transform-controls button:hover:not(:disabled){background:#eaf0e0}.transform-controls svg{width:19px;height:19px;color:#8b9d78}.hint-button{display:flex;align-items:center;gap:12px;border:1px solid #dbe5c9;background:#edf3e1;width:100%;padding:14px;border-radius:7px;text-align:left;margin-top:19px;color:#6e8353;font-size:calc(11px * var(--text-scale, 1))}.hint-button>span>small{display:block;font-size:calc(8px * var(--text-scale, 1));color:#9aa887;margin-top:5px}.hint-count{margin-left:auto;white-space:nowrap;font-size:calc(9px * var(--text-scale, 1))}.secondary-controls{display:flex;justify-content:space-between;margin-top:14px}.secondary-controls>button{display:flex;align-items:center;gap:5px;padding:8px 1px;font-size:calc(9px * var(--text-scale, 1));color:#91a07e}.keyboard-note{text-align:center;color:#a3ae97;font-size:calc(8px * var(--text-scale, 1));margin-top:28px;line-height:2}.keyboard-note>span{display:inline-block;margin-right:8px}kbd{font-family:inherit;border:1px solid #dfe5d5;border-radius:3px;padding:1px 4px;color:#8c9c7a;font-size:calc(8px * var(--text-scale, 1))}.keyboard-note p{font-size:calc(9px * var(--text-scale, 1));line-height:2;margin-top:16px}.game-dialog{text-align:center}.game-dialog h2{font-size:calc(23px * var(--text-scale, 1))}.game-dialog>p{font-size:calc(12px * var(--text-scale, 1));line-height:2;color:#8b9a7c}.game-dialog .eyebrow{display:block;margin-top:16px}.celebration{width:75px;height:75px;border-radius:50%;background:#e8efda;color:#8ba15d;font-size:calc(55px * var(--text-scale, 1));line-height:75px;margin:0 auto;animation:celebrate 1s ease-out}.result-stars{display:flex;justify-content:center;gap:10px;margin:-8px 0 22px}.centered{justify-content:center;margin-top:12px}.dialog-symbol{font-size:calc(45px * var(--text-scale, 1));color:#92a371}.is-paused{filter:blur(9px)}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes celebrate{0%{transform:scale(.5) rotate(-90deg)}to{transform:scale(1) rotate(0)}}@media(min-width:1600px){.main-content{padding:0 70px}.hero{min-height:380px}.hero-copy{padding:44px}.hero-copy h2{font-size:calc(40px * var(--text-scale, 1))}.hero-art{width:50%}.card-art{height:190px}.card-info{padding:18px}.card-info h3{font-size:calc(14px * var(--text-scale, 1))}.card-meta{font-size:calc(9px * var(--text-scale, 1))}}@media(max-width:1200px){.sidebar{width:207px;padding-left:15px;padding-right:15px}.brand>span:last-child{font-size:calc(19px * var(--text-scale, 1))}.main-content{margin-left:207px;padding:0 30px}.page-intro h1{font-size:calc(21px * var(--text-scale, 1))}.intro-stamp{display:none}.hero-copy{padding-left:28px;flex-basis:53%}.hero-copy h2{font-size:calc(30px * var(--text-scale, 1))}.hero-art{width:47%}.hero-art>div:has(canvas){transform:scale(.92)}.quick-row{grid-template-columns:1fr 1fr}.quick-note{display:none}.puzzle-grid{gap:17px 13px}.card-art{height:132px}.card-art-button{padding:27px 25px 20px}.card-info{padding:12px 10px}.card-info h3{font-size:calc(11px * var(--text-scale, 1))}.card-meta{font-size:calc(7px * var(--text-scale, 1))}.level-dots{gap:2px}.category-tabs{gap:6px}.category-tabs>button{padding:8px 10px;font-size:calc(9px * var(--text-scale, 1))}.game-layout{gap:23px;grid-template-columns:minmax(0,1fr) 265px}.hero-counter-text{display:none}}@media(max-width:1000px){.sidebar{width:190px;padding-left:12px;padding-right:12px}.brand{padding:0 5px;gap:8px}.brand>span:last-child{font-size:calc(17px * var(--text-scale, 1))}.brand small{font-size:calc(8px * var(--text-scale, 1))}.brand-mark{width:30px}.sidebar nav button{font-size:calc(10px * var(--text-scale, 1));gap:9px;padding:0 10px}.sidebar-progress{margin-left:5px;margin-right:5px}.progress-heading{font-size:calc(8px * var(--text-scale, 1))}.main-content{margin-left:190px;padding:0 25px}.topbar{height:73px}.hero{min-height:323px}.hero-copy h2{font-size:calc(27px * var(--text-scale, 1))}.hero-copy p{font-size:calc(9px * var(--text-scale, 1))}.hero-art{right:-20px;width:49%}.hero-art>div:has(canvas){transform:scale(.83)}.hero-kicker{font-size:calc(8px * var(--text-scale, 1));gap:5px;letter-spacing:1px}.hero-kicker>i{font-size:calc(7px * var(--text-scale, 1))}.hero-art-label{display:none}.art-caption{left:30%}.puzzle-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.card-art{height:143px}.category-tabs .more-category{margin-left:0}.category-tabs{padding-bottom:6px}.page-intro h1{font-size:calc(19px * var(--text-scale, 1));letter-spacing:.5px}.page-intro p{font-size:calc(9px * var(--text-scale, 1))}.quick-row{gap:10px}.quick-row>button{padding:12px 10px;gap:8px}.quick-row strong{font-size:calc(9px * var(--text-scale, 1))}.quick-row small{font-size:calc(7px * var(--text-scale, 1))}.quick-icon{width:28px;height:28px}.game-page{padding:0 25px}.game-layout{grid-template-columns:minmax(0,1fr) 240px;gap:20px}.board-panel{padding:12px}.puzzle-info h2{font-size:calc(23px * var(--text-scale, 1))}.piece-picker small{display:none}.category-grid{gap:10px}.category-card{padding:12px;gap:10px}.category-art{width:46px;height:54px}.category-card-body strong{font-size:calc(10px * var(--text-scale, 1))}.category-card-body>span{font-size:calc(8px * var(--text-scale, 1))}.category-card>svg{width:14px}}@media(max-width:760px){.sidebar{transform:translate(-100%);transition:transform .25s;width:234px;padding:32px 22px 22px;box-shadow:10px 0 60px #15251b22}.sidebar.open{transform:none}.sidebar-scrim{position:fixed;inset:0;background:#10201588;z-index:29;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.brand>span:last-child{font-size:calc(21px * var(--text-scale, 1))}.brand small{font-size:calc(9px * var(--text-scale, 1))}.sidebar nav button{font-size:calc(12px * var(--text-scale, 1))}.sidebar-progress .progress-heading{font-size:calc(9px * var(--text-scale, 1))}.mobile-close{display:flex;position:absolute;right:8px;top:6px}.mobile-menu{display:flex;margin-right:11px;padding-left:0}.main-content{margin-left:0;padding:0 24px}.topbar{height:67px}.topbar-right{gap:14px}.page-intro{padding:28px 0 24px}.page-intro h1{font-size:calc(22px * var(--text-scale, 1))}.page-intro p{font-size:calc(10px * var(--text-scale, 1))}.hero{min-height:340px}.hero-copy{padding:32px 0 28px 29px;flex-basis:52%}.hero-copy h2{font-size:calc(29px * var(--text-scale, 1));letter-spacing:2px}.hero-copy p{font-size:calc(10px * var(--text-scale, 1))}.hero-art{width:49%;right:-6px}.hero-art>div:has(canvas){transform:scale(.9)}.hero-meta,.hero-kicker{font-size:calc(8px * var(--text-scale, 1))}.hero-kicker>i{font-size:calc(8px * var(--text-scale, 1))}.quick-row strong{font-size:calc(10px * var(--text-scale, 1))}.quick-row small{font-size:calc(8px * var(--text-scale, 1))}.quick-icon{width:31px;height:31px}.quick-row{margin-bottom:27px}.card-art{height:162px}.card-info{padding:14px 12px}.card-info h3{font-size:calc(12px * var(--text-scale, 1))}.card-meta{font-size:calc(8px * var(--text-scale, 1))}.game-layout{grid-template-columns:1fr;gap:15px;padding-top:19px}.game-header{height:83px}.game-title h1{font-size:calc(16px * var(--text-scale, 1))}.game-title>span{font-size:calc(8px * var(--text-scale, 1))}.game-header>.text-button{font-size:calc(10px * var(--text-scale, 1))}.game-controls{padding:5px 0 20px;display:grid;grid-template-columns:1fr 1fr;column-gap:20px;align-items:start}.puzzle-info{grid-column:1/-1;display:none}.game-metrics{grid-column:1/-1;margin:0 0 15px;padding:10px 0 15px;justify-content:space-around;border-top:0}.game-metrics strong{font-size:calc(21px * var(--text-scale, 1))}.piece-picker{grid-column:1/-1;margin-bottom:0}.piece-picker>div{justify-content:center}.piece-picker label{justify-content:center}.transform-controls{margin-top:14px}.hint-button{margin-top:14px;min-height:72px}.secondary-controls{grid-column:1/-1;justify-content:center;gap:35px}.keyboard-note{display:none}.board-panel{padding:13px}.board-status{font-size:calc(9px * var(--text-scale, 1));padding:13px 0 1px}.game-board{max-height:63dvh;min-height:280px;aspect-ratio:1}.game-page{padding:0 20px}.category-art{width:60px;height:60px}.category-card-body strong{font-size:calc(12px * var(--text-scale, 1))}.category-card-body>span{font-size:calc(9px * var(--text-scale, 1))}.stats-page{padding-top:30px}.stat-cards{gap:10px}.stat-cards>div{padding:19px}.stat-cards strong{font-size:calc(30px * var(--text-scale, 1))}.category-progress-grid{gap:9px}.category-progress-grid>button{padding:10px}.category-progress-grid>button>span:nth-child(2){font-size:calc(9px * var(--text-scale, 1))}}@media(max-width:520px){.main-content{padding:0 19px}.breadcrumb{font-size:calc(8px * var(--text-scale, 1));gap:8px}.breadcrumb b{font-size:calc(9px * var(--text-scale, 1))}.local-badge{font-size:calc(8px * var(--text-scale, 1));gap:5px}.topbar-right{gap:12px}.page-intro .eyebrow{font-size:calc(7px * var(--text-scale, 1));letter-spacing:1.3px}.page-intro h1{font-size:calc(18px * var(--text-scale, 1));letter-spacing:.2px;line-height:1.7;margin-top:10px}.page-intro p{font-size:calc(9px * var(--text-scale, 1));line-height:1.8;max-width:320px;margin-top:7px}.hero{min-height:360px;border-radius:9px}.hero-copy{padding:27px 0 25px 23px;flex-basis:100%;pointer-events:none}.hero-copy button{pointer-events:auto}.hero-kicker{font-size:calc(8px * var(--text-scale, 1));letter-spacing:1.2px}.hero-kicker>i{font-size:calc(7px * var(--text-scale, 1))}.hero-copy h2{font-size:calc(28px * var(--text-scale, 1));letter-spacing:2px;line-height:1.65;margin-top:21px}.hero-copy p{font-size:calc(9px * var(--text-scale, 1));line-height:2.1;width:200px;margin-top:15px}.lime-button{padding:12px 14px;font-size:calc(10px * var(--text-scale, 1));gap:22px;margin-top:24px}.hero-meta{font-size:calc(7px * var(--text-scale, 1));margin-top:14px;gap:8px}.hero-art{width:190px;height:200px;right:-37px;top:71px;opacity:.88}.hero-art>div:has(canvas){transform:scale(.76)}.art-circle{width:160px;height:160px;left:48%;top:50%}.art-circle:after{inset:-17px}.art-caption{display:none}.cross-one{left:25px;top:0}.cross-two{right:29px;bottom:7px}.hero-counter{font-size:calc(7px * var(--text-scale, 1));bottom:22px;right:17px;gap:6px}.hero-counter>div{width:18px}.hero-counter-text{display:none}.quick-row{gap:8px;margin-top:12px;padding-bottom:20px}.quick-row>button{padding:12px 9px;gap:8px;align-items:flex-start}.quick-icon{width:24px;height:27px;background:none}.quick-icon svg{width:17px}.quick-row strong{font-size:calc(9px * var(--text-scale, 1));letter-spacing:0;line-height:1.7}.quick-row small{font-size:calc(7px * var(--text-scale, 1));line-height:1.7;margin-top:3px}.quick-row>button>svg:last-child{display:none}.section-heading h2{font-size:calc(17px * var(--text-scale, 1));gap:8px}.section-heading h2>span{font-size:calc(6px * var(--text-scale, 1));letter-spacing:.5px}.section-heading p{font-size:calc(9px * var(--text-scale, 1))}.library-view button{font-size:calc(8px * var(--text-scale, 1));padding:6px 8px}.category-tabs{margin-top:19px;gap:6px}.category-tabs>button{padding:8px 10px;font-size:calc(9px * var(--text-scale, 1))}.filter-row{margin-top:12px;gap:8px}.filter-left{gap:8px}.filter-toggle{font-size:calc(8px * var(--text-scale, 1));gap:4px}.filter-toggle svg{width:12px}.result-count{font-size:calc(8px * var(--text-scale, 1));padding-left:8px}.filter-right{gap:8px}.search-box{padding-right:7px;gap:4px}.search-box input{width:75px;font-size:calc(8px * var(--text-scale, 1))}.search-box svg{width:12px}.sort-select{font-size:calc(8px * var(--text-scale, 1))}.sort-select>span{display:none}.sort-select select{font-size:calc(8px * var(--text-scale, 1));max-width:75px;padding-right:13px}.puzzle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 12px}.card-art{height:147px}.card-art-button{padding:30px 29px 22px}.card-info{padding:12px 11px}.card-info h3{font-size:calc(11px * var(--text-scale, 1))}.card-category{font-size:calc(7px * var(--text-scale, 1))}.card-meta{font-size:calc(7px * var(--text-scale, 1));margin-top:13px}.card-meta .level-dots{gap:2px}.card-meta .level-dots i{width:3px;height:3px}.card-number{font-size:calc(7px * var(--text-scale, 1));left:11px;top:11px}.favorite-button{right:6px;top:6px;min-height:32px;min-width:32px}.favorite-button svg{width:16px}.load-more button{font-size:calc(9px * var(--text-scale, 1))}.closing-note{margin:40px 0 32px}.footer{font-size:calc(6px * var(--text-scale, 1));flex-wrap:wrap;gap:13px}.footer>span:nth-child(2){display:none}.footer button{font-size:calc(7px * var(--text-scale, 1))}.dialog{padding:30px 24px;border-radius:12px}.dialog h2{font-size:calc(20px * var(--text-scale, 1));margin-bottom:20px}.guide-step{gap:14px}.guide-step p{font-size:calc(10px * var(--text-scale, 1))}.guide-step h3{font-size:calc(12px * var(--text-scale, 1))}.dialog-note{font-size:calc(9px * var(--text-scale, 1))}.category-grid{grid-template-columns:1fr}.category-card{padding:14px;gap:17px}.category-card-body strong{font-size:calc(12px * var(--text-scale, 1))}.category-card-body>span{font-size:calc(10px * var(--text-scale, 1))}.category-card>svg{width:18px}.category-art{width:57px;height:57px}.stat-cards{gap:8px}.stat-cards>div{padding:16px 12px}.stat-cards strong{font-size:calc(26px * var(--text-scale, 1))}.stat-cards strong>small{font-size:calc(10px * var(--text-scale, 1))}.stat-cards p{font-size:calc(8px * var(--text-scale, 1));line-height:1.7}.stat-cards svg{width:20px}.category-progress-grid{grid-template-columns:1fr}.section-intro h1{font-size:calc(25px * var(--text-scale, 1))}.game-page{padding:0 13px}.game-header{gap:8px}.game-header .text-button{font-size:calc(9px * var(--text-scale, 1));gap:5px}.game-header .text-button svg{width:15px}.game-title h1{font-size:calc(14px * var(--text-scale, 1))}.game-title>span{font-size:calc(7px * var(--text-scale, 1));letter-spacing:.4px}.game-header .icon-button{padding:5px}.game-controls{column-gap:10px}.game-board{max-height:none}.board-top .eyebrow{font-size:calc(7px * var(--text-scale, 1));letter-spacing:1.2px}.board-status{font-size:calc(8px * var(--text-scale, 1))}.piece-picker>div{gap:9px}.piece-picker button{width:34px;height:34px}.transform-controls{gap:6px}.transform-controls button{font-size:calc(8px * var(--text-scale, 1));min-height:64px}.hint-button{min-height:64px;padding:10px;gap:7px;font-size:calc(9px * var(--text-scale, 1))}.hint-button>span>small{font-size:calc(7px * var(--text-scale, 1))}.hint-button>svg{width:17px}.hint-count{font-size:calc(8px * var(--text-scale, 1))}.game-dialog h2{font-size:calc(19px * var(--text-scale, 1))}.secondary-controls>button{min-height:40px}.game-board{margin-top:5px}.board-panel{padding:10px}.board-top{padding:0}.stat-cards strong{letter-spacing:-1px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(min-width:761px){.game-board{max-height:calc(100dvh - 230px);min-height:360px}.game-header{height:88px}.game-layout{padding-top:22px}.game-board{margin-top:8px}}.three-board{z-index:5}.three-board+svg{z-index:4}@media(max-width:760px){.sidebar{visibility:hidden}.sidebar.open{visibility:visible}.icon-button{min-width:40px;min-height:40px}}@media(max-width:520px){.page-intro p{font-size:calc(10px * var(--text-scale, 1))}.card-category{font-size:calc(9px * var(--text-scale, 1))}.card-info h3{font-size:calc(12px * var(--text-scale, 1))}.card-meta{font-size:calc(8px * var(--text-scale, 1))}.piece-picker button{width:40px;height:40px}.piece-picker>div{gap:6px}.piece-picker label{font-size:calc(11px * var(--text-scale, 1))}.secondary-controls>button{font-size:calc(11px * var(--text-scale, 1))}.board-status{font-size:calc(10px * var(--text-scale, 1))}.dialog-note{font-size:calc(11px * var(--text-scale, 1))}}.three-board+svg>g:first-of-type{opacity:1}@media(max-width:520px){.hero-art{width:170px;right:-8px;top:110px}.hero-art>div:has(canvas){transform:none}}.board-svg{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}.gesture-guide{display:flex;gap:12px;align-items:flex-start;padding:4px 0 20px;color:#64785b}.gesture-guide>svg{margin-top:3px}.gesture-guide strong{font-size:calc(12px * var(--text-scale));font-weight:550}.gesture-guide p{font-size:calc(11px * var(--text-scale));line-height:1.9;margin-top:8px}.gesture-guide small{font-size:calc(10px * var(--text-scale));line-height:1.8;display:block;margin-top:8px;color:#829175}.assist-controls{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0}.assist-controls summary{cursor:pointer;font-size:calc(11px * var(--text-scale));color:#74866b;line-height:1.8}.assist-controls summary small{font-size:calc(9px * var(--text-scale));margin-left:10px;color:#92a184}.assist-controls[open] .piece-picker{margin-top:16px}.assist-controls .piece-picker>div{justify-content:flex-start}.assist-controls .piece-picker label small{display:none}.settings-dialog{max-width:590px}.text-size-settings{border:0;padding:0;margin:0;min-width:0}.text-size-settings legend,.data-settings h3{font-size:calc(13px * var(--text-scale));font-weight:550}.text-size-settings>p,.data-settings>p{font-size:calc(11px * var(--text-scale));color:#7c8d70;line-height:1.9;margin-top:8px}.text-size-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:14px}.text-size-options label{position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;min-height:46px;border:1px solid #dce3d3;background:#fff;border-radius:6px;font-size:calc(12px * var(--text-scale))}.text-size-options label.active{border-color:#526f41;background:#e5edda;color:#405b32}.text-size-options input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.text-size-options label:focus-within{outline:2px solid #647d3e;outline-offset:3px}.text-size-settings .size-preview{padding:13px;border-radius:6px;background:#f0f3e9;color:#415a37}.data-settings{padding-top:23px}.data-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.data-actions button{flex:1;display:flex;gap:9px;align-items:center;justify-content:center;min-height:46px;padding:12px 10px;border:1px solid #dce3d3;border-radius:6px;background:#edf2e4;font-size:calc(11px * var(--text-scale))}.file-input{display:none}.import-preview{padding:18px;margin-top:18px;background:#edf2e4;border:1px solid #d7e3c8;border-radius:9px}.import-preview h3{font-size:calc(13px * var(--text-scale));line-height:1.7;font-weight:550}.import-filename{font-size:calc(10px * var(--text-scale));color:#7c8a71;overflow-wrap:anywhere;margin-top:5px}.import-preview dl{display:flex;gap:16px;flex-wrap:wrap;margin:16px 0}.import-preview dt{font-size:calc(10px * var(--text-scale));color:#829375}.import-preview dd{margin:5px 0 0;font-size:calc(17px * var(--text-scale))}.import-preview label{display:flex;align-items:flex-start;gap:10px;font-size:calc(12px * var(--text-scale));margin-top:15px;line-height:1.7;cursor:pointer}.import-preview label input{accent-color:#5b7749;width:17px;height:17px;flex-shrink:0;margin-top:4px}.import-preview label small{display:block;color:#7c8f6b;font-size:calc(10px * var(--text-scale));line-height:1.8;margin-top:4px}.data-message,.data-error{font-size:calc(12px * var(--text-scale));line-height:1.8;padding:12px;border-radius:6px;margin-top:15px;overflow-wrap:anywhere}.data-message{background:#e8f0df;color:#506c3e}.data-error{background:#f5e8e1;color:#984f38}.dialog-close{z-index:1}.settings-dialog h2{padding-right:12px}.card-meta,.section-heading h2,.game-metrics,.topbar-right,.page-intro,.quick-row>button,.settings-row{flex-wrap:wrap}.settings-row .switch{margin-left:auto}.card-info h3,.category-card-body strong,.game-title h1{overflow-wrap:anywhere;line-height:1.7}.sidebar nav button{white-space:normal;height:auto;min-height:47px;padding-top:12px;padding-bottom:12px}.sidebar{overflow-y:auto}.brand>span:last-child{font-size:21px}.hero-copy{padding-right:10px}.hero-kicker,.hero-meta{flex-wrap:wrap}.hero-copy p{max-width:100%}.game-header{height:auto;min-height:88px;padding:17px 0}.game-title{min-width:0}.game-header>.text-button{flex-shrink:0}.text-button,.hint-button,.primary-button{line-height:1.7}html[data-text-size=xlarge] .puzzle-grid,html[data-text-size=xxlarge] .puzzle-grid{grid-template-columns:repeat(3,minmax(0,1fr))}html[data-text-size=xxlarge] .game-layout{grid-template-columns:minmax(0,1fr) 340px;gap:24px}html[data-text-size=xxlarge] .category-grid,html[data-text-size=xxlarge] .category-progress-grid{grid-template-columns:1fr}html[data-text-size=xxlarge] .hero-art{opacity:.45}html[data-text-size=xxlarge] .game-metrics{gap:12px}html[data-text-size=xxlarge] .filter-row{flex-wrap:wrap}@media(max-width:1100px){html[data-text-size=xlarge] .puzzle-grid,html[data-text-size=xxlarge] .puzzle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-text-size=xxlarge] .game-layout{grid-template-columns:1fr}html[data-text-size=xxlarge] .game-controls{display:block}html[data-text-size=xxlarge] .quick-row{grid-template-columns:1fr}}@media(max-width:760px){.gesture-guide,.assist-controls{grid-column:1/-1}.gesture-guide{padding:5px 6px 15px;justify-content:center}.gesture-guide p{margin-top:5px}.gesture-guide small{margin-top:3px}.assist-controls summary{text-align:center}.assist-controls .piece-picker>div{justify-content:center}.game-controls>.hint-button{grid-column:1/-1;width:min(100%,340px);justify-self:center;min-height:55px}.game-controls>.hint-button .hint-count{margin-left:auto}.game-controls>.secondary-controls{gap:20px;flex-wrap:wrap}.transform-controls{max-width:360px;margin-left:auto;margin-right:auto}.game-header{min-height:78px;padding:12px 0}html[data-text-size=xlarge] .hero-copy,html[data-text-size=xxlarge] .hero-copy{flex-basis:100%}html[data-text-size=xlarge] .hero-art,html[data-text-size=xxlarge] .hero-art{opacity:.24}html[data-text-size=xlarge] .hero-copy p,html[data-text-size=xxlarge] .hero-copy p{width:auto;max-width:100%}html[data-text-size=xxlarge] .topbar .local-badge{display:none}html[data-text-size=xxlarge] .page-intro h1{font-size:calc(18px * var(--text-scale))}html[data-text-size=xxlarge] .section-heading{align-items:flex-start;flex-direction:column}html[data-text-size=xxlarge] .section-heading h2>span{display:none}html[data-text-size=xxlarge] .stat-cards{grid-template-columns:1fr}html[data-text-size=xxlarge] .game-header>.text-button{font-size:calc(9px * var(--text-scale))}}@media(max-width:520px){html[data-text-size=xlarge] .puzzle-grid,html[data-text-size=xxlarge] .puzzle-grid{grid-template-columns:1fr}html[data-text-size=xlarge] .card-art,html[data-text-size=xxlarge] .card-art{height:180px}.settings-dialog{padding:31px 20px}.text-size-options{gap:4px}.text-size-options label{min-height:46px;font-size:calc(11px * var(--text-scale))}.data-actions{flex-direction:column}.filter-right{flex-wrap:wrap}html[data-text-size=xxlarge] .hero-copy{padding-left:21px}html[data-text-size=xxlarge] .hero-copy h2{font-size:calc(24px * var(--text-scale));letter-spacing:0}}
