:root{--bg:#f6f4f0;--surface:#fff;--border:#e6e2d9;--hairline:#edeae2;--ink:#201e1b;--ink-2:#5c574e;--ink-3:#9b9487;--primary:#3730a3;--primary-hover:#2b2489;--primary-tint:#ededfb;--ring:#3730a329;--ink-block:#232046;--ink-block-2:#2e2a5c;--aud-bg:#ededfb;--aud-fg:#3730a3;--pub-bg:#e5f4ea;--pub-fg:#166b45;--tkt-bg:#f9efdc;--tkt-fg:#8a5a00;--ppl-bg:#efece5;--ppl-fg:#5c574e;--ok-bg:#e5f4ea;--ok-fg:#166b45;--warn-bg:#f9efdc;--warn-fg:#8a5a00;--err-bg:#fbe7e5;--err-fg:#a82a21;--err:#c03a30;--info-bg:#e3eef9;--info-fg:#175a96;--r-card:10px;--r-input:8px;--r-overlay:12px;--shadow-1:0 1px 2px #201e1b0a,0 1px 3px #201e1b0d;--shadow-2:0 12px 32px -12px #201e1b38,0 4px 10px -4px #201e1b1a;--sans:"Inter",system-ui,sans-serif;--disp:"Space Grotesk",var(--sans);--mono:"IBM Plex Mono",ui-monospace,monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font:400 14px/1.45 var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}input,select,textarea{font:inherit;color:inherit}:is(a,button,[tabindex]):focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.app{grid-template-columns:244px minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.app>*{min-height:0}.side{border-right:1px solid var(--border);flex-direction:column;gap:4px;padding:12px;display:flex;overflow-y:auto}.ws{border-radius:8px;align-items:center;gap:10px;padding:8px;display:flex}.ws-logo{background:var(--ink-block);color:#fff;width:28px;height:28px;font:600 12px var(--disp);border-radius:8px;place-items:center;display:grid}.ws b{font-size:13px;font-weight:600;display:block}.ws small{color:var(--ink-3);font-size:11px}.space-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--r-card);box-shadow:var(--shadow-1);text-align:left;align-items:center;gap:10px;width:100%;margin:10px 0 6px;padding:10px 12px;display:flex}.space-card .name{font-size:13px;font-weight:600;line-height:1.3}.space-card .meta{align-items:center;gap:6px;margin-top:3px;display:flex}.space-card .dates{font:400 11px var(--mono);color:var(--ink-3)}.badge-event{font:600 10px/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--aud-fg);background:var(--aud-bg);border-radius:99px;padding:3px 6px}.badge-comm{font:600 10px/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--pub-fg);background:var(--pub-bg);border-radius:99px;padding:3px 6px}.nav-label{font:600 10px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:14px 8px 6px}.nav a{color:var(--ink-2);border-radius:8px;align-items:center;gap:10px;padding:7px 8px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.nav a svg{color:var(--ink-3)}.nav a:hover{color:var(--ink);background:#efece5}.nav a[aria-current]{background:var(--primary-tint);color:var(--primary)}.nav a[aria-current] svg{color:var(--primary)}.nav .ph{color:var(--ink-3);cursor:default;border-radius:8px;align-items:center;gap:10px;padding:7px 8px;font-size:13px;font-weight:500;display:flex}.nav .ph svg{color:var(--ink-3);opacity:.6}.nav .ph .phase{margin-left:auto}.side-user{border-top:1px solid var(--hairline);align-items:center;gap:10px;margin-top:auto;padding:10px 8px;display:flex}.side-user small{color:var(--ink-3);font-size:11px;display:block}.side-user b{font-size:12px;font-weight:600}.side-user .iconbtn{margin-left:auto}.avatar{background:var(--ink-block);color:#fff;width:26px;height:26px;font:600 10px var(--sans);border-radius:99px;flex:none;place-items:center;display:grid}.avatar.b{background:#7a4a9e}.avatar.c{background:#1f6e5c}.avatar.d{background:#8a5a00}.main{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--bg);flex:none;align-items:center;gap:16px;height:52px;padding:0 24px;display:flex}.crumbs{color:var(--ink-3);align-items:center;gap:8px;min-width:0;font-size:12.5px;display:flex}.topbar .crumbs{flex-wrap:nowrap;margin:0}.crumbs a{color:var(--ink-3);white-space:nowrap;text-decoration:none}.crumbs a:hover{color:var(--ink);text-decoration:underline}.crumbs b{color:var(--ink);white-space:nowrap;font-weight:500}.crumbs .sep{color:#cfcabe}.lens{background:var(--ink-block);color:#ededfb;border-radius:99px;flex:none;align-items:center;gap:7px;margin-left:auto;padding:5px 11px;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 6px -1px #23204666}.lens:after{content:"";pointer-events:none;background:radial-gradient(closest-side,#a9a7ff47,#0000 70%);animation:6s ease-in-out infinite alternate lensGlow;position:absolute;inset:-40%}@keyframes lensGlow{0%{transform:translate(-18%)}to{transform:translate(18%)}}.lens small{color:#b9b6ea;font-size:11px;position:relative}.lens b{font-size:12.5px;font-weight:600;position:relative}.lens .soon{font:600 9px/1 var(--sans);letter-spacing:.05em;text-transform:uppercase;color:#b9b6ea;background:var(--ink-block-2);border-radius:99px;padding:3px 6px;position:relative}.iconbtn{width:32px;height:32px;color:var(--ink-2);border-radius:8px;place-items:center;display:grid;position:relative}.iconbtn:hover{background:#efece5}.scroll{flex:1;min-height:0;padding:28px 28px 16px;overflow-y:auto}.page-head{align-items:flex-start;gap:14px;margin-bottom:4px;display:flex}.page-head h1,.scroll .page-head h1{font:600 28px/1.15 var(--disp);letter-spacing:-.015em}.type-slug{font:500 11px var(--mono);color:var(--ink-2);border:1px solid var(--border);background:#efece5;border-radius:6px;margin-top:9px;padding:3px 8px}.page-head .right{gap:8px;margin-top:4px;margin-left:auto;display:flex}.btn-quiet{color:var(--ink-2);border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:12.5px;font-weight:500;display:flex}.btn-quiet:hover{color:var(--ink);background:#efece5}.page-meta{color:var(--ink-2);margin:4px 0 20px;font-size:12.5px}.page-meta b{font:500 12px var(--mono);color:var(--ink)}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:2px;margin-bottom:18px;display:flex}.tabs button,.tabs a{color:var(--ink-2);border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:8px 12px 10px;font-size:13px;font-weight:500;display:flex}.tabs button:hover,.tabs a:hover{color:var(--ink)}.tabs button[aria-selected],.tabs a[aria-current]{color:var(--primary);border-bottom-color:var(--primary)}.tabs .count{font:500 11px var(--mono);color:var(--ink-2);background:#efece5;border-radius:99px;padding:1px 6px}.tabs button[aria-selected] .count,.tabs a[aria-current] .count{background:var(--primary-tint);color:var(--primary)}.queue{background:var(--warn-bg);color:var(--warn-fg);border-radius:var(--r-card);border:1px solid #efdfbe;align-items:center;gap:10px;margin-bottom:18px;padding:10px 14px;font-size:13px;display:flex}.queue b{font-weight:600}.queue a{color:var(--warn-fg);white-space:nowrap;margin-left:auto;font-size:12.5px;font-weight:600;text-decoration:none}.queue a:hover{text-decoration:underline}.strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-1);padding:16px}.card h3{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:6px;margin-bottom:10px;font-size:11px;font-weight:600;display:flex}.card h3 .edit{color:var(--primary);letter-spacing:0;text-transform:none;margin-left:auto;font-size:11px;font-weight:600}.card h3 .edit:hover{text-decoration:underline}.card .foot{color:var(--ink-3);margin-top:10px;font-size:11.5px;line-height:1.5}.card .foot b{color:var(--ink-2);font-weight:600}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{color:var(--ink-2);background:#efece5;border-radius:99px;align-items:center;gap:5px;padding:4px 9px;font-size:12px;font-weight:500;line-height:1.2;display:inline-flex}.chip .x{color:inherit;opacity:.55;font-size:13px;line-height:1}.chip .x:hover{opacity:1}.chip.mono{font:500 11.5px var(--mono)}.chip.aud{background:var(--aud-bg);color:var(--aud-fg)}.chip.pub{background:var(--pub-bg);color:var(--pub-fg)}.chip.tkt{background:var(--tkt-bg);color:var(--tkt-fg)}.chip.ppl{background:var(--ppl-bg);color:var(--ppl-fg)}.chip .n{font:500 11px var(--mono);opacity:.75}.chip.add{color:var(--ink-3);background:0 0;border:1px dashed #cfcabe}.chip.add:hover{border-color:var(--primary);color:var(--primary)}.chip.sm{padding:2.5px 8px;font-size:11px}.phase{font:600 9px/1 var(--sans);letter-spacing:.05em;color:var(--tkt-fg);background:var(--tkt-bg);text-transform:uppercase;border:1px solid #efdfbe;border-radius:4px;padding:2px 5px}.seg{background:#efece5;border-radius:8px;margin-bottom:10px;padding:2px;display:inline-flex}.seg button{color:var(--ink-2);border-radius:6px;padding:4px 10px;font-size:11.5px;font-weight:500}.seg button[aria-pressed]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.members-row{align-items:center;gap:4px;display:flex}.members-row .avatar{border:2px solid var(--surface)}.members-row .avatar+.avatar{margin-left:-9px}.members-row .more{font:500 11px var(--mono);color:var(--ink-2);border:2px solid var(--surface);background:#efece5;border-radius:99px;margin-left:-6px;padding:5px 8px}.tablewrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-1);overflow:hidden}.toolbar{border-bottom:1px solid var(--hairline);align-items:center;gap:10px;padding:12px 14px;display:flex}.search{background:var(--bg);border:1px solid var(--border);color:var(--ink-3);border-radius:8px;align-items:center;gap:8px;width:220px;padding:6px 10px;font-size:12.5px;display:flex}.search input{color:var(--ink);background:0 0;border:0;border-radius:0;outline:0;flex:1;min-width:0;padding:0;font-size:12.5px}.search input:focus-visible{outline:none}.search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}.filter{white-space:nowrap;color:var(--ink-2);border:1px solid var(--border);border-radius:99px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:500;display:flex}.filter:hover{border-color:#cfcabe}.filter b{color:var(--ink)}.toolbar .spacer{flex:1}.toolbar .summary{color:var(--ink-3);font-size:12px}.toolbar .summary b{font:500 11.5px var(--mono);color:var(--ink-2)}table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:13px}thead th{font:600 10.5px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);text-align:left;border-bottom:1px solid var(--hairline);background:#fcfbf9;padding:9px 12px}tbody td{border-bottom:1px solid var(--hairline);vertical-align:middle;height:52px;padding:0 12px;overflow:hidden}tbody tr:hover{background:#faf9f5}tbody tr:last-child td{border-bottom:0}.t-title{align-items:center;gap:9px;min-width:0;display:flex}.pin{color:var(--ink-3);flex:none}.pin.on{color:var(--primary)}.t-title .txt{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.t-type{font-size:13px;font-weight:500}.t-type .t-type-in{align-items:center;gap:6px;min-width:0;display:flex}.t-type .t-type-in svg{color:var(--ink-3);flex:none}.t-type .txt{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.locales{flex:none;gap:3px;display:inline-flex}.loc{font:500 9px/1 var(--mono);color:var(--ink-3);border:1px solid var(--border);border-radius:3px;padding:2px 3px}.loc.miss{color:#c2410c;border-style:dashed;border-color:#eac7b3}.state{white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.state:before{content:"";background:currentColor;border-radius:99px;width:6px;height:6px}.st-draft{background:var(--ppl-bg);color:var(--ppl-fg)}.st-sub{background:var(--info-bg);color:var(--info-fg)}.st-rev{background:var(--warn-bg);color:var(--warn-fg)}.st-ok{background:var(--ok-bg);color:var(--ok-fg)}.st-err{background:var(--err-bg);color:var(--err-fg)}.wf-action{cursor:pointer;border:1px solid #0000;border-radius:99px;align-items:center;gap:6px;padding:6px 13px;font-size:12.5px;font-weight:600;transition:filter .12s,background .12s;display:inline-flex}.wf-action.positive{background:var(--ok-bg);color:var(--ok-fg);border-color:#cbe8d4}.wf-action.positive:hover{background:#d8eedf}.wf-action.negative{background:var(--err-bg);color:var(--err-fg);border-color:#f2cfcb}.wf-action.negative:hover{background:#f6dad6}.wf-action.neutral{background:var(--surface);color:var(--ink-2);border-color:var(--border)}.wf-action.neutral:hover{color:var(--ink);border-color:#cbc9e2}.payload-read{flex-direction:column;gap:0;display:flex}.payload-read .pr-row{border-bottom:1px solid var(--hairline);grid-template-columns:150px 1fr;gap:14px;padding:10px 2px;display:grid}.payload-read .pr-row:last-child{border-bottom:0}.payload-read .pr-row.long{grid-template-columns:1fr;gap:4px}.payload-read dt{letter-spacing:.03em;text-transform:uppercase;color:var(--ink-3);padding-top:2px;font-size:11.5px;font-weight:600}.payload-read dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:13.5px;line-height:1.55}.vis-cell{white-space:nowrap}.vis-cell .chip{padding:3px 8px;font-size:11px}.vis-inherit{color:var(--ink-3);white-space:nowrap;margin-top:3px;padding-left:9px;font-size:10.5px;display:block}.vis-inherit.custom{color:var(--tkt-fg)}.mono-cell{font:400 12px var(--mono);color:var(--ink-2);white-space:nowrap}.cap{align-items:center;gap:6px;display:inline-flex}.cap .live{background:#1b9e5f;border-radius:99px;width:7px;height:7px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{box-shadow:0 0 #1b9e5f59}50%{box-shadow:0 0 0 5px #1b9e5f00}}.cap.full .live{background:#c2410c;animation:none}.rowbtn{width:28px;height:28px;color:var(--ink-3);opacity:0;border-radius:6px;place-items:center;margin-right:4px;display:grid}tbody tr:hover .rowbtn{opacity:1}.rowbtn:hover{color:var(--ink);background:#efece5}.table-foot{color:var(--ink-3);align-items:center;padding:10px 14px;font-size:12px;display:flex}.table-foot .pages{gap:4px;margin-left:auto;display:flex}.table-foot .pages button{font:500 12px var(--mono);width:26px;height:26px;color:var(--ink-2);border-radius:6px}.table-foot .pages button:hover{background:#efece5}.table-foot .pages button[aria-current]{background:var(--primary-tint);color:var(--primary)}.rulerow{border-bottom:1px solid var(--hairline);align-items:center;gap:8px;padding:9px 0;display:flex}.rulerow:last-of-type{border-bottom:0}.rulerow .neg{font:600 10px/1 var(--sans);letter-spacing:.04em;border:1px solid var(--border);color:var(--ink-3);text-transform:uppercase;border-radius:6px;padding:5px 8px}.rulerow .neg[aria-pressed]{background:var(--err-bg);color:var(--err-fg);border-color:#f2c9c5}.rulerow .x{color:var(--ink-3)}.rulerow .x:hover{color:var(--ink)}.detail-cols{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}.detail-cols .form-card{flex-direction:column;gap:16px;display:flex}.rail{flex-direction:column;gap:14px;display:flex}.linkitem{border-bottom:1px solid var(--hairline);align-items:center;gap:9px;padding:8px 0;font-size:13px;display:flex}.linkitem:last-of-type{border-bottom:0}.linkitem .name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:500;overflow:hidden}.linkitem .rel{font:400 10.5px var(--mono);color:var(--ink-3);white-space:nowrap;margin-left:auto}.linkitem .x{color:var(--ink-3);opacity:0}.linkitem:hover .x{opacity:1}.linkitem .x:hover{color:var(--ink)}.empty{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-1);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:56px 24px 52px;display:flex}.empty>svg{color:var(--ink-3);margin-bottom:8px}.empty h2{font:600 16px/1.3 var(--disp);letter-spacing:-.01em}.empty p{color:var(--ink-2);max-width:400px;font-size:12.5px;line-height:1.55}.empty p b{color:var(--ink);font-weight:600}.empty .btn-primary{margin-top:14px}.btn-primary{white-space:nowrap;background:var(--primary);color:#fff;box-shadow:var(--shadow-1);border-radius:99px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:flex}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{color:var(--ink-2);border:1px solid var(--border);background:var(--surface);border-radius:99px;padding:8px 16px;font-size:13px;font-weight:500}.btn-secondary:hover{color:var(--ink);border-color:#cfcabe}.btn-danger{color:#fff;background:var(--err);border-radius:99px;padding:8px 16px;font-size:13px;font-weight:600}.btn-danger:hover{background:#a82a21}.savebar{border-top:1px solid var(--border);background:var(--surface);flex:none;align-items:center;gap:14px;padding:12px 24px;display:flex}.scroll .savebar{background:0 0;border-top:0;padding:6px 0 2px}.card .savebar{border-top:1px solid var(--hairline);border-radius:0 0 var(--r-card) var(--r-card);background:#fcfbf9;margin:4px -16px -16px;padding:12px 16px}.drawer-body .savebar{border-top:1px solid var(--hairline);background:#fcfbf9;border-radius:0;margin:4px -20px -18px;padding:14px 20px}.savebar .v{font:500 11.5px var(--mono);color:var(--ink-2);background:#efece5;border-radius:6px;padding:3px 8px}.savebar .status{color:var(--ink-3);align-items:center;gap:8px;font-size:12px;display:flex}.savebar .status .avatar{width:20px;height:20px;font-size:8px}.savebar .right{gap:10px;margin-left:auto;display:flex}.f label{color:var(--ink-2);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.f label .opt{color:var(--ink-3);font-weight:400}.f label .i18n{font:500 9px var(--mono);color:var(--aud-fg);background:var(--aud-bg);vertical-align:1px;border-radius:3px;margin-left:5px;padding:1.5px 4px}.input,.selectbox,textarea.input{border:1px solid var(--border);border-radius:var(--r-input);background:var(--surface);width:100%;padding:8px 11px;font-size:13.5px}select.selectbox{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4.5 6.5 3.5 3.5 3.5-3.5' fill='none' stroke='%235C574E' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;background-size:15px;padding-right:32px}select.selectbox:focus,.input:focus,textarea.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring);outline:none}textarea.input{resize:vertical;min-height:64px}.typelock{border:1px solid var(--border);border-radius:var(--r-input);background:#fcfbf9;align-items:center;gap:9px;padding:9px 11px;display:flex}.typelock .slug{font:500 12px var(--mono);color:var(--ink)}.typelock small{color:var(--ink-3);font-size:11.5px;line-height:1.4}.typelock svg{color:var(--ink-3);flex:none}.loctabs{background:#efece5;border-radius:7px;gap:2px;margin-bottom:8px;padding:2px;display:inline-flex}.loctabs button{font:500 10.5px var(--mono);color:var(--ink-2);border-radius:5px;padding:3px 8px}.loctabs button[aria-pressed]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.loctabs .addloc{color:var(--ink-3)}.grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.hint{color:var(--ink-3);margin-top:5px;font-size:11px;line-height:1.5}.linkrow{flex-wrap:wrap;gap:6px;display:flex}.notice{border:1px solid var(--border);border-radius:var(--r-input);color:var(--ink-2);gap:9px;padding:11px 12px;font-size:12px;line-height:1.55;display:flex}.notice svg{flex:none;margin-top:1px}.notice.vis{background:#fbfafe;border-color:#dddbf2}.notice.vis svg{color:var(--aud-fg)}.notice.wf{background:#fcfbf9}.notice.wf svg{color:var(--ink-3)}.notice b{color:var(--ink);font-weight:600}.notice a{color:var(--primary);font-weight:600;text-decoration:none}.notice a:hover{text-decoration:underline}.flow{font:400 10.5px var(--mono);color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;display:flex}.flow em{color:var(--ink-2);background:#efece5;border-radius:4px;padding:1px 5px;font-style:normal}.drawer-layer{z-index:50;position:fixed;inset:0}.drawer-layer .scrim{background:#201e1b3d;position:absolute;inset:0}.drawer{background:var(--surface);flex-direction:column;width:404px;min-width:0;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-12px 0 32px -20px #201e1b59}.drawer-head{border-bottom:1px solid var(--hairline);align-items:flex-start;gap:10px;padding:18px 20px 14px;display:flex}.drawer-head h2{font:600 17px/1.2 var(--disp);letter-spacing:-.01em}.drawer-head small{color:var(--ink-3);margin-top:3px;font-size:12px;display:block}.drawer-head .iconbtn{margin-left:auto}.drawer-body{flex-direction:column;flex:1;gap:16px;min-height:0;padding:18px 20px;display:flex;overflow-y:auto}.drawer-foot{border-top:1px solid var(--hairline);background:#fcfbf9;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.overlay{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-overlay);box-shadow:var(--shadow-2);overflow:hidden}.kbd{font:500 10px var(--mono);border:1px solid var(--border);color:var(--ink-3);background:var(--surface);border-radius:4px;padding:1px 5px}.searchline{border-bottom:1px solid var(--hairline);color:var(--ink-3);align-items:center;gap:9px;padding:11px 14px;display:flex}.searchline input{color:var(--ink);background:0 0;border:0;border-radius:0;outline:0;flex:1;padding:0;font-size:13.5px}.searchline input:focus-visible{outline:none}.searchline:focus-within{border-bottom-color:var(--primary);box-shadow:0 1px 0 0 var(--ring)}.group-label{font:600 10px/1 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);padding:12px 14px 6px}.overlay .foot{border-top:1px solid var(--hairline);color:var(--ink-3);background:#fcfbf9;align-items:center;gap:12px;padding:9px 14px;font-size:11px;display:flex}.overlay .foot .grow{flex:1}.menu{width:236px;padding:5px}.menu .item{text-align:left;width:100%;color:var(--ink);border-radius:7px;align-items:center;gap:9px;padding:7px 9px;font-size:13px;font-weight:500;display:flex}.menu .item svg{color:var(--ink-3);flex:none}.menu .item:hover{background:#f3f1eb}.menu .item .kbd{margin-left:auto}.menu .item small{font:400 10.5px var(--mono);color:var(--ink-3);margin-left:auto}.menu .item.danger,.menu .item.danger svg{color:var(--err)}.menu .item.danger:hover{background:var(--err-bg)}.menu hr{border:0;border-top:1px solid var(--hairline);margin:5px 4px}.menu .section{font:600 9.5px/1 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);padding:8px 9px 4px}.menu .item[aria-selected]{background:var(--primary-tint);color:var(--primary)}.menu .item[aria-selected] svg{color:var(--primary)}.menu .item .check{color:var(--primary);margin-left:auto}.picker{width:296px}.menu,.picker{max-height:min(62vh,420px);overflow-y:auto}.picker .searchline{background:var(--surface);z-index:1;position:sticky;top:0}.picker .row{text-align:left;align-items:center;gap:10px;width:100%;padding:8px 12px;display:flex}.picker .row:hover{background:#f3f1eb}.picker .row .name{font-size:13px;font-weight:500}.picker .row small{color:var(--ink-3);margin-top:1px;font-size:11px;display:block}.picker .row .add{color:var(--primary);opacity:0;margin-left:auto;font-size:11px;font-weight:600}.picker .row:hover .add{opacity:1}.picker .create{border-top:1px solid var(--hairline);color:var(--primary);text-align:left;align-items:center;gap:9px;width:100%;padding:10px 12px;font-size:12.5px;font-weight:600;display:flex}.picker .create:hover{background:var(--primary-tint)}.picker .create .q{font:500 12px var(--mono);background:var(--primary-tint);border-radius:5px;padding:1px 6px}.dialog{width:100%;max-width:496px}.dialog .body{padding:20px}.dialog h2{font:600 17px/1.25 var(--disp);letter-spacing:-.01em}.dialog .sub{color:var(--ink-2);margin-top:6px;font-size:12.5px;line-height:1.55}.dialog .sub b{font:500 12px var(--mono);color:var(--ink)}.dialog .opt{border:1px solid var(--border);text-align:left;border-radius:10px;gap:11px;width:100%;margin-top:10px;padding:12px 14px;display:flex;position:relative}.dialog .opt:hover{border-color:#cfcabe}.dialog .opt .radio{border:1.5px solid #cfcabe;border-radius:99px;flex:none;width:15px;height:15px;margin-top:2px}.dialog .opt[aria-checked]{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}.dialog .opt[aria-checked] .radio{border-color:var(--primary);border-width:4.5px}.dialog .opt .t{font-size:13px;font-weight:600}.dialog .opt .t .safe{color:var(--pub-fg);background:var(--pub-bg);vertical-align:1px;border-radius:99px;margin-left:7px;padding:2px 7px;font-size:10px;font-weight:600}.dialog .opt p{color:var(--ink-2);margin-top:3px;font-size:12px;line-height:1.5}.dialog .opt p b{font:500 11.5px var(--mono);color:var(--ink)}.dialog .opt.danger[aria-checked]{border-color:var(--err);box-shadow:0 0 0 3px #c03a3024}.dialog .opt.danger .t{color:var(--err)}.dialog .actions{border-top:1px solid var(--hairline);background:#fcfbf9;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.toast{background:var(--ink-block);color:#ededfb;box-shadow:var(--shadow-2);border-radius:10px;align-items:center;gap:10px;width:fit-content;padding:11px 14px;font-size:13px;display:flex}.toast .v{font:500 11px var(--mono);background:var(--ink-block-2);color:#c9c7f2;border-radius:5px;padding:2px 7px}.toast button{color:#b9b6ea;margin-left:6px;font-size:12px;font-weight:600}.conflict{background:var(--surface);border:1px solid #efdfbe;border-left:3px solid var(--warn-fg);box-shadow:var(--shadow-2);border-radius:10px;gap:11px;max-width:430px;padding:13px 16px;display:flex}.conflict svg{color:var(--warn-fg);flex:none;margin-top:2px}.conflict p{color:var(--ink-2);font-size:12.5px;line-height:1.55}.conflict p b{color:var(--ink);font-weight:600}.conflict .v{font:500 11px var(--mono);background:var(--warn-bg);color:var(--warn-fg);border-radius:5px;padding:1px 6px}.conflict .row-actions{gap:12px;margin-top:8px;display:flex}.conflict .row-actions button{color:var(--primary);font-size:12px;font-weight:600}.datepicker{width:268px;padding:12px}.dp-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.dp-title{font:600 13px var(--disp);letter-spacing:-.01em}.dp-nav{width:28px;height:28px;color:var(--ink-2);border-radius:6px;place-items:center;display:grid}.dp-nav:hover{color:var(--ink);background:#efece5}.dp-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.dp-dow{font:600 9.5px/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);text-align:center;padding:5px 0 3px}.dp-day{aspect-ratio:1;font:500 12px var(--sans);color:var(--ink-2);border-radius:7px;place-items:center;width:100%;display:grid}.dp-day:hover{color:var(--ink);background:#efece5}.dp-day.other{color:var(--ink-3);opacity:.45}.dp-day.today{box-shadow:inset 0 0 0 1px var(--border)}.dp-day[aria-selected]{background:var(--primary);color:#fff}.dp-day[aria-selected]:hover{background:var(--primary-hover);color:#fff}.dp-time{border-top:1px solid var(--hairline);align-items:center;gap:8px;margin-top:12px;padding-top:12px;display:flex}.dp-time .lbl{font:600 11px var(--sans);color:var(--ink-2);margin-right:auto}.dp-time input{text-align:center;border:1px solid var(--border);border-radius:var(--r-input);width:44px;font:500 13px var(--mono);background:var(--surface);color:var(--ink);padding:6px 4px}.dp-time input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring);outline:none}.dp-time .colon{font:500 13px var(--mono);color:var(--ink-3)}.dp-tz{font:400 11px var(--mono);color:var(--ink-3);align-items:center;gap:6px;margin-top:10px;display:flex}.dp-tz svg{color:var(--ink-3);flex:none}@keyframes ubec-overlay-in{0%{opacity:0;transform:translateY(6px)scale(.99)}to{opacity:1;transform:none}}@keyframes ubec-overlay-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(6px)scale(.99)}}@keyframes ubec-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes ubec-scrim-out{0%{opacity:1}to{opacity:0}}@keyframes ubec-drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes ubec-drawer-out{0%{transform:translate(0)}to{transform:translate(100%)}}.overlay{animation:.16s ubec-overlay-in}.drawer-layer .scrim{animation:.18s ubec-scrim-in}.drawer{animation:.26s cubic-bezier(.32,.72,0,1) ubec-drawer-in}.overlay.is-closing{animation:.14s forwards ubec-overlay-out}.drawer-layer.is-closing .scrim{animation:.2s forwards ubec-scrim-out}.drawer.is-closing{animation:.22s cubic-bezier(.32,.72,0,1) forwards ubec-drawer-out}.notes{background:var(--bg);background-image:radial-gradient(circle,#ddd8cd 1px,#0000 1px);background-size:28px 28px;border-top:2px dashed #cfcabe;padding:24px 32px 32px}.notes h2{font:600 13px/1 var(--disp);letter-spacing:.02em;color:var(--ink-2);text-transform:uppercase;align-items:center;gap:8px;margin-bottom:12px;display:flex}.notes h2:before{content:"✎";color:var(--ink-3)}.notes ul{max-width:860px;margin:0;padding-left:18px}.notes li{color:var(--ink-2);margin-bottom:6px;font-size:12.5px;line-height:1.6}.notes li b{color:var(--ink);font-weight:600}.notes li code{font:500 11.5px var(--mono);background:#efece5;border-radius:4px;padding:1px 5px}.optrow{border:1px solid var(--border);border-radius:var(--r-input);cursor:pointer;background:var(--surface);align-items:flex-start;gap:10px;padding:9px 11px;display:flex}.optrow:hover{border-color:#cfcabe}.optrow input{accent-color:var(--primary);flex:none;margin-top:3px}.optrow .lbl{color:var(--ink);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.optrow .sub{color:var(--ink-3);margin-top:2px;font-size:11.5px;line-height:1.5;display:block}.optrow[data-checked]{border-color:var(--primary);background:var(--primary-tint)}.optrow[data-disabled]{opacity:.55;cursor:default}.optrow[data-disabled]:hover{border-color:var(--border)}.route-loading{min-height:0;color:var(--ink-3);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex}.route-loading .spin{border:2.5px solid var(--border);border-top-color:var(--primary);border-radius:99px;width:22px;height:22px;animation:.7s linear infinite ubec-spin}@keyframes ubec-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.route-loading .spin{animation-duration:2s}}.map-wrap{grid-template-columns:minmax(0,1fr) 292px;align-items:start;gap:16px;display:grid}.map-canvas{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-1);background-image:radial-gradient(circle,#edeae2 1px,#0000 1px);background-size:22px 22px;position:relative;overflow:hidden}.map-edges{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hull{background:#f6f4f080;border:1.5px dashed #d8d3c6;border-radius:16px;position:absolute}.hull.dotted{border-style:dotted}.hull>.hlabel{background:var(--surface);border:1px solid var(--border);font:600 11px var(--sans);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;display:flex;position:absolute;top:-11px;left:14px}.hull>.hlabel small{font:400 10.5px var(--mono);color:var(--ink-3)}.tnode{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-1);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;display:flex;position:absolute}.tnode .ic{background:var(--primary-tint);width:26px;height:26px;color:var(--primary);border-radius:7px;flex:none;place-items:center;display:grid}.tnode .tx{min-width:0}.tnode b{font:600 12px var(--sans);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;line-height:1.15;display:block;overflow:hidden}.tnode small{font:400 10px var(--mono);color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;display:block;overflow:hidden}.tnode .dot{border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:8px}.dot-sys{background:#b9b4a6}.dot-own{background:#2e9e63}.dot-ovr{background:#d99a16}.tnode.sel{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring),var(--shadow-1)}.tnode.dim{opacity:.55}.mlegend{font:400 11.5px var(--sans);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:18px;margin:10px 2px 12px;display:flex}.mlegend .sw{border-top:2px solid var(--primary);vertical-align:middle;width:26px;height:0;margin-right:6px;display:inline-block}.mlegend .sw.res{border-top-style:dashed;border-top-color:#8a5a00}.mlegend .sw.inc{border-top-style:dashed;border-top-color:#2e7d52}.mlegend .sw.rel{border-top-style:dotted;border-top-color:#9b9487}.mlegend .dotl{vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.elabel{background:var(--surface);border:1px solid var(--hairline);font:500 10px var(--sans);color:var(--ink-2);white-space:nowrap;pointer-events:none;border-radius:999px;padding:1px 8px;position:absolute;transform:translate(-50%,-50%)}.mpanel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-1);padding:16px;position:sticky;top:12px}.mpanel h3{font:600 15px var(--disp);align-items:center;gap:8px;margin:0 0 2px;display:flex}.mpanel .slugline{font:400 11px var(--mono);color:var(--ink-3);margin-bottom:12px}.mpanel .sec{font:600 10.5px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:14px 0 6px}.mpanel ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.mpanel li{font:400 12.5px var(--sans);color:var(--ink-2);align-items:baseline;gap:7px;display:flex}.mpanel li b{color:var(--ink);font-weight:600}.mpanel .arrow{font:500 11px var(--mono);color:var(--primary)}.mpanel .actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}
