@font-face{font-family:Gilroy;src:url(/fonts/Gilroy-Light.woff2)format("woff2");font-weight:300;font-display:swap}@font-face{font-family:Gilroy;src:url(/fonts/Gilroy-Regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Gilroy;src:url(/fonts/Gilroy-Medium.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Gilroy;src:url(/fonts/Gilroy-ExtraBold.woff2)format("woff2");font-weight:800;font-display:swap}@font-face{font-family:Gilroy;src:url(/fonts/Gilroy-Black.woff2)format("woff2");font-weight:900;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--navy:#0c1b24;--navy-2:#132530;--cyan:#00e4f7;--cyan-deep:#00d1ee;--cyan-ink:#0a5f6e;--ink-2:#4a5a63;--muted:#5a6770;--on-dark-2:#9db0b7;--white:#fff;--subtle:#f6f8f9;--grey:#eceff1;--border:#e1e6e9;--error:#b3261e;--ok:#1d6f4b;--ok-bg:#e6f3ec;--warn:#7a5200;--warn-bg:#fbf1dc;--accent:var(--cyan);--accent-ink:var(--cyan-ink);--accent-soft:#e3f7fa;--r-xs:4px;--r-sm:6px;--r-md:12px;--r-lg:16px;--r-full:999px;--sh-sm:0 2px 8px #0c1b240d;--sh-md:0 4px 10px #0c1b240f,0 16px 32px #0c1b241a;--sh-lg:0 20px 50px #0c1b242e;--font:Gilroy,Poppins,Montserrat,sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font:400 15px/1.6 var(--font);color:var(--navy);background:var(--subtle);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--cyan-ink)}:focus-visible{outline:3px solid var(--cyan-ink);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.rail{background:var(--navy);color:#fff;flex-direction:column;gap:4px;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0}.rail .brand{align-items:center;gap:12px;padding:4px 8px 18px;display:flex}.rail .brand small{font:500 10px var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-2)}.logo{color:var(--navy);font:900 15px var(--font);letter-spacing:.02em;background:#fff;border-radius:3px;justify-content:center;align-items:center;padding:5px 8px;display:inline-flex}.proj{background:var(--navy-2);border-radius:var(--r-md);margin-bottom:14px;padding:12px 14px}.proj small{font:500 10px var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--cyan-deep);display:block}.proj b{font:800 15px/1.25 var(--font);margin-top:3px;display:block}.proj select{color:#fff;border-radius:var(--r-sm);background:0 0;border:1px solid #ffffff2e;width:100%;margin-top:8px;padding:6px 8px}.proj select option{color:var(--navy)}.nav a{border-radius:var(--r-sm);color:#d4dee2;font:500 14px var(--font);align-items:center;gap:11px;padding:10px 12px;text-decoration:none;display:flex}.nav a:hover{color:#fff;background:#ffffff0f}.nav a.on{background:var(--cyan);color:var(--navy);font-weight:800}.nav a .cnt{font:800 11px var(--font);border-radius:var(--r-full);background:#ffffff1f;margin-left:auto;padding:1px 8px}.nav a.on .cnt{background:#0c1b2429}.nav svg,.ico{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.rail .grow{flex:1}.rail .foot{border-top:1px solid #ffffff1a;flex-direction:column;gap:8px;padding-top:12px;display:flex}.who{align-items:center;gap:10px;padding:6px 8px;display:flex}.av{background:var(--navy-2);width:34px;height:34px;color:var(--cyan);font:800 12px var(--font);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.who b{font:800 13px/1.2 var(--font);display:block}.who span{font:400 11.5px var(--font);color:var(--on-dark-2)}.langs{gap:4px;padding:0 8px;display:flex}.langs button{color:#d4dee2;border-radius:var(--r-sm);cursor:pointer;background:0 0;border:1px solid #ffffff2e;padding:3px 9px;font-size:12px}.langs button.on{color:var(--navy);background:#fff;border-color:#fff}.main{min-width:0;padding:32px 40px 64px}.wrap{max-width:1180px;margin:0 auto}.eyebrow{font:500 13px var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--cyan-ink)}h1,.h1{font:900 34px/1.12 var(--font);letter-spacing:-.02em;color:var(--navy);margin:6px 0 0}h2,.h2{font:900 24px/1.15 var(--font);letter-spacing:-.02em;margin:0}h3,.h3{font:800 17px/1.3 var(--font);margin:0}.lead{font:400 17px/1.6 var(--font);color:var(--ink-2);max-width:70ch;margin:10px 0 0}.muted{color:var(--muted)}.small{font-size:13px}.cap{color:var(--muted);font-size:12px}.ul{background:var(--cyan);border-radius:2px;width:44px;height:4px;margin:10px 0 0}.card{border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--sh-sm);background:#fff;padding:22px}.card.click{cursor:pointer;transition:transform .18s,box-shadow .18s}.card.click:hover{box-shadow:var(--sh-md);transform:translateY(-3px)}.cardh{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.grid{gap:16px;display:grid}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:980px){.g2,.g3,.app{grid-template-columns:1fr}.rail{height:auto;position:static}}.row{border-top:1px solid var(--grey);align-items:center;gap:12px;padding:12px 0;display:flex}.row:first-of-type{border-top:0}.rowbtn{all:unset;cursor:pointer;border-radius:var(--r-sm);display:block}.rowbtn:hover .row{background:var(--subtle)}.stat{border-top:1px solid var(--grey);justify-content:space-between;padding:7px 0;display:flex}.stat:first-of-type{border-top:0}.stat b{font:800 16px var(--font)}.bar{background:var(--grey);border-radius:var(--r-xs);height:8px;overflow:hidden}.bar i{background:var(--cyan);height:100%;display:block}.tag{font:500 12px var(--font);border-radius:var(--r-full);background:var(--grey);color:var(--ink-2);white-space:nowrap;align-items:center;gap:5px;padding:2px 10px;display:inline-flex}.tag.info{background:var(--accent-soft);color:var(--cyan-ink)}.tag.ok{background:var(--ok-bg);color:var(--ok)}.tag.warn{background:var(--warn-bg);color:var(--warn)}.tag.dark{background:var(--navy);color:#fff}.btn{border:1px solid var(--border);color:var(--navy);border-radius:var(--r-sm);font:800 14px var(--font);cursor:pointer;background:#fff;justify-content:center;align-items:center;gap:8px;padding:9px 16px;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--cyan-ink)}.btn.pri{background:var(--cyan);border-color:var(--cyan);color:var(--navy)}.btn.dark{background:var(--navy);border-color:var(--navy);color:#fff}.btn[disabled]{opacity:.45;cursor:not-allowed}.btn.sm{padding:6px 12px;font-size:13px}.link{all:unset;cursor:pointer;color:var(--cyan-ink);font:500 14px var(--font)}.link:hover{text-decoration:underline}.input,.select,textarea.input{border:1px solid var(--border);border-radius:var(--r-sm);background:#fff;outline:none;width:100%;padding:10px 12px}.input:focus,.select:focus{border-color:var(--cyan-ink)}label.f{font:500 13px var(--font);color:var(--ink-2);margin:12px 0 6px;display:block}.err{color:var(--error);margin-top:10px;font-size:14px}.callout{background:var(--warn-bg);border-radius:var(--r-sm);color:var(--navy);gap:10px;padding:12px 14px;font-size:14px;display:flex}.seg{border:1px solid var(--border);border-radius:var(--r-full);background:#fff;gap:2px;padding:3px;display:inline-flex}.seg button{border-radius:var(--r-full);font:500 13px var(--font);color:var(--ink-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:6px 13px;display:inline-flex}.seg button.on{background:var(--navy);color:#fff;font-weight:800}.seg button[disabled]{opacity:.4;cursor:not-allowed}.sp{flex:1}.toast{background:var(--navy);color:#fff;border-radius:var(--r-full);font:500 14px var(--font);box-shadow:var(--sh-lg);z-index:90;padding:11px 20px;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.modalbg{z-index:80;background:#0c1b2466;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{border-radius:var(--r-lg);width:100%;max-width:460px;box-shadow:var(--sh-lg);background:#fff;padding:24px}.auth{background:var(--navy);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth .card{width:100%;max-width:420px;padding:32px}.empty{text-align:center;color:var(--muted);padding:48px 20px}.rv-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}@media (max-width:1100px){.rv-layout{grid-template-columns:1fr}}.rv-side{flex-direction:column;gap:16px;min-width:0;display:flex}.rv-tools{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.rv-hint{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin:0 0 10px;font-size:13px;display:flex}.rv-chips{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.rv-chip{border:1px solid var(--border);border-radius:var(--r-full);font:500 14px var(--font);cursor:pointer;background:#fff;align-items:center;gap:8px;padding:7px 14px;display:inline-flex}.rv-chip.on{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:800}.dot{background:var(--grey);border-radius:50%;width:8px;height:8px}.dot.ok{background:var(--ok)}.dot.warn{background:#c98a00}.stage-wrap{justify-content:center;display:flex}.bezel{width:100%}.bezel.dev{background:var(--navy);width:auto;box-shadow:var(--sh-md);border-radius:36px;padding:12px}.scr{border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--sh-sm);background:#fff;position:relative;overflow:hidden}.bezel.dev .scr{border:0;border-radius:26px}.scr.cm,.scr.dw{outline:2px dashed var(--cyan-ink);outline-offset:3px}.scr img.shot{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:auto;display:block}.scr canvas{width:100%;height:auto;display:block}.scr iframe{transform-origin:0 0;background:#fff;border:0;position:absolute;top:0;left:0}.ink{pointer-events:none;z-index:2;position:absolute;top:0;left:0}.ink .done{opacity:.4}.layer{z-index:4;pointer-events:none;position:absolute;inset:0}.layer .pin,.layer .apin{pointer-events:auto}.scr.dw .layer .pin{pointer-events:none}.capt{z-index:3;touch-action:none;display:none;position:absolute;inset:0}.scr.cm .capt,.scr.dw .capt{cursor:crosshair;display:block}.pin{border-radius:var(--r-full);background:var(--cyan);min-width:26px;height:26px;color:var(--navy);font:800 12px var(--font);cursor:pointer;border:2px solid #fff;justify-content:center;align-items:center;padding:0 6px;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 4px 12px #0c1b2447}.pin.done{color:var(--muted);border-color:var(--border);background:#fff}.pin.sel{z-index:6;box-shadow:0 0 0 4px #0a5f6e59,0 4px 12px #0c1b2447}.pin.draft{background:var(--navy);color:#fff}.pin.static{flex:none;position:static;transform:none}.apin{border-radius:var(--r-xs);background:var(--navy);width:24px;height:24px;color:var(--cyan);font:800 11px var(--font);cursor:help;justify-content:center;align-items:center;display:flex;position:absolute;transform:translate(-50%,-50%)}.apin.static{flex:none;position:static;transform:none}.pop{z-index:8;border:1px solid var(--border);border-radius:var(--r-md);width:310px;box-shadow:var(--sh-lg);background:#fff;padding:14px;position:absolute}.pop textarea{resize:vertical;border:1px solid var(--border);border-radius:var(--r-sm);outline:none;width:100%;min-height:78px;padding:9px 11px}.pop textarea:focus{border-color:var(--cyan-ink)}.pop .pf{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.chips{flex-wrap:wrap;gap:5px;margin:8px 0;display:flex}.chips button{border:1px solid var(--border);border-radius:var(--r-full);font:500 12.5px var(--font);cursor:pointer;background:#fff;padding:3px 11px}.chips button.on{background:var(--navy);border-color:var(--navy);color:#fff}.drawbar{background:var(--navy);border-radius:var(--r-full);align-items:center;gap:4px;margin-bottom:10px;padding:5px;display:inline-flex}.drawbar button{color:#c9d6db;border-radius:var(--r-full);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.drawbar button.on{color:#fff;background:#ffffff29}.drawbar button[disabled]{opacity:.35;cursor:not-allowed}.drawbar .sw i{border:2px solid #ffffffb3;border-radius:50%;width:16px;height:16px}.drawbar .sw.on i{outline:2px solid var(--cyan);outline-offset:2px}.drawbar .go{background:var(--cyan);width:auto;color:var(--navy);font:800 13px var(--font);gap:7px;padding:0 15px}.drawbar .sep{background:#ffffff29;width:1px;height:20px;margin:0 3px}.sizebar{border:1px solid var(--border);border-radius:var(--r-full);color:var(--muted);background:#fff;align-items:center;gap:6px;padding:3px 6px 3px 12px;font-size:12.5px;display:inline-flex}.sizebar input{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--subtle);width:72px;padding:4px 7px}.sizebar select{border:1px solid var(--border);border-radius:var(--r-full);background:#fff;padding:4px 8px}.cmt{border-radius:var(--r-sm);cursor:pointer;gap:11px;margin:0 -10px;padding:12px 10px;display:flex}.cmt:hover{background:var(--subtle)}.cmt.sel{background:var(--accent-soft)}.cmt .who2{font:800 14px var(--font);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cmt .txt{margin-top:3px;font-size:14.5px;line-height:1.5}.cmt .meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:12px;display:flex}.cmt .why{background:var(--subtle);border-radius:var(--r-sm);margin-top:8px;padding:7px 10px;font-size:13px}.rep{border-left:2px solid var(--border);margin-top:10px;padding:2px 0 2px 10px;font-size:13.5px}.doc{border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--sh-sm);background:#fff;padding:28px 30px 28px 54px}.doc.cm{outline:2px dashed var(--cyan-ink);outline-offset:3px}.para{border-radius:var(--r-sm);max-width:72ch;margin:0 -12px;padding:9px 46px 9px 12px;position:relative}.doc.cm .para{cursor:pointer}.doc.cm .para:hover{background:var(--accent-soft)}.para.hasc{background:#f0fbfc}.para.sel{background:var(--accent-soft)}.para .apin{position:absolute;top:9px;left:-36px;transform:none}.para .pp{gap:4px;display:flex;position:absolute;top:8px;right:8px}.para .pop{width:auto;margin-top:10px;position:relative}.state{background:var(--subtle);border:1px solid var(--border);border-radius:var(--r-sm);padding:12px}.state.old{opacity:.6}body.rv-full .rail{display:none}body.rv-full .app{grid-template-columns:minmax(0,1fr)}body.rv-full .main{padding:14px 22px 30px}body.rv-full .wrap{max-width:none}body.rv-full.rv-noside .rv-layout{grid-template-columns:minmax(0,1fr)}body.rv-full.rv-noside .rv-side{display:none}
