:root{--bg:#f3f5f2;--surface:#fff;--fg:#1f2a24;--muted:#5d6b63;--line:#d5ddd7;--accent:#2f6b4f;--accent-fg:#fff;--guess:#d9622b;--ok:#2f7d4a;--ng:#b8432f;--hint-bg:#fdf3d8;--hint-accent:#9a6400;--band-1:#7a4fc9;--band-2:#2f6fd6;--band-3:#2e9e5b;--band-4:#e0b11a;--band-5:#e8742a;--band-6:#d93a3a;--font-display:"Dela Gothic One", "Hiragino Kaku Gothic StdN", sans-serif;--font-body:"Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#151b18;--surface:#1e2622;--fg:#e6ece8;--muted:#9fb0a6;--line:#33403a;--accent:#6fbf95;--accent-fg:#0f1a14;--guess:#f08a52;--ok:#79c995;--ng:#f08470;--hint-bg:#2e2a1b;--hint-accent:#e6b450;--band-1:#a07ef0;--band-2:#5b93ef;--band-3:#4cc07c;--band-4:#f1c83b;--band-5:#f59350;--band-6:#f06262;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:15px;line-height:1.6}a{color:inherit}button,input,select{font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wrap{max-width:1180px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));margin:0 auto}main.wrap{padding-block:16px 40px}.site-header{background:var(--surface);border-bottom:1px solid var(--line)}.header-row{align-items:center;gap:12px;padding-block:12px;display:flex}.logo{white-space:nowrap;font-family:var(--font-display);letter-spacing:.02em;align-items:center;gap:8px;font-size:22px;text-decoration:none;display:inline-flex}.logo-mark{flex:none;width:30px;height:30px}.logo-sub{color:var(--muted);font-size:13px;font-weight:700}.env-badge{letter-spacing:.06em;background:var(--ng);color:#fff;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:700}.app-version{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.header-nav{gap:16px;margin-left:auto;font-weight:700;display:flex}.header-nav a{color:var(--accent);text-decoration:none}.footer{color:var(--muted);padding-block:16px 32px;font-size:12px}.difficulty-bar{color:var(--muted);font-size:13px}.difficulty-bar summary{cursor:pointer;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;list-style:none;display:flex}.difficulty-bar summary::-webkit-details-marker{display:none}.difficulty-bar strong{color:var(--fg)}.difficulty-change{color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:3px 12px;font-size:13px;font-weight:700}.difficulty-bar summary:hover .difficulty-change{background:var(--accent);color:var(--accent-fg)}.difficulty-bar .when-open,.difficulty-bar[open] .when-closed{display:none}.difficulty-bar[open] .when-open{display:inline}.difficulty-picker{padding-top:10px}.difficulty-picker .modes{grid-template-columns:1fr;gap:6px}.difficulty-picker .mode{gap:2px;padding:10px 12px}.difficulty-picker .mode strong{font-size:15px}.tag{color:var(--muted);border:1px solid var(--line);border-radius:999px;align-self:flex-start;padding:1px 10px;font-size:12px}.grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:16px;display:grid}@media (max-width:820px){.grid{grid-template-columns:1fr}.grid>.stack{display:contents}.grid .map-panel{order:1}.grid .status-panel{order:2}.grid .map-panel{border-bottom-right-radius:0;border-bottom-left-radius:0}.grid .status-panel{border-top-left-radius:0;border-top-right-radius:0;margin-top:-17px}}.stack{gap:16px;min-width:0;display:grid}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:12px;min-width:0;padding:14px;display:flex}.panel h2{margin:0;font-size:15px}.q-title{text-wrap:balance;margin:0;font-size:17px}.q-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;display:flex}.q-head .q-title{white-space:nowrap}.pass-link{color:var(--muted);border:1px solid var(--line);border-radius:999px;flex:none;margin-left:auto;padding:3px 12px;font-size:13px;font-weight:700;text-decoration:none}.pass-link:hover{color:var(--accent);border-color:var(--accent)}@media (max-width:480px){.q-head .q-title{font-size:16px}.pass-link{padding:3px 10px;font-size:12px}.pass-arrow{display:none}}.q-lead{margin:-6px 0 0;font-size:14px}.photo{aspect-ratio:4/3;object-fit:cover;background:var(--line);border-radius:6px;width:100%;display:block}.meta{color:var(--muted);margin:0;font-size:13px}.credit{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:10.5px;line-height:1.5}.hint-text{color:var(--muted);margin:0;font-size:13px}.map-wrap{gap:8px;display:grid}.map-tools{color:var(--muted);justify-content:flex-end;align-items:center;gap:8px;font-size:13px;display:flex}.map-tools h2{color:var(--fg);flex:1;min-width:0}.map-tools label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.map{border:1px solid var(--line);border-radius:6px;height:460px}.map-loading{color:var(--muted);place-items:center;font-size:13px;display:grid}@media (max-width:820px){.map{height:360px}}.leaflet-container{font-family:var(--font-body)}.row{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}select,input[type=text]{border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:6px;padding:6px 8px}input[type=text]{width:100%}.btn{cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:var(--accent-fg);border-radius:8px;padding:9px 18px;font-weight:700;text-decoration:none;display:inline-block}.btn.ghost{color:var(--accent);background:0 0}.btn.quiet{color:var(--muted);border-color:var(--line);background:0 0}.btn:disabled{opacity:.45;cursor:not-allowed}.tries{color:var(--muted);flex-wrap:wrap;align-items:flex-start;gap:6px 10px;font-size:13px;display:flex}.tries-left{align-self:center}.band-mark{justify-items:center;gap:2px;min-width:52px;display:grid}.band-mark small{color:var(--fg);white-space:nowrap;font-size:11px}.band-dot{color:#fff;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:13px;font-weight:700;line-height:1;display:inline-grid}.band-dot.empty{border:2px dashed var(--line)}.band-dot.hit{font-size:25px;font-weight:400;overflow:visible}.band-1{background:var(--band-1)}.band-2{background:var(--band-2)}.band-3{background:var(--band-3)}.band-4{background:var(--band-4)}.band-5{background:var(--band-5)}.band-6{background:var(--band-6)}.legend{color:var(--muted);flex-wrap:wrap;gap:4px 12px;font-size:12px;display:flex}.legend-item{align-items:center;gap:4px;display:inline-flex}.legend .band-dot{width:12px;height:12px}.band-text{align-items:center;gap:6px;display:inline-flex}.band-text .band-dot{width:16px;height:16px;font-size:10px}.band-text .band-dot.hit{margin-right:3px;font-size:20px}.band-range{color:var(--muted);font-size:12px}.clue{gap:2px;display:grid}.clue-line{overflow-wrap:anywhere}.clue-next{color:var(--muted);font-size:12px;font-weight:400}.clue{background:var(--hint-bg);border-left:4px solid var(--hint-accent);border-radius:4px 8px 8px 4px;padding:8px 12px;font-size:15px;font-weight:700}.clue small{color:var(--hint-accent);letter-spacing:.05em;font-size:11px;font-weight:700;display:block}.clue.new{animation:1.6s ease-out clue-in}@keyframes clue-in{0%{box-shadow:0 0 0 3px var(--hint-accent)}to{box-shadow:0 0 #0000}}.history{gap:4px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.history li{align-items:baseline;gap:8px;display:flex}.history .n{font-variant-numeric:tabular-nums;color:var(--muted);flex:none;width:3.2em}.result{border:2px solid var(--line);border-radius:8px;gap:4px;padding:10px 14px 12px;scroll-margin-top:12px;display:grid}.result.ok{border-color:var(--ok)}.result.ng{border-color:var(--ng)}.result .verdict{font-size:20px;line-height:1.3}.result-actions{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.result-actions .btn{text-align:center;flex:120px;padding-block:8px}.verdict{font-family:var(--font-display);font-size:22px}.ok .verdict{color:var(--ok)}.ng .verdict{color:var(--ng)}.share-box{border-top:1px dashed var(--line);gap:6px;margin-top:4px;padding-top:8px;display:grid}.share-lead{margin:0;font-size:13px}.share{white-space:pre-wrap;background:var(--bg);border-radius:6px;margin:0;padding:8px 10px;font-family:inherit;font-size:13px}.num-pin{background:var(--surface);color:var(--guess);border:2px solid var(--guess);border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:grid}.modes{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.mode{background:var(--surface);border:1px solid var(--line);border-radius:10px;gap:6px;padding:16px;text-decoration:none;display:grid}.mode:hover{border-color:var(--accent)}.mode.current{border:2px solid var(--accent)}.mode strong{align-items:baseline;gap:8px;font-size:17px;display:flex}.mode-tries{color:var(--muted);font-size:12px;font-weight:400}.mode span{color:var(--muted);font-size:13px}.drop{border:2px dashed var(--line);text-align:center;color:var(--muted);cursor:pointer;border-radius:8px;padding:18px;display:block}.drop:hover{border-color:var(--accent)}.status{background:var(--bg);border-radius:6px;margin:0;padding:8px 10px;font-size:13px}.status.error{color:var(--ng);border:1px solid var(--ng)}.field{gap:4px;display:grid}.field label{font-size:13px;font-weight:700}.check{align-items:center;gap:8px;font-size:14px;display:flex}.help{border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:13px}.help summary{cursor:pointer;color:var(--accent);font-weight:700}.help h3{margin:12px 0 4px;font-size:13px}.help p{margin:8px 0}.help ul{gap:4px;margin:0;padding-left:1.3em;display:grid}.help ul ul{color:var(--muted);margin-top:4px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.footer p{margin:0 0 6px}.footer-nav{flex-wrap:wrap;gap:4px 16px;display:flex}.footer-nav a{color:var(--muted)}.doc{background:var(--surface);border:1px solid var(--line);border-radius:10px;max-width:760px;margin:0 auto;padding:20px clamp(16px,4vw,32px) 28px;line-height:1.8}.doc h1{margin:0 0 12px;font-size:22px}.doc h2{margin:24px 0 6px;font-size:16px}.doc p,.doc ol{margin:0 0 8px}.doc ol{padding-left:1.6em}.doc a{color:var(--accent)}.doc-note{color:var(--muted);font-size:12px}.doc-date{text-align:right;color:var(--muted);margin-top:24px;font-size:13px}.doc-table-wrap{margin:0 0 8px;overflow-x:auto}.doc-table{border-collapse:collapse;width:100%;min-width:520px;font-size:13px;line-height:1.6}.doc-table th,.doc-table td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:8px}.doc-table th{background:var(--bg)}
