@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(./barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(./barlow-latin-400-normal-fsAxiSwU.woff)format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-latin-500-normal-BPAOfeC8.woff2)format("woff2"),url(./barlow-latin-500-normal-C1h8hMer.woff)format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-latin-600-normal-DILqtrty.woff2)format("woff2"),url(./barlow-latin-600-normal-CNwfPWQD.woff)format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(./barlow-latin-700-normal-A9pxMQ4z.woff2)format("woff2"),url(./barlow-latin-700-normal-__SGTsZ1.woff)format("woff")}@font-face{font-family:Anuphan;font-style:normal;font-display:swap;font-weight:400;src:url(./anuphan-thai-400-normal-CYPG-7cc.woff2)format("woff2"),url(./anuphan-thai-400-normal-B8wWdyvX.woff)format("woff")}@font-face{font-family:Anuphan;font-style:normal;font-display:swap;font-weight:500;src:url(./anuphan-thai-500-normal-CZoh8WWr.woff2)format("woff2"),url(./anuphan-thai-500-normal-DOsDZgfO.woff)format("woff")}@font-face{font-family:Anuphan;font-style:normal;font-display:swap;font-weight:600;src:url(./anuphan-thai-600-normal-Co7SjXAc.woff2)format("woff2"),url(./anuphan-thai-600-normal-CeOd1Bty.woff)format("woff")}@font-face{font-family:Anuphan;font-style:normal;font-display:swap;font-weight:700;src:url(./anuphan-thai-700-normal-rOsLv-jZ.woff2)format("woff2"),url(./anuphan-thai-700-normal-B9xfo8qq.woff)format("woff")}:root{--font-ui:"Barlow","Anuphan",system-ui,-apple-system,"Segoe UI",sans-serif;--paper:#faf8f2;--paper-2:#f1eee4;--panel:#fff;--net-bg:#fff;--rail:#f4f1e8;--ink:#26332f;--ink-2:#6c7a73;--ink-3:#9aa69f;--hair:#e6e1d4;--rule:#d9d3c2;--grid:#cfc8b5;--accent:#2b5da8;--accent-ink:#1f4680;--accent-soft:#eaf0fa;--accent-line:#bbd0ee;--clay:#c2691e;--clay-soft:#fbefe1;--gm:#2e7d4f;--bm:#3949ab;--good:#2e7d4f;--warm:#b7791f;--bad:#b23b21;--contour-line:#7c4a246b;--bad-soft:#fbe9e4;--bad-ink:#8e2615;--warn:#d19a12;--warn-soft:#fcf3dc;--warn-ink:#7e5b00;--good-soft:#e6f2ea;--good-ink:#215c3a;--d1:#fbf0d2;--d2:#f2d89b;--d3:#e7b769;--d4:#d9913f;--d5:#be6a2c;--d6:#942;--d7:#68251c;--sh-1:0 1px 2px #4a3c220d, 0 1px 3px #4a3c220a;--sh-2:0 1px 2px #4a3c220d, 0 8px 20px #4a3c2212;--sh-3:0 2px 6px #4a3c220f, 0 18px 44px #4a3c2221;--ring:0 0 0 3px var(--accent-soft);--r1:8px;--r2:12px;--r3:16px;--r4:22px;--hdr:60px;--e:cubic-bezier(.22,.8,.3,1);--e-spring:cubic-bezier(.34,1.42,.5,1);--t1:.12s;--t2:.22s;--t3:.38s;--t4:.62s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;box-sizing:border-box}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{height:100%}body{min-height:100%;color:var(--ink);font:400 15px/1.5 var(--font-ui);font-variant-numeric:tabular-nums;background:radial-gradient(1200px 700px at 12% -10%, #fffdf7 0%, #fffdf700 60%), radial-gradient(900px 600px at 105% 8%, var(--accent-soft) 0%, #eaf0fa00 55%), var(--paper);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);margin:0}body:before{content:"";pointer-events:none;z-index:0;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:-20px}body>*{z-index:1;position:relative}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:var(--accent-soft)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--hair);background-clip:content-box;border:3px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--rule);background-clip:content-box;border:3px solid #0000}::-webkit-scrollbar-track{background:0 0}.top{z-index:30;height:var(--hdr);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--hair);background:linear-gradient(#ffffffeb,#ffffffa8);align-items:center;gap:.9rem;padding:0 1rem 0 1.15rem;display:flex;position:relative}.brandwrap{align-items:center;gap:.6rem;min-width:0;display:flex}.mark{width:28px;height:28px;color:var(--accent);flex:none;display:block}.mark svg{width:100%;height:100%;display:block}.mark .m-ring{transform-origin:50%;animation:26s linear infinite markspin}@keyframes markspin{to{transform:rotate(360deg)}}.brand{letter-spacing:-.01em;white-space:nowrap;background:linear-gradient(92deg,var(--ink) 0%,var(--ink) 40%,var(--accent) 120%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.22rem;font-weight:700}.brand small{color:var(--ink-2);-webkit-text-fill-color:var(--ink-2);margin-left:.55rem;font-size:.82rem;font-weight:400}.actions{align-items:center;gap:.35rem;margin-left:auto;display:flex}.btn{border:1px solid var(--hair);background:var(--panel);color:var(--ink);border-radius:var(--r1);cursor:pointer;box-shadow:var(--sh-1);transition:transform var(--t1) var(--e),box-shadow var(--t2) var(--e),border-color var(--t1) var(--e),background var(--t1) var(--e);padding:.36rem .8rem;font-weight:500;position:relative}.btn:hover{border-color:var(--accent-line);box-shadow:var(--sh-2);transform:translateY(-1px)}.btn:active{box-shadow:var(--sh-1);transform:translateY(0)scale(.985)}.btn.primary{border-color:var(--accent-line);color:var(--accent-ink);background:linear-gradient(180deg,#fff,var(--accent-soft))}.btn.primary:hover{border-color:var(--accent);box-shadow:0 2px 6px #2b5da821,0 10px 24px #2b5da829}.btn.ghost{box-shadow:none;color:var(--ink-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--panel);border-color:var(--hair);color:var(--ink)}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;border-color:var(--hair);transform:none}.btn:disabled:hover{border-color:var(--hair);background:var(--panel)}.btn.small{padding:.16rem .6rem;font-size:.82rem}.btn.ico{border-radius:var(--r1);place-items:center;width:2.1rem;height:2.1rem;padding:0;display:inline-grid}.btn.ico svg{width:17px;height:17px;display:block}.btn.ico.wide{grid-auto-flow:column;gap:.35rem;width:auto;padding:0 .6rem}.btn:after{content:"";opacity:0;transform-origin:0;height:1.5px;transition:transform var(--t2) var(--e),opacity var(--t1) var(--e);background:currentColor;border-radius:2px;position:absolute;bottom:.24rem;left:.7rem;right:.7rem;transform:scaleX(0)}.btn:hover:after{opacity:.28;transform:scaleX(1)}.btn.ico:after,.btn:disabled:after{display:none}.menu{position:relative}.menu>summary{align-items:center;gap:.35rem;list-style:none;display:inline-flex}.menu>summary::-webkit-details-marker{display:none}.menu>summary .chev{transition:transform var(--t2) var(--e)}.menu[open]>summary .chev{transform:rotate(180deg)}.menu-pop{z-index:40;background:var(--panel);border:1px solid var(--hair);border-radius:var(--r2);min-width:14rem;box-shadow:var(--sh-3);transform-origin:100% 0;animation:pop var(--t2) var(--e-spring) both;gap:.1rem;padding:.35rem;display:grid;position:absolute;top:calc(100% + .45rem);right:0}@keyframes pop{0%{opacity:0;transform:scale(.94)translateY(-6px)}to{opacity:1;transform:none}}.menu-item{text-align:left;width:100%;box-shadow:none;border-radius:var(--r1);background:0 0;border:0;align-items:center;gap:.6rem;padding:.45rem .6rem;font-weight:500;display:flex}.menu-item:hover{background:var(--rail);box-shadow:none;border-color:#0000;transform:none}.menu-item:after{display:none}.menu-item svg{width:16px;height:16px;color:var(--ink-3);flex:none}.menu-sep{background:var(--hair);height:1px;margin:.25rem .3rem}.layout{z-index:1;grid-template-columns:minmax(298px,336px) minmax(0,1fr) minmax(268px,322px);gap:12px;min-height:0;padding:12px;display:grid;position:relative}.layout>*{min-height:0}.card{background:var(--panel);border:1px solid var(--hair);border-radius:var(--r3);box-shadow:var(--sh-2)}aside{background:var(--panel);border:1px solid var(--hair);border-radius:var(--r3);box-shadow:var(--sh-2);overscroll-behavior:contain;padding:1rem 1.05rem;overflow:auto}aside.left{animation:slideL var(--t4) var(--e) both}aside.right{animation:slideR var(--t4) var(--e) both;padding-top:0}main{background:var(--panel);border:1px solid var(--hair);border-radius:var(--r3);box-shadow:var(--sh-2);min-width:0;animation:riseIn var(--t4) var(--e) both;flex-direction:column;align-items:center;padding:.85rem 1rem 1rem;display:flex}@keyframes slideL{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:none}}@keyframes slideR{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}@keyframes riseIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.layout.left-hidden{grid-template-columns:minmax(0,1fr) minmax(268px,322px)}.layout.left-hidden aside.left{display:none}.layout.right-hidden{grid-template-columns:minmax(298px,336px) minmax(0,1fr)}.layout.right-hidden aside.right{display:none}.layout.left-hidden.right-hidden{grid-template-columns:minmax(0,1fr)}h2{letter-spacing:-.005em;margin:0 0 .6rem;font-size:.96rem;font-weight:600}h2+.muted{margin-top:-.4rem}section+section{border-top:1px solid var(--hair);margin-top:1.25rem;padding-top:1rem}.muted{color:var(--ink-2)}.small{font-size:.82rem}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.spread{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.spread>h2,.spread>.btn{white-space:nowrap;flex:none}.spread>span{min-width:0}.stagebar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;width:100%;max-width:980px;margin-bottom:.5rem;display:flex}.chips{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem;display:flex}.chip{color:var(--ink-2);background:var(--rail);border:1px solid var(--hair);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.16rem .6rem;font-size:.78rem;display:inline-flex}.chip b{color:var(--ink);font-size:.85rem;font-weight:700}.chip .dotc{background:var(--accent);border-radius:50%;width:.5rem;height:.5rem}.chip.warn{background:var(--clay-soft);color:#8a4a15;border-color:#efd6bb}.chip.warn b{color:#8a4a15}#netbox{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;position:relative}#net{touch-action:none;cursor:crosshair;display:block}.proj-label{color:var(--ink-2);white-space:nowrap;margin:0;font-size:.82rem}#empty{pointer-events:none;color:var(--ink-2);justify-content:center;align-items:center;padding:1.5rem;display:flex;position:absolute;inset:0}#empty[hidden]{display:none}.empty-card{text-align:left;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--hair);border-radius:var(--r4);max-width:30rem;box-shadow:var(--sh-3);animation:pop var(--t4) var(--e-spring) .25s both;background:#ffffffed;align-items:center;gap:.95rem;padding:.95rem 1.25rem .95rem 1rem;display:flex}.empty-art{width:58px;color:var(--accent);opacity:.95;flex:none}.empty-art circle,.empty-art path,.empty-art line{vector-effect:non-scaling-stroke}.empty-art .dash{stroke-dasharray:var(--len,600);stroke-dashoffset:var(--len,600);animation:drawIn 1.5s var(--e) .15s forwards}.empty-art .dot{opacity:0;animation:dotIn .5s var(--e-spring) forwards}.empty-art .dot:first-of-type{animation-delay:1.05s}.empty-art .dot:nth-of-type(2){animation-delay:1.18s}.empty-art .dot:nth-of-type(3){animation-delay:1.31s}.empty-art .dot:nth-of-type(4){animation-delay:1.44s}.empty-art .dot:nth-of-type(5){animation-delay:1.57s}.empty-art .dot:nth-of-type(6){animation-delay:1.7s}@keyframes drawIn{to{stroke-dashoffset:0}}@keyframes dotIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}#empty p{margin:0;font-size:.93rem;line-height:1.45}#empty b{color:var(--ink);font-weight:600}#tip{background:var(--panel);color:var(--ink);border-radius:var(--r1);pointer-events:none;white-space:nowrap;border:1px solid var(--hair);border-left:3px solid var(--accent);box-shadow:var(--sh-2);animation:pop .14s var(--e-spring) both;z-index:5;padding:.3rem .55rem;font-size:.8rem;position:absolute;transform:translate(12px,-135%)}.scalewrap{width:100%;max-width:980px;animation:tabIn var(--t3) var(--e) both;margin:.55rem 0 0}.scalebar{color:var(--ink-2);align-items:center;gap:.7rem;font-size:.75rem;display:flex}.scalebar .cap{white-space:nowrap}.scalebar .mx{white-space:nowrap;font-variant-numeric:tabular-nums}.scalebar .mx b{color:var(--ink);font-weight:700}.ramps{flex:1;min-width:0}.ramp{border:1px solid var(--hair);border-radius:5px;grid-auto-columns:1fr;grid-auto-flow:column;height:10px;display:grid;overflow:hidden}.ramp i{height:100%;display:block}.ramps .tk{color:var(--ink-3);font-variant-numeric:tabular-nums;grid-auto-columns:1fr;grid-auto-flow:column;margin-top:.18rem;font-size:.68rem;display:grid}.ramps .tk span{text-align:right}.readout{border:1px solid var(--hair);background:var(--rail);border-radius:var(--r2);width:100%;max-width:980px;min-height:2.35rem;color:var(--ink-2);transition:background var(--t2) var(--e),border-color var(--t2) var(--e);margin:.5rem 0 0;padding:.45rem .85rem;font-size:.88rem}.readout:not(:empty){background:var(--panel)}.seg{border:1px solid var(--hair);background:var(--rail);border-radius:10px;flex-wrap:wrap;gap:2px;max-width:100%;padding:2px;display:inline-flex}.seg label{position:relative}.seg input{opacity:0;margin:0;position:absolute;inset:0}.seg span{cursor:pointer;color:var(--ink-2);transition:color var(--t1) var(--e),background var(--t2) var(--e),box-shadow var(--t2) var(--e),transform var(--t1) var(--e);border-radius:8px;padding:.28rem .72rem;font-size:.87rem;font-weight:500;display:block}.seg span:hover{color:var(--ink)}.seg input:checked+span{background:var(--panel);color:var(--accent-ink);box-shadow:var(--sh-1);transform:translateY(-.5px)}.seg input:focus-visible+span{outline:2px solid var(--accent);outline-offset:-2px}.seg input:disabled+span{opacity:.42;cursor:not-allowed}.seg input:disabled+span:hover{color:var(--ink-2)}.seg.tools span{padding:.26rem .42rem;font-size:.82rem}.seg span{white-space:nowrap}.field{align-content:start;gap:.25rem;margin:.55rem 0;display:grid}.field>span{color:var(--ink-2);font-size:.82rem;font-weight:500;line-height:1.3}.field>input,.field>select,.field>textarea{align-self:start}.wedit .field>span{align-items:flex-end;min-height:2.6em;display:flex}.field select{width:100%}select,textarea,input[type=number],input[type=text]{background:var(--panel);border:1px solid var(--hair);border-radius:var(--r1);transition:border-color var(--t1) var(--e),box-shadow var(--t1) var(--e);padding:.32rem .48rem}select:hover,textarea:hover,input[type=number]:hover{border-color:var(--rule)}select:focus,textarea:focus,input[type=number]:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}textarea{resize:vertical;width:100%;min-height:6.5rem;font-size:.85rem}.check{cursor:pointer;transition:background var(--t1) var(--e);border-radius:6px;align-items:center;gap:.55rem;margin:.35rem 0;padding:.12rem .25rem;display:flex}.check:hover{background:var(--rail)}.check input{accent-color:var(--accent);flex:none;width:1rem;height:1rem}input[type=range]{width:100%;accent-color:var(--accent)}#imp{border:1px solid var(--accent-line);border-radius:var(--r2);background:linear-gradient(180deg,var(--accent-soft),var(--panel) 62%);box-shadow:var(--sh-1);animation:pop var(--t3) var(--e-spring) both;margin:.8rem 0;padding:.75rem .8rem}#imp-msg{color:var(--ink-2);margin:.45rem 0;font-size:.82rem}details summary{cursor:pointer;color:var(--ink-2);transition:color var(--t1) var(--e);margin:.6rem 0 .3rem;font-size:.88rem}details summary:hover{color:var(--accent)}details.auto{border:1px solid var(--hair);border-radius:var(--r2);background:var(--panel);box-shadow:var(--sh-1);margin:.2rem 0 .7rem;padding:.4rem .7rem .7rem}details.auto summary{color:var(--ink);margin:.2rem 0;font-weight:600}details.auto[open]{background:linear-gradient(180deg,var(--rail),var(--panel) 40%)}.tablewrap{border:1px solid var(--hair);border-radius:var(--r2);background:var(--panel);max-height:46vh;overflow:auto}table{border-collapse:collapse;width:100%;font-size:.86rem}th{background:var(--rail);text-align:left;border-bottom:1px solid var(--hair);color:var(--ink-2);z-index:1;padding:.36rem .4rem;font-size:.8rem;font-weight:600;position:sticky;top:0}td{border-bottom:1px solid var(--hair);padding:.12rem .28rem}tbody tr{transition:background var(--t1) var(--e)}tbody tr:hover{background:var(--rail)}tbody tr.hl td{background:var(--accent-soft)}.setcard.hl{border-color:var(--c);box-shadow:0 1px 2px #4a3c220d,0 8px 22px color-mix(in srgb,var(--c) 22%,transparent);transform:translateY(-1px)}td.idx{color:var(--ink-3);text-align:right;width:2.6rem;padding-right:.5rem;font-size:.8rem}td input{appearance:textfield;background:0 0;border:1px solid #0000;border-radius:5px;width:100%;min-width:0;padding:.16rem .28rem}td input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}td input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}td input:hover{border-color:var(--hair);background:var(--panel)}td input:focus{border-color:var(--accent);box-shadow:var(--ring);background:var(--panel);outline:none}td input.bad{border-color:var(--bad);color:var(--bad)}td select{background:0 0;border:1px solid #0000;width:100%;min-width:3.2rem;padding:.1rem}.icon{cursor:pointer;color:var(--ink-3);transition:color var(--t1) var(--e),background var(--t1) var(--e),transform var(--t1) var(--e);background:0 0;border:0;border-radius:6px;padding:.1rem .35rem;font-size:1.05rem;line-height:1}.icon:hover{color:var(--bad);background:#fbede9;transform:scale(1.12)}dl{grid-template-columns:1fr auto;gap:.32rem .8rem;margin:0;display:grid}dt{color:var(--ink-2);font-size:.86rem}dd{text-align:right;margin:0;font-weight:600}.tabs{border-bottom:1px solid var(--hair);background:linear-gradient(180deg,var(--panel) 72%,#ffffffbf);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:3;gap:.1rem;margin:0 0 .9rem;padding:.65rem 0 0;display:flex;position:sticky;top:0}.tabs button{white-space:nowrap;cursor:pointer;color:var(--ink-2);transition:color var(--t2) var(--e),background var(--t1) var(--e);background:0 0;border:0;border-radius:8px 8px 0 0;flex:1;padding:.4rem .2rem .5rem;font-size:.88rem;font-weight:600;position:relative}.tabs button:hover{color:var(--ink);background:var(--rail)}.tabs button[aria-selected=true]{color:var(--accent-ink)}.tabs .tab-ink{background:var(--accent);height:2.5px;transition:left var(--t3) var(--e),width var(--t3) var(--e);pointer-events:none;border-radius:2px;position:absolute;bottom:-1px}.tabpanel{animation:tabIn var(--t3) var(--e) both}@keyframes tabIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.tabpanel>section:first-child{border-top:0;margin-top:0;padding-top:0}.setcard{border:1px solid var(--hair);border-radius:var(--r2);background:var(--panel);cursor:pointer;box-shadow:var(--sh-1);transition:transform var(--t2) var(--e),box-shadow var(--t2) var(--e),border-color var(--t1) var(--e);animation:cardIn var(--t3) var(--e) both;margin:.5rem 0;padding:.5rem .65rem .5rem .8rem;position:relative;overflow:hidden}.setcard:before{content:"";background:var(--c);width:4px;transition:width var(--t2) var(--e);position:absolute;top:0;bottom:0;left:0}.setcard:hover{box-shadow:var(--sh-2);border-color:var(--rule);transform:translateY(-1px)}.setcard.sel{border-color:var(--c);box-shadow:0 1px 2px #4a3c220d,0 8px 22px color-mix(in srgb,var(--c) 22%,transparent)}.setcard.sel:before{width:6px}@keyframes cardIn{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:none}}#setlist .setcard:first-child{animation-delay:0s}#setlist .setcard:nth-child(2){animation-delay:45ms}#setlist .setcard:nth-child(3){animation-delay:90ms}#setlist .setcard:nth-child(4){animation-delay:.135s}#setlist .setcard:nth-child(5){animation-delay:.18s}#setlist .setcard:nth-child(6){animation-delay:.225s}.setrow{align-items:center;gap:.45rem;display:flex}.sthumb{flex:none;width:44px;height:44px;margin:-.05rem .1rem -.05rem -.1rem}.sthumb svg{width:100%;height:100%;display:block}.setcard .sw{display:none}.setname{min-width:0;transition:border-color var(--t1) var(--e),background var(--t1) var(--e);background:0 0;border:1px solid #0000;border-radius:6px;flex:1;padding:.12rem .3rem;font-weight:600}.setname:hover{border-color:var(--hair);background:var(--rail)}.setname:focus{border-color:var(--accent);box-shadow:var(--ring);background:var(--panel);outline:none}.setstats{grid-template-columns:1fr auto;gap:.14rem .6rem;margin-top:.35rem;font-size:.83rem}.sw{border:1px solid #4a3c222e;border-radius:3px;flex:none;width:1.3rem;height:.78rem}.wedit{cursor:auto;animation:tabIn var(--t2) var(--e) both;grid-template-columns:repeat(auto-fit,minmax(5.5rem,1fr));gap:.4rem;margin-top:.5rem;display:grid}.wedit input{width:100%;min-width:0}.hint{border:1px dashed var(--rule);border-radius:var(--r2);background:var(--rail);color:var(--ink-2);animation:tabIn var(--t3) var(--e) both;margin:.5rem 0;padding:.75rem .85rem;font-size:.84rem;line-height:1.5}.hint b{color:var(--ink);font-weight:600}.hint ol{gap:.2rem;margin:.45rem 0 0;padding-left:1.1rem;display:grid}.hint .why{color:var(--ink-3);margin:.5rem 0 0;font-size:.79rem}.trcard{border:1px solid var(--hair);border-radius:var(--r2);background:var(--panel);box-shadow:var(--sh-1);margin:.5rem 0;padding:.5rem .65rem}.trcard select{width:100%;margin-top:.35rem}.phiin{text-align:right;width:4.2rem;padding:.12rem .32rem}.slider{grid-template-columns:1fr auto;align-items:center;gap:.1rem .5rem;margin:.5rem 0;display:grid}.slider label{color:var(--ink-2);font-size:.85rem;font-weight:500}.slider output{color:var(--accent-ink);font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:700}.slider input{width:100%;accent-color:var(--accent);grid-column:1/-1}.switch{cursor:pointer;align-items:center;gap:.6rem;font-weight:600;display:flex}.switch input{appearance:none;background:var(--rule);cursor:pointer;width:2.5rem;height:1.4rem;transition:background var(--t2) var(--e);border-radius:1rem;flex:none;margin:0;position:relative}.switch input:after{content:"";width:1.1rem;height:1.1rem;box-shadow:var(--sh-1);transition:left var(--t2) var(--e-spring);background:#fff;border-radius:50%;position:absolute;top:.15rem;left:.15rem}.switch input:checked{background:var(--accent)}.switch input:checked:after{left:1.25rem}.legend-title{color:var(--ink-2);margin:0 0 .4rem;font-size:.86rem}.legend-list{gap:.18rem;margin:0;padding:0;font-size:.83rem;list-style:none;display:grid}.legend-list li{align-items:center;gap:.5rem;display:flex}#rose{background:var(--panel);border-radius:var(--r2);flex-direction:column;align-items:center;display:flex;position:absolute;inset:0}.rose-bar{color:var(--ink-2);flex-wrap:wrap;justify-content:center;gap:.35rem .45rem;padding:.25rem .3rem .5rem;font-size:.8rem;display:flex}.rose-bar>label{background:var(--rail);border:1px solid var(--hair);white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.1rem .3rem .1rem .6rem;display:inline-flex}.rose-bar>label.check{margin:0;padding:.1rem .6rem .1rem .4rem}.rose-bar select,.rose-bar input{background:var(--panel);border-radius:999px;padding:.08rem .3rem;font-size:.8rem}.rose-bar input[type=number]{text-align:center;width:3.1rem}#rose-svg{flex:1;justify-content:center;width:100%;min-height:0;display:flex}#rose-svg svg{max-width:100%;height:100%}#rose-svg path,#rose-svg polygon{animation:petal var(--t4) var(--e-spring) both;transform-origin:50%}@keyframes petal{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:none}}#rose-info{text-align:center;margin:.2rem 0 0}#toast{background:var(--panel);color:var(--ink);border-radius:var(--r3);box-shadow:var(--sh-3);z-index:6;border:1px solid var(--hair);border-left:4px solid var(--accent);max-width:min(34rem,94%);animation:toastIn var(--t3) var(--e-spring) both;align-items:center;gap:.8rem;padding:.55rem .55rem .55rem .9rem;font-size:.9rem;display:flex;position:absolute;bottom:.7rem;left:50%;transform:translate(-50%)}#toast .btn{white-space:nowrap;flex:none}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,10px)scale(.96)}to{opacity:1;transform:translate(-50%)}}#toast[hidden]{display:none}footer{color:var(--ink-3);padding:.9rem 0 .2rem;font-size:.76rem;line-height:1.5}.flash{animation:flash var(--t4) var(--e)}@keyframes flash{0%{background:var(--accent-soft)}to{background:0 0}}@media (max-width:1080px){.layout,.layout.left-hidden,.layout.right-hidden,.layout.left-hidden.right-hidden{grid-template-columns:1fr}.layout{gap:10px;padding:10px}main{order:-1}#netbox{aspect-ratio:1;min-height:0;max-height:92vw}aside.right{order:0}aside.left{order:1}.top{z-index:30;position:sticky;top:0}.brand small{display:none}}@media (max-width:560px){.actions .lbl{display:none}}html.present body{font-size:17px}html.present .brand small{display:none}html.present .layout{gap:16px;padding:16px}html.present .chip{padding:.22rem .75rem;font-size:.9rem}html.present .chip b,html.present .readout{font-size:1rem}html.present .scalebar{font-size:.9rem}html.present .ramps .tk{font-size:.8rem}#present[aria-pressed=true]{color:var(--accent-ink);background:var(--accent-soft);border-color:var(--accent-line)}#netbox.dropping:after{content:attr(data-drop);border:2px dashed var(--accent);border-radius:var(--r3);color:var(--accent-ink);z-index:8;pointer-events:none;animation:pop var(--t2) var(--e) both;background:#eaf0fad9;place-items:center;font-size:1.1rem;font-weight:600;display:grid;position:absolute;inset:.5rem}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}html.fx-off *,html.fx-off :before,html.fx-off :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}#app{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);height:100dvh;min-height:0;display:grid}#module{grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid}#module>*{min-width:0;min-height:0}.top.boot{align-items:center;display:flex}.brand-suite{color:var(--accent);-webkit-text-fill-color:var(--accent);margin-left:.18rem;font-weight:500}.modnav{background:var(--rail);border:1px solid var(--hair);scrollbar-width:none;border-radius:12px;align-items:center;gap:2px;min-width:0;margin-left:.6rem;padding:3px;display:flex;overflow-x:auto}.modnav::-webkit-scrollbar{display:none}.modnav a{color:var(--ink-2);white-space:nowrap;transition:color var(--t1) var(--e),background var(--t2) var(--e),box-shadow var(--t2) var(--e);border-radius:9px;align-items:center;gap:.45rem;padding:.28rem .7rem .28rem .45rem;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.modnav a:hover{color:var(--ink);background:#fff9}.modnav a[aria-current=page]{background:var(--panel);color:var(--accent-ink);box-shadow:var(--sh-1)}.modnav .step{opacity:.75;border:1.5px solid;border-radius:50%;place-items:center;width:1.25rem;height:1.25rem;font-size:.72rem;font-weight:700;display:inline-grid}.modnav a[aria-current=page] .step{background:var(--accent);border-color:var(--accent);color:#fff;opacity:1}.modnav .arrow{color:var(--ink-3);-webkit-user-select:none;user-select:none;margin:0 -.05rem;font-size:.7rem}.projname{text-overflow:ellipsis;white-space:nowrap;max-width:14rem;color:var(--ink);border-radius:var(--r1);cursor:pointer;background:0 0;border:1px solid #0000;padding:.3rem .55rem;font-weight:600;overflow:hidden}.projname:hover{border-color:var(--hair);background:var(--panel)}.projname small{color:var(--ink-3);font-size:.68rem;font-weight:400;line-height:1.1;display:block}.vsep{background:var(--hair);flex:none;width:1px;height:1.5rem;margin:0 .2rem}.later{place-items:center;padding:2rem 1rem;display:grid}.later .card{max-width:34rem;animation:riseIn var(--t4) var(--e) both;padding:1.6rem 1.7rem}.later h2{margin:0 0 .4rem;font-size:1.25rem}.later p{color:var(--ink-2);margin:.4rem 0}.later ul{color:var(--ink-2);gap:.25rem;margin:.6rem 0 0;padding-left:1.1rem;display:grid}.later .tag{color:var(--clay);background:var(--clay-soft);border:1px solid #efd6bb;border-radius:999px;margin-bottom:.6rem;padding:.05rem .55rem;font-size:.75rem;font-weight:700;display:inline-block}dialog.dlg{border:1px solid var(--hair);border-radius:var(--r3);background:var(--panel);color:var(--ink);box-shadow:var(--sh-3);width:min(36rem,100vw - 2rem);max-height:min(80vh,44rem);padding:0}dialog.dlg::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#4a3c222e}dialog.dlg[open]{animation:pop var(--t3) var(--e-spring) both}.dlg-head{border-bottom:1px solid var(--hair);justify-content:space-between;align-items:center;gap:.6rem;padding:.9rem 1.1rem .6rem;display:flex}.dlg-head h2{margin:0;font-size:1.05rem}.dlg-body{max-height:calc(min(80vh,44rem) - 4rem);padding:.8rem 1.1rem 1rem;overflow:auto}.plist{gap:.4rem;margin:.4rem 0 0;padding:0;list-style:none;display:grid}.plist li{border:1px solid var(--hair);border-radius:var(--r2);background:var(--panel);box-shadow:var(--sh-1);align-items:center;gap:.6rem;padding:.5rem .6rem .5rem .8rem;display:flex}.plist li.cur{border-color:var(--accent-line);background:linear-gradient(180deg,#fff,var(--accent-soft))}.plist .pn{flex:1;min-width:0}.plist .pn b{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.plist .pn span{color:var(--ink-2);font-size:.78rem}.kv{grid-template-columns:auto 1fr;gap:.25rem .9rem;margin:.5rem 0;font-size:.86rem;display:grid}.kv dt{color:var(--ink-2)}.kv dd{text-align:left;margin:0;font-weight:600}.prose p{color:var(--ink-2);margin:.45rem 0;font-size:.88rem}@media (max-width:1080px){#app{height:auto;display:block}.top{flex-wrap:wrap;row-gap:.35rem;height:auto;padding-top:.45rem;padding-bottom:.45rem}.modnav{flex:100%;order:3;margin-left:0}.projname{display:none}}@media (max-width:560px){.modnav a{padding:.26rem .55rem .26rem .4rem;font-size:.84rem}}#toast{bottom:max(1rem,env(safe-area-inset-bottom,0px));z-index:60;position:fixed}@media (min-width:1081px){#toast{bottom:4.6rem}}a.btn{text-decoration:none;display:inline-block}@media (max-width:560px){#fx,#present{display:none}.actions{gap:.15rem}}
