@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/nunito-latin-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/nunito-latin-800.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Silkscreen;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/silkscreen-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Silkscreen;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/silkscreen-latin-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-display: "Nunito", ui-rounded, "SF Pro Rounded", -apple-system, "Segoe UI", sans-serif;--font-pix: "Silkscreen", "Nunito", ui-rounded, "SF Pro Rounded", -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{overflow-x:hidden;overflow-y:auto}.back-link svg{width:13px;height:13px}a,button,summary,[role=switch]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip{position:absolute;left:-9999px;top:0;z-index:99;display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border-radius:0 0 10px;background:var(--card, var(--paper, #fff));color:inherit;font-weight:800;text-decoration:none}.skip:focus{left:0}.topbar{display:flex;align-items:flex-start;justify-content:space-between;flex-shrink:0}.brand{display:flex;flex-direction:column;align-items:flex-start}.top-actions{display:flex;gap:2vw}.back-link{display:flex;align-items:center;gap:4px;margin-bottom:.8svh;color:var(--ink-soft);font-size:clamp(10px,1.4svh,12px);font-weight:600;letter-spacing:.08em;text-decoration:none}.subtitle{margin:.4em 0 0;font-size:clamp(10px,1.4svh,12px);letter-spacing:.3em;color:var(--ink-soft)}.seo-info{flex-shrink:0;align-self:center;max-width:90vw;margin-top:.6svh;font-size:11px;color:var(--ink-soft);text-align:center}.icon-btn svg{width:20px;height:20px}.icon-btn{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,transform .1s ease}:focus-visible{outline:2px solid var(--accent-dark, currentColor);outline-offset:2px}@media(forced-colors:active){:focus-visible{outline-color:Highlight}}@media(max-height:480px){.subtitle,.seo-info{display:none}.back-link{margin-bottom:.4svh}.howto-link{padding-top:.4svh}}.icon-btn .ico-sound-off,.icon-btn.is-off .ico-sound-on{display:none}.icon-btn.is-off .ico-sound-off{display:block}.icon-btn.is-off{color:var(--ink-soft)}.icon-btn [data-theme-icon=light]{display:none}.icon-btn [data-theme-icon=dark]{display:block}:root[data-theme=dark] .icon-btn [data-theme-icon=light]{display:block}:root[data-theme=dark] .icon-btn [data-theme-icon=dark]{display:none}@media(max-width:400px){.top-actions{gap:6px}}.back-link,.howto-link{position:relative}.back-link:after,.howto-link:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:max(100%,44px);height:44px}.pill-btn,.again-btn,.share-btn{min-height:44px}.seo-info summary{position:relative;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:11px;cursor:pointer;letter-spacing:.06em;font-weight:600;list-style:none}.seo-info summary::-webkit-details-marker{display:none}.seo-info summary:after{content:" ▾"}.seo-info[open] summary:after{content:" ▴"}.seo-info p{margin:4px 0 0;line-height:1.5;text-align:left}.share-note{margin:0;font-size:clamp(11px,1.5svh,13px);color:var(--ink-soft);letter-spacing:.06em;opacity:0;transition:opacity .25s ease}.share-note.show{opacity:1}@media(hover:hover)and (pointer:fine){.back-link:hover{color:var(--ink)}}.howto-link{align-self:center;flex-shrink:0;border:none;background:none;color:var(--accent-dark);font-weight:600;font-size:clamp(12px,1.8svh,14px);letter-spacing:.02em;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:1svh 4px 0}.howto-backdrop{position:fixed;inset:0;background:var(--scrim, rgba(30, 24, 16, .35));opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:10}.howto-backdrop.show{opacity:1;pointer-events:auto}.howto-sheet{position:fixed;left:0;right:0;bottom:0;background:var(--bg);border-radius:20px 20px 0 0;box-shadow:0 -1svh 3svh #00000040;padding:1.6svh 6vw calc(4svh + env(safe-area-inset-bottom,0px));transform:translateY(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);z-index:11}.howto-sheet.show{transform:translateY(0)}.howto-handle{width:36px;height:4px;border-radius:2px;background:var(--ink-soft);opacity:.4;margin:0 auto 2svh}.howto-title{margin:0 0 1.6svh;font-size:clamp(14px,2svh,16px);font-weight:600;letter-spacing:.1em;color:var(--ink)}.howto-list{margin:0;padding:0 0 0 1.1em;display:flex;flex-direction:column;gap:1.2svh;font-size:clamp(13px,1.9svh,15px);color:var(--ink);line-height:1.4}.howto-list li::marker{color:var(--accent);font-weight:700}.howto-list strong{color:var(--ink);font-weight:700}@media(prefers-reduced-motion:reduce){.howto-sheet{transition:opacity .12s linear;transform:none;opacity:0;pointer-events:none}.howto-sheet.show{transform:none;opacity:1;pointer-events:auto}.howto-backdrop{transition:opacity .12s linear}}.overlay-exit{position:absolute;top:max(2.4svh,env(safe-area-inset-top,0px));right:max(4vw,env(safe-area-inset-right,0px));width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);transition:transform .1s ease}.overlay-exit svg{width:20px;height:20px}.overlay-exit:active{transform:scale(.94)}.overlay-exit{pointer-events:none}.overlay.show .overlay-exit{pointer-events:auto}.overlay-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(10px,3vw,16px);row-gap:clamp(8px,1.2svh,12px);width:min(80vw,320px)}.overlay-actions>*{justify-content:center;text-align:center}.overlay-actions>:is(button,a){padding-inline:clamp(8px,2vw,16px)}.wall-btn{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:.5em;min-height:44px;padding:1.2svh 4vw;border:1.5px solid var(--accent);border-radius:999px;background:transparent;color:var(--accent-dark);font-family:var(--font-display, inherit);font-size:clamp(12px,1.8svh,14px);font-weight:600;letter-spacing:.06em;text-decoration:none;cursor:pointer;transition:transform .1s ease}.wall-btn svg{width:16px;height:16px;flex-shrink:0}.wall-btn:active{transform:scale(.96)}html:has(.overlay.show) .top-actions{visibility:hidden}.overlay-global{margin:0;min-height:1.35em;font-size:clamp(11px,1.6svh,13px);color:var(--accent-dark);font-weight:600;letter-spacing:.06em}.overlay-global.new-global{color:var(--record, var(--accent-dark));font-weight:800}:root{--record: var(--danger);--scrim: rgba(55, 47, 82, .3);--bg: #fdf8e9;--ink: #372f52;--ink-soft: #8b84a8;--line: #ece0c4;--accent: #8b6fd9;--accent-dark: #6f52c0;--tile-hidden: #b6a8e2;--tile-clue: #a3d1ec;--danger: #e0788a;--success: #1f9974;color-scheme:light}html,body{margin:0;height:100%;height:100svh;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation}.stage{height:100%;display:flex;flex-direction:column;padding:max(2.4svh,env(safe-area-inset-top,0px)) max(4vw,env(safe-area-inset-right,0px)) max(3svh,env(safe-area-inset-bottom,0px)) max(4vw,env(safe-area-inset-left,0px))}.title{margin:0;font-family:var(--font-display);font-size:clamp(15px,2.4svh,20px);font-weight:700;letter-spacing:.02em;color:var(--ink)}.icon-btn:active{background:#8b6fd924;border-color:var(--accent);color:var(--accent-dark);transform:scale(.94)}.tagline{margin:1.6svh 0 0;text-align:center;font-size:clamp(12px,1.7svh,14px);color:var(--ink-soft);letter-spacing:.03em;flex-shrink:0}.board-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.2svh;min-height:0}.board-wrap{position:relative;width:min(92vw,60svh,560px);height:min(92vw,60svh,560px);display:flex;align-items:center;justify-content:center}.board{position:relative}.tile{position:absolute;left:0;top:0;width:var(--hex-w);height:var(--hex-h);transform:translate(-50%,-50%);transition:translate .28s cubic-bezier(.4,0,.2,1),transform .15s ease,filter .15s ease;cursor:default;filter:drop-shadow(0 2px 2px rgba(46,38,74,.22))}.board.no-anim .tile{transition:none}.tile[data-hidden=true]{--tile-face: var(--tile-hidden)}.tile:not([data-hidden]){--tile-face: var(--tile-clue)}.tile--tappable{cursor:pointer;filter:drop-shadow(0 3px 3px rgba(46,38,74,.3))}@media(hover:hover){.tile--tappable:hover{filter:drop-shadow(0 4px 4px rgba(46,38,74,.34))}}.tile-rim{position:absolute;inset:-7%;clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);background:color-mix(in srgb,var(--tile-face) 60%,black 40%)}.tile-hex{position:absolute;inset:0;clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);background:radial-gradient(circle at 32% 26%,#ffffffa6,#fff0 45%),radial-gradient(circle at 50% 55%,transparent 55%,rgba(20,10,40,.16) 100%),linear-gradient(155deg,color-mix(in srgb,var(--tile-face) 100%,white 36%) 0%,var(--tile-face) 52%,color-mix(in srgb,var(--tile-face) 100%,black 16%) 100%);display:flex;align-items:center;justify-content:center;transition:opacity .4s ease,transform .1s ease}.tile--tappable:active .tile-hex{transform:scale(.94)}.tile-label{font-family:var(--font-display);font-weight:800;font-size:calc(var(--hex-h) * .34);color:var(--ink);-webkit-user-select:none;user-select:none}.tile.shake{animation:tile-shake .26s ease-in-out}@keyframes tile-shake{0%,to{transform:translate(-50%,-50%) translate(0)}25%{transform:translate(-50%,-50%) translate(-4px)}75%{transform:translate(-50%,-50%) translate(4px)}}.tile.stranded{--tile-face: var(--danger);animation:tile-fade .6s ease forwards}@keyframes tile-fade{0%{opacity:1}to{opacity:.35}}.tile.blasted .tile-hex,.tile.blasted .tile-rim{animation:tile-blast .38s ease-out forwards;pointer-events:none}@keyframes tile-blast{0%{opacity:1;transform:scale(1) rotate(0);filter:brightness(1) saturate(1)}18%{opacity:1;transform:scale(1.3) rotate(2deg);filter:brightness(2.4) saturate(1.8)}45%{opacity:.85;transform:scale(.85) rotate(10deg);filter:brightness(1.5) saturate(1.3)}to{opacity:0;transform:scale(.1) rotate(-14deg);filter:brightness(1) saturate(1)}}.tile-burst{position:absolute;left:0;top:0;width:var(--hex-w);height:var(--hex-h);transform:translate(-50%,-50%);pointer-events:none}.tile-burst-ring{position:absolute;inset:-35%;border-radius:50%;background:radial-gradient(circle,#ffd682f2,#ff8c3ca6 35%,#e03c2800 72%);animation:burst-pop .4s ease-out forwards}@keyframes burst-pop{0%{opacity:1;transform:scale(.25)}to{opacity:0;transform:scale(1.9)}}.tile-burst-shockwave{position:absolute;inset:-20%;border-radius:50%;border:2.5px solid rgba(255,255,255,.85);opacity:0;animation:shockwave-pop .5s ease-out forwards}.tile-burst-shockwave--2{animation-delay:90ms}@keyframes shockwave-pop{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scale(2.6)}}.tile-flash{position:absolute;left:0;top:0;width:var(--hex-w);height:var(--hex-h);transform:translate(-50%,-50%);pointer-events:none}.tile-flash-hex{position:absolute;inset:0;clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);background:var(--accent);animation:flash-pulse .15s ease-out}@keyframes flash-pulse{0%{opacity:0;transform:scale(.7)}60%{opacity:.55;transform:scale(1.05)}to{opacity:.35;transform:scale(1)}}.stat-row{display:flex;justify-content:center;gap:7vw;width:min(80vw,380px);padding-top:1.8svh;border-top:1px solid var(--line);flex-shrink:0}.stat{display:flex;flex-direction:column;align-items:center;gap:.3svh}.stat-label{font-size:clamp(9px,1.3svh,11px);letter-spacing:.18em;color:var(--accent-dark);text-transform:uppercase}.stat-value{font-size:clamp(16px,2.4svh,20px);font-weight:700;color:var(--ink);letter-spacing:.03em}.legend{display:flex;justify-content:center;flex-wrap:wrap;gap:4vw;flex-shrink:0}.legend-item{display:flex;align-items:center;gap:6px;font-size:clamp(10px,1.3svh,12px);color:var(--ink-soft)}.legend-hex{display:inline-block;width:15px;height:13px;clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%)}.legend-hex--clue{background:var(--tile-clue)}.legend-hex--hidden{background:var(--tile-hidden)}.overlay{position:fixed;inset:0;background:#fdf8e9f5;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .5s ease}.overlay.show{opacity:1}.overlay-content{display:flex;flex-direction:column;align-items:center;gap:2svh;pointer-events:none}.overlay.show .overlay-content{pointer-events:auto}.overlay-title{margin:0;font-family:var(--font-display);font-size:clamp(18px,3.2svh,26px);font-weight:700;letter-spacing:.1em;color:var(--ink)}.overlay-icon{overflow:visible}.overlay-icon polygon{fill:none;stroke:var(--danger);stroke-width:2.2;stroke-linejoin:round}.overlay-icon polygon:first-child{animation:drift-left 1.6s ease-in-out infinite}.overlay-icon polygon:last-child{animation:drift-right 1.6s ease-in-out infinite}@keyframes drift-left{0%,to{transform:translate(0)}50%{transform:translate(-2px)}}@keyframes drift-right{0%,to{transform:translate(0)}50%{transform:translate(2px)}}.overlay.won .overlay-title{color:var(--success)}.overlay.won .overlay-icon polygon{stroke:var(--success);animation:none}.overlay.won .overlay-icon polygon:first-child{transform:translate(4px)}.overlay.won .overlay-icon polygon:last-child{transform:translate(-4px)}.overlay-status{margin:0;font-size:clamp(10px,1.4svh,12px);font-weight:700;letter-spacing:.22em;color:var(--danger)}.overlay.won .overlay-status{color:var(--success)}.overlay-reason{margin:0;max-width:min(80vw,300px);text-align:center;font-size:clamp(13px,1.9svh,15px);line-height:1.45;color:var(--ink);text-wrap:pretty}.overlay-sub{margin:0;font-size:clamp(12px,1.8svh,14px);color:var(--ink-soft);letter-spacing:.08em}.overlay-actions{margin-top:.6svh}.pill-btn,.share-btn{font-family:var(--font-display);font-weight:600;padding:1.2svh 4vw;border-radius:999px;font-size:clamp(12px,1.8svh,14px);letter-spacing:.06em;cursor:pointer;transition:transform .1s ease}.pill-btn:active,.share-btn:active{transform:scale(.96)}.pill-btn{border:none;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;box-shadow:0 .8svh 1.8svh #8b6fd959}.share-btn{border:1.5px solid var(--accent);background:transparent;color:var(--accent-dark)}@media(prefers-reduced-motion:reduce){.tile{transition:none}.tile.shake{animation:none}.tile.stranded{animation:none;opacity:.35}.tile.blasted .tile-hex,.tile.blasted .tile-rim,.tile-burst-ring,.tile-burst-shockwave{animation:none;opacity:0}.tile-flash-hex{animation:none;opacity:.3}.overlay-icon polygon,.overlay-icon polygon:first-child,.overlay-icon polygon:last-child{animation:none}}@media(max-width:480px){.stat-row{gap:6vw}.legend{gap:3vw}}:root[data-theme=dark]{--bg: #14101f;--ink: #f1eefc;--ink-soft: #a79bd6;--line: #2b2547;--accent: #b48cff;--accent-dark: #9a6bff;--tile-hidden: #9a6bff;--tile-clue: #2fd0f0;--danger: #ff5c7a;--success: #34e19a;color-scheme:dark}[data-theme=dark] .icon-btn:active{background:color-mix(in srgb,var(--accent) 18%,transparent)}[data-theme=dark] .tile-hex{background:radial-gradient(circle at 32% 26%,#ffffff59,#fff0 45%),radial-gradient(circle at 50% 55%,transparent 55%,rgba(0,0,0,.3) 100%),linear-gradient(155deg,color-mix(in srgb,var(--tile-face) 100%,white 18%) 0%,var(--tile-face) 58%,color-mix(in srgb,var(--tile-face) 100%,black 25%) 100%)}[data-theme=dark] .tile{filter:drop-shadow(0 2px 2px rgba(0,0,0,.45))}[data-theme=dark] .tile--tappable{--tile-glow: drop-shadow(0 0 1.5px color-mix(in srgb, var(--tile-face) 65%, white 20%)) drop-shadow(0 0 6px color-mix(in srgb, var(--tile-face) 26%, transparent));--tile-glow-lit: drop-shadow(0 0 2px color-mix(in srgb, var(--tile-face) 90%, white 25%)) drop-shadow(0 0 11px color-mix(in srgb, var(--tile-face) 55%, transparent));filter:var(--tile-glow) drop-shadow(0 2px 2px rgba(0,0,0,.45))}[data-theme=dark] .tile--tappable:active{--tile-glow: var(--tile-glow-lit)}@media(hover:hover){[data-theme=dark] .tile--tappable:hover{--tile-glow: var(--tile-glow-lit)}}[data-theme=dark] .tile-label{text-shadow:0 0 4px color-mix(in srgb,var(--tile-face) 38%,transparent)}[data-theme=dark] .tile.stranded{filter:drop-shadow(0 0 2px color-mix(in srgb,var(--danger) 85%,white 20%)) drop-shadow(0 0 13px color-mix(in srgb,var(--danger) 48%,transparent))}[data-theme=dark] .overlay{background:#14101ff2}[data-theme=dark] .overlay.won .overlay-title{text-shadow:0 0 8px color-mix(in srgb,var(--success) 60%,transparent)}[data-theme=dark] .pill-btn{box-shadow:0 .8svh 1.8svh color-mix(in srgb,var(--accent) 45%,transparent)}
