:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:#dce4f2;background:#0a0e1a;font:13px IBM Plex Sans,system-ui,sans-serif;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline-offset:1px;outline:2px solid #5ce1e6}.ic{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.row{align-items:center;display:flex}.col{flex-direction:column;display:flex}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.mono{font-family:IBM Plex Mono,monospace}.small{font-size:12px}.muted{color:#8a96b0}.vsep{background:#1e2740;width:1px;height:28px}.hsep{background:#1e2740;flex:none;height:1px}.section{padding:16px}.h2,aside h2{letter-spacing:.14em;text-transform:uppercase;color:#8a96b0;margin:0;font-size:11px;font-weight:600}.kicker{color:#8a96b0;letter-spacing:.08em;font:500 11px IBM Plex Mono,monospace}.insp-title{color:#e6fbfd;overflow-wrap:anywhere;font:600 20px Chakra Petch,sans-serif}.field-label{color:#8a96b0;font-size:11px}.amber-h2{letter-spacing:.14em;text-transform:uppercase;color:#ffb547;font-size:11px;font-weight:600}kbd{color:#dce4f2;background:#0a0e1a;border:1px solid #2a3654;border-bottom-width:2px;border-radius:4px;place-items:center;min-width:22px;height:22px;padding:0 6px;font:500 11px IBM Plex Mono,monospace;display:inline-grid}kbd.inline{color:#8a96b0;border-bottom-width:1px;min-width:0;height:16px;margin-left:2px;padding:0 4px;font-size:9px}.btn{color:#dce4f2;white-space:nowrap;background:0 0;border:1px solid #2a3654;border-radius:8px;justify-content:center;align-items:center;gap:8px;height:36px;padding:0 14px;font-weight:500;display:inline-flex}.btn:hover:not(:disabled){background:#121a2e}.btn.primary{color:#04111a;background:#5ce1e6;border-color:#5ce1e6;font-weight:600}.btn.primary:hover:not(:disabled){background:#7eeaee}.btn.primary:disabled{color:#6e7a95;background:0 0;border-color:#1e2740}.btn.small{border-radius:7px;height:32px;padding:0 12px;font-size:12px}.btn.tiny{border-radius:6px;height:28px;padding:0 10px;font-size:12px}.btn.danger{color:#ffb0a3;border-color:#ff8c7873}.icon-btn{color:#b8c3d9;background:0 0;border:1px solid #1e2740;border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.icon-btn:disabled{color:#3a4560}.icon-btn:hover:not(:disabled){background:#121a2e}.square-btn{color:#b8c3d9;background:0 0;border:1px solid #1e2740;border-radius:6px;flex:none;place-items:center;width:32px;height:32px;display:grid}.field{color:#dce4f2;background:#0a0e1a;border:1px solid #2a3654;border-radius:6px;width:100%;height:34px;padding:0 10px}.field.area{resize:vertical;height:auto;padding:8px 10px;line-height:1.4}.readout{color:#b8c3d9;white-space:nowrap;border:1px solid #1e2740;border-radius:6px;align-items:center;height:34px;padding:0 10px;font-size:12px;display:flex}.seg{background:#0a0e1a;border:1px solid #1e2740;border-radius:7px;gap:3px;padding:3px;display:grid}.seg button{color:#b8c3d9;background:0 0;border:0;border-radius:5px;height:28px;padding:0 4px;font-size:11px}.seg button.on{color:#e6fbfd;background:#1c2a44}.seg button.tall{flex-direction:column;justify-content:center;align-items:center;gap:2px;height:52px;display:flex}.seg button.tall.amber{color:#ffb547;background:#2a2414}.seg.inline{display:inline-flex}.seg.inline button{height:30px;padding:0 12px;font-size:12px}.switch-row{color:#dce4f2;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;min-height:36px;padding:0 2px;display:flex}.link-btn{color:#ff9a8a;background:0 0;border:0;padding:0;font-size:11px}.link-btn:disabled{color:#3a4560}.app{flex-direction:column;height:100%;display:flex}.app-header{background:#0c1222;border-bottom:1px solid #1e2740;flex-wrap:wrap;flex:none;align-items:center;gap:16px;min-height:56px;padding:8px 16px;display:flex}.brand{letter-spacing:.18em;color:#e6fbfd;font:700 16px Chakra Petch,sans-serif}.title-input{color:#dce4f2;background:0 0;border:0;width:170px;padding:0;font-size:13px;font-weight:600}.floors{background:#0a0e1a;border:1px solid #1e2740;border-radius:8px;gap:4px;margin-left:12px;padding:3px;display:flex}.floors button{color:#8a96b0;background:0 0;border:0;border-radius:6px;height:32px;padding:0 12px;font-size:12px;font-weight:500}.floors button.on{color:#e6fbfd;background:#1c2a44}.floors .add{min-width:32px;padding:0;font-size:16px}.app-body{flex:1;min-height:0;display:flex}.tool-rail{background:#0c1222;border-right:1px solid #1e2740;flex-direction:column;flex:0 0 56px;align-items:center;gap:4px;padding:10px 0;display:flex;overflow-y:auto}.tool-rail button{color:#b8c3d9;background:0 0;border:1px solid #0000;border-radius:8px;flex:none;place-items:center;width:40px;height:40px;display:grid;position:relative}.tool-rail button:hover:not(:disabled){background:#121a2e}.tool-rail button.on{color:#5ce1e6;background:#5ce1e624;border-color:#5ce1e673}.tool-rail button:disabled{color:#3a4560}.tool-rail .key{color:#6e7a95;font:500 8px/1 IBM Plex Mono,monospace;position:absolute;bottom:3px;right:4px}.left-panel{background:#0f1526;border-right:1px solid #1e2740;flex-direction:column;flex:0 0 240px;display:flex;overflow-y:auto}.panel-head{justify-content:space-between;align-items:baseline;padding:16px 16px 8px;display:flex}.rooms-empty{text-align:center;border:1px dashed #2a3654;border-radius:8px;flex-direction:column;align-items:center;gap:8px;margin:4px 12px 16px;padding:20px 16px;display:flex}.room-list{flex-direction:column;gap:1px;padding:0 8px 12px;display:flex}.room-row{color:#c4cee0;border-radius:5px;align-items:center;display:flex}.room-row:hover{background:#5ce1e60d}.room-row.on{color:#e6fbfd;background:#5ce1e61a}.room-row.hid{color:#f2ddb8;background:#ffb54712}.room-pick{min-width:0;height:30px;color:inherit;background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:0 0 0 8px;font-size:13px;display:flex}.room-pick .num{text-align:left;color:#6e7a95;flex:none;width:20px}.room-row.on .num{color:#5ce1e6}.room-pick .area{flex:none;font-size:11px}.eye{color:#6e7a95;opacity:0;background:0 0;border:0;flex:none;place-items:center;width:26px;height:30px;display:grid}.room-row:hover .eye,.room-row.hid .eye,.eye:focus-visible{opacity:1}.room-row.hid .eye{color:#ffb547}.mini-head{letter-spacing:.14em;color:#8a96b0;padding:2px 16px 6px;font:500 9px IBM Plex Mono,monospace}.stamp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0 12px 16px;display:grid}.stamp-tile{color:#b8c3d9;cursor:grab;touch-action:none;background:#0c1222;border:1px solid #1e2740;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:6px;height:64px;padding:0;display:flex}.stamp-tile:hover{background:#121a2e;border-color:#2a3654}.stamp-tile.on{background:#1a1408;border-color:#ffb547}.main-col{background:#070c18;flex-direction:column;flex:1;min-width:0;display:flex}.options-bar{border-bottom:1px solid #141c30;flex-wrap:wrap;flex:none;align-items:center;gap:8px;min-height:45px;padding:8px 16px;display:flex}.zoom{border:1px solid #1e2740;border-radius:6px;align-items:center;display:flex;overflow:hidden}.zoom button{color:#b8c3d9;background:0 0;border:0;width:30px;height:28px}.zoom .zoom-val{color:#dce4f2;width:auto;padding:0 6px;font:500 11px IBM Plex Mono,monospace}.toggle-chip{color:#b8c3d9;background:0 0;border:1px solid #1e2740;border-radius:6px;align-items:center;gap:6px;height:28px;padding:0 10px;font-size:11px;display:inline-flex}.opt-chip{color:#b8c3d9;background:#0a0e1a;border:1px solid #2a3654;border-radius:6px;align-items:center;gap:2px;height:28px;padding:0 10px;font-size:12px;display:inline-flex}.opt-chip.on{color:#e6fbfd;background:#1c2a44;border-color:#5ce1e6}.opt-sep{background:#2a3654;width:1px;height:22px;margin:0 2px}.opt-slider{color:#b8c3d9;align-items:center;gap:8px;font-size:12px;display:inline-flex}.opt-slider select{background:#0a0e1a;border:1px solid #2a3654;border-radius:6px;height:28px}.canvas-wrap{flex:1;min-height:0;position:relative;overflow:hidden}.vignette{pointer-events:none;background:radial-gradient(at 50% 45%,#0000 62%,#0006 100%);position:absolute;inset:0}.statusbar{color:#8a96b0;pointer-events:none;background:#070c18;border-top:1px solid #141c30;flex-wrap:wrap;align-items:center;gap:18px;min-height:32px;padding:0 16px;font:400 11px IBM Plex Mono,monospace;display:flex;position:absolute;bottom:0;left:0;right:0}.map-tag{color:#1a1200;white-space:nowrap;pointer-events:none;z-index:3;border-radius:4px;padding:2px 7px;font:600 11px/16px IBM Plex Mono,monospace;position:absolute}.door-pill{color:#ffd08a;z-index:3;background:#1a1408;border:1px solid #ffb547;border-radius:12px;width:60px;height:24px;font:600 11px/1 IBM Plex Sans,sans-serif;position:absolute;box-shadow:0 0 10px #ffb54759}.door-pill:hover{background:#2a2010}.float-bar{z-index:4;background:#121a2e;border:1px solid #2a3654;border-radius:8px;align-items:center;gap:2px;padding:3px;display:flex;position:absolute;box-shadow:0 8px 24px #00000080}.float-bar button{color:#dce4f2;white-space:nowrap;background:0 0;border:0;border-radius:5px;height:26px;padding:0 9px;font-size:11px}.float-bar button:hover{background:#1c2a44}.float-bar .danger{color:#ff9a8a;place-items:center;width:26px;padding:0;display:grid}.coach{color:#c4cee0;white-space:nowrap;pointer-events:none;background:#0c1222f0;border:1px solid #2a3654;border-radius:20px;align-items:center;gap:14px;padding:8px 14px;font-size:12px;display:flex;position:absolute;bottom:48px;left:50%;transform:translate(-50%)}.coach .sep{background:#2a3654;width:1px;height:14px}.empty-hint{pointer-events:none;text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.empty-title{color:#e6fbfd;font:600 20px Chakra Petch,sans-serif}.popover{z-index:5;cursor:default;background:#0f1526;border:1px solid #2a3654;border-radius:12px;flex-direction:column;gap:12px;padding:14px;display:flex;position:absolute;box-shadow:0 18px 50px #0009}.pop-kicker{letter-spacing:.2em;color:#ffb547;font:500 10px IBM Plex Mono,monospace}.name-input{color:#e6fbfd;background:#070c18;border:1px solid #5ce1e6;border-radius:7px;outline:none;height:38px;padding:0 12px;font-size:15px;box-shadow:0 0 0 3px #5ce1e62e}.chip{color:#c4cee0;background:#0c1222;border:1px solid #2a3654;border-radius:14px;height:28px;padding:0 10px;font-size:12px}.chip:hover{border-color:#5ce1e6}.chip.clear{background:0 0}.shared-note{color:#f2ddb8;background:#ffb54714;border-radius:7px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;line-height:1.4;display:flex}.shared-mark{background:#ffb547;flex:none;width:14px;height:3px;box-shadow:0 0 6px #ffb547}.radio-card{background:0 0;border:1px solid #1e2740;border-radius:8px;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.radio-card.on{background:#ffb54714;border-color:#ffb5478c}.radio{border:1.5px solid #4a5672;border-radius:50%;flex:none;place-items:center;width:16px;height:16px;margin-top:2px;display:grid}.radio span{border-radius:50%;width:8px;height:8px}.radio-card.on .radio{border-color:#ffb547}.radio-card.on .radio span{background:#ffb547}.toast{z-index:20;background:#121a2e;border:1px solid #2a3654;border-radius:8px;padding:10px 16px;position:fixed;bottom:56px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #00000080}@keyframes dw-drag{0%{opacity:0;width:0;height:0}10%{opacity:1}55%,80%{opacity:1;width:96px;height:56px}to{opacity:0;width:96px;height:56px}}@keyframes dw-cursor{0%,10%{transform:translate(0)}55%,to{transform:translate(96px,56px)}}.blank-layer{pointer-events:none;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0 0 32px;overflow:auto}.blank-card{pointer-events:auto;cursor:default;background:#0c1222eb;border:1px solid #1e2740;border-radius:14px;flex-direction:column;gap:20px;width:100%;max-width:620px;padding:28px;display:flex;box-shadow:0 30px 80px #0000008c}.blank-kicker{letter-spacing:.24em;color:#5ce1e6;font:500 11px IBM Plex Mono,monospace}.blank-card h1{color:#e6fbfd;margin:0;font:600 28px Chakra Petch,sans-serif}.blank-card p{color:#b8c3d9;margin:0;font-size:14px;line-height:1.55}.blank-draw{color:#dce4f2;text-align:left;background:#5ce1e612;border:1px solid #5ce1e68c;border-radius:10px;align-items:center;gap:20px;padding:16px;display:flex}.blank-draw:hover{background:#5ce1e61f}.blank-anim{background-color:#070c18;background-image:linear-gradient(#5ce1e61a 1px,#0000 1px),linear-gradient(90deg,#5ce1e61a 1px,#0000 1px);background-position:0 0;background-repeat:repeat;background-size:12px 12px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border-radius:6px;flex:none;width:150px;height:92px;position:relative;overflow:hidden}.anim-box{background:#ffb5471a;border:1.5px dashed #ffb547;animation:2.8s ease-in-out infinite dw-drag;position:absolute;top:16px;left:24px}.anim-cursor{background:#ffb547;border-radius:50%;width:8px;height:8px;animation:2.8s ease-in-out infinite dw-cursor;position:absolute;top:12px;left:20px;box-shadow:0 0 8px #ffb547}.card-outline{border:1px solid #1e2740;border-radius:10px;padding:14px}.card-dashed{border:1px dashed #2a3654;border-radius:10px;padding:14px;position:relative}.blank-settings{border-top:1px solid #1e2740;gap:16px;padding-top:16px}.blank-settings label{color:#8a96b0;align-items:center;gap:8px;font-size:12px;display:flex}.blank-settings select{color:#dce4f2;background:#0a0e1a;border:1px solid #2a3654;border-radius:6px;height:30px;padding:0 8px}.inspector{background:#0f1526;border-left:1px solid #1e2740;flex-direction:column;flex:0 0 300px;display:flex;overflow-y:auto}.door-row{color:#dce4f2;background:0 0;border:1px solid #1e2740;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;display:flex}.door-row:hover{background:#121a2e;border-color:#2a3654}.shape-box{background:#ffb54708;border:1px solid #ffb54740;border-radius:8px;padding:12px}.status-btn{color:#dce4f2;border:1px solid #1e2740;border-radius:8px;align-items:center;gap:10px;min-width:0;padding:8px 10px;display:flex}.status-sw{border-radius:6px;flex:none;place-items:center;width:22px;height:22px;display:grid}.shape-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;display:grid}.shape-grid button{color:#dce4f2;background:0 0;border:1px solid #1e2740;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:6px;height:54px;padding:0;display:flex}.shape-grid button.on{background:#121c32;border-color:#5ce1e6}.stepper{background:#0a0e1a;border:1px solid #2a3654;border-radius:7px;align-items:center;height:36px;display:flex;overflow:hidden}.stepper button{color:#b8c3d9;background:0 0;border:0;flex:none;width:32px;height:100%;font-size:16px}.stepper>span{text-align:center;white-space:nowrap;flex:1;font-size:12px;font-weight:500}.stepper.compact>span{width:32px;font-size:13px}.link-box{color:#f2ddb8;background:#ffb5470f;border:1px solid #ffb54773;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:12px;display:flex}.underlay-row{border:1px dashed #2a3654;border-radius:8px;align-items:center;gap:10px;padding:10px;display:flex}.theme-btn{color:#dce4f2;background:#0c1222;border:1px solid #1e2740;border-radius:8px;flex-direction:column;align-items:stretch;gap:6px;padding:6px 6px 8px;display:flex}.theme-btn.on{background:#121c32;border-color:#5ce1e6}.export-view{flex-direction:column;height:100%;display:flex}.sheet-stage{background:#03060d;flex:1;justify-content:center;align-items:flex-start;min-height:0;padding:24px;display:flex;overflow:auto}.sheet{color:#dce4f2;background:#050912;width:1600px;height:1000px;padding:44px 48px;position:relative}.sheet-frame{pointer-events:none;border:1px solid #5ce1e62e;position:absolute;inset:20px}.sheet-corner{border-style:solid;border-color:#5ce1e6;width:20px;height:20px;position:absolute;box-shadow:0 0 8px #5ce1e680}.sheet-head{border-bottom:1px solid #5ce1e638;justify-content:space-between;align-items:flex-end;gap:24px;height:84px;padding-bottom:14px;display:flex}.sheet-head h1{letter-spacing:.08em;color:#e6fbfd;text-shadow:0 0 18px #5ce1e673;margin:0;font:700 44px/1 Chakra Petch,sans-serif}.sheet-loc{letter-spacing:.3em;color:#86c3cc;text-transform:uppercase;background:0 0;border:0;width:700px;padding:0;font:500 12px IBM Plex Mono,monospace}.sheet-deck{letter-spacing:.14em;color:#86c3cc;background:0 0;border:1px solid #5ce1e640;align-items:center;height:32px;padding:0 14px;font:500 12px IBM Plex Mono,monospace;display:inline-flex}.sheet-deck.on{color:#e6fbfd;background:#5ce1e61f;border-color:#5ce1e6;box-shadow:0 0 12px #5ce1e659}.sheet-map{outline:1px solid #5ce1e62e;width:1100px;height:750px;overflow:hidden}.sheet-mono{color:#86c3cc;letter-spacing:.1em;font:500 11px IBM Plex Mono,monospace}.sheet-side{flex:1;gap:16px;min-width:0;height:798px;overflow:hidden}.sheet-h2{margin:0;letter-spacing:.24em!important;color:#5ce1e6!important;text-transform:none!important;font:600 14px Chakra Petch,sans-serif!important}.sheet-room{border-bottom:1px solid #5ce1e61a;align-items:baseline;gap:12px;padding:3px 0}.marker-chip{color:#1a1200;background:#ffb547;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font:700 11px IBM Plex Mono,monospace;display:grid}.gm-notes{background:#ffb5470d;border:1px solid #ffb54773;gap:8px;padding:14px 16px}.gm-notes h2{letter-spacing:.24em;color:#ffb547;font:600 11px IBM Plex Mono,monospace}.gm-notes textarea{resize:none;color:#e8dcc6;background:0 0;border:0;outline:none;height:42px;font-size:13px;line-height:1.5}.title-block{border:1px solid #5ce1e638;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.title-block>div{border-bottom:1px solid #5ce1e638;border-right:1px solid #5ce1e638;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.title-block>div:nth-child(2n){border-right:0}.title-block>div:nth-last-child(-n+2){border-bottom:0}.title-block span{letter-spacing:.2em;color:#86c3cc;font:500 9px IBM Plex Mono,monospace}.title-block b,.title-block input{color:#e6fbfd;font:500 13px IBM Plex Mono,monospace}.title-block input{background:0 0;border:0;width:100%;padding:0}.vis-layout{flex:1;min-height:0;display:flex}.vis-side{background:#0f1526;border-right:1px solid #1e2740;flex-direction:column;flex:0 0 300px;gap:12px;width:300px;padding:20px 14px;display:flex;overflow-y:auto}.vis-row{color:#c4cee0;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;height:32px;padding:0 8px;font-size:13px;display:flex}.vis-row.hid{color:#f2ddb8;background:#ffb54712}.vis-main{flex:1;gap:16px;min-width:0;padding:20px 24px;overflow:auto}
