@font-face{font-family:"Press Start 2P";src:url(./PressStart2P-Regular-DogiNJoF.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}html,body{height:100%;margin:0;padding:0}body{color:#1a1c2c;-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABFklEQVRYR9WXURLDIAhE6/0PbSdOtUpcd1Gnpv1KGpTHBpCE1/cXq+vrMph7dGvXZTtpfW10DCA5jrH1H0Jhs5E0hnZdCR+vb5S8Nn8mQCeS9BdSalYJqMBjAGzq59xAESN7VFVUgV8AZB/dZBR7QTFDCqGquvUBVVoEtgIwpQRzmANSFHgWQKExHdIrPeuMvQNDarXe6nC/AutgV3JW+6bgqQLeV8FekRtgV+ToDKEKnACYKsfZjjkam7a0ZpYTytwmgainpC3HvwBocgKOxqRjehoR9DFKNFYtOwCGYCszobeCbl26N6yyQ6g8X/Wex/rBPsNEV6qAMaJPMynIHQCoSqS9JSMmwef51LflTgCRszU7DvAGiV6mHWfsaVUAAAAASUVORK5CYII=),default;background:#665a4f;font-family:"Press Start 2P",monospace;font-size:13px;line-height:1.6;overflow:hidden}button,label,input[type=checkbox],input[type=radio],select,summary,a{cursor:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAzElEQVRYR+2X0Q6AIAhF5f8/2jYXZkwEjNSVvVUjDpcrGgT7FUkI2D9xRfQETwNIiWO85wfINfQUEyxBG2ArsLwC0jioGt5zFcwF4OYDPi/mBYKm4t0U8ATgRm3ThFoAqkhNgWkA0jJLvaOVSs7j3qMnSgXWBMiWPXe94QqMBMBc1VZIvaTu5u5pQewq0EqNZvIEMCmxAawK0DNkay9QmfFNAJUXfgGgUkLaE7j/h8fnASkxHTz0DGIBMCnBeeM7AArpUd3mz2x3C7wADglA8BcWMZhZAAAAAElFTkSuQmCC) 14 0,pointer}#map{touch-action:none;cursor:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABFklEQVRYR9WXURLDIAhE6/0PbSdOtUpcd1Gnpv1KGpTHBpCE1/cXq+vrMph7dGvXZTtpfW10DCA5jrH1H0Jhs5E0hnZdCR+vb5S8Nn8mQCeS9BdSalYJqMBjAGzq59xAESN7VFVUgV8AZB/dZBR7QTFDCqGquvUBVVoEtgIwpQRzmANSFHgWQKExHdIrPeuMvQNDarXe6nC/AutgV3JW+6bgqQLeV8FekRtgV+ToDKEKnACYKsfZjjkam7a0ZpYTytwmgainpC3HvwBocgKOxqRjehoR9DFKNFYtOwCGYCszobeCbl26N6yyQ6g8X/Wex/rBPsNEV6qAMaJPMynIHQCoSqS9JSMmwef51LflTgCRszU7DvAGiV6mHWfsaVUAAAAASUVORK5CYII=),default;width:100vw;height:100vh;display:block;position:fixed;top:0;left:0}input,textarea{-webkit-user-select:text;user-select:text}.sidebar{scrollbar-width:none;pointer-events:none;flex-direction:column;gap:12px;width:300px;padding:6px 0;transition:transform .15s;display:flex;position:fixed;top:12px;bottom:12px;overflow-y:auto}.sidebar::-webkit-scrollbar{display:none}#sidebar{right:12px}#sidebar-left{left:12px}#sidebar.hidden{transform:translate(calc(100% - 20px))}#sidebar-left.hidden{transform:translate(calc(20px - 100%))}.sidebar details{pointer-events:auto;background:#fff;border:4px solid #000;border-radius:4px;flex:none;overflow:hidden}.sidebar summary{background:#e5e7eb;padding:8px 10px;font-size:13px;list-style:none}.sidebar summary::-webkit-details-marker{display:none}.sidebar summary.summary-x{align-items:center;gap:8px;display:flex}.summary-x>span{flex:1;min-width:0}.sidebar summary:before{content:"+ "}.sidebar details[open]>summary:before{content:"- "}.sidebar details[open]>summary{border-bottom:4px solid #000}.sidebar details.dragging{opacity:.5}.sidebar.drag-active{pointer-events:auto}.sidebar.drag-active.is-empty{outline-offset:-2px;outline:2px dashed #000}.drop-line{pointer-events:none;background:#000;height:2px;position:absolute}.section-body{padding:12px;font-size:11px}.section-body:empty{padding:0}.section-body>*+*{margin-top:8px}input[type=text],input[type=number],textarea,select{box-sizing:border-box;color:#1a1c2c;background:#fff;border:2px solid #000;border-radius:4px;padding:6px;font-family:inherit;font-size:11px}button{color:#fff;background:#3b82f6;border:2px solid #000;border-radius:4px;padding:6px 10px;font-family:inherit;font-size:11px}button:hover{background:#2563eb}button:active{background:#1d4ed8}button.danger{background:#ef4444}button.danger:hover{background:#dc2626}button.danger:active{background:#b91c1c}button.success{background:#22c55e}button.success:hover{background:#16a34a}button.success:active{background:#15803d}button:disabled,button:disabled:hover,button:disabled:active{color:#6b7280;cursor:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABFklEQVRYR9WXURLDIAhE6/0PbSdOtUpcd1Gnpv1KGpTHBpCE1/cXq+vrMph7dGvXZTtpfW10DCA5jrH1H0Jhs5E0hnZdCR+vb5S8Nn8mQCeS9BdSalYJqMBjAGzq59xAESN7VFVUgV8AZB/dZBR7QTFDCqGquvUBVVoEtgIwpQRzmANSFHgWQKExHdIrPeuMvQNDarXe6nC/AutgV3JW+6bgqQLeV8FekRtgV+ToDKEKnACYKsfZjjkam7a0ZpYTytwmgainpC3HvwBocgKOxqRjehoR9DFKNFYtOwCGYCszobeCbl26N6yyQ6g8X/Wex/rBPsNEV6qAMaJPMynIHQCoSqS9JSMmwef51LflTgCRszU7DvAGiV6mHWfsaVUAAAAASUVORK5CYII=),default;background:#e5e7eb}.btn-row{gap:6px;display:flex}.btn-row button{flex:1}.sidebar .btn-row{flex-wrap:wrap}.sidebar .btn-row button{white-space:nowrap;flex:auto;min-width:0;font-size:9px}.btn-col{gap:6px;display:grid}.field{align-items:center;gap:6px;display:flex}.field-stack{flex-direction:column;align-items:stretch;gap:4px}.field-col{flex-direction:column;gap:8px;display:flex}.field-row{gap:6px;display:flex}.field-row>*{flex:1;min-width:0}.row-between{justify-content:space-between;align-items:center;gap:8px;display:flex}.hint{color:#565a75;margin:0;font-size:11px;line-height:1.7}.hint-small{font-size:9px}.hint-gap{margin-top:8px}.help-box{background:#e5e7eb;border-radius:4px;padding:8px}.chips{flex-wrap:wrap;gap:4px;display:flex}.chip{text-align:center;color:#1a1c2c;background:#fff;justify-content:center;align-items:center;min-width:26px;padding:5px 4px;display:inline-flex}.chip:hover{background:#e5e7eb}.chip:active{background:#d1d5db}.history-btn{color:#1a1c2c;background:#fff}.history-btn:hover{background:#e5e7eb}.history-btn:active{background:#d1d5db}.chip.active,.chip.active:hover{color:#fff;background:#3b82f6}.char-input{text-align:left;flex:1;min-width:0}.char-input.char-main{text-align:left;width:72px}.link-btn{color:#3b82f6;background:0 0;border:0;border-radius:0;flex:none;padding:0;font-size:9px;text-decoration:underline}.link-btn:hover{color:#2563eb;background:0 0}.link-btn:active{color:#1d4ed8;background:0 0}.check-box{gap:6px;display:grid}.card-heading{margin:0}.size-input{width:100%}.btn-plain,.modal-cancel{color:#1a1c2c;background:#fff}.btn-plain:hover,.modal-cancel:hover{background:#e5e7eb}.btn-plain:active,.modal-cancel:active{background:#d1d5db}.layer-row,.level-row{box-sizing:border-box;background:#fff;border:2px solid #000;border-radius:4px;align-items:center;gap:4px;padding:4px;display:flex}.section-body>.layer-row+.layer-row{margin-top:6px}.layer-row.active,.level-row.active{color:#fff;background:#3b82f6}.format-tiles{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.format-tile{box-sizing:border-box;text-align:left;background:#fff;border:3px solid #000;border-radius:4px;flex-direction:column;display:flex;position:relative;overflow:hidden}.format-tile:hover{background:#e5e7eb}.format-tile.active{outline-offset:-1px;outline:4px solid #3b82f6}.format-tile-radio{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;top:0;left:0}.format-tile:focus-within{outline-offset:2px;outline:2px solid #1a1c2c}.shot{box-sizing:border-box;color:#d8dee9;white-space:pre;background:#1f2430;border-bottom:3px solid #000;height:74px;padding:7px 8px;font-family:Courier New,ui-monospace,monospace;font-size:8.5px;line-height:1.35;overflow:hidden}.shot .p{color:#88c0d0}.shot .s{color:#a3be8c}.shot .k{color:#81a1c1}.shot .n{color:#d08770}.shot .w{color:#e5e9f0}.shot .f{color:#6b7280}.shot .d1{color:#ebcb8b}.tile-name{padding:6px 8px 2px;font-size:10px}.tile-badge{color:#565a75;padding:0 8px 7px;font-size:8px}.tile-badge.kept{color:#16a34a}.layer-name,.level-name{flex:1;min-width:0;padding:5px 4px}.layer-row.active .layer-name,.level-row.active .level-name{color:#fff;background:#3b82f6}.icon{flex:none;width:14px;height:14px;display:block}.layer-btn,.level-btn,.legend-edit,.pin-btn{color:#1a1c2c;background:#fff;flex:none;justify-content:center;align-items:center;width:24px;padding:5px 0;display:inline-flex}.layer-btn:hover,.level-btn:hover,.legend-edit:hover,.pin-btn:hover{background:#e5e7eb}.layer-btn:active,.level-btn:active,.legend-edit:active,.pin-btn:active{background:#d1d5db}.pin-btn{pointer-events:auto;align-self:flex-end}#sidebar-left .pin-btn{align-self:flex-start}.layer-btn:disabled,.layer-btn:disabled:hover,.level-btn:disabled,.level-btn:disabled:hover{color:#6b7280;background:#e5e7eb}.layer-eye.off{color:#9ca3af;background:#e5e7eb}.layer-del,.level-del{color:#fff;background:#ef4444}.layer-del:hover,.level-del:hover{background:#dc2626}.layer-del:active,.level-del:active{background:#b91c1c}.layer-del:disabled,.layer-del:disabled:hover,.level-del:disabled,.level-del:disabled:hover{color:#6b7280;background:#e5e7eb}.project-select{width:100%;display:block}.project-actions .level-del{flex:none;width:26px;padding:6px 0}.level-list{flex-direction:column;gap:6px;display:flex}.level-thumb{box-sizing:border-box;background:#e5e7eb;border:2px solid #000;border-radius:4px;flex:none;width:48px;height:32px;overflow:hidden}.level-thumb-img{object-fit:cover;width:100%;height:100%;display:block}.prompt-input{box-sizing:border-box;width:100%;display:block}.legend-row{align-items:center;gap:6px;display:flex}.section-body>.legend-row+.legend-row{margin-top:6px}.legend-char{text-align:center;background:#fff;width:28px;padding:5px 0}.legend-char:hover{background:#e5e7eb}.legend-name{flex:1;min-width:0}input[type=color]{box-sizing:border-box;background:#fff;border:2px solid #000;border-radius:4px;width:32px;height:28px;padding:0}.legend-swatch{flex:none;position:relative}.legend-count{pointer-events:none;justify-content:center;align-items:center;font-size:9px;display:flex;position:absolute;inset:0}.file-btn{color:#fff;text-align:center;background:#22c55e;border:2px solid #000;border-radius:4px;padding:6px 10px;font-size:11px;display:block}.file-btn:hover{background:#16a34a}.file-btn:active{background:#15803d}.file-input{display:none}.modal-overlay{z-index:20;box-sizing:border-box;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-confirm{z-index:30}.modal-confirm .modal-card{max-width:340px}.modal-card{box-sizing:border-box;background:#fff;border:4px solid #000;border-radius:4px;flex-direction:column;width:100%;max-width:420px;max-height:80vh;display:flex;overflow:hidden}.modal-card-wide{max-width:640px}.modal-head{background:#e5e7eb;border-bottom:4px solid #000;flex:none;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.modal-title{flex:1;min-width:0}.modal-x,.card-x{color:#1a1c2c;background:#fff;flex:none;justify-content:center;align-items:center;width:26px;padding:4px 0;display:inline-flex}.modal-x:hover,.card-x:hover{background:#d1d5db}.modal-x:active,.card-x:active{background:#9ca3af}.modal-body{padding:12px;font-size:11px;overflow-y:auto}.modal-body>*+*{margin-top:8px}.modal-message{overflow-wrap:anywhere;margin:0;line-height:1.7}.import-error{color:#ef4444;overflow-wrap:anywhere;margin:0;font-weight:700;line-height:1.5}.modal-heading{border-top:2px solid #000;margin:0;padding-top:12px}.modal-sep,.card-sep{border:0;border-top:2px solid #000;margin:0}.card-sep{margin:12px 0}.modal-text,.map-text{box-sizing:border-box;white-space:pre;resize:vertical;width:100%;height:120px;font-size:11px;line-height:1.5;display:block;overflow:auto}.map-text{height:140px}.modal-text.hidden,.help-box.hidden{display:none}.btn-full{width:100%;display:block}.sidebar>details[data-section=map],.sidebar>details[data-section=extra]{display:none}body.mode-simplified .sidebar>details[data-section=map],body.mode-simplified.show-extra .sidebar>details[data-section=extra]{display:block}body.mode-simplified .sidebar>details[data-section=project],body.mode-simplified .sidebar>details[data-section=draw],body.mode-simplified .sidebar>details[data-section=layers],body.mode-simplified .sidebar>details[data-section=legend],body.mode-simplified .sidebar>details[data-section=generate],body.mode-simplified .pin-btn{display:none}.mode-switch,.scope-switch{background:#fff;border:2px solid #000;border-radius:4px;display:flex;overflow:hidden}.mode-switch{z-index:10;position:fixed;top:12px;left:50%;transform:translate(-50%)}.scope-switch{width:max-content;max-width:100%}.mode-seg,.scope-seg{color:#1a1c2c;background:#fff;border:0;border-radius:0;padding:8px 12px}.mode-seg+.mode-seg,.scope-seg+.scope-seg{border-left:2px solid #000}.mode-seg:hover,.scope-seg:hover{background:#e5e7eb}.mode-seg.active,.mode-seg.active:hover,.scope-seg.active,.scope-seg.active:hover{color:#fff;background:#3b82f6}.scope-seg:disabled,.scope-seg:disabled:hover{color:#6b7280;background:#e5e7eb}.mode-choice{color:#1a1c2c;text-align:left;background:#fff;flex-direction:column;gap:6px;padding:12px;display:flex}.mode-choice:hover{background:#e5e7eb}.mode-choice:active{background:#d1d5db}.mode-choice-title{font-size:13px}.mode-choice-desc{color:#565a75;font-size:9px;line-height:1.7}.center-fab{z-index:10;box-sizing:border-box;color:#1a1c2c;background:#fff;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex;position:fixed;bottom:12px;left:50%;transform:translate(-50%)}.center-fab .icon{width:18px;height:18px}.center-fab:hover{background:#e5e7eb}.center-fab:active{background:#d1d5db}.center-fab.hidden{display:none}.toast{z-index:40;color:#fff;text-align:center;background:#22c55e;border:2px solid #000;border-radius:4px;max-width:70vw;padding:10px 14px;font-size:11px;position:fixed;bottom:56px;left:50%;transform:translate(-50%)}.toast.error{background:#ef4444}.toast.info{color:#1a1c2c;background:#e5e7eb}.toast.hidden{display:none}
