:root{--ink:#242329;--muted:#77707d;--pink:#d74dea;--pink-dark:#a92dbd;--soft:#fbe9fd;--line:#e6e1ea;--paper:#f7f5fb;--font:"Avenir Next",Avenir,Inter,system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body,html{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.5 var(--font)}a{color:inherit}button,input,select{font:inherit}.center{min-height:100vh;display:grid;place-items:center}.mark{margin:0;color:var(--pink);font-size:22px;font-weight:600;letter-spacing:-.01em;text-decoration:none}.mark.small{font-size:18px}.mark span{margin-left:6px;color:var(--muted);font-size:14px;font-weight:500}.gate{min-height:100vh;display:grid;align-content:center;justify-items:center;grid-gap:0;gap:0;padding:32px 20px;text-align:center}.gate h1{margin:22px 0 8px;font-size:clamp(26px,3vw,34px);font-weight:600}.lede{margin:0 0 26px;color:var(--muted)}.gate-form{display:flex;gap:10px;width:min(420px,100%)}.gate-form input{flex:1 1;min-width:0;padding:12px 14px;border:1px solid #d8d1de;border-radius:8px;background:#fff;outline:none}.gate-form input:focus{border-color:var(--ink)}button{padding:12px 20px;border:0;border-radius:8px;background:var(--ink);color:#fff;font-weight:600;cursor:pointer}button:hover{background:#000}button.link{padding:0;background:none;color:var(--muted);font-weight:500;text-decoration:underline}.gate-alt{margin-top:14px}.err{margin:14px 0 0;color:#b4232f;font-size:14px}.foot{margin:40px 0 0;max-width:420px;color:var(--muted);font-size:12px}.admin .bar{display:flex;justify-content:space-between;align-items:center;padding:18px 32px;border-bottom:1px solid var(--line)}.btn,.ghost{display:inline-block;padding:8px 14px;border:1px solid #d8d1de;border-radius:8px;background:#fff;color:var(--ink);font-size:14px;font-weight:600;text-decoration:none;cursor:pointer}.ghost:hover{background:#fff;border-color:var(--ink)}.page{max-width:1100px;margin:0 auto;padding:32px}.page h1{margin:0 0 4px;font-size:28px;font-weight:600}.page h2{margin:40px 0 12px;font-size:17px;font-weight:600}.page h2 .muted{margin-left:8px;font-size:13px;font-weight:400}.crumb{margin:0 0 10px;color:var(--muted);font-size:13px}.crumb a{text-decoration:none}.sub{display:block;font-size:13px}.muted,.sub{color:var(--muted)}.head-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.row{display:flex;gap:8px}.tbl{width:100%;border-collapse:collapse}.tbl th{padding:0 12px 8px 0;border-bottom:1.5px solid var(--ink);color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.04em;text-align:left;text-transform:uppercase}.tbl td{padding:11px 12px 11px 0;border-bottom:1px solid var(--line);vertical-align:top}.tbl td a{text-decoration:none}.tbl td a:hover{color:var(--pink-dark)}.tbl .num{text-align:right}.tbl tr.off td{color:var(--muted)}.tbl.narrow{max-width:520px}.tag{margin-left:8px;padding:1px 7px;border-radius:99px;background:var(--soft);color:var(--pink-dark);font-size:11px;font-weight:600}.kpis{grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin:28px 0 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.kpis,.kpis div{display:grid}.kpis b{font-size:26px;font-weight:600}.kpis span{color:var(--muted);font-size:13px}.bars{display:grid;grid-gap:6px;gap:6px}.bar-row{display:grid;grid-template-columns:260px 1fr 70px 110px;grid-gap:14px;gap:14px;align-items:center;font-size:14px}.bar-row .lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track{height:10px;background:#ece7f0;overflow:hidden}.track,.track i{border-radius:5px}.track i{display:block;height:100%;background:var(--pink)}.val{text-align:right;font-weight:600}.reach{color:var(--muted);font-size:13px}.grid-form{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px 18px;gap:14px 18px;align-items:end;max-width:900px}.grid-form label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:13px;font-weight:600}.grid-form input,.grid-form select{padding:10px 12px;border:1px solid #d8d1de;border-radius:8px;background:#fff;color:var(--ink);font-weight:400}.grid-form label.check{display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:500}.grid-form button{justify-self:start}.timeline{list-style:none;margin:24px 0 0;padding:0;display:grid}.timeline li{display:grid;grid-template-columns:90px 1fr 80px;grid-gap:14px;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}.timeline .t{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timeline .d{text-align:right;font-weight:600}.timeline li.click span:nth-child(2),.timeline li.input span:nth-child(2){color:var(--pink-dark)}@media (max-width:760px){.grid-form,.kpis{grid-template-columns:1fr 1fr}.bar-row{grid-template-columns:1fr 60px}.bar-row .reach,.bar-row .track{display:none}.page{padding:20px}}.admin .bar{gap:12px;flex-wrap:wrap}@media (max-width:760px){.tbl{display:block;overflow-x:auto;white-space:nowrap}.admin .bar{padding:14px 20px}.head-row{flex-direction:column}}.dash{grid-template-columns:280px minmax(0,1fr)}.dash,.side{display:grid}.side{padding:28px 18px;border-right:1px solid var(--line);align-content:start;grid-gap:4px;gap:4px}.side-h{margin:0 0 8px 10px;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.doc{display:grid;grid-gap:2px;gap:2px;padding:10px;border-radius:8px;text-decoration:none}.doc b{font-size:14px;font-weight:600}.doc span{color:var(--muted);font-size:12px}.doc.on,.doc:hover{background:#fff}.side-note{margin:18px 10px 0;color:var(--muted);font-size:12px}.side-note code{font-size:11px}.page.wide{max-width:none;margin:0;padding:28px 36px}.new{position:relative}.new summary{list-style:none}.new summary::-webkit-details-marker{display:none}.new[open] summary{border-color:var(--ink)}.grid-form.pop{position:absolute;right:0;top:46px;z-index:5;width:min(720px,80vw);padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 12px 40px rgba(36,35,41,.12);grid-template-columns:repeat(2,1fr)}.lk-head,.lk>summary{display:grid;grid-template-columns:minmax(0,2.2fr) 1fr 1fr 70px 60px 80px 120px;grid-gap:12px;gap:12px;align-items:center}.lk-head{margin-top:24px;padding:0 12px 8px 30px;border-bottom:1.5px solid var(--ink);color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.lk{border-bottom:1px solid var(--line)}.lk>summary{position:relative;padding:13px 12px 13px 30px;cursor:pointer;list-style:none}.lk>summary::-webkit-details-marker{display:none}.lk>summary:before{content:"›";position:absolute;left:10px;top:50%;color:var(--muted);font-size:18px;transform:translateY(-55%);transition:transform .15s}.lk[open]>summary:before{transform:translateY(-45%) rotate(90deg)}.lk>summary:hover{background:#fff}.lk.off>summary{color:var(--muted)}.lk-name{display:grid;grid-gap:1px;gap:1px;min-width:0}.lk-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lk .num,.lk-head .num{text-align:right}.lk-body{padding:4px 12px 18px 30px;background:#fff}.tbl.inner th{padding-top:10px;font-size:11px}.lk-actions{margin-top:14px}.pad{padding:16px 0}@media (max-width:900px){.dash{grid-template-columns:1fr}.side{border-right:0;border-bottom:1px solid var(--line)}.lk-head{display:none}.lk>summary{grid-template-columns:1fr auto}.lk>summary>span:not(.lk-name):not(:nth-child(4)){display:none}.grid-form.pop{position:static;width:auto;margin-top:10px;grid-template-columns:1fr}}.room{max-width:760px;margin:0 auto;padding:72px 20px 40px}.room h1{margin:18px 0 6px;font-size:clamp(26px,3vw,34px);font-weight:600}.room .lede{margin-bottom:26px}.room-list{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--ink)}.room-list li{display:grid;grid-template-columns:56px 1fr auto;grid-gap:14px;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.room-list .kind{color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.room-list .nm{display:grid;grid-gap:2px;gap:2px;font-weight:600}.room-list .nm a{text-decoration:none}.room-list .nm small{color:var(--muted);font-size:12px;font-weight:400}.room-list li.locked .nm{color:var(--muted)}.room-list .go{padding:8px 16px;border-radius:8px;background:var(--ink);color:#fff}.room-list .go,.room-list .req{font-size:14px;font-weight:600;text-decoration:none}.room-list .req{display:inline-block;padding:8px 14px;border:1px solid #d8d1de;border-radius:8px;background:#fff;color:var(--ink);cursor:pointer}.room-list .why{color:var(--muted);font-size:13px}.room .foot{margin-top:32px}.dash{min-height:calc(100vh - 66px)}.main{min-width:0}.side-h{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.side-add{color:var(--muted);font-size:12px;font-weight:600;letter-spacing:0;text-decoration:none;text-transform:none}.side-add:hover{color:var(--ink)}.side-new{display:flex;gap:6px;margin:8px 0 0 4px}.side-new input{flex:1 1;min-width:0;padding:7px 10px;border:1px solid #d8d1de;border-radius:8px;background:#fff;font-size:13px}.side-new .ghost{padding:6px 10px;font-size:13px}.row.end{justify-content:flex-end}.inline-form input,.inline-form select{padding:7px 10px;border:1px solid #d8d1de;border-radius:8px;background:#fff;font-size:13px}.inline-form input[type=number]{width:70px}.inline-form .ghost,.row .ghost{padding:7px 12px;font-size:13px}button[disabled]{opacity:.35;cursor:default}.add-item{margin-top:16px}.lk span .sub,.lk-name .sub,td .sub{display:block}code{font-size:12px}.inline-form input[name=pct]{display:none}.inline-form:has(option[value=deck_pct]:checked) input[name=pct]{display:inline-block}.add-item label:has(input[name=pct]){visibility:hidden}.add-item:has(select[name=access] option[value=deck_pct]:checked) label:has(input[name=pct]){visibility:visible}