*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{color:#e8eaee;background:#15171b;font-family:Pretendard,-apple-system,Malgun Gothic,sans-serif;overflow:hidden}.app{flex-direction:column;height:100dvh;display:flex}.topbar{padding:0 max(12px, env(safe-area-inset-left)) 0 max(12px, env(safe-area-inset-left));padding-top:env(safe-area-inset-top);height:calc(50px + env(safe-area-inset-top));background:#1d2026;border-bottom:1px solid #2c3038;flex:none;align-items:center;gap:14px;display:flex}.topbar h1{color:#e8eaee;white-space:nowrap;font-size:14px;font-weight:700}.topbar h1 span{color:#7d838d;margin-left:6px;font-size:11px;font-weight:400}.views{background:#14161a;border-radius:8px;gap:3px;padding:3px;display:flex}.views button{color:#9aa1ab;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 13px;font-family:inherit;font-size:13px}.views button.on{color:#fff;background:#3b82f6;font-weight:600}.tools{align-items:center;gap:8px;margin-left:auto;display:flex}.warnchip{color:#ff8a8a;white-space:nowrap;background:#2a1616;border:1px solid #5c2626;border-radius:999px;padding:3px 9px;font-size:11px}.iconbtn{color:#c6ccd6;cursor:pointer;background:#14161a;border:1px solid #2c3038;border-radius:8px;width:34px;height:34px;font-size:16px}.iconbtn:disabled{opacity:.35;cursor:default}.iconbtn.active{background:#1d3054;border-color:#3b82f6}.designbtn{color:#e8eaee;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:#14161a;border:1px solid #2c3038;border-radius:8px;max-width:110px;height:34px;padding:0 12px;font-family:inherit;font-size:12.5px;font-weight:600;overflow:hidden}.filesheet h3{color:#9aa1ab;margin:14px 0 8px;font-size:12px}.fsection{flex-direction:column;gap:6px;display:flex}.drow{border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:4px;display:flex}.drow.on{background:#16233c;border-color:#3b82f6}.drow input{color:#e8eaee;background:#14161a;border:1px solid #3b82f6;border-radius:6px;flex:1;min-width:0;padding:6px 8px;font-family:inherit;font-size:13px}.dname{color:#e8eaee;cursor:pointer;text-align:left;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:6px 8px;font-family:inherit;font-size:13px;font-weight:600;display:flex}.dname em{color:#7d838d;font-size:11px;font-style:normal;font-weight:400}.dbtn{color:#9aa1ab;cursor:pointer;background:#14161a;border:1px solid #2c3038;border-radius:6px;width:28px;height:28px;font-size:12px}.dbtn.danger{color:#ff8a8a}.drowbtns{gap:6px;margin-top:4px;display:flex}.exports .pbtn{justify-content:flex-start;align-items:center;gap:8px;padding:9px 12px;font-size:13px;display:flex}.exports .pbtn em{color:#7d838d;margin-left:auto;font-size:11px;font-style:normal}.body{flex:1;min-height:0;display:flex;position:relative}.viewport{flex:1;min-width:0;position:relative}.overlays{padding:0 max(10px, env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom));pointer-events:none;flex-direction:column;gap:8px;display:flex;position:absolute;bottom:0;left:0;right:0}.overlays>*{pointer-events:auto}.legend{color:#b9bfc9;background:#1d2026d9;border:1px solid #2c3038;border-radius:8px;align-self:flex-end;align-items:center;gap:5px;padding:5px 10px;font-size:11px;display:flex}.legend i{border-radius:3px;width:10px;height:10px;display:inline-block}.seatpanel{left:50%;bottom:calc(14px + env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;transform:translate(-50%)}.seatchip{color:#e8eaee;white-space:nowrap;background:#1d2026eb;border:1px solid #2c3038;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600}.seatmap{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1d2026eb;border:1px solid #2c3038;border-radius:12px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.smstage{text-align:center;color:#9aa1ab;letter-spacing:2px;border-bottom:2px solid #3b82f6;margin-bottom:2px;padding-bottom:4px;font-size:10.5px}.smrow{justify-content:center;gap:4px;display:flex}.smseat{cursor:pointer;border:2px solid #0000;border-radius:5px;width:20px;height:20px;padding:0}.smseat.on{border-color:#fff;box-shadow:0 0 0 2px #3b82f6}.smlegend{color:#9aa1ab;justify-content:center;align-items:center;gap:6px;margin-top:2px;font-size:10.5px;display:flex}.smlegend i{border-radius:3px;width:10px;height:10px;display:inline-block}.penbar{background:#181b20f5;border:1px solid #3b82f6;border-radius:14px;flex-direction:column;gap:9px;padding:10px;display:flex}.penrow{align-items:center;gap:8px;display:flex}.penrow>span{color:#e8eaee;white-space:nowrap;font-size:13px;font-weight:600}.penrow>em{color:#7d838d;margin-right:auto;font-size:11.5px;font-style:normal}.penrow>em.unit{margin-right:0}.penw{color:#c6ccd6;cursor:pointer;touch-action:manipulation;background:#14161a;border:1px solid #2c3038;border-radius:9px;flex:1;height:38px;font-family:inherit;font-size:13px}.penw.on{color:#cfe0ff;background:#16233c;border-color:#3b82f6;font-weight:600}.libwrap{position:relative}.libscrim{z-index:40;position:fixed;inset:0}.libdrop{z-index:41;background:#1d2026;border:1px solid #2c3038;border-radius:12px;flex-direction:column;gap:4px;width:210px;max-height:min(70vh,560px);padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 14px 40px #0000008c}.libdrop button{color:#e8eaee;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;width:100%;padding:11px 12px;font-family:inherit;display:flex}.libdrop button:active{background:#2a3242}.libdrop button i{text-align:center;width:24px;font-size:19px;font-style:normal;line-height:1}.libdrop button span{font-size:14px;font-weight:600}.libdrop button em{color:#7d838d;margin-left:auto;font-size:11px;font-style:normal}.props{background:#181b20f5;border:1px solid #2c3038;border-radius:14px;flex-direction:column;gap:9px;max-height:44vh;padding:10px;display:flex;overflow-y:auto}.phead{align-items:center;gap:6px;display:flex}.pname{color:#e8eaee;font-size:14px}.psum{color:#7d838d;white-space:nowrap;text-overflow:ellipsis;margin-right:auto;font-size:11.5px;overflow:hidden}.pacts{align-items:center;gap:6px;display:flex}.pgap{flex:1}.rotbtn{padding:7px 13px;font-size:17px;line-height:1}.phead .pbtn.on,.pacts .pbtn.on{color:#fff;background:#3b82f6;border-color:#3b82f6;font-weight:600}.chips{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{color:#9aa1ab;cursor:pointer;white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#14161a;border:1px solid #2c3038;border-radius:10px;flex:none;align-items:center;gap:5px;height:38px;padding:0 11px;font-family:inherit;font-size:12px;display:flex}.chip b{color:#e8eaee;font-size:13.5px}.chip.on{color:#cfe0ff;background:#16233c;border-color:#3b82f6}.chipdot{border:1px solid #4a505a;border-radius:5px;width:18px;height:18px}.tabbody{align-items:center;display:flex}.tabbody>*{flex:1;min-width:0}.pbtn{color:#c6ccd6;cursor:pointer;white-space:nowrap;background:#14161a;border:1px solid #2c3038;border-radius:8px;padding:7px 11px;font-family:inherit;font-size:12px}.pbtn.danger{color:#ff8a8a;border-color:#5c2626}.tabbody input{color:#e8eaee;text-align:right;background:#14161a;border:1px solid #2c3038;border-radius:9px;width:100%;min-height:44px;padding:8px 10px;font-family:inherit;font-size:15px;font-weight:600}.tabbody input:focus{border-color:#3b82f6;outline:none}.stepper{background:#14161a;border:1px solid #2c3038;border-radius:11px;flex:1;align-items:center;gap:4px;min-width:0;padding:4px;display:flex}.stepper .sbtn{color:#e8eaee;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#2a2f38;border:0;border-radius:9px;flex:0 0 56px;height:46px;font-family:inherit;font-size:24px;line-height:1}.stepper .sbtn:active{color:#fff;background:#3b82f6}.stepper .sval{color:#e8eaee;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex:1;min-width:0;height:46px;font-family:inherit;font-size:17px;font-weight:700}.stepper .sval:active{color:#6ba5ff}.posrow{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.posrow>span{color:#9aa1ab;flex:0 0 38px;font-size:12.5px}.posrow button{color:#c6ccd6;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#14161a;border:1px solid #2c3038;border-radius:9px;min-width:44px;height:40px;padding:0 12px;font-family:inherit;font-size:13px}.posrow button:active{background:#2a2e36}.posrow button.poseon{color:#fff;background:#3b82f6;border-color:#3b82f6;font-weight:600}.posrow em{color:#e8eaee;text-align:center;min-width:42px;font-size:14px;font-style:normal;font-weight:600}.swatches{flex:1;gap:6px;min-width:150px;display:flex}.sw{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:2px solid #0000;border-radius:8px;flex:1;height:32px}.sw.on{border-color:#3b82f6}.scrim{z-index:50;background:#0006;position:absolute;inset:0}.panel{z-index:51;width:min(260px,85vw);padding:14px max(14px, env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) 14px;background:#1d2026;border-left:1px solid #2c3038;position:absolute;top:0;bottom:0;right:0;overflow-y:auto}.panel h2{color:#e8eaee;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;display:flex}.pclose{color:#9aa1ab;cursor:pointer;background:0 0;border:0;padding:4px;font-size:14px}.panel .hint{color:#7d838d;border-bottom:1px solid #2c3038;margin-bottom:14px;padding-bottom:10px;font-size:11px;line-height:1.6}.field{flex-direction:column;align-items:stretch;gap:4px;margin-bottom:10px;display:flex}.field>span:first-child{color:#b9bfc9;white-space:nowrap;font-size:12px}.star{color:#f0b429;font-weight:400}.input-wrap{align-items:center;gap:6px;min-width:0;display:flex}.input-wrap .stepper{flex:1;min-width:0}.input-wrap .stepper .sbtn{flex:0 0 46px;height:42px}.input-wrap .stepper~.unit{display:none}.input-wrap input{color:#e8eaee;text-align:right;background:#14161a;border:1px solid #2c3038;border-radius:6px;width:74px;padding:5px 7px;font-family:inherit;font-size:12px}.input-wrap input:focus{border-color:#3b82f6;outline:none}.input-wrap .unit{color:#7d838d;flex:0 0 22px;font-size:11px;font-style:normal}.numdisp{cursor:pointer;-webkit-tap-highlight-color:transparent}.numdisp:active{border-color:#3b82f6}.npscrim{z-index:100;background:0 0;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.numpad{width:min(360px,100%);padding:14px 14px calc(14px + env(safe-area-inset-bottom));background:#1d2026;border:1px solid #2c3038;border-bottom:0;border-radius:18px 18px 0 0;flex-direction:column;gap:10px;display:flex;box-shadow:0 -12px 40px #00000080}.nphead{color:#9aa1ab;justify-content:space-between;align-items:center;font-size:13px;display:flex}.nphead b{color:#e8eaee;font-size:14px}.npx{color:#9aa1ab;cursor:pointer;background:#14161a;border:1px solid #2c3038;border-radius:8px;width:32px;height:32px;font-size:13px}.npdisp{background:#14161a;border:1px solid #2c3038;border-radius:12px;justify-content:flex-end;align-items:baseline;gap:6px;padding:12px 16px;display:flex}.npdisp span{color:#e8eaee;font-size:32px;font-weight:700;line-height:1.1}.npdisp em{color:#7d838d;font-size:14px;font-style:normal}.npsteps{gap:8px;display:flex}.npsteps button{color:#c6ccd6;cursor:pointer;background:#14161a;border:1px solid #2c3038;border-radius:10px;flex:1;padding:11px;font-family:inherit;font-size:14px;font-weight:600}.npgrid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.npgrid button{color:#e8eaee;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#23272f;border:1px solid #2c3038;border-radius:12px;padding:11px 0;font-family:inherit;font-size:20px;font-weight:600}.npgrid button.npsub{color:#9aa1ab;background:#14161a;font-size:17px}.npgrid button:active{color:#fff;background:#3b82f6}.npok{color:#fff;cursor:pointer;background:#3b82f6;border:0;border-radius:12px;padding:13px;font-family:inherit;font-size:16px;font-weight:700}@media (width>=761px){.npscrim{align-items:center}.numpad{border:1px solid #2c3038;border-radius:18px;padding-bottom:14px}}.lbl{color:#dde1e7;text-shadow:0 1px 4px #000000e6;white-space:nowrap;text-align:center;font-size:13px;font-weight:700}.lbl em{color:#9aa1ab;font-size:10px;font-style:normal;font-weight:400;display:block}.dim{color:#ff8a8a;white-space:nowrap;text-shadow:0 1px 3px #000000e6;font-size:11px;font-weight:600}.dimtag{color:#1c1e22;white-space:nowrap;background:#ffd233;border-radius:7px;padding:3px 10px;font-size:13px;font-weight:700;box-shadow:0 2px 10px #0009}.dimtag em{opacity:.65;margin-left:2px;font-size:10px;font-style:normal;font-weight:600}.objtag{color:#cfe0ff;white-space:nowrap;background:#14161ad9;border:1px solid #3b82f6;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600}@media (width<=760px){.topbar{gap:8px}.topbar h1 span{display:none}.topbar h1{font-size:13px}.views button{padding:6px 10px;font-size:12px}.warnchip{padding:2px 7px;font-size:10px}}.narrow-only{display:none}.toggles{border-bottom:1px solid #2c3038;margin-bottom:12px;padding-bottom:10px}.sect{border-bottom:1px solid #23262c}.secthead{color:#c6ccd6;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;height:44px;padding:0 2px;font-family:inherit;font-size:13.5px;font-weight:600;display:flex}.secthead.on{color:#cfe0ff}.secthead em{color:#7d838d;font-size:12px;font-style:normal}.sectbody{padding:2px 0 10px}.specbtn{color:#cfe0ff;cursor:pointer;background:#14161a;border:1px solid #2c3038;border-radius:10px;width:100%;height:46px;margin-top:14px;font-family:inherit;font-size:13.5px;font-weight:600}.pback{color:#9aa1ab;cursor:pointer;background:0 0;border:0;margin-right:auto;padding:0 8px 0 0;font-size:22px;line-height:1}.speccard{background:#14161a;border:1px solid #2c3038;border-radius:12px;margin-bottom:14px;padding:14px}.specbig{border-bottom:1px solid #2c3038;align-items:baseline;gap:6px;padding-bottom:10px;display:flex}.specbig span{color:#9aa1ab;margin-right:auto;font-size:12px}.specbig b{color:#e8eaee;font-size:26px;font-weight:700}.specbig em{color:#7d838d;font-size:11px;font-style:normal}.specsplit{gap:8px;padding-top:10px;display:flex}.specsplit>div{text-align:center;flex:1}.specsplit span{color:#7d838d;margin-bottom:2px;font-size:11px;display:block}.specsplit b{color:#e8eaee;font-size:15px}.spech{color:#9aa1ab;margin:14px 0 6px;font-size:12px}.spectbl{border-collapse:collapse;width:100%}.spectbl th,.spectbl td{text-align:left;border-bottom:1px solid #23262c;padding:7px 0;font-weight:400}.spectbl th{color:#b9bfc9;font-size:12.5px}.spectbl td{color:#e8eaee;text-align:right;white-space:nowrap;font-size:12.5px}.spectbl td.note{color:#6a7078;text-align:right;white-space:normal;max-width:92px;padding-left:8px;font-size:10.5px}.toggles button{color:#c6ccd6;cursor:pointer;text-align:left;background:#14161a;border:1px solid #2c3038;border-radius:9px;width:100%;height:42px;margin-bottom:6px;padding:0 12px;font-family:inherit;font-size:13px}.toggles button.on{color:#cfe0ff;background:#16233c;border-color:#3b82f6}@media (width<=430px){.topbar h1{display:none}.topbar{padding-left:max(8px, env(safe-area-inset-left));padding-right:max(8px, env(safe-area-inset-left));gap:6px}.tools{gap:6px}.wide-only{display:none}.narrow-only{display:block}.designbtn{max-width:76px;padding:0 8px;font-size:12px}.iconbtn{width:32px;height:32px;font-size:15px}.views button{padding:6px 9px}}.penbar .tools{gap:5px;margin-left:0;display:flex}.toolbtn{color:#9aa1ab;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#14161a;border:1px solid #2c3038;border-radius:10px;flex-direction:column;align-items:center;gap:1px;min-width:52px;height:44px;font-family:inherit;display:flex}.toolbtn.on{color:#cfe0ff;background:#16233c;border-color:#3b82f6}.toolbtn i{font-size:15px;font-style:normal;line-height:1}.toolbtn span{font-size:10px}.penhint{color:#7d838d;font-size:11px;line-height:1.5}.penbar .tapetools{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.tapetools .toolbtn span{white-space:nowrap;letter-spacing:-.3px}.tapetools .toolbtn{min-width:0}.penbar .penw{flex:none;width:40px;height:34px}.snapbtn{color:#9aa1ab;cursor:pointer;white-space:nowrap;touch-action:manipulation;background:#14161a;border:1px solid #2c3038;border-radius:17px;align-items:center;gap:7px;height:34px;padding:0 11px 0 8px;font-family:inherit;font-size:12px;display:flex}.snapbtn b{background:#2c3038;border-radius:8px;width:26px;height:15px;transition:background .15s;position:relative}.snapbtn b:after{content:"";background:#9aa1ab;border-radius:50%;width:11px;height:11px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.snapbtn.on{color:#cfe0ff;border-color:#3b82f6}.snapbtn.on b{background:#3b82f6}.snapbtn.on b:after{background:#fff;transform:translate(11px)}.pbtn:disabled{opacity:.4}.views button{white-space:nowrap}.warnchip b{font-weight:inherit}.sw{box-shadow:inset 0 0 0 1px #ffffff2e}@media (width<=480px){.views button{padding:6px 8px}.topbar .tools{gap:4px}.topbar .warnchip{padding-left:6px;padding-right:6px}}.seatmap[hidden]{display:none}button.seatchip{cursor:pointer;font-family:inherit}.photofab{top:10px;right:max(10px, env(safe-area-inset-right));color:#e8eaee;cursor:pointer;-webkit-backdrop-filter:blur(6px);touch-action:manipulation;background:#181b20e6;border:1px solid #3a3f48;border-radius:17px;height:34px;padding:0 12px;font-family:inherit;font-size:12.5px;font-weight:600;position:absolute}.photobar{-webkit-backdrop-filter:blur(8px);background:#0e0f12d1;border:1px solid #2c3038;border-radius:14px;align-items:center;gap:8px;max-width:calc(100% - 20px);padding:6px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%)}.photobar .presets{background:#0b0c0e;border-radius:9px;gap:2px;padding:2px;display:flex}.photobar .presets button{color:#9aa1ab;cursor:pointer;white-space:nowrap;touch-action:manipulation;background:0 0;border:0;border-radius:7px;padding:7px 11px;font-family:inherit;font-size:13px}.photobar .presets button.on{color:#1a1400;background:#f2c53d;font-weight:700}.photobar .shot{cursor:pointer;touch-action:manipulation;background:#1b1d22;border:1px solid #3a3f48;border-radius:9px;width:38px;height:34px;font-size:17px}.photobar .shot:disabled{opacity:.5}.fovchip{color:#b9bfc9;cursor:pointer;white-space:nowrap;touch-action:manipulation;background:#1d2026d9;border:1px solid #2c3038;border-radius:999px;padding:5px 12px;font-family:inherit;font-size:12px}.fovchip.on{color:#cfe0ff;border-color:#3b82f6}.selbar{flex:1;align-items:center;gap:5px;min-width:0;display:flex}.selbar em{color:#cfe0ff;white-space:nowrap;margin-right:2px;font-size:12px;font-style:normal}.selbar .pbtn,.nudge .pbtn{white-space:nowrap;padding:7px 9px}.nudge{flex:1;align-items:center;gap:4px;display:flex}.nudge .pbtn{min-width:34px}.marquee{z-index:60;pointer-events:none;background:#3b82f61f;border:1.5px dashed #3b82f6;border-radius:3px;position:fixed}.erasemode{background:#0b0c0e;border-radius:9px;flex:1;gap:2px;min-width:0;padding:2px;display:flex}.erasemode button{color:#9aa1ab;cursor:pointer;white-space:nowrap;touch-action:manipulation;background:0 0;border:0;border-radius:7px;flex:1;padding:8px 6px;font-family:inherit;font-size:12.5px}.erasemode button.on{color:#fff;background:#3b82f6;font-weight:600}.ve{z-index:80;color:#e8eaee;padding-top:env(safe-area-inset-top);background:#121418;flex-direction:column;display:flex;position:fixed;inset:0}.ve-top{padding:6px max(8px, env(safe-area-inset-right)) 6px max(8px, env(safe-area-inset-left));background:#1d2026;border-bottom:1px solid #2c3038;align-items:center;gap:6px;display:flex}.ve-steps{scrollbar-width:none;flex:1;gap:2px;min-width:0;display:flex;overflow-x:auto}.ve-steps::-webkit-scrollbar{display:none}.ve-steps button{color:#8b929c;cursor:pointer;white-space:nowrap;touch-action:manipulation;background:0 0;border:0;border-radius:7px;flex:1 0 auto;justify-content:center;align-items:center;gap:4px;padding:7px 6px;font-family:inherit;font-size:12.5px;display:flex}.ve-steps button i{color:#b9bfc9;text-align:center;background:#2c3038;border-radius:50%;width:15px;height:15px;font-size:10px;font-style:normal;line-height:15px}.ve-steps button.on{color:#cfe0ff;background:#16233c;font-weight:600}.ve-steps button.on i{color:#fff;background:#3b82f6}.ve-steps button:disabled{opacity:.35}.ve-canvas{background:#0e1013;flex:1;min-height:0;position:relative}.ve-canvas svg{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;width:100%;height:100%;display:block}.ve-room{fill:#6082be29;stroke:none}.ve-room.aux{fill:#8c8c9624}.ve-edge{stroke:#e8eaee;stroke-width:3.5px;stroke-linecap:round;pointer-events:none}.ve-edge.low{stroke:#f0a13c;stroke-width:2.5px}.ve-edge.open{stroke:#6b7280;stroke-width:1.5px;stroke-dasharray:5 6}.ve-edge.part{stroke:#a9b2c0;stroke-width:2.5px}.ve-edge.stage{stroke:#f2c53d}.ve-edge.on{stroke:#3b82f6;stroke-width:5px;stroke-dasharray:none}.ve-hit{stroke:#0000;stroke-width:24px;stroke-linecap:round;cursor:pointer}.ve-stage{fill:#f2c53d33;stroke:#f2c53d;stroke-width:2px;pointer-events:none}.ve-zone{fill:#f2c53d;text-anchor:middle;pointer-events:none;font-size:13px;font-weight:700}.ve-block{fill:#d5473d33;stroke:#e0655c;stroke-width:1.5px;cursor:move}.ve-block.on{stroke:#3b82f6;stroke-width:3px}.ve-seat{fill:#e0655c;pointer-events:none}.ve-arrow{stroke:#fff;stroke-width:2px;pointer-events:none}.ve-arrowtip{fill:#fff;pointer-events:none}.ve-draw{fill:none;stroke:#3b82f6;stroke-width:2.5px;stroke-linejoin:round;pointer-events:none}.ve-dot{fill:#3b82f6;stroke:#fff;stroke-width:1.5px;pointer-events:none}.ve-dot.first{fill:#fff;stroke:#3b82f6;stroke-width:3px}.ve-guide{stroke:#22c55e;stroke-width:1px;stroke-dasharray:4 4;pointer-events:none}.ve-h{fill:#fff;stroke:#3b82f6;stroke-width:2.5px;pointer-events:none}.ve-h.on{fill:#3b82f6;stroke:#fff}.ve-grab{fill:#0000;cursor:grab}.ve-len{fill:#cfd5de;text-anchor:middle;paint-order:stroke;stroke:#0e1013;stroke-width:3px;pointer-events:none;font-size:11px}.ve-len.on{fill:#7fb0ff;font-size:12px;font-weight:700}.ve-rule{stroke:#ff4d4d;stroke-width:2px;stroke-dasharray:6 5;pointer-events:none}.ve-mark{stroke:#ff4d4d;stroke-width:2px;pointer-events:none}.ve-marktxt{fill:#ff4d4d;paint-order:stroke;stroke:#fff;stroke-width:3px;pointer-events:none;font-size:15px;font-weight:800}.ve-cross line{stroke:#22c55e;stroke-width:1.5px}.ve-float{top:8px;right:max(8px, env(safe-area-inset-right));flex-direction:column;gap:6px;display:flex;position:absolute}.ve-float button{color:#e8eaee;cursor:pointer;background:#181b20e6;border:1px solid #2c3038;border-radius:10px;width:36px;height:36px;font-size:16px}.ve-float button.on{border-color:#3b82f6}.ve-msg{color:#d6ffe4;text-align:center;background:#143c24f2;border:1px solid #22c55e;border-radius:9px;max-width:calc(100% - 110px);padding:6px 10px;font-size:12px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.ve-bar{padding:8px max(10px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));height:calc(232px + env(safe-area-inset-bottom));background:#1d2026;border-top:1px solid #2c3038;flex-direction:column;flex:none;gap:7px;display:flex;overflow-y:auto}.ve-tip{color:#9aa1ab;font-size:12px;line-height:1.55}.ve-tip b{color:#e8eaee}.ve-warn{color:#ffb4a8;font-size:12px}.ve-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ve-row .pbtn{white-space:nowrap;padding:9px 12px;font-size:13px}.ve-row .pbtn.big{padding:11px 18px;font-size:14px}.ve .pbtn.on{color:#fff;background:#3b82f6;border-color:#3b82f6;font-weight:600}.ve-lab{color:#b9bfc9;white-space:nowrap;font-size:12px}.ve-ok{color:#6ee7a0;font-size:12.5px;font-weight:600}.ve-num{flex:1;min-width:150px;display:flex}.ve-num input,.ve-field input,.ve-name{color:#e8eaee;background:#14161a;border:1px solid #2c3038;border-radius:9px;width:100%;min-height:40px;padding:0 10px;font-family:inherit;font-size:15px}.ve-name{flex:1;min-width:0}.ve-check{color:#b9bfc9;white-space:nowrap;align-items:center;gap:5px;font-size:12px;display:flex}.ve-seg{background:#0b0c0e;border-radius:9px;gap:2px;padding:2px;display:flex}.ve-seg button{color:#9aa1ab;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:8px 10px;font-family:inherit;font-size:12.5px}.ve-seg button.on{color:#fff;background:#3b82f6;font-weight:600}.ve-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px 8px;display:grid}.ve-field{flex-direction:column;gap:3px;min-width:0;display:flex}.ve-field>span{color:#9aa1ab;font-size:11.5px}.vrow{align-items:center;gap:4px;margin-bottom:4px;display:flex}.vrow .dname{flex:1}.smempty{color:#9aa1ab;padding:6px 4px;font-size:11px}.smblockname{color:#9aa1ab;margin:4px 0 2px;font-size:10.5px}.ve-wall{stroke:#eceef2;stroke-linecap:butt;pointer-events:none}.ve-wall.low{stroke:#f0a13c}.ve-wall.on{stroke:#3b82f6}.ve-wall.ghost{stroke:#3b82f6;opacity:.6}.ve-room.open{fill:#f0a13c1a}.ve-prev{fill:#f2c53d38;stroke:#f2c53d;stroke-width:2px;stroke-dasharray:6 4;pointer-events:none}.ve-prev.seat{fill:#d5473d33;stroke:#e0655c}.ve-canvas svg.erase,.ve-canvas svg.erase .ve-hit{cursor:crosshair}.ve-canvas svg.erase .ve-hit:hover{stroke:#ef444473}.ve-tip .ve-warn{font-size:inherit}.ve .stepper .sbtn{flex:0 0 40px;width:40px}.ve .stepper .sval{min-width:0;padding:0 2px;font-size:15px}.ve-bar.tall{height:calc(352px + env(safe-area-inset-bottom))}.ve-body{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.ve-start{z-index:5;padding:22px max(16px, env(safe-area-inset-right)) calc(22px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:#121418;flex-direction:column;align-items:stretch;gap:12px;display:flex;position:absolute;inset:0;overflow-y:auto}.ve-start>*{width:100%;max-width:560px;margin-left:auto;margin-right:auto}.ve-start h2{margin-top:6px;font-size:21px;font-weight:800}.ve-lead{color:#9aa1ab;margin-bottom:4px;font-size:13.5px;line-height:1.6}.ve-choice{text-align:left;color:#e8eaee;cursor:pointer;background:#1d2026;border:1px solid #2c3038;border-radius:16px;align-items:center;gap:14px;padding:16px;font-family:inherit;display:flex;position:relative}.ve-choice.main{background:linear-gradient(#1c2a44,#1d2026);border-color:#3b82f6}.ve-choice:active{transform:scale(.99)}.ve-choice svg{flex:0 0 76px;width:76px;height:57px}.ve-choice svg .pic{fill:#dfe3ea}.ve-choice svg .wall{fill:none;stroke:#3b82f6;stroke-width:3.5px;stroke-linejoin:miter}.ve-choice svg .dim{stroke:#ef4444;stroke-width:1.5px}.ve-choice svg .num{fill:#9aa1ab;text-anchor:middle;font-size:8px}.ve-choice svg .floor{fill:#2f3a50}.ve-choice svg .wall3{fill:#8e96a3}.ve-choice svg .wall3.b{fill:#6f7783}.ve-choice span{flex-direction:column;gap:4px;min-width:0;display:flex}.ve-choice b{font-size:16px}.ve-choice em{color:#9aa1ab;font-size:12.5px;font-style:normal;line-height:1.5}.ve-choice>i{color:#fff;background:#3b82f6;border-radius:99px;padding:2px 8px;font-size:11px;font-style:normal;font-weight:700;position:absolute;top:10px;right:12px}.ve-shapes{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.ve-shapes button{color:#e8eaee;cursor:pointer;background:#1d2026;border:1px solid #2c3038;border-radius:16px;flex-direction:column;align-items:center;gap:4px;padding:14px 10px 12px;font-family:inherit;display:flex}.ve-shapes button:active{border-color:#3b82f6}.ve-shapes svg{width:100%;max-width:150px;height:92px}.ve-shapes svg path{fill:#6082be33;stroke:#eceef2;stroke-width:420px;stroke-linejoin:miter}.ve-shapes svg path.free{stroke-dasharray:700 500;stroke-width:260px}.ve-shapes svg circle{fill:#3b82f6}.ve-shapes b{font-size:15px}.ve-shapes em{color:#9aa1ab;font-size:12px;font-style:normal}.ve-q{color:#fff;font-size:15.5px;font-weight:800;line-height:1.35}.ve-grid-lines line{stroke:#1c1f25;stroke-width:1px}.ve-grid-lines line.major{stroke:#2a2e37}.ve-ruler line{stroke:#cfd5de;stroke-width:1.5px}.ve-ruler text{fill:#cfd5de;text-anchor:middle;paint-order:stroke;stroke:#0e1013;stroke-width:3px;font-size:11px}.ve-ruler text.who{text-anchor:start;fill:#8d95a1}.ve-ruler ellipse{fill:#8d95a1}.ve-ruler circle.head{fill:#cfd5de}.ve-door line{stroke:#22c55e;stroke-width:3px;stroke-dasharray:5 4;pointer-events:none}.ve-door line.ve-hit{stroke:#0000;stroke-dasharray:none;pointer-events:stroke;cursor:pointer}.ve-door text{fill:#22c55e;text-anchor:middle;paint-order:stroke;stroke:#0e1013;stroke-width:3px;pointer-events:none;font-size:11px;font-weight:800}.ve-loose{fill:#f0a13c59;stroke:#f0a13c;stroke-width:2px;pointer-events:none}.ve-oedge{stroke:#0000;stroke-width:3px;pointer-events:none}.ve-oedge.on{stroke:#3b82f6;stroke-width:5px}.ve-chip{fill:#1d2026;stroke:#4b5563;stroke-width:1px}.ve-chip.on{fill:#3b82f6;stroke:#3b82f6}.ve-chiptxt{fill:#fff;text-anchor:middle;pointer-events:none;font-size:12px;font-weight:700}.ve-front{stroke:#f2c53d;stroke-width:4px;pointer-events:none}.ve .pulse{animation:1.1s ease-in-out 3 ve-pulse}@keyframes ve-pulse{0%,to{opacity:1}50%{opacity:.35}}.ve-loose.pulse{animation-iteration-count:infinite}.ve-check.ai{white-space:normal;align-items:flex-start;margin:-4px 4px 2px;line-height:1.5}:root{--bg0:#0e1013;--bg1:#15181d;--bg2:#1c2027;--bg3:#262b34;--line:#2a303a;--line2:#3a414d;--tx:#eceef2;--tx2:#a4acb9;--tx3:#6d7583;--ac:#4f8cff;--ac-soft:#4f8cff29;--ok:#34d399;--warn:#f0a13c;--err:#ff6b6b;--float:#15181ded;--shadow:0 10px 30px #00000073}@media (width<=899px){.wide-up{display:none!important}}@media (width>=900px){.narrow-down{display:none!important}}.topbar{height:calc(52px + env(safe-area-inset-top));background:var(--bg1);border-bottom:1px solid var(--line);padding-right:max(12px, env(safe-area-inset-right));gap:10px}.venuebtn{height:36px;color:var(--tx);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:7px;min-width:0;padding:0 8px 0 10px;font-family:inherit;display:flex}.venuebtn:hover{background:var(--bg2);border-color:var(--line)}.venuebtn b{white-space:nowrap;text-overflow:ellipsis;max-width:34vw;font-size:14px;font-weight:700;overflow:hidden}.venuebtn span{color:var(--tx2);white-space:nowrap;background:var(--bg3);border-radius:6px;padding:2px 7px;font-size:12px}.venuebtn svg{color:var(--tx3);flex:none}.views{background:var(--bg0);border:1px solid var(--line);border-radius:10px;gap:2px;padding:2px}.views button{color:var(--tx2);white-space:nowrap;border-radius:8px;padding:6px 14px;font-size:13px}.views button.on{background:var(--bg3);color:var(--tx);box-shadow:inset 0 0 0 1px var(--line2);font-weight:600}.tools{gap:6px}.iconbtn{width:36px;height:36px;color:var(--tx2);background:0 0;border:1px solid #0000;border-radius:10px;place-items:center;font-family:inherit;display:grid}.iconbtn:hover:not(:disabled){background:var(--bg2);color:var(--tx)}.iconbtn:disabled{opacity:.3}.iconbtn.active{background:var(--ac-soft);color:var(--ac);border-color:#0000}.warnchip{color:#ffb4a8;background:#2a1616;border:1px solid #5c2626;align-items:center;gap:4px;padding:4px 9px;font-size:11.5px;display:inline-flex}.ghostbtn{width:30px;height:30px;color:var(--tx2);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;display:grid}.ghostbtn:hover{background:var(--bg3);color:var(--tx)}.taskbar{padding:6px max(8px, env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));background:var(--bg1);border-top:1px solid var(--line);flex:none;justify-content:center;gap:4px;display:flex}.taskbar button{max-width:150px;height:42px;color:var(--tx2);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:11px;flex:1 1 0;justify-content:center;align-items:center;gap:7px;font-family:inherit;font-size:13.5px;display:flex}.taskbar button:hover{background:var(--bg2);color:var(--tx)}.taskbar button.on{background:var(--ac-soft);color:var(--ac);font-weight:700}@media (width<=520px){.taskbar button{flex-direction:column;gap:2px;height:48px;font-size:11.5px}}.overlays{padding-bottom:10px}.lib,.libsheet,.insp,.vmenu{background:var(--float);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);border-radius:16px}.lib{top:12px;left:max(12px, env(safe-area-inset-left));flex-direction:column;gap:8px;width:244px;max-height:calc(100% - 24px);padding:10px;display:flex;position:absolute}.libhead{align-items:center;gap:8px;padding-left:4px;display:flex}.libhead b{font-size:14px}.libhead span{color:var(--tx3);white-space:nowrap;text-overflow:ellipsis;margin-right:auto;font-size:11.5px;overflow:hidden}.libcats{flex-wrap:wrap;gap:4px;display:flex}.libcats button{border:1px solid var(--line);color:var(--tx2);cursor:pointer;white-space:nowrap;background:0 0;border-radius:99px;padding:5px 10px;font-family:inherit;font-size:12px}.libcats button.on{background:var(--tx);border-color:var(--tx);color:#111418;font-weight:700}.libgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-height:0;padding-bottom:2px;display:grid;overflow-y:auto}.libitem{border:1px solid var(--line);background:var(--bg2);color:var(--tx);cursor:pointer;touch-action:manipulation;border-radius:12px;flex-direction:column;align-items:center;gap:1px;min-width:0;padding:9px 4px 8px;font-family:inherit;display:flex}.libitem:hover{border-color:var(--line2);background:var(--bg3)}.libitem.on{border-color:var(--ac);background:var(--ac-soft)}.libitem svg{width:44px;height:34px;color:var(--tx2)}.libitem.on svg{color:var(--ac)}.libitem b{white-space:nowrap;font-size:12.5px;font-weight:600}.libitem em{color:var(--tx3);white-space:nowrap;font-size:10.5px;font-style:normal}.libfab{top:12px;left:max(12px, env(safe-area-inset-left));background:var(--ac);color:#fff;cursor:pointer;height:40px;box-shadow:var(--shadow);touch-action:manipulation;border:0;border-radius:20px;align-items:center;gap:5px;padding:0 14px 0 11px;font-family:inherit;font-size:14px;font-weight:700;display:flex;position:absolute}.libscrim2{background:#00000059;position:absolute;inset:0}.libsheet{flex-direction:column;gap:8px;max-height:68%;padding:12px;display:flex;position:absolute;bottom:8px;left:8px;right:8px}.libsheet .libgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.placing{background:var(--float);border:1px solid var(--ac);max-width:calc(100% - 20px);box-shadow:var(--shadow);color:var(--tx2);white-space:nowrap;border-radius:14px;align-items:center;gap:8px;padding:6px 6px 6px 10px;font-size:12.5px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.placing svg{width:30px;height:23px;color:var(--ac);flex:none}.placing span{text-overflow:ellipsis;overflow:hidden}.placing b{color:var(--tx)}.placing button{background:var(--ac);color:#fff;cursor:pointer;border:0;border-radius:9px;padding:7px 11px;font-family:inherit;font-size:12.5px;font-weight:700}@media (width<=899px){.placing{max-width:none;left:10px;right:10px;transform:none}.placing span{margin-right:auto}}.insp{top:12px;right:max(12px, env(safe-area-inset-right));flex-direction:column;gap:12px;width:268px;max-height:calc(100% - 24px);padding:12px;display:flex;position:absolute;overflow-y:auto}.insp.sheet{gap:9px;width:auto;max-height:62%;padding:10px;inset:auto 8px 8px}.ihead{align-items:center;gap:6px;display:flex}.iname{min-width:0;height:32px;color:var(--tx);background:0 0;border:1px solid #0000;border-radius:8px;flex:1;padding:0 6px;font-family:inherit;font-size:15px;font-weight:700}.iname:hover,.iname:focus{border-color:var(--line2);background:var(--bg0);outline:none}.isum{color:var(--tx3);white-space:nowrap;font-size:11px}.insp:not(.sheet) .isum{display:none}.inote{color:var(--tx2);font-size:12.5px;line-height:1.5}.isec{flex-direction:column;gap:7px;display:flex}.isec h4{color:var(--tx3);font-size:11.5px;font-weight:600}.insp.sheet .isec h4{display:none}.ifields{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.ifields label,.ilab{flex-direction:column;gap:3px;min-width:0;display:flex}.ifields label>span,.ilab>span{color:var(--tx2);font-size:11px}.ilab{flex:1}.ilab.full{flex-direction:row;align-items:center;gap:8px}.ilab.full>span{white-space:nowrap;flex:none}.insp input[type=number]{background:var(--bg0);border:1px solid var(--line);width:100%;height:34px;color:var(--tx);text-align:right;border-radius:8px;padding:0 7px;font-family:inherit;font-size:13.5px;font-weight:600}.insp input[type=number]:focus{border-color:var(--ac);outline:none}.insp.sheet .ifields{grid-template-columns:1fr}.insp.sheet .ifields label{flex-direction:row;align-items:center;gap:10px}.insp.sheet .ifields label>span{flex:0 0 34px;font-size:12.5px}.ichips{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.ichips em{color:var(--tx3);width:28px;font-size:11px;font-style:normal}.ichips button,.itabs button{border:1px solid var(--line);color:var(--tx2);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;padding:5px 9px;font-family:inherit;font-size:12px}.ichips button.on,.itabs button.on{border-color:var(--ac);background:var(--ac-soft);color:var(--ac);font-weight:700}.itabs{gap:5px;display:flex}.itabs button{flex:1;padding:8px 6px;font-size:13px}.irow{align-items:flex-end;gap:6px;display:flex}.ibtn{border:1px solid var(--line);background:var(--bg2);width:38px;height:34px;color:var(--tx);cursor:pointer;border-radius:8px;flex:none;place-items:center;display:grid}.ibtn:hover{border-color:var(--line2);background:var(--bg3)}.iseg{background:var(--bg0);border:1px solid var(--line);border-radius:9px;gap:2px;padding:2px;display:flex}.iseg button{color:var(--tx2);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1;padding:7px 4px;font-family:inherit;font-size:12.5px}.iseg button.on{background:var(--bg3);color:var(--tx);font-weight:700}.iacts{border-top:1px solid var(--line);gap:6px;padding-top:10px;display:flex}.insp.sheet .iacts{padding-top:8px}.iacts button{border:1px solid var(--line);height:36px;color:var(--tx2);cursor:pointer;white-space:nowrap;background:0 0;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:5px;font-family:inherit;font-size:12.5px;display:flex}.iacts button:hover{background:var(--bg3);color:var(--tx)}.iacts button.on{color:var(--ac);border-color:var(--ac)}.iacts button.del{color:#ff9a8f}.iacts button.del:hover{background:#2a1616;border-color:#6b2c2c}.vmwrap{position:relative}.vmscrim{z-index:40;position:fixed;inset:0}.vmenu{z-index:41;flex-direction:column;gap:4px;width:264px;padding:10px;display:flex;position:absolute;top:42px;right:0}.vmenu h4{color:var(--tx3);padding:6px 6px 2px;font-size:11.5px;font-weight:600}.vmrow{color:var(--tx);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:8px 6px;font-family:inherit;display:flex}.vmrow:hover{background:var(--bg3)}.vmrow span{flex-direction:column;gap:1px;margin-right:auto;display:flex}.vmrow b{font-size:13.5px;font-weight:600}.vmrow em{color:var(--tx3);font-size:11.5px;font-style:normal}.sw2{background:var(--bg3);border:1px solid var(--line2);border-radius:99px;flex:none;width:36px;height:21px;transition:background .15s;position:relative}.sw2:after{content:"";background:var(--tx2);border-radius:50%;width:15px;height:15px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.sw2.on{background:var(--ac);border-color:var(--ac)}.sw2.on:after{background:#fff;transform:translate(15px)}.vmshots{gap:6px;padding:0 4px;display:flex}.vmshots button,.vmlink{border:1px solid var(--line);height:36px;color:var(--tx);cursor:pointer;background:0 0;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:6px;font-family:inherit;font-size:12.5px;display:flex}.vmshots button:hover,.vmlink:hover{background:var(--bg3)}.vmlink{color:var(--tx2);flex:none;margin:8px 4px 2px}.objbar{background:var(--float);border:1px solid var(--line2);box-shadow:var(--shadow);white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:12px;align-items:center;gap:1px;padding:3px;display:flex}.objbar.warn{border-color:#8a3a3a}.obname{color:var(--tx);padding:0 9px 0 8px;font-size:12.5px;font-weight:700}.obname em{color:#ff9a8f;font-style:normal;font-weight:600}.objbar button{width:32px;height:32px;color:var(--tx2);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:9px;place-items:center;display:grid}.objbar button:hover{background:var(--bg3);color:var(--tx)}.objbar button.on{color:var(--ac)}.objbar button.del:hover{color:var(--err);background:#2a1616}.grip{border:2.5px solid var(--ac);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#fff;border-radius:50%;width:15px;height:15px;transition:transform .1s;position:relative;box-shadow:0 1px 5px #0000008c}.grip:before{content:"";border-radius:50%;position:absolute;inset:-15px}.grip.top{border-color:#ffd233;border-radius:4px}.grip.rot{background:var(--ac);color:#fff;border:2px solid #fff;place-items:center;width:28px;height:28px;display:grid}.grip.rot:before{inset:-9px}.grip:hover,.grip.on{transform:scale(1.2)}.grip.on{cursor:grabbing}.reachtag,.griptag{white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:7px;padding:2px 7px;font-size:11.5px;font-weight:700}.reachtag{color:#7ee6bd;background:#082018eb;border:1px solid #34d3998c}.griptag{background:var(--ac);color:#fff;box-shadow:0 2px 8px #00000080}.lib,.libfab,.libsheet,.libscrim2,.placing,.insp{z-index:60}@media (width<=619px){.phone-hide{display:none!important}.venuebtn b{max-width:44vw}.tools{gap:2px}}@media (width>=620px){.phone-only{display:none!important}}.viewfloat{top:12px;right:max(10px, env(safe-area-inset-right));z-index:55;position:absolute}.viewfloat .views{background:var(--float);box-shadow:var(--shadow)}.viewfloat .views button{padding:8px 13px}@media (width<=619px){.placing,.photobar{top:62px}}.libpages{background:var(--bg0);border:1px solid var(--line);border-radius:10px;gap:2px;margin-right:auto;padding:2px;display:flex}.libpages button{color:var(--tx2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:5px;padding:6px 11px;font-family:inherit;font-size:13px;display:flex}.libpages button.on{background:var(--bg3);color:var(--tx);font-weight:700}.libpages i{color:var(--tx3);font-variant-numeric:tabular-nums;font-size:11px;font-style:normal}.liblist{flex-direction:column;gap:3px;min-height:0;display:flex;overflow-y:auto}.libempty{color:var(--tx3);padding:14px 6px;font-size:12.5px;line-height:1.6}.librow{border:1px solid #0000;border-radius:10px;align-items:center;gap:2px;display:flex}.librow.on{border-color:var(--ac);background:var(--ac-soft)}.librowmain{min-width:0;color:var(--tx);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;align-items:center;gap:8px;padding:6px 4px 6px 6px;font-family:inherit;display:flex}.librow:not(.on) .librowmain:hover{background:var(--bg3)}.librowmain svg:first-child{width:30px;height:23px;color:var(--tx2);flex:none}.librowmain span{flex-direction:column;min-width:0;margin-right:auto;display:flex}.librowmain b{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.librowmain em{color:var(--tx3);white-space:nowrap;font-size:10.5px;font-style:normal}.libgrp{color:var(--ac);flex:none}.ghostbtn.on{color:var(--ac)}.multibtn{left:max(12px, env(safe-area-inset-left));z-index:55;border:1px solid var(--line2);background:var(--float);height:38px;color:var(--tx);cursor:pointer;box-shadow:var(--shadow);touch-action:manipulation;white-space:nowrap;border-radius:19px;align-items:center;gap:6px;padding:0 13px 0 11px;font-family:inherit;font-size:12.5px;display:flex;position:absolute;bottom:12px}.multibtn:hover{border-color:var(--ac)}@media (width<=899px){.multibtn{top:12px;bottom:auto;left:calc(max(12px, env(safe-area-inset-left)) + 96px);height:40px}}@media (width<=419px){.multibtn{gap:0;padding:0 12px;font-size:0}}.placing>svg.lucide{width:18px;height:18px}.selbox{z-index:50;border:1.5px solid var(--ac);pointer-events:none;background:#4f8cff24;border-radius:3px;position:absolute}.imany{padding:0 6px;font-size:15px;font-weight:700}.insp .ihead .isum{margin-right:auto}.insp:not(.sheet) .ihead .imany+.isum{display:inline}.irow.tight{flex-wrap:wrap;align-items:center;gap:5px}.igap{width:8px}.itxt{border:1px solid var(--line);background:var(--bg2);height:34px;color:var(--tx);cursor:pointer;white-space:nowrap;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;font-family:inherit;font-size:12.5px;display:flex}.itxt:hover:not(:disabled){border-color:var(--line2);background:var(--bg3)}.itxt:disabled{opacity:.4;cursor:default}.ihint{color:var(--tx2);margin-right:auto;font-size:11.5px;font-style:normal}.ifields.two{grid-template-columns:repeat(2,minmax(0,1fr))}.iacts.wrap{flex-wrap:wrap}.iacts.wrap button{flex:30%}.irow.tight .ibtn{width:34px}.irow.tight .igap{width:4px}.lib{max-height:calc(100% - 76px)}.liblist,.libgrid,.insp,.vmenu{scrollbar-width:thin;scrollbar-color:#3a414d transparent}.vmshots{grid-template-columns:1fr 1fr;display:grid}.vmshots button:disabled{opacity:.4;cursor:default}.toolbtn svg{margin:0 auto 2px;display:block}.photobar .shot{color:var(--tx);place-items:center;display:grid}.scenebar{height:46px;padding:0 max(10px, env(safe-area-inset-right)) 0 max(12px, env(safe-area-inset-left));background:var(--bg1);border-top:1px solid var(--line);flex:none;align-items:center;gap:6px;display:flex}.sblabel{color:var(--tx3);flex:none;font-size:11.5px;font-weight:600}.sbchips{scrollbar-width:none;flex:1;align-items:center;gap:4px;min-width:0;padding:2px 0;display:flex;overflow-x:auto}.sbchips::-webkit-scrollbar{display:none}.sbchip,.sbadd,.sbtool{border:1px solid var(--line);height:32px;color:var(--tx2);cursor:pointer;white-space:nowrap;touch-action:manipulation;background:0 0;border-radius:9px;flex:none;align-items:center;gap:5px;padding:0 12px;font-family:inherit;font-size:13px;display:flex}.sbchip:hover,.sbadd:hover,.sbtool:hover{background:var(--bg2);color:var(--tx)}.sbchip.on{background:var(--tx);border-color:var(--tx);color:#111418;font-weight:700}.sbadd{color:var(--tx2);border-style:dashed;padding:0 10px}.sbtool{padding:0 9px}.sbtool.on{color:#f6b860;background:#f0a13c24;border-color:#b37521}.sbmenuwrap .sbtool.on{border-color:var(--ac);background:var(--ac-soft);color:var(--ac)}@media (width<=619px){.sbtool span{display:none}}.sbmenuwrap{flex:none;position:relative}.sbmenu{z-index:41;background:var(--float);border:1px solid var(--line);width:244px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);border-radius:14px;flex-direction:column;gap:8px;padding:10px;display:flex;position:absolute;bottom:40px;right:0}.sbmenu label{flex-direction:column;gap:4px;display:flex}.sbmenu label span{color:var(--tx3);font-size:11.5px}.sbmenu input{border:1px solid var(--line);background:var(--bg0);height:36px;color:var(--tx);border-radius:9px;padding:0 10px;font-family:inherit;font-size:14px;font-weight:600}.sbmenu input:focus{border-color:var(--ac);outline:none}.sbmenurow{gap:6px;display:flex}.sbmenurow button{border:1px solid var(--line);height:36px;color:var(--tx);cursor:pointer;white-space:nowrap;background:0 0;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:4px;font-family:inherit;font-size:12.5px;display:flex}.sbmenurow button:hover:not(:disabled){background:var(--bg3)}.sbmenurow button:disabled{opacity:.35;cursor:default}.sbmenurow button.del{color:#ff9a8f;flex:none;padding:0 12px}.scenebar+.taskbar{border-top:0;padding-top:2px}.mouseonly{color:var(--tx3);font-style:normal;display:none}@media (hover:hover) and (pointer:fine){.mouseonly{display:inline}}.insp.sheet .iacts.wrap{flex-wrap:nowrap;gap:4px}.insp.sheet .iacts.wrap button{flex:1 1 0;gap:3px;min-width:0;padding:0 2px;font-size:12px;overflow:hidden}.insp.sheet .isec.show h4{display:none}.sharebox{gap:6px;display:flex}.sharebox input{color:#e8eaee;background:#14161a;border:1px solid #3a3f48;border-radius:8px;flex:1;min-width:0;height:36px;padding:0 10px;font-family:inherit;font-size:12.5px}.sharebox button{color:#fff;cursor:pointer;background:#3b82f6;border:0;border-radius:8px;flex:none;height:36px;padding:0 12px;font-family:inherit;font-size:12.5px;font-weight:700}.sharenote{color:#8a909b;font-size:11.5px;line-height:1.55}.sharenote.ok{color:#8fd3a5}.sharenote.bad{color:#ff9a8f}.notice{z-index:30;background:var(--float);border:1px solid var(--ac);max-width:calc(100% - 20px);box-shadow:var(--shadow);color:var(--tx);border-radius:12px;align-items:center;gap:8px;padding:9px 8px 9px 14px;font-size:13px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.notice.bad{border-color:#b3554c}.notice button{color:var(--tx2);cursor:pointer;background:0 0;border:0;padding:4px 6px;font-size:13px}.penbar .penrow{min-height:38px}.penbar .penhint{min-height:33px}
