.badge-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#141e1ab3;display:flex;align-items:center;justify-content:center;padding:16px}.badge-modal-card{width:min(920px,94vw);max-height:min(88dvh,760px);overflow:auto;border-radius:18px;border:3px solid #c9a86c;background-color:#dfc48a;background-image:repeating-linear-gradient(0deg,rgba(80,55,30,.045) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(60,45,25,.03) 0 1px,transparent 1px 4px),radial-gradient(120% 80% at 50% 0%,rgba(255,248,220,.55) 0%,transparent 55%),linear-gradient(168deg,#f2e2b8,#e4cf98 38%,#d4b87a 72%,#c9a86a);box-shadow:inset 0 1px #ffffffbf,inset 0 -2px 12px #b48c501f,0 12px 28px #23160c59;padding:18px}.badge-modal-header{display:flex;justify-content:space-between;gap:10px;align-items:center}.badge-modal-header h2{margin:0}.badge-modal-sub{margin:8px 0 10px;color:#1f4f3a;font-weight:700}.badge-empty{margin:12px 0 6px;font-weight:700}.badge-grid-scroll{max-height:min(52dvh,420px);overflow-y:auto;padding-right:4px}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px 14px}.badge-item{margin:0;display:flex;flex-direction:column;align-items:center}.badge-item-circle{width:92px;height:92px;display:flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;border:3px solid rgba(68,95,54,.42);background:#fffae8eb;box-shadow:0 4px 10px #28372833}.badge-item-circle img{width:auto;height:100%;display:block;object-fit:cover;object-position:center}.badge-item figcaption{margin-top:8px;text-align:center;font-weight:700;font-size:.85rem;word-break:break-all}.scene-wrap{position:relative;width:min(980px,100%);aspect-ratio:16 / 9;z-index:1;overflow:hidden;border-radius:14px;transform-origin:left center;backface-visibility:hidden;transform-style:preserve-3d;will-change:transform,opacity}.scene-image{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background-size:cover;background-position:center;background-repeat:no-repeat;background-color:transparent;z-index:1}.event-layer{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:clamp(220px,46%,500px);max-height:72%;object-fit:contain;border-radius:0;border:none;background:transparent;box-shadow:none;pointer-events:none;z-index:2;opacity:1}.event-emoji-layer{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:clamp(180px,22vw,280px);height:clamp(140px,16vw,220px);font-size:clamp(64px,12vw,136px);line-height:1;text-shadow:0 4px 12px rgba(12,10,8,.4),0 1px 0 rgba(255,255,255,.35);filter:drop-shadow(0 10px 14px rgba(16,11,6,.35));pointer-events:none;z-index:3;opacity:1}.scene-wrap.scene-wrap--event-leaving{animation:eventScenePageTurnOut .52s cubic-bezier(.4,.03,.58,.95) both}.scene-wrap.scene-wrap--event-entering{animation:eventScenePageTurnIn .62s cubic-bezier(.26,.8,.3,1) both}.event-emoji-item{position:absolute;line-height:1;opacity:1}.event-emoji-layer--count-1 .event-emoji-item--1{left:50%;top:12%;transform:translate(-50%,-50%)}.event-emoji-layer--count-2 .event-emoji-item--1{left:24%;top:74%;transform:translate(-50%,-50%)}.event-emoji-layer--count-2 .event-emoji-item--2{left:76%;top:74%;transform:translate(-50%,-50%)}.event-emoji-layer--count-3 .event-emoji-item--1{left:50%;top:14%;transform:translate(-50%,-50%)}.event-emoji-layer--count-3 .event-emoji-item--2{left:24%;top:74%;transform:translate(-50%,-50%)}.event-emoji-layer--count-3 .event-emoji-item--3{left:76%;top:74%;transform:translate(-50%,-50%)}.game-page .scene-wrap{width:min(720px,72vw,calc(46dvh * 16 / 9));margin-top:0;align-self:center;flex:0 0 auto;max-height:min(46dvh,380px)}.game-page .scene-wrap:before{content:"";float:left;padding-top:56.25%}.game-page .scene-wrap:after{content:"";display:block;clear:both}@supports (aspect-ratio: 16 / 9){.game-page .scene-wrap:before,.game-page .scene-wrap:after{content:none;float:none;padding-top:0;clear:none;display:none}}@media (max-height: 520px){.game-page .scene-wrap{max-height:min(44dvh,320px)}}@media (max-width: 480px){.event-layer{width:clamp(180px,56%,320px);max-height:60%}.event-emoji-layer{width:clamp(150px,28vw,220px);height:clamp(120px,22vw,180px);font-size:clamp(56px,16vw,92px)}}@keyframes eventScenePageTurnOut{0%{opacity:1;transform:rotateY(0) translate(0);filter:brightness(1)}to{opacity:.18;transform:rotateY(-64deg) translate(-8%);filter:brightness(.86)}}@keyframes eventScenePageTurnIn{0%{opacity:.18;transform:rotateY(64deg) translate(8%);filter:brightness(.86)}to{opacity:1;transform:rotateY(0) translate(0);filter:brightness(1)}}@media (prefers-reduced-motion: reduce){.scene-wrap.scene-wrap--event-leaving,.scene-wrap.scene-wrap--event-entering{animation:none;opacity:1;transform:none;filter:none}}.clear-saving{margin-top:6px;color:#2f6e54;font-weight:700}.clear-status{margin-top:0;margin-bottom:6px;color:#2f6e54;font-weight:700}@media (max-width: 768px){.game-page .stage-card .command-bar>button{font-size:clamp(.78rem,1.7vw,.9rem);padding:4px 10px;min-height:30px}}@media (max-height: 500px){.game-page .stage-card .command-bar>button{font-size:clamp(.68rem,1.3vw,.76rem);padding:3px 10px;min-height:24px}}.game-page .event-card{width:min(760px,84vw);max-height:calc(100dvh - 96px);min-height:clamp(300px,44dvh,520px);padding:clamp(12px,2.6dvh,18px) clamp(14px,2.6vw,20px);margin-top:clamp(-94px,-20dvh,-56px);position:relative;z-index:4;overflow:hidden;background-color:#dfc48ab8;background-image:linear-gradient(180deg,#f8f0d814,#f4e8c447 18%,#ecd6a29e 44%,#dabc80e6),repeating-linear-gradient(0deg,rgba(80,55,30,.04) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(60,45,25,.024) 0 1px,transparent 1px 4px);opacity:1;transform-origin:left center;backface-visibility:hidden;transform-style:preserve-3d;will-change:transform,opacity}.game-page .event-card.event-card--leaving{animation:eventCardPageTurnOut .52s cubic-bezier(.4,.03,.58,.95) both}.game-page .event-card.event-card--entering{animation:eventCardPageTurnIn .62s cubic-bezier(.26,.8,.3,1) both}.game-page .event-card.event-card--treasure{min-height:0;max-height:none}.game-page .event-card.event-card--treasure .card-main{flex:0 0 auto}.status{display:flex;justify-content:space-between;font-weight:700}.status-right{display:inline-flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right;font-weight:700;color:#1f4f3a}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tool-grid .tool-button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0;padding:10px 8px 8px;overflow:hidden}.tool-icon{width:clamp(38px,9vw,52px);height:clamp(38px,9vw,52px);margin:0;flex-shrink:0;object-fit:contain;vertical-align:middle}.tool-icon-spinner{width:clamp(38px,9vw,52px);height:clamp(38px,9vw,52px);margin:0;flex-shrink:0;border-radius:50%;border:3px solid rgba(255,255,255,.42);border-top-color:#fff;border-right-color:#ffffffdb;animation:toolIconSpin .9s linear infinite}.tool-label{display:block;max-width:100%;font-size:clamp(.62rem,2.1vw,.76rem);font-weight:700;line-height:1.2;text-align:center;word-break:keep-all;overflow-wrap:anywhere}.tool-hint-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;padding:8px 7px;font-size:.68rem;font-weight:700;line-height:1.4;text-align:center;color:#243124;background:linear-gradient(180deg,transparent 0%,rgba(255,252,240,.12) 28%,rgba(255,250,232,.94) 52%,rgba(255,248,220,.98) 100%);border-radius:10px;pointer-events:none;opacity:0;transition:opacity .16s ease}@media (hover: hover) and (pointer: fine){.tool-grid .tool-button:hover .tool-hint-overlay,.tool-grid .tool-button:focus-visible .tool-hint-overlay{opacity:1}}.event-hint,.choice-busy{margin-top:6px;color:#2f6e54;font-weight:700}.choice-busy{letter-spacing:.04em}@media (max-height: 520px){.game-page .event-card{padding:12px 14px;margin-top:clamp(-52px,-10dvh,-28px)}}@media (max-width: 768px){.event-page .scene-wrap{transform:translateY(7vh)}.game-page .event-card{width:min(760px,90vw);min-height:0;max-height:none;padding:10px 12px;margin-top:8px}.game-page .event-card .card-main h2{font-size:clamp(.94rem,2.2vw,1.08rem);line-height:1.14;margin:0 0 4px}.game-page .event-card .card-main p{font-size:clamp(.72rem,1.75vw,.84rem);line-height:1.2;margin:0 0 4px}.status{align-items:flex-start;font-size:clamp(.68rem,1.5vw,.78rem);margin-bottom:2px;line-height:1.06}.status-right{gap:0;font-size:clamp(.6rem,1.35vw,.7rem);line-height:1.02;transform:translateY(-2px)}.tool-grid{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;margin:0;gap:5px}.tool-grid .tool-button{aspect-ratio:auto;min-height:0;display:flex;flex-direction:row;justify-content:flex-start;gap:6px;padding:1.5px 8px}.tool-icon{width:clamp(16px,2.8vw,20px);height:clamp(16px,2.8vw,20px)}.tool-icon-spinner{width:clamp(16px,2.8vw,20px);height:clamp(16px,2.8vw,20px);border-width:2px}.tool-label{font-size:clamp(.52rem,1.45vw,.64rem);line-height:1.1;text-align:left}.game-page .event-card .command-bar{margin-top:8px;gap:4px}.game-page .event-card .command-bar>button:last-child{font-size:clamp(.78rem,1.7vw,.9rem);padding:4px 10px;min-height:30px}}@media (max-height: 500px){.game-page .event-card{width:min(760px,91vw);min-height:0;max-height:none;padding:8px 11px;margin-top:14px}.game-page .event-card .card-main h2{font-size:clamp(.84rem,1.85vw,.94rem);line-height:1.08;margin:0 0 3px}.game-page .event-card .card-main p{font-size:clamp(.64rem,1.4vw,.72rem);line-height:1.12;margin:0 0 3px}.status{align-items:flex-start;font-size:clamp(.6rem,1.18vw,.68rem);margin-bottom:1px;line-height:1.02}.status-right{gap:0;font-size:clamp(.54rem,1vw,.62rem);line-height:1;transform:translateY(-2px)}.event-hint{margin-top:1px}.tool-grid{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;margin:0;gap:4px}.tool-grid .tool-button{aspect-ratio:auto;min-height:0;display:flex;flex-direction:row;justify-content:flex-start;gap:5px;padding:.5px 7px}.tool-icon{width:clamp(14px,2.5vw,18px);height:clamp(14px,2.5vw,18px)}.tool-icon-spinner{width:clamp(14px,2.5vw,18px);height:clamp(14px,2.5vw,18px);border-width:2px}.tool-label{font-size:clamp(.48rem,1.25vw,.58rem);line-height:1.08;text-align:left}.game-page .event-card .command-bar{margin-top:10px;gap:3px}.game-page .event-card .command-bar>button:last-child{font-size:clamp(.68rem,1.3vw,.76rem);padding:3px 10px;min-height:24px}}@media (min-width: 900px){.game-page .event-card{min-height:0}.game-page .event-card .card-main{flex:0 0 auto}.game-page .event-card .command-bar,.game-page .event-card .tool-grid{gap:clamp(8px,1.3dvh,10px)}.game-page .event-card .command-bar{margin-top:clamp(8px,1.3dvh,10px)}.tool-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@keyframes eventCardPageTurnOut{0%{opacity:1;transform:rotateY(0) translate(0);filter:brightness(1)}to{opacity:.2;transform:rotateY(-64deg) translate(-8%);filter:brightness(.88)}}@keyframes toolIconSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes eventCardPageTurnIn{0%{opacity:.2;transform:rotateY(64deg) translate(8%);filter:brightness(.88)}to{opacity:1;transform:rotateY(0) translate(0);filter:brightness(1)}}@media (prefers-reduced-motion: reduce){.game-page .event-card.event-card--leaving,.game-page .event-card.event-card--entering{animation:none;opacity:1;transform:none;filter:none}}.gameover-page{justify-content:center;padding-inline:clamp(12px,5vw,40px);padding-block:clamp(12px,3vh,28px);box-sizing:border-box}main.page.gameover-page .card.gameover-card{width:min(100%,clamp(260px,52vw,420px));max-width:min(420px,88vw);flex-shrink:1;min-width:0}main.page.gameover-page .card.gameover-card .command-bar{margin-top:clamp(10px,2.5vw,14px);gap:clamp(8px,2vw,12px)}@media (max-width: 480px){main.page.gameover-page .card.gameover-card .command-bar>button{flex-basis:100%}}@media (max-width: 768px){main.page.gameover-page .card.gameover-card .command-bar>button{font-size:clamp(.78rem,1.7vw,.9rem);padding:4px 10px;min-height:30px}}@media (max-height: 500px){main.page.gameover-page .card.gameover-card .command-bar>button{font-size:clamp(.68rem,1.3vw,.76rem);padding:3px 10px;min-height:24px}}.loading-card{text-align:center;width:min(90vw,560px);max-width:92vw}.game-page .loading-card{width:min(90vw,560px);max-width:92vw;margin-top:clamp(-44px,-6.6dvh,-20px);position:relative;z-index:4}.game-page.game-page--loading{position:relative;justify-content:center;align-items:center;padding-top:clamp(8px,1.8dvh,14px);height:100dvh;min-height:100dvh;overflow:hidden}.game-page.game-page--loading .loading-stage-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:flex-start;padding-top:0;pointer-events:none;z-index:1}.game-page.game-page--loading .loading-stage-backdrop .scene-wrap{transform:translateY(0)}.game-page.game-page--loading .loading-card{margin-top:0;flex-shrink:0}.loading-title{margin:0}.loading-message{margin-top:10px;font-weight:700}.loading-status{margin-top:8px;margin-bottom:0;color:#1f4f3a;font-weight:800;letter-spacing:.5px}.loading-spark{margin-top:8px;color:#2e8b57;letter-spacing:1px;animation:sparklePulse 1.2s ease-in-out infinite}.loading-spark--arceus{color:#7b2cbf;text-shadow:0 0 10px rgba(123,44,191,.35)}.loading-longwait{margin-top:8px;color:#7a4e1f;font-weight:700}.loading-actions{margin-top:10px}@media (max-width: 768px){.loading-actions button{font-size:clamp(.78rem,1.7vw,.9rem);padding:4px 10px;min-height:30px}}@media (max-height: 500px){.loading-actions button{font-size:clamp(.68rem,1.3vw,.76rem);padding:3px 10px;min-height:24px}}.loading-zoo{display:flex;flex-direction:column;margin-top:8px;height:clamp(120px,20dvh,172px);border-radius:12px;background:#ffffff59;overflow:hidden}.loading-zoo-header{flex:0 0 auto;z-index:2;padding:5px 10px 4px;text-align:center;background:linear-gradient(180deg,rgba(255,255,255,.82) 0%,rgba(255,252,240,.45) 88%,transparent 100%);border-radius:12px 12px 0 0}.loading-zoo-title{margin:0;font-size:clamp(.72rem,2.05dvw,.86rem);font-weight:800;letter-spacing:.02em;color:#1f4a32;line-height:1.2}.loading-zoo-playfield{position:relative;flex:1 1 auto;min-height:0;overflow:hidden}.loading-zoo-lyrics{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 12%,#000 88%,transparent 100%)}.loading-zoo-lyrics-track{display:flex;flex-direction:column;align-items:stretch;gap:1.3em;padding:6px 10px 10px;animation:loadingZooLyricsScroll 220s linear infinite;will-change:transform}.loading-zoo-lyrics-stanza-wrap{display:flex;flex-direction:column;gap:.4rem}.loading-zoo-lyrics-stanza{margin:0;text-align:left;font-size:clamp(12px,2.65dvw,15px);line-height:1.4;letter-spacing:.01em;color:#2a3426c7;font-weight:600;white-space:pre-line}.loading-zoo-lyrics-stanza--ja{font-size:clamp(11px,2.35dvw,13.5px);font-weight:600;color:#342a3ed1;letter-spacing:.02em}.loading-zoo-lyrics-stanza--ja:first-line{font-weight:800;color:#483058e6}@keyframes loadingZooLyricsScroll{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@media (prefers-reduced-motion: reduce){.loading-zoo-lyrics{overflow-y:auto;-webkit-mask-image:none;mask-image:none}.loading-zoo-lyrics-track{animation:none}}.loading-animal{position:absolute;z-index:1;will-change:transform,left,top;-webkit-user-select:none;user-select:none;transform:translateZ(0);filter:drop-shadow(0 1px 0 rgba(0,0,0,.12))}@keyframes sparklePulse{0%{opacity:.45;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}to{opacity:.45;transform:translateY(0)}}@media (max-width: 768px),(max-height: 500px){.game-page.game-page--loading .loading-stage-backdrop .scene-wrap{transform:translateY(7vh)}}@media (max-width: 480px){.game-page .loading-card{width:min(84vw,340px);max-width:84vw;padding:14px}.loading-zoo{height:clamp(92px,15dvh,124px);margin-top:6px}.loading-zoo-lyrics-track{gap:1em;padding:4px 8px 8px}.loading-zoo-lyrics-stanza{font-size:clamp(11px,2.45dvw,13px);line-height:1.32}.loading-zoo-lyrics-stanza--ja{font-size:clamp(10px,2.15dvw,12px)}.loading-message,.loading-status,.loading-longwait{margin-top:6px}}@media (max-height: 740px){.game-page.game-page--loading .loading-card{margin-top:0}}@media (min-width: 1024px){.loading-card,.game-page .loading-card{width:min(86vw,640px);max-width:86vw}.loading-zoo-lyrics-stanza--en{font-size:clamp(13px,1.05dvw,16px)}}.stars{font-size:clamp(1.2rem,3dvh,1.75rem);letter-spacing:clamp(2px,.5vw,4px)}.stage-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.stage-header-left{min-width:0}.stage-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right;font-weight:700;color:#1f4f3a}.stage-label{margin:0}.stage-title{margin:2px 0 0}.stage-meta{margin:0;font-size:clamp(.78rem,1.65dvh,.95rem)}.game-page .card-main p.stage-tutorial-text{margin-bottom:clamp(8px,1.8dvh,14px)}.game-page .stage-intro-card .command-bar{margin-top:clamp(8px,1.6dvh,14px)}.game-page .stage-intro-card,.game-page .stage-intro-card .card-main{flex:0 0 auto}.tutorial-proceed-button{animation:tutorialProceedPulse 3s ease-in-out infinite;transform-origin:center}@keyframes tutorialProceedPulse{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.tutorial-proceed-button{animation:none}}.title-page{justify-content:center;padding-inline:clamp(12px,5vw,40px);padding-block:clamp(12px,3vh,28px);box-sizing:border-box}main.page.title-page .card.title-card{width:min(100%,clamp(260px,52vw,420px));max-width:min(420px,88vw);flex-shrink:1;min-width:0;font-family:Zen Maru Gothic,Hiragino Maru Gothic ProN,Yu Gothic,sans-serif;font-weight:500;color:#3d3428;background-color:#dfc48a;background-image:repeating-linear-gradient(0deg,rgba(80,55,30,.045) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(60,45,25,.03) 0 1px,transparent 1px 4px),radial-gradient(120% 80% at 50% 0%,rgba(255,248,220,.55) 0%,transparent 55%),linear-gradient(168deg,#f2e2b8,#e4cf98 38%,#d4b87a 72%,#c9a86a);border:3px solid #c9a86c;border-radius:22px;box-shadow:inset 0 1px #ffffffbf,inset 0 -2px 12px #b48c501f,0 4px #a08050,0 12px 28px #23160c47;padding:clamp(18px,4vw,26px)}main.page.title-page .card.title-card.title-card--wide{width:min(100%,clamp(360px,64vw,760px));max-width:min(760px,90vw);min-width:min(640px,90vw)}main.page.title-page .card.title-card h1{font-family:Zen Maru Gothic,Hiragino Maru Gothic ProN,sans-serif;font-weight:700;font-size:clamp(1.2rem,4.5vw,1.55rem);line-height:1.35;letter-spacing:.04em;text-align:center;color:#2f4a35;text-shadow:0 1px 0 rgba(255,255,255,.6);margin:0 0 10px}main.page.title-page .card.title-card .card-main>p{color:#4a4036;line-height:1.55}main.page.title-page .card.title-card label{color:#5c4d3d;font-weight:700;font-size:.88rem}main.page.title-page .card.title-card input{background:#ffffffe0;border:2px solid #b8a070;color:#352e26;box-shadow:inset 0 1px 3px #5a46281f}main.page.title-page .card.title-card input:focus{outline:none;border-color:#4d8f5c;box-shadow:inset 0 1px 3px #5a46281a,0 0 0 3px #4d8f5c40}main.page.title-page .card.title-card .command-bar{margin-top:14px;gap:12px}main.page.title-page .card.title-card .command-bar>button{flex:1 1 160px;font-family:Zen Maru Gothic,Hiragino Maru Gothic ProN,sans-serif;font-weight:700;font-size:1rem;white-space:nowrap;letter-spacing:.03em;color:#fffef8;border-radius:16px;padding:12px 14px;border:2px solid #2d6b3a;background:linear-gradient(180deg,#62c47a,#3d9a55 45%,#2f7d44);box-shadow:0 3px #256b33,0 6px 16px #143c1e59;text-shadow:0 1px 0 rgba(0,0,0,.15)}main.page.title-page .card.title-card .command-bar>button:hover:not(:disabled){filter:brightness(1.05)}main.page.title-page .card.title-card .command-bar>button:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #256b33,0 3px 10px #143c1e4d}main.page.title-page .card.title-card .error{color:#b42318;font-weight:700}main.page.title-page .card.title-card.stage-card{min-height:0}.title-loaded-id{margin-top:2px;color:#1f4f3a;font-weight:700}.title-replay-list{margin-top:8px;max-height:none;overflow:visible;padding-right:0}.title-replay-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,128px));justify-content:start;gap:14px 12px}.title-replay-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;aspect-ratio:1 / 1;max-width:128px;min-height:0;text-align:center;padding:8px 6px;border-radius:12px;border:2px solid #2d6b3a;background:linear-gradient(180deg,#62c47a,#3d9a55 45%,#2f7d44);box-shadow:0 3px #256b33,0 6px 16px #143c1e47}.title-replay-card .title-replay-circle{width:64px;height:64px;flex:0 0 64px;border-radius:50%;overflow:hidden}.title-replay-card .title-replay-circle img{width:100%;height:100%;display:block;object-fit:cover}.title-replay-circle--continue{display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:800;color:#3a5f45;background:radial-gradient(circle at 35% 30%,#fff9df,#f0dfad 58%,#dec485)}.title-replay-caption{min-width:0;font-weight:700;color:#fffef8;overflow:hidden;text-overflow:clip;white-space:normal;word-break:break-word;line-height:1.25;font-size:.84rem}@media (max-width: 760px){main.page.title-page .card.title-card.title-card--wide{min-width:0}}@media (max-height: 520px){.title-page{justify-content:center;padding-block:clamp(6px,2.5dvh,16px);padding-inline:clamp(8px,3vw,28px)}main.page.title-page .card.title-card{max-height:min(calc(100dvh - 12px),calc(100svh - 12px));overflow:hidden;padding:10px 12px}main.page.title-page .card.title-card h1{font-size:clamp(.95rem,4.2vw,1.2rem);margin:0 0 4px;line-height:1.2}main.page.title-page .card.title-card .card-main>p{margin:0 0 4px;font-size:.78rem;line-height:1.35}main.page.title-page .card.title-card label{margin-top:4px;font-size:.75rem}main.page.title-page .card.title-card input{margin-top:4px;margin-bottom:6px;padding:7px 9px;font-size:16px}main.page.title-page .card.title-card .command-bar{margin-top:6px;gap:8px}main.page.title-page .card.title-card .command-bar>button{padding:4px 10px;font-size:clamp(.78rem,1.7vw,.9rem);min-height:30px}main.page.title-page .card.title-card .error{margin:4px 0 0;font-size:.8rem}}@media (max-height: 500px){main.page.title-page .card.title-card .command-bar>button{padding:3px 10px;font-size:clamp(.68rem,1.3vw,.76rem);min-height:24px}}:root{color-scheme:light;font-family:Hiragino Maru Gothic ProN,Yu Gothic,sans-serif;color:#23313f}*{box-sizing:border-box}html,body{width:100%;min-height:100%;min-height:100dvh}body{margin:0;background-image:url(/images/backgrounds/BG.png);background-size:contain;background-position:center;background-repeat:no-repeat;background-attachment:scroll;background-color:#2c2118}#root{min-height:100vh;min-height:100dvh}.app-footer{position:relative;z-index:2;width:100%;padding:8px 10px calc(8px + env(safe-area-inset-bottom));text-align:center;font-size:12px;font-weight:700;line-height:1.2;color:#3b2b1d;background:#fff6e0f2;border-top:1px solid rgba(122,93,58,.45);text-shadow:0 1px 0 rgba(255,255,255,.55);pointer-events:none}.page{min-height:100dvh;height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:clamp(8px,1.8dvh,14px);padding:clamp(8px,1.8dvh,14px);overflow:hidden}.game-page{min-height:100dvh;height:auto;justify-content:flex-start;padding-top:25dvh;padding-bottom:clamp(8px,1.8dvh,14px);gap:clamp(8px,1.8dvh,12px);overflow-y:auto;overflow-x:hidden}.card{width:min(980px,100%);font-family:Zen Maru Gothic,Hiragino Maru Gothic ProN,Yu Gothic,sans-serif;font-weight:500;color:#3d3428;border-radius:20px;background-color:#dfc48a;background-image:repeating-linear-gradient(0deg,rgba(80,55,30,.045) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(60,45,25,.03) 0 1px,transparent 1px 4px),radial-gradient(120% 80% at 50% 0%,rgba(255,248,220,.55) 0%,transparent 55%),linear-gradient(168deg,#f2e2b8,#e4cf98 38%,#d4b87a 72%,#c9a86a);border:3px solid #c9a86c;box-shadow:inset 0 1px #ffffffbf,inset 0 -2px 12px #b48c501f,0 4px #a08050,0 12px 28px #23160c47;padding:24px}.stage-card{min-height:0;display:flex;flex-direction:column;position:relative;z-index:4}.card-main{flex:1;min-height:0}.game-page .card-main h2{line-height:1.2;margin-bottom:6px}.game-page .card-main p{line-height:1.28;margin-bottom:5px}.command-bar{margin-top:clamp(6px,1.3dvh,10px);display:flex;flex-wrap:wrap;gap:clamp(6px,1.3dvh,10px);align-items:center;width:100%;max-width:100%}.game-page .command-bar{margin-top:calc(clamp(6px,1.3dvh,10px) - .5lh)}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid #2d6b3a;border-radius:14px;background:linear-gradient(180deg,#62c47a,#3d9a55 45%,#2f7d44);color:#fffef8;font-weight:700;letter-spacing:.03em;text-shadow:0 1px 0 rgba(0,0,0,.15);padding:clamp(8px,1.3dvh,10px) clamp(10px,1.8vw,14px);cursor:pointer;max-width:100%;box-shadow:0 3px #256b33,0 6px 16px #143c1e52;transition:filter .12s ease,transform .12s ease,box-shadow .12s ease}.command-bar>button{flex:1 1 180px}.command-bar>.tool-grid{flex:1 1 100%;min-width:0}input{width:100%;margin-top:8px;margin-bottom:12px;border:1px solid #86b3a0;border-radius:10px;padding:10px 12px;font-size:16px}label{display:block;font-weight:700;margin-top:8px}button:hover{filter:brightness(1.05)}button:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #256b33,0 3px 10px #143c1e4d}button:disabled{opacity:.6;cursor:not-allowed;box-shadow:0 1px #256b33,0 2px 8px #143c1e33}.error{color:#b42318;font-weight:700;white-space:pre-line}.passphrase-split{margin-top:8px;margin-bottom:12px;display:flex;align-items:center;gap:8px}.passphrase-split--center{justify-content:center}.passphrase-split input{width:5.4em;margin:0;text-align:center;letter-spacing:.08em}.passphrase-hyphen{font-weight:800;color:#355243}@media (max-width: 480px){.game-page{padding-top:clamp(14px,3.2dvh,24px)}.card{padding:18px}.command-bar>button{flex-basis:100%}}@media (max-height: 740px){.game-page .stage-card{margin-top:clamp(-46px,-7dvh,-22px)}.game-page .card-main h2{margin:0 0 6px;font-size:clamp(1rem,2.6dvh,1.25rem);line-height:1.25}.game-page .card-main p{margin:0 0 6px;font-size:clamp(.8rem,1.9dvh,.95rem);line-height:1.35}}@media (max-width: 768px){.game-page .command-bar>button{font-size:clamp(.78rem,1.7vw,.9rem);padding:4px 10px;min-height:30px}}@media (max-height: 500px){.game-page .command-bar>button{font-size:clamp(.68rem,1.3vw,.76rem);padding:3px 10px;min-height:24px}}.rotate-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#141e1ad1;padding:20px}.rotate-card{width:min(560px,100%);border-radius:16px;background:#fff;padding:20px;text-align:center;font-weight:700}.rotate-sub{margin-top:8px;font-weight:500;color:#3f4a44}.badge-prompt-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10005;background:#141e1ab8;display:flex;align-items:center;justify-content:center;padding:16px}.badge-loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10006;background:#141e1ab8;display:flex;align-items:center;justify-content:center;padding:16px}.badge-loading-card{width:min(460px,92vw);border-radius:16px;border:3px solid #c9a86c;background-color:#dfc48a;background-image:repeating-linear-gradient(0deg,rgba(80,55,30,.045) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(60,45,25,.03) 0 1px,transparent 1px 4px),radial-gradient(120% 80% at 50% 0%,rgba(255,248,220,.55) 0%,transparent 55%),linear-gradient(168deg,#f2e2b8,#e4cf98 38%,#d4b87a 72%,#c9a86a);box-shadow:inset 0 1px #ffffffbf,inset 0 -2px 12px #b48c501f,0 10px 26px #23160c59;padding:18px;text-align:center;font-weight:800;color:#1f4f3a}.badge-prompt-card{width:min(460px,92vw);border-radius:16px;border:3px solid #c9a86c;background-color:#dfc48a;background-image:repeating-linear-gradient(0deg,rgba(80,55,30,.045) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(60,45,25,.03) 0 1px,transparent 1px 4px),radial-gradient(120% 80% at 50% 0%,rgba(255,248,220,.55) 0%,transparent 55%),linear-gradient(168deg,#f2e2b8,#e4cf98 38%,#d4b87a 72%,#c9a86a);box-shadow:inset 0 1px #ffffffbf,inset 0 -2px 12px #b48c501f,0 10px 26px #23160c59;padding:18px}.badge-prompt-card h2{margin:0 0 6px}.quit-memo-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10010;background:#141e1ab8;display:flex;align-items:center;justify-content:center;padding:16px}.quit-memo-card{width:min(520px,92vw);border-radius:16px;border:3px solid #c9a86c;background-color:#dfc48a;background-image:repeating-linear-gradient(0deg,rgba(80,55,30,.045) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(60,45,25,.03) 0 1px,transparent 1px 4px),radial-gradient(120% 80% at 50% 0%,rgba(255,248,220,.55) 0%,transparent 55%),linear-gradient(168deg,#f2e2b8,#e4cf98 38%,#d4b87a 72%,#c9a86a);box-shadow:inset 0 1px #ffffffbf,inset 0 -2px 12px #b48c501f,0 10px 26px #23160c59;padding:18px;text-align:center}.quit-memo-card h2{margin:0 0 8px}.quit-memo-pass{margin:4px 0 10px;font-size:1.3rem;font-weight:800;letter-spacing:.08em;color:#224d36}.save-indicator{position:fixed;right:14px;bottom:14px;z-index:10020;display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:#1a3f2beb;color:#f4fff8;padding:8px 12px;font-weight:700;box-shadow:0 8px 18px #0a1e1259}.save-indicator-spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:saveSpin .9s linear infinite}@media (max-width: 768px),(max-height: 500px){.save-indicator{right:8px;bottom:8px;gap:6px;padding:5px 9px;font-size:.78rem;box-shadow:0 5px 12px #0a1e124d}.save-indicator-spinner{width:11px;height:11px;border-width:1.5px}}@keyframes saveSpin{to{transform:rotate(360deg)}}
