:root{color:#edf2ef;font-synthesis:none;--bg:#090c0a;--panel:#101410;--panel-2:#151a15;--line:#293129;--text:#edf2ef;--muted:#87938a;--dim:#59645c;--acid:#caff3d;--mint:#62e6ce;--orange:#ff9f59;--red:#ff6e79;background:#090c0a;font-family:Segoe UI,Yu Gothic UI,Noto Sans JP,sans-serif}*{box-sizing:border-box}html,body,#trainer-portal-app{width:100%;min-height:100%;margin:0}body{background:var(--bg);min-width:0}button,input,select,a{font:inherit}button,a{cursor:pointer}.trainer-portal{background:radial-gradient(circle at 73% 13%, #5ebc8b1c, transparent 29%), linear-gradient(#ffffff05 1px, transparent 1px), linear-gradient(90deg, #ffffff05 1px, transparent 1px), var(--bg);background-size:auto,64px 64px,64px 64px,auto;min-height:100vh}.portal-header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#090c0af0;grid-template-columns:minmax(330px,.9fr) minmax(380px,1fr) minmax(340px,.9fr);height:76px;display:grid;position:sticky;top:0}.portal-brand{color:var(--text);border-right:1px solid var(--line);align-items:center;gap:14px;padding:0 26px;text-decoration:none;display:flex}.portal-mark{color:#11160d;background:var(--acid);border-radius:3px;place-items:center;width:42px;height:42px;font:900 12px/1 ui-monospace,Consolas,monospace;display:grid;box-shadow:0 0 26px #caff3d29}.portal-brand strong,.portal-brand small{display:block}.portal-brand strong{letter-spacing:.02em;font-size:17px}.portal-brand small{color:var(--muted);letter-spacing:.17em;margin-top:5px;font:700 8px/1 ui-monospace,Consolas,monospace}.portal-header nav{justify-content:center;align-items:stretch;display:flex}.portal-header nav button{color:#78847c;border:0;border-right:1px solid var(--line);letter-spacing:.13em;background:0 0;min-width:150px;padding:0 24px;font:800 10px/1 ui-monospace,Consolas,monospace;position:relative}.portal-header nav button:first-child{border-left:1px solid var(--line)}.portal-header nav button.active{color:var(--text);background:#111611}.portal-header nav button.active:after{background:var(--acid);content:"";height:3px;position:absolute;bottom:-1px;left:20px;right:20px}.portal-header nav b{color:#13170e;background:var(--acid);border-radius:9px;place-items:center;min-width:20px;height:18px;margin-left:9px;font-size:9px;display:inline-grid}.portal-header-actions{justify-content:flex-end;align-items:center;gap:8px;padding:0 24px;display:flex}.portal-header-actions a,.hero-actions a,.hero-actions button{color:#cbd4ce;background:#121712;border:1px solid #344038;padding:12px 16px;font-size:11px;font-weight:750;text-decoration:none}.portal-header-actions a.primary,.hero-actions .primary{color:#11150d;background:var(--acid);border-color:var(--acid)}.portal-hero{border-bottom:1px solid var(--line);grid-template-columns:minmax(430px,.8fr) minmax(600px,1.2fr);min-height:610px;display:grid}.hero-copy{border-right:1px solid var(--line);flex-direction:column;justify-content:center;padding:70px clamp(44px,5vw,88px);display:flex}.eyebrow,.recent-assets header span,.library-heading span{color:var(--acid);letter-spacing:.2em;font:800 9px/1 ui-monospace,Consolas,monospace}.hero-copy h1{color:#f5f8f6;letter-spacing:-.055em;margin:25px 0 20px;font-size:clamp(44px,5vw,76px);line-height:1.04}.hero-copy h1 em{color:var(--acid);font-style:normal}.hero-copy>p{color:#98a29b;max-width:600px;margin:0;font-size:13px;line-height:2}.hero-actions{gap:9px;margin-top:34px;display:flex}.hero-actions button{background:0 0}.portal-stats{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:56px 0 0;display:grid}.portal-stats div{border-right:1px solid var(--line);padding:18px 12px 0 0}.portal-stats div+div{padding-left:15px}.portal-stats dt{color:var(--dim);letter-spacing:.13em;font:800 8px/1 ui-monospace,Consolas,monospace}.portal-stats dd{margin:10px 0 0;font:800 24px/1 ui-monospace,Consolas,monospace}.hero-visual{background:#0b0f0d;min-height:560px;position:relative;overflow:hidden}.hero-visual:before{z-index:2;pointer-events:none;content:"";background:linear-gradient(90deg,#090c0a66,#0000 32%),linear-gradient(#0000 57%,#070908d4);position:absolute;inset:0}.asset-image{background:#0b0f0d;margin:0;position:relative;overflow:hidden}.asset-image img{object-fit:cover;width:100%;height:100%;transition:transform .45s;display:block}.asset-image:hover img{transform:scale(1.018)}.asset-image figcaption{z-index:3;color:#0f150c;background:var(--acid);align-items:center;gap:8px;padding:8px 10px;display:flex;position:absolute;top:13px;left:13px}.asset-image figcaption span{font-size:9px;font-weight:850}.asset-image figcaption small{letter-spacing:.13em;font:800 7px/1 ui-monospace,Consolas,monospace}.hero-image,.hero-visual>.asset-image{position:absolute;inset:0}.hero-asset-info{z-index:4;position:absolute;bottom:42px;left:42px;right:42px}.hero-asset-info span{color:var(--acid);letter-spacing:.18em;font:800 8px/1 ui-monospace,Consolas,monospace}.hero-asset-info strong{margin-top:11px;font-size:25px;display:block}.hero-asset-info small{color:#a4aea7;text-overflow:ellipsis;white-space:nowrap;margin-top:8px;font-size:10px;display:block;overflow:hidden}.empty-hero,.asset-image-placeholder{height:100%;min-height:220px;color:var(--dim);text-align:center;background:repeating-linear-gradient(135deg,#101510,#101510 18px,#0d110e 18px 36px);place-content:center;display:grid;position:relative}.empty-hero span,.asset-image-placeholder span{color:var(--acid);letter-spacing:.2em;font:800 8px/1 ui-monospace,Consolas,monospace}.empty-hero strong,.asset-image-placeholder strong{color:#aeb8b1;margin-top:13px;font-size:14px}.asset-image-placeholder small{color:#59645d;margin-top:8px;font-size:9px}.hero-visual .asset-image-placeholder{min-height:610px}.recent-assets,.library-page{padding:54px clamp(32px,4vw,72px) 80px}.mapillary-mode{background:linear-gradient(110deg,#152f23f5,#0b120df5);border:1px solid #3c5a48;grid-template-columns:310px 1fr auto;align-items:center;gap:38px;margin:42px clamp(32px,4vw,72px) 0;padding:28px;display:grid}.mapillary-mode-visual{color:var(--acid);align-items:center;gap:8px;font:850 8px/1 ui-monospace,Consolas,monospace;display:flex}.mapillary-mode-visual i{border:2px solid var(--mint);background:#17231b;border-radius:50%;width:18px;height:18px;box-shadow:0 0 12px #62e6ce26}.mapillary-mode-visual i+i:before{content:"";background:var(--mint);width:10px;height:1px;margin:7px 0 0 -10px;display:block}.mapillary-mode-visual strong{color:#11150d;background:var(--acid);padding:10px}.mapillary-mode>div:nth-child(2)>span{color:var(--mint);letter-spacing:.18em;font:800 8px/1 ui-monospace,Consolas,monospace}.mapillary-mode h2{margin:9px 0 7px;font-size:21px}.mapillary-mode p{color:#91a096;margin:0;font-size:10px;line-height:1.7}.mapillary-mode>a{color:#11150d;background:var(--acid);padding:13px 16px;font-size:10px;font-weight:850;text-decoration:none}.recent-assets>header{justify-content:space-between;align-items:end;margin-bottom:24px;display:flex}.recent-assets h2,.library-heading h1{letter-spacing:-.025em;margin:9px 0 0;font-size:27px}.recent-assets header button{color:var(--acid);background:0 0;border:0;padding:10px 0;font-size:10px;font-weight:800}.asset-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;display:grid}.asset-card{border:1px solid var(--line);background:#101410f0;min-width:0;overflow:hidden}.asset-card>.asset-image,.asset-card>.asset-image-placeholder{border-bottom:1px solid var(--line);height:190px;min-height:190px}.asset-mode-badge{z-index:3;color:#dfe7e2;text-align:right;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#060a08e0;border:1px solid #3b4940;gap:5px;max-width:calc(100% - 22px);padding:9px 10px;display:grid;position:absolute;top:11px;right:11px;box-shadow:0 8px 24px #00000057}.asset-mode-badge b{font:900 10px/1 ui-monospace,Consolas,monospace}.asset-mode-badge small{color:#89968e;text-overflow:ellipsis;white-space:nowrap;font:750 6px/1 ui-monospace,Consolas,monospace;overflow:hidden}.asset-mode-badge.official b{color:var(--cyan)}.asset-mode-badge.fastgs b{color:var(--acid)}.asset-mode-badge.fastergs b{color:var(--orange)}.asset-mode-badge.unknown b{color:#b7aea5}.asset-card-body{padding:17px}.asset-card-meta{color:#78837b;align-items:center;gap:7px;font:750 8px/1 ui-monospace,Consolas,monospace;display:flex}.asset-card-meta time{margin-left:auto}.status-chip{color:#b5bfb8;background:#242a26;padding:5px 7px}.status-chip.complete,.status-chip.completed{color:#09110c;background:var(--mint)}.status-chip.running{color:#121608;background:var(--acid)}.status-chip.failed{color:#fff;background:var(--red)}.asset-card h3{text-overflow:ellipsis;white-space:nowrap;margin:15px 0 6px;font-size:14px;overflow:hidden}.asset-card p{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;margin:0;font:700 8px/1.3 ui-monospace,Consolas,monospace;overflow:hidden}.asset-card-metrics{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:17px 0;display:grid}.asset-card-metrics div{border-right:1px solid var(--line);min-width:0;padding:11px 4px}.asset-card-metrics div:last-child{border:0}.asset-card-metrics dt{color:var(--dim);white-space:nowrap;font-size:7px}.asset-card-metrics dd{text-overflow:ellipsis;white-space:nowrap;margin:7px 0 0;font:800 10px/1 ui-monospace,Consolas,monospace;overflow:hidden}.asset-card-actions{gap:5px;display:flex}.asset-card-actions a{color:#aeb8b1;background:#151a16;border:1px solid #303a32;padding:8px 9px;font-size:8px;font-weight:800;text-decoration:none}.asset-card-actions a.primary{color:#11150d;text-align:center;background:var(--acid);border-color:var(--acid);flex:1}.library-page{min-height:calc(100vh - 76px)}.library-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;padding:18px 0 31px;display:flex}.library-heading h1{font-size:42px}.library-heading p{color:var(--muted);margin:12px 0 0;font-size:11px}.library-summary{align-items:baseline;gap:10px;display:flex}.library-summary strong{color:var(--acid);font:850 34px/1 ui-monospace,Consolas,monospace}.library-summary span{color:var(--dim);font-size:10px}.library-filters{grid-template-columns:minmax(260px,1.3fr) minmax(150px,.6fr) minmax(150px,.6fr) auto;gap:10px;padding:20px 0;display:grid}.library-filters label{gap:7px;display:grid}.library-filters label span{color:var(--dim);letter-spacing:.15em;font:800 7px/1 ui-monospace,Consolas,monospace}.library-filters input,.library-filters select,.library-filters button{color:#dfe6e1;background:#111611;border:1px solid #313a33;outline:none;min-height:42px;padding:0 12px}.library-filters input:focus,.library-filters select:focus{border-color:var(--acid)}.library-filters button{color:var(--muted);align-self:end;font-size:9px}.library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.library-grid .asset-card>.asset-image,.library-grid .asset-card>.asset-image-placeholder{height:250px}.empty-library{min-height:240px;color:var(--dim);border:1px dashed #303832;place-items:center;display:grid}.portal-state{text-align:center;place-content:center;min-height:calc(100vh - 76px);display:grid}.portal-state span{color:var(--acid);letter-spacing:.2em;font:800 9px/1 ui-monospace,Consolas,monospace}.portal-state strong{margin-top:14px;font-size:20px}.portal-state p{max-width:560px;color:var(--red)}.portal-global-error{z-index:80;border:1px solid var(--red);background:#251113;grid-template-columns:auto minmax(260px,1fr) auto;align-items:center;gap:12px;max-width:720px;padding:14px 16px;display:grid;position:fixed;bottom:24px;right:24px;box-shadow:0 18px 60px #00000073}.portal-global-error strong{color:var(--red);font:850 9px/1 ui-monospace,Consolas,monospace}.portal-global-error span{color:#f4c9cd;font-size:11px}.portal-global-error button{color:#fff;background:0 0;border:1px solid #71383e}.management-flow{border:1px solid var(--line);grid-template-columns:repeat(8,1fr);margin:42px clamp(32px,4vw,72px) 70px;display:grid}.management-flow div{border-right:1px solid var(--line);background:#101410f0;min-width:0;padding:22px 14px;position:relative}.management-flow div:last-child{border:0}.management-flow div:not(:last-child):after{z-index:2;background:var(--acid);content:"";width:9px;height:9px;position:absolute;top:28px;right:-5px;transform:rotate(45deg)}.management-flow span,.panel-kicker{color:var(--acid);letter-spacing:.14em;font:800 8px/1 ui-monospace,Consolas,monospace}.management-flow strong{margin-top:11px;font-size:11px;display:block}.route-control-page{grid-template-columns:minmax(520px,1.2fr) minmax(290px,.58fr) minmax(430px,.88fr);min-height:calc(100vh - 76px);display:grid}.route-map-panel,.route-list-panel,.route-detail-panel{border-right:1px solid var(--line);min-width:0}.route-map-panel{padding:25px}.route-map-panel>header{justify-content:space-between;align-items:end;margin-bottom:17px;display:flex}.route-map-panel header span,.route-detail-heading span{color:var(--acid);letter-spacing:.16em;font:800 8px/1 ui-monospace,Consolas,monospace}.route-map-panel h1{margin:8px 0 0;font-size:25px}.route-map-panel header a{color:#10150c;background:var(--acid);padding:10px 12px;font-size:9px;font-weight:850;text-decoration:none}.manager-map{background:#0d120f;border:1px solid #344039;height:calc(100vh - 190px);min-height:550px;overflow:hidden}.route-state-legend{flex-wrap:wrap;gap:11px;padding-top:14px;display:flex}.route-state-legend span{color:var(--muted);align-items:center;gap:6px;font-size:8px;display:flex}.route-state-legend i,.managed-route-row>i{background:#78827a;border-radius:50%;flex:none;width:8px;height:8px}.unprocessed i,i.unprocessed{background:#78827a}.stage1_completed i,i.stage1_completed{background:#50b6ff}.colmap_completed i,i.colmap_completed{background:var(--mint)}.training i,i.training{background:var(--acid);box-shadow:0 0 12px #caff3d80}.completed i,i.completed{background:#39e58c}.quality_warning i,i.quality_warning{background:var(--orange)}.failed i,i.failed{background:var(--red)}.route-list-panel{background:#0c100de0;padding:24px 12px;overflow:auto}.route-list-panel>.panel-kicker{padding:0 10px 15px;display:block}.managed-route-row{width:100%;color:var(--text);text-align:left;background:#111611;border:1px solid #293129;grid-template-columns:10px minmax(0,1fr);gap:11px;margin-bottom:7px;padding:15px 12px;display:grid}.managed-route-row.active{border-color:var(--acid);background:#172019}.managed-route-row>i{margin-top:4px}.managed-route-row span{min-width:0}.managed-route-row strong,.managed-route-row small,.managed-route-row b{display:block}.managed-route-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.managed-route-row small{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;margin-top:7px;font:700 7px/1 ui-monospace,Consolas,monospace;overflow:hidden}.managed-route-row b{color:var(--muted);grid-column:2;font-size:8px;font-weight:750}.route-detail-panel{max-height:calc(100vh - 76px);padding:24px;overflow:auto}.route-detail-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:14px;padding-bottom:19px;display:flex}.route-detail-heading h2{margin:8px 0 5px;font-size:20px}.route-detail-heading small{color:var(--dim);font:700 8px/1 ui-monospace,Consolas,monospace}.route-detail-heading>div:last-child{gap:6px;display:flex}.route-detail-heading a{color:#c7d1ca;border:1px solid #354039;padding:9px 11px;font-size:8px;font-weight:850;text-decoration:none}.route-detail-heading a.primary{color:#10150c;background:var(--acid);border-color:var(--acid)}.route-detail-metrics{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:18px 0;display:grid}.route-detail-metrics div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px}.route-detail-metrics dt{color:var(--dim);font-size:7px}.route-detail-metrics dd{margin:7px 0 0;font:800 12px/1 ui-monospace,Consolas,monospace}.pipeline-config{grid-template-columns:1fr 1fr;gap:8px;display:grid}.editable-scene-manager{background:linear-gradient(135deg,#18433a33,#0d130f 62%);border:1px solid #30534b;margin:12px 0;padding:12px}.editable-scene-manager header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.editable-scene-manager header span{color:#60d4bf;letter-spacing:.12em;font:800 7px/1 ui-monospace,Consolas,monospace}.editable-scene-manager h3{margin:5px 0 0;font-size:14px}.editable-scene-manager header b{border:1px solid #555;padding:6px 8px;font:850 7px/1 ui-monospace,Consolas,monospace}.editable-scene-manager header b.ready{color:#70e5d3;border-color:#3aa897}.editable-scene-manager header b.running{color:var(--acid);border-color:var(--acid)}.editable-scene-manager header b.blocked{color:#e4bd6e;border-color:#8b703f}.editable-scene-manager dl{grid-template-columns:1fr 1fr;gap:6px;margin:12px 0;display:grid}.editable-scene-manager dl div{background:#0e1814d1;padding:8px}.editable-scene-manager dt{color:var(--dim);font-size:7px}.editable-scene-manager dd{margin:4px 0 0;font:800 8px/1.2 ui-monospace,Consolas,monospace}.editable-scene-manager p,.editable-scene-manager small{color:var(--dim);font-size:8px;line-height:1.45;display:block}.editable-scene-manager small.warning{color:#e4bd6e}.editable-visual-review{background:#09100cc2;border:1px solid #31453c;margin:9px 0;padding:8px}.editable-visual-review summary{cursor:pointer;color:#70e5d3;font:800 8px/1.3 ui-monospace,Consolas,monospace}.editable-visual-review p{margin:7px 0}.editable-visual-review .editable-core-launch{color:#07100c;text-align:center;background:#70e5d3;border:1px solid #9af4e6;margin:8px 0;padding:10px 12px;font:900 9px/1 ui-monospace,Consolas,monospace;text-decoration:none;display:block}.editable-visual-review img{object-fit:contain;object-position:left center;background:#090c0a;width:100%;max-height:290px;display:block}.editable-visual-review div{margin-top:7px;font-size:8px}.editable-pipeline-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:9px 0;display:grid}.editable-pipeline-strip div{background:#09100cb8;border:1px solid #26372f;justify-content:space-between;align-items:center;gap:6px;min-width:0;padding:6px 7px;display:flex}.editable-pipeline-strip span{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;font:750 7px/1.2 ui-monospace,Consolas,monospace;overflow:hidden}.editable-pipeline-strip b{color:#8a958e;flex:none;font:850 7px/1 ui-monospace,Consolas,monospace}.editable-pipeline-strip b.ready{color:#70e5d3}.editable-pipeline-strip b.running{color:var(--acid)}.editable-pipeline-strip b.review{color:var(--orange)}.editable-scene-manager-actions{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.editable-scene-manager-actions a,.editable-scene-manager-actions button{color:var(--text);background:#151d17;border:1px solid #3b4b40;padding:8px 10px;font:800 8px/1 ui-monospace,Consolas,monospace;text-decoration:none}.editable-scene-manager-actions .primary{color:#0a1511;background:#55cbb6;border-color:#55cbb6}.editable-scene-manager-actions button:disabled{cursor:not-allowed;opacity:.55}@media (width<=1180px){.editable-scene-manager dl{grid-template-columns:1fr}}@media (width<=720px){.editable-pipeline-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.pipeline-config label{gap:6px;display:grid}.pipeline-config span{color:var(--dim);font-size:7px;font-weight:800}.pipeline-config select,.pipeline-config input{min-width:0;height:38px;color:var(--text);background:#111611;border:1px solid #303a32;padding:0 9px}.colmap-runtime-panel{background:#0c1310;border:1px solid #58472b;gap:10px;margin-top:12px;padding:12px;display:grid}.colmap-runtime-panel.cuda-ready{box-shadow:inset 3px 0 0 var(--mint);border-color:#3f6b56}.colmap-runtime-panel.unverified{box-shadow:inset 3px 0 0 var(--orange)}.colmap-runtime-panel header{justify-content:space-between;align-items:start;gap:12px;display:flex}.colmap-runtime-panel header span{color:var(--cyan);letter-spacing:.12em;font:850 7px/1 ui-monospace,Consolas,monospace;display:block}.colmap-runtime-panel header strong{margin-top:6px;font-size:10px;display:block}.colmap-runtime-panel header b{max-width:58%;color:var(--acid);overflow-wrap:anywhere;border:1px solid #46543b;padding:6px 7px;font:800 7px/1.25 ui-monospace,Consolas,monospace}.colmap-runtime-panel dl{background:#26322b;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;display:grid}.colmap-runtime-panel dl div{background:#101712;min-width:0;padding:9px}.colmap-runtime-panel dt{color:var(--dim);font-size:7px}.colmap-runtime-panel dd{color:#d6e0da;text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;font:800 8px/1.25 ui-monospace,Consolas,monospace;overflow:hidden}.colmap-runtime-panel p{color:#8f9d94;margin:0;font-size:8px;line-height:1.55}.pipeline-start{color:#11150d;background:var(--acid);text-align:left;border:0;width:100%;margin:13px 0 17px;padding:14px;display:grid}.pipeline-start:disabled{color:#657067;cursor:default;background:#242b25}.pipeline-start span{font-size:11px;font-weight:850}.pipeline-start small{margin-top:5px;font-size:8px}.pipeline-timeline{gap:5px;display:grid}.pipeline-timeline article{background:#101510;border:1px solid #293129;align-items:center;gap:10px;padding:10px;display:flex}.pipeline-timeline article>i{background:#454e47;border-radius:50%;width:9px;height:9px}.pipeline-timeline article.completed>i,.pipeline-timeline article.cache_reused>i{background:#39e58c}.pipeline-timeline article.running>i{background:var(--acid);box-shadow:0 0 12px #caff3d80}.pipeline-timeline article.failed>i{background:var(--red)}.pipeline-timeline strong,.pipeline-timeline small{display:block}.pipeline-timeline strong{font-size:9px}.pipeline-timeline small{color:var(--dim);margin-top:4px;font:700 7px/1 ui-monospace,Consolas,monospace}.pipeline-live{background:#0d130f;border:1px solid #334238;margin-top:15px;padding:13px}.pipeline-live header{justify-content:space-between;font:750 8px/1 ui-monospace,Consolas,monospace;display:flex}.pipeline-progress{background:#222b24;height:5px;margin:10px 0}.pipeline-progress i{background:var(--acid);height:100%;display:block}.pipeline-live p{color:var(--red);font-size:9px}.review-continue{color:#21160a;background:var(--orange);border:0;width:100%;margin:5px 0 10px;padding:10px;font-size:8px;font-weight:850}.pipeline-log{color:#7f8c83;gap:4px;max-height:100px;font:700 7px/1.35 ui-monospace,Consolas,monospace;display:grid;overflow:auto}.route-compliance-warning{color:#d8bd9d;background:#20170f;border:1px solid #6f4a28;gap:7px;margin-top:15px;padding:13px;display:grid}.route-compliance-warning strong{color:var(--orange);font-size:9px}.route-compliance-warning span,.route-compliance-warning small{font-size:8px}.runpod-panel{background:linear-gradient(145deg,#101711,#0b110d);border:1px solid #385143;gap:12px;margin:0 0 16px;padding:15px;display:grid}.runpod-panel>header{justify-content:space-between;align-items:start;gap:12px;display:flex}.runpod-panel>header span{color:var(--cyan);letter-spacing:.12em;font:850 7px/1 ui-monospace,Consolas,monospace}.runpod-panel>header h3{margin:7px 0 0;font-size:15px}.runpod-panel>header b{color:#8e9991;background:#171d18;border:1px solid #354038;padding:6px 8px;font:850 7px/1 ui-monospace,Consolas,monospace}.runpod-panel>header b.ready{color:#172009;background:var(--acid);border-color:var(--acid)}.runpod-panel>header b.estimate{color:#e6ca9e;border-color:#795d32}.runpod-panel>header b.offline{color:#ae8c8c;border-color:#684040}.runpod-panel>dl{border:1px solid #2d3931;grid-template-columns:repeat(3,1fr);margin:0;display:grid}.runpod-panel>dl div{border-bottom:1px solid #2d3931;border-right:1px solid #2d3931;min-width:0;padding:10px}.runpod-panel>dl dt{color:var(--dim);font-size:7px}.runpod-panel>dl dd{text-overflow:ellipsis;white-space:nowrap;margin:6px 0 0;font:800 9px/1.2 ui-monospace,Consolas,monospace;overflow:hidden}.runpod-panel>p,.runpod-panel>small{color:#839088;margin:0;font-size:8px;line-height:1.5}.runpod-panel>small{color:#c9ad7c;display:block}.runpod-actions{flex-wrap:wrap;gap:6px;display:flex}.runpod-actions button{color:#b9c5bd;background:#161d18;border:1px solid #354139;min-height:34px;padding:0 10px;font-size:8px;font-weight:850}.runpod-actions button.primary{color:#11150d;background:var(--acid);border-color:var(--acid)}.runpod-actions button.danger{color:#f0a3a3;border-color:#6d3737}.runpod-actions button:disabled{color:#667068;cursor:default;background:#202622;border-color:#303832}.runpod-panel .runpod-error{color:var(--red)}.route-asset-table{gap:10px;margin:4px 0 32px;display:grid}.route-asset-table>article{border:1px solid var(--line);background:#101410;grid-template-columns:230px minmax(0,1fr) 120px;min-height:180px;display:grid}.route-asset-preview{border-right:1px solid var(--line);min-width:0}.route-asset-preview>*{height:100%;min-height:180px}.route-asset-main{min-width:0;padding:18px}.route-asset-main>span{color:var(--mint);font:800 8px/1 ui-monospace,Consolas,monospace}.route-asset-main>span.quality_warning{color:var(--orange)}.route-asset-main h2{margin:9px 0 5px;font-size:18px}.route-asset-main>small{color:var(--dim);font:700 8px/1 ui-monospace,Consolas,monospace}.route-generation-mode{background:#0b100c;border:1px solid #303a32;grid-template-columns:auto auto 1fr;align-items:baseline;gap:8px;margin-top:11px;padding:9px 10px;display:grid}.route-generation-mode span{color:var(--dim);letter-spacing:.13em;font:800 6px/1 ui-monospace,Consolas,monospace}.route-generation-mode strong{font:900 10px/1 ui-monospace,Consolas,monospace}.route-generation-mode small{color:#7f8b83;text-overflow:ellipsis;white-space:nowrap;font:750 7px/1 ui-monospace,Consolas,monospace;overflow:hidden}.route-generation-mode.official strong{color:var(--cyan)}.route-generation-mode.fastgs strong{color:var(--acid)}.route-generation-mode.fastergs strong{color:var(--orange)}.route-generation-mode.unknown strong{color:#b7aea5}.route-asset-main dl{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:16px 0 0;display:grid}.route-asset-main dl div{padding:10px 8px 0 0}.route-asset-main dt{color:var(--dim);font-size:7px}.route-asset-main dd{text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;font-size:9px;font-weight:800;overflow:hidden}.route-asset-actions{border-left:1px solid var(--line);align-content:center;gap:7px;padding:14px;display:grid}.route-asset-actions a,.route-asset-actions button{color:#b8c2bb;text-align:center;background:#151a16;border:1px solid #303a32;padding:10px;font-size:8px;font-weight:850;text-decoration:none}.route-asset-actions .primary{color:#10150c;background:var(--acid);border-color:var(--acid)}@media (width<=1350px){.portal-header{grid-template-columns:330px 1fr 320px}.asset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.recent-assets .asset-card:nth-child(4){display:none}.portal-hero{grid-template-columns:minmax(420px,.8fr) minmax(580px,1.2fr)}.hero-copy{padding-left:44px;padding-right:44px}.route-control-page{grid-template-columns:minmax(480px,1fr) 260px minmax(390px,.85fr)}}.portal-admin-menu{position:relative}.portal-admin-menu summary{color:#a7b0aa;border:1px solid var(--line);background:#111611;padding:10px 13px;font-size:11px;font-weight:800;list-style:none}.portal-admin-menu summary::-webkit-details-marker{display:none}.portal-admin-menu[open] button{z-index:30;width:190px;color:var(--text);background:#111611;border:1px solid #4a574c;padding:12px;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 18px 45px #00000073}.portal-refreshing{z-index:40;color:#11170c;background:var(--acid);padding:9px 12px;font-size:11px;font-weight:800;position:fixed;top:84px;right:18px;box-shadow:0 10px 30px #00000057}.current-work-card{background:#101510;border:1px solid #3a473c;gap:14px;margin-top:28px;padding:18px;display:grid}.current-work-card>div span,.current-work-card>div strong,.current-work-card>div small{display:block}.current-work-card>div span{color:var(--acid);letter-spacing:.14em;font:800 9px/1 ui-monospace,Consolas,monospace}.current-work-card>div strong{margin-top:9px;font-size:16px}.current-work-card>div small{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:10px;overflow:hidden}.current-work-card dl{background:var(--line);grid-template-columns:1fr 1.4fr;gap:1px;margin:0;display:grid}.current-work-card dl div{background:#0c110e;padding:11px}.current-work-card dt{color:var(--dim);font-size:10px}.current-work-card dd{margin:6px 0 0;font-size:12px;font-weight:800}.current-work-card>a{color:#11170c;background:var(--acid);justify-self:start;padding:10px 13px;font-size:11px;font-weight:850;text-decoration:none}.asset-mode-badge.nerfstudio b,.route-generation-mode.nerfstudio strong{color:#7ee6ff}.library-filters{justify-content:space-between;align-items:end;gap:18px;display:flex}.library-filter-buttons{flex-wrap:wrap;gap:7px;display:flex}.library-filter-buttons button{color:#aeb7b1;background:#111611;border:1px solid #344037;padding:10px 14px;font-size:11px;font-weight:800}.library-filter-buttons button.active{color:#11170c;background:var(--acid);border-color:var(--acid)}.library-filter-buttons button:disabled{opacity:.42;cursor:default}.library-empty{color:#9ca7a0;text-align:center;border:1px dashed #354138;place-items:center;gap:8px;min-height:220px;margin:20px 0;display:grid}.library-empty strong{color:var(--text)}.route-assets-details{border-top:1px solid var(--line);margin-top:32px}.route-assets-details>summary{color:#909b94;cursor:pointer;padding:18px 0;font-size:11px;font-weight:800}@media (width<=1100px){.portal-header-actions{padding:0 14px}.portal-hero{grid-template-columns:1fr}.hero-copy{border-right:0;padding:48px 32px}.hero-visual{border-top:1px solid var(--line);min-height:420px}.management-flow{grid-template-columns:repeat(4,minmax(0,1fr))}.route-control-page{grid-template-columns:1fr}.route-map-panel,.route-list-panel,.route-detail-panel{border-right:0;border-bottom:1px solid var(--line)}.library-grid,.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.route-asset-table>article{grid-template-columns:190px minmax(0,1fr)}.route-asset-actions{border-top:1px solid var(--line);border-left:0;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=720px){.portal-brand{padding:12px 14px}.portal-brand strong{font-size:14px}.portal-brand small{display:none}.portal-header-actions{padding:8px 12px}.portal-header nav button{padding:12px 8px;font-size:10px}.hero-copy{padding:34px 18px}.hero-copy h1{font-size:clamp(31px,11vw,48px)}.hero-actions{grid-template-columns:1fr;display:grid}.hero-actions a,.hero-actions button{text-align:center}.current-work-card dl,.portal-stats{grid-template-columns:1fr 1fr}.hero-visual{min-height:330px}.hero-asset-info{bottom:24px;left:20px;right:20px}.hero-asset-info strong{overflow-wrap:anywhere;font-size:18px}.management-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.library-heading,.library-filters{flex-direction:column;align-items:stretch}.library-page{padding:28px 16px 60px}.library-grid,.asset-grid,.route-asset-table>article{grid-template-columns:1fr}.route-asset-preview{border-right:0;border-bottom:1px solid var(--line)}.route-asset-main dl,.route-asset-actions{grid-template-columns:1fr 1fr}}.create-flow-page{max-width:1500px;margin:0 auto;padding:42px 46px 80px}.create-flow-heading{border-bottom:1px solid var(--line);grid-template-columns:1fr 420px;align-items:end;gap:32px;padding-bottom:28px;display:grid}.create-flow-heading span,.flow-step header span,.flow-finish span{letter-spacing:.18em;color:var(--mint);font:800 9px/1 ui-monospace,Consolas,monospace}.create-flow-heading h1{margin:9px 0 10px;font-size:36px}.create-flow-heading p{max-width:760px;color:var(--muted);line-height:1.7}.create-flow-summary{background:#111711;border:1px solid #40513e;padding:18px 20px}.create-flow-summary small,.create-flow-summary strong,.create-flow-summary span{display:block}.create-flow-summary small{color:var(--dim);font-size:10px}.create-flow-summary strong{color:var(--acid);margin:8px 0;font-size:13px}.create-flow-summary span{color:var(--muted);letter-spacing:0;font:600 10px/1.5 inherit}.flow-step{border-bottom:1px solid var(--line);grid-template-columns:230px 1fr;gap:28px;padding:30px 0;display:grid}.flow-step>header{align-items:flex-start;gap:15px;display:flex}.flow-step>header b{width:42px;height:42px;color:var(--acid);border:1px solid #42513f;place-items:center;font:900 12px/1 ui-monospace,monospace;display:grid}.flow-step h2{margin:7px 0 0;font-size:19px}.flow-options{gap:10px;display:grid}.flow-options.two{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-options.three{grid-template-columns:repeat(3,minmax(0,1fr))}.flow-option{min-height:132px;color:var(--text);text-align:left;background:#101510;border:1px solid #303b31;flex-direction:column;align-items:flex-start;padding:18px;text-decoration:none;display:flex;position:relative}.flow-option:hover,.flow-option.selected{border-color:var(--acid);background:#151c13}.flow-option.selected:after{content:"SELECTED";color:var(--acid);letter-spacing:.12em;font:800 8px/1 ui-monospace,monospace;position:absolute;top:13px;right:13px}.flow-option i{color:#15180f;background:var(--acid);margin-bottom:13px;padding:4px 7px;font:800 8px/1 ui-monospace,monospace}.flow-option strong{font-size:15px}.flow-option span{color:var(--muted);margin-top:8px;font-size:11px;line-height:1.65}.flow-option small{color:var(--orange);margin-top:auto;padding-top:10px;font-size:10px}.flow-option select{width:100%;color:var(--text);background:#0c100d;border:1px solid #354137;margin-top:auto;padding:9px}.flow-honesty{color:var(--orange);grid-column:2;margin:10px 0 0;font-size:10px}.flow-finish{background:linear-gradient(90deg,#121a10,#0c120d);border:1px solid #455540;justify-content:space-between;align-items:center;gap:30px;margin-top:30px;padding:24px;display:flex}.flow-finish strong{margin:8px 0;font-size:18px;display:block}.flow-finish p{color:var(--muted);margin:0;font-size:11px}.flow-finish button{color:#11170c;background:var(--acid);white-space:nowrap;border:0;padding:14px 22px;font-weight:850}@media (width<=1150px){.create-flow-heading,.flow-step{grid-template-columns:1fr}.flow-options.three{grid-template-columns:1fr 1fr}.flow-honesty{grid-column:1}}.create-mode-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:620px;margin:24px 0 4px;display:grid}.create-mode-switch button{color:var(--text);text-align:left;background:#0d120f;border:1px solid #354137;flex-direction:column;align-items:flex-start;gap:5px;padding:16px 18px;display:flex}.create-mode-switch button.active{color:#11170c;background:var(--acid);border-color:var(--acid)}.create-mode-switch span{opacity:.72;font-size:11px}@media (width<=720px){.create-flow-page{padding:24px 18px 60px}.create-flow-heading h1{font-size:28px}.flow-options.two,.flow-options.three,.create-mode-switch{grid-template-columns:1fr}.flow-finish{flex-direction:column;align-items:stretch}.flow-finish button{width:100%}}.flow-option i.experimental{color:#fff0e8;background:#a74724}.flow-inline-setting{background:#101510;border:1px solid #40513e;grid-column:2;grid-template-columns:minmax(300px,520px) 1fr;align-items:center;gap:18px;margin-top:12px;padding:14px 16px;display:grid}.flow-inline-setting label{color:var(--text);grid-template-columns:130px 1fr;align-items:center;gap:12px;font-size:11px;display:grid}.flow-inline-setting select{min-width:0;color:var(--text);background:#0c100d;border:1px solid #4a594b;padding:10px}.flow-inline-setting p{color:var(--muted);margin:0;font-size:10px;line-height:1.6}@media (width<=1150px){.flow-inline-setting{grid-column:1;grid-template-columns:1fr}.flow-inline-setting label{grid-template-columns:1fr}}.portal-header{grid-template-columns:minmax(260px,.9fr) minmax(360px,1fr) minmax(150px,.55fr)}.portal-header nav button{min-width:108px;padding-inline:14px}@media (width<=900px){.portal-header{grid-template-columns:1fr auto;height:auto}.portal-header nav{grid-area:2/1/auto/-1}.portal-header nav button{flex:1;min-width:0}}
