:root{--ink:#0f1419;--ink-2:#2a3340;--ink-3:#5a6573;--ink-4:#8c95a0;--paper:#f7f4ed;--paper-2:#efe9dc;--line:#d8d2c4;--line-2:#b8b1a1;--navy:#102a43;--navy-2:#1a3a5c;--gold:#b08a3e;--gold-2:#d4ac5a;--green:#356d4a;--red:#a13d3d;--amber:#b66e1a}*{box-sizing:border-box}html,body{margin:0;height:100%;overscroll-behavior:none}#root{flex:1;min-height:0;display:flex;flex-direction:column}body{background:var(--paper);color:var(--ink);font-family:IBM Plex Sans,system-ui,sans-serif;font-size:13.5px;line-height:1.5;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100vh;height:100dvh;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}input,textarea,select{-webkit-user-select:auto;user-select:auto;touch-action:auto}.panel,.plan-side,.rail{touch-action:pan-y}.mono,.num{font-family:IBM Plex Mono,ui-monospace,Consolas,monospace;font-feature-settings:"tnum" 1}.serif{font-family:"IBM Plex Serif",Georgia,serif}sub,sup{font-size:.72em;line-height:0}header{background:var(--ink);color:var(--paper);border-bottom:3px solid var(--gold);flex:none;padding-top:env(safe-area-inset-top)}.head-in{padding:8px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.head-mark{font-family:"IBM Plex Serif";font-weight:600;font-size:19px;color:var(--gold-2);border-right:1px solid var(--ink-2);padding-right:14px;display:inline-flex;align-items:center;gap:8px}.head-mark img{height:22px;width:auto;display:block}header h1{margin:0;font-family:"IBM Plex Serif";font-size:15px;font-weight:600}header .sub{margin-left:auto;font-family:IBM Plex Mono;font-size:11px;color:var(--ink-4)}.help-btn{font-family:IBM Plex Mono;font-size:11px;color:var(--paper);background:transparent;border:1px solid var(--ink-2);padding:6px 12px;cursor:pointer;min-height:32px}.help-btn:hover{background:var(--ink-2)}.badge-warn{font-family:IBM Plex Mono;font-size:11px;color:var(--ink);background:var(--gold-2);border:1px solid var(--gold);padding:5px 10px;cursor:pointer;min-height:30px}.badge-warn:hover{background:var(--gold)}.split-wrap{position:relative;display:inline-flex}.split-menu{position:absolute;top:calc(100% + 5px);right:0;z-index:41;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line-2);box-shadow:0 6px 18px #0f141947;min-width:180px}.split-menu button{font-family:IBM Plex Mono;font-size:11px;text-align:left;padding:10px 12px;border:none;background:var(--paper);color:var(--ink-2);cursor:pointer;border-bottom:1px solid var(--line)}.split-menu button:last-child{border-bottom:none}.split-menu button:hover{background:var(--navy);color:var(--gold-2);font-weight:600}.menu-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.banner{display:flex;align-items:center;gap:10px;padding:6px 14px;font-size:12px;color:#fff}.banner.err{background:var(--red)}.banner.warn{background:var(--amber)}.banner.info{background:var(--navy)}.banner .x{margin-left:auto;background:none;border:none;color:#fff;cursor:pointer;font-size:14px;line-height:1;padding:0 2px}.shell{flex:1;display:flex;min-height:0;min-width:0;overflow:hidden}.rail{width:150px;flex:none;background:var(--paper-2);border-right:1px solid var(--line);padding:8px 0;overflow:auto}.rail .step{display:flex;gap:9px;align-items:center;padding:12px 14px;cursor:pointer;font-size:12.5px;color:var(--ink-3);border-left:3px solid transparent}.rail .step:hover{background:#fff}.rail .step.on{background:#fff;color:var(--ink);border-left-color:var(--gold);font-weight:600}.rail .step .n{font-family:IBM Plex Mono;font-size:10px;color:var(--ink-4);width:14px}.main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.panel{flex:1;overflow:auto;padding:16px 20px;display:none;-webkit-overflow-scrolling:touch}.panel.on{display:block}.panel.split{display:none;padding:0;overflow:hidden;min-width:0}.panel.split.on{display:flex}h2.title{margin:0 0 3px;font-family:IBM Plex Mono;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--navy)}.hint{color:var(--ink-3);font-size:12px;margin:0 0 14px}.card{background:#fff;border:1px solid var(--line);margin-bottom:16px}.card-h{padding:9px 16px;border-bottom:1px solid var(--line);background:var(--paper-2);font-family:IBM Plex Mono;font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-2);font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:8px}.card-b{padding:14px 16px}table.t{border-collapse:collapse;width:100%;font-size:12.5px}table.t th,table.t td{border:1px solid var(--line);padding:6px 8px;text-align:center}table.t th{background:var(--paper-2);color:var(--ink-3);font-family:IBM Plex Mono;font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;font-weight:600}table.t td.l{text-align:left}table.t td.out{font-family:IBM Plex Mono;background:var(--paper-2);color:var(--navy);font-weight:600}table.t tr.click{cursor:pointer}table.t tr.click:hover td{background:#fbf7ec}table.t tr.sel td{background:#fbf3df}input.f{font-family:IBM Plex Mono;width:72px;padding:7px 6px;border:1px solid var(--line-2);font-size:13px;text-align:right;background:#fffdf7;color:var(--ink)}input.f:focus{outline:none;border-color:var(--gold);background:#fff}input.txt{font-family:IBM Plex Sans;width:110px;text-align:left}textarea.f{padding:6px;border:1px solid var(--line-2);font-size:13px;background:#fffdf7;color:var(--ink)}textarea.f:focus{outline:none;border-color:var(--gold);background:#fff}select.f{font-family:IBM Plex Mono;font-size:13px;padding:6px 5px;border:1px solid var(--line-2);background:#fffdf7;color:var(--ink)}select.f:focus{outline:none;border-color:var(--gold)}input[type=checkbox]{accent-color:var(--navy);width:17px;height:17px}input[type=range]{accent-color:var(--gold)}.pill{font-family:IBM Plex Mono;font-size:9.5px;font-weight:600;padding:2px 7px;text-transform:uppercase;letter-spacing:.08em;border:1px solid;white-space:nowrap}.pill.ok{color:var(--green);border-color:var(--green);background:#356d4a12}.pill.bad{color:var(--red);border-color:var(--red);background:#a13d3d12}.pill.warn{color:var(--amber);border-color:var(--amber);background:#b66e1a14}.pill.skip{color:var(--ink-3);border-color:var(--line-2);background:var(--paper-2)}.btn{font-family:IBM Plex Sans;font-size:12.5px;border:1px solid var(--line-2);background:#fff;padding:8px 14px;cursor:pointer;color:var(--ink);min-height:36px}.btn:hover{background:var(--paper-2)}.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--ink);font-weight:600}.btn.on{background:var(--navy);color:var(--gold-2);border-color:var(--navy);font-weight:600}.btn-danger{color:var(--red);border-color:var(--red)}.btn-danger:hover{background:var(--red);color:#fff}.btn[disabled]{opacity:.45;cursor:default}.xbtn{border:none;background:none;color:var(--red);cursor:pointer;font-size:15px;padding:4px 8px}.xbtn[disabled]{color:var(--line-2);cursor:default}.plan-wrap{flex:1;display:flex;min-height:0;min-width:0;overflow:hidden}.plan-mid{flex:1;min-width:0;display:flex;flex-direction:column}.plan-canvas-box{flex:1;position:relative;background:#fff;min-height:0;touch-action:none}.plan-canvas-box canvas{display:block;width:100%;height:100%}.plan-side{width:300px;flex:none;overflow:auto;padding:12px;background:var(--paper);border-left:1px solid var(--line);position:relative;-webkit-overflow-scrolling:touch}.toggle{display:inline-flex;border:1px solid var(--line-2);overflow:hidden;background:#fff}.toggle button{border:none;background:#fff;padding:8px 11px;font-family:IBM Plex Mono;font-size:11.5px;cursor:pointer;color:var(--ink-3);border-right:1px solid var(--line)}.toggle button:last-child{border-right:none}.toggle button.on{background:var(--navy);color:var(--gold-2);font-weight:600}.toggle button:hover:not(.on){background:var(--paper-2)}.actionstrip{width:64px;flex:none;display:flex;flex-direction:column;gap:4px;background:var(--paper-2);border-right:1px solid var(--line);padding:8px 5px;overflow-y:auto}.actionstrip .ab{display:flex;flex-direction:column;align-items:center;gap:1px;font-size:17px;border:1px solid var(--line-2);background:#fff;color:var(--ink-3);cursor:pointer;padding:7px 0;min-height:50px}.actionstrip .ab span{font-family:IBM Plex Mono;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.actionstrip .ab.on{background:var(--navy);color:var(--gold-2);border-color:var(--navy);font-weight:600}.actionstrip .ab:hover:not(.on){background:var(--paper-2)}.actionstrip .ab.sm{min-height:42px;font-size:14px}.actionstrip .sep{height:1px;background:var(--line);margin:4px 0;flex:none}.selpop{position:absolute;left:10px;bottom:10px;z-index:7;background:var(--paper);border:1px solid var(--line-2);border-top:3px solid var(--gold);box-shadow:0 5px 18px #0f141940;min-width:200px;max-width:min(300px,calc(100% - 20px))}.selpop-h{font-family:IBM Plex Mono;font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:var(--paper);background:var(--ink);padding:6px 10px;display:flex;justify-content:space-between;align-items:center;gap:8px}.selpop-h .x{background:none;border:none;color:var(--paper);cursor:pointer;font-size:13px;padding:0 3px}.selpop-h .toggle button{padding:3px 9px;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.selpop-f{display:flex;flex-direction:column;gap:8px;padding:10px 12px;max-width:300px;max-height:min(340px,55vh);overflow-y:auto}.selpop-f label{font-size:11.5px;color:var(--ink-3);display:flex;align-items:center;justify-content:space-between;gap:6px;font-family:IBM Plex Sans}.selpop-f .btn{min-height:34px}.siderail{width:118px;flex:none;overflow-y:auto;padding:10px 8px;background:var(--paper);border-left:1px solid var(--line);display:flex;flex-direction:column;gap:5px}.siderail .btn{width:100%;min-height:36px;padding:5px 6px;font-size:12px}.siderail select.f{width:100%}.siderail .sr-h{font-family:IBM Plex Mono;font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-4);font-weight:600;margin-top:2px}.siderail .sr-sep{height:1px;background:var(--line);margin:6px 0;flex:none}.siderail .sr-cnt{font-family:IBM Plex Mono;font-size:10.5px;color:var(--amber);font-weight:600;text-align:center}.polyactions{position:absolute;z-index:7;display:flex;gap:5px}.polyactions .btn{font-size:15px;min-width:44px}.planbar{flex:none;display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--paper-2);border-bottom:1px solid var(--line);padding:6px 12px;font-family:IBM Plex Mono;font-size:11px;color:var(--ink-2)}.planbar .lb{font-family:IBM Plex Mono;font-size:11.5px;border:1px solid var(--line-2);background:#fff;padding:7px 12px;cursor:pointer;color:var(--ink-3);min-height:34px}.planbar .lb.on{background:var(--gold);border-color:var(--gold);color:var(--ink);font-weight:600}.planbar .lb:hover:not(.on){background:var(--paper-2)}.planbar .btn{min-height:34px;padding:5px 11px}.pbsep{width:1px;align-self:stretch;background:var(--line);margin:0 3px}.pbgrow{margin-left:auto;display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}.statusbar{flex:none;display:flex;gap:16px;align-items:center;background:var(--paper-2);border-top:1px solid var(--line);padding:5px 12px;font-family:IBM Plex Mono;font-size:11px;color:var(--ink-3);white-space:nowrap;overflow:hidden;padding-bottom:calc(5px + env(safe-area-inset-bottom))}.statusbar .coord{color:var(--navy);font-weight:600;min-width:130px}.statusbar label{display:flex;align-items:center;gap:4px;cursor:pointer}.statusbar .msg{margin-left:auto;color:var(--ink-4);overflow:hidden;text-overflow:ellipsis}.dropzone{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#f7f4edeb;border:2px dashed var(--gold);z-index:9;font-family:IBM Plex Mono;color:var(--navy)}.marquee{position:absolute;z-index:5;border:1.5px dashed var(--gold);background:#d4ac5a1f;pointer-events:none}.isobar{flex:none;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--paper-2);border-bottom:1px solid var(--line);padding:6px 14px;font-family:IBM Plex Mono;font-size:10.5px;color:var(--ink-2)}.isobar .btn{font-size:11px;padding:4px 10px;min-height:30px}.trib-lbl{font-family:IBM Plex Mono;font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);font-weight:600}.ulhint{color:var(--ink-4);font-size:9.5px}.ulpanel{position:absolute;bottom:10px;right:12px;z-index:3;width:288px;max-width:calc(100% - 20px);background:#f7f4edf7;border:1px solid var(--line-2);border-top:3px solid var(--gold);font-family:IBM Plex Mono;font-size:12px;color:var(--ink-2);box-shadow:0 4px 18px #0f14192e;overflow:hidden}.ulp-head{display:flex;align-items:center;gap:6px;background:var(--ink);color:var(--paper);padding:6px 10px;flex-wrap:wrap}.ulp-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;letter-spacing:.02em}.ulp-head .ulp-file{flex:1;min-width:0;background:var(--ink-2);color:var(--paper);border-color:var(--ink-2)}.ulp-acts{display:flex;align-items:center;gap:2px;flex:none;margin-left:auto;order:1}.ulp-pages{display:flex;align-items:center;justify-content:center;gap:2px;order:2;flex:1 0 100%;margin:2px -10px -6px;padding:2px 10px 4px;border-top:1px solid var(--ink-2)}.ulp-pages button{border:none;background:var(--ink-2);color:var(--gold-2);font-family:IBM Plex Mono;font-size:13px;padding:3px 9px;min-height:30px;cursor:pointer}.ulp-pages button:hover{background:var(--navy-2)}.ulp-pages button.add{color:var(--paper);font-size:12px}.ulp-pages em{font-style:normal;font-size:12px;padding:0 2px 0 0;color:var(--gold-2)}.ulp-page{width:38px;text-align:center;font-family:IBM Plex Mono;font-size:12px;color:var(--gold-2);background:var(--ink);border:1px solid var(--ink-2);padding:5px 2px;min-height:30px}.ulp-page:focus{outline:none;border-color:var(--gold);background:var(--navy-2)}.ulp-pages em i{font-style:normal;color:var(--ink-4)}.ulp-x{border:none;background:none;color:var(--ink-4);font-size:13px;padding:4px 6px;cursor:pointer;min-height:30px}.ulp-x:hover{color:var(--gold-2)}.ulp-sec{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 10px;border-top:1px solid var(--line)}.ulp-sec:first-of-type{border-top:none}.ulp-lbl{flex:none;width:54px;font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-4);font-weight:600}.ulp-seg{display:flex;flex:none}.ulp-seg button{font-family:IBM Plex Mono;font-size:11.5px;border:1px solid var(--line-2);background:#fff;padding:7px 9px;min-height:34px;cursor:pointer;color:var(--ink-3);margin-left:-1px;white-space:nowrap}.ulp-seg button:first-child{margin-left:0}.ulp-seg button:hover{background:var(--paper-2)}.ulp-seg button.on{background:var(--gold);color:#fff;border-color:var(--gold);position:relative;z-index:1}.ulp-file{font-family:IBM Plex Mono;font-size:11.5px;border:1px solid var(--line-2);background:#fff;color:var(--ink-2);padding:6px 5px;min-height:34px;min-width:0}.ulp-sec .ulp-file{flex:1}.ulp-grid{display:flex;align-items:center;gap:8px;flex:1 0 100%;padding-left:62px}.ulp-grid label,.ulp-tilt{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--ink-4)}.ulp-tilt{margin-left:auto}.ulp-sec input.f{padding:6px 5px;font-size:12.5px}.insp-grid{display:flex;flex-direction:column;gap:9px}.insp-grid label{font-size:11.5px;color:var(--ink-3);display:flex;align-items:center;justify-content:space-between;gap:6px}.insp-grid .chk{justify-content:flex-start;color:var(--ink-2)}.kv{font-family:IBM Plex Mono;font-size:12px;background:var(--paper-2);border-left:3px solid var(--gold);padding:8px 10px;margin:10px 0;line-height:1.7}.empty{color:var(--ink-4);font-family:IBM Plex Mono;font-size:12px;padding:30px;text-align:center}.shortcut-tbl td{font-size:12px;padding:3px 10px 3px 0}.shortcut-tbl td.k{font-family:IBM Plex Mono;font-weight:600;color:var(--navy)}.dlgveil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#0f14198c;display:flex;align-items:flex-start;justify-content:center;padding-top:16vh}.dlgcard{background:var(--paper);border:1px solid var(--line-2);border-top:3px solid var(--gold);box-shadow:0 10px 40px #0f141959;width:min(400px,90vw)}.dlg-h{font-family:IBM Plex Mono;font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:var(--paper);background:var(--ink);padding:6px 12px}.dlg-b{padding:14px 16px;font-size:13px;color:var(--ink-2)}.dlg-b p{margin:0 0 6px}.dlg-r{display:flex;gap:8px;justify-content:flex-end;padding:0 16px 14px}.dlg-r .btn{min-height:38px;min-width:84px}.dlg-r.stack{flex-direction:column;align-items:stretch;gap:7px}.dlg-r.stack .btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:9px 13px;min-height:44px}.dlg-r.stack .btn-hint{font-size:11px;color:var(--ink-3);font-weight:400;line-height:1.35}.dlg-r.stack .btn.gold .btn-hint{color:var(--ink-2)}.dlg-r.stack .btn.quiet{background:transparent;border-color:transparent;color:var(--ink-3);min-height:34px;align-items:center;text-align:center}.dlg-r.stack .btn.quiet:hover{border-color:var(--line-2)}.cloudveil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#0f14198c;display:flex;align-items:flex-start;justify-content:center;padding-top:8vh}.cloudcard{background:var(--paper);border:1px solid var(--line-2);box-shadow:0 10px 40px #0f141959;width:min(480px,92vw);max-height:86vh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.cloudcard>.card-h{position:sticky;top:0;z-index:2}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.photo-card{border:1px solid var(--line);background:#fff;cursor:pointer}.photo-card img{display:block;width:100%;height:120px;object-fit:cover}.photo-card .pc-b{padding:6px 8px;font-family:IBM Plex Mono;font-size:10.5px;color:var(--ink-3);display:flex;justify-content:space-between;align-items:center}.photo-card .pc-b b{color:var(--navy)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0f1419e0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.lightbox img{max-width:92vw;max-height:78vh;border:2px solid var(--gold)}.lightbox .lb-cap{color:var(--paper);font-family:IBM Plex Mono;font-size:12px}.lightbox .lb-x{position:absolute;top:14px;right:16px;background:none;border:1px solid var(--ink-3);color:#fff;font-size:16px;padding:6px 14px;cursor:pointer}.markchip{display:inline-block;font-family:IBM Plex Mono;font-size:10.5px;font-weight:600;border:1.5px solid var(--navy);color:var(--navy);padding:2px 8px;background:#fff}.home{position:fixed;top:0;right:0;bottom:0;left:0;z-index:65;overflow:auto;touch-action:pan-y;-webkit-overflow-scrolling:touch;background:radial-gradient(120% 90% at 22% 0%,#1d3f63,#1d3f6300 60%),linear-gradient(160deg,#12222f,#0f1419 55%,#0b0e12)}.home:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(176,138,62,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(176,138,62,.09) 1px,transparent 1px),linear-gradient(rgba(176,138,62,.17) 1px,transparent 1px),linear-gradient(90deg,rgba(176,138,62,.17) 1px,transparent 1px);background-size:26px 26px,26px 26px,130px 130px,130px 130px;-webkit-mask-image:radial-gradient(120% 100% at 25% 8%,#000 0%,rgba(0,0,0,.25) 68%,transparent 100%);mask-image:radial-gradient(120% 100% at 25% 8%,#000 0%,rgba(0,0,0,.25) 68%,transparent 100%)}.home-sheet{position:relative;min-height:100%;display:flex;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.home-in{position:relative;flex:1;display:flex;flex-direction:column;gap:clamp(16px,3vh,32px);border:1px solid rgba(212,172,90,.34);padding:clamp(20px,4vw,46px)}.home-in:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px solid rgba(212,172,90,.13);pointer-events:none}.home-brand{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.home-brand img{height:clamp(30px,4vw,40px);width:auto;display:block;opacity:.95}.home-brand .mk{font-family:"IBM Plex Serif";font-weight:600;font-size:clamp(19px,2.4vw,25px);color:var(--gold-2)}.home-brand .ln{font-family:IBM Plex Mono;font-size:10px;text-transform:uppercase;letter-spacing:.22em;color:#8b96a4;border-left:1px solid rgba(212,172,90,.3);padding-left:12px}.home-body{flex:1;display:flex;gap:clamp(20px,4vw,52px);align-items:stretch;flex-wrap:wrap}.home-col{flex:2 1 380px;min-width:0;display:flex;flex-direction:column;gap:clamp(16px,3vh,32px)}.home-hero .eyebrow{margin:0 0 10px;font-family:IBM Plex Mono;font-size:10.5px;text-transform:uppercase;letter-spacing:.24em;color:var(--gold)}.home-hero h1{margin:0;font-family:"IBM Plex Serif";font-weight:600;line-height:1.03;letter-spacing:-.015em;color:var(--paper);font-size:clamp(32px,6.2vw,58px)}.home-hero h1:after{content:"";display:block;width:74px;height:2px;background:var(--gold);margin-top:18px}.home-hero .lede{margin:16px 0 0;max-width:46ch;color:#96a2b0;font-size:14px;line-height:1.65}.home-acts{display:flex;flex-direction:column;gap:9px;width:100%;max-width:640px}.home-tile{display:flex;align-items:center;gap:14px;width:100%;text-align:left;cursor:pointer;color:var(--paper);background:#f7f4ed09;border:1px solid rgba(247,244,237,.12);border-left:3px solid transparent;padding:13px 16px;min-height:62px;transition:background .15s,border-color .15s,transform .15s}.home-tile:hover{background:#f7f4ed14;border-left-color:var(--gold);transform:translate(3px)}.home-tile .n{font-family:IBM Plex Mono;font-size:10px;color:#6d7887;width:16px;flex:none}.home-tile .tx{display:flex;flex-direction:column;gap:2px;min-width:0}.home-tile .tx b{font-size:14.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-tile .tx i{font-style:normal;font-family:IBM Plex Mono;font-size:10.5px;color:#8b96a4}.home-tile .ar{margin-left:auto;color:var(--gold);font-size:16px;opacity:.55}.home-tile:hover .ar{opacity:1}.home-tile.gold{background:#d4ac5a1f;border-color:#d4ac5a80;border-left-color:var(--gold)}.home-tile.gold:hover{background:#d4ac5a33}.home-tile.gold .tx b{color:var(--gold-2)}.home-foot{margin:auto 0 0;padding-top:14px;max-width:58ch;border-top:1px solid rgba(247,244,237,.08);font-family:IBM Plex Mono;font-size:10.5px;line-height:1.7;color:#6d7887}.home-viz{flex:1 1 300px;min-width:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;pointer-events:none}.viz-svg{width:100%;max-width:380px;height:auto;max-height:42vh;overflow:visible}@media (max-width: 960px){.viz-svg{max-height:23vh}.home-viz{gap:8px}}.v-glow{opacity:0;animation:viz-fade 1.6s 1.4s ease-out both}.v-shadow{fill:#000;opacity:0;transform-box:fill-box;transform-origin:center;animation:shadow-in 1.4s 1.4s ease-out both}.v-wall{fill:url(#vgWall);stroke:#d4ac5a33;stroke-width:.7;opacity:0;animation:viz-fade .9s 2.6s ease-out both}.v-plate{fill:#d4ac5a12;stroke:#d4ac5a4d;stroke-width:.8;opacity:0;animation:viz-fade .7s ease-out both}.v-plate.hi{fill:url(#vgPlate);stroke:#d4ac5a80;stroke-width:1;opacity:0;animation:viz-fade .75s calc(var(--tr) + .45s) ease-out forwards}.v-grid,.v-col,.v-beam{fill:none;stroke-linecap:round;stroke-dasharray:var(--l);stroke-dashoffset:var(--l);animation:viz-draw .95s ease-out both}.v-grid{stroke:#d4ac5a4d;stroke-width:.9}.v-col{stroke:#f7f4edd1;stroke-width:2.2}.v-col.in{stroke:#f7f4ed57;stroke-width:1.5}.v-beam{stroke:var(--gold-2);stroke-width:1.8}.v-beam.in{stroke:#d4ac5a80;stroke-width:1.2}.v-node{fill:var(--gold);opacity:0;animation:viz-fade .4s ease-out both}.v-floor{opacity:0;transform:translateY(var(--drop));animation:viz-fade .45s var(--ts) ease-out forwards,floor-rise 1.05s var(--tr) cubic-bezier(.16,1,.3,1) forwards}.v-pin{fill:var(--gold);stroke:var(--gold);stroke-width:1.4;opacity:0;animation:viz-fade .3s ease-out both,pin-drop .6s cubic-bezier(.34,1.56,.64,1) both}.v-pin circle{fill:var(--gold);stroke:#0f14198c;stroke-width:1}.v-dim{opacity:0;animation:viz-fade .6s ease-out both}.v-dim line{stroke:#d4ac5abf;stroke-width:.9}.v-dim text{fill:var(--gold-2);font-family:IBM Plex Mono;font-size:7.5px;letter-spacing:.04em;text-anchor:middle}.v-scan{opacity:0;animation:scan 9s 3.6s linear infinite}.v-float{animation:float 8s 3s ease-in-out infinite}.v-flow{stroke:#d4ac5a99;stroke-width:1.4;stroke-dasharray:3 5;animation:viz-fade .6s 4.2s ease-out both,viz-march 1.1s 4.2s linear infinite}@keyframes viz-draw{to{stroke-dashoffset:0}}@keyframes viz-fade{0%{opacity:0}to{opacity:1}}@keyframes viz-march{to{stroke-dashoffset:-16}}@keyframes viz-rise{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes floor-rise{to{transform:translateY(0)}}@keyframes shadow-in{0%{opacity:0;transform:scale(.6)}to{opacity:.26;transform:none}}@keyframes pin-drop{0%{transform:translateY(-16px)}to{transform:none}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes scan{0%{opacity:0;transform:translateY(96px)}4%{opacity:1}26%{opacity:1}32%{opacity:0;transform:translateY(-118px)}to{opacity:0;transform:translateY(-118px)}}.viz-cap{margin:0;font-family:IBM Plex Mono;font-size:9.5px;text-transform:uppercase;letter-spacing:.2em;color:#8b96a4;opacity:0;animation:viz-fade .6s 4.3s ease-out both}.viz-cards{display:flex;gap:8px;width:100%;max-width:400px}.viz-card{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;border:1px solid rgba(212,172,90,.3);background:#d4ac5a12;padding:10px 6px 9px;opacity:0;animation:viz-rise .55s cubic-bezier(.16,1,.3,1) both}.viz-card .dg{width:26px;height:25px;fill:none;stroke:var(--gold-2);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.viz-card .dg .dg-dot{fill:var(--gold);stroke:none}.viz-card b{font-size:11px;font-weight:600;color:var(--paper);line-height:1.25}.viz-card i{font-style:normal;font-family:IBM Plex Mono;font-size:8.5px;line-height:1.35;color:#8b96a4}@media (prefers-reduced-motion: reduce){.v-grid,.v-col,.v-beam,.v-plate,.v-node,.v-flow,.v-wall,.v-glow,.v-dim,.v-pin,.v-float,.v-floor,.viz-cap,.viz-card{animation:none;opacity:1;stroke-dashoffset:0;transform:none}.v-shadow{opacity:.26}.v-scan{display:none}.v-flow{stroke-dasharray:3 5}}@media (max-width: 560px){.home-in{padding:18px 16px}.home-tile{min-height:56px;padding:11px 12px}.home-foot{margin-top:18px}.home-viz{display:none}}@media (max-width: 1100px){.rail{width:52px}.rail .step{padding:12px 10px}.rail .step span.lbl{display:none}.actionstrip{width:56px}.siderail{width:104px}.planbar .lb{padding:7px 8px;font-size:11px}}
