:root{--bg:#f4f1ea;--card:#fff;--ink:#26221d;--mute:#7a7366;--line:#ddd6c8;--accent:#2e7d5b;--bad:#c0392b;--ok:#2e7d5b}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:14px/1.5 system-ui,Apple SD Gothic Neo,Malgun Gothic,sans-serif}code{background:#ece6d8;border-radius:3px;padding:0 4px;font-size:12px}a{color:var(--accent)}small{color:var(--mute)}#top{color:#fff;z-index:5;background:#26221d;align-items:center;gap:16px;padding:10px 20px;display:flex;position:sticky;top:0}#top h1{margin:0;font-size:16px}#top .sp{flex:1}#top .links{color:#cfc8b8;font-size:12px}#top .links a{color:#9fe0c0;margin-left:8px}#tabs button{color:#cfc8b8;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 14px}#tabs button.on{background:var(--accent);color:#fff}main.tab{max-width:1400px;margin:0 auto;padding:16px 20px 60px}main.tab[hidden]{display:none}.hint{color:var(--mute);font-size:12.5px}.none{color:#a69f90;font-size:12.5px}.pack{background:var(--card);border:1px solid var(--line);border-radius:10px;margin:16px 0;padding:12px 16px 16px}.pack h2{margin:0 0 4px;font-size:18px}.pack h3{margin:16px 0 6px;font-size:14px}.sum{margin:4px 0 8px}.sep{color:var(--line);margin:0 6px}table.t{border-collapse:collapse;width:100%;font-size:13px}table.t th,table.t td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:6px 8px}table.t th{background:#faf7f0;font-weight:600;position:sticky;top:0}table.t .num{text-align:right;width:40px}table.t tr.region th{background:#ece6d8;font-size:12.5px}table.t .note div{color:var(--mute)}table.t .y{color:var(--mute);font-size:12px}table.villages tr.village:hover{background:#fbf8f0}button,select{font:inherit}button.go,#pv-reset{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:#fff;border-radius:6px;padding:3px 10px}button.go:hover,#pv-reset:hover{background:var(--accent);color:#fff}.st{color:#4b4538;background:#e5e0d4;border-radius:10px;padding:1px 8px;font-size:12px;display:inline-block}.st-0{background:#e5e0d4}.st-1{color:#8a1f12;background:#f8d7d3}.st-2{color:#7a5a00;background:#fdeebf}.st-3{color:#8a3b00;background:#ffd9b8}.st-4{color:#14602f;background:#cdeedb}.badge{color:#7a5a00;vertical-align:middle;background:#fff1c2;border:1px solid #f2d36b;border-radius:10px;margin-right:6px;padding:1px 8px;font-size:11.5px;display:inline-block}.badge.off{color:#666;background:#eee;border-color:#ccc}.pv{align-items:flex-start;gap:24px;display:flex}.pv-left{flex:none}.pv .bar{flex-wrap:wrap;align-items:center;gap:8px 14px;max-width:640px;margin-bottom:8px;display:flex}.pv .bar label{align-items:center;gap:4px;display:inline-flex}.pv .stage{border:1px solid var(--line);background:#111;width:400px;line-height:0}.pv canvas{width:400px;display:block}.pv .hover{color:var(--mute);min-height:18px;margin-top:6px;font:12px ui-monospace,monospace}#pv-side{background:var(--card);border:1px solid var(--line);border-radius:10px;flex:1;min-width:360px;max-width:640px;padding:12px 16px 16px}#pv-side h2{margin:0 0 8px;font-size:18px}#pv-side h3{margin:16px 0 6px;font-size:13.5px}#pv-side dl{grid-template-columns:90px 1fr;gap:2px 8px;margin:0;display:grid}#pv-side dt{color:var(--mute)}#pv-side dd{margin:0}.check{border-left:4px solid var(--ok);background:#f1faf4;border-radius:0 6px 6px 0;margin:6px 0;padding:6px 10px;font-size:12.5px}.check.bad{border-color:var(--bad);background:#fdf1ef}.check.bad b{color:var(--bad)}.check.ok b{color:var(--ok)}.check .val{color:var(--mute)}.check .hint{color:#8a5a00}@media (width<=900px){.pv{flex-direction:column}}main.tab.wide{max-width:none}.rv{align-items:flex-start;gap:20px;display:flex}.rv-main{flex:1;min-width:0}.rv-side{background:var(--card);border:1px solid var(--line);border-radius:10px;flex:0 0 340px;width:340px;max-height:calc(100vh - 70px);padding:10px 12px 14px;position:sticky;top:56px;overflow:auto}.rv-title{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:6px 0;display:flex}.rv-title h2{margin:0;font-size:20px}.rv-sec{margin:14px 0}.rv-sec h3{flex-wrap:wrap;align-items:center;gap:4px 14px;margin:0 0 6px;font-size:14px;display:flex}.rv-sec .ctl{align-items:center;gap:8px;font-size:12.5px;font-weight:400;display:inline-flex}.navbar{flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0;display:flex}.navbar .nv-item{min-width:260px}.navbar button,.layerbar button,.board-bar button,.cm button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;padding:3px 10px}.navbar button:hover,.layerbar button:hover{background:#f1ece0}.nv-count{color:var(--mute);font-size:12.5px}.layerbar,.bar{flex-wrap:wrap;align-items:center;gap:6px 14px;margin:6px 0;display:flex}.layerbar label,.bar label{align-items:center;gap:4px;display:inline-flex}.layerbar button{border-color:var(--accent);color:var(--accent)}.hover{color:var(--mute);font:12px ui-monospace,monospace}.surf{line-height:0;display:inline-block;position:relative}.pinlayer{pointer-events:none;position:absolute;inset:0}.pin{color:#fff;text-align:center;pointer-events:auto;cursor:pointer;background:#e8590c;border:2px solid #fff;border-radius:10px;min-width:20px;height:20px;padding:0 5px;font:700 11px/16px system-ui,sans-serif;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #00000080}.pin.inline{pointer-events:none;margin-right:6px;display:inline-block;position:static;transform:none}.pin-applied{background:#2b6cb0}.pin-confirmed{opacity:.75;background:#2e7d5b}.pin-reopened{background:#c0392b}.pin-draft{color:#e8590c;pointer-events:none;background:#fff;border-color:#e8590c}.pin.on{z-index:2;outline:3px solid #ffd43b}.cm-head{align-items:center;gap:8px;display:flex}.cm-ver{background:#ece6d8;border-radius:10px;padding:0 8px;font-size:12px}.cm-help{margin:4px 0;font-size:11.5px}.cm-who{align-items:center;gap:6px;margin:4px 0;display:flex}.cm-who input{font:inherit;border:1px solid var(--line);border-radius:6px;flex:1;padding:3px 6px}.cm-judge{gap:6px;margin:4px 0 8px;display:flex}.cm button.ok{border-color:var(--ok);color:var(--ok)}.cm button.ok:hover{background:var(--ok);color:#fff}.cm button.warn{color:#c0690a;border-color:#c0690a}.cm button.ghost{color:var(--mute);border-color:#0000}.cm-compose{border:1px solid var(--line);background:#faf7f0;border-radius:8px;padding:8px}.cm-compose textarea,.cm-form textarea{width:100%;font:inherit;border:1px solid var(--line);resize:vertical;border-radius:6px;margin:4px 0;padding:4px 6px}.cm-draft{margin:4px 0;font-size:12.5px}.cm-err{color:var(--bad);margin:6px 0;font-size:12.5px}.cm-filter{gap:4px;margin:10px 0 6px;display:flex}.cm-filter button.on{background:var(--accent);color:#fff;border-color:var(--accent)}.cm-list{margin:0;padding:0;list-style:none}.cm-c{border:1px solid var(--line);background:#fff;border-radius:8px;margin:6px 0;padding:6px 8px}.cm-c.on{border-color:#e8b800;box-shadow:0 0 0 2px #ffe58a}.cm-c.st-confirmed{opacity:.7}.cm-top{flex-wrap:wrap;align-items:center;gap:2px 6px;display:flex}.cm-meta{color:var(--mute);font-size:11.5px}.cm-view{cursor:pointer;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.cm-st{color:#7a5a00;background:#fdeebf;border-radius:9px;margin-left:auto;padding:0 7px;font-size:11px}.cm-st-applied{color:#1d4c80;background:#d6e6f7}.cm-st-confirmed{color:#14602f;background:#cdeedb}.cm-st-reopened{color:#8a1f12;background:#f8d7d3}.cm-body{white-space:pre-wrap;margin:4px 0}.cm-replies{border-left:3px solid #ddd6c8;margin:4px 0 4px 10px;padding:0 0 0 8px;font-size:13px;list-style:none}.cm-replies li{white-space:pre-wrap;margin:3px 0}.cm-act{gap:6px;margin-top:4px;display:flex}.board-bar{flex-wrap:wrap;align-items:center;gap:8px 16px;margin:4px 0 8px;display:flex}.seg{display:inline-flex}.seg button{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:#fff;border-radius:0;padding:4px 14px}.seg button:first-child{border-radius:6px 0 0 6px}.seg button:last-child{border-left:0;border-radius:0 6px 6px 0}.seg button.on{background:var(--accent);color:#fff}.cards{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.card{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;gap:3px;padding:8px;display:flex}.card:hover,.card:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #cdeedb}.card-img{height:150px}.card-t{font-weight:600}.card-s{color:var(--mute);min-height:18px;font-size:12px}.card-b{flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:auto;display:flex}.cnt{color:var(--mute);background:#f1ece0;border-radius:9px;padding:0 7px;font-size:11.5px}.cnt.hot{color:#8a3b00;background:#ffd9b8;font-weight:600}.thumb{background:repeating-conic-gradient(#efe9db 0 25%, #f7f3ea 0 50%) 0 0 / 16px 16px;border-radius:6px;justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.thumb canvas{image-rendering:auto;display:block}.thumb-frame canvas{image-rendering:pixelated}.tcell{width:130px;height:96px;padding:4px 8px}table.t tr.row:hover{cursor:pointer;background:#fbf8f0}table.t td.tcell .thumb{height:88px}.sheetwrap{border:1px solid var(--line);background:#fff;border-radius:8px;max-height:70vh;padding:8px;overflow:auto}.sheetwrap .surf img{display:block}.surf[data-z=fit] img{max-width:100%;height:auto}.surf[data-z=fit]{max-width:100%}.surf[data-z="1"] img{image-rendering:pixelated}.surf[data-z="2"] img{width:200%;image-rendering:pixelated;max-width:none}.surf[data-z="2"]{width:200%}.cellgrid{pointer-events:none;display:grid;position:absolute;inset:0}.cellgrid-c{border:1px dashed #e0501473;position:relative}.cellgrid-c i{color:#fff;background:#0009;border-radius:3px;padding:0 3px;font:600 10px/12px system-ui,sans-serif;position:absolute}.cellgrid-c i.rl{top:2px;left:2px}.cellgrid-c i.cl{top:2px;right:2px}.cellgrid-c i.rl+i.cl{top:16px}.strips{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px;overflow:auto}table.fr-t{border-collapse:collapse}table.fr-t th{color:var(--mute);text-align:center;padding:2px 6px;font-size:12px}table.fr-t td{text-align:center;border:1px solid #eee6d6;padding:3px}canvas.fr{image-rendering:pixelated;cursor:pointer;background:#f7f3ea;display:block}canvas.fr.on{outline:3px solid #e8590c}.viewer{flex-wrap:wrap;align-items:flex-start;gap:18px;display:flex}.vwrap{border:1px solid var(--line);background:#e9e3d4;border-radius:8px}#sp-vcv,#sp-game{image-rendering:pixelated;max-width:100%;display:block}#sp-game{image-rendering:auto;border:1px solid var(--line);width:400px;height:220px}.vside{flex-direction:column;gap:8px;min-width:280px;display:flex}.vctl{gap:6px;display:flex}.vctl button{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:#fff;border-radius:6px;padding:4px 12px}.vside h4{margin:8px 0 0;font-size:13px}.bgwrap{background:#1b1812;border-radius:8px;max-height:80vh;padding:8px;overflow:auto}.bgwrap canvas,.bgwrap img{display:block}.bgwrap .surf{cursor:crosshair}@media (width<=1100px){.rv{flex-direction:column}.rv-side{flex-basis:auto;width:100%;max-height:none;position:static}}.sp-top{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.sp-top>.rv-sec{flex:420px;min-width:0}.sp-top>.rv-sec:first-child{flex-basis:520px}.pv{flex-wrap:wrap}.pv .bar{max-width:560px}#pv-side{min-width:320px;max-width:460px}
