body:has(.landing-overlay){overflow:hidden}#app.landing-mode{position:fixed;top:0;right:0;bottom:0;left:0;height:100vh;height:100dvh;z-index:1}#app.landing-mode #topbar,#app.landing-mode #statusbar,#app.landing-mode .left-toolbar,#app.landing-mode .side-drawer,#app.landing-mode .viewport-camera-bar,#app.landing-mode .viewport-mode-bar,#app.landing-mode #help-card,#app.landing-mode .minimap-overlay-container{display:none!important}#app.landing-mode #main,#app.landing-mode .app-shell{position:fixed;top:0;right:0;bottom:0;left:0;height:100%;flex:none}#app.landing-mode .viewport-area{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent}#app .viewport-area{transition:transform .72s cubic-bezier(.4,0,.2,1)}@media (min-width: 921px){#app.landing-mode .viewport-area{transform:translate(22vw)}}.landing-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;min-height:100vh;min-height:100dvh;background:transparent;color:var(--text-main);font-family:var(--font);overflow:hidden;pointer-events:none;transition:opacity .72s cubic-bezier(.4,0,.2,1),transform .72s cubic-bezier(.4,0,.2,1),filter .72s cubic-bezier(.4,0,.2,1);will-change:opacity,transform,filter}.landing-overlay.exiting{opacity:0;transform:scale(1.02);filter:blur(4px)}.landing-logo{color:var(--accent);flex-shrink:0}.lp{display:flex;flex-direction:column;pointer-events:auto}.lp-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(112deg,#05060a,#070a10 58%,#060810);clip-path:polygon(0 0,55% 0,51% 100%,0 100%);filter:drop-shadow(18px 0 48px rgba(0,0,0,.55));pointer-events:none;transition:clip-path .52s cubic-bezier(.4,0,.2,1);will-change:clip-path}.lp-nav{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none;height:60px;padding:0 28px;background:#05060a;border-bottom:1px solid rgba(255,255,255,.07)}.lp-brand{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--text-bright);font:700 15px var(--font);letter-spacing:-.01em;cursor:var(--cursor-pointer)}.lp-brand:hover strong{color:var(--accent)}.lp-nav-links{display:flex;align-items:center;gap:4px}.lp-nav-links button,.lp-nav-links a{padding:8px 14px;border:0;border-radius:8px;background:transparent;color:var(--text-muted);font:500 13.5px var(--font);text-decoration:none;cursor:var(--cursor-pointer);transition:color .15s ease,background .15s ease}.lp-nav-links button:hover,.lp-nav-links a:hover{color:var(--text-bright);background:#ffffff0d}.lp-nav-links button.active{color:var(--text-bright);background:#ffffff12}.lp-nav-actions{display:flex;align-items:center;gap:8px}.lp-account-chip{display:inline-flex;align-items:center;gap:7px;max-width:150px;height:34px;padding:0 10px;border:1px solid var(--accent);border-radius:8px;background:transparent;color:var(--accent);font:600 12px var(--font);cursor:var(--cursor-pointer);box-shadow:none;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.lp-account-chip:hover,.lp-account-chip.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent);box-shadow:0 4px 16px #2563eb2e;transform:translateY(-1px)}.lp-account-chip:active{transform:translateY(0)}.lp-account-chip img{width:20px;height:20px;border-radius:50%;object-fit:cover}.lp-account-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lp-admin-chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border:1px solid rgba(37,99,235,.55);border-radius:8px;background:#2563eb1c;color:#8fb3ff;font:650 11px var(--font);cursor:var(--cursor-pointer)}.lp-admin-chip:hover,.lp-admin-chip.active{border-color:#3b82f6;background:#2563eb33;color:#c2d5ff;box-shadow:0 0 0 1px #2563eb14,0 6px 20px #2563eb26}.lp-nav-credits{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:var(--text-dim);cursor:var(--cursor-pointer)}.lp-nav-credits:hover{color:var(--text-bright);background:#ffffff0d}.lp-scroll{position:relative;z-index:1;flex:1;min-height:0;overflow:hidden}.lp-content{display:flex;flex-direction:column;box-sizing:border-box;width:min(760px,52vw);height:100%;min-height:0;padding:0 24px 0 52px}.lp-content-scroll{display:flex;flex:1;flex-direction:column;gap:24px;min-height:0;overflow-y:auto;overflow-x:hidden;padding:24px 0;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}.lp-content-scroll::-webkit-scrollbar{display:none}.lp-content-scroll>*{animation:lp-content-enter .46s cubic-bezier(.22,1,.36,1) both}@keyframes lp-content-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.lp--auth .lp-bg{clip-path:polygon(0 0,45% 0,42% 100%,0 100%)}.lp--profile .lp-bg{clip-path:polygon(0 0,50% 0,46% 100%,0 100%)}.lp--profile .lp-content{width:min(720px,52vw)}.lp--community .lp-bg{clip-path:polygon(0 0,59% 0,55% 100%,0 100%)}.lp--community .lp-content{width:min(760px,56vw)}.lp--admin .lp-bg,.lp--legal .lp-bg{clip-path:none;background:#07090e}.lp--admin .lp-content{width:100%;padding:0}.lp--admin .lp-content-scroll{padding:0;overflow:hidden}.lp--admin .lp-footer{display:none}.lp--legal .lp-content{width:min(1040px,100%);padding:0 42px;margin:0 auto}.lp--legal .lp-footer{width:100%}.admin-dashboard{--admin-line: rgba(96, 133, 205, .18);--admin-panel: #0c111b;--admin-panel-raised: #101725;--admin-blue: var(--accent);--admin-blue-bright: var(--accent);--admin-content-width: 1500px;--admin-content-gutter: 34px;display:grid;grid-template-columns:244px minmax(0,1fr);width:100%;height:100%;min-height:0;background:#070b12;color:#e8ecf4}.admin-sidebar{display:flex;flex-direction:column;min-height:0;padding:24px 16px 18px;background:linear-gradient(180deg,#080d16,#070a10)}.admin-sidebar-heading{display:flex;align-items:center;gap:12px;padding:0 8px 25px}.admin-shield{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--accent);border-radius:11px;background:var(--accent-bg);color:var(--accent);box-shadow:inset 0 0 18px var(--accent-bg)}.admin-sidebar-heading>span:last-child{display:grid;gap:2px}.admin-sidebar-heading strong{color:#f5f7fb;font-size:14px}.admin-sidebar-heading small{color:#67758e;font:600 10px var(--mono);text-transform:uppercase;letter-spacing:.1em}.admin-sidebar nav{display:grid;gap:6px;padding:22px 0}.admin-sidebar nav button{display:flex;align-items:center;gap:12px;width:100%;height:46px;padding:0 13px;border:1px solid transparent;border-radius:8px;background:transparent;color:#848c9d;font:600 13px var(--font);text-align:left;cursor:var(--cursor-pointer)}.admin-sidebar nav button:hover{background:var(--accent-bg);color:var(--accent)}.admin-sidebar nav button.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.admin-sidebar-account{display:flex;align-items:center;gap:11px;margin-top:auto;padding:16px 8px 0}.admin-sidebar-account>span{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--accent);border-radius:10px;background:var(--accent-bg);color:var(--accent);font-size:11px;font-weight:750}.admin-sidebar-account>div{display:grid;min-width:0}.admin-sidebar-account strong{overflow:hidden;color:#e3e9f5;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.admin-sidebar-account small{margin-top:2px;color:#6f7d95;font-size:10px}.admin-main{display:flex;flex-direction:column;min-width:0;min-height:0}.admin-topbar{min-height:78px;border-bottom:1px solid var(--admin-line);background:#070b12f0}.admin-topbar-content{display:flex;align-items:center;justify-content:space-between;width:min(calc(100% - (var(--admin-content-gutter) * 2)),var(--admin-content-width));min-height:78px;margin:0 auto}.admin-topbar-title{display:flex;align-items:center;gap:24px}.admin-topbar-title>div{display:grid;gap:3px}.admin-topbar-title>div>span{color:var(--accent);font:650 9px var(--mono);letter-spacing:.11em;text-transform:uppercase}.admin-topbar h1{margin:0;color:#f5f7fb;font-size:22px;letter-spacing:-.025em}.admin-back{display:inline-flex;align-items:center;gap:7px;padding:0;border:0;background:transparent;color:#7d8aa0;font:600 12px var(--font);cursor:var(--cursor-pointer)}.admin-back:hover{color:#cdd3df}.admin-secure-indicator{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 10px;border:1px solid var(--accent);border-radius:8px;background:var(--accent-bg);color:var(--accent);font:600 10px var(--mono)}.admin-secure-indicator svg{color:var(--accent)}.admin-mobile-tabs{display:none}.admin-page{flex:1;min-height:0;padding:32px var(--admin-content-gutter) 44px;overflow:auto;scrollbar-color:#25395f transparent}.admin-overview,.admin-stack{display:grid;gap:22px;width:100%;max-width:var(--admin-content-width);margin:0 auto}.admin-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.admin-stat{position:relative;display:flex;align-items:flex-start;gap:16px;min-width:0;min-height:92px;padding:23px;overflow:hidden;border:1px solid var(--admin-line);border-radius:13px;background:linear-gradient(145deg,var(--admin-panel-raised),#0b1019);box-shadow:0 10px 28px #00000029}.admin-stat:after{position:absolute;right:-30px;bottom:-50px;width:110px;height:110px;border-radius:50%;background:#2563eb12;content:""}.admin-stat-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid rgba(59,130,246,.18);border-radius:11px;background:#2563eb24;color:#75a0ff}.admin-stat.blue .admin-stat-icon,.admin-stat.green .admin-stat-icon,.admin-stat.violet .admin-stat-icon,.admin-stat.amber .admin-stat-icon{background:#2563eb24;color:#75a0ff}.admin-stat>span:last-child{display:grid;min-width:0}.admin-stat small{color:#8390a5;font-size:11px}.admin-stat strong{margin-top:4px;color:#f5f7fb;font-size:31px;line-height:1;letter-spacing:-.035em}.admin-stat em{margin-top:7px;color:#66748c;font-size:10px;font-style:normal}.admin-panel{border:1px solid var(--admin-line);border-radius:14px;background:linear-gradient(160deg,var(--admin-panel-raised),var(--admin-panel));box-shadow:0 12px 32px #00000021}.admin-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:21px 22px 18px;border-bottom:1px solid var(--admin-line)}.admin-panel h2{margin:4px 0 0;color:#edf1f8;font-size:16px;letter-spacing:-.015em}.admin-panel header p{margin:6px 0 0;color:#75839a;font-size:11px;line-height:1.45}.admin-eyebrow{color:var(--accent);font:700 9px var(--mono);letter-spacing:.12em;text-transform:uppercase}.admin-text-button,.admin-icon-button,.admin-refresh{display:inline-flex;align-items:center;gap:5px;flex:none;border:1px solid var(--admin-line);border-radius:7px;background:#ffffff06;color:#818b9e;font:550 9.5px var(--font);cursor:var(--cursor-pointer)}.admin-text-button{height:34px;padding:0 11px;font-size:10.5px}.admin-icon-button{display:grid;place-items:center;width:34px;height:34px;padding:0}.admin-refresh{height:36px;padding:0 12px;font-size:10.5px}.admin-text-button:hover,.admin-icon-button:hover,.admin-refresh:hover{border-color:#5e85eb61;color:#a9bfff}.admin-chart{position:relative;height:285px;margin:18px 22px 0;overflow:hidden}.admin-chart-grid{position:absolute;top:8px;right:0;bottom:26px;left:0;display:flex;flex-direction:column;justify-content:space-between}.admin-chart-grid i{display:block}.admin-chart-bars{position:absolute;top:8px;right:0;bottom:0;left:0;display:flex;align-items:stretch;gap:7px}.admin-chart-column{position:relative;display:flex;align-items:flex-end;flex:1;height:calc(100% - 26px);min-width:5px}.admin-chart-column>i{width:100%;min-height:3px;border-radius:4px 4px 1px 1px;background:linear-gradient(180deg,var(--accent),var(--accent-hover));opacity:.9;box-shadow:0 0 14px var(--accent-bg);transition:opacity .15s,filter .15s}.admin-chart-column:hover>i{opacity:1;filter:brightness(1.15)}.admin-chart-column small{position:absolute;top:calc(100% + 9px);left:0;color:#63718a;font:550 9px var(--mono);white-space:nowrap}.admin-chart-column:nth-last-child(1) small{left:auto;right:0}.admin-chart-legend{display:flex;gap:18px;padding:8px 22px 19px;color:#6f7d94;font-size:10px}.admin-chart-legend span{display:inline-flex;align-items:center;gap:5px}.admin-chart-legend i{width:7px;height:7px;border-radius:2px}.admin-chart-legend i.blue{background:var(--accent)}.admin-chart-legend i.green{background:#43bc81}.admin-chart-legend i.muted{background:#343b49}.admin-overview-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.admin-compact-list{display:grid;padding:7px 15px 12px}.admin-compact-list>div{display:flex;align-items:center;gap:12px;min-height:62px;padding:0 7px;border-bottom:1px solid rgba(96,133,205,.12)}.admin-compact-list>div:last-child{border-bottom:0}.admin-list-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border:1px solid rgba(59,130,246,.14);border-radius:9px;background:#2563eb1c;color:#7ca4ff}.admin-compact-list>div>span:nth-child(2){display:grid;min-width:0;margin-right:auto}.admin-compact-list strong{overflow:hidden;color:#e2e7f0;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.admin-compact-list small{margin-top:4px;color:#718098;font-size:9.5px}.admin-badge{display:inline-flex;align-items:center;justify-content:center;width:fit-content;height:20px;padding:0 7px;border-radius:999px;font:650 8px var(--mono);text-transform:capitalize}.admin-badge.private{background:#7e87981c;color:#8f98a8}.admin-badge.unlisted{background:#e59d2b1a;color:#dca851}.admin-badge.public{background:#2fb9701a;color:#54c98b}.admin-data-panel{width:100%;max-width:var(--admin-content-width);margin:0 auto;overflow:hidden}.admin-data-head>div{min-width:0}.admin-filters{display:grid;grid-template-columns:minmax(280px,1fr) 170px 170px auto;gap:10px;padding:15px 20px;border-bottom:1px solid var(--admin-line)}.admin-filters.compact{grid-template-columns:minmax(220px,520px) auto}.admin-search{display:flex;align-items:center;gap:9px;min-width:0;height:38px;padding:0 12px;border:1px solid var(--admin-line);border-radius:8px;background:#080d16;color:#60708c}.admin-search:focus-within{border-color:#4b78ee8c;color:#84a4fa}.admin-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:#dce3ef;font:500 11.5px var(--font)}.admin-search input::placeholder{color:#515969}.admin-filters select,.admin-trend-panel header select{height:38px;padding:0 30px 0 11px;border:1px solid var(--admin-line);border-radius:8px;background:#080d16;color:#9ca9bc;font:500 11px var(--font);outline:0;cursor:var(--cursor-pointer)}.admin-filters>button{height:38px;padding:0 16px;border:1px solid #3b82f6;border-radius:8px;background:#2563eb;color:#fff;font:650 11px var(--font);cursor:var(--cursor-pointer);box-shadow:0 5px 16px #2563eb2e}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;white-space:nowrap}.admin-table th{height:44px;padding:0 16px;border-bottom:1px solid var(--admin-line);color:#70809a;font:700 9px var(--mono);letter-spacing:.08em;text-align:left;text-transform:uppercase}.admin-table td{height:64px;padding:0 16px;border-bottom:1px solid rgba(96,133,205,.11);color:#c1cad8;font-size:11px}.admin-table tbody tr:hover{background:#ffffff05}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table code{padding:3px 6px;border-radius:5px;background:#090c12;color:#8faafb;font:500 8.5px var(--mono)}.admin-user-cell,.admin-terrain-cell{display:flex;align-items:center;gap:9px}.admin-user-avatar{display:grid;place-items:center;flex:none;width:36px;height:36px;border:1px solid rgba(59,130,246,.18);border-radius:9px;background:#2563eb21;color:#9ab7ff;font-size:9px;font-weight:750}.admin-user-cell>span:last-child,.admin-terrain-cell>span:last-child{display:grid;max-width:250px}.admin-user-cell strong,.admin-terrain-cell strong{overflow:hidden;color:#e6ebf3;font-size:11px;text-overflow:ellipsis}.admin-user-cell strong em{margin-left:6px;padding:2px 5px;border-radius:4px;background:#4874ed1f;color:#83a4ff;font:600 7px var(--mono);font-style:normal}.admin-user-cell small,.admin-terrain-cell small{overflow:hidden;margin-top:3px;color:#6f7d93;font-size:9px;text-overflow:ellipsis}.admin-status{display:inline-flex;align-items:center;gap:5px;color:#8c95a5;font-size:8.5px;text-transform:capitalize}.admin-status i{width:5px;height:5px;border-radius:50%;background:#7c8594}.admin-status.active,.admin-status.success{color:#61c994}.admin-status.active i,.admin-status.success i{background:#43c181;box-shadow:0 0 7px #43c18173}.admin-status.suspended,.admin-status.failure{color:#de7c82}.admin-status.suspended i,.admin-status.failure i{background:#dc646d}.admin-role{display:inline-flex;align-items:center;gap:4px;color:#858e9e;font-size:8.5px;text-transform:capitalize}.admin-role.admin{color:#7fa6ff}.admin-muted{color:#747d8e}.admin-device{display:inline-flex;align-items:center;gap:5px;color:#8e98a9}.admin-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.admin-row-actions button{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 9px;border:1px solid var(--admin-line);border-radius:7px;background:#2563eb09;color:#8e9db3;font:600 9px var(--font);cursor:var(--cursor-pointer)}.admin-row-actions button:hover:not(:disabled){border-color:#577ce061;color:#a8baf0}.admin-row-actions button.danger:hover:not(:disabled){border-color:#dc4b5466;background:#dc4b540f;color:#df8187}.admin-row-actions button:disabled{opacity:.32;cursor:not-allowed}.admin-results-footer{display:flex;align-items:center;justify-content:space-between;min-height:50px;padding:0 16px;border-top:1px solid var(--admin-line);color:#667083;font-size:8.5px}.admin-pagination{display:flex;align-items:center;gap:10px}.admin-pagination button{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 7px;border:1px solid var(--admin-line);border-radius:6px;background:#ffffff05;color:#848e9f;font:500 8px var(--font);cursor:var(--cursor-pointer)}.admin-pagination button:disabled{opacity:.3;cursor:default}.admin-pagination strong{color:#bdc4d1}.admin-loading,.admin-error{display:grid;place-items:center;min-height:260px;padding:30px;text-align:center}.admin-loading>span{width:24px;height:24px;border:2px solid rgba(92,129,230,.18);border-top-color:#5c83ec;border-radius:50%;animation:spin .8s linear infinite}.admin-loading strong,.admin-error strong{margin-top:12px;color:#cfd5df;font-size:11px}.admin-loading small,.admin-error span{margin-top:5px;color:#646e80;font-size:9px}.admin-error{color:#d56c74}.admin-error button{display:inline-flex;align-items:center;gap:5px;height:29px;margin-top:13px;padding:0 9px;border:1px solid var(--admin-line);border-radius:6px;background:#ffffff08;color:#a9b1c0;font:550 9px var(--font);cursor:var(--cursor-pointer)}.admin-empty{margin:0;padding:34px 16px;color:#626c7e;font-size:9.5px;text-align:center}.admin-audit-list{display:grid;padding:2px 16px}.admin-audit-list article{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.055)}.admin-audit-list article:last-child{border-bottom:0}.admin-audit-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(59,130,246,.16);border-radius:8px;background:#2563eb1a;color:#81a7ff}.admin-audit-list article>div>header{display:flex;align-items:center;justify-content:space-between}.admin-audit-list article strong{color:#dfe3ec;font-size:9.5px}.admin-audit-list article header span{color:#646d7e;font-size:8px}.admin-audit-list article p{margin:4px 0 0;color:#737d8e;font-size:8.5px}.admin-audit-list article p b{color:#9aa4b5}.admin-change-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.admin-change-chips span{padding:3px 6px;border-radius:5px;background:#090c12;color:#6f7889;font:500 7.5px var(--mono)}.admin-change-chips strong{color:#93a9e8!important;font-size:inherit!important}.admin-security-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.admin-security-grid article{display:flex;align-items:center;gap:11px;padding:17px;border:1px solid var(--admin-line);border-radius:11px;background:var(--admin-panel);color:#7197f0}.admin-security-grid article.danger{border-color:#d64d564d;color:#dd6e76}.admin-security-grid article span{display:grid}.admin-security-grid strong{color:#edf0f6;font-size:18px}.admin-security-grid small{margin-top:3px;color:#70798a;font-size:8.5px}.admin-security-note{display:flex;align-items:flex-start;gap:12px;padding:15px 17px;border-color:#2db16f2e;background:#19613d12;color:#50c386}.admin-security-note strong{color:#b9ddca;font-size:10.5px}.admin-security-note p{margin:4px 0 0;color:#6d8d7c;font-size:8.5px;line-height:1.5}.admin-security-events{display:grid;padding:3px 15px 10px}.admin-security-events>div{display:flex;align-items:center;gap:10px;min-height:48px;border-bottom:1px solid rgba(255,255,255,.055)}.admin-security-events>div:last-child{border-bottom:0}.admin-event-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:7px}.admin-event-icon.success{background:#2fb97017;color:#54c98b}.admin-event-icon.failure{background:#dc4b5417;color:#db747b}.admin-security-events>div>span:nth-child(2){display:grid;margin-right:auto}.admin-security-events strong{color:#d7dce6;font-size:9.5px}.admin-security-events small{margin-top:3px;color:#687183;font-size:8px}.confidentiality-page{width:100%;max-width:980px;margin:0 auto;padding:8px 0 42px;color:#c9cfda}.confidentiality-page>.admin-back{margin-bottom:22px;font-size:14px}.confidentiality-hero{display:flex;align-items:flex-start;gap:15px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.09)}.confidentiality-icon{display:grid;place-items:center;flex:none;width:46px;height:46px;border:1px solid var(--accent);border-radius:12px;background:var(--accent-bg);color:var(--accent)}.confidentiality-hero>div{display:grid}.confidentiality-hero>div>span{color:var(--accent);font:650 10px var(--mono);letter-spacing:.11em;text-transform:uppercase}.confidentiality-hero h1{margin:5px 0 0;color:#f3f5f9;font-size:32px;letter-spacing:-.03em}.confidentiality-hero p{margin:7px 0 0;color:#a4adbd;font-size:14px}.confidentiality-hero small{margin-top:7px;color:#727d90;font-size:11px}.confidentiality-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:18px 0 24px}.confidentiality-summary>div{display:grid;grid-template-columns:27px 1fr;padding:16px;border:1px solid rgba(255,255,255,.085);border-radius:10px;background:#0d1017;color:var(--accent)}.confidentiality-summary svg{grid-row:span 2;margin-top:1px}.confidentiality-summary strong{color:#dfe3eb;font-size:13px}.confidentiality-summary span{margin-top:4px;color:#9ba5b6;font-size:11px;line-height:1.5}.confidentiality-body{display:grid;grid-template-columns:1fr 1fr;gap:12px}.confidentiality-body>section{padding:21px;border:1px solid rgba(255,255,255,.075);border-radius:10px;background:#0d1017c7}.confidentiality-body h2{margin:0 0 10px;color:#e4e8ef;font-size:16px}.confidentiality-body p{margin:0 0 10px;color:#a6afbf;font-size:13px;line-height:1.65}.confidentiality-body p:last-child{margin-bottom:0}.confidentiality-retention{display:grid;gap:8px;margin-bottom:12px}.confidentiality-retention span{display:flex;align-items:center;gap:7px;color:#a6afbf;font-size:12px}.confidentiality-retention svg{color:var(--accent)}.confidentiality-retention strong{color:#d7deea}.confidentiality-contact{display:inline-flex;align-items:center;gap:6px;margin-top:3px;color:var(--accent);font-size:13px;text-decoration:none}.confidentiality-contact:hover{color:var(--accent-hover)}@media (max-width: 1050px){.admin-stat-grid,.admin-security-grid{grid-template-columns:repeat(2,1fr)}.admin-overview-columns{grid-template-columns:1fr}.admin-row-actions{min-width:365px}}@media (max-width: 760px){.lp-admin-chip span{display:none}.lp--admin .lp-nav{padding:0 14px}.admin-dashboard{grid-template-columns:1fr}.admin-sidebar{display:none}.admin-topbar{min-height:56px}.admin-topbar-content{width:calc(100% - 32px);min-height:56px}.admin-secure-indicator span{display:none}.admin-mobile-tabs{display:flex;flex:none;gap:4px;padding:8px 12px;overflow-x:auto;border-bottom:1px solid var(--admin-line)}.admin-mobile-tabs button{flex:none;height:29px;padding:0 9px;border:1px solid transparent;border-radius:6px;background:transparent;color:#737d8e;font:550 9px var(--font)}.admin-mobile-tabs button.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.admin-page{padding:14px 12px 24px}.admin-filters{grid-template-columns:1fr 1fr}.admin-filters .admin-search{grid-column:1 / -1}.confidentiality-summary,.confidentiality-body{grid-template-columns:1fr}.lp--legal .lp-content{padding:0 20px}}@media (max-width: 520px){.admin-stat-grid,.admin-security-grid{grid-template-columns:1fr}.admin-stat{padding:14px}.admin-filters{grid-template-columns:1fr}.admin-filters .admin-search{grid-column:auto}.admin-filters.compact{grid-template-columns:1fr}.admin-panel>header{padding:14px}.admin-chart{margin-inline:12px}.admin-chart-legend{padding-inline:12px}.admin-results-footer{align-items:flex-start;flex-direction:column;gap:9px;padding-block:10px}.lp-account-chip span,.lp-auth-logout span{display:none}.confidentiality-hero h1{font-size:22px}}.lp-version-pill{display:inline-flex;align-items:center;width:fit-content;height:30px;padding:0 13px;border:1px solid rgba(255,255,255,.16);border-radius:9px;background:#ffffff0a;color:var(--text-bright);font:600 12.5px var(--mono)}.lp-hero h1{margin:16px 0 0;color:#fff;font-size:clamp(32px,3.4vw,48px);font-weight:750;line-height:1.08;letter-spacing:-.035em}.lp-hero h1 em{font-style:normal;color:var(--accent)}.lp-hero p{max-width:430px;margin:12px 0 0;color:var(--text-muted);font-size:15px;line-height:1.65}.lp-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.lp-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 20px;border:1px solid var(--accent);border-radius:9px;background:var(--accent);color:#fff;font:600 13.5px var(--font);cursor:var(--cursor-pointer);box-shadow:0 4px 24px #2563eb59;transition:background .15s ease,border-color .15s ease,transform .15s ease}.lp-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px)}.lp-primary:active:not(:disabled){transform:translateY(0)}.lp-primary:disabled{opacity:.6;cursor:var(--cursor-default);box-shadow:none}.lp-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border:1px solid rgba(255,255,255,.16);border-radius:9px;background:#ffffff0a;color:var(--text-bright);font:600 13.5px var(--font);cursor:var(--cursor-pointer);transition:border-color .15s ease,background .15s ease}.lp-secondary:hover:not(:disabled){border-color:#ffffff52;background:#ffffff14}.lp-secondary:disabled{opacity:.55;cursor:var(--cursor-default)}.lp-auth-logout{border-color:#ef44446b;background:#ef44441a;color:#f18b8b}.lp-auth-logout:hover:not(:disabled){border-color:#ef4444bf;background:#ef44442e;color:#faa}.lp-primary.sm,.lp-secondary.sm{height:34px;padding:0 13px;font-size:12.5px}.lp-link{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:transparent;color:var(--accent);font:500 12.5px var(--font);cursor:var(--cursor-pointer)}.lp-link:hover{color:var(--text-bright)}.auth-page{display:grid;align-content:start;justify-items:center;width:min(470px,100%);min-height:520px;padding-top:8px}.auth-back{justify-self:start;display:inline-flex;align-items:center;gap:7px;margin-bottom:14px;padding:4px 0;border:0;background:transparent;color:var(--text-muted);font:500 12px var(--font);cursor:var(--cursor-pointer)}.auth-back:hover{color:var(--text-bright)}.auth-card{box-sizing:border-box;width:100%;padding:24px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:#07090ef0;box-shadow:0 24px 70px #0000006b}.auth-card>header{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px}.auth-mark{display:grid;place-items:center;flex:none;width:42px;height:42px;border:1px solid rgba(37,99,235,.35);border-radius:10px;background:#2563eb1f;color:#7da8ff}.auth-card>header small{color:var(--accent);font:650 9.5px var(--mono);letter-spacing:.09em;text-transform:uppercase}.auth-card h1{margin:4px 0 0;color:#fff;font-size:21px;line-height:1.2;letter-spacing:-.02em}.auth-card header p{margin:7px 0 0;color:var(--text-muted);font-size:12px;line-height:1.5}.auth-card form{display:grid;gap:14px}.auth-field{display:grid;gap:6px}.auth-field>span{color:var(--text-main);font-size:11.5px;font-weight:600}.auth-field input{box-sizing:border-box;width:100%;height:42px;padding:0 12px;border:1px solid rgba(255,255,255,.14);border-radius:8px;outline:none;background:#ffffff09;color:var(--text-bright);font:13px var(--font);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.auth-field input::placeholder{color:var(--text-dim)}.auth-field input:focus{border-color:var(--accent);background:#2563eb0e;box-shadow:0 0 0 3px #2563eb1f}.auth-field input:disabled{opacity:.65}.auth-field.has-error input{border-color:#ef4444b3}.auth-field small{color:#f18b8b;font-size:10.5px}.auth-submit{width:100%;margin-top:2px}.auth-card>footer{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:18px;padding-top:17px;border-top:1px solid rgba(255,255,255,.08);color:var(--text-muted);font-size:11.5px}.auth-local-note{max-width:390px;margin:14px 0 0;color:var(--text-dim);font-size:10.5px;line-height:1.45;text-align:center}.profile-page{width:100%;padding-top:8px}.profile-heading{margin-bottom:18px}.profile-heading span{color:var(--accent);font:650 9.5px var(--mono);letter-spacing:.1em;text-transform:uppercase}.profile-heading h1{margin:5px 0 0;color:#fff;font-size:26px;letter-spacing:-.025em}.profile-heading p{margin:7px 0 0;color:var(--text-muted);font-size:12.5px}.profile-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.7fr);gap:14px}.profile-card{box-sizing:border-box;padding:20px;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:#07090ef2;box-shadow:0 18px 55px #00000047}.profile-card>header{display:flex;align-items:flex-start;gap:10px;margin-bottom:18px;color:#79a4ff}.profile-card>header>svg{margin-top:2px}.profile-card h2{margin:0;color:var(--text-bright);font-size:14px}.profile-card header p{margin:4px 0 0;color:var(--text-muted);font-size:10.5px;line-height:1.4}.profile-card form{display:grid;gap:14px}.profile-details-card{grid-row:span 2}.profile-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-field-note{color:var(--text-dim)!important}.profile-avatar-row{position:relative;display:flex;align-items:center;gap:14px}.profile-avatar{display:grid;place-items:center;flex:none;width:68px;height:68px;overflow:hidden;border:1px solid rgba(37,99,235,.38);border-radius:18px;background:#2563eb1f;color:#9dbbff;font:700 19px var(--font)}.profile-avatar img{display:block;width:100%;height:100%;object-fit:cover}.profile-avatar-actions{display:flex;flex-wrap:wrap;gap:7px}.profile-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.profile-danger-button{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:1px solid rgba(239,68,68,.35);border-radius:7px;background:#ef444417;color:#f18b8b;font:600 11px var(--font);cursor:var(--cursor-pointer)}.profile-danger-button:hover{border-color:#ef4444a6;background:#ef444429}.profile-danger-button:disabled{opacity:.55;cursor:var(--cursor-default)}.profile-visibility{display:grid;gap:8px;margin:0;padding:0;border:0}.profile-visibility legend{margin-bottom:7px;color:var(--text-main);font-size:11.5px;font-weight:600}.profile-visibility-options{display:grid;gap:7px}.profile-visibility-options>label{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-muted);cursor:var(--cursor-pointer)}.profile-visibility-options>label:has(input:checked){border-color:#2563eb8c;background:#2563eb1a;color:#91b1f6}.profile-visibility-options input{accent-color:var(--accent)}.profile-visibility-options svg{flex:none}.profile-visibility-options span{display:grid;gap:2px}.profile-visibility-options strong{color:var(--text-bright);font-size:11px}.profile-visibility-options small{color:var(--text-dim);font-size:9.5px}.profile-visibility>small{color:#f18b8b;font-size:10.5px}.profile-save{justify-self:start}.cloud-projects-panel{margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.09)}.cloud-sync-bar{display:flex;gap:8px;padding:10px;border:1px solid rgba(37,99,235,.25);border-radius:9px;background:#2563eb12}.cloud-sync-bar select,.cloud-project-row select{min-width:0;height:32px;padding:0 28px 0 9px;border:1px solid rgba(255,255,255,.13);border-radius:7px;outline:none;background:#10131a;color:var(--text-main);font:11px var(--font)}.cloud-sync-bar select{flex:1}.cloud-project-list{display:grid;gap:7px;margin-top:11px}.cloud-project-row{display:grid;grid-template-columns:minmax(150px,1fr) 105px 82px auto;align-items:center;gap:8px;padding:7px;border:1px solid rgba(255,255,255,.09);border-radius:9px;background:#ffffff06}.cloud-project-main{display:flex;align-items:center;gap:9px;min-width:0;padding:2px;border:0;background:transparent;color:var(--text-main);text-align:left;cursor:var(--cursor-pointer)}.cloud-project-main>span:last-child{display:grid;min-width:0;gap:3px}.cloud-project-main strong{overflow:hidden;color:var(--text-bright);font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.cloud-project-main small{color:var(--text-dim);font-size:9px}.cloud-visibility-icon{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:7px;background:#ffffff0d;color:var(--text-muted)}.cloud-visibility-icon.unlisted{background:#f59e0b1a;color:#e8b861}.cloud-visibility-icon.public{background:#22c55e1a;color:#79d899}.cloud-project-row code{color:#a9bce8;font:600 9px var(--mono);letter-spacing:.04em}.cloud-project-actions{display:flex;justify-content:flex-end;gap:3px}.cloud-project-actions button{display:grid;place-items:center;width:27px;height:27px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--text-dim);cursor:var(--cursor-pointer)}.cloud-project-actions button:hover:not(:disabled){background:#ffffff12;color:var(--text-bright)}.cloud-project-actions button.danger{color:#d97d7d}.cloud-project-actions button:disabled{opacity:.35;cursor:var(--cursor-default)}.cloud-empty,.cloud-projects-guest,.cloud-loading{display:flex;align-items:center;gap:9px;margin-top:11px;padding:15px;border:1px dashed rgba(255,255,255,.1);border-radius:9px;color:var(--text-muted);font-size:11px}.cloud-projects-guest{display:grid;justify-items:start}.cloud-projects-guest strong{color:var(--text-bright);font-size:13px}.community-page{width:100%;padding-top:8px}.community-heading>span{display:flex;align-items:center;gap:6px;color:#7da8ff;font:650 9.5px var(--mono);letter-spacing:.09em;text-transform:uppercase}.community-heading h1{margin:6px 0 0;color:#fff;font-size:27px;letter-spacing:-.025em}.community-heading p{margin:7px 0 0;color:var(--text-muted);font-size:12.5px}.community-tools{display:grid;grid-template-columns:1fr minmax(250px,.7fr);gap:9px;margin-top:20px}.community-search,.community-code{display:flex;align-items:center;gap:8px;padding:7px 8px 7px 11px;border:1px solid rgba(255,255,255,.11);border-radius:9px;background:#07090ef0;color:var(--text-dim)}.community-code{border-color:#2563eb4d}.community-search input,.community-code input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--text-bright);font:11.5px var(--font)}.community-code input{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase}.community-results-head{display:flex;justify-content:space-between;margin-top:24px;padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.08)}.community-results-head>div{display:flex;align-items:baseline;gap:9px}.community-results-head h2{margin:0;color:var(--text-bright);font-size:14px}.community-results-head span{color:var(--text-dim);font-size:10px}.community-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:12px}.community-card{overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:#07090ef0}.community-card-art{position:relative;display:grid;place-items:center;min-height:105px;background:radial-gradient(circle at 30% 30%,rgba(37,99,235,.22),transparent 48%),linear-gradient(135deg,#111827,#090b10);color:#80a9ff}.community-card-art code{position:absolute;right:8px;bottom:8px;padding:4px 6px;border:1px solid rgba(255,255,255,.13);border-radius:5px;background:#0006;color:#b8c8ed;font:600 8px var(--mono);letter-spacing:.08em}.community-card-body{display:grid;gap:8px;padding:13px}.community-card h3{margin:0;color:var(--text-bright);font-size:13px}.community-card p{min-height:31px;margin:0;color:var(--text-muted);font-size:10.5px;line-height:1.45}.community-author{display:grid;grid-template-columns:25px 1fr;align-items:center;column-gap:7px}.community-author>span{grid-row:span 2;display:grid;place-items:center;width:25px;height:25px;overflow:hidden;border-radius:50%;background:#2563eb1f;color:#8eb0fa}.community-author img{width:100%;height:100%;object-fit:cover}.community-author strong{color:var(--text-main);font-size:9.5px}.community-author small{color:var(--text-dim);font-size:8.5px}.community-card .lp-primary{justify-self:start;margin-top:3px}.community-state{display:grid;justify-items:center;gap:7px;padding:42px 15px;color:var(--text-muted);font-size:11px;text-align:center}.community-state strong{color:var(--text-bright);font-size:13px}.community-pagination{display:flex;justify-content:center;align-items:center;gap:13px;margin-top:16px}.community-pagination span{color:var(--text-muted);font-size:10.5px}.lp-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08)}.lp-section-head h2{margin:0;color:var(--text-bright);font-size:15.5px;font-weight:600;letter-spacing:-.01em}.lp-template-section-head{align-items:flex-end}.lp-template-section-head>div:first-child{min-width:0}.lp-template-section-head p{margin:4px 0 0;color:var(--text-dim);font-size:10.5px;line-height:1.4}.lp-template-kind-switch{display:inline-flex;flex:none;padding:3px;border:1px solid var(--border-subtle);border-radius:8px;background:#ffffff06}.lp-template-kind-switch button{height:28px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:0;border-radius:5px;background:transparent;color:var(--text-dim);font:600 10.5px var(--font);cursor:var(--cursor-pointer)}.lp-template-kind-switch button:hover{color:var(--text-main)}.lp-template-kind-switch button.active{background:var(--bg-control);color:var(--text-bright);box-shadow:inset 0 0 0 1px var(--border-subtle)}.lp-head-actions{display:flex;gap:8px}.lp-view{min-height:340px}.lp-search{display:flex;align-items:center;gap:9px;margin-bottom:14px;padding:0 12px;height:38px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:#ffffff08;color:var(--text-dim);transition:border-color .15s ease}.lp-search:focus-within{border-color:var(--accent);color:var(--text-muted)}.lp-search input{flex:1;min-width:0;border:0;background:transparent;color:var(--text-bright);font:13px var(--font);outline:none}.lp-search input::placeholder{color:var(--text-dim)}.lp-no-results{margin:4px 0 0;color:var(--text-muted);font-size:12.5px}.lp-project-tabs{display:flex;gap:4px;margin-bottom:16px;padding:4px;border:1px solid var(--border-subtle);border-radius:10px;background:#ffffff06}.lp-project-tabs button{flex:1;height:34px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-dim);font:600 12px var(--font);cursor:var(--cursor-pointer);transition:color .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.lp-project-tabs button:hover:not(.active){color:var(--accent);background:var(--accent-bg)}.lp-project-tabs button.active{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 4px 16px #2563eb3d;transform:translateY(-1px)}.lp-project-tab-panel{min-height:220px;animation:lp-project-tab-enter .26s cubic-bezier(.22,1,.36,1) both}.lp-project-tab-panel .cloud-projects-panel{margin-top:0;padding-top:0;border-top:0}@keyframes lp-project-tab-enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.lp-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media (min-width: 1360px){.lp-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.lp-card{position:relative;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:#ffffff08;transition:border-color .15s ease,background .15s ease}.lp-card:hover,.lp-card.menu-open{border-color:#fff3;background:#ffffff0d}.lp-card.selected{border-color:var(--accent);background:var(--accent-bg)}.lp-card-main{position:relative;display:flex;flex-direction:column;width:100%;padding:6px 6px 9px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:var(--cursor-pointer)}.lp-card-main:disabled{cursor:var(--cursor-default);opacity:.7}.lp-card-thumb{display:grid;place-items:center;width:100%;aspect-ratio:1.6 / 1;overflow:hidden;border-radius:7px;background:#ffffff0d;color:var(--text-dim)}.lp-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}.lp-card-thumb.nodes{background:#0d0d0d;color:#7aa7ff}.lp-card-info{display:grid;gap:5px;padding:10px 4px 0}.lp-card-info strong{color:var(--text-bright);font-size:12.5px;font-weight:600;padding-right:20px}.lp-card-info small{display:flex;align-items:center;gap:5px;color:var(--text-dim);font-size:11px;line-height:1.4}.lp-project-kind{margin-left:auto;padding:2px 5px;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:var(--text-muted);font:600 8px var(--mono);text-transform:uppercase;letter-spacing:.06em}.lp-project-kind.nodes{border-color:#2563eb59;background:#2563eb1f;color:#8bb4ff}.lp-template-kind-badge{position:absolute;top:12px;right:12px;padding:3px 6px;border:1px solid rgba(255,255,255,.14);border-radius:5px;background:#050505d1;color:var(--text-muted);font:650 7.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lp-template-kind-badge.nodes{border-color:#2563eb66;background:#0d172ce0;color:#8bb4ff}.lp-template-kind-badge.manual{border-color:#8b5cf66b;background:#1f1234e6;color:#c4b5fd}.lp-card-cloud-badge{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:3px;padding:4px 5px;border:1px solid rgba(255,255,255,.14);border-radius:5px;background:#050505d1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lp-card-cloud-badge.synced{border-color:#22c55e66;color:#81dca3}.lp-card-cloud-badge.unsynced{border-color:#f59e0b61;color:#f0c56a}.lp-card-visibility-icon{display:grid;padding-left:3px;border-left:1px solid currentColor;color:var(--text-muted)}.lp-card-visibility-icon.unlisted{color:#f0c56a}.lp-card-visibility-icon.public{color:#81dca3}.lp-card-menu-btn{position:absolute;right:6px;bottom:26px;display:grid;place-items:center;width:26px;height:26px;border:0;border-radius:6px;background:transparent;color:var(--text-dim);cursor:var(--cursor-pointer)}.lp-card-menu-btn:hover,.lp-card.menu-open .lp-card-menu-btn{color:var(--text-bright);background:#ffffff14}.lp-card-menu{position:absolute;right:6px;bottom:54px;z-index:5;display:grid;gap:2px;min-width:138px;padding:5px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:#0a0c12f7;box-shadow:0 14px 40px #00000080;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.lp-card-menu button{display:flex;align-items:center;gap:8px;padding:7px 9px;border:0;border-radius:6px;background:transparent;color:var(--text-main);font:500 12px var(--font);text-align:left;cursor:var(--cursor-pointer)}.lp-card-menu button:hover:not(:disabled){background:#ffffff12;color:var(--text-bright)}.lp-card-menu button.danger{color:#f18b8b}.lp-card-menu button.danger:hover:not(:disabled){background:#ef444424}.lp-card-menu button:disabled{opacity:.5;cursor:var(--cursor-default)}.project-library{display:grid;gap:14px}.project-library-head{display:flex;align-items:center;gap:10px}.project-library-search{flex:1;margin:0}.project-cloud-note{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid rgba(37,99,235,.24);border-radius:9px;background:#2563eb12;color:#aebddd;font-size:11.5px;line-height:1.4}.project-cloud-note>svg{flex:none;color:#7da8ff}.project-cloud-note span{flex:1}.project-cloud-note button{padding:4px 7px;border:0;border-radius:5px;background:transparent;color:#9fc0ff;font:650 11px var(--font);cursor:var(--cursor-pointer)}.project-cloud-note button:hover{background:#ffffff14;color:#fff}.project-cloud-note.checking{border-color:#ffffff1a;background:#ffffff08;color:var(--text-muted)}.project-cloud-note.error{border-color:#ef444442;background:#ef444412;color:#e4b0b0}.project-cloud-note.error>svg{color:#f08a8a}.project-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.project-library-card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:visible;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:linear-gradient(160deg,#ffffff0d,#ffffff06);transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.project-library-card:hover,.project-library-card.menu-open{border-color:#7ca3ff73;background:linear-gradient(160deg,#ffffff12,#2563eb0e);box-shadow:0 10px 30px #0000002e;transform:translateY(-1px)}.project-library-card.conflict,.project-library-card.needs-review{border-color:#f59e0b66}.project-library-main{position:relative;display:grid;width:100%;min-width:0;padding:7px 7px 0;border:0;border-radius:11px 11px 0 0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:var(--cursor-pointer)}.project-library-main:disabled{cursor:var(--cursor-default);opacity:.7}.project-library-thumb{display:grid;place-items:center;width:100%;aspect-ratio:1.62 / 1;overflow:hidden;border-radius:8px;background:radial-gradient(circle at 35% 20%,#416fda3b,#ffffff09 42%,#ffffff06);color:#9ebcff}.project-library-thumb img{display:block;width:100%;height:100%;object-fit:cover}.project-library-main .lp-template-kind-badge{top:14px;right:14px}.project-library-cloud-badge{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;gap:3px;padding:4px 5px;border:1px solid rgba(255,255,255,.14);border-radius:6px;background:#05070cd1;color:#adc2ef;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.project-library-cloud-badge.unlisted{border-color:#f59e0b6b;color:#f0c56a}.project-library-cloud-badge.public{border-color:#22c55e66;color:#81dca3}.project-library-copy{display:grid;min-width:0;gap:5px;padding:11px 5px 10px}.project-library-copy>strong{overflow:hidden;color:var(--text-bright);font-size:14px;font-weight:650;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}.project-library-time{display:flex;align-items:center;gap:5px;color:var(--text-dim);font-size:10.5px}.project-library-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding:0 9px 9px}.project-library-status{display:inline-flex;align-items:center;min-width:0;gap:5px;overflow:hidden;color:var(--text-muted);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.project-library-status.icon-only{width:16px;overflow:visible}.project-library-status-icon{display:grid;flex:none;color:var(--accent)}.project-library-status.attention,.project-library-status.attention .project-library-status-icon{color:#edbc60}.project-library-actions{display:flex;align-items:center;flex:none;gap:4px}.project-library-sync{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:28px;padding:5px 8px;border:1px solid var(--accent);border-radius:7px;background:transparent;color:var(--accent);font:650 10.5px var(--font);white-space:nowrap;cursor:var(--cursor-pointer)}.project-library-sync:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-bg);color:var(--accent)}.project-library-sync:disabled{opacity:.46;cursor:var(--cursor-default)}.project-library-menu-button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--text-dim);cursor:var(--cursor-pointer)}.project-library-menu-button:hover,.project-library-card.menu-open .project-library-menu-button{background:#ffffff17;color:var(--text-bright)}.project-library-menu{position:absolute;right:8px;bottom:42px;z-index:8;display:grid;gap:2px;min-width:182px;padding:6px;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:#0a0c12fa;box-shadow:0 16px 42px #0000008c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.project-library-menu>button{display:flex;align-items:center;gap:8px;padding:7px 8px;border:0;border-radius:6px;background:transparent;color:var(--text-main);font:500 11.5px var(--font);text-align:left;cursor:var(--cursor-pointer)}.project-library-menu>button:hover:not(:disabled){background:#ffffff14;color:var(--text-bright)}.project-library-menu>button.danger{color:#ee9a9a}.project-library-menu>button:disabled{opacity:.45;cursor:var(--cursor-default)}.project-library-menu-label{margin:4px 8px 1px;color:var(--text-dim);font:650 8px var(--mono);letter-spacing:.08em;text-transform:uppercase}.project-library-visibility-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:1px 0 4px}.project-library-visibility-actions button{display:grid;justify-items:center;gap:3px;padding:5px 2px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-dim);font:600 8px var(--font);text-transform:capitalize;cursor:var(--cursor-pointer)}.project-library-visibility-actions button:hover:not(:disabled),.project-library-visibility-actions button.active{border-color:#7ca3ff66;background:#2563eb24;color:#bfd1ff}.project-library-visibility-actions button:disabled{opacity:.45;cursor:var(--cursor-default)}.project-library-empty{border-top:1px solid rgba(255,255,255,.08)}.spin{animation:project-library-spin .8s linear infinite}@keyframes project-library-spin{to{transform:rotate(360deg)}}@media (max-width: 980px){.project-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 620px){.project-library-head{align-items:stretch;flex-direction:column}.project-library-head .lp-head-actions{justify-content:stretch}.project-library-head .lp-head-actions>button{flex:1;justify-content:center}.project-library-grid{grid-template-columns:1fr}.project-cloud-note{align-items:flex-start}}.lp-empty{display:grid;justify-items:start;gap:9px;padding:16px 4px;color:var(--text-muted)}.lp-empty strong{color:var(--text-bright);font-size:14px}.lp-empty span{max-width:360px;font-size:12.5px;line-height:1.55}.lp-empty .lp-primary{margin-top:8px}.lp-template-hint{margin:16px 0 0;color:var(--text-dim);font-size:11.5px}.lp-template-create{margin-top:12px;width:fit-content}.lp-footer{position:relative;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;flex:none;gap:12px 20px;padding:14px 0 20px;border-top:1px solid rgba(255,255,255,.07);background:#05060a;box-shadow:0 0 0 100vmax #05060a;clip-path:inset(0 -100vmax)}.lp--profile .lp-footer,.lp--community .lp-footer{width:min(684px,calc(52vw - 76px))}.lp-footer-socials{display:flex;align-items:center;gap:4px}.lp-footer-socials a{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;color:var(--text-dim);text-decoration:none}.lp-footer-socials a:hover{color:var(--text-bright);background:#ffffff0d}.lp-footer-socials a:hover svg,.lp-footer-socials a:focus-visible svg{animation:lp-footer-icon-wobble .5s ease-out}.lp-footer-meta{display:flex;align-items:center;gap:14px;color:var(--text-dim);font-size:11.5px}@keyframes lp-footer-icon-wobble{0%{transform:rotate(0) translateY(0)}35%{transform:rotate(.45deg) translateY(-.25px)}70%{transform:rotate(-.3deg) translateY(0)}to{transform:rotate(0) translateY(0)}}@media (prefers-reduced-motion: reduce){.lp-footer-socials a:hover svg,.lp-footer-socials a:focus-visible svg{animation:none}}.landing-preview-loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10002;display:grid;justify-items:center;align-content:center;gap:10px;background:#050505e0;color:var(--text-main)}.landing-preview-loader strong{font-size:14px}.landing-preview-loader small{color:var(--text-muted);font-size:12px}.landing-preview-spinner{width:25px;height:25px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:landing-preview-spin .8s linear infinite}@keyframes landing-preview-spin{to{transform:rotate(360deg)}}.landing-credits-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001;display:grid;place-items:center;padding:18px;background:#000000ad}.landing-credits-dialog{display:grid;gap:16px;width:min(360px,100%);padding:20px;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg-panel);box-shadow:0 24px 80px #0009}.landing-credits-dialog span{color:var(--accent);font:600 10px var(--mono);letter-spacing:.1em;text-transform:uppercase}.landing-credits-dialog h2{margin:5px 0 0;color:var(--text-bright);font-size:18px}.landing-credits-dialog p{margin:0;color:var(--text-muted);font-size:13px;line-height:1.55}.landing-credits-dialog a{color:var(--accent);font-size:12px}.landing-credits-socials{display:flex;flex-wrap:wrap;gap:12px}.landing-credits-socials a{display:inline-flex;align-items:center;gap:6px}.landing-credits-dialog>button{justify-self:end;padding:7px 12px;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-control);color:var(--text-main);font:600 12px var(--font);cursor:var(--cursor-pointer)}.landing-confirm-dialog{width:min(340px,100%)}.landing-confirm-actions{display:flex;justify-content:flex-end;gap:8px}.landing-confirm-actions button{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-control);color:var(--text-main);font:600 12px var(--font);cursor:var(--cursor-pointer)}.landing-confirm-actions button:hover{border-color:var(--border-strong)}.landing-confirm-actions button.danger{border-color:#ef444473;background:#ef44441f;color:var(--danger)}.landing-confirm-actions button.danger:hover{background:#ef444433;border-color:var(--danger)}.landing-confirm-actions button:disabled{opacity:.55;cursor:default}.landing-create-backdrop{background:#000000c7;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.landing-create-dialog{width:min(910px,100%);padding:22px;border:1px solid var(--border-strong);border-radius:12px;background:#0a0a0a;box-shadow:0 28px 100px #000000c7}.landing-create-dialog>header{display:flex;align-items:flex-start;gap:18px}.landing-create-dialog>header>div{flex:1}.landing-create-dialog>header span{color:var(--accent);font:650 10px var(--mono);letter-spacing:.12em;text-transform:uppercase}.landing-create-dialog h2{margin:6px 0 0;color:var(--text-bright);font-size:21px;letter-spacing:-.02em}.landing-create-dialog p{margin:7px 0 0;color:var(--text-muted);font-size:12.5px;line-height:1.5}.landing-create-dialog>header>button{width:30px;height:30px;display:grid;place-items:center;flex:none;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-dim);cursor:var(--cursor-pointer)}.landing-create-dialog>header>button:hover{border-color:var(--border-subtle);background:var(--bg-control);color:var(--text-main)}.landing-create-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.landing-create-options>button{min-height:210px;display:flex;flex-direction:column;align-items:flex-start;padding:18px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-panel);color:var(--text-main);text-align:left;cursor:var(--cursor-pointer);transition:border-color .15s ease,background .15s ease,transform .15s ease}.landing-create-options>button:hover:not(:disabled){transform:translateY(-2px);border-color:var(--border-active);background:#101010}.landing-create-options>button:disabled{opacity:.55;cursor:default}.landing-create-icon{width:42px;height:42px;display:grid;place-items:center;margin-bottom:18px;border:1px solid var(--border-strong);border-radius:9px;background:var(--bg-control);color:var(--text-muted)}.landing-create-icon.nodes{border-color:#2563eb73;background:#2563eb24;color:#7aa7ff}.landing-create-icon.manual{border-color:#8b5cf673;background:#8b5cf621;color:#c4b5fd}.landing-create-options strong{color:var(--text-bright);font-size:16px}.landing-create-options small{margin-top:7px;color:var(--text-muted);font-size:11.5px;line-height:1.5}.landing-create-action{display:flex;align-items:center;gap:6px;margin-top:auto;padding-top:20px;color:var(--accent);font-size:11px;font-weight:650}.landing-create-dialog>footer{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;margin-top:16px}@media (max-width: 1180px){.lp-content{width:min(600px,54vw);padding-left:36px}.lp-bg{clip-path:polygon(0 0,60% 0,56% 100%,0 100%)}.lp--profile .lp-footer,.lp--community .lp-footer{width:min(540px,calc(54vw - 60px))}}@media (max-width: 920px){.lp-bg{clip-path:none;filter:none;background:linear-gradient(180deg,#040508eb,#040508d1)}.lp--auth .lp-bg,.lp--profile .lp-bg{clip-path:none}.lp--profile .lp-content{width:100%}.lp--community .lp-bg{clip-path:none}.lp--community .lp-content{width:100%}.lp--profile .lp-footer,.lp--community .lp-footer{width:auto}.lp-content{width:100%;max-width:660px;margin:0 auto;padding:0 20px}.lp-content-scroll{gap:36px;padding:28px 0}.lp-footer{padding-bottom:36px}.lp-nav{padding:0 16px}.lp-nav-links{display:none}}@media (max-width: 560px){.lp-nav{height:56px;gap:10px}.lp-brand{gap:8px;font-size:13.5px}.lp-nav-credits,.lp-auth-register{display:none}.lp-account-chip{width:34px;padding:0;justify-content:center}.lp-account-chip span,.lp-auth-logout span{display:none}.lp-auth-logout{width:34px;padding:0}.lp-open-app{height:34px;padding:0 12px;font-size:12.5px}.lp-content{padding:0 16px}.lp-content-scroll{gap:32px;padding:22px 0}.lp-footer{padding-bottom:30px}.lp-hero h1{font-size:clamp(30px,9.5vw,40px)}.lp-hero p{font-size:14px}.lp-hero-actions{margin-top:22px}.lp-hero-actions .lp-primary,.lp-hero-actions .lp-secondary{flex:1;min-width:150px}.lp-version-pill{gap:8px;font-size:11.5px}.lp-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lp-footer{flex-direction:column;align-items:flex-start;gap:10px}.lp-head-actions .lp-secondary.sm span{display:none}.lp-template-create{width:100%}.profile-grid{grid-template-columns:1fr}.profile-details-card{grid-row:auto}.profile-field-grid{grid-template-columns:1fr}.cloud-sync-bar{align-items:stretch;flex-direction:column}.cloud-project-row{grid-template-columns:1fr auto}.cloud-project-row>select,.cloud-project-row>code{margin-left:39px}.community-tools,.community-grid{grid-template-columns:1fr}.lp-template-section-head{align-items:flex-start;flex-direction:column}.lp-template-kind-switch{width:100%}.lp-template-kind-switch button{flex:1;justify-content:center}.landing-create-dialog{padding:18px}.landing-create-options{grid-template-columns:1fr}.landing-create-options>button{min-height:170px}.auth-page{width:100%;padding-top:0}.auth-card{padding:20px 17px}}@media (max-width: 380px){.lp-brand strong{display:none}.lp-card-grid{grid-template-columns:1fr 1fr;gap:8px}.lp-version-text{white-space:normal}}@media (prefers-reduced-motion: reduce){.landing-overlay{transition:opacity .35s ease}.landing-overlay.exiting{transform:none;filter:none}.lp-bg{transition:none}.lp-content-scroll>*{animation:none}.lp-project-tab-panel{animation:none}.lp-account-chip:hover,.lp-account-chip.active,.lp-project-tabs button.active{transform:none}.lp-primary:hover:not(:disabled){transform:none}.landing-preview-spinner{animation:none;border-top-color:var(--text-dim)}}:root{--cursor-default: url(/cursors/windows-11-light-theme/pointer.cur), default;--cursor-pointer: url(/cursors/windows-11-light-theme/link.cur), pointer;--cursor-text: url(/cursors/windows-11-light-theme/beam.cur), text;--cursor-not-allowed: url(/cursors/windows-11-light-theme/unavailable.cur), not-allowed;--cursor-crosshair: url(/cursors/windows-11-light-theme/precision.cur), crosshair;--cursor-move: url(/cursors/windows-11-light-theme/move.cur), move;--cursor-grab: url(/cursors/windows-11-light-theme/move.cur), grab;--cursor-grabbing: url(/cursors/windows-11-light-theme/move.cur), grabbing;--cursor-help: url(/cursors/windows-11-light-theme/help.cur), help}html,body{cursor:var(--cursor-default)}input:not([type=button]):not([type=submit]):not([type=reset]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),textarea,[contenteditable=true]{cursor:var(--cursor-text)}:root{--bg-main: #050505;--bg-panel: #0d0d0d;--bg-panel-soft: #141414;--bg-control: #1a1a1a;--bg-elevated: #141414;--border-subtle: #262626;--border-strong: #333333;--border-active: #2563eb;--text-main: #f5f5f5;--text-muted: #a3a3a3;--text-dim: #737373;--text-bright: #ffffff;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-bg: rgba(37, 99, 235, .16);--accent-bg-strong: rgba(37, 99, 235, .28);--thumb: #f5f5f5;--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--shadow-panel: 0 8px 28px rgba(0, 0, 0, .55);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 12px;--font: "Inter", "Segoe UI", system-ui, sans-serif;--mono: "JetBrains Mono", "Cascadia Code", Consolas, monospace;--bg: var(--bg-main);--panel: var(--bg-panel);--panel-border: var(--border-subtle);--panel-header: var(--bg-panel-soft);--text: var(--text-main);--text-faint: var(--text-dim);--accent-soft: var(--accent-bg);--good: var(--success);--warn: var(--warning);--input-bg: var(--bg-control);--input-border: var(--border-subtle);--radius: var(--radius-md)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden}body{font-family:var(--font);font-size:12.5px;color:var(--text-main);background:var(--bg-main);-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased}#app{display:flex;flex-direction:column;height:100vh;position:relative}#topbar{display:flex;align-items:center;position:relative;gap:12px;height:46px;flex:0 0 46px;padding:0 14px;background:var(--bg-panel-soft);border-bottom:1px solid var(--border-subtle);z-index:30}.tb-group{display:flex;align-items:center;gap:6px}.tb-brand{gap:9px;margin-right:4px}.tb-left{flex:0 1 auto;min-width:0;gap:4px}.tb-center{position:absolute;left:50%;transform:translate(-50%);flex:0 0 auto;justify-content:center;min-width:0;gap:8px;z-index:1}.tb-history{display:inline-flex;align-items:center;gap:2px;margin-left:4px;padding-left:6px;border-left:1px solid var(--border-subtle)}.logo{width:22px;height:22px;color:var(--accent);flex-shrink:0}.app-name{font-weight:700;letter-spacing:1.5px;font-size:13px;color:var(--text-bright)}.tb-brand-button{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;color:inherit;font:inherit;text-align:left}.tb-brand-button:hover .app-name{color:var(--accent)}.app-version{font-size:10.5px;color:var(--text-dim);font-family:var(--mono);margin-top:2px;flex-shrink:0;min-width:4.2em;text-align:right}.tb-right{margin-left:auto;flex:0 0 auto;min-width:0;gap:6px}.tb-actions{min-width:0}.tb-search-btn{max-width:210px}.tb-workspace-pill{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-panel);color:var(--text-muted);font-size:11px;font-weight:600}.tb-workspace-pill svg{color:var(--accent)}.tb-menu-btn{gap:5px;padding:0 8px}.tb-btn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font);font-size:12px;cursor:var(--cursor-pointer);white-space:nowrap;transition:background .12s ease,color .12s ease,border-color .12s ease}.tb-btn:hover{background:var(--bg-control);color:var(--text-main);border-color:var(--border-subtle)}.tb-btn.active{background:var(--accent-bg);color:var(--accent);border-color:var(--border-active)}.tb-btn svg{width:14px;height:14px}.tb-btn .caret{width:8px;height:8px}.tb-file-btn{gap:7px}.tb-menu-btn .tb-text{font-weight:550}.tb-file-caret{width:12px!important;height:12px!important;margin-left:1px}.tb-icon-btn{padding:0 7px}.tb-icon-btn:disabled:hover{background:transparent;color:var(--text-muted);border-color:transparent}.tb-search-btn{padding:0 12px;gap:8px;background:var(--bg-control);border-color:var(--border-subtle)}.tb-search-btn:hover{border-color:var(--border-active);background:var(--accent-bg)}.tb-search-btn.active{background:var(--accent-bg);border-color:var(--border-active);color:var(--accent)}.tb-search-btn svg{width:13px;height:13px;flex-shrink:0}.tb-shortcut{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:999px;background:#ffffff0a;border:1px solid var(--border-subtle);color:var(--text-dim);font-family:var(--mono);font-size:10px;letter-spacing:.04em;flex-shrink:0;gap:3px}.shortcut-command-icon{width:12px!important;height:12px!important}.tb-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.tb-btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.tb-btn:disabled{opacity:.45;cursor:var(--cursor-not-allowed)}.tb-segment{display:flex;gap:2px;padding:3px;background:var(--bg-control);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.tb-mode{height:28px;padding:0 14px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-muted);font-family:var(--font);font-size:12px;font-weight:600;cursor:var(--cursor-pointer);white-space:nowrap;transition:background .12s ease,color .12s ease}.tb-mode:hover:not(:disabled){color:var(--text-main)}.tb-mode.active{background:var(--accent);color:#fff}.tb-mode:disabled{opacity:.5;cursor:var(--cursor-not-allowed)}.tb-loading{display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 10px;border-radius:var(--radius-sm);background:var(--accent-bg);border:1px solid var(--border-active);color:var(--accent);font-size:11.5px;font-weight:600}.tb-spin{animation:tb-spin .8s linear infinite}@keyframes tb-spin{to{transform:rotate(360deg)}}.tb-dropdown,.tb-notifications{position:relative}.tb-notification-btn{position:relative;width:30px;padding:0;justify-content:center}.tb-notification-btn.active{background:var(--accent-bg);color:var(--accent);border-color:var(--border-active)}.tb-notification-badge{position:absolute;top:1px;right:1px;display:grid;place-items:center;min-width:14px;height:14px;padding:0 3px;border:2px solid var(--bg-panel-soft);border-radius:4px;background:var(--accent);color:#fff;font:700 8px/1 var(--mono)}.tb-notification-popover{position:absolute;top:34px;right:0;width:286px;max-width:calc(100vw - 28px);overflow:hidden;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);z-index:70}.tb-notification-heading{display:flex;align-items:center;justify-content:space-between;min-height:34px;padding:0 9px 0 11px;border-bottom:1px solid var(--border-subtle);color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.tb-notification-close{display:grid;place-items:center;width:22px;height:22px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-dim);cursor:var(--cursor-pointer)}.tb-notification-close:hover{border-color:var(--border-subtle);background:var(--bg-control);color:var(--text-main)}.tb-notification-list{max-height:310px;overflow-y:auto}.tb-notification-item{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;border-bottom:1px solid rgba(38,38,38,.72)}.tb-notification-item:last-child{border-bottom:0}.tb-notification-icon{display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border:1px solid var(--border-subtle);border-radius:5px;background:#ffffff09}.tb-notification-icon svg{width:13px;height:13px}.tb-notification-copy{display:grid;gap:2px;min-width:0;padding-top:1px}.tb-notification-message{color:var(--text-main);font-size:11.5px;line-height:1.35;overflow-wrap:anywhere}.tb-notification-time{color:var(--text-dim);font:10px var(--mono)}.tb-notification-info .tb-notification-icon{color:var(--accent);background:var(--accent-bg)}.tb-notification-success .tb-notification-icon{color:var(--success);background:#22c55e1a}.tb-notification-error .tb-notification-icon{color:var(--danger);background:#ef44441a}.tb-notification-empty{padding:18px 12px;color:var(--text-dim);font-size:11.5px;text-align:center}.tb-notification-footer{display:flex;justify-content:flex-end;gap:5px;padding:7px;border-top:1px solid var(--border-subtle);background:var(--bg-panel-soft)}.tb-notification-action{height:24px;padding:0 8px;border:1px solid var(--border-subtle);border-radius:4px;background:transparent;color:var(--text-muted);font:600 10.5px var(--font);cursor:var(--cursor-pointer)}.tb-notification-action:hover,.tb-notification-action.active{border-color:var(--border-active);background:var(--accent-bg);color:var(--accent)}.tb-notification-action:disabled{opacity:.42;cursor:var(--cursor-not-allowed)}.tb-notification-action:disabled:hover{border-color:var(--border-subtle);background:transparent;color:var(--text-muted)}.tb-menu{position:absolute;top:32px;left:0;min-width:170px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:4px;display:none;flex-direction:column;z-index:50;box-shadow:var(--shadow-panel)}.tb-menu.open{display:flex}.tb-menu-with-shortcuts{min-width:238px}.tb-project-name-field{display:flex;flex-direction:column;gap:5px;padding:6px 8px 7px}.tb-project-name-field span{color:var(--text-dim);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.tb-project-name-field input{width:100%;height:28px;box-sizing:border-box;border:1px solid var(--border-subtle);border-radius:4px;background:var(--bg-input, var(--bg-panel-soft));color:var(--text-main);padding:0 8px;font:12px var(--font);outline:none}.tb-project-name-field input:focus{border-color:var(--border-active);box-shadow:0 0 0 2px var(--accent-bg)}.tb-menu button{display:flex;align-items:center;gap:8px;background:none;border:none;color:var(--text-main);font-family:var(--font);font-size:12px;text-align:left;padding:7px 10px;border-radius:4px;cursor:var(--cursor-pointer)}.tb-menu-shortcut{display:inline-flex;align-items:center;gap:3px;margin-left:auto;padding-left:14px;color:var(--text-dim);font-family:var(--mono);font-size:10px;white-space:nowrap}.tb-menu button:hover .tb-menu-shortcut{color:var(--accent)}.tb-menu-shortcut .shortcut-command-icon{color:currentColor}.tb-menu button svg{width:14px;height:14px;color:var(--text-muted);flex:0 0 auto}.tb-menu button:hover{background:var(--accent-bg);color:var(--accent)}.tb-menu button:hover svg{color:var(--accent)}.tb-menu button:disabled{opacity:.58;cursor:default}.tb-menu button:disabled:hover{background:transparent;color:var(--text-main)}.tb-menu button:disabled:hover svg{color:var(--text-muted)}.tb-layout-menu{left:auto;right:0;min-width:196px}.tb-menu-section-label{padding:6px 10px 4px;color:var(--text-dim);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.tb-menu button.active{background:var(--accent-bg);color:var(--accent)}.tb-menu button.active svg{color:var(--accent)}.ui-settings-heading{display:flex;align-items:flex-start;gap:10px}.ui-settings-heading-icon{flex-shrink:0;margin-top:2px;color:var(--accent)}.file-drop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#0505058c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none}.file-drop-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 40px;border:1.5px dashed var(--accent);border-radius:var(--radius-sm);background:var(--bg-panel);color:var(--text-main);font-size:13px;font-weight:500;box-shadow:var(--shadow-panel)}.file-drop-card svg{color:var(--accent)}.tb-menu-divider{height:1px;margin:4px 6px;background:var(--border-subtle)}.app-shell{position:relative;flex:1;display:flex;overflow:hidden;min-height:0}.left-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:1px;width:64px;padding:6px;background:var(--bg-panel);border-right:1px solid var(--border-subtle);overflow-y:auto;z-index:14;position:absolute;top:0;left:0;bottom:0;flex:none}.left-toolbar::-webkit-scrollbar{width:0}.toolbar-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:48px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--text-dim);cursor:var(--cursor-pointer);transition:background .12s ease,color .12s ease,border-color .12s ease}.toolbar-btn svg{width:18px;height:18px}.toolbar-btn-label{font-size:8.5px;font-weight:600;letter-spacing:.2px;color:inherit}.toolbar-btn:hover{background:var(--bg-control);color:var(--text-main)}.toolbar-btn.active{background:var(--accent-bg);color:var(--accent);border-color:var(--border-active)}.panel-drag-handle,.panel-snap-layer,.panel-snap-menu{display:none}@media (hover: hover) and (pointer: fine) and (min-width: 821px){.panel-snap-menu{display:flex;flex-direction:column;position:fixed;z-index:80;min-width:140px;padding:4px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-panel);box-shadow:var(--shadow-panel);gap:2px}.panel-snap-menu button{display:block;width:100%;text-align:left;padding:7px 10px;border:none;border-radius:4px;background:transparent;color:var(--text-main);font-family:var(--font);font-size:12px;cursor:var(--cursor-pointer)}.panel-snap-menu button:hover,.panel-snap-menu button.active{background:var(--accent-bg);color:var(--accent)}.side-panel-header--draggable{cursor:grab}.side-panel-header--draggable:active{cursor:grabbing}.side-panel-header--draggable .side-panel-close{cursor:var(--cursor-pointer)}.left-toolbar--overlay{position:absolute;z-index:14;box-shadow:none}.left-toolbar--left{top:0;left:0;bottom:0;right:auto;width:64px;height:auto;flex-direction:column;border-right:1px solid var(--border-subtle);border-left:0;border-top:0;border-bottom:0;overflow-x:hidden;overflow-y:auto}.left-toolbar--right{top:0;right:0;bottom:0;left:auto;width:64px;height:auto;flex-direction:column;border-left:1px solid var(--border-subtle);border-right:0;border-top:0;border-bottom:0;overflow-x:hidden;overflow-y:auto}.left-toolbar--top,.left-toolbar--bottom{left:0;right:0;width:auto;height:58px;flex-direction:row;flex-wrap:nowrap;align-items:stretch;padding:4px 8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.left-toolbar--top{top:0;bottom:auto;border-bottom:1px solid var(--border-subtle);border-right:0}.left-toolbar--bottom{bottom:0;top:auto;border-top:1px solid var(--border-subtle);border-right:0}.left-toolbar--top .toolbar-btn,.left-toolbar--bottom .toolbar-btn{flex:0 0 54px;height:46px;min-width:54px}.left-toolbar.is-dragging{width:64px!important;height:auto!important;max-height:80%;right:auto!important;bottom:auto!important;flex-direction:column!important;border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);opacity:.92;z-index:30;pointer-events:none;overflow-y:auto}.panel-snap-layer{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:29;pointer-events:none}.panel-snap-zone{position:absolute;border-radius:var(--radius-md);border:1.5px dashed transparent;background:transparent;transition:background .08s ease,border-color .08s ease}.panel-snap-zone--left{left:4px;top:8px;bottom:8px;width:56px}.panel-snap-zone--right{right:4px;top:8px;bottom:8px;width:56px}.panel-snap-zone--top{top:4px;left:8px;right:8px;height:48px}.panel-snap-zone--bottom{bottom:4px;left:8px;right:8px;height:48px}.panel-snap-layer--drawer .panel-snap-zone--top,.panel-snap-layer--drawer .panel-snap-zone--bottom{display:none}.panel-snap-zone.active{background:#4a89ff29;border-color:#4a89ffb3}}.side-drawer{position:absolute;top:0;right:0;bottom:0;width:min(340px,92vw);background:var(--bg-panel);border-left:1px solid var(--border-subtle);box-shadow:var(--shadow-panel);transform:translate(100%);opacity:0;pointer-events:none;transition:transform .2s cubic-bezier(.16,1,.3,1),opacity .2s ease;z-index:12;display:flex;flex-direction:column;min-height:0;overflow:hidden}.side-drawer.open{transform:translate(0);opacity:1;pointer-events:auto}@media (hover: hover) and (pointer: fine) and (min-width: 821px){.side-drawer.side-drawer--left{left:0;right:auto;border-left:0;border-right:1px solid var(--border-subtle);transform:translate(-100%)}.side-drawer.side-drawer--left.open{transform:translate(0)}.side-drawer.side-drawer--right{right:0;left:auto;border-right:0;border-left:1px solid var(--border-subtle);transform:translate(100%)}.side-drawer.side-drawer--right.open{transform:translate(0)}.side-drawer.side-drawer--beside-rail.side-drawer--left{left:64px}.side-drawer.side-drawer--beside-rail.side-drawer--right{right:64px}.side-drawer.side-drawer--below-tools{top:58px}.side-drawer.side-drawer--above-tools{bottom:58px}.side-drawer--left .side-panel-header{flex-direction:row}.side-drawer--left .side-panel-close{order:0;margin-left:auto}.side-drawer--left .side-panel-heading,.side-drawer--left .side-panel-title,.side-drawer--left .side-panel-desc{text-align:left}.side-drawer-handle{display:none}.app-shell[data-drawer-side=left] .minimap-overlay-container.drawer-open{right:18px;left:calc(min(340px,92vw) + 18px)}.app-shell[data-tools-rail=left][data-drawer-side=left] .minimap-overlay-container.drawer-open{left:calc(min(340px,92vw) + 82px)}.app-shell[data-tools-rail=right][data-drawer-side=right] .minimap-overlay-container.drawer-open{right:calc(min(340px,92vw) + 82px)}.app-shell[data-tools-rail=top][data-drawer-side=left] .minimap-overlay-container.drawer-open{left:calc(min(340px,92vw) + 18px);top:70px}}.side-panel{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden}.side-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 16px 12px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.side-panel-title{font-size:14px;font-weight:700;letter-spacing:.3px;color:var(--text-bright)}.side-panel-desc{margin-top:3px;font-size:11px;color:var(--text-dim);line-height:1.4}.side-panel-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-control);color:var(--text-muted);cursor:var(--cursor-pointer);transition:background .12s ease,color .12s ease,border-color .12s ease}.side-panel-close:hover{color:var(--text-main);border-color:var(--border-active)}.side-panel-content{flex:1 1 0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:12px 16px 16px;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.side-panel-content>*+*{margin-top:4px}.side-panel-content::-webkit-scrollbar{width:7px}.side-panel-content::-webkit-scrollbar-track{background:transparent}.side-panel-content::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px;min-height:32px}.side-panel-content::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.side-panel-footer{flex-shrink:0;padding:12px 16px;border-top:1px solid var(--border-subtle);background:var(--bg-panel)}.side-panel-footer .action-btn{margin-top:0}.side-panel-quick{display:flex;gap:8px;margin-bottom:6px}.side-panel-quick .action-btn{margin-top:0}.panel-tabs{display:flex;gap:4px;padding:3px;margin-bottom:10px;background:var(--bg-control);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.panel-tab{flex:1;height:28px;border:none;border-radius:5px;background:transparent;color:var(--text-muted);font-family:var(--font);font-size:11.5px;font-weight:600;cursor:var(--cursor-pointer);transition:background .12s ease,color .12s ease}.panel-tab:hover{color:var(--text-main)}.panel-tab.active{background:var(--accent);color:#fff}.panel-group{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-panel-soft);overflow:hidden;margin-bottom:8px}.panel-group-header{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--border-subtle)}.panel-group-icon{display:flex;color:var(--accent)}.panel-group-icon svg{width:15px;height:15px}.panel-group-title{font-size:10px;font-weight:700;letter-spacing:1.3px;color:var(--text-muted)}.panel-group-body{padding:12px}.collapsible-group .panel-group-header{width:100%;border:none;background:transparent;cursor:var(--cursor-pointer);font-family:var(--font);text-align:left;transition:background .12s ease}.collapsible-group .panel-group-toggle:hover{background:var(--bg-control)}.collapsible-group .panel-group-toggle{justify-content:flex-start;border-bottom:none}.collapsible-group.open .panel-group-toggle{border-bottom:1px solid var(--border-subtle)}.collapsible-group .panel-group-chevron{display:flex;margin-left:auto;color:var(--text-dim);transition:transform .15s ease}.collapsible-group .panel-group-chevron.open{transform:rotate(180deg)}.panel-group.nested{margin-top:4px;margin-bottom:4px;background:transparent}.panel-group.nested .panel-group-header{padding:7px 10px}.panel-group.nested .panel-group-title{font-size:9.5px;letter-spacing:1.1px}.panel-group.nested .panel-group-body{padding:8px 10px 10px}.file-picker{margin-bottom:10px}.file-picker-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.file-picker-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:36px;padding:0 12px;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-control);color:var(--text-main);font-family:var(--font);font-size:12px;font-weight:600;cursor:var(--cursor-pointer);transition:background .12s ease,color .12s ease,border-color .12s ease}.file-picker-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.file-picker-name{display:block;margin-top:6px;font-size:10.5px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.import-map-preview{width:100%;max-height:120px;object-fit:cover;border-radius:var(--radius-sm);margin:8px 0 10px;border:1px solid var(--border-subtle)}.import-map-error{color:#ff8a8a}.realworld-search{margin:6px 0 8px}.realworld-list{display:flex;flex-direction:column;gap:6px;margin:6px 0}.realworld-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:38px;padding:6px 10px;text-align:left;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--panel-2, #141414);color:inherit;cursor:var(--cursor-pointer)}.realworld-item:hover:not(:disabled){border-color:var(--accent);background:var(--accent-bg)}.realworld-item:disabled{opacity:.55;cursor:var(--cursor-default)}.realworld-text{display:flex;flex-direction:column;line-height:1.25}.realworld-name{font-size:12px;font-weight:600}.realworld-blurb{font-size:10.5px;opacity:.65}.realworld-progress{font-size:11px;font-variant-numeric:tabular-nums;color:var(--accent)}.realworld-attribution{margin-top:8px;font-size:10px;opacity:.55}.biome-legend{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-subtle)}.biome-legend-row{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-muted)}.biome-legend-swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0}.perf-settings-body{display:flex;flex-direction:column;gap:4px}.control-section{background:var(--bg-panel-soft);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;flex-shrink:0}.control-section-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;background:var(--bg-panel-soft);border:none;cursor:var(--cursor-pointer);color:var(--text-muted);font-family:var(--font);text-align:left;transition:background .12s ease}.control-section-header-button,.panel-group-header-button{display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;min-width:0;padding:0;background:transparent;border:0;color:inherit;font:inherit;text-align:left;cursor:var(--cursor-pointer)}.section-enable-toggle{flex:0 0 auto;margin-left:10px}.control-section-header:hover{background:var(--bg-control)}.control-section-left{display:flex;align-items:center;gap:8px;min-width:0}.control-section-icon{display:flex;align-items:center;color:var(--accent);flex-shrink:0}.control-section-icon svg{width:15px;height:15px}.control-section-title{font-size:10px;font-weight:700;letter-spacing:1.3px;color:var(--text-muted)}.control-section-dot{width:6px;height:6px;border-radius:50%;background:var(--text-dim);flex-shrink:0}.control-section-dot.active{background:var(--accent)}.control-section-chevron{display:flex;color:var(--text-dim);transition:transform .15s ease}.control-section-chevron.open{transform:rotate(180deg)}.control-section-body{padding:4px 12px 12px;border-top:1px solid var(--border-subtle)}.control-section-body.collapsed{display:none}.visuals-section-disabled{opacity:.48;pointer-events:none}.toggle-row[data-setting-id="visuals.visualsDitheringEnabled"],.toggle-row[data-setting-id="visuals.visualsCrtEnabled"],.toggle-row[data-setting-id="visuals.visualsChromaticAberrationEnabled"]{display:none}.visuals-search-wrap{display:flex;align-items:center;gap:8px;min-height:34px;margin-bottom:10px;padding:0 9px;color:var(--text-dim);background:var(--bg-control);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.visuals-search-wrap:focus-within{border-color:var(--border-active);color:var(--text-main)}.visuals-search-wrap input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--text-main);font:12px var(--font)}.visuals-search-wrap input::placeholder{color:var(--text-dim)}.visuals-search-wrap button{display:flex;padding:2px;border:0;background:transparent;color:var(--text-dim);cursor:var(--cursor-pointer)}.subsection-label{font-size:9.5px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;color:var(--accent);margin:12px 0 8px;padding-bottom:4px;border-bottom:1px solid var(--border-subtle)}.subsection-label:first-child{margin-top:4px}.settings-hint{font-size:11px;line-height:1.45;color:var(--text-dim, #9aa0a6);margin:4px 0 8px}.export-validation{display:grid;gap:5px;margin:9px 0 3px;padding:9px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg-control) 72%,transparent);font-size:11px}.export-validation>strong{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.export-validation-row{display:flex;gap:6px;align-items:flex-start;line-height:1.35;color:var(--text-dim)}.export-validation-row span{width:12px;font-weight:800;text-align:center}.export-validation-row.success span{color:#55c58b}.export-validation-row.warning span{color:#e8b85c}.export-validation-row.error span{color:#f06f6f}.kv-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:4px 0}.tile-chip-grid{display:flex;flex-wrap:wrap;gap:6px}.tile-chip-grid .action-btn{margin-top:0;flex:0 0 auto}.section-hint{font-size:11px;color:var(--text-dim);line-height:1.5;padding:4px 0}.section-hint.warning{color:var(--warning, #e8a84a)}.water-mode-banner{display:flex;flex-direction:column;gap:2px;padding:10px 12px;margin-bottom:10px;border-radius:6px;border:1px solid var(--border-subtle);background:var(--panel-elevated, rgba(255, 255, 255, .03))}.water-mode-banner.legacy{border-color:#64a0dc59}.water-mode-banner.realistic{border-color:#3cc8b466}.water-mode-banner-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.water-mode-banner-value{font-size:14px;font-weight:600;color:var(--text)}.panel-reset-footer{margin-top:16px;padding-top:14px;border-top:1px solid var(--border-subtle)}.panel-reset-btn{width:100%;justify-content:center}#main{position:relative;flex:1;overflow:hidden;min-height:0}.viewport-area{position:relative;flex:1 1 auto;min-width:0;min-height:0;background:var(--bg-main);overflow:hidden}#viewport{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}#viewport.viewport-disabled{visibility:hidden}.webgl-error-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;background:#0b0e14f5;color:#e8ecf4}.webgl-error-overlay h2{margin:0;font-size:18px;font-weight:600}.webgl-error-overlay p{margin:0;max-width:420px;font-size:13px;line-height:1.5;color:#a8b0c0}.webgl-error-hint{font-size:12px!important;color:#7a8498!important}.webgl-error-overlay button{margin-top:8px;padding:8px 18px;border:1px solid #3a4560;border-radius:6px;background:#1a2233;color:#e8ecf4;font-size:13px;cursor:var(--cursor-pointer)}.webgl-error-overlay button:hover{background:#243048}.panel{background:var(--bg-panel-soft);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;font-size:10.5px;font-weight:700;letter-spacing:1.2px;color:var(--text-muted);background:var(--bg-panel-soft);border-bottom:1px solid var(--border-subtle)}.collapse-btn{background:none;border:none;color:var(--text-dim);cursor:var(--cursor-pointer);font-size:14px;line-height:1;padding:2px 6px;border-radius:4px}.collapse-btn:hover{background:var(--bg-control);color:var(--text-main)}.panel-body{padding:10px 12px}.panel-body.collapsed{display:none}.row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.row label{color:var(--text-muted);font-size:12px;flex:1}.row input[type=number],.row input[type=text],.row select{width:92px;height:26px;padding:0 7px;background:var(--bg-control);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-main);font-family:var(--mono);font-size:11px;outline:none}.row input:focus,.row select:focus{border-color:var(--border-active)}.row input[readonly]{color:var(--text-muted)}.row select{font-family:var(--font);cursor:var(--cursor-pointer)}.row select option{background:var(--bg-panel-soft)}.field-label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:5px}.ctl{margin-bottom:10px}.ctl-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.ctl-top label{color:var(--text-muted);font-size:12px}.ctl-val{width:64px;height:22px;text-align:right;padding:0 6px;background:var(--bg-control);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-main);font-family:var(--mono);font-size:10.5px;outline:none}.ctl-val:focus{border-color:var(--border-active)}.slider-track-wrap{position:relative;height:16px;display:flex;align-items:center}.slider-track-bg{position:absolute;left:0;right:0;height:3px;background:var(--bg-control);border-radius:2px;pointer-events:none}.slider-track-fill{position:absolute;left:0;height:3px;background:var(--accent);border-radius:2px;pointer-events:none}.slider-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;z-index:1;width:100%;height:16px;background:transparent;cursor:var(--cursor-pointer);margin:0}.slider-input::-webkit-slider-runnable-track{height:3px;background:transparent}.slider-input::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;margin-top:-4.5px;border-radius:50%;background:var(--thumb);border:2px solid var(--accent);box-shadow:0 1px 3px #0006}.slider-input::-moz-range-track{height:3px;background:transparent}.slider-input::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:var(--thumb);border:2px solid var(--accent)}.toggle-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.toggle-row label{color:var(--text-muted);font-size:12px}.toggle{position:relative;width:32px;height:17px;border-radius:10px;background:var(--bg-control);border:1px solid var(--border-subtle);cursor:var(--cursor-pointer);transition:background .15s ease}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:var(--text-muted);transition:left .15s ease,background .15s ease}.toggle.on{background:var(--accent);border-color:var(--accent)}.toggle.on:after{left:17px;background:#fff}.action-btn,.wide-btn{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;height:30px;margin-top:4px;background:var(--bg-control);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-main);font-family:var(--font);font-size:12px;cursor:var(--cursor-pointer);transition:background .12s ease,border-color .12s ease}.action-btn:hover,.wide-btn:hover{background:#242d3d;border-color:#ffffff24}.action-btn.primary,.wide-btn.primary{background:var(--accent-bg);border-color:var(--border-active);color:var(--accent)}.action-btn.primary:hover,.wide-btn.primary:hover{background:var(--accent-bg-strong)}.action-btn svg,.wide-btn svg{width:14px;height:14px}.spline-create-card{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:linear-gradient(135deg,#2662eb1c,#2662eb06)}.spline-create-card.creating{border-color:var(--border-active);background:linear-gradient(135deg,#2662eb2e,#2662eb0a)}.spline-create-copy{display:flex;align-items:center;gap:8px;min-width:0;color:var(--accent)}.spline-create-copy>div{display:grid;gap:2px}.spline-create-copy strong{color:var(--text-main);font-size:11px}.spline-create-copy span{color:var(--text-dim);font-size:9.5px;white-space:nowrap}.spline-create-btn{display:inline-flex;align-items:center;gap:5px;height:29px;padding:0 8px;border:1px solid var(--border-active);border-radius:7px;background:var(--accent-bg);color:var(--accent);font:600 10px var(--font);cursor:var(--cursor-pointer);white-space:nowrap}.spline-create-btn:hover{background:var(--accent-bg-strong)}.spline-create-btn:disabled{opacity:.45;cursor:var(--cursor-not-allowed)}.spline-create-btn kbd{padding:1px 4px;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-muted);font:9px var(--mono)}.spline-create-actions{display:flex;flex-direction:row;align-items:center;gap:5px;width:100%}.spline-create-actions .spline-create-btn,.spline-create-actions .spline-cancel-btn{justify-content:center;width:100%}.spline-cancel-btn{display:inline-flex;align-items:center;justify-content:center;height:29px;padding:0 8px;border:1px solid var(--border-subtle);border-radius:7px;background:transparent;color:var(--text-muted);font:600 10px var(--font);cursor:var(--cursor-pointer)}.spline-cancel-btn:hover{background:var(--bg-control);color:var(--text-main)}.spline-list{display:grid;gap:5px;margin-top:10px}.spline-list-row{display:flex;align-items:center;gap:9px;width:100%;min-height:48px;padding:7px 8px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-control);color:var(--text-muted);font-family:var(--font);text-align:left;cursor:var(--cursor-pointer)}.spline-list-row:hover{border-color:#ffffff29;background:#202838;color:var(--text-main)}.spline-list-row.active{border-color:var(--border-active);background:var(--accent-bg);color:var(--accent);box-shadow:inset 3px 0 var(--accent)}.spline-list-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:7px;background:#ffffff0d}.spline-list-copy{display:grid;gap:2px;flex:1;min-width:0}.spline-list-copy strong{overflow:hidden;color:var(--text-main);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.spline-list-copy small{color:var(--text-dim);font-size:9.5px}.spline-state{padding:2px 5px;border-radius:999px;background:#ffffff0f;color:var(--text-dim);font:9px var(--mono)}.spline-empty{display:grid;place-items:center;gap:5px;min-height:86px;padding:12px;border:1px dashed var(--border-subtle);border-radius:var(--radius-md);color:var(--text-dim);text-align:center}.spline-empty p{max-width:220px;margin:0;font-size:10.5px;line-height:1.45}.spline-settings{margin-top:13px;padding-top:12px;border-top:1px solid var(--border-subtle)}.spline-settings-heading{display:flex;justify-content:space-between;margin-bottom:9px;color:var(--text-dim);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.spline-name-field{display:grid;gap:5px;margin-bottom:10px;color:var(--text-muted);font-size:10px;font-weight:600}.spline-name-field>div{display:flex;align-items:center;gap:7px;height:34px;padding:0 9px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-control);color:var(--text-dim);transition:border-color .12s ease,background .12s ease}.spline-name-field>div:focus-within{border-color:var(--border-active);background:#2662eb14}.spline-name-field input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--text-main);font:12px var(--font)}.spline-name-field>div>svg:last-child{color:var(--accent)}.spline-toggle-grid{padding-top:2px}.history-action-list{display:grid;gap:5px}.history-action-row{display:flex;align-items:center;gap:8px;min-height:43px;padding:6px 7px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-control)}.history-action-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:#ffffff0d;color:var(--text-dim)}.history-action-row>div{display:grid;flex:1;gap:2px;min-width:0}.history-action-row strong{overflow:hidden;color:var(--text-main);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.history-action-row small{color:var(--text-dim);font:9px var(--mono)}.history-rewind-btn{display:grid;place-items:center;width:27px;height:27px;padding:0;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-muted);cursor:var(--cursor-pointer)}.history-rewind-btn:hover{border-color:var(--border-active);background:var(--accent-bg);color:var(--accent)}.icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:26px;border-radius:var(--radius-sm);background:var(--bg-control);border:1px solid var(--border-subtle);color:var(--text-muted);cursor:var(--cursor-pointer);flex-shrink:0}.icon-btn:hover{color:var(--accent);border-color:var(--border-active)}.icon-btn svg{width:14px;height:14px}.seed-row{margin-bottom:8px}.seed-input-wrap{display:flex;gap:6px}.seed-input-wrap input{flex:1;height:26px;padding:0 8px;background:var(--bg-control);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-main);font-family:var(--mono);font-size:11px;outline:none}.seed-input-wrap input:focus{border-color:var(--border-active)}.color-field{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.color-field label{font-size:12px;color:var(--text-muted)}.color-field input[type=color],input[type=color].palette-color-input{width:32px;height:22px;padding:0;border:1px solid var(--border-subtle);border-radius:4px;background:var(--bg-control);cursor:var(--cursor-pointer);pointer-events:auto}.palette-block{display:flex;flex-direction:column;gap:10px}.palette-preview-wrap{display:flex;align-items:center;gap:8px}.palette-preview{flex:1;height:22px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);box-shadow:inset 0 1px 3px #00000040}.palette-preview-hint{font-size:10px;color:var(--text-dim);font-family:var(--mono);white-space:nowrap}.palette-generator{padding:10px;border-radius:var(--radius-md);background:var(--bg-panel-soft);border:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:8px}.palette-generator-head{display:flex;align-items:center;justify-content:space-between}.palette-generator-title{font-size:11px;font-weight:600;color:var(--text-main);letter-spacing:.3px}.palette-generator .seed-row{display:flex;flex-direction:column;gap:4px;margin-bottom:0}.palette-generator .seed-row>label{font-size:11px;color:var(--text-muted)}.palette-generate-btn{width:100%;justify-content:center;margin-top:2px}.palette-preset-row{margin-top:2px}.palette-groups{display:flex;flex-direction:column;gap:4px}.palette-group{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-control);overflow:hidden}.palette-group-header{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;background:transparent;border:none;color:var(--text-muted);font-family:var(--font);font-size:11px;cursor:var(--cursor-pointer);text-align:left;transition:background .12s ease,color .12s ease}.palette-group-header:hover{background:#7896be0f;color:var(--text-main)}.palette-group-dots{display:flex;gap:2px;flex-shrink:0}.palette-group-dot{width:10px;height:10px;border-radius:2px;border:1px solid rgba(0,0,0,.2)}.palette-group-label{flex:1;font-weight:500}.palette-group-chevron{display:flex;color:var(--text-dim);transition:transform .15s ease}.palette-group-chevron.open{transform:rotate(180deg)}.palette-group-body{padding:4px 6px 6px;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:2px}.palette-color-row{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:var(--radius-sm);cursor:var(--cursor-pointer);position:relative;transition:background .1s ease}.palette-color-row:hover{background:#7896be14}.palette-color-chip{width:28px;height:22px;border-radius:5px;border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 2px #0003;flex-shrink:0}.palette-color-name{flex:1;font-size:11px;color:var(--text-muted)}.palette-color-row:hover .palette-color-name{color:var(--text-main)}.palette-color-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:var(--cursor-pointer)}.palette-tuning{margin-top:2px}.palette-io{display:flex;gap:6px;margin-top:2px}.palette-io .action-btn{flex:1;justify-content:center}.planet-preset-block{margin-bottom:4px}.stat-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;font-size:12px}.stat-label{color:var(--text-muted);flex-shrink:0}.stat-value{color:var(--text-main);text-align:right}.stat-value.stat-mono{font-family:var(--mono);font-size:11px}.stat-value.stat-truncate{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-fps{padding:1px 8px;border-radius:4px;background:#34d39924;color:var(--success);border:1px solid rgba(52,211,153,.3);font-family:var(--mono);font-size:11px}.stat-fps.low{background:#f5a52424;color:var(--warning);border-color:#f5a5244d}#help-card{position:absolute;top:16px;left:16px;z-index:5;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px 18px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-panel);transition:opacity .4s ease}#help-card.hidden{opacity:0;pointer-events:none}.help-row{display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:12px}.help-ic{font-size:14px;width:18px;text-align:center}.lod-row{display:flex;align-items:center;gap:8px;margin-bottom:7px;font-size:12px}.lod-dot{width:9px;height:9px;border-radius:2.5px;flex:0 0 9px}.lod-name{color:var(--text-main);flex:1}.lod-count{color:var(--text-muted);font-family:var(--mono);font-size:11px}.lod-summary{display:flex;align-items:center;gap:14px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border-subtle)}.lod-donut{width:60px;height:60px}.lod-total-num{font-size:22px;font-weight:700;color:var(--text-bright);font-family:var(--mono)}.lod-total-label{font-size:10.5px;color:var(--text-muted);line-height:1.45}.lod-grid-label{display:block;color:var(--text-dim);font-family:var(--mono);font-size:10px}.minimap-wrap{position:relative;width:100%;max-width:216px;margin:0 auto;aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border-subtle);background:var(--bg-main);cursor:var(--cursor-crosshair)}.minimap-wrap canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.minimap-caption{font-size:10.5px;color:var(--text-dim);font-family:var(--mono)}.minimap-meta{display:flex;flex-direction:column;gap:6px}.minimap-caption{display:flex;justify-content:space-between;gap:10px}.minimap-hover-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;padding:8px 9px;border-radius:8px;background:#070a0f94;border:1px solid rgba(255,255,255,.06);color:var(--text);font-size:10px;font-family:var(--mono)}.minimap-hover-info.empty{grid-template-columns:1fr;color:var(--text-dim)}.minimap-toolbar,.minimap-header-actions{display:flex;align-items:center;gap:6px}.minimap-toolbar{justify-content:space-between}.minimap-segmented,.minimap-zoom-group,.minimap-mode-grid{display:flex;flex-wrap:wrap;gap:6px}.minimap-zoom-group{align-items:center}.minimap-zoom-value{min-width:26px;text-align:center;font-size:10px;color:var(--text-dim);font-family:var(--mono)}.minimap-chip{min-height:28px;height:28px;padding:0 10px;border-radius:999px;font-size:10px;white-space:nowrap}.minimap-chip.tb-btn{gap:0}.minimap-icon-chip{width:28px;padding:0;justify-content:center}.minimap-icon-chip svg{width:14px;height:14px}.minimap-chip.active{background:var(--accent-bg);color:var(--accent);border-color:var(--border-active)}.viewport-camera-bar{position:absolute;bottom:18px;left:50%;transform:translate(-50%);z-index:10;display:flex;gap:2px;padding:4px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:999px;box-shadow:var(--shadow-panel)}.creator-toolbar{position:absolute;left:18px;bottom:18px;z-index:10;padding:4px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-panel-soft);box-shadow:var(--shadow-panel);transition:left .18s ease,bottom .18s ease}@media (hover: hover) and (pointer: fine) and (min-width: 821px){.app-shell[data-tools-rail=left] .creator-toolbar{left:82px}.app-shell[data-tools-rail=bottom] .creator-toolbar{bottom:76px}}.creator-toolbar-btn{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--text-muted);cursor:var(--cursor-pointer)}.creator-toolbar-btn:hover{color:var(--text-main)}.creator-toolbar-btn.active{color:var(--accent)}.creator-toolbar-btn.active svg{filter:drop-shadow(0 0 7px rgba(74,137,255,.7))}.creator-toolbar-popover{position:absolute;left:0;bottom:calc(100% + 9px);display:grid;gap:3px;width:190px;padding:9px 10px;border:1px solid var(--border-active);border-radius:9px;background:#131b2af7;box-shadow:0 10px 28px #00000052;color:var(--text-muted);font-size:10px;line-height:1.35;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .14s ease,transform .14s ease}.creator-toolbar-popover:after{content:"";position:absolute;left:12px;bottom:-5px;width:8px;height:8px;border-right:1px solid var(--border-active);border-bottom:1px solid var(--border-active);background:#131b2af7;transform:rotate(45deg)}.creator-toolbar-popover strong{color:var(--text-main);font-size:11px}.creator-toolbar-popover kbd{justify-self:start;margin-top:2px;padding:1px 5px;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-dim);font:9px var(--mono)}.creator-toolbar:hover .creator-toolbar-popover,.creator-toolbar:focus-within .creator-toolbar-popover{opacity:1;transform:translateY(0)}.camera-bar-btn{display:flex;align-items:center;gap:7px;height:32px;padding:0 14px;border-radius:999px;background:transparent;border:1px solid transparent;color:var(--text-muted);font-family:var(--font);font-size:12px;cursor:var(--cursor-pointer);transition:background .12s ease,color .12s ease,border-color .12s ease}.camera-bar-btn svg{width:14px;height:14px}.camera-bar-btn .camera-bar-label{white-space:nowrap}.camera-bar-btn:hover{background:var(--bg-control);color:var(--text-main)}.camera-bar-btn.active{background:var(--accent-bg);color:var(--accent);border-color:var(--border-active)}.explore-menu-wrap{position:relative;display:flex}.explore-menu-trigger .explore-chevron{width:12px;height:12px;opacity:.7;transition:transform .15s ease}.explore-menu-trigger .explore-chevron.open{transform:rotate(180deg)}.explore-menu{position:fixed;transform:translate(-50%);z-index:1000;min-width:118px;padding:4px;border-radius:10px;background:var(--bg-panel);border:1px solid var(--border-subtle);box-shadow:var(--shadow-panel)}.explore-menu-item{display:flex;align-items:center;width:100%;height:30px;padding:0 10px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-muted);font-family:var(--font);font-size:12px;cursor:var(--cursor-pointer)}.explore-menu-item:hover{background:var(--bg-control);color:var(--text-main)}.explore-menu-item.active{background:var(--accent-bg);color:var(--accent);border-color:var(--border-active)}#bottom-toolbar{display:none}#statusbar{display:flex;align-items:center;justify-content:space-between;height:26px;flex:0 0 26px;padding:0 14px;background:var(--bg-panel);border-top:1px solid var(--border-subtle);font-size:11px;color:var(--text-muted);font-family:var(--mono);z-index:30}.sb-group{display:flex;align-items:center;gap:10px}.sb-sep{width:1px;height:12px;background:#ffffff1a}.sb-github-link{display:flex;align-items:center;color:var(--text-muted);opacity:.65;transition:color .15s,opacity .15s}.sb-github-link:hover{color:var(--text);opacity:1}.sb-github-link svg{width:14px;height:14px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--success)}.status-dot.busy{background:var(--warning)}.sb-bgwork{display:inline-flex;align-items:center;gap:6px;color:var(--warning);white-space:nowrap}.sb-bgwork .status-dot.busy{animation:bgwork-pulse 1.1s ease-in-out infinite}@keyframes bgwork-pulse{0%,to{opacity:1}50%{opacity:.35}}.fps-badge{padding:1px 8px;border-radius:4px;background:#34d39924;color:var(--success);border:1px solid rgba(52,211,153,.3);font-family:var(--mono);font-size:inherit;line-height:inherit}.fps-badge.low{background:#f5a52424;color:var(--warning);border-color:#f5a5244d}.fps-badge-btn{cursor:var(--cursor-pointer);transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.fps-badge-btn:hover{background:#34d39938;border-color:#34d39980;box-shadow:0 0 0 1px #34d39914}.fps-badge-btn.low:hover{background:#f5a52438;border-color:#f5a52480;box-shadow:0 0 0 1px #f5a52414}.fps-badge-btn.is-open{background:var(--accent-bg);border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 1px var(--accent-bg)}.fps-badge-btn.is-open.low{color:var(--warning);border-color:var(--warning);background:#f59e0b29}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#05080cb8;display:flex;align-items:center;justify-content:center}.modal.hidden{display:none}.modal-card{width:380px;max-height:80vh;overflow-y:auto;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:0 12px 40px #00000080}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;font-weight:600;font-size:13.5px;color:var(--text-bright);border-bottom:1px solid var(--border-subtle);background:var(--bg-panel-soft)}.modal-header button{background:none;border:none;color:var(--text-muted);cursor:var(--cursor-pointer);font-size:13px}.modal-header button:hover{color:var(--text-main)}.modal-body{padding:16px 18px}.settings-modal-card{display:flex;flex-direction:column;width:min(780px,94vw);max-height:86vh;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:0 16px 48px #0000008c;overflow:hidden}.settings-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-panel-soft);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.settings-modal-title{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-bright)}.settings-modal-title svg{color:var(--accent)}.settings-modal-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-control);color:var(--text-muted);cursor:var(--cursor-pointer);transition:background .12s ease,color .12s ease,border-color .12s ease}.settings-modal-close:hover{background:var(--bg-panel-soft);color:var(--text-main);border-color:var(--border-active)}.settings-modal-toolbar{padding:12px 20px;border-bottom:1px solid var(--border-subtle);background:var(--bg-panel);flex-shrink:0}.settings-search-wrap{display:flex;align-items:center;gap:10px;padding:0 12px;height:36px;background:var(--bg-control);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:border-color .12s ease}.settings-search-wrap:focus-within{border-color:var(--border-active)}.settings-search-wrap svg{color:var(--text-dim);flex-shrink:0}.settings-search-input{flex:1;height:100%;border:none;background:transparent;color:var(--text-main);font-family:var(--font);font-size:13px;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none}.settings-search-input::-webkit-search-cancel-button,.settings-search-input::-webkit-search-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}.settings-search-input::placeholder{color:var(--text-dim)}.settings-search-clear{background:none;border:none;color:var(--text-dim);cursor:var(--cursor-pointer);font-size:12px;padding:2px 4px;border-radius:3px}.settings-search-clear:hover{color:var(--text-main);background:var(--bg-panel-soft)}.settings-tabs{display:flex;gap:4px;padding:10px 20px 0;background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);flex-shrink:0;overflow-x:auto}.settings-tabs::-webkit-scrollbar{height:0}.settings-tab{height:34px;padding:0 14px;border:1px solid transparent;border-bottom:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:transparent;color:var(--text-muted);font-family:var(--font);font-size:12px;font-weight:600;letter-spacing:.04em;cursor:var(--cursor-pointer);white-space:nowrap;transition:background .12s ease,color .12s ease,border-color .12s ease;margin-bottom:-1px}.settings-tab:hover{background:var(--bg-control);color:var(--text-main)}.settings-tab.active{background:var(--bg-panel-soft);color:var(--accent);border-color:var(--border-subtle);border-bottom-color:var(--bg-panel-soft)}.settings-modal-body{flex:1;overflow-y:auto;padding:18px 20px 22px;background:var(--bg-panel-soft);min-height:0}.settings-modal-body::-webkit-scrollbar{width:8px}.settings-modal-body::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:4px}.settings-tab-panel,.settings-search-results{display:flex;flex-direction:column;gap:4px;max-width:680px}.settings-field{padding:10px 12px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.settings-field .ctl,.settings-field .row,.settings-field .toggle-row{margin-bottom:0}.settings-field-tab{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:var(--accent-bg);border:1px solid var(--border-subtle);border-radius:3px;padding:2px 6px;margin-bottom:8px}.settings-note{font-size:11.5px;color:var(--text-muted);padding:8px 12px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-family:var(--mono)}.gpu-renderer-section{display:flex;flex-direction:column;gap:10px}.gpu-renderer-section .subsection-label{margin-top:0}.gpu-renderer-section .row,.gpu-renderer-section .toggle-row{gap:14px;min-height:30px}.gpu-renderer-section .row select{width:128px;min-width:128px}.gpu-renderer-section .label-with-icon{min-width:0}.gpu-cap-list{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:var(--bg-panel-soft);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.gpu-cap-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;min-width:0;font-size:11.5px;color:var(--text-muted)}.gpu-cap-row strong{min-width:0;max-width:58%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-main);font-family:var(--mono);font-size:11px;font-weight:600;text-align:right}.gpu-apply-row{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding:8px 10px;color:var(--warning);background:#f5a52414;border:1px solid rgba(245,165,36,.3);border-radius:var(--radius-sm);font-size:11.5px}.gpu-apply-row span{width:100%;line-height:1.35}.gpu-apply-btn{width:100%;flex:0 0 auto;margin-top:0;padding:5px 8px;font-size:11px;color:var(--warning);background:#f5a5241a;border-color:#f5a52459}.gpu-footnote{margin:0;color:var(--text-dim);font-size:11px;line-height:1.35}.settings-search-hint{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px}.settings-search-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:26;pointer-events:none;display:none}.settings-search-overlay.open{display:block}.settings-search-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:transparent;pointer-events:auto}.settings-search-shell{position:absolute;top:clamp(28px,7vh,72px);left:50%;transform:translate(-50%);width:min(500px,calc(100vw - 40px));display:flex;flex-direction:column;gap:8px;pointer-events:auto}.settings-search-wrap-global{width:100%;padding:10px 12px;background:#141414f5;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 16px 30px #00000061;border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.settings-search-wrap-global .settings-search-input{flex:1;width:auto;min-width:0;height:30px}.settings-search-results-panel{padding:10px;background:var(--bg-panel-soft);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 18px 32px #0000005c;max-height:min(42vh,360px);overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.settings-search-results-panel::-webkit-scrollbar{width:8px}.settings-search-results-panel::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:999px}.settings-search-hint-row{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:11px;color:var(--text-dim)}.settings-search-shortcut{display:inline-flex;align-items:center;gap:3px;font-family:var(--mono);color:var(--accent);white-space:nowrap}.settings-search-results{display:flex;flex-direction:column;gap:10px;max-width:none}.settings-search-group{display:flex;flex-direction:column;gap:6px}.settings-search-group-title{display:flex;justify-content:space-between;gap:8px;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);padding:0 2px}.settings-search-group-title-btn{width:100%;border:none;background:transparent;cursor:var(--cursor-pointer);font-family:inherit;text-align:left;transition:color .12s ease}.settings-search-group-title-btn:hover{color:var(--text-main)}.settings-search-group-body{display:flex;flex-direction:column;gap:6px}.settings-search-item{display:flex;flex-direction:column;width:100%;padding:0;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-control);color:var(--text-main);cursor:var(--cursor-pointer);text-align:left;transition:background .12s ease,border-color .12s ease,transform .12s ease,box-shadow .12s ease;overflow:hidden}.settings-search-item:hover,.settings-search-item.active{background:var(--accent-bg);border-color:var(--border-active);box-shadow:0 0 0 1px #2563eb1f inset}.settings-search-item-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 12px}.settings-search-item-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.settings-search-item-label{font-size:12.5px;font-weight:600;color:var(--text-bright);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-search-item-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.settings-search-item-meta span+span:before{content:"·";margin-right:8px;color:var(--text-dim)}.settings-search-item-value{flex-shrink:0;min-width:68px;max-width:128px;padding:5px 9px;border-radius:999px;border:1px solid var(--border-subtle);background:var(--bg-control);color:var(--accent);font-family:var(--mono);font-size:10.5px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-search-empty{padding:18px 8px 6px;color:var(--text-dim);font-size:12px}.settings-empty{color:var(--text-muted);font-size:13px;padding:24px 0;text-align:center}.settings-field .perf-reset-btn{margin-top:0}.settings-section-title{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:14px 0 10px;padding-bottom:5px;border-bottom:1px solid var(--border-subtle)}.settings-section-title:first-child{margin-top:0}.settings-subtitle{font-size:11.5px;font-weight:600;color:var(--text-main);margin:12px 0 8px}.perf-note{font-size:11px;color:var(--text-muted);margin:-2px 0 10px;font-style:italic}.lod-multi-val{pointer-events:none}.lod-multi-track{position:relative;height:26px;margin:4px 6px 12px;border-radius:3px}.lod-multi-track:before{content:"";position:absolute;left:0;right:0;top:11px;height:4px;background:var(--bg-control);border-radius:2px}.lod-multi-thumb{position:absolute;top:4px;width:18px;height:18px;margin-left:-9px;border-radius:50%;background:var(--bg-panel-soft);border:2px solid var(--accent);cursor:var(--cursor-grab);touch-action:none;z-index:1}.lod-multi-thumb:hover{background:var(--accent-bg)}.lod-multi-thumb:active{cursor:var(--cursor-grabbing);background:var(--accent-bg-strong)}.lod-multi-tag{position:absolute;top:17px;left:50%;transform:translate(-50%);font-size:9px;color:var(--text-muted);pointer-events:none}.perf-reset-btn{width:100%;margin-top:12px;padding:8px 0;background:#f5a52414;color:var(--warning);border:1px solid rgba(245,165,36,.3);border-radius:var(--radius-sm);font-family:var(--font);font-size:12px;cursor:var(--cursor-pointer)}.perf-reset-btn:hover{background:#f5a52429}.settings-field .action-btn.perf-reset-btn{background:#f5a52414;color:var(--warning);border-color:#f5a5244d}.settings-field .action-btn.perf-reset-btn:hover{background:#f5a52429}.perf-estimate{margin-top:12px;padding:7px 10px;font-size:11.5px;color:var(--text-muted);background:var(--accent-bg);border:1px solid var(--border-subtle);border-radius:7px}.setting-target-flash{animation:setting-target-flash 1.05s ease;box-shadow:0 0 0 1px var(--border-active),0 0 0 4px #2563eb24;border-color:var(--border-active)!important}@keyframes setting-target-flash{0%{background:var(--accent-bg-strong)}60%{background:var(--accent-bg)}to{background:inherit}}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#0505059e;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.loading-card{display:flex;align-items:center;gap:14px;min-width:280px;max-width:80%;padding:16px 18px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel)}.loading-card-spinner{display:flex;flex-shrink:0}.loading-card-spinner svg{animation:tb-spin .8s linear infinite}.loading-card-text{flex:1;min-width:0}.loading-card-title{font-size:13.5px;font-weight:700;color:var(--text-bright)}.loading-card-detail{margin-top:3px;font-size:11.5px;color:var(--text-muted)}.loading-card-pct{font-family:var(--mono);font-size:14px;font-weight:700;color:var(--accent)}.loading-card-barwrap{width:min(360px,70%)}.loading-bar{height:4px;border-radius:2px;background:var(--bg-control);overflow:hidden}.loading-bar-fill{height:100%;background:var(--accent);border-radius:2px}.loading-bar-fill.indeterminate{width:38%;animation:loading-slide 1.1s ease-in-out infinite}@keyframes loading-slide{0%{margin-left:-40%}to{margin-left:100%}}.compile-progress-chip{position:absolute;left:12px;bottom:12px;z-index:29;width:min(280px,calc(100% - 24px));padding:10px 12px;background:#11161feb;border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);color:var(--text-main);pointer-events:none}.compile-progress-chip-main{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;min-width:0}.compile-progress-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700}.compile-progress-count{flex:0 0 auto;font-family:var(--mono);font-size:11px;color:var(--accent)}#app.preview-mode .left-toolbar,#app.preview-mode .side-drawer,#app.preview-mode #help-card,#app.preview-mode .viewport-camera-bar,#app.preview-mode .viewport-mode-bar{display:none}.infinite-mode .left-toolbar,.infinite-mode .side-drawer,.infinite-mode #help-card,.infinite-mode .viewport-camera-bar{display:none!important}#fps-crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:15;pointer-events:none;opacity:.7}#fps-info{position:absolute;top:18px;left:18px;z-index:12;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px 16px;min-width:180px;box-shadow:var(--shadow-panel);display:none}.infinite-mode #fps-info{display:block}.fps-info-row{display:flex;justify-content:space-between;gap:16px;margin-bottom:5px;font-size:11px}.fps-info-row:last-child{margin-bottom:0}.fps-info-label{color:var(--accent);font-weight:700;letter-spacing:1px;font-size:10px;font-family:var(--mono)}.fps-info-val{color:var(--text-main);font-family:var(--mono);font-size:11px}#fps-speed-bar{position:absolute;bottom:22px;left:50%;transform:translate(-50%);z-index:15;display:none;align-items:center;gap:8px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:8px 18px;box-shadow:var(--shadow-panel);font-family:var(--mono);font-size:12px;color:var(--text-main)}.infinite-mode #fps-speed-bar{display:flex}#fps-speed-bar svg{color:var(--accent)}.fps-speed-hint{color:var(--text-dim);font-size:10px;font-family:var(--font);margin-left:6px}#fps-controls-hint{position:absolute;bottom:22px;left:18px;z-index:15;display:none;font-size:11px;color:var(--text-dim);background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:8px 14px;box-shadow:var(--shadow-panel)}.infinite-mode #fps-controls-hint{display:block}#fps-controls-hint span{color:var(--accent);font-family:var(--mono);font-weight:600;font-size:10.5px;letter-spacing:.5px}#fps-return-btn{position:absolute;top:18px;right:18px;z-index:15;display:none;align-items:center;gap:7px;height:34px;padding:0 16px;border-radius:var(--radius-sm);background:var(--accent-bg);border:1px solid var(--border-active);color:var(--accent);font-family:var(--font);font-size:12.5px;cursor:var(--cursor-pointer);transition:background .15s ease;box-shadow:var(--shadow-panel)}.infinite-mode #fps-return-btn{display:flex}#fps-return-btn:hover{background:var(--accent-bg-strong)}#fps-return-btn svg{width:14px;height:14px}#fps-settings-panel{position:absolute;top:18px;right:18px;z-index:12;display:none;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px 16px;min-width:200px;box-shadow:var(--shadow-panel)}.infinite-mode #fps-settings-panel{display:block}.fps-setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:11.5px}.fps-setting-row:last-child{margin-bottom:0}.fps-setting-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px}.fps-setting-value{color:var(--accent);font-family:var(--mono);font-size:11px;font-weight:600}.fps-planet-actions{display:flex;gap:6px;margin:4px 0 8px}.fps-mini-btn{flex:1;height:24px;font-size:10px;background:var(--bg-control);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-muted);cursor:var(--cursor-pointer)}.fps-mini-btn:hover{color:var(--text-main);border-color:var(--border-active)}.fps-select{height:24px;padding:0 8px;background:var(--bg-control);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-main);font-family:var(--font);font-size:11px;cursor:var(--cursor-pointer);outline:none}.fps-select:focus{border-color:var(--border-active)}.fps-select option{background:var(--bg-panel-soft)}.fps-explore-select{display:flex;align-items:center;gap:3px;padding:3px;border-radius:999px;background:var(--bg-control);border:1px solid var(--border-subtle)}.fps-explore-option{display:flex;align-items:center;gap:4px;height:24px;padding:0 8px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text-muted);font-family:var(--font);font-size:10.5px;cursor:var(--cursor-pointer)}.fps-explore-option:hover{color:var(--text-main)}.fps-explore-option.active{color:var(--accent);background:var(--accent-bg);border-color:var(--border-active)}.fps-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:14px;background:transparent;cursor:var(--cursor-pointer);margin-bottom:8px}.fps-slider::-webkit-slider-runnable-track{height:3px;border-radius:2px;background:var(--bg-control)}.fps-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;margin-top:-4.5px;border-radius:50%;background:var(--thumb);border:2px solid var(--accent);box-shadow:0 1px 3px #0006}.fps-slider::-moz-range-track{height:3px;border-radius:2px;background:var(--bg-control)}.fps-slider::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:var(--thumb);border:2px solid var(--accent)}.fps-info-dim{color:var(--text-dim);font-size:10px}.fps-info-culled{color:var(--warning)}#fps-perf-window{position:absolute;right:18px;bottom:18px;z-index:12;display:none;flex-direction:column;width:320px;max-width:calc(100vw - 36px);background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);overflow:hidden}.infinite-mode #fps-perf-window{display:flex}.fps-perf-header{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:transparent;border:none;color:var(--text-muted);font-family:var(--font);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;cursor:var(--cursor-pointer)}.fps-perf-header:hover{color:var(--text-main)}.fps-perf-title{flex:1;text-align:left}.fps-perf-chevron{transition:transform .15s ease;opacity:.7}#fps-perf-window.open .fps-perf-chevron{transform:rotate(180deg)}.fps-perf-body{border-top:1px solid var(--border-subtle);padding:12px;max-height:min(60vh,520px);overflow-y:auto}.fps-mobile-dock{display:none;position:absolute;bottom:calc(12px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:14;align-items:center;gap:2px;padding:4px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:999px;box-shadow:var(--shadow-panel)}.fps-dock-btn{width:40px;height:40px;padding:0!important;justify-content:center;gap:0!important}.fps-dock-speed{font-family:var(--mono);font-size:11px;color:var(--text-muted);padding:0 10px 0 4px;white-space:nowrap}.touch-controls{display:none;position:absolute;top:0;right:0;bottom:0;left:0;z-index:13;pointer-events:none}.touch-joystick{position:absolute;width:118px;height:118px;pointer-events:auto;touch-action:none;border-radius:50%;background:#0d0d0d6b;border:1px solid var(--border-subtle);box-shadow:var(--shadow-panel)}.touch-joystick-move{left:max(12px,env(safe-area-inset-left));bottom:calc(58px + env(safe-area-inset-bottom))}.touch-joystick-look{right:max(12px,env(safe-area-inset-right));bottom:calc(58px + env(safe-area-inset-bottom))}.touch-joystick-knob{position:absolute;left:50%;top:50%;width:42px;height:42px;border-radius:50%;background:var(--accent-bg);border:1px solid var(--border-active);transform:translate(-50%,-50%);pointer-events:none}.touch-joystick-label{position:absolute;bottom:12px;left:50%;transform:translate(-50%);font-size:8.5px;font-weight:700;letter-spacing:.6px;color:var(--text-dim);text-transform:uppercase;pointer-events:none}.touch-throttle{position:absolute;left:50%;bottom:calc(68px + env(safe-area-inset-bottom));transform:translate(-50%);width:46px;height:148px;pointer-events:auto;touch-action:none;border-radius:12px;background:#0d0d0d75;border:1px solid var(--border-subtle);box-shadow:var(--shadow-panel);overflow:hidden}.touch-throttle-fill{position:absolute;left:0;right:0;bottom:0;height:35%;background:linear-gradient(180deg,#60a5fae0,#34d399c7);border-top:1px solid rgba(255,255,255,.28);pointer-events:none}.touch-throttle-label{position:absolute;left:50%;bottom:8px;transform:translate(-50%) rotate(-90deg);transform-origin:center;color:#ffffffb8;font-size:8px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;pointer-events:none}.sb-quality{padding:1px 8px;border-radius:4px;background:var(--accent-bg);color:var(--accent);border:1px solid var(--border-subtle);font-size:10px;text-transform:capitalize}.plane-hud{position:absolute;top:0;right:0;bottom:0;left:0;z-index:16;pointer-events:none;font-family:var(--mono)}.infinite-mode.plane-mode #fps-crosshair,.fps-explore-mode.plane-mode #fps-crosshair{display:none}.plane-hud-left{position:absolute;left:18px;bottom:calc(72px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:6px}.plane-hud-right{position:absolute;right:18px;bottom:calc(72px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:flex-end;gap:10px}.plane-ai{width:132px;height:132px;filter:drop-shadow(0 4px 14px rgba(0,0,0,.45))}.plane-ai-stall .plane-ai-ring{stroke:#f87171;stroke-width:2.5}.plane-ai-svg{width:100%;height:100%;display:block}.plane-ai-bezel{fill:#0a0c10;stroke:#3a4254;stroke-width:2}.plane-ai-sky{fill:#1e4d8c}.plane-ai-ground{fill:#6b4a2e}.plane-ai-horizon-line{stroke:#f8fafc;stroke-width:2.2;stroke-linecap:round}.plane-ai-ladder{stroke:#f8fafcb8;stroke-width:1.4}.plane-ai-ladder-label{fill:#f8fafca6;font-size:8px;font-family:var(--mono)}.plane-ai-tick{stroke:#ffffff59;stroke-width:1.2}.plane-ai-wings{stroke:#fbbf24;stroke-width:2.4;stroke-linecap:round;fill:none}.plane-ai-center{fill:#fbbf24}.plane-ai-ring{fill:none;stroke:#64748b;stroke-width:1.6}.plane-heading{display:flex;align-items:baseline;gap:8px;padding:4px 10px;border-radius:var(--radius-sm);background:#0a0c10d1;border:1px solid var(--border-subtle);box-shadow:var(--shadow-panel)}.plane-heading-label{font-size:9px;font-weight:700;letter-spacing:1px;color:var(--accent)}.plane-heading-val{font-size:14px;font-weight:600;color:#f8fafc;min-width:3.2em;text-align:right}.plane-reticle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.88}.plane-throttle{width:58px;background:#0a0c10e0;border:1px solid #3a4254;border-radius:8px;box-shadow:var(--shadow-panel);overflow:hidden}.plane-throttle-header{text-align:center;font-size:8px;font-weight:700;letter-spacing:1.2px;color:var(--accent);padding:5px 0 3px;border-bottom:1px solid var(--border-subtle)}.plane-throttle-body{display:flex;padding:8px 6px 6px;gap:4px}.plane-throttle-track{position:relative;width:22px;height:148px;border-radius:4px;background:#11151c;border:1px solid #2a3140;overflow:hidden}.plane-throttle-zone{position:absolute;left:0;right:0;pointer-events:none}.plane-throttle-zone-idle{bottom:0;height:28%;background:linear-gradient(180deg,transparent,rgba(248,113,113,.12))}.plane-throttle-zone-cruise{bottom:28%;height:44%;background:#34d39914}.plane-throttle-zone-max{top:0;height:28%;background:linear-gradient(180deg,rgba(251,191,36,.14),transparent)}.plane-throttle-tick{position:absolute;left:0;right:0;display:flex;align-items:center;transform:translateY(50%);pointer-events:none}.plane-throttle-tick-mark{width:6px;height:1px;background:#ffffff59;margin-left:2px}.plane-throttle-tick-label{position:absolute;left:10px;font-size:7px;color:#ffffff73}.plane-throttle-lever{position:absolute;left:2px;right:2px;height:0;transform:translateY(50%);z-index:2}.plane-throttle-handle{height:14px;margin-top:-7px;border-radius:3px;background:linear-gradient(180deg,#4b5563,#1f2937);border:1px solid #9ca3af;box-shadow:0 2px 6px #00000080,inset 0 1px #ffffff26}.plane-throttle-labels{display:flex;flex-direction:column;justify-content:space-between;font-size:7px;font-weight:700;letter-spacing:.4px;color:#ffffff6b;padding:2px 0}.plane-throttle-readout{text-align:center;font-size:13px;font-weight:700;color:#f8fafc;padding:4px 0 7px;border-top:1px solid var(--border-subtle)}.plane-instruments{display:flex;flex-direction:column;gap:6px;min-width:72px}.plane-gauge{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:4px 6px;padding:6px 10px;border-radius:var(--radius-sm);background:#0a0c10d1;border:1px solid var(--border-subtle);box-shadow:var(--shadow-panel)}.plane-gauge-label{font-size:8px;font-weight:700;letter-spacing:.8px;color:var(--accent)}.plane-gauge-val{font-size:15px;font-weight:600;color:#f8fafc;text-align:right}.plane-gauge-val.plane-gauge-warn{color:#f87171}.plane-gauge-unit{font-size:8px;color:var(--text-dim)}.plane-stall-banner{position:absolute;top:22%;left:50%;transform:translate(-50%);padding:6px 18px;border-radius:4px;background:#7f1d1de0;border:1px solid #f87171;color:#fecaca;font-size:13px;font-weight:800;letter-spacing:3px;animation:plane-stall-pulse .9s ease-in-out infinite;box-shadow:0 4px 18px #f8717159}@keyframes plane-stall-pulse{0%,to{opacity:1}50%{opacity:.55}}@media (max-width: 640px){.plane-hud-left{left:10px;bottom:calc(88px + env(safe-area-inset-bottom))}.plane-hud-right{right:10px;bottom:calc(88px + env(safe-area-inset-bottom))}.plane-ai{width:108px;height:108px}.plane-throttle-track{height:118px}.plane-instruments{display:none}}@media (max-width: 1360px) and (min-width: 821px){.tb-left{gap:2px}.tb-menu-btn{padding-left:7px;padding-right:7px}.tb-center .tb-search-btn{width:168px;max-width:168px;padding-left:8px;padding-right:8px}.tb-center .tb-search-btn .tb-shortcut{display:none}}@media (max-width: 1180px){.tb-search-btn .tb-text,.tb-right .tb-text{display:none}}@media (max-width: 900px){.left-toolbar{width:60px}.toolbar-btn-label{display:none}.toolbar-btn{height:44px}.tb-mode{padding:0 10px;font-size:11px}.side-drawer{width:min(340px,96vw)}.minimap-overlay-container.drawer-open{right:calc(min(340px,96vw) + 18px)}}@media (max-width: 640px){#topbar{gap:10px}.side-drawer{width:100vw}.minimap-overlay-container.drawer-open{right:18px;opacity:0;pointer-events:none}}.label-with-icon{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:12px;cursor:var(--cursor-help);-webkit-user-select:none;user-select:none}.label-with-icon:hover{color:var(--text-main)}.setting-icon{display:inline-flex;align-items:center;color:var(--accent);opacity:.85}.setting-icon svg{width:13px;height:13px;display:block}.setting-label{font-weight:500}.info-icon-trigger{display:inline-flex;align-items:center;color:var(--text-dim);opacity:.6;transition:opacity .15s ease,color .15s ease}.label-with-icon:hover .info-icon-trigger{color:var(--accent);opacity:1}.global-tooltip{pointer-events:none;z-index:99999;display:flex;align-items:center;filter:drop-shadow(0 4px 12px rgba(0,0,0,.45));animation:tooltip-fade-in .12s cubic-bezier(.16,1,.3,1)}@keyframes tooltip-fade-in{0%{opacity:0}to{opacity:1}}.global-tooltip-content{background:#12161ff5;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--accent);color:var(--text-main);padding:8px 12px;border-radius:var(--radius-sm);font-size:11px;line-height:1.45;max-width:220px;box-shadow:0 4px 16px #00000080;font-family:var(--font)}.global-tooltip-arrow{width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent}.global-tooltip-arrow.right{border-left:6px solid var(--accent);margin-left:-1px}.global-tooltip-arrow.left{border-right:6px solid var(--accent);margin-right:-1px}.minimap-overlay-container{position:absolute;bottom:18px;right:18px;z-index:20;width:248px;background:var(--bg-panel-soft);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);overflow:hidden;transition:all .22s cubic-bezier(.16,1,.3,1)}.minimap-overlay-container.drawer-open{right:calc(min(340px,92vw) + 18px)}@media (hover: hover) and (pointer: fine) and (min-width: 821px){.app-shell[data-tools-rail=right] .minimap-overlay-container{right:82px}.app-shell[data-tools-rail=right] .minimap-overlay-container.drawer-open{right:calc(min(340px,92vw) + 82px)}.app-shell[data-tools-rail=bottom] .minimap-overlay-container{bottom:76px}}.minimap-overlay-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-panel-soft);border-bottom:1px solid var(--border-subtle);transition:background .12s ease}.minimap-overlay-header:hover{background:var(--bg-control)}.minimap-title{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:700;letter-spacing:1.2px;color:var(--text-muted);text-transform:uppercase}.minimap-toggle-btn{background:var(--bg-control);border:1px solid var(--border-subtle);color:var(--text-dim);cursor:var(--cursor-pointer);width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background .12s ease,color .12s ease,border-color .12s ease}.minimap-toggle-btn:hover{background:var(--bg-control);color:var(--accent);border-color:var(--border-subtle)}.minimap-toggle-btn svg{display:block}.minimap-title svg{flex:0 0 auto;color:var(--accent)}.minimap-overlay-body{padding:10px;display:flex;flex-direction:column;gap:8px}.minimap-overlay-container.collapsed{width:auto;background:transparent;border:0;box-shadow:none;overflow:visible}.minimap-overlay-container.collapsed .minimap-overlay-body,.minimap-overlay-container.collapsed .minimap-overlay-header{display:none}.minimap-overlay-container.collapsed .minimap-fab{display:flex}.minimap-fab{display:none;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--border-subtle);border-radius:999px;background:var(--bg-panel-soft);color:var(--accent);box-shadow:var(--shadow-panel);cursor:var(--cursor-pointer);transition:background .12s ease,color .12s ease,border-color .12s ease}.minimap-fab:hover{background:var(--bg-control);color:var(--accent);border-color:var(--border-subtle)}.minimap-panel{display:contents}.viewport-mode-bar{display:flex;position:fixed;top:calc(54px + env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:28;pointer-events:auto;max-width:calc(100vw - 20px);gap:2px;padding:4px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:999px;box-shadow:var(--shadow-panel);flex-wrap:nowrap;align-items:center;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.viewport-mode-bar::-webkit-scrollbar{display:none}.mode-bar-btn{flex:0 0 auto;white-space:nowrap;font-size:11px;font-weight:600;display:inline-flex;align-items:center;gap:6px;cursor:var(--cursor-pointer)}.mode-bar-btn svg{flex-shrink:0;width:14px;height:14px}.mode-bar-label{line-height:1}.mode-bar-divider{width:1px;height:20px;flex:0 0 auto;margin:0 2px;background:var(--border-subtle)}.workspace-mode-segment{display:flex;gap:2px}@media (max-width: 820px){.workspace-mode-segment,.workspace-mode-segment+.mode-bar-divider,.mode-bar-divider:has(+.workspace-mode-segment){display:none}}.nodes-workspace{position:absolute;top:0;right:0;bottom:0;left:0;z-index:22;pointer-events:none;color:var(--text-main);--node-cyan: #35c8d0;--node-green: #67c87a;--node-blue: #62a5ff;--node-violet: #aa82e8;--node-amber: #e5a93f;--node-rose: #e879a9;--node-output: #f3d35b}.nodes-workspace-loading{position:absolute;left:50%;bottom:20%;z-index:30;transform:translate(-50%,50%);padding:8px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-panel);color:var(--text-muted);font-size:11px}.node-graph-dock,.node-inspector-dock,.nodes-map-preview,.node-quick-palette.detached{pointer-events:auto}.node-graph-dock{--node-palette-inset: 10px;--node-palette-width: 184px;--node-palette-gap: 10px;position:absolute;min-width:320px;min-height:220px;overflow:hidden;background:var(--bg-main);border:1px solid var(--border-subtle);box-shadow:0 -14px 40px #00000047}.graph-edge-bottom .node-graph-dock{border-width:1px 0 0}.graph-edge-top .node-graph-dock{border-width:0 0 1px}.graph-edge-left .node-graph-dock{border-width:0 1px 0 0}.graph-edge-right .node-graph-dock{border-width:0 0 0 1px}.node-dock-header{height:42px;display:flex;align-items:center;gap:10px;padding:0 10px 0 12px;background:var(--bg-panel);border-bottom:1px solid var(--border-subtle)}.node-dock-header--draggable{cursor:grab}.node-dock-header--draggable:active{cursor:grabbing}.node-dock-header--draggable button{cursor:var(--cursor-pointer)}.node-dock-drag-cue{margin-left:auto;color:var(--text-dim)}.node-panel-snap-layer{z-index:38}.node-palette-snap-zone--attached{min-width:220px;min-height:150px}.node-graph-toolbar{position:absolute;inset:0 0 auto;z-index:9}.node-dock-heading{min-width:112px;display:flex;flex-direction:column;line-height:1.1}.node-dock-heading strong{font-size:11px;font-weight:650;color:var(--text-bright)}.node-dock-kicker{font-size:8px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.12em}.node-toolbar-actions{margin-left:auto;display:flex;align-items:center;gap:5px}.node-mode-switch{height:26px;display:grid;grid-template-columns:repeat(2,minmax(62px,1fr));padding:2px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#ffffff06}.node-mode-switch button{min-width:0;padding:0 9px;border:0;border-radius:3px;background:transparent;color:var(--text-dim);font:650 9px/1 var(--font);letter-spacing:.03em}.node-mode-switch button:hover{color:var(--text-main)}.node-mode-switch button.active{background:var(--accent-bg);color:var(--accent);box-shadow:inset 0 0 0 1px #53acff33}.node-toolbar-button,.node-icon-button,.node-danger-button,.node-palette-expand,.node-quick-palette button,.node-search-popover button{font:inherit;cursor:var(--cursor-pointer)}.node-toolbar-button,.node-icon-button{height:27px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 8px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-control);color:var(--text-muted);font-size:9px}.node-icon-button{width:28px;padding:0}.node-toolbar-button:disabled,.node-icon-button:disabled{opacity:.32;pointer-events:none}.node-toolbar-button:hover,.node-icon-button:hover,.node-icon-button.active{color:var(--accent);border-color:var(--border-active);background:var(--accent-bg)}.node-toolbar-button.subtle{color:var(--text-dim);background:transparent}.node-graph-resizer{position:absolute;z-index:12;display:flex;align-items:center;justify-content:center;color:var(--text-dim);background:var(--bg-panel)}.graph-edge-bottom .node-graph-resizer{top:0;left:0;right:0;height:5px;cursor:ns-resize}.graph-edge-top .node-graph-resizer{bottom:0;left:0;right:0;height:5px;cursor:ns-resize}.graph-edge-left .node-graph-resizer{top:0;right:0;bottom:0;width:5px;cursor:ew-resize}.graph-edge-right .node-graph-resizer{top:0;left:0;bottom:0;width:5px;cursor:ew-resize}.graph-edge-bottom .node-graph-resizer svg,.graph-edge-top .node-graph-resizer svg{transform:rotate(90deg)}.node-flow-frame{position:absolute;top:42px;right:0;bottom:0;left:0;overflow:hidden}.node-graph-dock:has(.node-quick-palette) .node-flow-frame{left:calc(var(--node-palette-inset) + var(--node-palette-width) + var(--node-palette-gap));border-left:1px solid var(--border-subtle)}.node-graph-dock .react-flow{background:var(--bg-main)}.node-graph-dock .react-flow__pane{cursor:grab}.node-graph-dock .react-flow__pane.dragging{cursor:grabbing}.node-graph-dock .react-flow__controls{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-panel)}.node-graph-dock .react-flow__controls-button{width:28px;height:28px;border:0;border-bottom:1px solid var(--border-subtle);background:var(--bg-panel);color:var(--text-muted)}.node-graph-dock .react-flow__controls-button:hover{background:var(--bg-control);color:var(--accent)}.node-graph-dock .react-flow__controls-button svg{fill:currentColor}.node-graph-dock .react-flow__selection{background:#53acff14;border:1px solid rgba(83,172,255,.45)}.terrain-flow-edge .react-flow__edge-path{stroke:var(--node-cyan);stroke-width:2.35;stroke-linecap:round;opacity:.96;filter:drop-shadow(0 1px 0 rgba(0,0,0,.95)) drop-shadow(0 0 2px rgba(53,200,208,.28))}.terrain-flow-edge.edge-color .react-flow__edge-path{stroke:var(--node-rose);stroke-width:2.5;filter:drop-shadow(0 1px 0 rgba(0,0,0,.95)) drop-shadow(0 0 2px rgba(232,121,169,.3))}.terrain-flow-edge.edge-height .react-flow__edge-path{stroke:var(--node-cyan)}.terrain-flow-edge.edge-green .react-flow__edge-path{stroke:var(--node-green)}.terrain-flow-edge.edge-cyan .react-flow__edge-path{stroke:var(--node-cyan)}.terrain-flow-edge.edge-violet .react-flow__edge-path{stroke:var(--node-violet)}.terrain-flow-edge.edge-amber .react-flow__edge-path{stroke:var(--node-amber)}.react-flow__edge.selected .react-flow__edge-path{stroke-width:3.25;filter:drop-shadow(0 1px 0 #000) drop-shadow(0 0 5px currentColor)}.terrain-flow-group{--group-tone: #788392;width:100%;height:100%;border:1px solid color-mix(in srgb,var(--group-tone) 56%,transparent);border-radius:7px;background:color-mix(in srgb,var(--group-tone) 5%,rgba(8,10,13,.38));box-shadow:inset 0 0 0 1px #ffffff05;overflow:hidden}.terrain-flow-group.tone-green{--group-tone: var(--node-green)}.terrain-flow-group.tone-cyan{--group-tone: var(--node-cyan)}.terrain-flow-group.tone-amber{--group-tone: var(--node-amber)}.terrain-flow-group.tone-violet{--group-tone: var(--node-violet)}.terrain-flow-group.selected{border-color:var(--group-tone);box-shadow:0 0 0 1px color-mix(in srgb,var(--group-tone) 44%,transparent),inset 0 0 0 1px #ffffff05}.terrain-flow-group.collapsed{background:color-mix(in srgb,var(--group-tone) 8%,#0d0d0d)}.terrain-flow-group__header{height:34px;display:flex;align-items:center;gap:7px;padding:0 8px 0 10px;border-bottom:1px solid color-mix(in srgb,var(--group-tone) 28%,transparent);color:var(--text-muted)}.terrain-flow-group.collapsed .terrain-flow-group__header{height:40px;border-bottom:0}.terrain-flow-group__header>svg{flex:0 0 auto;color:var(--group-tone);transition:transform .14s ease}.terrain-flow-group__header>svg.collapsed{transform:rotate(-90deg)}.terrain-flow-group__header strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-main);font-size:9px}.terrain-flow-group__header span{color:var(--text-dim);font:7px var(--mono)}.terrain-flow-group__header button{height:21px;padding:0 6px;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--text-dim);font-size:7px}.terrain-flow-group__header button:hover{border-color:var(--border-subtle);background:var(--bg-control);color:var(--text-main)}.terrain-flow-group__resize-line{border-color:color-mix(in srgb,var(--group-tone) 75%,white)!important}.terrain-flow-group__resize-handle{width:8px!important;height:8px!important;border:1px solid rgba(255,255,255,.82)!important;border-radius:2px!important;background:var(--group-tone)!important;box-shadow:0 0 0 2px #11151a,0 2px 6px #0006}.terrain-flow-node{width:188px;min-height:0;border:1px solid color-mix(in srgb,var(--node-blue) 72%,#27303b);border-radius:5px;background:#0d0d0d;box-shadow:0 7px 20px #0000004d;color:var(--text-main);overflow:visible}.terrain-flow-node.tone-green{border-color:color-mix(in srgb,var(--node-green) 70%,#27303b)}.terrain-flow-node.tone-cyan{border-color:color-mix(in srgb,var(--node-cyan) 70%,#27303b)}.terrain-flow-node.tone-violet{border-color:color-mix(in srgb,var(--node-violet) 70%,#27303b)}.terrain-flow-node.tone-amber{border-color:color-mix(in srgb,var(--node-amber) 75%,#27303b)}.terrain-flow-node.tone-rose{border-color:color-mix(in srgb,var(--node-rose) 72%,#27303b)}.terrain-flow-node.tone-output{border-color:color-mix(in srgb,var(--node-output) 80%,#27303b)}.terrain-flow-node.selected{box-shadow:0 0 0 1px var(--text-bright),0 8px 24px #0000006b}.terrain-flow-node.invalid{border-style:dashed;box-shadow:0 0 0 1px #ff5b5b52}.terrain-flow-node.compiling{box-shadow:0 0 0 1px color-mix(in srgb,currentColor 24%,transparent),0 7px 20px #0000004d}.terrain-flow-node__header{height:28px;display:flex;align-items:center;gap:7px;padding:0 8px;border-bottom:1px solid rgba(255,255,255,.055);background:#ffffff06;border-radius:4px 4px 0 0}.terrain-flow-node__icon{display:inline-flex;color:var(--node-blue)}.tone-green .terrain-flow-node__icon{color:var(--node-green)}.tone-cyan .terrain-flow-node__icon{color:var(--node-cyan)}.tone-violet .terrain-flow-node__icon{color:var(--node-violet)}.tone-amber .terrain-flow-node__icon{color:var(--node-amber)}.tone-rose .terrain-flow-node__icon{color:var(--node-rose)}.tone-output .terrain-flow-node__icon{color:var(--node-output)}.terrain-flow-node__title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650}.terrain-flow-node__compile{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:currentColor;opacity:.82}.terrain-flow-node__compile svg{animation:terrain-node-compile-spin .72s linear infinite}@keyframes terrain-node-compile-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.terrain-flow-node__compile svg{animation-duration:1.8s}}.terrain-flow-node__output{color:var(--node-output);font:700 7px/1 var(--mono);letter-spacing:.1em}.terrain-flow-node__ports{min-height:25px;display:flex;justify-content:space-between;padding:6px 9px 2px}.terrain-flow-node__port-column{display:flex;flex-direction:column;gap:4px}.terrain-flow-node__port-column.outputs{margin-left:auto;text-align:right}.terrain-flow-port{height:20px;display:flex;align-items:center;color:var(--text-muted);font:9.5px/1 var(--mono)}.terrain-flow-node .react-flow__handle{width:10px;height:10px;border:1px solid rgba(255,255,255,.85);background:var(--node-cyan);box-shadow:0 0 0 2px #171b21;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.terrain-flow-node .react-flow__handle:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%}.terrain-flow-node .react-flow__handle:hover,.terrain-flow-node .react-flow__handle.connectingfrom,.terrain-flow-node .react-flow__handle.connectingto{box-shadow:0 0 0 3px #171b21,0 0 11px currentColor}.terrain-flow-node .react-flow__handle.handle-color{background:var(--node-rose)}.terrain-flow-node .react-flow__handle.handle-height{background:var(--node-cyan)}.terrain-flow-node .react-flow__handle.connection-incompatible{opacity:.2;filter:grayscale(1);transform:translate(-50%,-50%) scale(.82)}.terrain-flow-node .react-flow__handle.source-selected,.terrain-flow-node .react-flow__handle.connection-target{box-shadow:0 0 0 3px #171b21,0 0 10px currentColor}.terrain-flow-node .react-flow__handle.source-selected{transform:translate(50%,-50%) scale(1.5)}.terrain-flow-node .react-flow__handle.connection-target{transform:translate(-50%,-50%) scale(1.5)}.terrain-flow-node__gradient{height:14px;margin:5px 8px 6px;border:1px solid rgba(255,255,255,.12);border-radius:3px;box-shadow:inset 0 1px #ffffff0d}.terrain-flow-node__color-chip{height:20px;display:flex;align-items:center;gap:6px;margin:4px 8px 0;color:var(--text-dim)}.terrain-flow-node__color-chip>span{width:22px;height:10px;border:1px solid rgba(255,255,255,.14);border-radius:2px}.terrain-flow-node__color-chip small{font:8px var(--mono)}.node-quick-palette{position:absolute;z-index:8;top:52px;left:var(--node-palette-inset);bottom:10px;width:var(--node-palette-width);display:flex;flex-direction:column;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#0d0d0df5;box-shadow:0 12px 28px #00000052;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden}.node-quick-palette.detached{top:0;bottom:0;z-index:12;border-radius:0;background:var(--bg-panel);box-shadow:12px 0 30px #00000038;-webkit-backdrop-filter:none;backdrop-filter:none}.node-quick-palette.detached-left{left:0;right:auto;border-width:0 1px 0 0}.node-quick-palette.detached-right{right:0;left:auto;border-width:0 0 0 1px;box-shadow:-12px 0 30px #00000038}.node-quick-palette>header{height:36px;flex:0 0 36px;display:flex;align-items:center;gap:6px;padding:0 8px 0 10px;border-bottom:1px solid var(--border-subtle);color:var(--text-muted);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.node-quick-palette>header small{color:var(--text-dim);font:9px var(--mono);letter-spacing:0}.node-palette-drag-header{cursor:grab;-webkit-user-select:none;user-select:none}.node-palette-drag-header:active{cursor:grabbing}.node-palette-drag-cue{margin-left:auto;color:var(--text-dim)}.node-quick-palette>header button{margin-left:auto;width:22px;height:22px;display:grid;place-items:center;border:0;background:transparent;color:var(--text-dim)}.node-palette-drag-cue+button{margin-left:0}.node-quick-palette>header button+button{margin-left:0}.node-quick-palette>header button:hover{color:var(--accent);background:var(--accent-bg);border-radius:3px}.node-palette-filter{height:31px;flex:0 0 auto;display:flex;align-items:center;gap:6px;margin:7px 7px 2px;padding:0 7px;border:1px solid var(--border-subtle);border-radius:4px;background:var(--bg-control);color:var(--text-dim)}.node-palette-filter:focus-within{border-color:var(--border-active);color:var(--accent)}.node-palette-mode-switch{flex:0 0 31px;height:31px;grid-template-columns:repeat(2,minmax(0,1fr));margin:7px 7px 0}.node-palette-mode-switch button{padding:0 5px;font-size:9.5px}.node-palette-mode-switch button:first-child.active{color:var(--node-blue);background:color-mix(in srgb,var(--node-blue) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--node-blue) 34%,transparent)}.node-palette-mode-switch button:last-child.active{color:var(--node-green);background:color-mix(in srgb,var(--node-green) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--node-green) 34%,transparent)}.node-palette-filter input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:var(--text-main);font:10.5px var(--font)}.node-palette-filter input::placeholder{color:var(--text-dim)}.node-palette-filter button{width:18px;height:18px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:var(--text-dim)}.node-palette-scroll{flex:1;min-height:0;padding:5px;overflow:auto;scrollbar-width:thin}.node-palette-scroll section+section{margin-top:7px}.node-palette-scroll h4{margin:5px;color:var(--text-dim);font-size:9px;text-transform:uppercase;letter-spacing:.1em}.node-palette-scroll .node-palette-group-toggle{height:24px;padding:0 5px;color:var(--text-dim)}.node-palette-scroll .node-palette-group-toggle:hover{background:var(--bg-control);color:var(--text-main)}.node-palette-group-toggle svg{transition:transform .14s ease}.node-palette-group.collapsed .node-palette-group-toggle svg{transform:rotate(-90deg)}.node-palette-scroll button{width:100%;height:29px;display:flex;align-items:center;gap:7px;padding:0 6px;border:0;border-radius:3px;background:transparent;color:var(--text-muted);font-size:10.5px;text-align:left}.node-palette-scroll button:hover{background:var(--bg-control);color:var(--text-bright)}.node-palette-scroll button span:nth-child(2){flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-palette-scroll .node-palette-group-title{flex:1;min-width:0;color:inherit;font:600 9px var(--font);text-transform:uppercase;letter-spacing:.1em}.node-palette-scroll .node-palette-group-count{flex:0 0 auto;color:var(--text-dim);font:8px var(--mono)}.node-palette-scroll button svg{flex:0 0 auto;color:var(--text-dim)}.node-palette-scroll button:hover svg{color:var(--accent)}.node-palette-dot{width:6px;height:6px;border-radius:50%;background:var(--node-blue);box-shadow:0 0 7px currentColor}.node-palette-dot.tone-green{background:var(--node-green)}.node-palette-dot.tone-cyan{background:var(--node-cyan)}.node-palette-dot.tone-violet{background:var(--node-violet)}.node-palette-dot.tone-amber{background:var(--node-amber)}.node-palette-dot.tone-rose{background:var(--node-rose)}.node-palette-empty{min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px;color:var(--text-dim);font-size:9px;text-align:center}.node-quick-palette footer{height:31px;display:flex;align-items:center;justify-content:center;gap:4px;padding:0 6px;border-top:1px solid var(--border-subtle);color:var(--text-dim);font-size:9px}.node-palette-footer-spacer{flex:1}.node-quick-palette kbd{padding:2px 4px;border:1px solid var(--border-subtle);border-bottom-color:#ffffff2e;border-radius:3px;background:var(--bg-control);font:8px var(--mono)}.node-palette-expand{position:absolute;top:54px;left:9px;z-index:8;width:27px;height:30px;display:grid;place-items:center;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-panel);color:var(--text-muted)}.node-search-popover{position:absolute;z-index:20;width:286px;max-height:318px;display:flex;flex-direction:column;border:1px solid var(--border-active);border-radius:var(--radius-sm);background:#0d0d0d;box-shadow:0 20px 54px #00000085;overflow:hidden}.node-search-input{height:38px;display:flex;align-items:center;gap:8px;padding:0 8px 0 11px;border-bottom:1px solid var(--border-subtle);color:var(--accent)}.node-search-input input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:var(--text-bright);font:11px var(--font)}.node-search-input button{width:24px;height:24px;display:grid;place-items:center;border:0;background:transparent;color:var(--text-dim)}.node-search-results{min-height:0;padding:5px;overflow:auto}.node-search-results>button{width:100%;display:grid;grid-template-columns:26px 96px 1fr;align-items:center;gap:7px;padding:7px 6px;border:0;border-radius:4px;background:transparent;color:var(--text-muted);text-align:left}.node-search-results>button.active{background:var(--accent-bg);color:var(--text-bright)}.node-search-icon{width:24px;height:24px;display:grid;place-items:center;border:1px solid var(--border-subtle);border-radius:4px;color:var(--node-blue);background:var(--bg-control)}.node-search-icon.tone-green{color:var(--node-green)}.node-search-icon.tone-cyan{color:var(--node-cyan)}.node-search-icon.tone-violet{color:var(--node-violet)}.node-search-icon.tone-amber{color:var(--node-amber)}.node-search-icon.tone-rose{color:var(--node-rose)}.node-search-results strong{display:block;font-size:9px}.node-search-results small{display:block;margin-top:2px;color:var(--text-dim);font-size:7px;text-transform:uppercase;letter-spacing:.08em}.node-search-results>button>span:last-child{color:var(--text-dim);font-size:8px;line-height:1.3}.node-inspector-dock{position:absolute;top:0;bottom:0;z-index:11;background:var(--bg-panel);border-left:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);box-shadow:-12px 0 30px #00000038}.node-inspector{height:100%;display:flex;flex-direction:column;background:var(--bg-panel)}.node-inspector__header{position:relative;flex:0 0 54px;padding-left:16px}.node-inspector__header .node-dock-heading strong{color:var(--text-bright);font-size:14px;line-height:18px}.node-inspector__header .node-dock-kicker{font-size:9px}.node-inspector__header .node-dock-drag-cue{margin-left:auto}.node-inspector-reset{height:30px;display:inline-flex;align-items:center;gap:5px;padding:0 9px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-control);color:var(--text-muted);font:11px var(--font)}.node-inspector-reset:hover{border-color:var(--border-active);background:var(--accent-bg);color:var(--accent)}.node-inspector-search-wrap{flex:0 0 43px;display:flex;align-items:center;gap:8px;margin:10px 14px 0;padding:0 10px;border:1px solid var(--border-subtle);border-radius:5px;background:var(--bg-control);color:var(--text-dim)}.node-inspector-search-wrap:focus-within{border-color:var(--border-active);color:var(--accent);box-shadow:0 0 0 2px #53acff14}.node-inspector-search-wrap input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:var(--text-main);font:13px var(--font)}.node-inspector-search-wrap input::placeholder{color:var(--text-dim)}.node-inspector-search-wrap button{width:24px;height:24px;display:grid;place-items:center;padding:0;border:0;border-radius:3px;background:transparent;color:var(--text-dim)}.node-inspector-search-wrap button:hover{background:var(--accent-bg);color:var(--accent)}.node-inspector__body{flex:1;min-height:0;padding:16px;overflow:auto;scrollbar-width:thin}.node-inspector-description{margin:0 0 16px;color:var(--text-muted);font-size:11.5px;line-height:1.55}.node-inspector-section{margin:0 0 10px;padding:0;border:1px solid rgba(255,255,255,.075);border-radius:6px;background:#ffffff04;overflow:hidden}.node-inspector-section h4{margin:0 0 12px;color:var(--text-muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.node-inspector__body>.node-inspector-section:has(>h4){padding:14px}.node-inspector-section-toggle{width:100%;height:38px;display:flex;align-items:center;gap:8px;padding:0 12px;border:0;background:#ffffff05;color:var(--text-main);font:700 10.5px var(--font);text-align:left;text-transform:uppercase;letter-spacing:.08em;cursor:var(--cursor-pointer)}.node-inspector-section-toggle:hover{background:#ffffff09;color:var(--text-bright)}.node-inspector-section-toggle>span{flex:1}.node-inspector-section-toggle small{min-width:20px;padding:2px 5px;border-radius:10px;background:var(--bg-control);color:var(--text-dim);font:10px var(--mono);text-align:center}.node-inspector-section-toggle svg{color:var(--text-dim);transition:transform .14s ease}.node-inspector-section.collapsed .node-inspector-section-toggle svg{transform:rotate(-90deg)}.node-inspector-section-body{padding:14px 14px 2px;border-top:1px solid rgba(255,255,255,.055)}.node-inspector-field{display:block;margin-bottom:15px}.node-inspector-field>span{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;color:var(--text-main);font-size:12px;font-weight:500}.node-inspector-field output{color:var(--accent);font:11px var(--mono)}.node-inspector-field select,.node-inspector-field>input,.node-inspector-number-row input[type=number]{width:100%;height:35px;padding:0 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);outline:0;background:var(--bg-control);color:var(--text-main);font:12px var(--font)}.node-name-field>input:focus,.node-inspector-field select:focus,.node-inspector-number-row input[type=number]:focus{border-color:var(--border-active)}.node-inspector-number-row{display:grid;grid-template-columns:minmax(0,1fr) 78px;gap:10px;align-items:center}.node-inspector-number-row input[type=range]{width:100%;min-height:24px;accent-color:var(--accent);cursor:ew-resize}.node-inspector-randomize{grid-column:1 / -1;height:31px;display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-top:-2px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font:11px var(--font);cursor:var(--cursor-pointer)}.node-inspector-randomize:hover{border-color:var(--border-active);background:var(--accent-bg);color:var(--accent)}.node-inspector-field-help{display:block;margin:-6px 0 0;color:var(--text-dim);font-size:11px;line-height:1.45}.node-inspector-color-row{height:35px;display:grid!important;grid-template-columns:1fr 48px;gap:8px;margin:0!important}.node-inspector-color-swatch{min-width:0;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:inset 0 1px #ffffff14}.node-inspector-color-row input[type=color]{width:48px;height:35px;padding:3px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-control);cursor:var(--cursor-pointer)}.node-inspector-toggle{min-height:42px;display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding:0 11px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-control);color:var(--text-main);font-size:12px}.node-inspector-toggle input{accent-color:var(--accent)}.node-inspector-segmented{display:flex;flex-wrap:wrap;gap:4px;padding:3px;border:1px solid var(--border-subtle);border-radius:5px;background:#0000002e}.node-inspector-segmented button{flex:1 1 56px;min-height:30px;padding:0 8px;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--text-muted);font:11px var(--font);cursor:var(--cursor-pointer)}.node-inspector-segmented button:hover{color:var(--text-main);background:var(--bg-control)}.node-inspector-segmented button.active{border-color:#53acff47;background:var(--accent-bg);color:var(--accent)}.node-inspector-snapshot{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;padding:12px;border:1px solid rgba(103,200,122,.24);border-radius:5px;background:#67c87a0f}.node-inspector-snapshot span{color:var(--node-green);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.node-inspector-snapshot strong{font-size:13px}.node-inspector-snapshot small{color:var(--text-muted);font-size:11px;line-height:1.4}.node-inspector-recommendation{display:grid;grid-template-columns:1fr auto;gap:5px 10px;margin-bottom:16px;padding:12px;border:1px solid rgba(229,169,63,.22);border-radius:6px;background:linear-gradient(135deg,#e5a93f12,#53acff09)}.node-inspector-recommendation>span{grid-column:1 / -1;display:flex;align-items:center;gap:6px;color:var(--node-amber);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.node-inspector-recommendation strong{color:var(--text-bright);font-size:13px}.node-inspector-recommendation p{grid-column:1 / -1;margin:0;color:var(--text-muted);font-size:11px;line-height:1.45}.node-inspector-recommendation button{grid-column:1 / -1;height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-top:3px;border:1px solid rgba(229,169,63,.3);border-radius:var(--radius-sm);background:#e5a93f14;color:#e9bd68;font:11px var(--font);cursor:var(--cursor-pointer)}.node-inspector-recommendation button:hover{border-color:#e5a93f80;background:#e5a93f21;color:#f2d08d}.node-inspector-search-count{margin:0 0 9px;color:var(--text-muted);font-size:11px}.node-inspector-no-results{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--text-dim);text-align:center}.node-inspector-no-results strong{color:var(--text-main);font-size:13px}.node-inspector-no-results span{max-width:230px;font-size:11px;line-height:1.45}.node-group-summary{display:flex;align-items:baseline;gap:7px;margin-top:10px;padding:9px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-control)}.node-group-summary strong{color:var(--accent);font:700 15px var(--mono)}.node-group-summary span{color:var(--text-muted);font-size:11px}.node-danger-button.node-ungroup-button{border-color:var(--border-subtle);background:var(--bg-control);color:var(--text-muted)}.node-danger-button.node-ungroup-button:hover{border-color:var(--border-active);background:var(--accent-bg);color:var(--text-main)}.node-inspector-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-dim);text-align:center}.node-inspector-empty strong{color:var(--text-main);font-size:14px}.node-inspector-empty span{font-size:11.5px}.node-danger-button{width:100%;height:35px;display:flex;align-items:center;justify-content:center;gap:6px;margin-top:18px;border:1px solid rgba(240,90,90,.28);border-radius:var(--radius-sm);background:#f05a5a12;color:#ed8d8d;font-size:11px}.node-danger-button:hover{background:#f05a5a21}.node-graph-health{min-height:39px;display:flex;align-items:center;gap:8px;padding:8px 14px;border-top:1px solid var(--border-subtle);color:#6ccf9b;font-size:11px}.node-graph-health.invalid{color:#ed8d8d}.node-inspector-resizer{position:absolute;z-index:3;top:0;bottom:0;width:7px;cursor:ew-resize}.inspector-right .node-inspector-resizer{left:-4px}.inspector-left .node-inspector-resizer{right:-4px}.nodes-map-preview{position:absolute;z-index:8;top:58px;width:min(270px,30vw)}.nodes-map-preview .minimap-overlay-container.docked{position:relative;inset:auto;width:100%;border-radius:var(--radius-sm);box-shadow:var(--shadow-panel)}.nodes-map-preview .minimap-overlay-container.docked .minimap-wrap{max-width:none}.nodes-map-preview .minimap-overlay-container.docked .minimap-overlay-header{cursor:default}.nodes-workspace-open .viewport-area>canvas{filter:saturate(.96)}@media (hover: hover) and (pointer: fine) and (min-width: 821px){.nodes-workspace-open .app-shell[data-node-palette-side=left][data-tools-rail=left] .left-toolbar--left{left:var(--node-palette-shell-width, 208px)}.nodes-workspace-open .app-shell[data-node-palette-side=right][data-tools-rail=right] .left-toolbar--right{right:var(--node-palette-shell-width, 208px)}.nodes-workspace-open .app-shell[data-node-palette-side=left][data-drawer-side=left] .side-drawer--left{left:var(--node-palette-shell-width, 208px)}.nodes-workspace-open .app-shell[data-node-palette-side=right][data-drawer-side=right] .side-drawer--right{right:var(--node-palette-shell-width, 208px)}.nodes-workspace-open .app-shell[data-node-palette-side=left][data-tools-rail=left][data-drawer-side=left] .side-drawer--left{left:calc(var(--node-palette-shell-width, 208px) + 64px)}.nodes-workspace-open .app-shell[data-node-palette-side=right][data-tools-rail=right][data-drawer-side=right] .side-drawer--right{right:calc(var(--node-palette-shell-width, 208px) + 64px)}}@media (min-width: 821px) and (max-width: 1179px){.node-graph-dock{--node-palette-width: 154px;--node-palette-gap: 8px}.node-mode-switch{grid-template-columns:repeat(2,48px)}.node-palette-mode-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.node-toolbar-button{padding:0 6px}.node-toolbar-button:has(.lucide-folder-plus){width:28px;font-size:0}.node-toolbar-button.subtle{font-size:0;width:28px}.node-toolbar-button.subtle:after{content:"Blank";font-size:8px}}@media (max-width: 820px){.nodes-workspace{display:none}}.left-toolbar--icons-only .toolbar-btn{height:40px;gap:0}.left-toolbar--icons-only .toolbar-btn-label{display:none}.ui-settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:flex-start;justify-content:center;padding:calc(64px + env(safe-area-inset-top)) 16px 24px}.ui-settings-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#05080e73;cursor:var(--cursor-pointer)}.ui-settings-panel{position:relative;width:min(420px,100%);max-height:min(70vh,560px);display:flex;flex-direction:column;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);overflow:hidden;z-index:1}.ui-settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 16px 12px;border-bottom:1px solid var(--border-subtle)}.ui-settings-title{font-size:15px;font-weight:700;color:var(--text-bright)}.ui-settings-desc{margin-top:3px;font-size:11.5px;color:var(--text-dim);line-height:1.4}.ui-settings-body{padding:8px 12px 16px;overflow-y:auto}.ui-settings-section{padding:10px 4px 12px;border-bottom:1px solid rgba(120,150,190,.08)}.ui-settings-section:last-child{border-bottom:0}.ui-settings-section-title{margin:0 0 10px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.ui-settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 4px;color:var(--text-main);font-size:12.5px;cursor:var(--cursor-pointer)}.ui-settings-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:var(--cursor-pointer)}.ui-settings-choice-group{display:flex;flex-direction:column;gap:4px}.ui-settings-choice{display:flex;align-items:center;width:100%;text-align:left;padding:8px 10px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-family:var(--font);font-size:12.5px;cursor:var(--cursor-pointer);transition:background .12s ease,color .12s ease,border-color .12s ease}.ui-settings-choice:hover{background:var(--bg-control);color:var(--text-main)}.ui-settings-choice.active{background:var(--accent-bg);border-color:var(--border-active);color:var(--accent);font-weight:600}.player-state{font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:10px}.player-state-grounded{color:#7dd87d}.player-state-falling{color:#f0c560}.player-state-swimming{color:#6db8f0}.player-state-underwater{color:#4d8fd6}.paint-toolbar{position:absolute;top:0;left:0;bottom:0;width:76px;display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:8px;background:var(--bg-panel);border-right:1px solid var(--border-subtle);overflow-y:auto;z-index:20}.paint-panel{z-index:20}.paint-section{padding:8px 0 4px;border-bottom:1px solid rgba(120,150,190,.08)}.paint-section:last-child{border-bottom:0}.wide-btn.danger{border-color:#e5484d59;color:#ffb4b4}.wide-btn.danger:hover{background:#e5484d1f;border-color:#e5484d99}#viewport{touch-action:none}.manual-terrain-workspace{position:absolute;top:0;right:0;bottom:0;left:0;z-index:22;pointer-events:none;color:var(--text-main)}.manual-library-dock,.manual-inspector-dock,.manual-viewport-tools{pointer-events:auto}.manual-viewport-tools{position:absolute;top:16px;left:16px;z-index:14;display:flex;flex-direction:column;gap:2px;padding:4px;border:1px solid var(--border-subtle);border-radius:7px;background:var(--bg-panel);box-shadow:var(--shadow-panel)}.manual-viewport-tools button{position:relative;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-muted);cursor:var(--cursor-pointer)}.manual-viewport-tools button:hover:not(:disabled){border-color:var(--border-subtle);background:var(--bg-control);color:var(--text-main)}.manual-viewport-tools button.active{border-color:#53acff61;background:var(--accent-bg);color:var(--accent)}.manual-viewport-tools button:disabled{opacity:.32;cursor:default}.manual-viewport-tools kbd{position:absolute;right:2px;bottom:1px;color:inherit;font:700 7px var(--mono);opacity:.75}.manual-tool-separator{width:28px;height:1px;margin:3px auto;background:var(--border-subtle)}.manual-viewport-tools button.sculpt-active{border-color:#c084fc6b;background:#c084fc1f;color:#c998ff}.manual-viewport-tools button.texture-active{border-color:#4ade806b;background:#4ade801c;color:#7ee2a8}.manual-library-dock{position:absolute;z-index:10;min-width:430px;overflow:hidden;border-top:1px solid var(--border-subtle);background:var(--bg-main);box-shadow:0 -14px 40px #00000047}.manual-library-resizer{position:absolute;z-index:2;top:0;right:0;left:0;height:8px;cursor:ns-resize;touch-action:none}.manual-library-resizer:after{content:"";position:absolute;top:0;right:0;left:0;height:2px;background:transparent;transition:background .14s ease,box-shadow .14s ease}.manual-library-resizer:hover:after,.manual-library-resizer:focus-visible:after{background:var(--accent);box-shadow:0 0 8px #53acff61}.manual-library-resizer:focus-visible{outline:none}.manual-dock-header{height:42px;display:flex;align-items:center;gap:14px;padding:0 10px 0 12px;border-bottom:1px solid var(--border-subtle);background:var(--bg-panel)}.manual-dock-header>span{color:var(--text-dim);font-size:9.5px}.manual-cancel-place{height:27px;margin-left:auto;padding:0 9px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-control);color:var(--text-muted);font:9px var(--font);cursor:var(--cursor-pointer)}.manual-cancel-place:hover{border-color:var(--border-active);color:var(--accent)}.manual-dock-body{height:calc(100% - 42px);display:grid;grid-template-columns:280px minmax(0,1fr)}.manual-hierarchy{min-width:0;padding:8px;border-right:1px solid var(--border-subtle);background:#ffffff02;overflow:hidden}.manual-dock-section-title{height:22px;display:flex;align-items:center;gap:7px;padding:0 5px}.manual-dock-section-title strong{flex:1;color:var(--text-dim);font-size:9px;text-transform:uppercase;letter-spacing:.1em}.manual-dock-section-title span{min-width:18px;padding:1px 5px;border-radius:9px;background:var(--bg-control);color:var(--text-dim);font:8px var(--mono);text-align:center}.manual-library-scroll{min-width:0;display:flex;gap:20px;padding:10px 14px 11px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.manual-library-category{flex:0 0 auto}.manual-library-category h3{margin:0 0 6px;color:var(--text-dim);font-size:8.5px;font-weight:650;text-transform:uppercase;letter-spacing:.1em}.manual-shape-grid{display:flex;gap:7px}.manual-shape-card{width:116px;height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:6px 6px 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-muted);font:10px var(--font);text-align:center;cursor:var(--cursor-grab);transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,transform .14s ease}.manual-shape-card:hover{border-color:#adcdf638;background:#ffffff09;color:var(--text-bright);box-shadow:0 7px 16px #0000001f;transform:translateY(-1px)}.manual-shape-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.manual-shape-card.placing{border-color:var(--border-active);background:#53acff14;color:#b8ddff;box-shadow:inset 0 0 0 1px #53acff21}.manual-shape-thumb{--terrain-preview-highlight: #d9edff;--terrain-preview-light: #8fc8ff;--terrain-preview-mid: #397fc9;--terrain-preview-ground: #172b40;position:relative;width:82px;height:52px;display:grid;place-items:center;overflow:visible;border:0;background:transparent;filter:drop-shadow(0 3px 4px rgba(0,0,0,.28));transition:filter .16s ease}.manual-pixel-preview{width:76px;height:48px;overflow:visible;image-rendering:pixelated;transition:filter .16s ease,transform .2s ease}.manual-shape-card:hover .manual-shape-thumb{filter:drop-shadow(0 5px 7px rgba(0,0,0,.32))}.manual-shape-card:hover .manual-pixel-preview{filter:brightness(1.12) saturate(1.08);transform:translateY(-1px) scale(1.04)}.manual-shape-card.placing .manual-shape-thumb{filter:drop-shadow(0 4px 6px rgba(0,0,0,.3)) drop-shadow(0 0 7px rgba(83,172,255,.32))}.manual-shape-card-label{color:inherit;font-size:9px;font-weight:650;letter-spacing:.035em;line-height:1.15;text-transform:uppercase}.manual-shape-thumb.type-valley,.manual-shape-thumb.type-canyon{--terrain-preview-highlight: #eadcff;--terrain-preview-light: #c08cff;--terrain-preview-mid: #7448b5;--terrain-preview-ground: #241a35}.manual-shape-thumb.type-plateau{--terrain-preview-highlight: #ffe4a9;--terrain-preview-light: #e9b45b;--terrain-preview-mid: #9c6325;--terrain-preview-ground: #2e2115}.manual-shape-thumb.type-crater{--terrain-preview-highlight: #ffd3ce;--terrain-preview-light: #ef938c;--terrain-preview-mid: #ad514f;--terrain-preview-ground: #351b24}.manual-empty-state{min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;margin-top:6px;padding:10px;border:1px dashed var(--border-subtle);border-radius:5px;color:var(--text-dim);font-size:9.5px;line-height:1.4;text-align:center}.manual-shape-list{height:calc(100% - 22px);display:flex;flex-direction:column;gap:2px;margin-top:2px;overflow-y:auto;scrollbar-width:thin}.manual-shape-row{width:100%;min-height:38px;display:flex;align-items:center;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-dim)}.manual-shape-row:hover{background:var(--bg-control);color:var(--text-muted)}.manual-shape-row.active{border-color:#53acff52;background:var(--accent-bg);color:var(--accent)}.manual-shape-row.disabled{opacity:.55}.manual-shape-select{min-width:0;flex:1;min-height:36px;display:grid;grid-template-columns:12px 24px minmax(0,1fr);align-items:center;gap:5px;padding:3px 5px;border:0;background:transparent;color:inherit;text-align:left;cursor:var(--cursor-pointer)}.manual-layer-actions{flex:0 0 auto;display:flex;gap:1px;padding-right:3px}.manual-layer-actions button{width:21px;height:25px;display:grid;place-items:center;padding:0;border:0;border-radius:3px;background:transparent;color:var(--text-dim);cursor:var(--cursor-pointer)}.manual-layer-actions button:hover:not(:disabled){background:#ffffff12;color:var(--text-main)}.manual-layer-actions button:disabled{opacity:.22;cursor:default}.manual-list-type{width:23px;height:23px;display:grid;place-items:center;border-radius:4px;background:#ffffff0b}.manual-shape-list strong{display:block;overflow:hidden;color:var(--text-main);font-size:9.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.manual-shape-list small{display:block;margin-top:1px;color:var(--text-dim);font-size:8px}.manual-inspector-dock{position:absolute;z-index:11;display:flex;flex-direction:column;border-left:1px solid var(--border-subtle);background:var(--bg-panel);box-shadow:-12px 0 30px #00000038}.manual-inspector-header{flex:0 0 54px;padding-left:16px}.manual-inspector-header .node-dock-heading strong{color:var(--text-bright);font-size:14px;line-height:18px}.manual-shape-actions{display:flex;gap:4px}.manual-shape-actions button{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--border-subtle);border-radius:4px;background:var(--bg-control);color:var(--text-muted);cursor:var(--cursor-pointer)}.manual-shape-actions button:hover{border-color:var(--border-active);color:var(--accent)}.manual-shape-actions button.danger:hover{border-color:#ef44448c;background:#ef44441a;color:#f87171}.manual-inspector-body{flex:1;min-height:0;padding:14px;overflow-y:auto;scrollbar-width:thin}.manual-inspector-description{margin:0 0 14px;color:var(--text-muted);font-size:11px;line-height:1.5}.manual-inspector-section{margin-bottom:10px;padding:13px;border:1px solid rgba(255,255,255,.075);border-radius:6px;background:#ffffff04}.manual-inspector-section h3{margin:0 0 12px;color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.09em}.manual-name-field{display:block;margin:0 0 2px}.manual-name-field>span{display:block;margin-bottom:6px;color:var(--text-muted);font-size:10px}.manual-name-field input{width:100%;height:32px;padding:0 9px;border:1px solid var(--border-subtle);border-radius:5px;outline:0;background:var(--bg-control);color:var(--text-main);font:11px var(--font);-webkit-user-select:text;user-select:text}.manual-name-field input:focus{border-color:var(--border-active)}.manual-select-field{display:block;margin-bottom:12px}.manual-select-field>span{display:block;margin-bottom:6px;color:var(--text-muted);font-size:10px}.manual-select-field select{width:100%;height:32px;padding:0 8px;border:1px solid var(--border-subtle);border-radius:5px;outline:0;background:var(--bg-control);color:var(--text-main);font:11px var(--font)}.manual-select-field select:focus{border-color:var(--border-active)}.manual-toggle-field{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px;padding:0 9px;border:1px solid var(--border-subtle);border-radius:5px;background:var(--bg-control);color:var(--text-muted);font-size:10px}.manual-toggle-field input{accent-color:var(--accent)}.manual-seed-row{display:grid!important;grid-template-columns:minmax(0,1fr) 34px;gap:6px;margin:0!important}.manual-seed-row button{height:32px;display:grid;place-items:center;padding:0;border:1px solid var(--border-subtle);border-radius:5px;background:var(--bg-control);color:var(--text-muted);cursor:var(--cursor-pointer)}.manual-seed-row button:hover{border-color:var(--border-active);color:var(--accent)}.manual-inspector-controls .ctl{margin-bottom:11px}.manual-sculpt-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.manual-sculpt-tool-grid button{min-height:34px;display:flex;align-items:center;justify-content:flex-start;gap:7px;padding:0 9px;border:1px solid var(--border-subtle);border-radius:5px;background:var(--bg-control);color:var(--text-muted);font:10px var(--font);cursor:var(--cursor-pointer)}.manual-sculpt-tool-grid button:hover{color:var(--text-main);border-color:var(--border-strong)}.manual-sculpt-tool-grid button.active{color:#c998ff;border-color:#c084fc61;background:#c084fc1a}.manual-texture-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.manual-texture-tool-grid button.active{color:#7ee2a8;border-color:#4ade8061;background:#4ade801a}.manual-material-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.manual-material-grid button{min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:7px;padding:4px;border:1px solid var(--border-subtle);border-radius:5px;background:var(--bg-control);color:var(--text-muted);font:9px var(--font);text-align:left;cursor:var(--cursor-pointer)}.manual-material-grid button:hover{border-color:var(--border-strong);color:var(--text-main)}.manual-material-grid button.active{border-color:#4ade8070;background:#4ade8017;color:#a8edc2;box-shadow:inset 0 0 0 1px #4ade8014}.manual-material-grid img{width:34px;height:34px;display:block;border-radius:3px;object-fit:cover;image-rendering:auto}.manual-material-grid span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manual-sculpt-tool-description{min-height:28px;margin:8px 1px 0;color:var(--text-dim);font-size:9px;line-height:1.45}.manual-sculpt-help{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-bottom:11px;color:var(--text-dim);font-size:9px;line-height:1.35}.manual-clear-sculpt{width:100%;height:35px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(239,68,68,.28);border-radius:5px;background:#ef444412;color:#ed8d8d;font:10px var(--font);cursor:var(--cursor-pointer)}.manual-clear-sculpt:hover:not(:disabled){border-color:#ef444480;background:#ef44441f}.manual-clear-sculpt:disabled{opacity:.35;cursor:default}.manual-inspector-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;color:var(--text-dim);text-align:center}.manual-inspector-empty strong{color:var(--text-main);font-size:14px}.manual-inspector-empty span{font-size:11px;line-height:1.45}@media (hover: hover) and (pointer: fine) and (min-width: 821px){.manual-workspace-open .app-shell[data-tools-rail=left] .manual-viewport-tools{left:76px}.manual-workspace-open .app-shell[data-tools-rail=top] .manual-viewport-tools{top:70px}.manual-workspace-open .viewport-camera-bar,.manual-workspace-open .minimap-overlay-container{bottom:calc(var(--manual-library-height, 214px) + var(--manual-library-bottom-offset, 0px) + 16px)}.manual-workspace-open .minimap-overlay-container:not(.drawer-open){right:322px}.manual-workspace-open .app-shell[data-tools-rail=right] .minimap-overlay-container:not(.drawer-open){right:386px}.manual-workspace-open .side-drawer{bottom:calc(var(--manual-library-height, 214px) + var(--manual-library-bottom-offset, 0px))}}@media (max-width: 820px){.manual-terrain-workspace{display:none}}.nl-stack{display:flex;flex-direction:column;gap:2px;margin-top:8px}.nl-output-section{margin-top:10px;padding:8px 10px 10px;background:#7896c80a;border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.nl-output-title{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.nl-output-section .ctl,.nl-output-section .toggle-row{margin-bottom:7px}.nl-output-section .ctl:last-child{margin-bottom:0}.nl-item{background:var(--bg-control);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:border-color .12s ease,box-shadow .12s ease}.nl-item.expanded{border-color:var(--border-active);box-shadow:0 0 0 1px #6366f11f}.nl-item.disabled{opacity:.55}.nl-item.solo{border-color:var(--warning);box-shadow:0 0 0 1px #f5a5242e}.nl-item[draggable]{cursor:var(--cursor-grab)}.nl-item[draggable]:active{cursor:var(--cursor-grabbing)}.nl-header{display:flex;align-items:center;gap:6px;padding:6px 8px;cursor:var(--cursor-pointer);-webkit-user-select:none;user-select:none;min-height:32px}.nl-header:hover{background:#7896c80d}.nl-grip{display:flex;align-items:center;cursor:var(--cursor-grab);flex-shrink:0}.nl-vis{background:none;border:none;cursor:var(--cursor-pointer);padding:1px;display:flex;align-items:center;color:var(--text-muted);flex-shrink:0}.nl-vis:hover{color:var(--text-main)}.nl-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:600;color:var(--text-main)}.nl-badge{flex-shrink:0;padding:1px 5px;border-radius:3px;font-size:8.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.nl-badge-base{background:#6366f12e;color:var(--accent)}.nl-badge-mod{background:#f5a5242e;color:var(--warning)}.nl-type-tag{flex-shrink:0;font-size:9.5px;color:var(--text-dim);letter-spacing:.3px}.nl-strength-compact{flex-shrink:0;font-size:10px;font-family:var(--mono);color:var(--text-muted);min-width:30px;text-align:right}.nl-body{padding:4px 10px 10px;border-top:1px solid var(--border-subtle)}.nl-actions{display:flex;gap:4px;margin-bottom:8px;justify-content:flex-end}.nl-icon-btn{background:var(--bg-control);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:var(--cursor-pointer);padding:3px 5px;display:flex;align-items:center;color:var(--text-muted);transition:color .1s,border-color .1s}.nl-icon-btn:hover{color:var(--text-main);border-color:var(--border-active)}.nl-icon-btn.active{color:var(--warning);border-color:#f5a52466;background:#f5a52414}.nl-icon-btn.danger:hover{color:var(--danger);border-color:#e5484d73}.nl-icon-btn:disabled{opacity:.35;pointer-events:none}.nl-field{display:flex;align-items:center;gap:8px;margin-bottom:6px}.nl-label{font-size:11px;color:var(--text-muted);font-weight:500;flex-shrink:0;min-width:42px}.nl-input{flex:1;min-width:0;height:26px;padding:0 8px;background:var(--bg-panel-soft);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-main);font-family:var(--font);font-size:11.5px}.nl-input:focus{border-color:var(--border-active);outline:none}.nl-masks{margin-top:10px;padding-top:8px;border-top:1px solid var(--border-subtle)}.nl-masks-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.nl-mask-add{height:22px;padding:0 6px;font-size:10px;background:var(--bg-control);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);cursor:var(--cursor-pointer)}.nl-mask{background:#7896c80a;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:6px 8px;margin-bottom:4px}.nl-mask.disabled{opacity:.45}.nl-mask-row{display:flex;align-items:center;gap:6px}.nl-mask-label{flex:1;font-size:11px;font-weight:600;color:var(--text-main)}.nl-hint{font-size:10.5px;color:var(--text-dim);font-style:italic}.nl-add-wrap{margin-top:8px;position:relative}.nl-add-btn{width:100%;display:flex;align-items:center;justify-content:center}.nl-add-menu{position:relative;left:0;right:0;margin-top:6px;background:var(--bg-panel);border:1px solid var(--border-active);border-radius:var(--radius-md);box-shadow:0 12px 36px #0009;max-height:280px;overflow-y:auto;z-index:9999;padding:4px}.nl-add-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998}.nl-add-group{font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);padding:6px 8px 3px}.nl-add-item{display:flex;flex-wrap:wrap;align-items:center;gap:6px;width:100%;padding:6px 8px;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-main);cursor:var(--cursor-pointer);font-family:var(--font);font-size:12px;text-align:left}.nl-add-item:hover{background:#6366f11a}.nl-add-name{font-weight:600}.nl-add-desc{width:100%;font-size:10px;color:var(--text-dim);margin-top:-2px}.nl-empty{padding:18px 12px;text-align:center;color:var(--text-dim);font-size:12px;font-style:italic}@media (hover: none),(pointer: coarse),(max-width: 820px){html,body,#root,#app{height:100%;width:100%}body{-webkit-text-size-adjust:100%;overscroll-behavior:none}button,input,select{font-size:16px}#topbar{height:auto;min-height:40px;flex:0 0 auto;flex-wrap:nowrap;gap:4px;padding:4px max(6px,env(safe-area-inset-right)) 4px max(6px,env(safe-area-inset-left));overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x}#topbar::-webkit-scrollbar{display:none}#topbar.file-menu-open{overflow:visible;z-index:40}#topbar.file-menu-open .tb-dropdown{z-index:2}#topbar.file-menu-open .tb-menu{z-index:41}.tb-brand{margin-right:0;flex:0 0 auto;padding-right:2px}.tb-brand .logo{width:18px;height:18px}.app-name,.app-version{display:none}.tb-group,.tb-segment{flex:0 0 auto;gap:2px}.tb-center{position:static;transform:none;flex:0 0 auto;margin:0;gap:4px}.tb-right{margin-left:auto;flex-shrink:0}.tb-left{flex-shrink:0}.viewport-mode-bar{display:flex}.tb-btn{width:34px;height:34px;min-height:34px;padding:0;justify-content:center;gap:0;flex-shrink:0}.tb-menu-btn{width:auto;min-width:34px;padding:0 8px;gap:3px}.tb-menu-btn .tb-text{display:inline;font-size:11px}.tb-menu-btn .tb-file-caret{display:none}.tb-btn svg{width:15px;height:15px}.tb-mode{min-height:32px;padding:0 10px;font-size:11px}.tb-right .tb-text,.tb-search-btn .tb-shortcut{display:none}.tb-loading{height:34px;padding:0 8px}.tb-loading .tb-text{display:none}.app-shell{flex-direction:column;min-width:0}.left-toolbar,.left-toolbar--left,.left-toolbar--right,.left-toolbar--top,.left-toolbar--bottom,.left-toolbar--overlay,.left-toolbar.is-dragging{order:2;position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:100%;max-width:100%;min-width:0;height:auto!important;max-height:74px;flex:0 0 auto;min-height:58px;flex-direction:row!important;flex-wrap:nowrap;padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border:0;border-top:1px solid var(--border-subtle);border-radius:0;box-shadow:none;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior-x:contain;z-index:16;opacity:1;pointer-events:auto}.panel-drag-handle,.panel-snap-layer,.panel-snap-menu{display:none!important}.side-drawer--beside-rail{left:auto!important;right:0!important}.side-drawer--left{left:auto!important;right:0!important;border-left:1px solid var(--border-subtle)!important;border-right:0!important;transform:translate(100%)!important}.side-drawer--left.open{transform:translate(0)!important}.side-drawer--left .side-panel-close{order:0!important}.left-toolbar::-webkit-scrollbar{display:none}.toolbar-btn{flex:0 0 54px;height:46px;min-width:54px}.toolbar-btn-label{display:block;font-size:8.5px}.viewport-area{order:1;min-height:0}.minimap-overlay-container{top:auto;left:auto;right:max(10px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));width:auto;background:var(--bg-panel-soft);border:1px solid var(--border-subtle);border-radius:999px;box-shadow:var(--shadow-panel);z-index:11}.minimap-overlay-container.collapsed{width:auto;padding:0;background:transparent;border:0;box-shadow:none;overflow:visible}.minimap-overlay-container.collapsed .minimap-fab{display:flex;background:var(--bg-panel-soft);border:1px solid var(--border-subtle);box-shadow:var(--shadow-panel)}.minimap-overlay-container.collapsed .minimap-panel{display:none}.minimap-overlay-container:not(.collapsed) .minimap-fab{display:none}.minimap-overlay-container:not(.collapsed) .minimap-panel{display:block;width:100%}.minimap-overlay-container:not(.collapsed){width:min(84vw,320px);border-radius:12px;bottom:calc(12px + env(safe-area-inset-bottom))}.minimap-overlay-container.drawer-open{right:max(10px,env(safe-area-inset-right));left:auto;opacity:0;pointer-events:none}.minimap-overlay-header{padding:5px 8px;background:transparent}.minimap-overlay-container:not(.collapsed) .minimap-overlay-header{border-bottom:1px solid var(--border-subtle)}.minimap-title{font-size:9px;letter-spacing:.8px;gap:5px}.minimap-title-text{display:none}.minimap-overlay-body{padding:6px;gap:4px}.minimap-wrap{border-radius:6px}.minimap-caption{font-size:8px}.minimap-hover-info{grid-template-columns:1fr;font-size:9px;padding:6px 7px}.minimap-toolbar,.minimap-mode-grid{gap:4px}.minimap-chip{padding:3px 7px;font-size:9px}.viewport-mode-bar .mode-bar-btn{height:32px;padding:0 11px;font-size:10.5px}.fps-explore-mode .touch-controls{display:block}.fps-explore-mode #fps-info,.fps-explore-mode #fps-settings-panel{display:none!important}.fps-explore-mode .fps-mobile-dock{display:flex}.fps-explore-mode #fps-perf-window{display:none}.fps-explore-mode #fps-perf-window.open{display:flex;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:calc(58px + env(safe-area-inset-bottom));width:auto;max-width:none;border-radius:12px}.fps-explore-mode #fps-speed-bar,.fps-explore-mode #fps-controls-hint{display:none!important}.fps-explore-mode .fps-perf-header-desktop{display:none}.side-drawer{top:0;right:0;bottom:0;width:min(430px,100vw);max-width:100vw;z-index:20}#app.side-drawer-open .viewport-mode-bar{display:none!important}.side-panel-header{padding:12px 14px 10px;padding-top:max(12px,env(safe-area-inset-top))}.side-panel-content{padding:10px 14px calc(18px + env(safe-area-inset-bottom))}.side-panel-close,.panel-tab,.action-btn,.camera-bar-btn{min-height:40px}.row input[type=number],.row input[type=text],.row select,.ctl-val{min-height:34px}.slider-input,.slider-track-wrap{height:30px}#help-card{top:10px;left:10px;right:10px;max-width:calc(100vw - 20px);padding:10px 12px;gap:7px}.help-row{font-size:11.5px}.viewport-camera-bar{bottom:calc(12px + env(safe-area-inset-bottom));max-width:calc(100vw - 20px);flex-wrap:nowrap;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior-x:contain;border-radius:16px}.viewport-camera-bar::-webkit-scrollbar{display:none}.camera-bar-btn{flex:0 0 auto;padding:0 10px;gap:0}.camera-bar-btn .camera-bar-label{display:none}#statusbar{height:auto;min-height:34px;flex:0 0 auto;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:10px;padding:6px max(10px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));overflow:hidden;font-size:10px}.sb-desktop-only{display:none!important}.sb-group{flex:0 1 auto;min-width:0;gap:8px;flex-wrap:nowrap;white-space:nowrap}.sb-group-primary{flex:1 1 auto}.sb-group-stats{flex:0 0 auto;justify-content:flex-end}.sb-status{overflow:hidden;text-overflow:ellipsis;max-width:42vw}.sb-tris{font-variant-numeric:tabular-nums}.fps-badge,.sb-github-link{flex-shrink:0}}@media (hover: none) and (pointer: coarse) and (orientation: landscape) and (max-height: 520px){#topbar{min-height:42px;padding-top:3px;padding-bottom:3px}.tb-btn,.tb-mode{min-height:32px;height:32px}.left-toolbar{position:absolute;left:0;right:0;bottom:0;z-index:16;background:#0d0d0df0}.viewport-area{height:100%}#statusbar{display:none}.side-drawer{bottom:58px;z-index:20}.viewport-camera-bar,.minimap-overlay-container{bottom:72px}.minimap-overlay-container:not(.collapsed){bottom:72px}.touch-joystick-move,.touch-joystick-look{bottom:calc(72px + env(safe-area-inset-bottom))}.touch-throttle{bottom:calc(82px + env(safe-area-inset-bottom));height:118px}.fps-mobile-dock{bottom:calc(12px + env(safe-area-inset-bottom))}.fps-explore-mode #fps-perf-window.open{bottom:calc(58px + env(safe-area-inset-bottom))}#help-card{max-width:360px;right:auto}}@media (max-width: 420px){.viewport-mode-bar .mode-bar-btn{padding:0 9px;font-size:10px}.toolbar-btn{flex-basis:50px;min-width:50px}#statusbar{gap:6px;font-size:9.5px}.sb-group{gap:6px}.sb-status{max-width:34vw}}.perf-overlay{position:fixed;bottom:42px;right:12px;left:auto;top:auto;z-index:200;width:340px;max-height:min(72vh,calc(100vh - 90px));display:flex;flex-direction:column;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);color:var(--text-main);font-size:11px;box-shadow:var(--shadow-panel);overflow:hidden;animation:perf-slide-up .2s ease;transition:right .22s cubic-bezier(.16,1,.3,1),left .22s cubic-bezier(.16,1,.3,1),bottom .22s cubic-bezier(.16,1,.3,1),top .22s cubic-bezier(.16,1,.3,1),max-height .22s cubic-bezier(.16,1,.3,1)}#app.side-drawer-open:not(.infinite-mode) .perf-overlay{right:calc(min(340px,92vw) + 16px)}#app.infinite-mode:not(.plane-mode) .perf-overlay{bottom:76px}#app.plane-mode .perf-overlay{top:52px;right:12px;bottom:auto;left:auto;max-height:min(52vh,calc(100vh - 120px))}@keyframes perf-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.perf-overlay-loading{min-height:120px}.perf-overlay-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:linear-gradient(180deg,var(--bg-panel-soft) 0%,var(--bg-panel) 100%);border-bottom:1px solid var(--border-subtle)}.perf-title{font-weight:700;letter-spacing:1.2px;font-size:11px;text-transform:uppercase;color:var(--text-bright)}.perf-head-actions{display:flex;align-items:center;gap:5px}.perf-chip{padding:4px 8px;border-radius:var(--radius-sm);cursor:var(--cursor-pointer);background:var(--bg-control);border:1px solid var(--border-subtle);color:var(--text-muted);font-size:10px;font-family:var(--mono);transition:border-color .15s,color .15s,background .15s}.perf-chip:hover{border-color:var(--accent);color:var(--text-main);background:var(--accent-bg)}.perf-chip.ok{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.perf-x{width:24px;height:24px;border-radius:var(--radius-sm);cursor:var(--cursor-pointer);background:transparent;border:1px solid transparent;color:var(--text-muted);font-size:12px;transition:border-color .15s,color .15s,background .15s}.perf-x:hover{border-color:var(--border-subtle);color:var(--text-bright);background:var(--bg-control)}.perf-loading-body{display:flex;align-items:center;justify-content:center;gap:8px;padding:28px 16px;color:var(--text-muted);font-family:var(--mono);font-size:11px}.perf-loading-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:perf-pulse 1s ease infinite}@keyframes perf-pulse{0%,to{opacity:.35;transform:scale(.9)}50%{opacity:1;transform:scale(1)}}.perf-overlay-body{overflow-y:auto;padding:0}.perf-hero{padding:12px;display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,rgba(37,99,235,.06) 0%,transparent 100%);border-bottom:1px solid var(--border-subtle)}.perf-hero-metrics{display:flex;align-items:stretch;gap:12px}.perf-hero-fps{display:flex;align-items:baseline;gap:4px;padding:8px 14px;border-radius:var(--radius-md);background:var(--bg-panel-soft);border:1px solid var(--border-subtle);min-width:88px}.perf-hero-fps.perf-hero-good{border-color:#22c55e59;background:#22c55e14}.perf-hero-fps.perf-hero-warn{border-color:#f59e0b59;background:#f59e0b14}.perf-hero-fps.perf-hero-crit{border-color:#ef444459;background:#ef444414}.perf-hero-value{font-family:var(--mono);font-size:28px;font-weight:700;line-height:1;color:var(--text-bright)}.perf-hero-good .perf-hero-value{color:var(--success)}.perf-hero-warn .perf-hero-value{color:var(--warning)}.perf-hero-crit .perf-hero-value{color:var(--danger)}.perf-hero-unit{font-size:11px;color:var(--text-dim);font-family:var(--mono);text-transform:lowercase}.perf-hero-secondary{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.perf-hero-stat{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:6px 8px;border-radius:var(--radius-sm);background:var(--bg-panel-soft);border:1px solid var(--border-subtle)}.perf-hero-stat-label{font-size:9px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim)}.perf-hero-stat-value{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--text-main)}.perf-hero-stat-value.warn{color:var(--warning)}.perf-graph-card{padding:8px 10px;border-radius:var(--radius-md);background:var(--bg-panel-soft);border:1px solid var(--border-subtle)}.perf-graph-card-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px;gap:8px}.perf-graph-card-label{font-size:10px;font-weight:600;letter-spacing:.3px;color:var(--text-muted);text-transform:uppercase}.perf-graph-card-hint{font-size:9px;color:var(--text-dim);font-family:var(--mono)}.perf-graph-duo{display:grid;grid-template-columns:1fr 1fr;gap:8px}.perf-graph-wrap{position:relative}.perf-graph-svg{display:block;width:100%;border-radius:4px}.perf-graph-meta{display:flex;align-items:baseline;justify-content:space-between;margin-top:4px;gap:8px}.perf-graph-latest{font-family:var(--mono);font-size:11px;font-weight:600}.perf-graph-latest em{font-style:normal;font-size:9px;color:var(--text-dim);margin-left:2px}.perf-graph-ref-label{font-size:9px;color:var(--text-dim);font-family:var(--mono)}.perf-graph-empty{display:flex;align-items:center;justify-content:center;border-radius:4px;background:var(--bg-control);color:var(--text-dim);font-size:10px;font-family:var(--mono)}.perf-section{border-bottom:1px solid var(--border-subtle)}.perf-section:last-child{border-bottom:none}.perf-section-head{width:100%;display:flex;align-items:center;gap:6px;padding:8px 12px;cursor:var(--cursor-pointer);background:transparent;border:none;color:var(--text-main);font-weight:600;font-size:10.5px;letter-spacing:.3px;text-align:left;transition:background .12s}.perf-section-head:hover{background:var(--bg-panel-soft)}.perf-caret{display:flex;color:var(--text-dim);transition:transform .15s ease}.perf-caret.closed{transform:rotate(-90deg)}.perf-section-body{padding:2px 12px 10px}.perf-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:3px 0}.perf-row-label{color:var(--text-muted);white-space:nowrap}.perf-row-value{color:var(--text-main);font-family:var(--mono);text-align:right;word-break:break-word;font-size:10.5px}.perf-row-value.warn{color:var(--warning)}.perf-warn{display:flex;align-items:center;gap:6px;padding:4px 0}.perf-warn-level{flex-shrink:0;padding:2px 6px;border-radius:3px;font-size:8.5px;text-transform:uppercase;letter-spacing:.5px;font-weight:700}.perf-warn-info .perf-warn-level{background:var(--accent-bg);color:var(--accent)}.perf-warn-warning .perf-warn-level{background:#f59e0b2e;color:var(--warning)}.perf-warn-critical .perf-warn-level{background:#ef44442e;color:var(--danger)}.perf-warn-label{color:var(--text-muted);font-size:10.5px}.perf-prefs{display:flex;flex-wrap:wrap;gap:12px;padding:10px 12px;border-top:1px solid var(--border-subtle);background:var(--bg-panel-soft)}.perf-prefs label{display:flex;align-items:center;gap:5px;color:var(--text-muted);cursor:var(--cursor-pointer);font-size:10.5px}.perf-prefs input{accent-color:var(--accent)}@media (max-width: 900px){#app.side-drawer-open:not(.infinite-mode) .perf-overlay{right:calc(min(340px,96vw) + 16px)}}@media (max-width: 640px){.perf-overlay{right:8px;left:8px;width:auto;bottom:calc(40px + env(safe-area-inset-bottom));max-height:min(65vh,calc(100vh - 100px))}#app.side-drawer-open:not(.infinite-mode) .perf-overlay{top:48px;bottom:auto;left:8px;right:8px;max-height:min(45vh,calc(100vh - 110px))}#app.infinite-mode:not(.plane-mode) .perf-overlay{bottom:calc(76px + env(safe-area-inset-bottom))}#app.plane-mode .perf-overlay{top:48px;right:8px;left:8px;width:auto;max-height:min(48vh,calc(100vh - 110px))}.perf-graph-duo{grid-template-columns:1fr}.perf-hero-secondary{grid-template-columns:repeat(3,1fr)}}@media (max-width: 400px){.perf-hero-metrics{flex-direction:column}.perf-hero-fps{align-self:flex-start}}.surface-library{margin-top:4px}.surface-role-group{margin-top:10px}.surface-role-group-title{margin:10px 0 6px;color:var(--text-muted);font-size:11px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}.surface-role-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.surface-role-swatch{flex:none;width:22px;height:22px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);box-shadow:inset 0 0 0 1px #ffffff14}.surface-role-count{color:var(--text-muted);font-size:11px;font-weight:600;margin-left:auto}.surface-role-drop-zone{border-radius:var(--radius-md)}.surface-role-drop-zone.drag-over .panel-group{border-color:var(--accent);background:var(--accent-bg);box-shadow:0 0 0 1px #2563eb2e inset}.surface-role-drop-zone.drag-over .panel-group-header{background:#2563eb1f}.surface-variant-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:0 0 8px}.surface-variant-tab{min-width:0;height:40px;padding:4px 5px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-control);color:var(--text-muted);font-family:var(--font);cursor:var(--cursor-pointer);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.surface-variant-tab span{max-width:100%;color:var(--text-main);font-size:11px;font-weight:800;line-height:1;overflow:hidden;text-overflow:ellipsis}.surface-variant-tab small{max-width:100%;color:var(--text-dim);font-size:9px;font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis}.surface-variant-tab:hover{border-color:var(--accent);color:var(--text-main)}.surface-variant-tab.ready small{color:var(--success)}.surface-variant-tab.active{background:var(--accent-bg);border-color:var(--accent);box-shadow:0 0 0 1px #2563eb2e inset}.surface-variant-tab.active span{color:var(--accent)}.surface-material-body{display:flex;gap:12px;align-items:flex-start;margin-bottom:10px}.surface-preview-sphere{flex:none;width:88px;height:88px;border-radius:var(--radius-sm);background:var(--bg-control);border:1px solid var(--border-subtle);cursor:grab;touch-action:none}.surface-preview-sphere:active{cursor:grabbing}.surface-material-side{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.surface-card-actions{display:flex;align-items:flex-start;gap:6px}.surface-variant-pills{display:flex;gap:6px;flex-wrap:wrap;flex:1;min-width:0}.surface-variant-pill{padding:5px 10px;border-radius:999px;border:1px solid var(--border-strong);background:var(--bg-control);color:var(--text-muted);font-family:var(--font);font-size:11px;font-weight:600;cursor:var(--cursor-pointer);transition:background .12s ease,color .12s ease,border-color .12s ease}.surface-variant-pill:hover{border-color:var(--accent);color:var(--text-main)}.surface-variant-pill.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.surface-slot-list{display:flex;flex-direction:column;gap:6px}.surface-variant-block{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#ffffff04;padding:8px;margin-bottom:8px}.surface-variant-block.drag-over{border-color:var(--accent);background:var(--accent-bg)}.surface-variant-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.surface-variant-title{flex:1;min-width:0;color:var(--text-main);font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.surface-variant-drop-chip{flex:none;color:var(--text-muted);background:var(--bg-control);border:1px dashed var(--border-strong);border-radius:999px;padding:3px 7px;font-size:9px;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.surface-preview-hint{margin:0}.surface-variant-map-badges{display:flex;flex-wrap:wrap;gap:5px}.surface-map-badge{max-width:100%;padding:4px 7px;border-radius:999px;background:var(--bg-control);color:var(--text-dim);border:1px solid var(--border-subtle);font-size:9px;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.surface-map-badge.filled{color:var(--accent);background:var(--accent-bg);border-color:var(--border-active)}.surface-slot-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border-subtle)}.surface-slot-row:last-child{border-bottom:none}.surface-slot-label{font-size:12px;color:var(--text-main)}.surface-slot-status{font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:2px 7px;border-radius:999px;white-space:nowrap}.surface-slot-status-base,.surface-slot-status-ok,.surface-slot-status-default{color:var(--success);background:#22c55e1f}.surface-slot-status-missing{color:var(--text-dim);background:var(--bg-control)}.surface-slot-status-missing-optional{color:var(--warning);background:#f59e0b24}.surface-slot-status-custom{color:var(--accent);background:var(--accent-bg)}.surface-slot-status-checking{color:var(--text-dim);background:transparent}.surface-layer-status{align-self:flex-start;font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:4px 8px;border-radius:999px;white-space:nowrap}.surface-slot-picker{display:flex;align-items:center;gap:4px;margin-bottom:0}.surface-slot-picker .file-picker-btn{width:auto;min-height:28px;padding:0 10px;font-size:11px}.surface-slot-reset{flex:none;width:28px;padding:0}.surface-card-reset{flex:none;width:28px;min-height:28px;padding:0}.surface-variant-add{display:inline-flex;align-items:center;gap:4px;border-style:dashed}.surface-add-variant{display:flex;align-items:center;gap:6px;flex-wrap:wrap;width:100%}.surface-add-variant-input{flex:1;min-width:90px;height:28px;padding:0 8px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-control);color:var(--text-main);font-family:var(--font);font-size:11px}.surface-add-variant .file-picker-btn{width:auto;min-height:28px;padding:0 10px;font-size:11px}.surface-add-variant-error{flex-basis:100%;margin:2px 0 0}.surface-slot-list{border-radius:var(--radius-sm);transition:background .12s ease,box-shadow .12s ease}.surface-slot-list.drag-over{background:var(--accent-bg);box-shadow:0 0 0 1px var(--accent) inset}.surface-slot-row.drag-over{background:var(--accent-bg);border-radius:var(--radius-sm);box-shadow:0 0 0 1px var(--accent) inset}.surface-drop-summary{color:var(--text-muted)}.surface-drop-summary .warning{color:var(--warning)}.surface-mode-bar{display:flex;flex-direction:column;gap:8px;padding:10px;margin-bottom:10px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-control)}.surface-apply-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.surface-apply-row .action-btn{width:auto}.surface-apply-status{font-size:11px}.surface-apply-status.ok{color:var(--success)}.surface-apply-status.pending,.surface-apply-status.warning{color:var(--warning)}.app-popup-stack{position:fixed;z-index:12000;top:18px;right:18px;display:flex;flex-direction:column;gap:9px;width:min(360px,calc(100vw - 28px));pointer-events:none}.app-popup-notice{display:grid;grid-template-columns:28px minmax(0,1fr) 26px;align-items:start;gap:9px;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#0f1118f5;color:#d7dbe7;font:12px/1.45 var(--font, Inter, sans-serif);box-shadow:0 18px 45px #0000006b,inset 0 1px #ffffff09;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto;animation:app-popup-enter .24s cubic-bezier(.22,1,.36,1) both}.app-popup-notice.success{border-color:#22c55e52}.app-popup-notice.error{border-color:#ef444461}.app-popup-notice-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#60a5fa1f;color:#8fbbff}.app-popup-notice.success .app-popup-notice-icon{background:#22c55e1f;color:#77dc98}.app-popup-notice.error .app-popup-notice-icon{background:#ef44441f;color:#f58d8d}.app-popup-notice-copy{display:flex;min-width:0;flex-direction:column;gap:2px;padding-top:1px}.app-popup-notice-copy strong{color:#f5f7fb;font-size:12px;font-weight:650}.app-popup-notice-copy>span{overflow-wrap:anywhere;color:#b6bdcc}.app-popup-notice>button,.app-popup-dialog-close{display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:6px;background:transparent;color:#7f8798;cursor:pointer}.app-popup-notice>button:hover,.app-popup-dialog-close:hover{background:#ffffff12;color:#eef1f7}.app-popup-backdrop{position:fixed;z-index:13000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#020306a8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:app-popup-fade .16s ease both}.app-popup-dialog{width:min(420px,100%);padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:#10121a;color:#d8dce7;font-family:var(--font, Inter, sans-serif);box-shadow:0 28px 80px #00000094,inset 0 1px #ffffff0a;animation:app-popup-dialog-enter .24s cubic-bezier(.22,1,.36,1) both}.app-popup-dialog.danger{border-color:#ef44444d}.app-popup-dialog>header{display:grid;grid-template-columns:34px 1fr 28px;gap:11px;align-items:start;padding:18px 18px 14px}.app-popup-dialog-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#3b82f61f;color:#8cb8ff}.app-popup-dialog.danger .app-popup-dialog-icon{background:#ef44441f;color:#f18a8a}.app-popup-dialog h2{margin:0;color:#f4f6fb;font-size:15px;line-height:1.35;font-weight:650}.app-popup-dialog p{margin:5px 0 0;color:#9da5b5;font-size:12px;line-height:1.5}.app-popup-dialog-field{display:flex;flex-direction:column;gap:6px;padding:2px 18px 17px;color:#9da5b5;font-size:10.5px;font-weight:600}.app-popup-dialog-field input{box-sizing:border-box;width:100%;height:38px;padding:0 11px;border:1px solid rgba(255,255,255,.13);border-radius:8px;outline:none;background:#ffffff0b;color:#f1f3f8;font:12.5px var(--font, Inter, sans-serif)}.app-popup-dialog-field input:focus{border-color:#3b82f6bf;box-shadow:0 0 0 3px #3b82f61f}.app-popup-dialog>footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid rgba(255,255,255,.075);background:#ffffff05}.app-popup-dialog>footer button{height:34px;padding:0 14px;border-radius:7px;font:600 11.5px var(--font, Inter, sans-serif);cursor:pointer}.app-popup-cancel{border:1px solid rgba(255,255,255,.12);background:#ffffff09;color:#b6bdca}.app-popup-confirm{border:1px solid rgba(59,130,246,.55);background:#2563eb;color:#fff}.app-popup-confirm.danger{border-color:#ef4444bf;background:#c93636}.app-popup-dialog>footer button:hover{filter:brightness(1.1)}@keyframes app-popup-enter{0%{opacity:0;transform:translate3d(18px,-4px,0) scale(.98)}}@keyframes app-popup-fade{0%{opacity:0}}@keyframes app-popup-dialog-enter{0%{opacity:0;transform:translateY(10px) scale(.98)}}@media (max-width: 600px){.app-popup-stack{top:12px;right:50%;transform:translate(50%)}.app-popup-backdrop{align-items:end;padding:12px}.app-popup-dialog{width:100%}}@media (prefers-reduced-motion: reduce){.app-popup-notice,.app-popup-backdrop,.app-popup-dialog{animation:none}}
