@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";
:root{--bg:#fafafa;--ink:#111;--dim:#777;--line:#e5e5e5;--card:#fff;--accent:#111;--accent-soft:#555;--yes:#111;--no:#999;--shadow:#0000000a;--land:#e8e4dc;--coast:#ccc8be;--sea:#f0eeea;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0a0a0a;--ink:#eee;--dim:#888;--line:#222;--card:#111;--accent:#eee;--accent-soft:#aaa;--yes:#eee;--no:#666;--shadow:#0000004d;--land:#2a2722;--coast:#3a362f;--sea:#1a1815}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font:14px/1.7 var(--font);-webkit-font-smoothing:antialiased;justify-content:center;padding:48px 24px 80px;display:flex}main{width:100%;max-width:520px}h1{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;min-width:0;margin:0;font-size:16px;font-weight:600;overflow:hidden}.lead{color:var(--dim);margin:8px 0 32px;font-size:13px;line-height:1.7}.bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.game-status{grid-template-columns:minmax(0,1fr) auto auto;display:grid}.game-status>button{white-space:nowrap}.dots{grid-template-columns:repeat(20,minmax(0,1fr));gap:2px;min-width:0;display:grid}.dot{background:var(--line);border-radius:1px;height:3px;transition:background .2s}.dot.used{background:var(--ink)}.count{color:var(--dim);font-variant-numeric:tabular-nums;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;font-size:11px}.spacer{flex:1}form{gap:8px;margin-bottom:24px;display:flex}input{border:1px solid var(--line);background:var(--card);color:var(--ink);font:13px var(--font);border-radius:6px;flex:1;min-width:0;padding:10px 12px;transition:border-color .15s}input::placeholder{color:var(--dim);opacity:.5}input:focus-visible{border-color:var(--ink);outline:none}button{border:1px solid var(--line);background:var(--card);color:var(--ink);font:13px var(--font);cursor:pointer;white-space:nowrap;border-radius:6px;padding:10px 16px;font-weight:500;transition:all .15s}button:hover:not(:disabled){background:var(--ink);color:var(--bg);border-color:var(--ink)}button:disabled{opacity:.3;cursor:default}.log{flex-direction:column;gap:1px;display:flex}.row{background:var(--card);border-left:2px solid #0000;padding:14px 16px}.row:first-child{border-radius:8px 8px 0 0}.row:last-child{border-radius:0 0 8px 8px}.row:only-child{border-radius:8px}.q{color:var(--dim);letter-spacing:.02em;margin-bottom:4px;font-size:12px}.a{font-size:14px;font-weight:500}.a.yes{color:var(--yes)}.a.no{color:var(--no);opacity:.5}.p{color:var(--dim);font-variant-numeric:tabular-nums;letter-spacing:.04em;text-transform:uppercase;margin-top:6px;font-size:10px}.meter{background:var(--line);border-radius:1px;height:2px;margin-top:8px;overflow:hidden}.meter i{background:var(--ink);border-radius:1px;height:100%;transition:width .4s;display:block}.reveal{border-left:2px solid var(--ink)}.reveal h2{letter-spacing:-.02em;margin:4px 0;font-size:18px;font-weight:600}.reveal .meta{color:var(--dim);letter-spacing:.03em;text-transform:uppercase;font-size:11px}.reveal .desc{color:var(--dim);margin:12px 0 0;font-size:13px;line-height:1.7}.reveal .etym{color:var(--dim);opacity:.6;margin:6px 0 0;font-size:12px;font-style:italic}.err{color:var(--no);font-size:12px}.name-section{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.name-label{color:var(--dim);margin:0 0 6px;font-size:12px}.name-form{flex-wrap:wrap;gap:6px;display:flex}.name-form input{flex:1;min-width:100px;padding:6px 8px;font-size:12px}.name-form button{padding:6px 10px;font-size:12px}.name-skip{opacity:.5}.named{color:var(--dim);margin-top:10px;font-size:12px}.disclaimer{color:var(--dim);opacity:.6;margin:0 0 8px;font-size:10px;line-height:1.6}.sec{color:var(--dim);margin:28px 0 12px;font-size:13px;font-weight:600}.game .head{align-items:flex-start;gap:10px;display:flex}.rank{color:var(--dim);font-variant-numeric:tabular-nums;flex:none;padding-top:2px;font-size:12px;font-weight:600}.game-info{flex:1;min-width:0}.game-top{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.game-answer{font-size:14px}.game-status{color:var(--dim);letter-spacing:.02em;font-size:11px}.game-status.won{color:var(--ink);font-weight:500}.game-bottom{gap:8px;margin-top:2px;display:flex}.who{color:var(--dim);font-size:11px}.when{color:var(--dim);font-variant-numeric:tabular-nums;font-size:11px}.game summary{color:var(--dim);cursor:pointer;-webkit-user-select:none;user-select:none;margin-top:8px;padding:4px 0;font-size:11px}.asks{flex-direction:column;gap:6px;margin:8px 0 0;padding-left:18px;display:flex}.asks li{font-size:12px;line-height:1.5}.qq{color:var(--ink)}.aa{font-variant-numeric:tabular-nums;color:var(--dim);margin-left:8px;font-size:11px}.aa.win{color:var(--ink);font-weight:500}.aa.wrong-guess{color:var(--no)}footer{color:var(--dim);margin-top:40px;font-size:11px;line-height:2}a{color:var(--ink)}.game-layout{display:contents}.side-panel{display:none}@media (min-width:1100px){.game-layout{grid-template-columns:1fr 240px;align-items:start;gap:32px;max-width:880px;margin:0 auto;display:grid}.game-layout>main{max-width:none}.side-panel{border:1px solid var(--line);background:var(--card);border-radius:8px;flex-direction:column;height:calc(100vh - 64px);display:flex;position:sticky;top:32px;overflow:hidden}.side-panel .side-head{flex:none;padding:12px 12px 8px}.side-panel .side-scroll{flex:1;padding:0 12px 12px;overflow-y:auto}.side-panel .side-link{flex:none;padding:8px 12px}}.side-head{border-bottom:1px solid var(--line);margin-bottom:10px;padding-bottom:8px;font-size:13px;font-weight:600}.side-region{margin-bottom:8px}.side-region-name{color:var(--dim);letter-spacing:.03em;text-transform:uppercase;margin-bottom:2px;font-size:11px;font-weight:600}.side-region-name span{font-weight:400}.side-item{color:var(--ink);opacity:.7;padding:1px 0;font-size:12px}.side-link{border-top:1px solid var(--line);margin-top:10px;padding-top:8px;font-size:11px}.feedback-btn{z-index:50;border:1px solid var(--line);background:var(--card);color:var(--dim);cursor:pointer;opacity:.5;border-radius:4px;padding:4px 8px;font-size:10px;position:fixed;bottom:12px;left:16px}.feedback-btn:hover{opacity:1}.feedback-textarea{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink);font:13px var(--font);resize:vertical;border-radius:6px;min-height:80px;padding:10px}.feedback-textarea:focus{border-color:var(--ink);outline:none}.feedback-games{margin-top:10px}.feedback-label{color:var(--dim);margin:0 0 4px;font-size:11px}.feedback-select{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink);font:12px var(--font);border-radius:6px;padding:6px 8px}.credit{z-index:50;position:fixed;bottom:12px;right:16px}.credit a{color:var(--dim);opacity:.4;font-size:10px;text-decoration:none}.credit a:hover{opacity:1}.lang{letter-spacing:.03em;padding:4px 8px;font-size:11px}.tut-overlay{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0006;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.tut-card{background:var(--card);border:1px solid var(--line);border-radius:12px;width:100%;max-width:400px;max-height:90vh;padding:32px;overflow-y:auto;box-shadow:0 24px 48px #0000001f}.tut-card h2{letter-spacing:-.01em;margin:0 0 20px;font-size:16px;font-weight:600}.tut-steps{flex-direction:column;gap:8px;display:flex}.tut-example{background:var(--bg);border-radius:6px;padding:10px 14px}.tut-q{color:var(--dim);margin-bottom:3px;font-size:12px}.tut-a{font-size:13px;font-weight:500}.tut-a.yes{color:var(--yes)}.tut-a.no{color:var(--no);opacity:.5}.tut-meter{background:var(--line);border-radius:1px;height:2px;margin-top:5px;overflow:hidden}.tut-meter i{background:var(--ink);height:100%;display:block}.tut-tip{color:var(--dim);align-items:flex-start;gap:10px;padding:4px 0;font-size:12px;line-height:1.6;display:flex}.tut-icon{background:var(--ink);width:22px;height:22px;color:var(--bg);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex}.tut-start{background:var(--ink);width:100%;color:var(--bg);font:500 13px var(--font);cursor:pointer;letter-spacing:.03em;border:none;border-radius:6px;margin-top:24px;padding:12px;transition:opacity .15s}.tut-start:hover{opacity:.8}.back{border:1px solid var(--line);border-radius:6px;padding:4px 10px;font-size:12px;text-decoration:none;transition:all .15s}.back:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.region-head{border-bottom:1px solid var(--line);align-items:baseline;gap:8px;margin:28px 0 12px;padding-bottom:8px;font-size:14px;font-weight:600;display:flex}.region-head:first-of-type{margin-top:0}.region-en{color:var(--dim);font-size:12px;font-weight:400}.region-count{color:var(--dim);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px}.dist-grid{background:var(--line);border-radius:8px;grid-template-columns:1fr 1fr;gap:1px;display:grid;overflow:hidden}@media (max-width:480px){.dist-grid{grid-template-columns:1fr}}.dist-card{background:var(--card);padding:12px 14px}.dist-name{letter-spacing:-.01em;font-size:14px;font-weight:500}.dist-name-kr{color:var(--dim);margin-top:1px;font-size:12px}.dist-meta{color:var(--dim);letter-spacing:.02em;margin-top:6px;font-size:10px;line-height:1.5}.dist-etym{color:var(--dim);opacity:.6;margin-top:3px;font-size:10px;font-style:italic}.region-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:2px;display:inline-block}.view-toggle{border:1px solid var(--line);border-radius:6px;display:inline-flex;overflow:hidden}.view-toggle button{color:var(--dim);letter-spacing:.03em;background:0 0;border:none;border-radius:0;padding:4px 10px;font-size:11px}.view-toggle button.active{background:var(--ink);color:var(--bg)}.view-toggle button:hover:not(.active):not(:disabled){color:var(--ink);background:0 0;border-color:#0000}.leaflet-map{border:1px solid var(--line);z-index:0;border-radius:8px;width:100%;height:600px}.map-popup{font:13px var(--font)}.map-legend{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px;display:flex}.legend-item{color:var(--dim);align-items:center;gap:4px;font-size:11px;display:flex}.legend-item i{border-radius:50%;width:8px;height:8px;display:inline-block}
