*{box-sizing:border-box}html,body,#root{width:100%;max-width:100%;overflow-x:hidden}body{color:#2f2720;background:#fff4da;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{font:inherit}.app{justify-content:center;width:100%;max-width:100%;min-height:100dvh;padding:10px 8px;display:flex;overflow-x:hidden}.gamePanel{width:min(100%,460px);min-width:0;max-width:100%}.titleScreen{place-items:start center;width:min(100%,500px);min-height:calc(100dvh - 20px);padding-top:clamp(8px,3vh,24px);display:grid}.title-screen,.prologue-screen,.character-screen,.gacha-screen,.start-location-screen,.game-map-screen{position:relative}.flow-screen:before,.game-map-screen:before{content:"";pointer-events:none;position:absolute;inset:0}.prologueScreen,.characterScreen,.gachaScreen,.startLocationScreen{background:linear-gradient(#fff8e1db,#ffeecef0),url(/title/title-bg.png) 50%/cover no-repeat,#f8dfb9;border-radius:18px;place-items:center;width:min(100%,460px);min-height:calc(100dvh - 20px);padding:18px 14px;display:grid;overflow:hidden;box-shadow:0 18px 42px #3622182e,inset 0 0 0 1px #f4cf755c}.titleScreenCard{aspect-ratio:9/16;text-align:center;background:linear-gradient(#28161000,#2816101a),url(/title/title-bg.png) 50%/contain no-repeat,#3f2918;border:1px solid #f4cf759e;border-radius:16px;width:min(95vw,517px,55.6vh - 6.672px);padding:0;display:block;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffefbe4d,0 18px 42px #36221852,0 0 34px #d6893638}.title-screen-card:before{content:"";pointer-events:none;position:absolute;inset:0}.prologueCard,.characterCard,.gachaCard,.startLocationCard{text-align:left;background:linear-gradient(#fffcf2f0,#ffefcff5),#fffaf0;border:2px solid #d68936bd;border-radius:16px;gap:10px;width:100%;padding:22px 20px 20px;display:grid;box-shadow:0 18px 38px #5c381438,0 0 0 1px #fff8dc94}.flow-screen-card{position:relative}.flow-screen-card:before{content:"";pointer-events:none;position:absolute;inset:0}.prologueLogo{color:#6f1822;letter-spacing:.04em;text-align:center;margin:0;font-size:14px;font-weight:900}.titleScreenKicker{color:#a64d28;letter-spacing:0;margin:0;font-size:13px;font-weight:900}.titleScreenCard h1,.prologueCard h1{color:#3f2918;font-size:34px;line-height:1.18}.prologueCard h1,.characterCard h1,.gachaCard h1,.startLocationCard h1{color:#4a2918;text-align:center;text-shadow:0 1px #fffaf0cc;margin:0 0 2px;font-size:29px}.titleScreenCard h1{color:#fff6d9;font-size:34px}.titleScreenSubtitle,.prologueCard p{color:#5d432c;margin:0;font-size:15px;font-weight:800;line-height:1.65}.prologueCard .prologueDate{color:#8d2430;text-align:center;text-shadow:0 1px #fff6d9e6;border-top:1px solid #d689366b;border-bottom:1px solid #d689366b;margin:2px auto 6px;padding:7px 14px;font-size:18px;font-weight:900;line-height:1.35}.prologueCard .titleScreenKicker{color:#a64d28;letter-spacing:.08em;text-align:center;font-size:12px}.prologueCard .prologueLogo{color:#6f1822;letter-spacing:.04em;text-align:center;font-size:14px;font-weight:900}.prologueCard .titleScreenActions{width:min(82%,340px);margin-top:8px}.prologueCard .prologueDisclaimer{color:#5d432cbd;text-align:center;margin-top:2px;font-size:11px;font-weight:700;line-height:1.45}.prologueScreen{background:radial-gradient(circle at 50% 18%,#d6a84f3d,#0000 34%),linear-gradient(#14090873,#290e12b8),url(/title/title-bg.png) 50%/cover no-repeat,#170d0b;box-shadow:0 22px 48px #14090852,inset 0 0 0 1px #f4cf7547}.prologueCard{background:linear-gradient(#fff6d80f,#fff6d800),radial-gradient(circle at 50% -12%,#f4cf7538,#0000 42%),linear-gradient(#301812f5,#170a09f5);border:1px solid #f4cf75c7;border-radius:18px;gap:9px;max-width:420px;padding:22px 20px 18px;box-shadow:0 18px 38px #0c060475,0 0 0 1px #fff3cb2e,inset 0 0 0 1px #fff3cb1a}.prologueCard:after{content:"";pointer-events:none;border:1px solid #d6a84f57;border-radius:13px;position:absolute;inset:7px}.prologueCard .titleScreenKicker{color:#fff0c0;letter-spacing:.12em;text-align:center;text-shadow:0 1px 2px #14090899;background:#8d2430d1;border:1px solid #f4cf759e;border-radius:999px;justify-self:center;padding:4px 12px;font-size:12px}.prologueCard h1{color:#ffe8a3;letter-spacing:.02em;text-shadow:0 2px #501c12cc,0 0 14px #f4cf7547;font-size:clamp(28px,8vw,35px)}.prologueCard .prologueDate{color:#ffd985;text-align:center;text-shadow:0 1px 3px #140908bd;background:linear-gradient(#ffeea938,#8d243024),#1d0c0ac7;border:1px solid #f4cf759e;border-radius:999px;margin:1px auto 8px;padding:7px 16px;font-size:17px;font-weight:900;line-height:1.35}.prologueCard p:not(.titleScreenKicker):not(.prologueDate):not(.prologueDisclaimer){color:#fff3d5;text-align:center;text-shadow:0 1px 2px #1409089e;font-size:14px;font-weight:800;line-height:1.72}.prologueCard .titleScreenActions{gap:9px;width:min(78%,320px);margin-top:8px}.prologueCard .prologueDisclaimer{color:#ffeecfbd;text-shadow:0 1px 2px #1409088f;font-size:10.5px}.characterCard{gap:12px;max-height:calc(100vh - 36px);overflow-y:auto}.gachaCard{text-align:center;gap:14px}.gacha-screen.gachaScreen{background:linear-gradient(#fff8e1d1,#ffeecee6),url(/title/title-bg.png) 50%/cover no-repeat,#f8dfb9}.gacha-screen .gachaCard{background:radial-gradient(circle at top,#80252d57,#0000 42%),linear-gradient(#1d080bf5,#3d1611f5),#170606;border-color:#ebbb5699;align-content:start;gap:9px;min-height:calc(100dvh - 42px);padding:clamp(10px,1.6vh,16px);box-shadow:0 18px 38px #0a04036b,inset 0 0 0 1px #ffe18f2e}.gachaHeader{background:radial-gradient(circle at 50% 0,#f4cf7524,#0000 62%),#080303c7;border:1px solid #ebbb5640;border-radius:12px;gap:2px;padding:5px 8px 7px;display:grid}.gacha-screen .titleScreenKicker{color:#f0c66a}.gacha-screen .gachaCard h1{color:#ffe7a6;text-shadow:0 2px 5px #00000085;font-size:clamp(22px,5.6vw,29px)}.gacha-screen .gachaLead{color:#f5dca8;font-size:12px}.characterCard .titleScreenKicker,.gachaCard .titleScreenKicker,.startLocationCard .titleScreenKicker{color:#a64d28;letter-spacing:.08em;text-align:center;font-size:12px}.gachaLead{color:#5d432c;margin:0;font-size:15px;font-weight:800;line-height:1.65}.gachaMachine{color:#5d3018;cursor:pointer;background:radial-gradient(circle at 50% 20%,#ffffffd1,#0000 44%),linear-gradient(#fff5d8f5,#e0a85bb8);border:2px solid #d6a84fad;border-radius:18px;place-items:center;gap:8px;min-height:150px;padding:20px 16px;display:grid;box-shadow:inset 0 0 0 1px #fffbe8c2,0 10px 20px #5c381429}.gachaMachine.videoMode{background:radial-gradient(circle at 50% 25%,#8c302038,#0000 58%),linear-gradient(#150807,#070302);border-color:#e0b257cc;min-height:0;padding:6px;position:relative;overflow:hidden}.gacha-screen .gachaMachine.videoMode{border-color:#ebbb56b3;width:100%;padding:0;box-shadow:0 0 0 1px #fff5c429,0 10px 22px #06020257}.gachaMachine.videoMode:disabled{cursor:default}.gachaMedia{object-fit:cover;border-radius:14px;width:100%;height:min(70dvh,680px);max-height:none;display:block}.gachaPlayingText{color:#fff4ca;letter-spacing:.08em;text-shadow:0 1px 3px #000000b3;background:#140604b8;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:900;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.gachaMachine p,.gachaMachine h2{margin:0}.gachaMachine h2{color:#6f1822;font-size:20px}.gachaMachine strong{color:#8d2430;font-size:19px;font-weight:900}.gachaPrizeList{color:#5f331c;gap:3px;max-width:100%;margin:4px 0 0;padding:0;font-size:12px;font-weight:800;list-style:none;display:grid}.gachaMachine.rolling{animation:.8s ease-in-out infinite alternate gachaPulse}.gachaMachine.videoMode.rolling{animation:none}.gachaMachine.videoMode.gachaGlowGold{border-color:#ffd700f2;animation:.22s ease-in-out infinite alternate gachaGlowGoldBlink}.gachaMachine.videoMode.gachaGlowRed{border-color:#ff4848f2;animation:.18s ease-in-out infinite alternate gachaGlowRedBlink}.gachaMachine.videoMode.gachaGlowRainbow{border-color:#ffe88efa;animation:.55s linear infinite gachaGlowRainbowBlink}@keyframes gachaGlowGoldBlink{0%{box-shadow:0 0 0 1px #fff5c433,0 0 8px #ffd70059}to{box-shadow:0 0 0 2px #fff5c48c,0 0 28px gold,0 0 48px #ffe678d9}}@keyframes gachaGlowRedBlink{0%{box-shadow:0 0 0 1px #ffc39b40,0 0 10px #ff3c3c66}to{box-shadow:0 0 0 2px #ffdcb48c,0 0 32px red,0 0 56px #ff7850e6}}@keyframes gachaGlowRainbowBlink{0%{border-color:#ff4646f2;box-shadow:0 0 30px #ff0000f2}20%{border-color:#ffd048f2;box-shadow:0 0 30px #ffb400f2}40%{border-color:#5cffa8f2;box-shadow:0 0 30px #00dc78f2}60%{border-color:#62c4fff2;box-shadow:0 0 30px #00a0fff2}80%{border-color:#cd7afff2;box-shadow:0 0 30px #b450fff2}to{border-color:#ff5ab0f2;box-shadow:0 0 30px #ff0078f2}}.gachaResultPanel{color:#5d3018;background:#fff8e2e0;border:1px solid #d6a84f99;border-radius:14px;gap:5px;padding:9px 11px;display:grid;box-shadow:inset 0 0 0 1px #ffffff8c}.gachaResultPanel h2,.gachaResultPanel p{margin:0}.gachaResultPanel h2{color:#6f1822;font-size:18px}.gachaResultPanel strong{color:#8d2430;font-size:18px;font-weight:900}.gachaResultPanel.standby{background:#591d1814}.gachaResultOverlay{z-index:40}.gachaResultModal{color:#fff3cf;text-align:center;background:radial-gradient(circle at top,#f4cf752e,#0000 48%),linear-gradient(#310c12fa,#120707fa);border:2px solid #f4cf75d1;border-radius:18px;gap:12px;width:min(90vw,360px);padding:20px 18px;display:grid;box-shadow:0 24px 54px #00000075,inset 0 0 0 1px #ffefb42e}.gachaResultModal h2,.gachaResultModal p{margin:0}.gachaResultModal h2{color:#fff4d8;text-shadow:0 2px 5px #00000073;font-size:21px;line-height:1.35}.gachaResultModal>strong{color:#ffe18a;text-shadow:0 2px #2c0804db,0 0 18px #f4b2336b;font-size:28px;font-weight:1000}.gachaResultSummary{text-align:left;background:#fff7e22e;border:1px solid #ffe18f6b;border-radius:12px;grid-template-columns:1fr auto;gap:6px 12px;padding:10px 12px;display:grid}.gachaResultSummary span{color:#ffe9b8;font-size:12px;font-weight:800}.gachaResultSummary b{color:#fff8df;text-align:right;text-shadow:0 1px 3px #00000085;font-size:15px}.gachaModalActions{width:100%}.gachaPrizeLabel{color:#fff8df;background:#8d2430;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:900;display:inline-block}.gachaMoneyPreview{color:#6f1822;background:#8d243014;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;font-weight:900;display:flex}.gacha-screen .gachaMoneyPreview{color:#4a1b12;background:linear-gradient(#fff9e5f5,#ffe6ace6);border:1px solid #ffe18f94;box-shadow:0 5px 14px #04010138,inset 0 0 0 1px #ffffff6b}.gachaMoneyPreview span{color:#6f331b;font-size:13px}.gachaMoneyPreview strong{font-size:17px}.gacha-screen .gachaMoneyPreview strong{color:#8d2336;text-shadow:0 1px #ffffffb8;font-size:19px}.gachaRemainingCount{color:#7a4022;margin:-4px 0 0;font-size:12px;font-weight:900}.gacha-screen .gachaRemainingCount{color:#ffe7a6;text-shadow:0 1px 3px #000000b8}.gachaActions{width:min(86%,350px)}.gachaTestControls{color:#ffe9b4;background:#140806b8;border:1px dashed #ffdf8c80;border-radius:10px;width:min(92%,390px);margin:-2px auto 2px;padding:8px;font-size:11px}.gachaTestControls p{margin:0 0 6px;font-weight:800}.gachaTestControls div{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.gachaTestControls button{min-height:28px;padding:4px 8px;font-size:11px}.startLocationCard{gap:13px;max-height:calc(100vh - 36px);overflow-y:auto}.startLocationGrid{gap:10px;display:grid}.startLocationOption{color:#4b2d1b;text-align:left;background:linear-gradient(135deg,#ffffff94,#ffebc352),#fff7e2eb;border:2px solid #a5582657;border-radius:15px;grid-template-columns:44px 1fr;align-items:center;gap:11px;width:100%;min-height:0;padding:12px 13px;display:grid;position:relative;box-shadow:0 5px 12px #5c38141f,inset 0 0 0 1px #fffcf2b8}.startLocationIcon{background:radial-gradient(circle at 35% 25%,#ffffffc7,#0000 50%),#ffe7ae;border:1px solid #d6a84fb8;border-radius:13px;place-items:center;width:42px;height:42px;font-size:23px;display:grid;box-shadow:0 3px 8px #5c381424}.startLocationText{gap:3px;min-width:0;display:grid}.startLocationText strong{color:#6f1822;font-size:16px;line-height:1.2}.startLocationText em{color:#a64d28;font-size:12px;font-style:normal;font-weight:900}.startLocationText span{color:#5d432c;font-size:12px;font-weight:800;line-height:1.45}.startLocationOption.selected{background:linear-gradient(135deg,#ffffff85,#ffd99194),#fff2cc;border-color:#d6a84f;transform:translateY(-1px);box-shadow:0 0 0 2px #8d24302e,0 8px 17px #5c38142e}.startLocationBadge{color:#fff4d8;letter-spacing:0;background:#8d2430;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:900;position:absolute;top:7px;right:8px;box-shadow:0 2px 5px #3622182e}.startLocationOption.launching{animation:.7s ease-in-out infinite alternate startLocationFocus}.startLocationActions{width:min(86%,350px)}.startTransitionOverlay{z-index:8;border-radius:inherit;background:#080303b8;place-items:center;animation:.28s ease-out both startFadeIn;display:grid;position:absolute;inset:0}.startTransitionMessage{color:#fff4d8;text-align:center;text-shadow:0 1px 2px #230c088c;background:#462615d1;border:1px solid #f4cf75ad;border-radius:16px;max-width:min(82%,340px);padding:16px 18px;font-weight:900;line-height:1.6;box-shadow:0 16px 30px #230c0842,inset 0 0 0 1px #fffadc2e}.startTransitionCardReveal{background:radial-gradient(circle at top,#f4cf7529,#0000 56%),#120707e6;width:min(88%,360px);max-width:360px;padding:8px;animation:.95s ease-out both startCardReveal;display:grid}.startTransitionLocationCard{border:2px solid #f4cf75b8;border-radius:12px;position:relative;overflow:hidden;box-shadow:0 0 0 2px #fff5c433,0 0 24px #f4ab3d57}.startTransitionLocationImage{object-fit:contain;width:100%;height:auto;display:block}.startTransitionCatch{z-index:2;color:#fff6d7;letter-spacing:.03em;white-space:nowrap;-webkit-text-stroke:2px #220603fa;text-shadow:0 3px #2b0704,0 6px #581208e6,0 9px 16px #000000e6,0 0 12px #fffad0fa,0 0 28px #ffb528f2,0 0 52px #ea370ce0;background:radial-gradient(#1c0403b8,#1c040357 48%,#0000 74%) padding-box padding-box;border-radius:999px;padding:2px 18px 8px;font-size:clamp(46px,14vw,72px);font-weight:1000;line-height:.9;animation:1.05s cubic-bezier(.16,1.1,.28,1) both startTextPop;display:inline-block;position:absolute;top:43%;left:50%;transform:translate(-50%,-50%)rotate(-7deg)}.startLocationAdmin{background:#effaf0e0;border:1px solid #237a5738;border-radius:14px;gap:10px;padding:12px;display:grid}.startLocationAdmin h2{color:#237a57;margin:0;font-size:14px}.startLocationEditRow{background:#ffffff9e;border-radius:12px;gap:7px;padding:10px;display:grid}.startLocationEditRow label{color:#3f2918;gap:4px;font-size:12px;font-weight:900;display:grid}.startLocationEditRow input,.startLocationEditRow textarea{color:#2f2720;background:#fffdf6;border:1px solid #237a5738;border-radius:8px;width:100%;padding:7px 8px;font-size:13px;font-weight:700}.startLocationEditRow textarea{resize:vertical;min-height:52px}.startLocationCoordinateEdit{grid-template-columns:1fr 1fr auto;align-items:end;gap:8px;display:grid}.startLocationAdminActions{flex-wrap:wrap;gap:8px;display:flex}.secondaryMiniButton,.dangerMiniButton,.deleteMiniButton{border:1px solid #5f331c38;border-radius:9px;min-height:34px;padding:6px 10px;font-size:12px;font-weight:900}.secondaryMiniButton{color:#5f331c;background:#fff3cf}.dangerMiniButton,.deleteMiniButton{color:#8d2430;background:#ffe7e3}.startLocationSaveMessage{color:#237a57;margin:0;font-size:12px;font-weight:900}@keyframes gachaPulse{0%{filter:brightness(.98);transform:rotate(-.4deg)scale(.99)}to{filter:brightness(1.05);transform:rotate(.4deg)scale(1.01)}}.characterNameField,.characterSection{gap:8px;display:grid}.characterLead,.characterHint,.characterProfileSummary{text-align:center;margin:0}.characterLead{color:#5f331c;font-size:14px;font-weight:800}.characterHint{color:#8a5a31;font-size:11px;font-weight:800;line-height:1.45}.characterProfileSummary{color:#6f1822;background:#fff7e2c7;border:1px solid #d689366b;border-radius:999px;justify-self:center;padding:6px 12px;font-size:13px;font-weight:900}.characterNameField span,.characterSection h2{color:#6f331b;margin:0;font-size:13px;font-weight:900}.characterNameField input{color:#3f2918;background:#fffcf2eb;border:2px solid #c67b2f6b;border-radius:12px;width:100%;min-height:44px;padding:9px 12px;font-size:16px;font-weight:800}.genderOptionGrid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.genderOptionButton{color:#4b2d1b;background:#fffcf2e6;border:2px solid #c67b2f57;border-radius:12px;min-height:42px;font-size:13px;font-weight:900;box-shadow:0 4px 10px #5c38141a}.genderOptionButton.selected{color:#6f1822;background:linear-gradient(#ffffff57,#ffe2c5e6),#fff0c8;border-color:#8d2430;box-shadow:0 0 0 2px #f4cf7585,0 6px 12px #5c381426}.characterTypeGrid{gap:7px;display:grid}.characterTypeCard{color:#4b2d1b;text-align:left;background:#fff7e2e0;border:2px solid #c67b2f52;border-radius:12px;gap:0;width:100%;min-height:0;padding:0;display:grid;position:relative;overflow:hidden;box-shadow:0 4px 10px #5c38141a}.characterTypeImageFrame{background:radial-gradient(circle at 50% 24%,#f4cf755c,#0000 42%),linear-gradient(#361e18f0,#69282aeb);border-radius:10px;width:100%;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #fff7e229}.characterTypeImage{object-fit:contain;vertical-align:top;width:100%;height:auto;display:block}.characterTypeFallback{place-items:center;display:none;position:absolute;inset:0}.characterTypeCard.imageMissing .characterTypeImage{display:none}.characterTypeCard:not(:has(.characterTypeImage)) .characterTypeImage{display:none}.characterTypeCard.imageMissing .characterTypeFallback{display:grid}.characterTypeCard:not(:has(.characterTypeImage)) .characterTypeFallback{display:grid}.characterTypeCard.imageMissing .characterTypeImageFrame{aspect-ratio:1;border-radius:50%;place-items:center;width:44px;height:44px;min-height:0;display:grid;position:absolute;top:10px;left:10px}.characterTypeCard:not(:has(.characterTypeImage)) .characterTypeImageFrame{aspect-ratio:1;border-radius:50%;place-items:center;width:44px;height:44px;min-height:0;display:grid;position:absolute;top:10px;left:10px}.characterTypePlaceholder{color:#8d2430;background:#fff7e2eb;border-radius:50%;place-items:center;width:32px;height:32px;font-size:16px;font-weight:900;display:grid;box-shadow:0 6px 14px #20100c38}.characterTypeBody{gap:4px;padding:10px 12px 11px;display:grid}.characterTypeCard.imageMissing .characterTypeBody{min-height:64px;padding:9px 10px 9px 64px}.characterTypeCard:not(:has(.characterTypeImage)) .characterTypeBody{min-height:64px;padding:9px 10px 9px 64px}.characterTypeCard:not(.imageMissing):has(.characterTypeImage) .fallbackText{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.characterTypeCard strong{color:#6f1822;font-size:15px}.characterTypeCard span{font-size:12px;font-weight:800;line-height:1.45}.characterTypeCard em{color:#a64d28;font-size:12px;font-style:normal;font-weight:900}.characterTypeCard small{color:#6f331b;font-size:12px;font-weight:900}.characterTypeCard.selected{background:linear-gradient(#ffffff57,#ffebc3e0),#fff2cc;border-color:#d6a84f;box-shadow:0 0 0 2px #8d243029,0 7px 14px #5c381429}.playerIconOptions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.playerIconOption{background:#fffcf2e6;border:2px solid #c67b2f61;border-radius:12px;width:44px;height:44px;font-size:22px;box-shadow:0 3px 8px #5c38141f}.playerIconOption.selected{background:#fff0c8;border-color:#8d2430;box-shadow:0 0 0 2px #f4cf759e,0 5px 12px #5c38142e}.characterStartMoney{color:#6f1822;text-align:center;background:#8d243014;border-radius:999px;margin:0;padding:8px 10px;font-size:14px;font-weight:900}.characterActions{width:min(86%,350px)}.characterScreen{background:radial-gradient(circle at 50% 16%,#d6a84f38,#0000 34%),linear-gradient(#13080880,#2a0d12c2),url(/title/title-bg.png) 50%/cover no-repeat,#160b0a;box-shadow:0 22px 48px #14090852,inset 0 0 0 1px #f4cf7547}.characterScreen .characterCard{background:linear-gradient(#fff6d80f,#fff6d800),radial-gradient(circle at 50% -12%,#f4cf7538,#0000 42%),linear-gradient(#301812f5,#170a09f5);border:1px solid #f4cf75c7;max-width:420px;box-shadow:0 18px 38px #0c060475,0 0 0 1px #fff3cb2e,inset 0 0 0 1px #fff3cb1a}.characterScreen .characterCard:after{content:"";pointer-events:none;border:1px solid #d6a84f57;border-radius:13px;position:absolute;inset:7px}.characterScreen .titleScreenKicker{color:#fff0c0;letter-spacing:.12em;text-align:center;text-shadow:0 1px 2px #14090899;background:#8d2430d1;border:1px solid #f4cf759e;border-radius:999px;justify-self:center;padding:4px 12px;font-size:12px}.characterScreen .characterCard h1{color:#ffe8a3;letter-spacing:.02em;text-shadow:0 2px #501c12cc,0 0 14px #f4cf7547;font-size:clamp(26px,7.4vw,33px)}.characterScreen .characterLead{color:#fff3d5;text-shadow:0 1px 2px #1409089e;font-size:13px}.character-class-screen .characterCard{gap:8px;padding:14px 10px 11px}.character-class-screen .characterProfileSummary{padding:4px 10px;font-size:12px}.character-class-screen .characterCard h1{margin-bottom:3px;font-size:clamp(19px,5.4vw,24px);line-height:1.05}.classSelectHeader{background:radial-gradient(circle,#3c121261,#0000 58%),#050202;border-radius:8px;justify-content:center;align-items:center;width:100%;padding:2px 4px;display:flex;overflow:hidden}.character-class-screen .characterSection,.character-class-screen .characterTypeGrid{gap:3px}.character-class-screen .characterTypeCard{border-width:1px;border-radius:10px;padding:0;line-height:1;box-shadow:0 0 0 1px #f4cf7529,0 3px 7px #0c06042e}.character-class-screen .characterTypeImageFrame{border-radius:8px;line-height:0}.character-class-screen .characterStartMoney{padding:5px 9px;font-size:12px}.character-class-screen .characterActions{width:min(78%,310px)}.character-class-screen .titlePrimaryButton{min-height:44px;font-size:15px}.class-confirm-overlay{z-index:9999;pointer-events:all;background:radial-gradient(circle,#77301633,#0000 58%),#000000ad;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.class-confirm-stage{justify-content:center;align-items:center;width:min(92vw,520px);display:flex}.class-confirm-card{object-fit:contain;border-radius:16px;width:100%;height:auto;animation:3s forwards classCardPop;display:block;box-shadow:0 0 24px #ffd25ab8,0 0 60px #ff8c1e5c,0 16px 42px #0000007a}.class-confirm-fallback{color:#fff4c7;text-align:center;text-shadow:0 2px 8px #00000094;background:linear-gradient(145deg,#5b111ff5,#1c0908fa),#2a0d0c;border:1px solid #f4cf75b8;border-radius:18px;justify-content:center;align-items:center;width:min(82vw,420px);min-height:190px;padding:26px;font-size:clamp(24px,7vw,38px);font-weight:800;animation:3s forwards classCardPop;display:flex;box-shadow:0 0 24px #ffd25a80,0 18px 46px #00000080}@keyframes classCardPop{0%{opacity:0;filter:brightness(.8);transform:scale(.82)translateY(20px)}16%{opacity:1;filter:brightness(1.2);transform:scale(1.04)translateY(0)}55%{filter:brightness(1.05);transform:scale(1)translateY(-4px)}to{opacity:1;filter:brightness();transform:scale(1)translateY(-8px)}}.visuallyHidden{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.characterScreen .characterNameField span,.characterScreen .characterSection h2{color:#ffd985;letter-spacing:.02em;text-shadow:0 1px 2px #14090880}.characterScreen .characterNameField input{color:#fff3d5;background:linear-gradient(#fff6d814,#fff6d805),#120908e0;border-color:#f4cf75ad;box-shadow:inset 0 0 0 1px #fff3cb14,0 6px 14px #0c060433}.characterScreen .characterNameField input::placeholder{color:#fff3d585}.characterScreen .characterNameField input:focus{border-color:#ffd985;outline:none;box-shadow:0 0 0 3px #f4cf752e,0 0 18px #f4cf752e,inset 0 0 0 1px #fff3cb1f}.characterScreen .genderOptionButton{color:#fff0c0;background:linear-gradient(#fff6d814,#0000),#26120ee0;border-color:#f4cf7575;box-shadow:0 5px 12px #0c060438}.characterScreen .genderOptionButton.selected{color:#fff8df;background:linear-gradient(#ffe8a347,#8d243052),#6f1822;border-color:#ffd985;box-shadow:0 0 0 2px #f4cf7547,0 8px 16px #0c060447}.characterScreen .characterHint{color:#ffeecfc7;text-shadow:0 1px 2px #14090885;font-size:11px}.characterScreen .characterProfileSummary,.characterScreen .characterStartMoney{color:#ffd985;text-shadow:0 1px 2px #14090885;background:#1d0c0ab8;border:1px solid #f4cf7575}.characterScreen .characterTypeCard{color:#fff0d0;background:linear-gradient(#fff6d814,#fff6d805),#1f0d0be0;border-color:#f4cf756b}.characterScreen .characterTypeImageFrame{background:radial-gradient(circle at 50% 12%,#f4cf753d,#0000 42%),linear-gradient(#26120ef5,#691c24db);min-height:0}.characterScreen .characterTypeImage{min-height:0}.characterScreen .characterTypeCard strong{color:#ffe8a3}.characterScreen .characterTypeCard span,.characterScreen .characterTypeCard small{color:#fff3d5db}.characterScreen .characterTypeCard em{color:#ffd985}.characterScreen .characterTypeCard.selected{background:radial-gradient(circle at 80% 0,#f4cf7529,#0000 42%),linear-gradient(#8d24306b,#1f0d0be6);border-color:#ffd985;box-shadow:0 0 0 2px #f4cf7538,0 8px 18px #0c060452}.titleScreenActions{z-index:1;justify-self:center;gap:10px;width:min(72%,330px);margin:0 auto;display:grid}.screen-actions{position:static}.flow-screen .screen-actions .secondary-button{letter-spacing:.04em;opacity:.9;border-width:1px;justify-self:center;width:min(78%,260px);min-height:38px;font-size:13px;box-shadow:0 3px #3f2113,0 4px 10px #2c120b29}.flow-screen .screen-actions .secondary-button:hover{opacity:1}.character-class-screen .screen-actions{gap:7px}.character-class-screen .screen-actions .secondary-button{width:min(58%,200px);min-height:30px;font-size:11px}.titleScreenButtons{position:absolute;bottom:clamp(56px,11.5%,78px);left:0;right:0}.title-screen-buttons{position:absolute}.titleCopyright{color:#fff4d8c7;letter-spacing:.04em;text-align:center;text-shadow:0 1px 2px #00000073;z-index:1;margin:0 auto;padding:0 14px;font-family:Cinzel,Marcellus SC,Georgia,Times New Roman,serif;font-size:11px;font-weight:600;line-height:1.2;position:absolute;bottom:clamp(10px,2.6%,16px);left:0;right:0}.titleDebugNightButton{z-index:2;color:#ffefbeeb;letter-spacing:.04em;text-shadow:0 1px 2px #000000a6;cursor:pointer;background:#120708bd;border:1px dashed #ecc367b8;border-radius:999px;width:min(58%,260px);min-height:30px;margin:0 auto;font-size:11px;font-weight:700;position:absolute;bottom:clamp(28px,5.2%,38px);left:0;right:0;box-shadow:0 0 10px #ffbe5238}.titleDebugNightButton:disabled{cursor:wait;opacity:.58}.titlePrimaryButton,.titleSecondaryButton{letter-spacing:.11em;text-shadow:0 1px 2px #2a120a80;touch-action:manipulation;border:0;border-radius:999px;width:100%;min-height:clamp(48px,6vh,58px);font-family:Cinzel,Marcellus SC,Georgia,Times New Roman,serif;font-size:18px;font-weight:700;transition:transform .12s,filter .12s,box-shadow .12s}.game-button,.primary-button,.secondary-button{position:static}.title-screen-button{position:relative}@media (width<=420px){.titleScreenCard{width:min(96vw,506px,55vh - 5.5px)}.titleScreenButtons{gap:8px;width:min(74%,320px);bottom:clamp(54px,11%,72px)}.titleCopyright{font-size:10px;bottom:10px}.titleDebugNightButton{width:min(64%,250px);min-height:28px;font-size:10px;bottom:29px}.titlePrimaryButton,.titleSecondaryButton{min-height:50px;font-size:16px}}.titlePrimaryButton{color:#fff4d8;background:linear-gradient(#ffffff2e,#0000 42%),linear-gradient(#a53842,#6f1822);border:2px solid #f4cf75;box-shadow:0 5px #451016,0 6px 16px #2c120b47}.titleSecondaryButton{color:#fff3cf;text-shadow:0 1px 2px #2a120a75;background:linear-gradient(#ffffff29,#0000 45%),linear-gradient(#9f6833,#5f331c);border:2px solid #d6a84f;box-shadow:0 5px #3f2113,0 6px 16px #2c120b38}.title-screen .titleSecondaryButton.title-screen-button{letter-spacing:.09em;width:86%;min-height:clamp(40px,5vh,48px);margin:0 auto;font-size:15px}@media (width<=420px){.title-screen .titleSecondaryButton.title-screen-button{min-height:42px;font-size:14px}}.titlePrimaryButton:active,.titleSecondaryButton:active{transform:translateY(2px)}.titlePrimaryButton:hover,.titleSecondaryButton:hover{filter:brightness(1.04)}.titlePrimaryButton:disabled,.titleSecondaryButton:disabled{cursor:wait;filter:grayscale(.2)brightness(.9);opacity:.72}.titlePrimaryButton.startButtonAnimating{opacity:1;animation:.18s ease-in-out infinite alternate startButtonBlink;transform:scale(1.03);box-shadow:0 5px #451016,0 0 18px #fff0a0e6,0 0 36px #ff7a267a}@keyframes startButtonBlink{0%{filter:brightness(1.05)}to{filter:brightness(1.45)}}.gameHeader{text-align:center;padding:16px 14px 12px}.subtitle{color:#a64d28;margin:0 0 6px;font-size:13px;font-weight:700}h1{margin:0;font-size:30px;line-height:1.2}.adminBadge{color:#23623b;background:#eefaf0;border:1px solid #237a5742;border-radius:999px;margin:10px 0 0;padding:4px 9px;font-size:12px;font-weight:900;display:inline-block}.mapToolbar{justify-content:flex-start;align-items:center;gap:10px;width:min(100%,430px);margin:4px auto 8px;display:flex}.mapModeButton,.helpButton,.labelToggleButton{touch-action:manipulation;border:0;border-radius:8px;min-height:40px;padding:0 14px;font-size:14px;font-weight:900}.mapModeButton{color:#fff;background:#237a57;box-shadow:0 4px #14553a}.helpButton{color:#795126;background:#fffaf0;border:2px solid #d68936;box-shadow:0 3px #d68936}.labelToggleButton{color:#795126;background:#fffaf0;border:2px solid #c79758;box-shadow:0 3px #c79758}.labelToggleButton.active{color:#fff;background:#795126;border-color:#795126;box-shadow:0 3px #4d2f17}.mapModeButton:active{transform:translateY(2px);box-shadow:0 2px #14553a}.helpButton:active,.labelToggleButton:active{transform:translateY(2px);box-shadow:0 1px #d68936}.debugWarning{color:#b13b27;background:#fff0ec;border-radius:8px;width:min(100%,430px);margin:-2px auto 10px;padding:8px 10px;font-size:12px;font-weight:900;line-height:1.45}.editPanel{background:#fff;border:2px solid #efb343;border-radius:8px;width:min(100%,430px);margin:-2px auto 10px;padding:10px}.editToggle,.toolButton,.smallActionButton{touch-action:manipulation;border:0;border-radius:8px;min-height:36px;font-size:13px;font-weight:900}.editToggle{color:#fff;background:#795126;width:100%}.editToggle.active,.toolButton.active{color:#fff;background:#237a57}.editDataTransferPanel h2{color:#5b3619;text-align:center;margin:0 0 8px;font-size:16px}.editDataTransferField{color:#5b3619;gap:5px;margin-top:8px;font-size:12px;font-weight:900;display:grid}.editDataTransferField textarea{box-sizing:border-box;color:#3d2414;resize:vertical;background:#fffaf0;border:1px solid #d8b16b;border-radius:8px;width:100%;min-height:90px;padding:8px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.45}.editDataFileImportButton{color:#fff;text-align:center;cursor:pointer;background:#237a57;border-radius:8px;place-items:center;min-height:40px;margin-top:8px;font-size:13px;font-weight:900;display:grid}.editDataFileImportButton input{display:none}.landmarkTypeButtons,.toolButtons,.editActions{gap:8px;margin-top:8px;display:grid}.landmarkTypeButtons{grid-template-columns:repeat(2,1fr)}.landmarkSizeControls{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;display:grid}.landmarkSizeControls label{color:#795126;gap:4px;font-size:12px;font-weight:900;display:grid}.landmarkSizeControls input{color:#2f2720;width:100%;min-height:38px;font:inherit;background:#fffaf0;border:2px solid #efb343;border-radius:8px;padding:0 10px;font-weight:900}.toolButtons,.editActions{grid-template-columns:repeat(3,1fr)}.shopListSaveActions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}.toolButton,.smallActionButton{color:#2f2720;background:#fff4da}.toolButton:disabled{opacity:.45}.smallActionButton.danger{color:#b13b27;background:#fff0ec}.resetDangerButton{color:#a72918;background:#fff0ec;border:2px solid #c34a34;box-shadow:inset 0 0 0 1px #c34a342e}.backupRestoreBox{color:#23623b;background:#eefaf0;border:1px solid #237a573d;border-radius:8px;gap:8px;padding:10px;font-size:12px;font-weight:900;display:grid}.backupRestoreBox .smallActionButton{color:#fff;background:#237a57}.dangerOperationBox{background:#fff7f4;border:1px solid #c34a3452;border-radius:8px;gap:8px;margin-top:18px;padding:10px;display:grid}.dangerOperationBox summary{cursor:pointer;color:#9d321f;font-size:13px;font-weight:900}.dangerOperationContent{gap:10px;padding-top:10px;display:grid}.dangerOperationContent p{color:#8f2516;margin:0;font-size:12px;font-weight:800;line-height:1.45}.dangerOperationContent .smallActionButton{width:100%}.cellInfo{color:#1c6b55;text-align:center;background:#e8f6ee;border-radius:8px;margin:8px 0 0;padding:8px;font-size:12px;font-weight:900}.statusHud{background:#fffaf0;border:3px solid #d68936;border-radius:8px;flex-direction:column;align-items:stretch;gap:8px;width:min(100%,430px);margin:8px auto;padding:9px 10px;display:flex;box-shadow:0 8px 16px #5c38141f}.statusInfoGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%;display:grid}.primaryStatusGroup{grid-template-columns:repeat(2,minmax(0,1fr));align-items:baseline;gap:12px;width:100%;display:grid}.statusItem{white-space:nowrap;margin:0;padding:0;font-size:14px;font-weight:900}.primaryStatus{text-align:center;color:#2f2720;font-size:18px;line-height:1.15}.primaryStatus,.scoreStatus,.visitedCountStatus{background:#ffffff9e;border:1px solid #8d243029;border-radius:8px;justify-content:center;align-items:center;min-height:32px;padding:5px 7px;display:flex;box-shadow:inset 0 0 0 1px #ffffff80}.secondaryStatusGroup{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:8px;width:100%;display:grid}.scoreStatus{color:#7b2636;background:linear-gradient(#fff7db,#ffe4a8);border:1px solid #8d243038;font-size:15px;line-height:1.1}.visitedCountStatus{color:#795126;gap:6px;font-size:15px}.statusActionRow{border-top:1px solid #d6893638;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding-top:2px;display:flex}.endTimeHint{display:none}.visitedStatus{color:#795126;justify-content:flex-end;justify-self:end;align-items:center;gap:6px;display:flex}.historyButton,.quitButton{color:#fff;touch-action:manipulation;background:#237a57;border:0;border-radius:8px;min-height:34px;padding:0 9px;font-size:12px;font-weight:900;box-shadow:0 3px #14553a}.visitedCountStatus .historyButton{border-radius:7px;min-height:26px;padding:0 7px;font-size:11px;box-shadow:0 2px #14553a}.statusActionRow .mapModeButton,.statusActionRow .helpButton,.statusActionRow .labelToggleButton,.statusActionRow .quitButton{border-radius:7px;min-height:30px;padding:0 8px;font-size:11px}.quitButton{background:#a7561d;box-shadow:0 3px #743712}.historyButton:disabled,.quitButton:disabled{opacity:.55}.historyButton:active,.quitButton:active{transform:translateY(2px);box-shadow:0 1px #14553a}.quitButton:active{box-shadow:0 1px #743712}.mapGrid{background:#7a5a38;border:3px solid #d68936;border-radius:8px;gap:3px;width:min(100%,430px);max-width:100%;margin:8px auto 18px;padding:7px;display:grid;overflow:hidden;box-shadow:0 12px 24px #5c38142e}.normalMapGrid{grid-template-columns:repeat(11,minmax(0,1fr))}.fullMapGrid{grid-template-columns:repeat(40,minmax(0,1fr));gap:1px;padding:5px}.tile{aspect-ratio:1;background:#6f5a45;border:1px solid #ffffff38;border-radius:4px;place-items:center;min-width:0;font-size:21px;line-height:1;display:grid;position:relative;overflow:hidden}.miniTile{cursor:pointer;border-width:0;border-radius:2px;font-size:8px}.miniTile.shopTile,.miniTile.participantShopTile{color:#fff;background:#e93422}.miniTile.landmarkTile{color:#1c6b55;background:#e8f6eed1}@media (width<=420px){.normalMapGrid{gap:2px;padding:6px}.normalMapGrid .tile{font-size:19px}}.roadTile,.brickRoadTile{background:#f8e6b8;border-color:#e6cf9a}.roadTile:nth-child(2n),.brickRoadTile:nth-child(2n){background:#f2d99e}.asphaltRoadTile{background:#c2c8cc;border-color:#8f989e;box-shadow:inset 0 0 0 1px #ffffff6b,inset 0 0 0 2px #747e8529}.asphaltRoadTile:nth-child(2n){background:#b7c0c5}.crosswalkOverlay{z-index:1;pointer-events:none;filter:drop-shadow(0 1px 1px #36221847);border-radius:2px;position:absolute;inset:5px}.crosswalk-horizontal{background:repeating-linear-gradient(90deg,#fffffff5 0 4px,#0000 4px 8px)}.crosswalk-vertical{background:repeating-linear-gradient(0deg,#fffffff5 0 4px,#0000 4px 8px)}.miniTile .crosswalkOverlay{border-radius:1px;inset:2px}.miniTile .crosswalk-horizontal{background:repeating-linear-gradient(90deg,#fffffffa 0 2px,#0000 2px 4px)}.miniTile .crosswalk-vertical{background:repeating-linear-gradient(0deg,#fffffffa 0 2px,#0000 2px 4px)}.roadDecorationLayer{z-index:2;pointer-events:none;place-items:center;display:grid;position:absolute;inset:8%}.roadDecorationLayer img{object-fit:contain;filter:drop-shadow(0 1px 2px #2f27204d);width:100%;height:100%}.routeShieldFallback{color:#1f4f82;background:#fff;border:2px solid #2f5f91;border-radius:50%;place-items:center;width:78%;height:78%;font-size:13px;font-weight:900;display:grid;box-shadow:0 1px 3px #2f27203d}.miniTile .roadDecorationLayer{inset:10%}.miniTile .routeShieldFallback{border-width:1px;font-size:5px}.decorativeIconLayer{text-shadow:0 1px 2px #2f272059,0 0 2px #ffffffe6;background:#fffceed1;border-radius:50%;font-size:20px;line-height:1;inset:7%;box-shadow:0 0 0 1px #fffc,0 1px 4px #2f272038}.miniTile .decorativeIconLayer{font-size:9px;inset:3%}.visualLandmarkLayer{z-index:2;pointer-events:none;place-items:center;display:grid;position:absolute;inset:5%}.visualLandmarkLayer img{object-fit:contain;filter:drop-shadow(0 1px 2px #2f272061)drop-shadow(0 0 4px #fff8d259);width:100%;height:100%;display:block}.miniTile .visualLandmarkLayer{inset:6%}.buildingTile{background:#725343;box-shadow:inset 0 0 0 2px #3622183d}.emptyTile{background:#d9e3bd;border-color:#c2cf9a}.shopTile,.participantShopTile{background:#ffe2d1;border-color:#c84c31;box-shadow:inset 0 0 0 2px #c84c3138}.shopIconLayer{z-index:3;place-items:center;display:grid;position:relative}.shopLabelVisible{z-index:6;overflow:visible}.shopNameLabel{z-index:4;color:#6b421f;text-align:center;text-overflow:ellipsis;pointer-events:none;background:#fffaf0f5;border:1px solid #79512647;border-radius:7px;max-width:92px;padding:3px 6px;font-size:11px;font-weight:900;line-height:1.2;position:absolute;overflow:hidden;box-shadow:0 2px 6px #36221833}.shopNameLabel-top{bottom:calc(100% - 6px);left:50%;transform:translate(-50%)}.shopNameLabel-bottom{top:calc(100% - 6px);left:50%;transform:translate(-50%)}.shopNameLabel-left{top:50%;right:calc(100% - 6px);transform:translateY(-50%)}.shopNameLabel-right{top:50%;left:calc(100% - 6px);transform:translateY(-50%)}.nonParticipantShopLabel{color:#7a4f28;background:#fffaf0e0;border-color:#7a4f282e;font-weight:800}.miniTile .shopNameLabel{border-radius:4px;max-width:54px;padding:1px 3px;font-size:7px;line-height:1.1}.italianFlagIcon{background:#fff;border:1px solid #7a4a2a;border-radius:4px;grid-template-columns:repeat(3,1fr);width:24px;height:17px;display:grid;overflow:hidden;box-shadow:0 1px 2px #36221847,0 0 0 2px #ffffffb8}.italianFlagIcon span{min-width:0;display:block}.italianFlagGreen{background:#009246}.italianFlagWhite{background:#fff}.italianFlagRed{background:#ce2b37}.miniTile .italianFlagIcon{border-width:1px;border-radius:2px;width:12px;height:9px;box-shadow:0 0 0 1px #ffffffb3}.nonParticipantShopTile{color:#7a4f28;opacity:.86;background:#fff3dc;border-color:#9c7a55;box-shadow:inset 0 0 0 2px #7a4f2829}.landmarkTile{color:#1c6b55;background:#e8f6eed6;border-width:2px;border-color:#237a57;font-size:11px;font-weight:900;box-shadow:inset 0 0 0 1px #ffffff7a,0 0 0 1px #2f272014}.landmarkType-parking{color:#145f7a;background:#78bedc6b;border-color:#2f8fb3}.landmarkType-hotel{color:#4f3584;background:#e8dcffdb;border-color:#7659b0}.landmarkType-hospital{color:#8c273a;background:#ffe0e6db;border-color:#c55468}.landmarkType-postOffice,.landmarkType-post{color:#2f6d27;background:#daf4d8db;border-color:#57964b}.landmarkType-marker{color:#444;background:#ebebebe0;border-color:#7f7f7f}.landmarkLabelTile{overflow:visible;box-shadow:inset 0 0 0 2px #ffffff9e,0 0 0 1px #2f272024}.landmarkLabelText{z-index:2;text-align:center;white-space:nowrap;pointer-events:none;background:#ffffffeb;border:1px solid #2f27202e;border-radius:999px;max-width:86px;padding:2px 5px;font-size:10px;line-height:1.15;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 5px #2f272029}.normalMapGrid .landmarkLabelText{max-width:104px;font-size:11px}.miniTile.landmarkLabelText,.miniTile .landmarkLabelText{max-width:62px;padding:1px 3px;font-size:7px}.playerTile{z-index:8;background:#c7f2df;border-color:#1c6b55;box-shadow:inset 0 0 0 3px #237a5740}.playerIconLayer{z-index:5;text-shadow:0 1px #ffffffd9,0 1px 4px #36221847;place-items:center;width:100%;height:100%;display:grid;position:relative}.arrivalPlayerIcon{animation:.95s cubic-bezier(.2,.9,.24,1.18) both playerLanding}.arrivalRing{z-index:4;pointer-events:none;border:2px solid #fff4d8e0;border-radius:50%;animation:.98s ease-out both arrivalRingSpread;position:absolute;inset:24%;box-shadow:0 0 0 2px #c67b2f47}.arrivalToast{color:#6f1822;text-align:center;background:linear-gradient(#fffcf2f5,#ffebc3f0),#fff2cc;border:1px solid #d6a84fb3;border-radius:999px;width:min(100%,360px);margin:-2px auto 8px;padding:9px 12px;animation:.32s ease-out both arrivalToastIn;box-shadow:0 8px 18px #5c381429}.arrivalToast strong,.arrivalToast span{display:block}.arrivalToast strong{font-size:13px;font-weight:900}.arrivalToast span{color:#7a4a2a;font-size:12px;font-weight:800}.gameControlsArea{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;width:min(100%,430px);margin:0 auto;display:flex}.gameControlsArea .controls{grid-template-rows:repeat(3,72px);grid-template-columns:repeat(3,72px);justify-content:center;gap:6px;width:228px;margin:0 auto;display:grid}.gameActionControls{flex-flow:row;flex:none;justify-content:center;align-items:center;gap:12px;display:flex;transform:translateY(-18px)}.gameActionButton{box-sizing:border-box;color:#5a2630;text-align:center;white-space:normal;touch-action:manipulation;background:linear-gradient(#ffe7ec 0%,#f3b7c4 100%);border:3px solid #c98293;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:88px;min-width:88px;max-width:88px;height:88px;min-height:88px;max-height:88px;padding:0;font-size:13px;font-weight:900;line-height:1.05;display:flex;box-shadow:0 4px #8b4a20,0 7px 14px #230f082e}.gameActionButton span{display:block}.gameActionButtonBgm{width:80px;min-width:80px;max-width:80px;height:80px;min-height:80px;max-height:80px}.gameActionButtonMap{color:#5a2630;background:linear-gradient(#efc1cf 0%,#d98aa2 100%);border-color:#b56a82}.gameActionButton:active{transform:translateY(2px);box-shadow:0 2px #8b4a20}.controlButton{color:#2f2720;touch-action:manipulation;background:#f2b84b;border:0;border-radius:8px;width:72px;height:72px;font-size:34px;font-weight:900;box-shadow:0 5px #b96b2f}.controlButton:active{transform:translateY(3px);box-shadow:0 2px #b96b2f}.controlButton:disabled,.enterButton:disabled{cursor:not-allowed;opacity:.48;box-shadow:none;transform:none}@keyframes startLocationFocus{0%{filter:brightness();transform:translateY(0)}to{filter:brightness(1.08);transform:translateY(-2px)}}@keyframes startFadeIn{0%{opacity:0}to{opacity:1}}@keyframes startCardReveal{0%{opacity:0;filter:brightness(.86);transform:scale(.9)translateY(14px)}32%{opacity:1;filter:brightness(1.14);transform:scale(1.035)translateY(0)}to{opacity:1;filter:brightness();transform:scale(1)translateY(-4px)}}@keyframes startTextPop{0%{opacity:0;filter:brightness(1.55);transform:translate(-50%,-50%)rotate(-7deg)scale(.42)}18%{opacity:1;filter:brightness(1.28);transform:translate(-50%,-50%)rotate(-7deg)scale(1.18)}42%{transform:translate(-50%,-50%)rotate(-7deg)scale(.96)}68%{transform:translate(-50%,-50%)rotate(-7deg)scale(1.04)}to{opacity:1;filter:brightness();transform:translate(-50%,-50%)rotate(-7deg)scale(1)}}@keyframes playerLanding{0%{opacity:0;transform:translateY(-38px)scale(.96)}72%{opacity:1;transform:translateY(4px)scale(1.04)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes arrivalRingSpread{0%{opacity:.75;transform:scale(.35)}to{opacity:0;transform:scale(2.4)}}@keyframes arrivalToastIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.up{grid-area:1/2}.left{grid-area:2/1;transform:translateY(-16px)}.down{grid-area:2/2}.right{grid-area:2/3;transform:translateY(-16px)}.controlButton.left:active,.controlButton.right:active{transform:translateY(-13px)}.controlButton.left:disabled,.controlButton.right:disabled{transform:translateY(-16px)}@media (width<=480px){.gamePanel,.statusHud,.mapGrid,.gameControlsArea{box-sizing:border-box;width:100%;max-width:100%}.gameControlsArea{flex-wrap:nowrap;justify-content:center;gap:2px;padding:0;overflow:visible}.gameControlsArea .controls{grid-template-rows:repeat(3,58px);grid-template-columns:repeat(3,58px);gap:6px;width:186px;transform:translate(-8px)}.gameControlsArea .controlButton{width:58px;height:58px;font-size:30px}.gameActionControls{flex-flow:row;flex:none;justify-content:center;align-items:center;gap:6px;transform:translate(-8px,-18px)}.gameActionButton{border-radius:50%;width:72px;min-width:72px;max-width:72px;height:72px;min-height:72px;max-height:72px;padding:0;font-size:11px}.gameActionButtonBgm{width:64px;min-width:64px;max-width:64px;height:64px;min-height:64px;max-height:64px}}@media (width<=360px){.gameControlsArea{gap:3px}.gameControlsArea .controls{grid-template-rows:repeat(3,52px);grid-template-columns:repeat(3,52px);gap:6px;width:168px;transform:translate(-6px)}.gameControlsArea .controlButton{width:52px;height:52px;font-size:27px}.gameActionControls{gap:4px}.gameActionButton{width:68px;min-width:68px;max-width:68px;height:68px;min-height:68px;max-height:68px;font-size:10px}.gameActionButtonBgm{width:60px;min-width:60px;max-width:60px;height:60px;min-height:60px;max-height:60px}}.messageText{color:#1c6b55;text-align:center;background:#e8f6ee;border-radius:8px;width:min(100%,430px);margin:16px auto 0;padding:10px 12px;font-size:14px;font-weight:800}.shopPanel{background:#fff;border:3px solid #c84c31;border-radius:8px;width:min(100%,430px);margin:18px auto 0;padding:16px;box-shadow:0 12px 24px #5c381429}.shopLabel{color:#c84c31;margin:0 0 6px;font-size:12px;font-weight:900}.shopPanel h2{overflow-wrap:anywhere;margin:0 0 12px;font-size:22px;line-height:1.25}.shopDetails{grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px;display:grid}.shopDetails div{background:#fff4da;border-radius:8px;padding:8px}.shopDetails dt{color:#795126;margin:0 0 3px;font-size:11px;font-weight:900}.shopDetails dd{overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:800}.shopText{overflow-wrap:anywhere;margin:10px 0 0;font-size:14px;line-height:1.55}.shopText strong{color:#795126;margin-bottom:2px;display:block}.warningText{color:#b13b27;background:#fff0ec;border-radius:8px;margin:14px 0 0;padding:10px 12px;font-size:14px;font-weight:800}.entryStatusText{color:#23623b;background:#eefaf0;border:1px solid #2e79513d;border-radius:8px;margin:14px 0 0;padding:10px 12px;font-size:14px;font-weight:900}.enterButton{color:#fff;touch-action:manipulation;background:#237a57;border:0;border-radius:8px;width:100%;min-height:52px;margin-top:14px;font-size:18px;font-weight:900;box-shadow:0 5px #14553a}.enterButton:active{transform:translateY(3px);box-shadow:0 2px #14553a}.serviceList{gap:6px;margin-top:8px;display:grid}.servicePrompt{color:#6f431d;margin:0;font-size:14px;font-weight:900}.serviceButton{color:#2f2720;text-align:left;background:#fff7e8;border:2px solid #d5964a;border-radius:8px;gap:3px;width:100%;min-height:50px;padding:7px 9px;display:grid;box-shadow:0 3px #bd7a35}.serviceButton:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.serviceButtonMain{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;display:flex}.serviceButtonMain strong{font-size:14px}.eventShopPanel{gap:10px;margin-top:10px;display:grid}.eventActionList{gap:8px;display:grid}.eventActionButton{color:#4d2414;background:linear-gradient(#fff9ea,#f5d28a);border:2px solid #d5964a;border-radius:8px;width:100%;min-height:48px;font-size:15px;font-weight:900;box-shadow:0 3px #b8782d}.eventVideoOverlay{z-index:10020;background:#0a0403c7;place-items:center;padding:14px;display:grid;position:fixed;inset:0}.eventVideoModal{color:#fff7ea;background:#150908;border:2px solid #ebbb56b8;border-radius:12px;width:min(100%,720px);padding:14px;box-shadow:0 20px 50px #00000073}.eventVideoModal h3{text-align:center;margin:0 0 10px}.eventVideoPlayer{background:#000;border-radius:8px;width:100%;max-height:70vh;display:block}.serviceDescription{color:#6b5640;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.25;overflow:hidden}.serviceConfirmCard{background:#fffdf7;border:2px solid #e1b875;border-radius:8px;gap:8px;padding:10px;display:grid}.serviceConfirmCard h3{color:#6f431d;overflow-wrap:anywhere;margin:0;font-size:17px;line-height:1.25}.serviceConfirmDescription{color:#4d3b2b;margin:0;font-size:14px;font-weight:800;line-height:1.45}.serviceConfirmMeta{color:#7a4a19;background:#fff0d8;border-radius:8px;margin:0;padding:6px 8px;font-size:15px;font-weight:900}.serviceConfirmQuestion{color:#6f431d;text-align:center;margin:0;font-size:14px;font-weight:900}.serviceConfirmActions{gap:8px;display:grid}.serviceConfirmActions .enterButton,.serviceConfirmActions .closeButton{border:0;border-radius:8px;width:100%;min-height:50px;margin:0;font-size:17px;font-weight:900}.serviceConfirmActions .closeButton{color:#7a4a19;background:#fff0d8;box-shadow:inset 0 0 0 2px #d5964a}.serviceResultMeta{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0;display:grid}.serviceResultMeta span{color:#7a3f18;text-align:center;background:#fff4df;border:2px solid #f0c17a;border-radius:8px;padding:7px 8px;font-size:15px;font-weight:900}.compactWarning{margin-top:0}.serviceDisabledReason{color:#b13b27;font-size:12px;font-weight:900}.serviceAfterActions{gap:10px;margin-top:14px;display:grid}.serviceAfterActions p{color:#6f431d;text-align:center;margin:0;font-weight:900}.serviceAfterActions .enterButton,.serviceAfterActions .closeButton{touch-action:manipulation;border:0;border-radius:8px;width:100%;min-height:52px;margin-top:0;font-size:18px;font-weight:900}.serviceAfterActions .closeButton{color:#fff;background:#a7561d;box-shadow:0 5px #743712}.visitedBadge{color:#555;text-align:center;background:#efefef;border-radius:8px;margin:14px 0 0;padding:12px;font-size:16px;font-weight:900}.resultPanel{background:#fff;border:3px solid #237a57;border-radius:8px;width:min(100%,430px);margin:18px auto 0;padding:18px 16px;box-shadow:0 12px 24px #5c381429}.resultPanel h2{margin:0 0 14px;font-size:24px;line-height:1.25}.resultStats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.resultStats p{background:#e8f6ee;border-radius:8px;margin:0;padding:10px}.resultStats p:last-child{grid-column:1/-1}.resultModal .resultStats p:last-child{grid-column:auto}.resultStats span{color:#1c6b55;margin-bottom:3px;font-size:12px;font-weight:900;display:block}.resultStats strong{font-size:18px}.resultBlock h3{color:#795126;margin:0 0 8px;font-size:15px}.visitedList{gap:6px;margin:0;padding:0;list-style:none;display:grid}.visitedList li{overflow-wrap:anywhere;background:#fff4da;border-radius:8px;padding:9px 10px;font-size:14px;font-weight:800}.emptyResult,.resultComment{margin:0;font-size:14px;line-height:1.55}.resultTitle{color:#237a57;margin:0 0 6px;font-size:18px;font-weight:900}.resultActions{gap:10px;margin-top:18px;display:grid}.restartButton,.resultTitleButton{touch-action:manipulation;border:0;border-radius:8px;width:100%;min-height:52px;font-size:18px;font-weight:900}.restartButton{color:#2f2720;background:#f2b84b;box-shadow:0 5px #b96b2f}.resultTitleButton{color:#7a4a19;background:#fff0d8;box-shadow:inset 0 0 0 2px #d5964a}.restartButton:active,.resultTitleButton:active{transform:translateY(3px)}.restartButton:active{box-shadow:0 2px #b96b2f}.resultModal{width:min(100%,460px)}.historyModal{width:min(100%,430px)}.landmarkModal{width:min(100%,390px)}.helpModal{width:min(100%,430px)}.editorModal{width:min(100%,460px)}.editorForm{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.editorForm label,.editorForm details{color:#795126;gap:5px;font-size:12px;font-weight:900;display:grid}.editorForm input,.editorForm select,.editorForm textarea{color:#2f2720;width:100%;min-height:40px;font:inherit;background:#fff;border:2px solid #efb343;border-radius:8px;padding:8px 10px;font-size:14px;font-weight:800}.editorForm textarea{resize:vertical;min-height:82px}.fieldHint{color:#7b654e;margin-top:5px;font-size:12px;font-weight:800;line-height:1.45;display:block}.fieldHint.compact{font-size:10px;line-height:1.35}.wideField{grid-column:1/-1}.serviceEditor{background:#fff8ea;border:1px solid #79512633;border-radius:8px;gap:10px;padding:12px;display:grid}.serviceEditorHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.serviceEditorHeader h3,.serviceEditorHeader p{margin:0}.serviceEditorHeader h3{color:#6f431d;font-size:16px}.serviceEditorHeader p{color:#7b654e;font-size:12px;font-weight:800}.serviceEditorList{gap:10px;display:grid}.serviceEditorCard{background:#fffdf7;border:1px solid #e3c08a;border-radius:8px;gap:10px;padding:10px;display:grid}.serviceEditorCardHeader{color:#6f431d;justify-content:space-between;align-items:center;gap:8px;display:flex}.serviceEditorGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.serviceEditorGrid textarea{min-height:68px}.titleRuleEditor,.shopListEditor{gap:10px;margin-top:10px;display:grid}.shopListTabs{background:#fff7e8;border:1px solid #79512629;border-radius:8px;flex-wrap:wrap;gap:6px;padding:6px;display:flex}.editorTabs{margin-bottom:10px}.shopListTabButton{color:#6f431d;background:#fffdf7;border:1px solid #d8b77b;border-radius:999px;min-height:34px;padding:7px 12px;font-weight:900}.shopListTabButton.active{color:#fff;background:#a7561d;border-color:#8e4316;box-shadow:0 2px 6px #75411833}.shopListTableWrap{background:#fffaf0;border:1px solid #79512638;border-radius:8px;width:100%;max-height:min(58vh,540px);overflow:auto}.shopListTable{border-collapse:collapse;width:max-content;min-width:100%;font-size:11px}.shopListTable th,.shopListTable td{vertical-align:middle;border:1px solid #ead1a9;min-width:96px;padding:4px}.shopListTable th{z-index:3;color:#795126;white-space:nowrap;background:#f6dfad;font-weight:900;position:sticky;top:0}.shopListTable .stickyShopName{z-index:2;background:#fff7e4;min-width:150px;max-width:190px;position:sticky;left:0;box-shadow:2px 0 #79512624}.shopListTable th.stickyShopName{z-index:4;background:#edc982}.shopListActionHeader,.shopListActionCell{text-align:center;min-width:72px}.shopListActionCell{gap:5px;display:grid}.serviceCountBadge{color:#237a57;white-space:nowrap;background:#eef6ec;border-radius:999px;padding:3px 6px;font-size:10px;font-weight:900;display:inline-block}.shopListNameText{color:#4f321b;text-overflow:ellipsis;white-space:nowrap;font-weight:900;line-height:1.25;display:block;overflow:hidden}.shopListTable input,.shopListTable select,.shopListTable textarea{color:#2f2720;width:100%;min-height:28px;font:inherit;background:#fff;border:1px solid #e4c592;border-radius:5px;padding:4px 6px}.shopListTable textarea{resize:vertical;min-width:180px;min-height:70px}.shopListTable input[type=number]{text-align:right}.shopListTable td:has(input[type=number]){min-width:74px}.shopTextPreview{grid-template-columns:minmax(120px,1fr) auto;align-items:center;gap:6px;min-width:220px;display:grid}.shopTextPreview span{color:#4f321b;text-overflow:ellipsis;white-space:nowrap;line-height:1.35;display:block;overflow:hidden}.miniEditButton{color:#754118;background:#fff4d8;border:1px solid #b98045;border-radius:999px;min-height:28px;padding:4px 9px;font-size:11px;font-weight:900}.miniEditButton.danger{color:#9d321f;background:#fff0ea;border-color:#b45a47}.shopListBottomActions{justify-content:flex-end;display:flex}.shopTextModal{width:min(92vw,560px)}.shopTextModalTextarea{color:#2f2720;width:100%;min-height:220px;font:inherit;resize:vertical;background:#fffdf7;border:1px solid #ddb778;border-radius:8px;padding:10px;line-height:1.5}.resetConfirmModal{border-color:#c34a34}.resetWarningText{color:#8f2516;background:#fff0ec;border-left:5px solid #c34a34;border-radius:8px;margin:0;padding:12px;font-size:14px;font-weight:900;line-height:1.55}.resetConfirmField{color:#795126;gap:6px;margin-top:12px;font-size:13px;font-weight:900;display:grid}.resetConfirmField input{color:#2f2720;width:100%;min-height:44px;font:inherit;background:#fff;border:2px solid #c34a34;border-radius:8px;padding:8px 10px;font-weight:900}.dangerActionButton{background:#b13b27;box-shadow:0 5px #7d2417}.dangerActionButton:disabled{opacity:.45}.titleSaveDebug{color:#23623b;background:#eefaf0;border:1px solid #237a5738;border-radius:8px;gap:3px;padding:8px 10px;font-size:12px;font-weight:800;line-height:1.35;display:grid}.saveTitleButton{color:#fff;background:#237a57;width:100%}.titleRuleCard{background:#fffaf0;border:1px solid #79512638;border-radius:8px;gap:8px;padding:10px;display:grid;box-shadow:0 2px 8px #36221814}.titleRuleList{gap:8px;display:grid}.titleRuleTabs{background:#fff7e8;border:1px solid #7951262e;border-radius:999px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:5px;display:grid}.titleRuleTabButton{color:#795126;background:0 0;border:1px solid #0000;border-radius:999px;min-height:34px;font-weight:900}.titleRuleTabButton.active{color:#fff8e8;background:linear-gradient(#9f2c40,#76202f);border-color:#8d2336;box-shadow:0 3px 8px #5c231c2e}.titleRuleSummaryCard{background:#fff;border:1px solid #79512633;border-radius:8px;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:6px 10px;padding:10px;display:grid}.titleRuleIconBadge{color:#5c2a18;background:radial-gradient(circle at 35% 28%,#ffffffc7,#0000 34%),linear-gradient(#fff3c6,#e9b85e);border:1px solid #8d23363d;border-radius:50%;place-items:center;width:30px;height:30px;font-size:18px;line-height:1;display:grid;box-shadow:0 2px 6px #36221829,inset 0 0 0 1px #ffffff8f}.titleRuleSummaryCard.active{border-color:#237a57;box-shadow:0 0 0 2px #237a5729}.titleRuleSummaryCard strong{color:#4d2f17;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.titleRulePointBadge{color:#fff7ea;white-space:nowrap;background:#8d2336;border:1px solid #8d233642;border-radius:999px;justify-self:end;padding:4px 8px;font-size:11px;font-style:normal;font-weight:900;line-height:1.1;box-shadow:0 2px 5px #5c38141f}.titleRuleSummaryCard p{color:#665748;grid-column:1/-1;margin:0;font-size:12px;font-weight:800;line-height:1.45}.titleRuleSummaryCard .titleRuleSummaryComment{color:#4d2f17;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;font-weight:900;display:-webkit-box;overflow:hidden}.titleRuleSummaryCard small{color:#795126;font-weight:900}.titleRuleTypeBadge{color:#795126;white-space:nowrap;background:#f6dfad;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:900}.titleRuleEditingLabel{color:#23623b;background:#eefaf0;border-radius:8px;margin:0;padding:8px 10px;font-size:13px;font-weight:900}.titleRuleFormActions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.titleRuleCard label{color:#795126;gap:4px;font-size:12px;font-weight:900;display:grid}.titleRuleCard input,.titleRuleCard select,.titleRuleCard textarea{color:#2f2720;width:100%;font:inherit;background:#fff;border:1px solid #e4c592;border-radius:7px;padding:8px}.titleRuleCard textarea{resize:vertical;min-height:68px}.titleRuleGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.titleRuleFieldset{background:#ffffffad;border:1px solid #79512633;border-radius:8px;gap:8px;margin:0;padding:10px;display:grid}.titleRuleFieldset legend{color:#795126;padding:0 4px;font-size:12px;font-weight:900}.titleRuleCheckboxGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.titleRuleCheckbox{background:#fff;border-radius:7px;align-items:center;min-width:0;padding:6px 7px;color:#5f5145!important;grid-template-columns:none!important;gap:6px!important;display:flex!important}.titleRuleCheckbox input{width:auto;min-height:auto;padding:0}.titleRuleCheckbox span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.categoryCountRows{gap:7px;display:grid}.categoryCountRow{grid-template-columns:minmax(0,1.4fr) 74px auto;align-items:center;gap:7px;display:grid}.titleRuleEmptyText{color:#7a6a5c;margin:0;font-size:12px;font-weight:800}.badgeList{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.badgeList li{background:#fffaf0;border:1px solid #d6893647;border-radius:8px;padding:9px 10px}.badgeList strong{color:#795126;font-size:14px;display:block}.badgeList span{color:#5f5145;margin-top:3px;font-size:12px;line-height:1.45;display:block}@media (width<=420px){.titleRuleGrid,.titleRuleCheckboxGrid,.categoryCountRow,.titleRuleSummaryCard,.titleRuleFormActions,.serviceEditorGrid{grid-template-columns:1fr}}.coordinateFields{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.editorActions{gap:10px;margin-top:16px;display:grid}.deleteButton{color:#b13b27;touch-action:manipulation;background:#fff0ec;border:0;border-radius:8px;width:100%;min-height:48px;font-size:16px;font-weight:900}.helpSection{margin-top:16px}.helpSection h3{color:#795126;margin:0 0 6px;font-size:16px}.helpSection p,.helpSection li{font-size:14px;line-height:1.65}.helpSection p{margin:0}.helpSection ul{gap:5px;margin:0;padding-left:1.25em;display:grid}.helpNotice{background:#fff7e2b8;border:1px solid #a558263d;border-radius:10px;padding:10px 12px}.helpNotice h3{color:#8d5b2a}.helpNotice p{color:#5f5144;font-size:13px}.resultHistoryList{gap:8px;margin:0;padding:0 0 0 24px;display:grid}.resultHistoryList li{background:#fff4da;border-radius:8px;padding:10px;font-size:14px;line-height:1.5}.resultHistoryList strong{overflow-wrap:anywhere;margin-bottom:4px;display:block}.serviceHistoryName{color:#8a4d18;overflow-wrap:anywhere;margin:-1px 0 5px;font-size:13px;font-weight:900}.resultHistoryMeta{color:#4d3b2b;gap:2px;font-weight:800;display:grid}.resultModal{background:radial-gradient(circle at 50% -6%,#ffebb0fa,#0000 34%),radial-gradient(circle at 12% 8%,#8d24301c,#0000 22%),linear-gradient(135deg,#ffffff7a,#0000 35%),repeating-linear-gradient(135deg,#8d5b2a07 0 2px,#0000 2px 8px),linear-gradient(#fff9eb,#fff1d3 62%,#fff7e8);border:3px solid #d6a84f;border-radius:16px;width:min(100%,540px);padding:16px;box-shadow:0 22px 54px #2f272057,0 0 0 1px #fff5cdb8,inset 0 0 28px #8d5b2a14}.result-screen,.result-header,.result-score-hero,.result-main-title-card,.result-main-stats,.result-sub-stats,.result-score-breakdown,.result-profile-strip,.result-achievements,.result-history,.result-actions{position:relative}.result-screen:before,.result-header:after,.result-score-hero:before,.result-main-stats:before,.result-sub-stats:before,.result-score-breakdown:before,.result-profile-strip:before,.result-achievements:before,.result-history:before,.result-actions:before{content:"";pointer-events:none;position:absolute;inset:0}.resultHeader{color:#fff7db;text-align:center;background:linear-gradient(90deg,#0000,#ffe0913d,#0000),linear-gradient(135deg,#8d2430f0,#642c16eb),#8d2430;border:1px solid #ffe7a385;border-radius:13px;gap:5px;margin:-2px 0 12px;padding:13px 12px 15px;display:grid;box-shadow:0 9px 20px #5c38143d,inset 0 0 0 1px #ffffff14}.resultHeader .shopLabel{color:#ffe7a3;letter-spacing:.16em;border-top:1px solid #ffe7a394;border-bottom:1px solid #ffe7a394;margin:0 auto;padding:0 20px;font-size:12px}.resultHeader h2{color:#fff7db;text-shadow:0 2px #3a19116b,0 0 12px #ffe7a333;margin:0;font-size:28px;line-height:1.14}.resultHeader span{color:#fff7dbdb;font-size:12px;font-weight:900}.result-header{background:#170d0b;border-color:#d6a84f57;padding:0;position:relative;overflow:hidden}.result-header-image{object-fit:contain;width:100%;height:auto;display:block}.result-header-overlay{color:#fff4d6;text-align:center;text-shadow:0 2px 4px #070302d9,0 0 8px #ffd98b38;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:linear-gradient(90deg,#0000,#18090957,#0000);border:1px solid #ffe7a32e;border-radius:999px;gap:2px;width:max-content;max-width:82%;padding:5px 14px;display:grid;position:absolute;top:66%;left:50%;transform:translate(-50%)}.result-header-name,.result-header-class{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.result-header-name{color:#fff8dd;letter-spacing:.03em;font-size:clamp(18px,5.2vw,28px);font-weight:950;line-height:1.03}.result-header-class{color:#ffeebeeb;font-size:clamp(10px,2.7vw,14px);font-weight:900;line-height:1.1}.resultScoreHero{background:radial-gradient(circle at 18% 0,#ffffffdb,#0000 42%),linear-gradient(135deg,#fff0bc,#ffd47d 58%,#fff3d7);border:2px solid #8d243066;border-radius:16px;grid-template-columns:.9fr 1.1fr;gap:10px;margin:0 0 14px;padding:10px;display:grid;box-shadow:0 11px 24px #5c38142e,0 0 16px #d6a84f29,inset 0 0 0 1px #ffffffb8}.resultScoreHero p{text-align:center;background:linear-gradient(#ffffffc2,#fff4d7ad),#fffaeea3;border-radius:12px;align-content:center;gap:4px;min-height:82px;margin:0;padding:9px 8px;display:grid;box-shadow:inset 0 0 0 1px #8d243014}.resultScoreHero span{color:#8d5b2a;font-size:11px;font-weight:900}.resultScoreHero strong{color:#6f1822;overflow-wrap:anywhere;text-shadow:0 1px #fffaf0e6;font-size:clamp(24px,6.2vw,38px);font-weight:900;line-height:1.1}.resultScoreHero p:nth-child(2) strong{white-space:nowrap;font-size:clamp(20px,5vw,34px)}.scoreBreakdownMini{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0;display:grid}.scoreBreakdownMini div{text-align:center;background:#fffaee75;border-radius:9px;gap:2px;padding:6px 5px;display:grid}.scoreBreakdownMini dt,.scoreBreakdownMini dd{margin:0}.scoreBreakdownMini dt{color:#8d5b2a;font-size:10px;font-weight:900}.scoreBreakdownMini dd{color:#6f1822;white-space:nowrap;font-size:11px;font-weight:900}.mainTitleCard{text-align:center;background:radial-gradient(circle at 18% 16%,#ffffffe6,#0000 38%),radial-gradient(circle at 86% 0,#ffffff85,#0000 36%),linear-gradient(135deg,#fff8df,#ffd98b 64%,#fff0bd);border:2px solid #aa7024c7;border-radius:16px;gap:8px;margin:0 0 16px;padding:20px 16px 16px;display:grid;position:relative;box-shadow:0 10px 22px #5c381433,0 0 20px #d6a84f38,inset 0 0 0 1px #ffffffad,inset 0 -12px 24px #aa702414}.mainTitleCard:before,.mainTitleCard:after{content:"";background:linear-gradient(90deg,#0000,#8d243080,#0000);border-radius:999px;width:44px;height:2px;position:absolute;top:18px}.mainTitleCard:before{left:18px}.mainTitleCard:after{right:18px}.mainTitleRibbon{color:#fff4d8;letter-spacing:.08em;background:linear-gradient(#ffffff1f,#0000),#8d2430;border:1px solid #ffe7a35c;border-radius:999px;justify-self:center;padding:5px 14px;font-size:11px;font-weight:900;box-shadow:0 4px 10px #5c381433}.mainTitleCard .resultTitle{color:#6f1822;text-shadow:0 1px #fffcf2f2,0 0 12px #fff8dccc;margin:0;font-size:clamp(27px,7.4vw,36px);font-weight:900;line-height:1.18}.mainTitleCard .resultComment{color:#573821;max-width:34em;margin:0 auto;font-size:14px;font-weight:900;line-height:1.65}.resultTitleImage{object-fit:contain;filter:drop-shadow(0 9px 16px #09050452);border-radius:10px;width:min(96%,520px);max-height:190px;margin:0 auto;display:block}.mainTitleCard:has(.resultTitleImage){box-shadow:none;background:0 0;border-color:#d6a84f2e;padding:4px 0}.mainTitleCard:has(.resultTitleImage):before{display:none}.mainTitleCard:has(.resultTitleImage):after{display:none}.resultMainStats{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0 0 10px;display:grid}.resultScreenshotStats,.result-screenshot-main-stats{grid-template-columns:1.18fr .82fr;gap:10px;margin-bottom:12px}.resultVisitCountCard{color:#6f1822;touch-action:manipulation;background:radial-gradient(circle at 50% 0,#ffffffd1,#0000 52%),linear-gradient(#fff4cf,#ffc96f 86%);border:2px solid #8d24307a;border-radius:16px;align-content:center;justify-items:center;min-height:122px;padding:12px;font-weight:900;display:grid;box-shadow:0 10px 20px #5c38142e,inset 0 0 0 1px #ffffffb3}.resultVisitCountCard span{color:#8d5b2a;font-size:12px}.resultVisitCountCard strong{margin-top:2px;font-size:clamp(48px,14vw,72px);line-height:.92}.resultVisitCountCard em{font-size:16px;font-style:normal}.resultVisitCountCard small{color:#8d5b2a;margin-top:5px;font-size:10px}.resultSpendTimeStack{gap:8px;display:grid}.resultSpendTimeStack p{text-align:center;background:linear-gradient(#ffffffb3,#fff2d1a3),#fffaf0;border:1px solid #8d243040;border-radius:13px;align-content:center;min-height:57px;margin:0;padding:10px;display:grid;box-shadow:0 5px 11px #5c38141a}.resultSpendTimeStack span{color:#8d5b2a;font-size:11px;font-weight:900}.resultSpendTimeStack strong{color:#6f1822;white-space:nowrap;margin-top:4px;font-size:clamp(18px,5vw,28px);font-weight:900;line-height:1.05}.resultSpendTimeStack p:nth-child(2) strong{color:#3f2918;font-size:clamp(16px,4.2vw,22px)}.resultMainStats p,.resultSubStats p{margin:0}.resultMainStats p{text-align:center;background:radial-gradient(circle at 50% 0,#ffffffd1,#0000 48%),linear-gradient(#fff5d8,#ffd98a 82%);border:2px solid #8d24305c;border-radius:14px;align-content:center;min-height:96px;padding:13px 9px;display:grid;box-shadow:0 9px 18px #5c38142b,inset 0 0 0 1px #ffffffad,inset 0 -8px 14px #aa702414}.resultMainStats span,.resultSubStats span{color:#8d5b2a;letter-spacing:0;font-size:11px;font-weight:900;display:block}.resultMainStats strong{color:#6f1822;overflow-wrap:anywhere;white-space:nowrap;text-shadow:0 1px #fffaf0e6,0 0 10px #fff8dcb3;margin-top:5px;font-size:clamp(21px,5.9vw,33px);font-weight:900;line-height:1.12;display:block}.resultMainStats p:nth-child(2) strong{letter-spacing:-.02em;font-size:clamp(16px,4.4vw,29px)}.resultMainStats .resultSpendTimeStack p{background:linear-gradient(#ffffffb3,#fff2d1a3),#fffaf0;border:1px solid #8d243040;border-radius:13px;min-height:57px;padding:10px;box-shadow:0 5px 11px #5c38141a}.resultMainStats .resultSpendTimeStack strong{color:#6f1822;white-space:nowrap;font-size:clamp(18px,5vw,28px)}.resultMainStats .resultSpendTimeStack p:nth-child(2) strong{color:#3f2918;font-size:clamp(16px,4.2vw,22px)}.resultMainStats .resultVisitCountCard span{color:#8d5b2a;font-size:12px}.resultMainStats .resultVisitCountCard strong{color:#6f1822;margin-top:2px;font-size:clamp(48px,14vw,72px);line-height:.92}.resultSubStats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 10px;display:grid}.resultSubStats p{text-align:center;background:linear-gradient(#ffffff9e,#fff2d18c),#fffaf0;border:1px solid #d689363d;border-radius:11px;align-content:center;min-height:66px;padding:9px;display:grid;box-shadow:0 4px 10px #5c381414,inset 0 0 0 1px #ffffff9e}.resultSubStats strong{color:#3f2918;overflow-wrap:anywhere;margin-top:4px;font-size:clamp(16px,4.2vw,20px);font-weight:900;line-height:1.18;display:block}.resultScoreBreakdown{opacity:.92;background:linear-gradient(#ffffff6b,#fff2d161),#fff8e8;border:1px solid #d6893638;border-radius:13px;margin:0 0 8px;padding:10px;box-shadow:0 3px 9px #5c38140f,inset 0 0 0 1px #ffffff9e}.scoreBreakdownList{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:9px 0 0;display:grid}.scoreBreakdownList div{color:#4a3422;background:#ffffff6b;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;font-weight:900;display:flex}.scoreBreakdownList dt,.scoreBreakdownList dd{margin:0}.scoreBreakdownList dt{color:#8d5b2a;font-size:11px}.scoreBreakdownList dd{color:#6f1822;white-space:nowrap;font-size:13px}.resultSupplementList{background:#fffaf05c;border:1px dashed #8d5b2a38;border-radius:12px;flex-wrap:wrap;gap:5px;margin:0 0 13px;padding:7px;display:flex}.resultSupplementList div{background:#fff0d17a;border-radius:999px;align-items:center;gap:5px;min-width:0;padding:3px 7px;display:inline-flex}.resultSupplementList dt,.resultSupplementList dd{min-width:0;margin:0}.resultSupplementList dt{color:#8d5b2a;opacity:.82;font-size:9px;font-weight:900}.resultSupplementList dd{color:#4d3b2b;opacity:.86;overflow-wrap:anywhere;font-size:11px;font-weight:900}.resultBlock{margin-top:14px}.resultSectionTitle{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.resultSectionTitle span{color:#6f1822;font-size:17px;font-weight:900}.resultSectionTitle strong{color:#fff4d8;background:#8d2430;border:1px solid #d6a84f80;border-radius:999px;flex:none;padding:4px 10px;font-size:12px;font-weight:900;box-shadow:0 3px 8px #5c38141f}.earnedBadgeBlock{background:radial-gradient(circle at 10% 0,#ffebb073,#0000 35%),#fffaf0d6;border:1px solid #d6a84f9e;border-radius:14px;padding:12px;box-shadow:inset 0 0 0 1px #ffffff85}.resultBadgeGrid.badgeList{scroll-snap-type:x proximity;gap:12px;margin:0;padding:2px 2px 8px;display:flex;overflow-x:auto}.resultBadgeGrid.badgeList li{scroll-snap-align:start;background:radial-gradient(circle at 8% 15%,#ffffffc7,#0000 32%),linear-gradient(145deg,#fff8ddfa,#ffe2a6c7),#fff2cc;border:1px solid #d6893657;border-radius:12px;flex:0 0 104px;min-height:126px;padding:0;position:relative;box-shadow:0 6px 13px #5c381424,inset 0 0 0 1px #ffffff8c}.resultBadgeGrid.badgeList li.featuredBadge{background:radial-gradient(circle at 12% 22%,#ffffffbf,#0000 30%),radial-gradient(circle at 94% 0,#8d24301f,#0000 30%),linear-gradient(135deg,#ffedba,#ffd071 62%,#fff4d2);border-color:#8d24307a;flex-basis:126px;min-height:136px;padding:0;box-shadow:0 9px 18px #5c38142e,0 0 14px #d6a84f2e,inset 0 0 0 1px #fff9}.achievementMiniButton{width:100%;height:100%;min-height:inherit;color:inherit;font:inherit;text-align:center;cursor:pointer;touch-action:manipulation;background:0 0;border:0;align-content:start;justify-items:center;gap:6px;padding:11px 8px 9px;display:grid}.achievementMiniButton:active{transform:translateY(1px)}.featuredBadgeLabel{color:#8d2336;letter-spacing:0;text-shadow:none;background:#fff7e6f0;border:1px solid #8d233659;border-radius:999px;justify-self:start;padding:3px 10px;font-size:12px;font-weight:700;line-height:1.2;position:static;box-shadow:0 2px 6px #5c38141a}.badgeMedal{color:#5c2a18;text-align:center;text-shadow:0 1px #fffaeec7;background:radial-gradient(circle at 35% 28%,#ffffffb3,#0000 34%),linear-gradient(#fff3c6,#e9b85e);border:1px solid #8d23364d;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:18px;font-weight:900;line-height:1;display:flex;position:absolute;top:11px;left:10px;overflow:hidden;box-shadow:0 3px 7px #36221838,inset 0 0 0 1px #ffffff8c}.achievementMiniButton .badgeMedal,.achievementDetailPanel .badgeMedal{position:static;inset:auto}.badgeIconGlyph{flex:none;line-height:1;display:block;transform:translateY(1px)}.featuredBadge .badgeMedal{border-width:2px;border-color:#8d23366b;width:34px;height:34px;font-size:22px}.resultBadgeGrid.badgeList strong{color:#6f1822;word-break:keep-all;overflow-wrap:anywhere;font-size:12px;line-height:1.25}.achievementPointBadge{color:#fff7ea;background:#8d2336;border:1px solid #8d233647;border-radius:999px;place-self:end;padding:3px 8px;font-size:11px;font-style:normal;font-weight:900;line-height:1.1;box-shadow:0 2px 5px #5c381421}.featuredBadge .achievementPointBadge{color:#ffe6a8;background:#6f1822;font-size:12px}.resultBadgeGrid.badgeList .featuredBadge strong{font-size:13px}.resultBadgeGrid.badgeList span:not(.badgeMedal):not(.featuredBadgeLabel):not(.badgeIconGlyph){-webkit-line-clamp:2;color:#5d432c;-webkit-box-orient:vertical;margin:0;font-size:12px;font-weight:800;line-height:1.45;display:-webkit-box;overflow:hidden}.visitHistoryBlock{opacity:.94;padding-top:2px}.resultDetailOverlay{z-index:45;background:#371f148a;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.resultDetailPanel{color:#4d2f17;background:radial-gradient(circle at 50% 0,#ffebb0c7,#0000 42%),linear-gradient(#fffaf0,#fff0d2);border:2px solid #d6a84f;border-radius:14px;gap:10px;width:min(100%,420px);max-height:min(78vh,620px);padding:16px;display:grid;overflow:auto;box-shadow:0 22px 48px #2f272052}.visitDetailPanel{grid-template-rows:auto minmax(0,1fr) auto;width:min(96vw,500px);height:min(75vh,620px);max-height:75vh;padding:13px;overflow:hidden}.resultDetailPanel h3{color:#6f1822;text-align:center;margin:0;font-size:20px}.visitDetailPanel h3{font-size:18px}.achievementDetailPanel{text-align:center;justify-items:center}.achievementDetailPanel .badgeMedal{width:54px;height:54px;font-size:32px}.achievementDetailPanel p{color:#5d432c;margin:0;font-size:14px;font-weight:800;line-height:1.6}.resultHistoryToggle{color:#6f1822;font:inherit;text-align:left;touch-action:manipulation;background:0 0;border:0;margin:0;padding:0;font-size:16px;font-weight:900}.resultHistoryHint{color:#4d3b2bb8;text-align:center;background:#fff7e28a;border-radius:10px;margin:0;padding:9px 10px;font-size:12px;font-weight:800}.resultModal .resultHistoryList{max-height:min(30vh,220px);padding:0 3px 0 24px;overflow-y:auto}.resultModal .resultHistoryList li{background:#fff7e2b8;border:1px solid #d689362e}.resultModal .compactVisitHistoryList,.compactVisitHistoryList{align-content:start;gap:6px;min-height:0;max-height:none;padding:0 4px;list-style:none;overflow-y:auto}.resultModal .compactVisitHistoryList li,.compactVisitHistoryList li{background:#fff7e2c7;border:1px solid #d6893633;border-radius:8px;padding:7px 8px;font-size:13px;line-height:1.35}.visitDetailMainLine{grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:5px;min-width:0;display:grid}.visitDetailIndex{color:#8d5b2a;font-weight:900}.visitDetailMainLine strong{color:#4d2f17;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;display:block;overflow:hidden}.visitDetailTime{color:#6f1822;white-space:nowrap;font-size:12px;font-weight:900}.visitDetailSubLine{color:#6b4c30;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;margin:3px 0 0;font-size:12px;font-weight:800;display:grid}.visitDetailSubLine span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.visitDetailSubLine span:not(:first-child){white-space:nowrap}.resultModal .resultActions{margin-top:16px}.result-action-button{position:relative}@media (width<=420px){.resultModal{padding:12px}.resultHeader h2{font-size:24px}.mainTitleCard{padding:16px 12px 13px}.resultModal .resultStats{gap:7px}.resultModal .resultStats p{min-height:64px;padding:9px}.resultBadgeGrid.badgeList{grid-template-columns:1fr}.resultMainStats p{min-height:82px;padding:10px 4px}.resultSubStats p{min-height:58px;padding:8px 5px}.resultBadgeGrid.badgeList li.featuredBadge{grid-column:auto}}.modalOverlay{z-index:20;background:#2f272094;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modalOverlay:has(.resultModal){background:radial-gradient(circle at 50% 0,#5e2a1ec7 0%,#2c1913db 42%,#080605f0 100%),linear-gradient(#4b101cb8,#080605eb)}.visitModal{background:#fffaf0;border:3px solid #f2b84b;border-radius:10px;width:min(100%,420px);max-height:min(88vh,680px);padding:14px;overflow:auto;box-shadow:0 18px 40px #2f272052}.visitModal.resultModal{background:radial-gradient(circle at 50% 0,#ffdc8b33,#0000 30%),radial-gradient(circle at 15% 8%,#8d243038,#0000 24%),linear-gradient(135deg,#ffffff14,#0000 34%),linear-gradient(#2d1714,#180f0d 58%,#0c0807);border:2px solid #d6a84f94;border-radius:16px;width:min(100%,540px);padding:16px;box-shadow:0 24px 58px #0402027a,0 0 0 1px #ffdd8d29,inset 0 0 32px #ffd1750f}.shopVisitModal{max-height:min(92vh,640px);padding:12px;position:relative}.shopModalMiniStatus{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.shopModalMiniStatus span{color:#4d2f17;text-align:center;background:#fff4df;border:1px solid #d689366b;border-radius:999px;flex:120px;padding:6px 9px;font-size:14px;font-weight:900;box-shadow:inset 0 0 0 1px #ffffff8f}.serviceOrderOverlay{z-index:8;background:#2f2720bd;border-radius:7px;place-items:center;padding:20px;animation:1.2s ease-in-out both serviceOrderFade;display:grid;position:absolute;inset:0}.serviceOrderMessage{color:#fffaf0;text-align:center;background:#683e18d1;border:2px solid #ffe4b3b3;border-radius:10px;gap:8px;width:min(100%,360px);max-width:calc(100vw - 56px);padding:18px;display:grid;box-shadow:0 18px 35px #120c0847}.serviceOrderMessage strong{word-break:keep-all;overflow-wrap:normal;gap:3px;font-size:17px;line-height:1.55;display:grid}.serviceOrderName,.serviceOrderAction{display:block}.serviceOrderName{overflow-wrap:anywhere}.serviceOrderAction,.serviceOrderSubText{word-break:keep-all;overflow-wrap:normal}.serviceOrderMessage .serviceOrderSubText{opacity:.92;font-size:14px;font-weight:800;line-height:1.55}@keyframes serviceOrderFade{0%{opacity:0}18%{opacity:1}82%{opacity:1}to{opacity:.96}}.supportModal{gap:12px;display:grid}.endNoticeOverlay{background:#371f14a8;animation:.26s ease-out both endNoticeOverlayIn}.endNoticeModal{color:#4d2f17;text-align:center;background:radial-gradient(circle at 50% 0,#ffebb0cc,#0000 42%),linear-gradient(#fffaf0,#fff0d2);border:2px solid #d6a84f;border-radius:15px;gap:13px;width:min(100%,390px);padding:20px 18px;animation:.32s ease-out both endNoticeCardIn;display:grid;box-shadow:0 22px 50px #20120c5c,0 0 0 1px #fff5cdad,inset 0 0 18px #8d5b2a14}.endNoticeModal .shopLabel{color:#fff4d8;letter-spacing:.12em;background:#8d2430;border-radius:999px;justify-self:center;margin:0;padding:3px 13px;font-size:11px;box-shadow:0 3px 8px #5c381429}.endNoticeModal h2{color:#6f1822;text-shadow:0 1px #fffcf2e6;margin:0;font-size:28px;line-height:1.2}.endNoticeModal p:not(.shopLabel){color:#5d432c;margin:0;font-size:15px;font-weight:850;line-height:1.75}.endNoticeButton{margin-top:2px}@keyframes endNoticeOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes endNoticeCardIn{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.supportText,.supportNote{color:#4d3b2b;margin:0;font-size:14px;font-weight:800;line-height:1.55}.supportNote{color:#a64d28;text-align:center;font-size:12px}.supportActions{gap:10px;display:grid}.supportActions .enterButton,.supportActions .closeButton,.supportActions .secondaryButton{border:0;border-radius:8px;width:100%;min-height:52px;margin:0;font-size:17px;font-weight:900}.supportActions .closeButton{color:#fff;background:#a7561d;box-shadow:0 5px #743712}.supportActions .secondaryButton{color:#7a4a19;background:#fff0d8;box-shadow:inset 0 0 0 2px #d5964a}.choiceButton{color:#fff;text-align:left;touch-action:manipulation;background:#237a57;border:0;border-radius:8px;gap:3px;width:100%;min-height:58px;padding:9px 12px;display:grid;box-shadow:0 4px #14553a}.choiceButton strong{font-size:17px;font-weight:900}.choiceButton span{opacity:.92;font-size:12px;font-weight:900}.choiceButton:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.dangerChoice{background:#a7561d;box-shadow:0 4px #743712}.secondaryChoice{color:#7a4a19;background:#fff0d8;box-shadow:inset 0 0 0 2px #d5964a}.visitModal h2{overflow-wrap:anywhere;margin:0;font-size:22px;line-height:1.2}.storeImageFrame{background:linear-gradient(135deg,#fff0d1,#f8dfad);border:2px solid #e1b875;border-radius:10px;place-items:center;width:100%;height:clamp(130px,31vw,170px);margin:0 0 8px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff94}.storeImageFrame img{object-fit:cover;width:100%;height:100%;display:block}.storeImageFrame .staffImage{z-index:2;object-fit:contain;object-position:bottom right;filter:drop-shadow(0 4px 5px #2f272057);pointer-events:none;width:auto;max-width:44%;height:clamp(100px,28vw,150px);position:absolute;bottom:-2px;right:6px}.storeImagePlaceholder{color:#8a5a28;letter-spacing:.04em;font-size:15px;font-weight:900}.shopModalTitleRow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;margin-bottom:6px;display:flex}.shopModalTitleRow span{color:#7a4a19;background:#fff0d8;border-radius:999px;flex:none;padding:4px 8px;font-size:12px;font-weight:900}.shopModalCatchcopy{color:#7b654e;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:3px 0 0;font-size:12px;font-weight:800;line-height:1.35;display:-webkit-box;overflow:hidden}.modalGenre{color:#b13b27;background:#fff0ec;border-radius:999px;margin:10px 0 14px;padding:5px 10px;font-size:13px;font-weight:900;display:inline-flex}.modalDetails{grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px;display:grid}.modalDetails div{background:#fff4da;border-radius:8px;padding:10px}.modalDetails dt{color:#795126;margin:0 0 3px;font-size:12px;font-weight:900}.modalDetails dd{margin:0;font-size:16px;font-weight:900}.modalText{margin:10px 0 0;font-size:14px;line-height:1.6}.modalText strong{color:#795126;margin-bottom:2px;display:block}.visitMessage{background:#fff;border-left:5px solid #f2b84b;border-radius:8px;margin:6px 0 0;padding:8px 10px;font-size:14px;font-weight:800;line-height:1.4}.visitMessage strong{color:#8a4d18;margin-bottom:4px;display:block}.closeModalButton{color:#fff;touch-action:manipulation;background:#237a57;border:0;border-radius:8px;width:100%;min-height:52px;margin-top:10px;font-size:18px;font-weight:900;box-shadow:0 5px #14553a}.closeModalButton:active{transform:translateY(3px);box-shadow:0 2px #14553a}@media (width<=420px){.scoreStatus{font-size:14px}.resultScoreHero{grid-template-columns:repeat(2,minmax(0,1fr))}.resultScoreHero p{min-height:64px}.scoreBreakdownMini{grid-template-columns:repeat(2,minmax(0,1fr))}.scoreBreakdownList{grid-template-columns:1fr}}.visitModal.resultModal{max-height:min(96vh,860px);padding:10px;overflow-y:auto}.resultModal .result-screen{gap:10px;display:grid}.resultModal .resultHeader{gap:0;margin:0 0 6px;padding:0}.resultModal .resultHeader .shopLabel{font-size:10px}.resultModal .resultHeader h2{font-size:clamp(22px,5.4vw,26px)}.resultModal .resultHeader span{font-size:11px}.resultModal .result-header-image{width:100%}.resultModal .result-header-overlay{padding:4px 12px;top:66%;left:50%}.resultModal .resultScoreHero{border-radius:14px;gap:7px;margin:0 0 2px;padding:8px}.resultModal .resultScoreHero p{min-height:62px;padding:7px 6px}.resultModal .resultScoreHero strong{font-size:clamp(24px,5.8vw,34px)}.resultModal .resultScoreHero p:nth-child(2) strong{font-size:clamp(19px,4.7vw,30px)}.resultModal .scoreBreakdownMini{gap:4px}.resultModal .scoreBreakdownMini div{padding:5px 4px}.resultModal .scoreBreakdownMini dt{font-size:9px}.resultModal .scoreBreakdownMini dd{font-size:10px}.resultModal .result-screenshot-main-stats{grid-template-columns:1fr 1fr;gap:7px;margin:2px 0 0}.resultModal .resultVisitCountCard{min-height:90px;padding:7px}.resultModal .resultMainStats .resultVisitCountCard strong{font-size:clamp(42px,10vw,56px)}.resultModal .resultSpendTimeStack{gap:6px}.resultModal .resultMainStats .resultSpendTimeStack p{min-height:45px;padding:7px 8px}.resultModal .resultMainStats .resultSpendTimeStack strong{white-space:nowrap;font-size:clamp(18px,4.2vw,25px)}.resultModal .earnedBadgeBlock{padding:8px}.resultModal .result-achievements h3{margin-bottom:5px;font-size:14px}.resultModal .resultBadgeGrid.badgeList{gap:8px;padding:1px 1px 5px}.resultModal .resultBadgeGrid.badgeList li{flex-basis:92px;min-height:96px}.resultModal .resultBadgeGrid.badgeList li.featuredBadge{flex-basis:100px;min-height:102px}.resultModal .achievementMiniButton{align-content:stretch;gap:4px;padding:7px 6px}.resultModal .badgeMedal{width:26px;height:26px;font-size:16px}.resultModal .featuredBadge .badgeMedal{width:30px;height:30px;font-size:19px}.resultModal .resultBadgeGrid.badgeList strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:30px;font-size:11px;display:-webkit-box;overflow:hidden}.resultModal .achievementPointBadge{place-self:end;font-size:10px}.resultModal .mainTitleCard{border-radius:14px;gap:6px;margin:3px 0 0;padding:14px 12px 13px}.resultModal .mainTitleCard:has(.resultTitleImage){width:calc(100% + 20px);box-shadow:none;background:0 0;border:0;margin-inline:-10px;padding:0}.resultModal .resultTitleImage{width:100%;max-width:none;max-height:min(26vh,210px)}.resultModal .mainTitleRibbon{font-size:10px}.resultModal .mainTitleCard .resultTitle{font-size:clamp(22px,5.6vw,30px)}.resultModal .mainTitleCard .resultComment{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.resultModal .resultActions{justify-items:center;margin-top:18px;padding-top:8px}.resultModal .result-action-button{width:min(78%,340px);max-width:340px}@media (width<=420px){.modalOverlay{padding:8px}.visitModal.resultModal{max-height:96vh;padding:8px}.resultModal .result-screen{gap:8px}.resultModal .resultHeader{padding:8px 9px}.resultModal .resultHeader h2{font-size:20px}.resultModal .resultScoreHero{gap:6px;padding:7px}.resultModal .resultScoreHero p{min-height:54px;padding:6px 5px}.resultModal .scoreBreakdownMini{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.resultModal .scoreBreakdownMini div{padding:4px 2px}.resultModal .scoreBreakdownMini dt{font-size:8px}.resultModal .scoreBreakdownMini dd{font-size:9px}.resultModal .resultVisitCountCard{min-height:82px}.resultModal .resultMainStats .resultVisitCountCard strong{font-size:clamp(38px,11vw,50px)}.resultModal .resultMainStats .resultSpendTimeStack p{min-height:41px;padding:6px}.resultModal .resultMainStats .resultSpendTimeStack strong{font-size:clamp(16px,4.2vw,21px)}.resultModal .resultBadgeGrid.badgeList li{flex-basis:86px;min-height:90px}.resultModal .resultBadgeGrid.badgeList li.featuredBadge{flex-basis:94px;min-height:96px}.resultModal .achievementMiniButton{padding:6px 5px}.resultModal .mainTitleCard{padding:13px 10px 12px}.resultModal .mainTitleCard:has(.resultTitleImage){width:calc(100% + 18px);margin-inline:-9px;padding:0}.resultModal .resultTitleImage{width:100%;max-height:min(25vh,182px)}.resultModal .result-action-button{width:min(82%,320px)}.resultModal .mainTitleCard .resultTitle{font-size:clamp(21px,6vw,27px)}}.appShell{min-height:100dvh;overflow-x:hidden}.flow-screen,.title-screen,.character-screen,.gacha-screen,.startLocationScreen,.game-map-screen{box-sizing:border-box;place-items:center;width:100%;min-height:100dvh;padding:14px;display:grid;overflow-x:hidden}.flow-card,.classSelectPanel,.titleCard{box-sizing:border-box;width:min(94vw,460px);max-width:100%}.screen-actions{justify-items:center;gap:10px;margin-top:14px;display:grid}.game-button{cursor:pointer;border-radius:999px;width:min(82%,340px);max-width:340px;min-height:44px}.back-button,.secondary-button{width:min(58%,240px);min-height:34px;font-size:.9rem}.formField{gap:6px;margin:14px 0;display:grid}.formField input{box-sizing:border-box;width:100%}.genderGroup{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.genderButton{border-radius:10px;min-height:38px}.classSelectPanel{background:#050202;border-radius:16px;gap:6px;padding:8px;display:grid;overflow:hidden}.class-select-header{background:#050202;justify-content:center;align-items:center;padding:0 4px 2px;display:flex}.classCardList{gap:5px;width:100%;display:grid}.classImageCard{box-sizing:border-box;cursor:pointer;background:#3e0c12b8;border:1px solid #d6a45059;border-radius:12px;width:100%;margin:0;padding:3px 4px;line-height:1;display:block;position:relative}.classImageCard.selected{border-color:#f4ce73;box-shadow:0 0 0 2px #f4ce7359,0 0 18px #f4ce736b}.classImageCard img{object-fit:contain;border-radius:9px;width:100%;height:auto;display:block}.classFallbackText{display:none}.startMoneyPreview,.gachaRemainingCount,.finePrint{text-align:center}.gachaMedia{object-fit:contain;width:100%;max-height:min(46vh,360px);display:block}.gachaResultPanel{text-align:center}.startLocationList{gap:8px;margin-top:12px;display:grid}.startLocationCard{text-align:left;box-sizing:border-box;border-radius:12px;align-items:center;gap:10px;width:100%;padding:10px;display:flex}.startLocationCard.selected{outline:2px solid #d7a85b}.class-confirm-overlay{z-index:9999;pointer-events:all;background:#000000ad;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.class-confirm-card{object-fit:contain;border-radius:16px;width:92%;max-width:520px;height:auto;animation:3s forwards classCardPop;display:block;box-shadow:0 0 24px #ffd25ab3,0 0 60px #ff8c1e59}.flow-screen,.character-screen,.gacha-screen,.start-location-screen,.prologue-screen{box-sizing:border-box;place-items:center;width:100%;min-height:100dvh;padding:14px;display:grid;overflow-x:hidden}.flow-screen-card,.characterCard,.gachaCard,.prologueCard{box-sizing:border-box;width:min(94vw,430px);max-width:430px;margin:0 auto}.character-class-screen .characterCard{width:min(96vw,460px);max-width:460px}.classSelectHeader{background:#050202;border-radius:16px 16px 8px 8px;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.class-select-header-image{object-fit:contain;width:100%;max-width:420px;height:auto;display:block}.characterTypeGrid{grid-template-columns:1fr;gap:8px;width:100%;display:grid}.characterTypeCard{box-sizing:border-box;width:100%;max-width:100%;overflow:hidden}.characterTypeImageFrame{place-items:center;width:100%;min-height:96px;display:grid;overflow:hidden}.characterTypeImage{object-fit:contain;width:100%;max-width:100%;height:auto;display:block}.gachaMachine{place-items:center;width:100%;max-width:360px;margin:10px auto;display:grid;overflow:hidden}.gachaMedia{object-fit:contain;width:100%;max-width:340px;height:auto;max-height:min(42vh,340px);display:block}.startLocationGrid{grid-template-columns:1fr;gap:8px;width:100%;display:grid}.startLocationOption{box-sizing:border-box;width:100%}.startLocationActions,.gachaActions,.characterActions,.screen-actions{justify-items:center;gap:10px;width:100%;display:grid}.game-button,.primary-button,.secondary-button{max-width:340px}.prologueScreen,.characterScreen,.character-class-screen,.startLocationScreen,.prologue-screen,.character-screen,.start-location-screen{box-sizing:border-box;writing-mode:horizontal-tb;place-items:start center;width:min(100%,500px);max-width:500px;min-height:calc(100dvh - 20px);margin:0 auto;padding:clamp(8px,3vh,24px) 10px;display:grid}.prologueCard,.characterCard,.gachaCard,.startLocationCard{box-sizing:border-box;writing-mode:horizontal-tb;width:min(94vw,430px);max-width:430px;margin:0 auto;display:grid}.startLocationGrid{writing-mode:horizontal-tb;grid-template-columns:1fr;gap:10px;width:100%;display:grid}.startLocationOption{box-sizing:border-box;writing-mode:horizontal-tb;grid-template-columns:44px minmax(0,1fr);align-items:center;width:100%;display:grid}.startLocationText,.startLocationText strong,.startLocationText em,.startLocationText span{writing-mode:horizontal-tb;text-orientation:mixed}.prologueScreen,.prologue-screen,.characterScreen:not(.character-class-screen),.character-screen:not(.character-class-screen){align-content:center;place-items:center}.prologueScreen .prologueCard,.prologue-screen .prologueCard,.characterScreen:not(.character-class-screen) .characterCard,.character-screen:not(.character-class-screen) .characterCard{margin-top:0;margin-bottom:0}.start-location-screen .startLocationCard{background:radial-gradient(circle at top,#80252d6b,#0000 42%),linear-gradient(#1d080bf5,#3d1611f5),#170606;border-color:#ebbb568f;gap:7px;padding:clamp(10px,1.8vh,15px);box-shadow:0 16px 34px #0a04036b,inset 0 0 0 1px #ffe18f2e}.character-class-screen.characterScreen,.start-location-screen.startLocationScreen{background:radial-gradient(circle at 50% 18%,#d6a84f3d,#0000 34%),linear-gradient(#14090873,#290e12b8),url(/title/title-bg.png) 50%/cover no-repeat,#170d0b;box-shadow:0 22px 48px #14090852,inset 0 0 0 1px #f4cf7547}.start-location-screen .startLocationCard h1{color:#ffe7a6;text-shadow:0 2px 5px #00000073;margin-bottom:0;font-size:clamp(23px,6vw,29px)}.start-location-screen .startLocationCard .gachaLead{color:#f5dca8;margin:0;font-size:12px}.startLocationHeader{background:#050202;border:1px solid #ebbb5638;border-radius:12px 12px 8px 8px;place-items:center;width:100%;margin:0;padding:0;display:grid;overflow:hidden}.startLocationHeaderImage{object-fit:contain;width:100%;max-width:100%;height:auto;display:block}.start-location-screen .startLocationGrid{gap:5px}.start-location-screen .startLocationOption.imageCard{background:linear-gradient(145deg,#350e12f0,#7a2919e6),#2c0e12;border:2px solid #5e1f1c8c;border-radius:14px;padding:3px;display:block;overflow:hidden;box-shadow:0 6px 14px #18080642,inset 0 0 0 1px #f5cc703d}.start-location-screen .startLocationOption.imageCard.selected{border-color:#f4d27b;box-shadow:0 0 0 2px #fff5c45c,0 0 22px #f3b6497a,0 8px 18px #2d0c0857}.startLocationImageFrame{background:#140606;border-radius:10px;width:100%;display:block;position:relative;overflow:hidden}.startLocationImage{aspect-ratio:16/7;object-fit:cover;width:100%;display:block}.start-location-screen .startLocationOption.imageCard .startLocationBadge{background:#8d2336f0;border:1px solid #ffebabbd;top:9px;right:9px}.gacha-screen.gachaScreen{background:radial-gradient(circle at 50% 18%,#d6a84f3d,#0000 34%),linear-gradient(#14090873,#290e12b8),url(/title/title-bg.png) 50%/cover no-repeat,#170d0b;box-shadow:0 22px 48px #14090852,inset 0 0 0 1px #f4cf7547}.gacha-screen .gachaCard{grid-template-rows:auto minmax(0,1fr) auto auto;align-content:stretch;gap:7px;min-height:calc(100dvh - 28px);padding:clamp(7px,1.1vh,12px)}.gacha-screen .gachaHeader{background:#050202;place-items:center;gap:3px;padding:0 4px 5px;display:grid;overflow:hidden}.gachaHeaderImage{object-fit:contain;border-radius:10px 10px 6px 6px;width:100%;max-width:100%;height:auto;display:block}.gacha-screen .gachaLead{margin:0;padding:2px 8px 0;font-size:11px;line-height:1.35}.gacha-screen .gachaMachine.videoMode{align-self:stretch;width:100%;max-width:none;height:100%;min-height:min(60dvh,580px);margin:0 auto;padding:0}.gacha-screen .gachaMedia{object-fit:cover;object-position:center;width:100%;max-width:none;height:100%;min-height:min(60dvh,580px);max-height:none}.gacha-screen .gachaMoneyPreview{margin-top:0}.gachaModalRemaining{color:#ffe9b8;text-shadow:0 1px 3px #00000094;margin:-2px 0 0;font-size:13px;font-weight:900}@media (width<=430px) and (height<=760px){.flow-screen,.character-screen,.gacha-screen,.start-location-screen,.prologue-screen{min-height:100dvh;padding:6px}.character-class-screen{place-items:center;padding:5px 6px}.character-class-screen .characterCard{gap:4px;width:min(94vw,380px);max-height:calc(100dvh - 10px);padding:5px;overflow:hidden}.character-class-screen .classSelectHeader{border-radius:12px 12px 6px 6px}.character-class-screen .class-select-header-image{object-fit:contain;width:78%;max-height:62px}.character-class-screen .characterSection{gap:0;display:grid}.character-class-screen .characterTypeGrid{gap:3px}.character-class-screen .characterTypeCard{border-radius:9px;padding:2px 3px}.character-class-screen .characterTypeImageFrame{min-height:0}.character-class-screen .characterTypeImage{object-fit:contain;width:100%;height:min(13.6dvh,96px)}.character-class-screen .characterStartMoney{margin:1px 0 0;padding:3px 8px;font-size:11px;line-height:1.2}.character-class-screen .characterActions{gap:4px;margin-top:2px}.character-class-screen .characterActions .primary-button{min-height:34px;font-size:13px}.character-class-screen .characterActions .secondary-button{min-height:26px;font-size:10px}.gacha-screen{padding:6px}.gacha-screen .gachaCard{gap:5px;min-height:calc(100dvh - 12px);padding:6px}.gacha-screen .gachaHeader{gap:1px;padding:0 2px 3px}.gacha-screen .gachaLead{padding-top:0;font-size:10px;line-height:1.25}.gacha-screen .gachaMachine.videoMode,.gacha-screen .gachaMedia{min-height:min(54dvh,430px)}.gacha-screen .gachaMoneyPreview{border-radius:10px;padding:6px 9px}.gachaMoneyPreview span{font-size:11px}.gacha-screen .gachaMoneyPreview strong{font-size:16px}.start-location-screen{padding:5px 6px}.start-location-screen .startLocationCard{gap:4px;max-height:calc(100dvh - 10px);padding:6px;overflow:hidden}.startLocationHeader{border-radius:10px 10px 6px 6px}.startLocationHeaderImage{object-fit:contain;max-height:64px}.start-location-screen .startLocationGrid{gap:3px}.start-location-screen .startLocationOption.imageCard{border-radius:10px;padding:2px}.startLocationImageFrame{border-radius:8px}.startLocationImage{aspect-ratio:16/5.6}.start-location-screen .startLocationOption.imageCard .startLocationBadge{padding:2px 6px;font-size:10px;top:5px;right:5px}.startLocationActions{gap:4px;margin-top:3px}.startLocationActions .primary-button{min-height:36px;font-size:13px}}.character-class-screen.characterScreen,.gacha-screen.gachaScreen,.start-location-screen.startLocationScreen{box-sizing:border-box;background:radial-gradient(circle at 50% 18%,#d6a84f3d,#0000 34%),linear-gradient(#14090873,#290e12b8),url(/title/title-bg.png) 50%/cover no-repeat,#170d0b;place-items:center;width:min(100%,460px);max-width:460px;min-height:calc(100dvh - 20px);margin:0 auto;transform:none}@media (width<=430px) and (height<=760px){.character-class-screen.characterScreen,.gacha-screen.gachaScreen,.start-location-screen.startLocationScreen{background-position:50%;min-height:calc(100dvh - 20px);padding:6px}}@media (width<=430px){.character-class-screen .characterCard,.gacha-screen .gachaCard,.start-location-screen .startLocationCard{width:min(90vw,360px);max-width:360px;margin-inline:auto}.character-class-screen .characterCard{gap:4px;padding:5px}.character-class-screen .class-select-header-image{object-fit:contain;max-height:70px}.character-class-screen .characterTypeGrid{gap:3px}.character-class-screen .characterTypeCard{padding:2px 3px}.character-class-screen .characterTypeImage{object-fit:contain;height:min(14dvh,94px)}.character-class-screen .characterStartMoney{margin:1px 0;padding:4px 8px}.character-class-screen .characterActions{gap:4px;margin-top:2px}.gacha-screen .gachaCard{gap:5px;min-height:auto;padding:6px}.gacha-screen .gachaHeader{gap:1px;padding-bottom:3px}.gacha-screen .gachaMachine.videoMode,.gacha-screen .gachaMedia{min-height:min(55dvh,430px)}.gacha-screen .gachaMoneyPreview{padding:6px 9px}.start-location-screen .startLocationCard{gap:4px;padding:6px}.start-location-screen .startLocationGrid{gap:3px}.start-location-screen .startLocationOption.imageCard{padding:2px}.startLocationHeaderImage{object-fit:contain;max-height:64px}.startLocationImage{aspect-ratio:16/5.65}.startLocationActions{margin-top:3px}}@media (width<=600px){.character-class-screen .characterCard,.gacha-screen .gachaCard,.start-location-screen .startLocationCard{width:min(94vw,420px);max-width:420px;margin:0 auto}.character-class-screen .characterCard{gap:4px;padding:5px}.character-class-screen .characterTypeImage{height:min(14.5dvh,104px)}.character-class-screen .characterStartMoney{padding:4px 8px;font-size:11px}.gacha-screen .gachaCard{gap:5px;padding:6px}.gacha-screen .gachaHeader{padding:0 3px 3px}.gachaHeaderImage{max-height:86px}.gacha-screen .gachaLead{font-size:11px;line-height:1.25}.gacha-screen .gachaMoneyPreview{padding:6px 9px}.start-location-screen .startLocationCard{gap:4px;padding:6px}.startLocationHeaderImage{max-height:70px}.start-location-screen .startLocationGrid{gap:3px}.start-location-screen .startLocationOption.imageCard{border-radius:10px;padding:2px}.startLocationImage{aspect-ratio:16/5.65}.startLocationActions .primary-button{min-height:36px}.character-class-screen .characterCard{justify-self:center;gap:2px;width:100%;max-width:100%;padding:3px}.character-class-screen .classSelectHeader{border-radius:12px 12px 6px 6px}.character-class-screen .class-select-header-image{max-height:52px}.character-class-screen .characterTypeGrid{gap:1px}.character-class-screen .characterTypeCard{border-radius:9px;padding:1px}.character-class-screen .characterTypeImage{object-fit:contain;height:min(19.5dvh,141px)}.character-class-screen .characterStartMoney{margin:0;padding:2px 8px;font-size:10px;line-height:1.1}.character-class-screen .characterActions{gap:3px;margin-top:1px}.character-class-screen .characterActions .primary-button{min-height:32px}.character-class-screen .characterActions .secondary-button{min-height:24px}.gacha-screen .gachaMedia{object-fit:cover;object-position:center}.gacha-screen .gachaCard{grid-template-rows:auto auto auto auto;align-content:start;gap:3px;min-height:auto}.gacha-screen .gachaMachine.videoMode,.gacha-screen .gachaMedia{height:min(62dvh,520px);min-height:min(62dvh,520px)}.gacha-screen .gachaMoneyPreview{margin-top:-2px}}@media (width<=430px) and (height<=760px){.gacha-screen .gachaMachine.videoMode,.gacha-screen .gachaMedia{height:min(58dvh,455px);min-height:min(58dvh,455px)}}@media (width<=600px){.game-map-screen .gameHeader{padding:3px 8px 4px}.game-map-screen .subtitle{display:none}.game-map-screen .gameHeader h1{font-size:16px;line-height:1.05}.game-map-screen .adminBadge{margin-top:3px;padding:2px 7px;font-size:10px}.start-location-screen .startLocationCard{justify-items:center}.start-location-screen .startLocationGrid{box-sizing:border-box;justify-items:center;gap:3px;width:100%;margin-inline:auto;padding-inline:0}.start-location-screen .startLocationOption.imageCard{box-sizing:border-box;justify-self:center;width:100%;margin-inline:auto;padding:1px}.start-location-screen .startLocationImage{aspect-ratio:16/5.65;object-fit:contain;background:#100505}}@media (width>=601px){.start-location-screen .startLocationImage{object-fit:contain;background:#100505}}.optionOverlay{background:#180a08b8}.optionModal{color:#fff4dd;background:linear-gradient(#301210f5,#120807f5),#1d0d0b;border:1px solid #daa452c7;flex-direction:column;gap:10px;width:min(92vw,520px);height:min(78dvh,620px);max-height:82dvh;display:flex;overflow:hidden}.optionCloseButton{opacity:.88;min-width:120px;min-height:34px;padding:6px 16px;font-size:12px}.optionTabs{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:0;padding-top:2px;display:grid}.optionTabs button{color:#f8e4bd;background:#fff4db1a;border:1px solid #daa4528a;border-radius:8px;padding:9px 6px;font-size:12px;font-weight:700}.optionTabs button.active{color:#fff8e8;background:linear-gradient(#9f2940,#641626);border-color:#f2c979;box-shadow:0 0 14px #f2c97942}.optionCollectionPanel{background:#fff6e014;border:1px solid #daa45261;border-radius:10px;flex:auto;height:100%;min-height:0;max-height:none;padding:10px;overflow-y:auto}.optionFooter{justify-content:center;padding-top:2px;display:flex}.optionCollectionCount{color:#f9d98b;text-align:right;margin:0 0 8px;font-weight:700}.optionCollectionList{gap:8px;margin:0;padding:0;list-style:none;display:grid}.titleCollectionPanel{padding:8px}.titleCollectionGrid{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.titleCollectionCard{background:#100706d1;border:1px solid #f2c9795c;border-radius:8px;width:100%;min-height:0;position:relative;overflow:hidden;box-shadow:0 6px 12px #00000038}.titleCollectionImage{object-fit:contain;background:#0000002e;width:100%;height:auto;max-height:150px;display:block}.titleCollectionCardLocked .titleCollectionImage{filter:brightness(.24)grayscale()blur(1px);opacity:.64}.titleCollectionFallback{color:#f5d47d;background:radial-gradient(circle,#75222d99,#0f0706f0);justify-content:center;align-items:center;width:100%;min-height:150px;font-size:14px;font-weight:700;display:flex}.titleCollectionLockOverlay{color:#fff4dd;text-shadow:0 2px 8px #000000e0;pointer-events:none;background:linear-gradient(#0000002e,#00000080);flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0}.titleCollectionLockOverlay span{font-size:21px;line-height:1}.titleCollectionLockOverlay strong{letter-spacing:0;font-size:12px}.optionCollectionList li{background:#fff7e61f;border:1px solid #daa45257;border-radius:9px;grid-template-columns:40px 1fr;align-items:center;gap:10px;padding:9px;display:grid}.optionCollectionList li.locked{opacity:.72;background:#0000002e}.optionCollectionIcon{background:#ffecb024;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:20px;display:flex}.optionCollectionList strong{color:#fff7e7;font-size:14px;display:block}.optionCollectionList p{color:#fff4ddd1;margin:3px 0 0;font-size:12px;line-height:1.45}.optionCollectionPoint{color:#fff4dd;background:#8f2336e6;border-radius:999px;margin-top:5px;padding:2px 7px;font-size:11px;font-style:normal;font-weight:700;display:inline-block}.optionComingSoon{text-align:center;place-content:center;display:grid}.optionComingSoon strong{color:#f8d984;font-size:20px}.titleScreen.title-screen{border-radius:18px;justify-content:center;align-items:stretch;width:min(100%,430px);height:min(100dvh,820px);min-height:min(100dvh,820px);margin:0 auto;padding:0;display:flex;overflow:hidden}.titleScreen.title-screen .titleScreenCard.title-screen-card{border-radius:inherit;width:100%;height:100%;min-height:100%;margin:0}@media (width<=520px){.titleScreen.title-screen{width:min(100%,430px);height:min(100dvh,820px);min-height:min(100dvh,820px)}}.titleScreenCard.title-screen-card{position:relative}.titleAboutTextLink{z-index:10;color:#ffffffc7;text-underline-offset:3px;cursor:pointer;white-space:nowrap;font-size:.62rem;line-height:1.2;text-decoration:underline;position:absolute;bottom:36px;left:50%;transform:translate(-50%)}.titleAboutTextLink:hover,.titleAboutTextLink:focus-visible{color:#fff}.tile.landmarkType-bank,.landmarkTile.landmarkType-bank{background:#d9ecff!important;border:2px solid #2f6fb3!important}.tile.landmarkType-bank.landmarkLabelTile,.landmarkLabelTile.landmarkType-bank{background:#eef6ff!important;border:2px solid #1459a6!important}.landmarkType-bank .landmarkLabelText{color:#163a63!important;font-weight:700!important}@media (width<=640px){html,body,#root,.app{width:100%;min-width:0;max-width:100%;overflow-x:hidden}.app{align-items:center;padding-left:0;padding-right:0}.titleScreen,.title-screen,.prologueScreen,.prologue-screen,.characterScreen,.character-screen,.gachaScreen,.gacha-screen,.startLocationScreen,.start-location-screen,.game-map-screen,.flow-screen,.gamePanel{box-sizing:border-box;width:min(100%,100vw - 16px);min-width:0;max-width:calc(100vw - 16px);margin-left:auto;margin-right:auto;overflow-x:hidden;transform:none}.titleScreen.title-screen,.prologueScreen.prologue-screen,.characterScreen.character-screen,.character-class-screen.characterScreen,.gacha-screen.gachaScreen,.start-location-screen.startLocationScreen{width:min(100%,100vw - 16px);max-width:calc(100vw - 16px);margin-left:auto;margin-right:auto}.titleScreenCard,.title-screen-card,.prologueCard,.characterCard,.gachaCard,.startLocationCard,.flow-screen-card{box-sizing:border-box;min-width:0;max-width:100%}.statusHud,.mapGrid,.gameControlsArea,.messageText{box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin-left:auto;margin-right:auto}.mapGrid{justify-self:center}}.optionRewardSection{border-top:1px solid #f2c97957;gap:8px;margin-top:14px;padding-top:12px;display:grid}.optionRewardSection h3{color:#f9d98b;text-align:center;margin:0;font-size:15px}.optionRewardCard{box-sizing:border-box;color:#fff7e7;text-align:center;touch-action:manipulation;border:2px solid #f2c9798a;border-radius:10px;place-items:center;gap:4px;width:100%;min-height:78px;padding:11px 12px;display:grid}.optionRewardCard strong,.optionRewardCard span,.optionRewardCard em{display:block}.optionRewardCard strong{font-size:16px}.optionRewardCard span{color:#fff4ddd6;font-size:12px;line-height:1.4}.optionRewardCard em{color:#ffe5a0;background:#ffefba29;border-radius:999px;margin-top:2px;padding:4px 12px;font-size:12px;font-style:normal;font-weight:900}.optionRewardCard.unlocked{cursor:pointer;background:radial-gradient(circle at 50% 0,#f4ce7340,#0000 54%),linear-gradient(#841c30f0,#410d1bf5);box-shadow:0 0 18px #f2c9792e}.optionRewardCard.locked{cursor:pointer;color:#fff7e7ad;filter:grayscale(.7);background:linear-gradient(#1b1616e0,#080707f0);border-color:#d2c3ae40}.optionRewardCard:active{transform:translateY(1px)}.optionRewardOverlay{z-index:10030;background:#080303c7;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.optionRewardNoticeModal{color:#fff7ea;text-align:center;background:linear-gradient(#2d1115,#150908);border:2px solid #ebbb56b8;border-radius:12px;justify-items:center;gap:10px;width:min(100%,340px);padding:18px 16px;display:grid;box-shadow:0 20px 50px #00000073}.optionRewardNoticeModal strong{font-size:17px}.optionRewardNoticeModal p{color:#fff7ead1;margin:0;font-size:13px;line-height:1.6}.optionRewardVideoOverlay{z-index:10040}.optionRewardVideoModal{width:min(100%,640px)}.optionRewardCloseButton{width:min(72%,220px);margin:12px auto 0;display:block}@media (width<=640px){.optionRewardSection{gap:7px;margin-top:11px;padding-top:10px}.optionRewardCard{min-height:72px;padding:9px 10px}.optionRewardVideoModal{box-sizing:border-box;width:min(100%,100vw - 24px);max-width:calc(100vw - 24px)}.optionRewardVideoModal .eventVideoPlayer{max-height:62dvh}}
