:root{font-family:Hiragino Sans,Yu Gothic UI,Meiryo,system-ui,sans-serif;color:#302146;background:#f6f1ff;font-synthesis:none;--ink: #302146;--muted: #675674;--violet: #6a39c3;--paper: #fffdf9;-webkit-text-size-adjust:100%;text-size-adjust:100%;font-weight:600}*,*:before,*:after{box-sizing:border-box}body{margin:0}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible{outline:3px solid #6d3bd0;outline-offset:3px;z-index:3}button,img,svg{-webkit-user-select:none;user-select:none}img{object-fit:contain}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.site{min-height:100vh;min-height:100svh;padding:env(safe-area-inset-top) max(22px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(22px,env(safe-area-inset-left));position:relative;isolation:isolate;background-image:radial-gradient(ellipse at 8% 20%,#fff2e9 0%,transparent 52%),radial-gradient(ellipse at 83% 77%,#efe0ff 0%,transparent 55%),linear-gradient(125deg,#f9f4ff,#f5eeff)}.page-backdrop{pointer-events:none;position:absolute;z-index:-1;inset:0;background-image:var(--menu-pattern, none),linear-gradient(#744daf07 1px,transparent 1px),linear-gradient(90deg,#744daf07 1px,transparent 1px);background-size:320px 320px,29px 29px,29px 29px}.header,.layout,.footer{max-width:1050px;margin-inline:auto}.header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:91px;border-bottom:1px solid #52317624}.wordmark{position:relative;display:grid;place-items:center;width:clamp(122px,35vw,170px);aspect-ratio:20 / 7;flex:none;white-space:nowrap;border:0;background:transparent;padding:0}.logo-img{position:absolute;inset:0;width:100%;height:100%}.logo-fallback{position:absolute;inset:11% 3% 14%;border:2px solid #35265c;border-radius:999px;background:#a56aff;box-shadow:0 2px #35265c}.logo-title{position:relative;color:#fff7d5;font-size:clamp(17px,4.4vw,24px);font-weight:900;line-height:1;letter-spacing:-.035em;transform:translateY(-1px);text-shadow:-1px -1px #35265c,1px -1px #35265c,-1px 1px #35265c,1px 1px #35265c}.header nav{display:flex;align-items:center;gap:9px}.nav-btn,.square{height:44px;border:1px solid #d6c5e8;border-radius:12px;background:#fffafddd;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:800;white-space:nowrap;box-shadow:0 2px #54317015;transition:transform .1s,background-color .12s}.nav-btn svg{color:#6e42b8}.nav-settings,.square{width:44px;padding:0}.nav-btn:active,.square:active,.primary:active{transform:translateY(2px);box-shadow:none}.layout{display:grid;grid-template-columns:minmax(245px,.84fr) minmax(420px,1.19fr);gap:clamp(36px,6.2vw,88px);align-items:center;padding:35px 22px 36px}.intro{padding-block:8px}.mobile-rules{display:none}.eyebrow{display:inline-flex;align-items:center;gap:6px;border:1px solid #d5bde9;border-radius:999px;padding:6px 11px;color:#61309d;background:#f9ebff;font-size:11px;letter-spacing:.1em;font-weight:850}.eyebrow svg{fill:#ffca62}.intro h1{margin:14px 0 13px;font-size:clamp(40px,5.1vw,66px);font-weight:900;letter-spacing:-.085em;line-height:1.08}.intro-copy{margin:0;font-size:clamp(13px,1.4vw,16px);line-height:1.75;color:var(--muted)}.hero-art{position:relative;width:min(100%,336px);margin:3px 0 8px}.hero-scene{width:100%;display:block}.hero-cat{position:absolute;width:38%;left:32%;top:12%;transform:rotate(-8deg)}.hero-cat>*{width:100%;display:block}.quick-rules{border:1px solid #ddcbea;border-radius:18px;padding:13px 15px 8px;background:#fffdfbdb;box-shadow:0 3px #51317312;max-width:339px}.quick-rules h2{display:flex;align-items:center;gap:8px;font-size:13px;margin:0 0 10px}.quick-rules h2 svg{color:#6a39c3}.rules{padding:0;margin:13px 0;list-style:none;display:grid;gap:8px}.rules-compact{margin:0;gap:5px}.rules li{display:flex;align-items:center;gap:10px;min-height:32px;font-size:14px}.rules-compact li{min-height:24px;gap:8px;font-size:12px}.rules li>span{background:#eee2ff;color:#673daf;border-radius:6px;padding:3px 5px;font:800 11px/1.2 system-ui,sans-serif;flex:none}.rules p{margin:0;color:#52405d}.rules b{color:var(--ink)}.text-btn{border:0;padding:0 2px;min-height:44px;display:flex;align-items:center;gap:6px;color:#642fbb;font-size:12px;font-weight:850;background:transparent}.text-btn:active{transform:translateY(1px)}.game-shell{min-width:0;width:100%;max-width:534px;justify-self:end;background:var(--paper);border:1.5px solid #4a3268;border-radius:25px;padding:22px;box-shadow:0 6px #d4b6f1,0 7px #4a3268,0 18px 45px #6d3f9820}.game-top{display:flex;align-items:flex-end;justify-content:space-between;gap:9px;padding-bottom:15px}.stage-heading{min-width:0}.stage-pill{display:inline-flex;color:#fefaff;background:#693cc2;border-radius:6px;padding:4px 9px 5px;line-height:1;font-size:10px;letter-spacing:.13em;font-weight:900}.stage-heading>div{display:flex;align-items:baseline;gap:9px;margin-top:5px}.stage-heading h2{margin:0;font:900 46px/.87 system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.055em}.stage-detail{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);white-space:nowrap;font-weight:800}.stage-detail i{width:3px;height:3px;background:#997bb6;border-radius:50%}.life-block{flex:none;text-align:right}.life-label{font-size:10px;color:var(--muted);display:block;margin-right:3px;margin-bottom:4px;font-weight:850;letter-spacing:.07em}.hearts{display:flex;gap:2px}.heart{position:relative;display:grid;place-items:center;width:30px;height:30px}.heart-img{width:100%;height:100%}.heart>svg{display:block}.heart-break{position:absolute;inset:0;pointer-events:none}.heart-break i{position:absolute;inset:0;clip-path:polygon(0 0,51% 0,47% 29%,55% 42%,46% 64%,51% 100%,0 100%);animation:heart-split .43s ease-out both}.heart-break i>*{display:block;width:100%;height:100%}.heart-break i:last-child{--split: 13px;--turn: 33deg;clip-path:polygon(51% 0,100% 0,100% 100%,51% 100%,46% 64%,55% 42%,47% 29%)}.heart-lost{animation:shake .28s ease-out}@keyframes heart-split{0%{transform:scale(1.1)}to{transform:translate(var(--split, -13px),10px) rotate(var(--turn, -33deg));opacity:0}}.board-frame{border:2.5px solid #3e294f;border-radius:14px;overflow:hidden;box-shadow:0 4px #3e294f;background:#3e294f}.board{display:grid;grid-template:repeat(var(--board-size),minmax(0,1fr)) / repeat(var(--board-size),minmax(0,1fr));width:100%;aspect-ratio:1;-webkit-user-select:none;user-select:none}.tile{position:relative;min-height:0;min-width:0;display:grid;place-items:center;padding:0;border:0;border-radius:0;background:var(--cell);overflow:hidden;isolation:isolate;-webkit-touch-callout:none}.tile:after{content:"";pointer-events:none;position:absolute;z-index:2;inset:0;border-right:var(--right, 0) solid var(--edge-r);border-bottom:var(--bottom, 0) solid var(--edge-b)}.right-thin{--right: 1px;--edge-r: #38234243}.right-thick{--right: 3px;--edge-r: #493059}.bottom-thin{--bottom: 1px;--edge-b: #38234243}.bottom-thick{--bottom: 3px;--edge-b: #493059}.region-0{--cell: #ffda77;--tone: #654715}.region-1{--cell: #cdb4fb;--tone: #4e3279}.region-2{--cell: #a9e4ca;--tone: #2c5a48}.region-3{--cell: #ffb7cf;--tone: #773752}.region-4{--cell: #acd8ff;--tone: #244a71}.region-5{--cell: #ffc4a3;--tone: #713b26}.region-6{--cell: #dce895;--tone: #495719}.region-symbol{position:absolute;z-index:1;left:7%;top:5%;font:700 10px/1.25 system-ui,sans-serif;color:var(--tone);opacity:.84}.tile:active:not(:disabled){box-shadow:inset 0 0 0 200px #2d17451c}.tile:focus-visible{outline-offset:-5px}.tile-cat{display:grid;place-items:center;width:92%;height:92%;transform:translateY(1px);pointer-events:none}.tile-cat .cat-face,.practice-tile .cat-face{width:100%;height:100%}.tile-pop{animation:cat-pop .34s cubic-bezier(.18,.72,.28,1.16) both}.x-mark{display:block;position:relative;width:44%;aspect-ratio:1;color:#40274b;opacity:.83}.x-mark:before,.x-mark:after{content:"";position:absolute;width:105%;height:max(3px,.32em);top:50%;left:50%;border-radius:99px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}.x-mark:after{transform:translate(-50%,-50%) rotate(-45deg)}.tile-spark{position:absolute;top:12%;right:10%;color:#fff8db;filter:drop-shadow(0 0 2px #502542);animation:twinkle .42s ease-out both}.tile-spark svg{fill:#ffdc72}.particle-icon{width:20px;height:20px}.tile-miss{background:#f891a7}.miss-mark{position:absolute;pointer-events:none;color:#9c2351;font:900 clamp(18px,5vw,32px)/1 system-ui,sans-serif;animation:shake .3s ease-out}.tile[data-state=mark] .miss-mark{top:6%;right:10%;font-size:clamp(14px,3.8vw,23px)}.remove-ring{position:absolute;pointer-events:none;width:45%;aspect-ratio:1;border:2px solid var(--tone);border-radius:50%;opacity:0;animation:remove-ring .22s ease-out}.game-over-shake{animation:shake .27s ease-out}@keyframes cat-pop{0%{transform:scale(.48)}58%{transform:scale(1.14) translateY(-2px)}to{transform:translateY(1px)}}@keyframes twinkle{0%{opacity:0;transform:scale(.3)}37%{opacity:1;transform:scale(1.15)}to{opacity:0;transform:translate(3px,-5px) scale(.85)}}@keyframes shake{25%,75%{transform:translate(-3px)}50%{transform:translate(3px)}}@keyframes remove-ring{0%{opacity:.45;transform:scale(.6)}to{opacity:0;transform:scale(1.15)}}.mode-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:13px}.mode-button{position:relative;min-width:0;min-height:63px;display:grid;justify-items:center;align-content:center;gap:2px;padding:4px 6px 5px;border:2px solid #e2d4ed;border-radius:13px;background:#f8f1ff;box-shadow:0 2px #e5d9ef;color:#554162;transition:background-color .12s,border-color .12s}.mode-button[aria-pressed=true]{background:#e7d4ff;border-color:#7545c3;box-shadow:0 3px #a883d7;color:#3e2165}.mode-button:not(:disabled):active{transform:translateY(1px)}.mode-button:disabled{opacity:.82}.mode-icon{display:grid;place-items:center;width:36px;height:30px}.mode-icon .cat-face{width:100%;height:100%}.mode-icon .x-mark{width:67%;color:#633b97;opacity:1}.mode-icon .x-mark:before,.mode-icon .x-mark:after{height:4px}.mode-button[aria-pressed=true] .mode-icon{animation:mode-pop .17s ease-out both}.mode-label{font-size:12px;font-weight:900;line-height:1.2}.mode-badge{position:absolute;top:4px;right:4px;display:inline-flex;align-items:center;gap:2px;white-space:nowrap;border-radius:7px;padding:3px 4px;background:#6535b2;color:#fff;font-size:8px;font-weight:800;line-height:1}@keyframes mode-pop{0%{transform:scale(.93)}62%{transform:scale(1.14)}to{transform:scale(1)}}.game-bottom{display:flex;justify-content:space-between;gap:7px;align-items:center;padding-top:10px}.found{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);font-weight:800}.found svg{color:#7647c7}.found b{font:900 20px/1.1 system-ui,sans-serif;color:var(--ink);white-space:nowrap}.found small{font-size:12px;color:var(--muted)}.chapter{margin-top:12px;border-top:1px solid #eadff1;padding-top:10px;display:flex;align-items:center;gap:12px;font-size:10px;color:var(--muted);letter-spacing:.025em}.chapter b{color:#6038a4}.chapter-bar{flex:1;min-width:0;height:6px;background:#eee3fb;border-radius:999px;overflow:hidden}.chapter-bar span{display:block;min-width:4px;height:100%;background:#9866e8;border-radius:inherit}.save-warning{margin:8px 0 0;color:#a12d55;font-size:12px}.footer{border-top:1px solid #52317624;display:flex;align-items:center;justify-content:space-between;padding:14px 1px 16px;gap:12px;color:#6f597f;font-size:10px;font-weight:800}.footer span:first-child{display:flex;align-items:center;gap:6px}.modal{position:fixed;width:min(92vw,440px);max-height:min(86vh,680px);max-height:min(86svh,680px);border:2px solid #4a3268;border-radius:23px;color:var(--ink);background:var(--paper);margin:auto;padding:23px;box-shadow:0 6px #d0acec,0 7px #4a3268,0 20px 60px #2e194663;overflow-y:auto}.modal[open]{animation:modal-in .22s ease-out both}.modal::backdrop{background:#32204188}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.modal h2{margin:0 0 8px;font-weight:900;font-size:clamp(21px,5vw,27px);letter-spacing:-.055em}.modal:has(.close) h2{margin-right:50px}.close{position:absolute;top:13px;right:13px}.modal-copy{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.65}.modal-note{margin:12px 0 0;line-height:1.7;color:var(--muted);font-size:12px}.practice{border:1px solid #e1cdeb;background:#f8eeff;border-radius:15px;padding:10px;font-size:14px}.practice-preview{display:flex;align-items:center;gap:12px}.practice .mode-picker{margin-top:9px}.practice .mode-button{min-height:54px}.practice .mode-icon{height:24px;width:29px}.practice p{margin:4px 0 0;color:var(--muted);font-size:11px}.practice-tile{width:55px;height:55px;flex:none;border:1.5px solid #5b3c74;border-radius:10px;background:#dfcaf9;display:grid;place-items:center;padding:7px}.practice-dot{color:#8d6caa;font-size:26px}.record{display:flex;gap:10px;align-items:center;background:#f6eaff;border:1px solid #e4d2ef;border-radius:13px;padding:10px}.record-icon,.setting-icon{width:36px;height:36px;display:grid;place-items:center;background:#e9d8ff;border-radius:10px;color:#6334ab}.record small,.record strong{display:block}.record small{font-size:10px;color:var(--muted)}.record strong{font-size:17px}.map-label{display:flex;justify-content:space-between;margin:15px 0 7px;font-size:13px}.map-label small{color:var(--muted);font-size:11px}.stage-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.stage-grid li{display:flex;align-items:center;justify-content:center;min-height:31px;gap:4px;border:1px solid #e4d7eb;background:#f8f3fb;color:#6c5b78;border-radius:7px;font:800 13px/1 system-ui,sans-serif}.stage-grid .done{color:#2e6650;background:#e1f2e8;border-color:#bcdcc9}.stage-grid .current{color:#552994;border-color:#9566da;background:#edddff}.settings-list{display:grid;gap:8px;margin-top:17px}.setting-row{display:grid;grid-template-columns:auto 1fr auto;width:100%;gap:10px;align-items:center;text-align:left;border:1px solid #e4d3ec;border-radius:13px;padding:9px;background:#fcf7ff}.setting-row b,.setting-row small{display:block}.setting-row b{font-size:14px}.setting-row small{font-size:10px;color:var(--muted);margin-top:2px}.volume-row{display:grid;gap:4px;padding:8px 12px;font-size:12px;color:var(--muted)}.volume-row>span{display:flex;justify-content:space-between}.volume-row input{margin:0;width:100%;min-height:33px;accent-color:#7444ce}.toggle{width:41px;height:24px;border:1px solid #bfa9cf;border-radius:20px;background:#eadff1;display:flex;align-items:center;padding:2px}.toggle:before{content:"";display:block;width:18px;height:18px;background:#fff;border:1px solid #9a82aa;border-radius:50%;transition:transform .15s}.setting-row[aria-checked=true] .toggle{background:#7646ca;border-color:#7040ba}.setting-row[aria-checked=true] .toggle:before{transform:translate(16px);border-color:#fff}.result-modal{text-align:center}.result-modal h2{margin-top:4px}.result-art{position:relative;height:111px;margin:5px 0 9px;display:grid;place-items:center}.result-badge{position:relative;display:grid;place-items:center;width:105px;height:105px;padding:11px;border:1px solid #dcad6a;border-radius:50%;background:#ffe8ab}.result-badge>*{width:100%}.result-over .result-badge{background:#f4dcfa;border-color:#d1acd8}.confetti{position:absolute;pointer-events:none;left:50%;top:50%;z-index:1}.confetti i{position:absolute;display:block;background:var(--color);width:9px;height:6px;border-radius:2px;animation:scatter .72s var(--delay) ease-out both}.confetti i:nth-child(3n){border-radius:50%;width:6px;height:6px}@keyframes scatter{0%{opacity:0;transform:scale(.4)}16%{opacity:1}to{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--spin))}}.primary{min-height:47px;width:100%;display:flex;align-items:center;justify-content:center;gap:9px;background:#7444ce;color:#fff;border:1px solid #4c2c80;border-radius:12px;box-shadow:0 3px #4c2c80;font-size:14px;font-weight:900;transition:transform .1s,background-color .1s}.primary:disabled{opacity:.65}.result-record{color:var(--muted);font-size:11px;margin:13px 0 0}.review-btn{margin:5px auto 0}.home-view,.sub-view{margin:0 auto}.home-view{max-width:900px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(30px,6vw,72px);align-items:center;padding:44px 24px 48px}.home-hero{text-align:center;position:relative}.home-hero h1{margin:12px 0 8px;font-size:clamp(36px,5vw,61px);line-height:1.04;letter-spacing:-.08em;font-weight:900}.home-hero p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}.home-hero .hero-art{margin:4px auto 0}.home-star{position:absolute;color:#7444ce;pointer-events:none;animation:home-spark 3.2s ease-in-out infinite}.home-star svg{fill:#ffd36a}.star-left{left:2%;top:13%}.star-right{right:4%;top:34%;animation-delay:.7s}@keyframes home-spark{0%,to{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-5px) rotate(9deg)}}.home-menu,.sub-view{border:1.5px solid #4a3268;border-radius:24px;background:var(--paper);box-shadow:0 5px #d4b6f1,0 6px #4a3268,0 16px 40px #6d3f981b}.home-menu{padding:19px}.home-progress,.home-audio,.view-summary{display:flex;justify-content:space-between;gap:9px;color:#65458a;font-size:12px;font-weight:800}.home-progress span,.home-audio span,.view-summary span{display:inline-flex;align-items:center;gap:6px}.home-progress b,.view-summary b{color:#422964}.home-progress{margin:0 0 13px}.home-start{min-height:56px;font-size:17px;border-radius:14px}.home-start>svg:last-child{margin-left:4px}.home-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:15px}.home-links button,.secondary{border:1px solid #cfb7e9;border-radius:12px;color:#572ca0;background:#f4eaff;font-size:12px;font-weight:850;box-shadow:0 2px #dac9ea}.home-links button{display:grid;justify-items:center;align-content:center;gap:5px;min-height:62px;padding:5px;text-align:center;overflow-wrap:anywhere}.home-links button:active,.secondary:active{transform:translateY(2px);box-shadow:none}.home-links button:focus-visible,.secondary:focus-visible{outline-offset:2px}.home-audio{margin-top:15px;padding-top:9px;border-top:1px solid #eee2f3;justify-content:flex-start;flex-wrap:wrap;gap:15px;font-size:10px}.home-audio b{font:800 10px system-ui,sans-serif;color:#6734b7}.secondary{min-height:44px;padding:8px 14px}.secondary:disabled{opacity:.56}.result-map{display:block;width:100%;margin:10px 0 0}.mock-ad{text-align:center}.mock-ad h2{margin:5px 44px 7px 0}.mock-ad-icon{margin:10px auto 15px;width:74px;height:74px;display:grid;place-items:center;border-radius:21px;background:#ffe6a6;color:#6942aa;border:1px solid #e8b859}.mock-ad-icon svg{fill:#ffd26b}.sub-view{width:min(100%,570px);margin:27px auto 31px;padding:clamp(13px,4vw,25px)}.view-head{display:flex;align-items:center;gap:12px;margin-bottom:13px}.view-back{flex:none}.view-back svg{transform:rotate(180deg)}.view-head h1{margin:0;display:flex;align-items:center;gap:8px;font-size:clamp(19px,5.4vw,29px);font-weight:900;letter-spacing:-.045em}.view-head h1 svg{color:#7444ce;flex:none}.view-summary{padding:10px 12px;border-radius:11px;background:#f6edff;justify-content:flex-start;flex-wrap:wrap;gap:8px 16px}.view-copy{color:var(--muted);font-size:12px;line-height:1.65;margin:11px 0}.stage-scroll{max-height:min(60vh,480px);max-height:min(60svh,480px);overflow:auto;overscroll-behavior:contain;padding:3px 4px 6px}.stage-group h2{margin:8px 0;font-size:13px;display:flex;align-items:baseline;justify-content:space-between;gap:5px}.stage-group h2 small{color:var(--muted);font-size:10px}.stage-picker-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;list-style:none;padding:0;margin:0 0 16px}.stage-picker-grid li{min-width:0}.stage-pick{position:relative;min-height:48px;width:100%;padding:4px 0;border:1px solid #cbb0ea;border-radius:10px;background:#f1e4ff;color:#4e2689;font:850 16px/1 system-ui,sans-serif;display:grid;place-items:center;gap:0}.stage-pick.done{background:#e4f5ea;color:#2d674e;border-color:#b9dcc9}.stage-pick.current{background:#dec4ff;color:#502797;outline:2px solid #8853ca;outline-offset:-2px}.stage-pick:disabled{background:#f6f1f8;color:#756582;border-color:#e6dceb}.stage-pick:not(:disabled):active{transform:scale(.96)}.current-dot{width:6px;height:6px;border-radius:50%;background:#6f3dbb}.rank-empty{border:1px solid #e8d8f2;border-radius:16px;background:#faf4ff;color:#624080;padding:24px 9px;margin-top:12px;text-align:center}.rank-empty svg{color:#7850b7}.rank-empty h2{font-size:17px;margin:5px 0 7px}.rank-empty p,.rank-no-entries{margin:8px 0;font-size:12px;color:var(--muted)}.rank-own{background:#e8d7ff;border-radius:13px;margin:12px 0;padding:9px 13px;display:flex;justify-content:space-between;gap:12px;align-items:center}.rank-own small{display:block;font-size:10px;color:var(--muted)}.rank-own span{overflow-wrap:anywhere;min-width:0;font-size:13px}.rank-own b{font-size:18px;white-space:nowrap}.rank-table{width:100%;border-collapse:collapse;font-size:13px;margin:10px 0 14px}.rank-table th,.rank-table td{padding:9px 5px;text-align:left;border-bottom:1px solid #ecdef5;overflow-wrap:anywhere}.rank-table th:first-child,.rank-table td:first-child{width:13%}.rank-table th:last-child,.rank-table td:last-child{width:24%;text-align:right}.rank-mine{background:#f3e7ff}.rank-register{display:grid;gap:5px;margin:14px 0 2px}.rank-register label{font-size:13px}.rank-register input{border:1px solid #cbb0e3;border-radius:9px;padding:10px;min-width:0;min-height:44px;font:inherit;font-size:16px}.privacy-view p,.contact-view p{font-size:13px;line-height:1.7;color:var(--muted)}.privacy-view h2,.contact-view h2,.rank-support h2{font-size:16px;margin:16px 0 4px}.home-utilities,.screen-support-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.home-utilities{margin-top:12px}.home-utilities .language-picker{flex:1 1 155px;margin:0}.rank-support{margin-top:15px;border-top:1px solid #ecdef5}.language-picker{min-width:0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:7px 12px;padding:7px 10px;border:1px solid #e4d3ec;border-radius:12px;background:#fcf7ff;font-size:13px;font-weight:800}.home-menu .language-picker{margin-block:12px 8px}.language-picker select{max-width:100%;min-height:44px;padding-inline:9px 25px;border:1px solid #cbb0e3;border-radius:9px;color:var(--ink);background:#fff;font:inherit;font-size:16px}.contact-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;padding:7px 12px;border:1px solid #cfb7e9;border-radius:12px;color:#572ca0;background:#f4eaff;font-size:13px;font-weight:850;text-align:center;text-decoration:none}.contact-link:hover{text-decoration:underline}.contact-link:focus-visible,.language-picker select:focus-visible{outline:3px solid #6d3bd0;outline-offset:2px}.static-intro{width:min(92%,570px);margin:32px auto;padding:16px;text-align:center}html[data-game-js] #root:has(>.static-intro){display:flow-root;min-height:100vh;min-height:100svh}.game-guide{width:min(calc(100% - 28px),820px);margin:12px auto 40px;padding:clamp(18px,4vw,32px);border:1.5px solid #4a3268;border-radius:24px;background:var(--paper);box-shadow:0 5px #d4b6f1;color:var(--muted);font-size:14px;line-height:1.75;scroll-margin-top:14px;overflow-wrap:anywhere}.game-guide h2{margin:19px 0 5px;color:var(--ink);font-size:clamp(17px,4.4vw,21px)}.game-guide p,.game-guide ul{margin-block:6px 10px}.game-guide ul{padding-inline-start:22px}.game-guide li+li{margin-top:5px}.guide-play{display:inline-flex;align-items:center;min-height:44px;padding:5px 12px;border-radius:12px;background:#efe4ff;color:#572ca0;font-weight:800}.guide-languages{display:flex;flex-wrap:wrap;gap:4px 14px;padding-top:9px;margin-top:13px;border-top:1px solid #ecdef5}.guide-languages a{display:inline-flex;align-items:center;min-height:44px;color:var(--violet)}.guide-languages a[aria-current=page]{color:var(--ink);text-decoration-thickness:2px}.footer-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:2px 12px}.footer-actions a{display:inline-flex;align-items:center;color:inherit}.save-transfer{border-top:1px solid #ecdef5;padding-top:10px;margin-top:7px}.save-transfer h3{font-size:13px;margin:0}.save-transfer p{font-size:12px;color:var(--muted);margin:7px 0;line-height:1.65}.save-transfer-buttons{display:flex;flex-wrap:wrap;gap:7px}.save-transfer-confirm{margin-top:9px;background:#f8f0ff;border-radius:10px;padding:8px}.footer-link{min-height:34px;padding:0 2px;border:0;background:none;text-decoration:underline}@media(hover:hover){.nav-btn:hover,.square:hover,.setting-row:hover{background:#efe4ff}.tile:not(:disabled):hover{box-shadow:inset 0 0 0 200px #fff3}.primary:not(:disabled):hover{background:#6434bc}.text-btn:hover{text-decoration:underline}.mode-button[aria-pressed=false]:not(:disabled):hover{background:#f0e5fb}.home-links button:hover,.secondary:not(:disabled):hover{background:#ead8ff}}@media(max-width:850px){.site{padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right))}.header,.layout,.footer{max-width:497px}.header{min-height:66px}.home-view{display:block;max-width:497px;padding:17px 0 25px}.home-hero h1{margin:9px 0 6px}.home-hero p{font-size:13px}.home-hero .hero-art{width:min(80%,260px);margin:0 auto 8px}.sub-view{max-width:497px;margin:17px auto 24px}.layout{display:block;padding:17px 0 19px}.intro{display:none}.game-shell{padding:clamp(12px,3.8vw,19px);border-radius:20px}.game-top{padding-bottom:12px}.stage-heading h2{font-size:43px}.mobile-rules{display:grid;grid-template-columns:34px minmax(0,1fr) 44px;align-items:center;gap:10px;margin-top:18px;padding:5px 8px 5px 10px;background:#fffbffe0;border:1px solid #dfcce9;border-radius:14px}.mobile-rules>span{display:grid;place-items:center}.mobile-rules .cat-face{width:32px;height:32px}.mobile-rules b,.mobile-rules small{display:block}.mobile-rules b{font-size:11px}.mobile-rules small{font-size:9px;color:var(--muted);margin-top:2px}.footer{padding-top:12px}}@media(max-width:445px){.header nav{gap:5px}.nav-btn{width:44px;padding:0}.nav-btn span{display:none}.region-symbol{font-size:8px}}@media(max-width:355px){.site{padding-inline:max(8px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-right))}.game-shell{padding:8px}.stage-heading h2{font-size:37px}.stage-heading>div{gap:6px}.stage-detail{font-size:10px}.mode-picker{gap:8px}.mode-badge{gap:1px}.mode-badge svg{width:8px}}@media(orientation:landscape)and (min-width:590px)and (max-width:1000px)and (max-height:530px){.site-play{display:grid;grid-template-columns:minmax(142px,21vw) minmax(0,620px);gap:0 12px;align-content:start;justify-content:center}.site-play .header{grid-column:1;margin:0;min-height:0;align-self:start;flex-direction:column;align-items:flex-start;gap:13px;border:0;padding-top:14px}.site-play .header nav{gap:5px}.site-play .header .nav-btn{width:44px;padding:0}.site-play .header .nav-btn span{display:none}.site-play .wordmark{width:min(100%,170px)}.layout{grid-column:2;display:block;width:100%;max-width:none;margin:0;padding:7px 0 10px}.intro,.mobile-rules{display:none}.game-shell{display:grid;grid-template-columns:minmax(81px,1fr) min(53vw,max(230px,calc(100vh - 76px)),calc(100% - 90px));grid-template-columns:minmax(81px,1fr) min(53vw,max(230px,calc(100svh - 76px - env(safe-area-inset-top) - env(safe-area-inset-bottom))),calc(100% - 90px));grid-template-rows:1fr auto auto 1fr auto;column-gap:9px;max-width:none;border-radius:17px;padding:6px}.game-top{grid-column:1;grid-row:1;align-self:end;flex-wrap:wrap;padding:0}.game-bottom{grid-column:1;grid-row:2}.chapter{grid-column:1;grid-row:3;flex-wrap:wrap;gap:5px}.chapter-bar{min-width:33px}.save-warning{grid-column:1;grid-row:4 / 6;align-self:end}.board-frame{grid-column:2;grid-row:1 / 5;align-self:center}.game-shell>.mode-picker{grid-column:2;grid-row:5;margin-top:8px}.game-shell .mode-button{min-height:48px}.game-shell .mode-icon{height:23px;width:28px}.site-play .footer{grid-column:1 / -1;width:100%;max-width:none;margin:0;padding-block:7px}}@media(orientation:landscape)and (min-width:590px)and (max-width:730px)and (max-height:530px){.game-shell .stage-heading>div{flex-wrap:wrap}.game-shell .stage-heading h2{font-size:36px}.game-shell .life-block{text-align:left}.game-shell .heart,.game-shell .heart>svg{width:25px;height:25px}.game-shell .found{flex-wrap:wrap;gap:4px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.confetti,.heart-break{display:none!important}}.site[data-reduced=true] *,.site[data-reduced=true] *:before,.site[data-reduced=true] *:after{animation:none!important;transition:none!important}.site[data-reduced=true] :is(.confetti,.heart-break){display:none!important}.analytics-notice{width:min(100% - 2rem,54rem);margin:0 auto 1rem;padding:.875rem 1rem;border:1px solid #d4c3e4;border-radius:1rem;background:#fffcf8;color:#443556}.analytics-notice p{margin:0 0 .625rem}
