.mph-subline{font-family:var(--mono);letter-spacing:.26em;text-transform:uppercase;color:var(--ink-faint);text-align:center;min-height:13px;transition:opacity .3s var(--ease-out);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;font-size:10px;display:flex}.mph-screen{position:absolute;inset:0}.mph-hub{z-index:4;overflow-y:auto}.mph-game{z-index:8}.mph-grid{grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:12px;width:100%;max-width:1180px;margin:0 auto;padding:8px 16px 24px;display:grid}.mph-card{text-align:left;cursor:default;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-card);min-height:132px;font-family:var(--font-sans);color:var(--ink);transition:transform .22s var(--ease-out), border-color .22s var(--ease-out), box-shadow .22s var(--ease-out), background-color .35s var(--ease-out);flex-direction:column;padding:16px 16px 14px;display:flex;position:relative;overflow:hidden}.mph-card:hover{border-color:color-mix(in oklch, var(--accent) 50%, var(--line));box-shadow:var(--card-shadow), 0 0 0 1px color-mix(in oklch, var(--accent) 22%, transparent);transform:translateY(-4px)}.mph-card.is-solved{border-color:color-mix(in oklch, var(--accent) 45%, transparent)}.mph-card.is-solved:before{content:"";background:var(--accent);height:3px;position:absolute;top:0;left:0;right:0}.mph-card.is-locked{cursor:default}.mph-card.is-locked:hover{border-color:var(--line);box-shadow:none;transform:none}.mph-card__no{color:var(--accent);letter-spacing:-.04em;font-variant-numeric:tabular-nums;align-items:center;gap:7px;font-size:26px;font-weight:700;line-height:.9;display:inline-flex}.mph-card.is-locked .mph-card__no{color:var(--ink-faint)}.mph-card__check{width:18px;height:18px;color:var(--accent);flex:none}.mph-card__name{text-transform:uppercase;letter-spacing:-.03em;margin-top:12px;font-size:22px;font-weight:700;line-height:1}.mph-card__desc{color:var(--ink-muted);max-width:64%;margin-top:8px;font-size:12px;line-height:1.4}.mph-card__foot{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:8px;margin-top:auto;padding-top:16px;font-size:9.5px;font-weight:700;display:flex}.mph-card__foot .play{color:var(--accent);border:1.5px solid var(--accent-45);border-radius:var(--r-pill);cursor:pointer;transition:background .18s var(--ease-out), color .18s var(--ease-out), border-color .18s var(--ease-out), transform .1s var(--ease-out);align-items:center;gap:7px;padding:8px 14px;text-decoration:none;display:inline-flex}.mph-card__foot .play:active{transform:scale(.95)}.mph-card__foot .play svg{width:9px;height:9px}.mph-card:hover .mph-card__foot .play{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.mph-card__foot .done{color:var(--accent)}.mph-card__foot .soon{color:var(--ink-faint)}.mph-card__chip{width:66px;height:66px;position:absolute;top:16px;right:16px}.mph-hero{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:flex-end;gap:24px;width:100%;max-width:1180px;margin:0 auto;padding:clamp(16px,3vw,30px) 16px clamp(18px,2.5vw,28px);display:flex}.mph-hero__kicker{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 12px;font-size:10px;font-weight:700}.mph-hero__date{letter-spacing:-.04em;text-transform:uppercase;color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-size:clamp(34px,7vw,66px);font-weight:700;line-height:.9}.mph-hero__date .mo{color:var(--ink)}.mph-hero__date .dy{color:var(--ink-faint)}.mph-hero__stats{flex-direction:column;align-items:flex-end;gap:14px;display:flex}.mph-streak{border:1px solid var(--line);border-radius:var(--r-pill);color:var(--ink);font-variant-numeric:tabular-nums;align-items:center;gap:8px;padding:7px 13px 7px 10px;font-size:13px;font-weight:700;display:inline-flex}.mph-streak svg{color:#ff8a3d;flex:none;width:15px;height:17px}.mph-streak .lab{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-size:9px;font-weight:700}.mph-progress{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.mph-progress__count{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);font-size:10px}.mph-progress__count b{color:var(--ink);font-weight:700}.mph-progress__row{gap:5px;display:flex}.mph-seg{border:1.5px solid color-mix(in oklch, var(--accent) 55%, transparent);width:26px;height:5px;transition:background .3s var(--ease-out), border-color .3s var(--ease-out);background:0 0;border-radius:4px}.mph-seg.is-done{background:var(--accent);border-color:var(--accent)}.mph-foot{font-family:var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-faint);opacity:0;flex:none;justify-content:center;align-items:center;gap:14px;margin-top:auto;padding:18px 16px 22px;font-size:9px;transition:opacity .6s;display:flex}.mph-foot.is-in{opacity:1}.mph-foot .dot{background:var(--ink-faint);opacity:.6;border-radius:50%;width:3px;height:3px}.mph-foot b{color:var(--ink);letter-spacing:.12em;font-variant-numeric:tabular-nums;font-weight:700}.mph-foot__link{color:inherit;transition:color .2s var(--ease-out);text-decoration:none}.mph-foot__link:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}@media (max-width:560px){.mph-foot{padding:16px 16px calc(env(safe-area-inset-bottom,0px) + 18px);flex-wrap:wrap;gap:7px 10px}.mph-hub .mph-foot{letter-spacing:.14em;font-size:10px}}.mph-hub .mph-hero__kicker{letter-spacing:.34em;font-size:11px;font-weight:600}.mph-hub .mph-hero__date{font-family:var(--mono);letter-spacing:-.02em;font-size:clamp(36px,7vw,72px);font-weight:800}.mph-hub .mph-streak{font-family:var(--mono);font-size:14px;font-weight:700}.mph-hub .mph-streak .lab{letter-spacing:.12em;font-size:11px;font-weight:500}.mph-hub .mph-progress__count{letter-spacing:.14em;font-size:11px}.mph-hub .mph-card__no{font-family:var(--mono);letter-spacing:-.01em;font-size:33px}.mph-hub .mph-card__name{font-family:var(--mono);letter-spacing:-.01em;font-size:24px;font-weight:800}.mph-hub .mph-card__desc{color:var(--ink-muted);text-wrap:pretty;max-width:calc(100% - 96px);font-size:15px;line-height:1.5}.mph-hub .mph-card__foot{letter-spacing:.14em;font-size:11px}.mph-hub .mph-card__foot .play{letter-spacing:.16em;font-size:12px}.mph-hub .mph-foot{letter-spacing:.2em;font-size:11px}@media (max-width:620px){.mph-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:14px}.mph-card{min-height:0;padding:20px}.mph-hub .mph-card__desc{max-width:none}.mph-hero{flex-wrap:wrap;align-items:flex-start;gap:14px}.mph-hub .mph-hero__date{font-size:clamp(28px,8vw,40px)}.mph-progress__row{gap:4px}.mph-seg{width:22px}}.mph-gchip{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.mph-gline{stroke:var(--grid-line);stroke-width:1px;stroke-dasharray:1;stroke-dashoffset:1px}.mph-gline--frame{stroke:color-mix(in oklch, var(--accent) 32%, transparent);stroke-width:1.4px}.mph-card__chip .mph-gline{stroke-dashoffset:0}.mph-ghint{fill:var(--accent);opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity .24s var(--ease-out), transform .24s var(--ease-out);transform:scale(.3)}.mph-card:hover .mph-ghint{opacity:.92;filter:drop-shadow(0 0 5px var(--accent-60));transform:scale(1)}@keyframes drawLine{to{stroke-dashoffset:0}}.mph-glayout{grid-template-columns:1fr;align-content:center;justify-items:center;padding:clamp(16px,4vh,48px) 18px clamp(40px,9vh,96px);display:grid;position:absolute;inset:0}@media (pointer:coarse){.mph-glayout{padding-bottom:clamp(24px,5vh,48px)}}.mph-board-wrap{--board-w:min(100%, 50vh, 430px);place-items:center;gap:clamp(14px,2.2vw,22px);width:100%;display:grid}.mph-board{width:var(--board-w);aspect-ratio:1;position:relative}.mph-board.is-draw .mph-gline{animation:drawLine var(--gdur,.4s) var(--ease-out) var(--gdelay,0s) forwards}.mph-board>.mph-gchip{z-index:3;pointer-events:none}.mph-cells{z-index:2;display:grid;position:absolute;inset:0}.mph-cell{cursor:pointer;place-items:center;display:grid;position:relative}.mph-cell__in{opacity:0;width:100%;height:100%;transition:background .18s var(--ease-out), box-shadow .18s var(--ease-out);border-radius:0;place-items:center;display:grid;transform:scale(.4)}.mph-cell__in.is-pop{animation:cellPop .46s var(--ease-out) forwards}.mph-cell.is-shown .mph-cell__in{opacity:1;transform:none}.mph-cell:active .mph-cell__in{transform:scale(.9)}.mph-cell:after{content:"";z-index:1;pointer-events:none;background:var(--accent-12);box-shadow:inset 0 0 0 1.5px var(--accent-60), 0 0 14px -2px var(--accent-45);opacity:0;transition:opacity .15s var(--ease-out);position:absolute;inset:0}@media (hover:hover){.mph-cell:hover:after{opacity:1}}@keyframes cellPop{to{opacity:1;transform:scale(1)}}.mph-cell.is-cand .mph-cell__in{background:var(--accent-12)}.mph-cell.is-dim .mph-cell__in{background:var(--void);opacity:.6}.mph-cell.is-on .mph-cell__in{background:var(--accent);box-shadow:var(--glow-md)}.mph-cell.is-heat{--heat-hot:#e23726}@supports (color:lab(0% 0 0)){.mph-cell.is-heat{--heat-hot:lab(51.5823% 65.2022 51.8041)}}.mph-cell.is-heat .mph-cell__in{--hue:color-mix(in oklch, var(--heat-hot) calc(var(--heat,0) * 118%), var(--accent));background:color-mix(in oklch, var(--hue) calc(7% + var(--heat,0) * 92%), transparent);box-shadow:inset 0 0 0 1.5px color-mix(in oklch, var(--hue) calc(20% + var(--heat,0) * 75%), transparent);transition:background .2s var(--ease-out), box-shadow .2s var(--ease-out)}.mph-cell.is-probed .mph-cell__in{box-shadow:inset 0 0 0 1.5px var(--accent-60)}.mph-cell.is-probed .probe{background:var(--accent);width:28%;height:28%;box-shadow:0 0 8px var(--accent-60);border-radius:50%}.mph-cell.is-glyph .mph-cell__in{background:color-mix(in oklch, var(--accent) 8%, transparent);box-shadow:inset 0 0 0 1.5px var(--accent-60)}.mph-cell .g{color:var(--accent);text-shadow:0 0 12px var(--accent);font-size:56cqw;line-height:1}.mph-cell.is-key .mph-cell__in{background:color-mix(in oklch, var(--accent) 12%, transparent);box-shadow:inset 0 0 0 1.5px var(--accent-45)}.mph-cell .num{font-family:var(--font-sans);color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:46cqw;font-weight:700;line-height:1}.mph-cell.is-key .num{color:var(--accent)}.mph-cell.is-hit .mph-cell__in{background:var(--cell-hit);box-shadow:var(--glow-hit);position:relative}.mph-cell.is-hit .core{background:var(--accent);border-radius:2px;width:36%;height:36%;transform:rotate(45deg)}.mph-cell.is-hit .ring{border-radius:0;animation:1.7s ease-out infinite skRing;position:absolute;inset:-3px}.mph-cell.is-flash .mph-cell__in{animation:skFlash var(--dur-pop) var(--ease-out)}.mph-cell.is-reveal .mph-cell__in{transition:background .34s var(--ease-out) var(--reveal-delay,0s), box-shadow .34s var(--ease-out) var(--reveal-delay,0s)}.mph-cell__in{container-type:size}.mph-console{z-index:9;font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);justify-content:center;align-items:center;gap:14px;font-size:11px;display:flex;position:absolute;bottom:18px;left:0;right:0}.mph-gin{opacity:0}.mph-game.game-on .mph-console{opacity:1;transition:opacity .5s var(--ease-out) .26s}@media (pointer:coarse){.mph-console{display:none}}.sk-burst{z-index:40;pointer-events:none;position:absolute;inset:0;overflow:hidden}.sk-burst__p{opacity:0;animation:skBurst var(--cdur,1.2s) var(--cdelay,0s) both;will-change:transform, opacity;border-radius:1.5px;position:absolute;top:40%;left:50%}.sk-burst__p--c0{background:var(--accent)}.sk-burst__p--c1{background:#ffe070}.sk-burst__p--c2{background:#f7b73e}.sk-burst__p--c3{background:#f28c2e}.sk-burst__p--c4{background:#cf4a6a}@keyframes skBurst{0%{opacity:1;animation-timing-function:cubic-bezier(.13,.62,.36,1);transform:translate(0)rotate(0)}52%{opacity:1;transform:translate(calc(var(--dx) * .72), var(--up)) rotate(calc(var(--spin) * .6));animation-timing-function:cubic-bezier(.5,.04,.78,.4)}to{opacity:0;transform:translate(var(--dx), var(--down)) rotate(var(--spin))}}@media (prefers-reduced-motion:reduce){.sk-burst{display:none}}.mph-card:not(.is-in){opacity:0;transform:translateY(18px)}.mph-card.is-in{animation:mphCardIn .5s var(--ease-out) backwards}@keyframes mphCardIn{0%{opacity:0;transform:translateY(18px)}}@media (min-width:1024px){.mph-subline{letter-spacing:.28em;font-size:11px}.mph-hero{padding:clamp(22px,3vw,40px) 66px clamp(20px,2.5vw,32px)}.mph-grid{grid-template-columns:repeat(3,1fr);align-content:start;gap:18px;padding:24px 66px}.mph-card{min-height:200px;padding:24px}.mph-card__no{font-size:30px}.mph-card__name{font-size:26px}.mph-card__desc{font-size:12.5px}.mph-card__chip{width:84px;height:84px;top:20px;right:22px}.mph-glayout{padding:clamp(16px,4vh,48px) 66px clamp(40px,9vh,96px)}.mph-board-wrap{--board-w:min(64vh, 540px)}}@media (prefers-reduced-motion:reduce){.mph-card{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}.mph-gline{stroke-dashoffset:0!important;animation:none!important}.mph-foot{opacity:.7!important}.mph-cell__in.is-pop{opacity:1!important;animation:none!important;transform:none!important}.mph-cell.is-flash .mph-cell__in{animation:none!important}.mph-cell.is-reveal .mph-cell__in{transition:none!important;animation:none!important}}
.app-stage{background:radial-gradient(125% 85% at 50% -12%, #16161c 0%, var(--bg) 56%, #08080b 100%);color:var(--ink);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}html[data-theme=light] .app-stage{background:radial-gradient(125% 85% at 50% -12%, #fff 0%, var(--bg) 60%, #e4e0d7 100%)}.app-gutter{z-index:0;pointer-events:none;opacity:0;transition:opacity .4s var(--ease-out);background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-position:top;background-size:36px 36px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(90deg,#000 0 calc(50% - 680px),#0000 calc(50% - 600px) calc(50% + 600px),#000 calc(50% + 680px) 100%);mask-image:linear-gradient(90deg,#000 0 calc(50% - 680px),#0000 calc(50% - 600px) calc(50% + 600px),#000 calc(50% + 680px) 100%)}.app-frame{pointer-events:none;z-index:0;opacity:0;width:min(1180px,100%);transition:opacity .35s var(--ease-out);position:fixed;top:0;bottom:0;left:50%;transform:translate(-50%)}.app-frame__rule{background:var(--line);width:1px;position:absolute;top:0;bottom:0;-webkit-mask-image:linear-gradient(#0000 0,#000 14% 86%,#0000 100%);mask-image:linear-gradient(#0000 0,#000 14% 86%,#0000 100%)}.app-frame__rule--l{left:0}.app-frame__rule--r{right:0}.app-frame__rule:before,.app-frame__rule:after{content:"";background:color-mix(in oklch, var(--ink) 22%, transparent);width:20px;height:1px;position:absolute}.app-frame__rule:before{top:14%}.app-frame__rule:after{bottom:14%}.app-frame__rule--l:before,.app-frame__rule--l:after{left:0}.app-frame__rule--r:before,.app-frame__rule--r:after{right:0}@media (min-width:1300px){.app-gutter{opacity:.4}html[data-theme=light] .app-gutter{opacity:.6}.app-frame{opacity:1}}.app-body{flex:1;min-height:0;position:relative}.nav{view-transition-name:nav}::view-transition-group(nav){z-index:100;animation:none}::view-transition-old(nav){display:none}::view-transition-new(nav){animation:none}::view-transition-old(content){animation:.15s both vt-content-out}::view-transition-new(content){animation:.2s .3s both vt-content-in}@keyframes vt-content-out{to{opacity:0}}@keyframes vt-content-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){::view-transition-old(*){animation-duration:1ms!important;animation-delay:0s!important}::view-transition-new(*){animation-duration:1ms!important;animation-delay:0s!important}::view-transition-group(*){animation-duration:1ms!important;animation-delay:0s!important}}.nav{z-index:20;border-bottom:1px solid var(--line);flex:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;width:100%;max-width:1180px;margin-inline:auto;padding:14px 16px;display:grid}.nav__left{justify-self:start;min-width:0}.nav__center{justify-self:center;min-width:0}.nav__right{justify-self:end;align-items:center;gap:10px;display:inline-flex}.nav__title{font-family:var(--mono);letter-spacing:-.01em;text-transform:uppercase;color:var(--accent);white-space:nowrap;font-size:17px;font-weight:800;line-height:1}.nav{border-bottom-color:#0000}.nav__center{justify-content:center;display:flex}.mph-hub,.nav,.mph-console,.kode-howto{--font-sans:var(--font-atkinson), system-ui, var(--font-noto-jp,sans-serif), sans-serif;--mono:var(--font-jetbrains), ui-monospace, var(--font-noto-jp,monospace), monospace}.kode-howto{font-family:var(--font-sans);--kode-cell:clamp(30px, calc((100vw - 120px) / 6), 44px);--kode-cell-fs:calc(var(--kode-cell) * .47)}@media (max-width:420px){.kode-howto{padding:14px}.kode-howto [role=dialog]{padding:22px}}html[data-theme=dark] :is(.mph-hub,.nav,.mph-console,.kode-howto){--ink-muted:#b6bdc8;--ink-faint:#828b98}.app-stage:not([data-game]) .nav__wordmark{display:inline-block}.nav__icon{border:1px solid var(--line);width:36px;height:36px;color:var(--ink-muted);cursor:pointer;transition:color .2s var(--ease-out), border-color .2s var(--ease-out), transform .12s var(--ease-out);background:0 0;border-radius:999px;place-items:center;display:grid}.nav__icon:hover{color:var(--ink);border-color:var(--ink-faint)}.nav__icon:active{transform:scale(.94)}.nav__icon svg{width:18px;height:18px}.nav__lang{align-items:center;display:inline-flex;position:relative}.nav__lang-menu{z-index:50;border:1px solid var(--line);background:var(--card);min-width:168px;box-shadow:var(--shadow-pop);animation:kodeFadeIn .14s var(--ease-out) both;border-radius:14px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.nav__lang-item{width:100%;color:var(--ink-muted);font:inherit;text-align:left;cursor:pointer;transition:background-color .15s var(--ease-out), color .15s var(--ease-out);background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;display:flex}.nav__lang-item:hover{background:var(--surface);color:var(--ink)}.nav__lang-item.is-active{color:var(--ink);font-weight:600}.nav__lang-flag{border-radius:3px;flex:none;width:22px;height:16px;display:block;overflow:hidden;box-shadow:inset 0 0 0 1px #0000001f}.nav__lang-flag svg{width:100%;height:100%;display:block}.nav__inline{display:none}.nav__menu{align-items:center;display:inline-flex;position:relative}@media (min-width:640px){.nav__inline{align-items:center;gap:10px;display:inline-flex}.nav__menu{display:none}}.nav__menu-ico{width:22px;color:var(--ink-muted);flex:none;place-items:center;display:grid}.nav__menu-ico svg{width:18px;height:18px}.nav__lang-item:hover .nav__menu-ico{color:var(--ink)}.nav__menu-sep{background:var(--line);height:1px;margin:5px 6px}.nav__brand{color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:inline-flex}.nav__wordmark{font-family:var(--mono);text-transform:uppercase;letter-spacing:-.01em;color:var(--ink);font-size:18px;font-weight:700;line-height:1;display:none}.nav__auth{border:1px solid var(--line);cursor:pointer;font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);transition:color .2s var(--ease-out), border-color .2s var(--ease-out);background:0 0;border-radius:999px;padding:7px 16px;font-size:11px;font-weight:600}.nav__auth:not(:disabled):hover{color:var(--accent);border-color:var(--accent-60)}.nav__auth:disabled{opacity:.62;cursor:default}.nav__center .mph-subline{min-height:0}.nav__pzl{border-left:1px solid var(--line);color:var(--ink-muted);font-variant-numeric:tabular-nums;margin-left:11px;padding-left:11px;font-weight:700}a.mph-card{text-decoration:none}.app-body .mph-hub{flex-direction:column;display:flex}.app-body .mph-grid{height:auto;margin-block:0}@media (min-width:1024px){.nav{padding:18px 66px}.nav__wordmark{font-size:21px;display:inline-block}}
