:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:100%;max-width:640px;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.pShell{box-sizing:border-box;flex-direction:column;align-items:center;gap:12px;width:100%;padding:16px 12px 24px;display:flex}.pShell--game{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.pMobileToolBar{z-index:30;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--bg,#fff) 92%, transparent);border-top:1px solid var(--border);box-sizing:border-box;gap:8px;display:none;position:fixed;bottom:0;left:0;right:0}.pMobileToolBtn{appearance:none;border:1px solid var(--border);background:var(--code-bg);min-height:48px;color:var(--text-h);cursor:pointer;border-radius:10px;flex:1;font-size:14px;font-weight:600}.pMobileToolBtn.isActive{background:var(--text-h);color:#fff;border-color:var(--text-h)}@media (width<=720px){.pMobileToolBar{display:flex}.pShell--game .pToolbar .pToolbarRow:has(.pBtn--mode){display:none}}.pTitle{letter-spacing:-.2px;margin:10px 0 2px;font-size:clamp(24px,6vw,32px)}.pLead{width:min(92vw,420px);color:var(--text);margin:0;font-size:14px;line-height:1.5}.pUserName,.pStats{color:var(--text-h);margin:0;font-size:14px}.pProgress{flex-direction:column;gap:6px;width:min(92vw,420px);display:flex}.pProgressLabel{color:var(--text);margin:0;font-size:13px}.pProgressValue{color:var(--text);text-align:right;margin:0;font-size:12px}.pProgressTrack{background:var(--code-bg);border:1px solid var(--border);border-radius:999px;width:100%;height:10px;position:relative;overflow:hidden}.pProgressFill{border-radius:inherit;background:var(--text-h);width:0;height:100%;transition:width .16s ease-out}.pProgressTrack.isIndeterminate .pProgressFill{width:36%;transition:none;animation:1.1s ease-in-out infinite pProgressSlide}@keyframes pProgressSlide{0%{transform:translate(-120%)}to{transform:translate(320%)}}.pProgress--game{margin-top:-2px}.pProgress--loading{margin-top:4px}.pMenu{flex-direction:column;gap:10px;width:min(92vw,320px);margin-top:8px;display:flex}.pPuzzleList{flex-direction:column;gap:8px;display:flex}.pPuzzleItem{text-align:left;justify-content:space-between;align-items:center;width:100%;display:flex}.pPuzzleItemRow{align-items:stretch;gap:8px;width:100%;display:flex}.pPuzzleItemRow .pPuzzleItem{flex:1}.pPuzzleRankBtn{flex:none;min-width:64px;padding-left:10px;padding-right:10px}.pRankTableWrap{width:min(92vw,420px);overflow-x:auto}.pRankTable{border-collapse:collapse;width:100%;font-size:14px}.pRankCaption{caption-side:top;text-align:left;color:var(--text-h);margin-bottom:6px;font-weight:600}.pRankTable th,.pRankTable td{border-bottom:1px solid var(--border);text-align:left;padding:8px 6px}.pRankRow--me{background:color-mix(in srgb, var(--code-bg) 70%, #cfe8cf);font-weight:600}.pPuzzleItemTitle{font-weight:600}.pPuzzleItemMeta{opacity:.85;font-size:12px}.pClearPhoto{aspect-ratio:1;border:1px solid var(--border);border-radius:8px;width:min(92vw,420px);overflow:hidden}.pClearPhoto img{object-fit:cover;width:100%;height:100%}.pClearPhotoPlaceholder{color:#fff;background:linear-gradient(160deg,#d7e3d0 0%,#8fae7e 45%,#4d6b45 100%);flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;font-size:18px;font-weight:600;display:flex}.pClearPhotoPlaceholder small{opacity:.9;font-size:12px;font-weight:400}.pRegionDesc{color:var(--text);margin:0;font-size:13px;line-height:1.5}.pRegionCredit{color:var(--text);margin:8px 0 0;font-size:12px}.pRules{text-align:left;border:1px solid var(--border);background:var(--code-bg);box-sizing:border-box;border-radius:8px;width:min(92vw,420px);padding:12px 14px}.pRulesTitle{color:var(--text-h);margin:0 0 8px;font-size:16px}.pRulesList{color:var(--text);flex-direction:column;gap:6px;margin:0;padding-left:1.2em;font-size:13px;line-height:1.45;display:flex}.pOpHint{color:var(--text);text-align:center;margin:0;font-size:12px;line-height:1.4}.pOpHint--danger{color:red;font-weight:600}.pBoardWrap{width:min(92vw,420px)}.pViewport{aspect-ratio:1;border:1px solid var(--border);touch-action:none;-webkit-user-select:none;user-select:none;background:#f0f0f0;border-radius:8px;width:100%;position:relative;overflow:hidden}.pViewport.isPan{cursor:grab}.pViewport.isPan:active{cursor:grabbing}.pViewport.isPaint{cursor:crosshair}.pBoardTransform{transform-origin:50%;will-change:transform;z-index:1;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.pBoardBg{object-fit:cover;pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.pBoard{box-sizing:border-box;z-index:1;gap:0;width:100%;height:100%;padding:0;display:grid;position:relative}.pCell{aspect-ratio:1;box-sizing:border-box;background:#fff;border:none;border-radius:0;width:100%;padding:0;position:relative}.pCellGrid,.pCellArea{pointer-events:none;box-sizing:border-box;border:0 solid #0000;position:absolute;inset:0}.pCellGrid{z-index:2;border-color:#c8c8c8}.pCellGrid--top{border-top-width:1px}.pCellGrid--right{border-right-width:1px}.pCellGrid--bottom{border-bottom-width:1px}.pCellGrid--left{border-left-width:1px}.pCellArea{z-index:3;border-color:#222}.pCellArea--top{border-top-width:3px}.pCellArea--right{border-right-width:3px}.pCellArea--bottom{border-bottom-width:3px}.pCellArea--left{border-left-width:3px}.pCell--revealed{background:0 0}.pCell--revealed .pCellGrid{border-color:#0000}.pCell--revealed .pCellArea{border-color:#222}.pCell.isLocked{pointer-events:none}.pViewport.isCleared .pBoard{opacity:0;transition:opacity .6s}.pCellNumber{z-index:4;color:#222;pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:clamp(11px,3vw,16px);font-weight:600;display:flex;position:absolute;inset:0}.pCell--filled{background:#000}.pCell--filled .pCellGrid{border-color:#6a6a6a}.pCell--filled .pCellArea{border-color:#f0f0f0}.pCell--filled .pCellNumber{color:#fff}.pCell--empty{background:#9e9e9e}.pCell--empty .pCellGrid{border-color:#d0d0d0}.pCell--empty .pCellArea{border-color:#222}.pCell--empty .pCellNumber{color:#fff}.pCell.isHint{outline-offset:-2px;z-index:5;outline:3px solid #1565c0}.pCell.isHint .pCellNumber{font-weight:800}.pCell--clue-completed .pCellNumber{color:#5a7a5e;opacity:.7;font-weight:500}.pCell--filled.pCell--clue-completed .pCellNumber,.pCell--empty.pCell--clue-completed .pCellNumber{color:#a8c4ab;opacity:.85}.pCell--clue-contradiction .pCellNumber{color:red;opacity:.95;font-weight:700}.pCell--filled.pCell--clue-contradiction .pCellNumber,.pCell--empty.pCell--clue-contradiction .pCellNumber{color:red;opacity:1}.pToolbar{flex-direction:column;align-items:center;gap:10px;width:min(92vw,420px);display:flex}.pToolbarRow{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.pBtn{appearance:none;border:1px solid var(--border);background:var(--code-bg);color:var(--text-h);cursor:pointer;border-radius:8px;min-width:44px;min-height:44px;padding:12px 16px;font-size:15px}.pBtn--primary{background:var(--text-h);color:#fff;border-color:var(--text-h)}.pBtn:disabled{opacity:.5;cursor:not-allowed}.pAudioDock{top:max(8px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));z-index:40;position:fixed}.pAudioToggle{min-width:56px}.pAudioPanel{border:1px solid var(--border);background:var(--bg,#fff);border-radius:10px;flex-direction:column;gap:10px;width:min(92vw,260px);padding:12px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0000001f}.pAudioPanelTitle{color:var(--text-h);margin:0;font-size:14px;font-weight:600}.pAudioRow{color:var(--text);flex-direction:column;gap:4px;font-size:13px;display:flex}.pAudioRow input[type=range]{width:100%;min-height:28px}.pBtn--mode.isActive{outline-offset:1px;border-color:#333;outline:2px solid #333}.pClearText{color:var(--text-h);font-size:16px;font-weight:600}@media (width<=420px){.pToolbar{gap:8px}.pBtn{padding:12px 14px;font-size:14px}}@media (orientation:landscape) and (height<=500px){.pShell{gap:8px;padding:8px 12px 16px}.pTitle{margin:4px 0;font-size:22px}.pBoardWrap{width:min(70vw,50vh)}}.pMaker{align-items:stretch;max-width:560px;margin:0 auto}.pMakerError{color:red;margin:0;font-size:14px}.pCityShell{box-sizing:border-box;flex-direction:column;align-items:stretch;gap:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;padding:0;display:flex;position:relative;overflow:hidden}.pCityShell--immersive{z-index:40;background:var(--bg,#f6f7f4);width:100%;max-width:none;height:100%;max-height:none;position:fixed;inset:0}.pCityShell.pShell--game{padding-bottom:0}.pCityMapStage{flex-direction:column;flex:auto;width:100%;min-height:0;display:flex;position:relative}.pCityHeader{display:none}.pCityTitle{margin:0;font-size:clamp(18px,4vw,24px)}.pCityProgress{color:var(--text-h);margin:0;font-size:13px}.pCityCanvasWrap{touch-action:none;overscroll-behavior:none;background:#cfd8d3;border:none;border-radius:0;flex:auto;width:100%;height:auto;min-height:0;position:relative;overflow:hidden}.pCityCanvasWrap.isPan{cursor:grab}.pCityCanvasWrap.isPan:active{cursor:grabbing}.pCityZoomControls{right:max(10px, env(safe-area-inset-right));bottom:calc(88px + env(safe-area-inset-bottom));z-index:4;flex-direction:column;gap:6px;display:flex;position:absolute}.pCityZoomBtn{border:1px solid var(--border);cursor:pointer;background:#ffffffeb;border-radius:8px;width:44px;height:44px;font-size:22px;line-height:1;box-shadow:0 1px 4px #0000001f}.pCityZoomBtn:active{transform:scale(.96)}.pCityTopOverlay{z-index:5;padding:calc(8px + env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) 8px max(10px, env(safe-area-inset-left));background:linear-gradient(to bottom, color-mix(in srgb, var(--bg,#f6f7f4) 92%, transparent) 0%, color-mix(in srgb, var(--bg,#f6f7f4) 55%, transparent) 70%, transparent 100%);pointer-events:none;justify-content:space-between;align-items:flex-start;gap:8px;display:flex;position:absolute;top:0;left:0;right:0}.pCityTopOverlayMain{flex:auto;min-width:0}.pCityTopTitle{color:var(--text-h);text-align:left;margin:0;font-size:15px;font-weight:700;line-height:1.3}.pCityTopStats{color:var(--text);white-space:nowrap;text-overflow:ellipsis;text-align:left;margin:2px 0 0;font-size:12px;line-height:1.35;overflow:hidden}.pCityTopActions{pointer-events:auto;flex-shrink:0;gap:6px;display:flex}.pCityChromeBtn{appearance:none;border:1px solid var(--border);color:var(--text-h);cursor:pointer;background:#ffffffeb;border-radius:8px;min-height:36px;padding:0 10px;font-size:12px;font-weight:600;box-shadow:0 1px 3px #00000014}.pCityBottomDock{z-index:5;padding:8px max(8px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));background:linear-gradient(to top, color-mix(in srgb, var(--bg,#f6f7f4) 94%, transparent) 0%, color-mix(in srgb, var(--bg,#f6f7f4) 70%, transparent) 65%, transparent 100%);pointer-events:none;flex-direction:column;gap:6px;display:flex;position:absolute;bottom:0;left:0;right:0}.pCityModeSeg,.pCityActionSeg{pointer-events:auto;flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.pCityDockBtn{appearance:none;border:1px solid var(--border);color:var(--text-h);cursor:pointer;background:#fffffff0;border-radius:8px;min-height:40px;padding:0 12px;font-size:13px;font-weight:600;box-shadow:0 1px 3px #00000014}.pCityDockBtn.isActive{background:var(--text-h);color:#fff;border-color:var(--text-h)}.pCityDockBtn:disabled{opacity:.45;cursor:not-allowed}.pCityDockBtn--accent{background:color-mix(in srgb, var(--text-h) 12%, #fff)}.pCityMenuBackdrop{z-index:8;box-sizing:border-box;background:#141c1859;justify-content:center;align-items:flex-end;padding:12px;display:flex;position:absolute;inset:0}.pCityMenuSheet{background:var(--bg,#f6f7f4);border:1px solid var(--border);width:min(100%,420px);max-height:min(70dvh,520px);margin-bottom:env(safe-area-inset-bottom);border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex;overflow:auto;box-shadow:0 8px 28px #0000002e}.pCityMenuRow{flex-wrap:wrap;gap:8px;display:flex}.pCityMenuHover{justify-content:space-between;width:100%}.pCityMenuHint{color:var(--text);text-align:left;margin:0;font-size:12px;line-height:1.45}.pCityToast{left:50%;top:calc(56px + env(safe-area-inset-top));z-index:6;border:1px solid var(--border);background:#fffffff2;border-radius:8px;align-items:center;gap:8px;max-width:min(92vw,420px);padding:8px 10px;font-size:13px;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 2px 10px #0000001f}.pCityInfoPanel{left:max(10px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right));bottom:calc(96px + env(safe-area-inset-bottom));z-index:6;border:1px solid var(--border);text-align:left;box-sizing:border-box;background:#fffffff5;border-radius:10px;width:auto;max-width:420px;margin:0 auto;padding:12px 14px;position:absolute;box-shadow:0 6px 20px #00000024}.pCityHoverLabel{align-items:center;gap:8px;font-size:13px;display:inline-flex}.pCityHoverLabel input[type=range]{width:100px}.pCityOpHint{display:none}:is(.pCityShell.isFullscreen,.pCityShell:fullscreen){background:var(--bg,#f6f7f4);box-sizing:border-box;width:100%;height:100%;max-height:none;padding:0;overflow:hidden}:is(.pCityShell.isFullscreen .pCityMapStage,.pCityShell:fullscreen .pCityMapStage,.pCityShell.isFullscreen .pCityCanvasWrap,.pCityShell:fullscreen .pCityCanvasWrap){flex:auto;width:100%;min-height:0}.pCityCanvas{width:100%;height:100%;display:block}.pCityLodBadge{left:max(8px, env(safe-area-inset-left));top:calc(52px + env(safe-area-inset-top));pointer-events:none;z-index:3;background:#ffffffe0;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:600;position:absolute}.pCityToolbar,.pCityExtraRow,.pCityModeRow,.pCityTopBar{display:none}.pCityShell .pMobileToolBar{display:none!important}.pCityInfo{width:min(92vw,420px)}@media (orientation:landscape) and (height<=560px){.pCityShell--immersive .pCityBottomDock{width:min(156px,30vw);padding:max(8px, env(safe-area-inset-top)) calc(8px + env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) 8px;background:linear-gradient(to left, color-mix(in srgb, var(--bg,#f6f7f4) 94%, transparent) 0%, color-mix(in srgb, var(--bg,#f6f7f4) 72%, transparent) 70%, transparent 100%);flex-direction:column;justify-content:center;gap:8px;inset:0 0 0 auto}.pCityShell--immersive .pCityModeSeg,.pCityShell--immersive .pCityActionSeg{flex-flow:column;gap:5px;width:100%}.pCityShell--immersive .pCityDockBtn{width:100%;min-height:34px;padding:0 8px;font-size:12px}.pCityShell--immersive .pCityZoomControls{right:calc(min(156px,30vw) + 8px);bottom:max(10px, env(safe-area-inset-bottom))}.pCityShell--immersive .pCityZoomBtn{width:40px;height:40px;font-size:20px}.pCityShell--immersive .pCityTopOverlay{padding-top:max(6px, env(safe-area-inset-top));padding-bottom:6px;right:min(156px,30vw)}.pCityShell--immersive .pCityTopTitle{font-size:13px}.pCityShell--immersive .pCityTopStats{font-size:11px}.pCityShell--immersive .pCityChromeBtn{min-height:32px;padding:0 8px;font-size:11px}.pCityShell--immersive .pCityLodBadge{top:calc(40px + env(safe-area-inset-top))}.pCityShell--immersive .pCityInfoPanel{left:max(8px, env(safe-area-inset-left));right:calc(min(156px,30vw) + 8px);bottom:max(10px, env(safe-area-inset-bottom));max-width:none;padding:10px 12px}.pCityShell--immersive .pCityToast{top:calc(44px + env(safe-area-inset-top));left:calc(50% - min(78px,15vw))}.pCityShell--immersive .pCityMenuBackdrop{align-items:center;padding:8px}.pCityShell--immersive .pCityMenuSheet{width:min(100%,360px);max-height:min(92dvh,420px);margin-bottom:0}}.pCorrShell{align-items:stretch}.pCorrLayout{grid-template-columns:minmax(220px,280px) 1fr;gap:12px;width:min(98vw,1200px);height:min(78dvh,720px);display:grid}@media (width<=800px){.pCorrLayout{grid-template-columns:1fr;height:auto}}.pCorrPanel{flex-direction:column;gap:10px;padding:8px;display:flex;overflow:auto}.pCorrTools{flex-wrap:wrap;gap:6px;display:flex}.pCorrLabel{flex-direction:column;gap:4px;font-size:13px;display:flex}.pCorrActions{flex-direction:column;gap:6px;display:flex}.pCorrCanvasWrap{border:1px solid var(--border);touch-action:none;background:#cfd8d3;border-radius:8px;min-height:360px;position:relative;overflow:hidden}.pCorrCanvas{width:100%;height:100%;position:absolute;inset:0}.pCorrOverlay{image-rendering:pixelated;pointer-events:none;z-index:1;position:absolute;top:0;left:0}.pCityProgress.isWarn{color:#b00020;font-weight:700}
