.fph{--fph-navy: #003057;--fph-mid: #1b5090;--fph-stage1: #00223f;--fph-stage3: #0b3b68;--fph-mist: #9dbbd8;--fph-sky: #5d8ab4;--fph-gold: #ffcd00;--fph-marigold: #eca154;--fph-r: 20px;--fph-band: #e8f4f1;--fph-band-h: #0f4c85;--fph-band-ul: #00ab8e;--fph-tile: #ffffff;--fph-tile-ink: #003057;--fph-tile-ink2: #44566a;--fph-tile-line: #d6dfe8;--fph-soon-body: linear-gradient(180deg, #fff, #f7f9fc);--fph-stage2: #003057;--fph-edge: transparent;--fph-logo-bg: #ffffff;--fph-int-body: linear-gradient(180deg, #fff7ec, #fbe7cb);--fph-int-line: #f0cfa0;--fph-int-ink: #3d2a0e;--fph-gate-bg: radial-gradient(90% 70% at 50% 0%, #fff 0%, #f3f6fa 55%, #e3eaf2 100%);--fph-input-bg: #f1f4f8}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .fph{--fph-stage1: #00111f;--fph-stage2: #001a30;--fph-stage3: #022544;--fph-band: #00294a;--fph-band-h: #b9d0e6;--fph-tile: #0b3a63;--fph-tile-ink: #eef3f8;--fph-tile-ink2: #c3d2e1;--fph-tile-line: rgba(255, 255, 255, .14);--fph-soon-body: linear-gradient(180deg, #0b3a63, #08304f);--fph-edge: rgba(255, 255, 255, .12);--fph-logo-bg: #e8eef5;--fph-int-body: linear-gradient(180deg, #4a3314, #3a2810);--fph-int-line: rgba(255, 205, 140, .22);--fph-int-ink: #fbe7cb;--fph-gate-bg: linear-gradient(180deg, #00111f, #001a30 70%, #022544);--fph-input-bg: #08304f}}:root[data-theme=dark] .fph{--fph-stage1: #00111f;--fph-stage2: #001a30;--fph-stage3: #022544;--fph-band: #00294a;--fph-band-h: #b9d0e6;--fph-tile: #0b3a63;--fph-tile-ink: #eef3f8;--fph-tile-ink2: #c3d2e1;--fph-tile-line: rgba(255, 255, 255, .14);--fph-soon-body: linear-gradient(180deg, #0b3a63, #08304f);--fph-edge: rgba(255, 255, 255, .12);--fph-logo-bg: #e8eef5;--fph-int-body: linear-gradient(180deg, #4a3314, #3a2810);--fph-int-line: rgba(255, 205, 140, .22);--fph-int-ink: #fbe7cb;--fph-gate-bg: linear-gradient(180deg, #00111f, #001a30 70%, #022544);--fph-input-bg: #08304f}.fph-in{max-width:1180px;margin:0 auto;padding:0 var(--gutter)}.fph-top{position:sticky;top:0;z-index:20;background:#083a6b;border-bottom:1px solid rgba(255,255,255,.12);color:#fff}.fph-top-in{max-width:1180px;margin:0 auto;padding:8px var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:14px}.fph-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}.fph-brand .fph-fpc{height:30px;width:auto;display:block;color:#fff}.fph-lockup{display:flex;align-items:center;gap:12px;white-space:nowrap}.fph-lockup b{font:700 17px var(--head);letter-spacing:.01em}.fph-lockup i{width:1px;height:22px;background:#ffffff4d}.fph-lockup span{font:var(--w-head) 17px var(--head);color:#5fd6c1;letter-spacing:.02em}.fph-pop-search{height:32px;margin:0 0 8px;padding:0 10px;border:1px solid var(--rule-2);border-radius:7px;background:var(--surface-2);color:var(--ink);font:inherit;font-size:13.5px}.fph-pop-search:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.fph-right{display:flex;align-items:center;gap:10px}.fph-top-search{flex:1;display:flex;justify-content:center;min-width:0}.fph-top .search{width:100%;max-width:440px}.fph-top .search-input{height:36px;background:#ffffff1a;border-color:#ffffff40;color:#fff}.fph-top .search-input::placeholder{color:#bfd3e6}.fph-top .search-input:focus-visible{outline-color:#00ab8e;border-color:#00ab8e;background:#ffffff29}.fph-top .search-icon{color:#bfd3e6}.fph-top .search-key,.fph-top .search-clear{background:#ffffff1f;border-color:#ffffff40;color:#fff}.fph-top .search-clear:hover{background:#ffffff38;color:#fff}.fph-pill{display:inline-flex;align-items:center;height:34px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:#ffffff1a;font-size:13.5px}.fph-menu{position:relative}.fph-avatar{width:34px;height:34px;border-radius:50%;border:0;background:#00ab8e;color:#fff;font:600 13px var(--head);cursor:pointer}.fph-waffle{width:34px;height:34px;border-radius:8px;border:0;background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer}.fph-waffle:hover{background:#ffffff1f}.fph-waffle svg{width:20px;height:20px;fill:currentColor}.fph-top .theme-control{border-color:#ffffff4d;background:transparent}.fph-top .theme-control button{background:transparent;color:#fff;border-color:#ffffff4d}.fph-top .theme-control button[aria-checked=true]{background:#ffffff2e;color:#fff}.fph-pop{position:absolute;right:0;top:calc(100% + 8px);min-width:240px;display:grid;padding:12px;background:var(--surface);color:var(--ink);border:1px solid var(--rule);border-radius:12px;box-shadow:0 14px 30px #00305729}.fph-pop b{font:var(--w-head) 15px var(--head)}.fph-pop small{color:var(--ink-3);font-size:12.5px;margin-top:2px;overflow-wrap:anywhere}.fph-pop hr{width:100%;border:0;border-top:1px solid var(--rule);margin:10px 0}.fph-pop a,.fph-pop button{display:flex;align-items:center;gap:10px;padding:7px 8px;margin:0 -8px;border:0;border-radius:7px;background:none;color:var(--ink);font:inherit;font-size:14px;text-align:left;text-decoration:none;cursor:pointer}.fph-pop a:hover,.fph-pop button:hover{background:var(--surface-3)}@media(max-width:1020px){.fph-pill{display:none}}@media(max-width:720px){.fph-top-in{flex-wrap:wrap}.fph-top-search{order:3;flex-basis:100%}.fph-top .search{max-width:none}.fph-top .theme-control{display:none}.fph-brand .fph-fpc{height:24px}.fph-lockup{gap:8px}.fph-lockup b,.fph-lockup span{font-size:15px}}.fph-stage{padding:40px 0 44px;background:linear-gradient(180deg,var(--fph-stage1),var(--fph-stage2) 70%,var(--fph-stage3));color:#fff}.fph-stage .dev-note{margin:0 0 20px}.fph-hero{display:flex;align-items:center;gap:22px}.fph-hero h1{margin:0;font:var(--w-head) 38px/1.15 var(--head);color:#fff}.fph-hero p{margin:6px 0 0;color:var(--fph-mist);font-size:16px}.fph-hero .mark{width:84px;flex:none;overflow:visible;display:block}.fph-sec-h-tools{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:10px}.fph-sec-h-tools h2{grid-column:2}.fph-filter{grid-column:3;justify-self:end;display:inline-flex;border:1px solid rgba(255,255,255,.25);border-radius:7px;overflow:hidden}.fph-filter button{height:28px;padding:0 10px;border:0;border-left:1px solid rgba(255,255,255,.25);background:transparent;color:var(--fph-mist);font:600 12.5px var(--sans);cursor:pointer}.fph-filter button:first-child{border-left:0}.fph-filter button:hover{color:#fff;background:#ffffff14}.fph-filter button:focus-visible{outline:2px solid var(--fph-gold);outline-offset:-2px}.fph-filter [aria-checked=true]{background:#ffffff2e;color:#fff}@media(max-width:720px){.fph-sec-h-tools{grid-template-columns:1fr;justify-items:center}.fph-sec-h-tools h2,.fph-filter{grid-column:1;justify-self:center}}.fph-none{margin:0;text-align:center;color:var(--fph-mist)}.fph-sec{margin-top:38px}.fph-sec-h{text-align:center;margin:0 0 18px}.fph-sec-h h2{display:inline-block;margin:0;font:var(--w-head) 18px var(--head);padding-bottom:5px;border-bottom:3px solid var(--fph-gold)}.fph-sec-h p{margin:8px 0 0;font-size:13.5px;color:var(--ink-2)}.fph-stage .fph-sec-h h2{color:#fff}.fph-light{padding:34px 0 0}.fph-light .fph-sec:first-child{margin-top:0}.fph-light .fph-sec-h h2{color:var(--ink)}.fph-tools{display:grid;gap:14px;max-width:900px;margin:0 auto}.fph-results{display:grid;gap:28px}.fph-results .search-empty{text-align:center}.fph-band{margin-top:38px;padding:34px 0 40px;background:var(--fph-band)}.fph-band .fph-sec{margin-top:0}.fph-band .fph-sec-h h2{color:var(--fph-band-h);border-color:var(--fph-band-ul)}.fph-feedback{display:flex;align-items:center;justify-content:center;gap:10px;width:max-content;max-width:100%;margin:40px auto 0;padding:10px 18px;border:1px solid var(--rule-2);border-radius:999px;background:var(--surface);color:var(--ink-2);font-size:14px}.fph-feedback svg{flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.fph-link{border:0;padding:0;background:none;color:inherit;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.fph-feedback .fph-strong{font-weight:600;text-decoration:none;color:var(--accent)}.fph-toast{position:fixed;left:50%;bottom:40px;z-index:60;margin:0;padding:10px 16px;border-radius:10px;background:var(--fph-navy);color:#fff;font-size:14px;transform:translate(-50%);opacity:0;pointer-events:none;transition:opacity .25s}.fph-toast.on{opacity:1}.fph-gate{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:linear-gradient(180deg,var(--fph-stage1),var(--fph-stage2) 70%,var(--fph-stage3));color:#fff;text-align:center}.fph-gate-wait .mark{width:110px;margin:0 auto;overflow:visible;display:block}.fph-gate-wait p{margin:18px 0 0;font:var(--w-head) 20px var(--head)}.fph-gate-wait small{display:block;margin-top:4px;color:var(--fph-mist);font-size:14px}.fph-gate-card{width:min(380px,100%);padding:34px 32px 28px;border-radius:18px;background:var(--fph-tile);color:var(--fph-tile-ink);box-shadow:0 26px 50px #00142859;outline:1px solid var(--fph-edge);outline-offset:-1px;display:grid;justify-items:center;gap:4px}.fph-gate-card .fph-fpc{height:46px;width:auto;margin-bottom:14px}.fph-gate-card h1{margin:0;font:var(--w-head) 23px var(--head)}.fph-gate-sub{margin:2px 0 22px;color:var(--fph-mist);font:600 12.5px var(--head);letter-spacing:.16em;text-transform:uppercase}.fph-gate-card[role=alert] .fph-gate-sub{color:var(--fph-tile-ink2);text-transform:none;letter-spacing:0;font:14px var(--sans)}.fph-gate-help{margin:18px 0 0;color:var(--fph-tile-ink2);font-size:13px;text-wrap:balance}.fph-gate-light{background:var(--fph-gate-bg);color:var(--fph-tile-ink)}.fph-gate-light .fph-gate-card{width:min(400px,100%);padding:34px 42px 30px;box-shadow:0 22px 44px #00305724}.fph-gate-card .mark{width:120px;margin:0 auto 14px;overflow:visible;display:block}.fph-gate-label{justify-self:start;margin-bottom:6px;font-weight:700;font-size:14px}.fph-gate-input{justify-self:stretch;height:44px;padding:0 14px;border:1px solid var(--fph-tile-line);border-radius:8px;background:var(--fph-input-bg);color:var(--fph-tile-ink);font:inherit;font-size:15.5px}.fph-gate-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.fph-gate-continue{justify-self:stretch;height:50px;margin-top:14px;border:0;border-radius:8px;background:var(--fph-gold);color:var(--fph-navy);font:700 16px var(--sans);cursor:pointer}.fph-gate-continue:hover{filter:brightness(1.04)}.fph-gate-or{justify-self:stretch;display:flex;align-items:center;gap:14px;margin:14px 0;color:var(--fph-tile-ink2);font-size:13px}.fph-gate-or:before,.fph-gate-or:after{content:"";flex:1;height:1px;background:var(--fph-tile-line)}.fph-gate-card .ms-signin{justify-self:stretch;justify-content:center;box-shadow:none;border-color:var(--fph-tile-ink2);background:var(--fph-tile);color:var(--fph-tile-ink);font-weight:500}.fph .mark.sweep .shine{animation:fph-sweep 1.1s linear 1 .5s}@keyframes fph-sweep{0%{opacity:1;transform:translate(0) skew(-18deg)}to{opacity:1;transform:translate(450%) skew(-18deg)}}.fph-gate-retry{height:36px;padding:0 18px;border:0;border-radius:8px;background:var(--fph-gold);color:var(--fph-navy);font:600 14px var(--sans);cursor:pointer}.fph-dev-tab,.fph-dev{position:fixed;left:16px;bottom:16px;z-index:70;font-size:13px}.fph-dev-tab{padding:8px 12px;border:1px solid var(--warn-ink);border-radius:999px;background:var(--warn-bg);color:var(--warn-ink);font:600 12.5px var(--mono);cursor:pointer}.fph-dev{width:290px;max-height:calc(100vh - 32px);overflow:auto;padding:12px 14px 14px;border:1px solid var(--warn-ink);border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:0 14px 30px #001e3c40}.fph-dev header{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}.fph-dev header small{color:var(--warn-ink);font-family:var(--mono);font-size:11px}.fph-dev header button{margin-left:auto;border:0;background:none;color:var(--ink-3);font-size:18px;line-height:1;cursor:pointer}.fph-dev fieldset{margin:0 0 10px;padding:8px 10px;border:1px solid var(--rule);border-radius:8px;display:grid;gap:4px}.fph-dev legend{padding:0 4px;color:var(--ink-3);font-size:12px}.fph-dev label{display:flex;align-items:center;gap:6px}.fph-dev-quick{display:flex;gap:6px;margin-top:4px}.fph-dev-quick button{border:1px solid var(--rule-2);border-radius:6px;background:var(--surface-2);color:var(--ink);font:inherit;font-size:12px;padding:2px 8px;cursor:pointer}.fph-dev-apply{width:100%;height:34px;border:0;border-radius:8px;background:var(--fph-navy);color:#fff;font:600 13.5px var(--sans);cursor:pointer}.fph-foot{border-top:1px solid var(--rule);margin-top:22px;padding-top:14px;padding-bottom:40px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--ink-3)}.fph-foot a{color:var(--ink-3)}.fph-foot a:hover{color:var(--accent-ink)}.fph-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,265px));justify-content:center;gap:18px}.fph-grid-four{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}@media(max-width:640px){.fph-grid{grid-template-columns:minmax(0,1fr)}}.fph .app{position:relative;display:flex;flex-direction:column;background:var(--fph-navy);border-radius:var(--fph-r);overflow:hidden;box-shadow:0 18px 40px #00142847;transform:perspective(900px) rotateX(0);transition:transform .18s,box-shadow .18s;outline:1px solid var(--fph-edge);outline-offset:-1px}.fph .app:hover{transform:perspective(900px) translateY(-4px) rotateX(1.5deg);box-shadow:0 26px 50px #00142859}.fph-light .app,.fph-band .app{box-shadow:0 10px 26px #001e3c29}.fph .cover{position:relative;height:168px;background:linear-gradient(135deg,var(--fph-mid),var(--fph-navy));overflow:hidden}.fph .cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000 45%,#001e3c8c);z-index:1}.fph .cover .art{position:absolute;top:0;right:0;bottom:0;left:0}.fph .cover .art>svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.fph .cover .lg{position:absolute;left:18px;bottom:14px;z-index:2;color:#fff;font:var(--w-head) 14px var(--head);letter-spacing:.06em;text-transform:uppercase;opacity:.9}.fph .body{display:flex;flex-direction:column;flex:1;padding:16px 18px;background:var(--fph-tile);color:var(--fph-tile-ink2)}.fph .app h3{margin:0 0 8px;font:var(--w-head) 20px var(--head);color:var(--fph-tile-ink)}.fph .app p{margin:0;font-size:14px;flex:1}.fph .status{display:flex;align-items:center;gap:7px;font-size:12.5px;margin:14px 0 0;padding-top:12px;border-top:1px solid var(--fph-tile-line)}.fph .status i{width:8px;height:8px;border-radius:50%;background:#1e9e62;flex:none}.fph .status.locked i{background:var(--fph-marigold)}.fph .status.soon i{background:var(--fph-sky)}.fph .status.unset i{background:#b9c4cf}.fph .acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.fph .btn{height:36px;padding:0 14px;border-radius:8px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.fph .btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.fph .btn.primary{background:var(--fph-gold);border:1px solid var(--fph-gold);color:var(--fph-navy)}.fph .btn.primary:hover{filter:brightness(1.05)}.fph .btn.more{width:36px;padding:0;justify-content:center}.fph .btn.more svg{fill:currentColor;stroke:none;width:18px;height:18px}.fph .fph-pop-up{top:auto;bottom:calc(100% + 6px);left:0;right:auto;min-width:180px;z-index:5}.fph .fph-pop small{margin:0 0 4px}.fph .tags{position:absolute;top:12px;right:12px;z-index:4;display:flex;gap:6px}.fph .tag{font:600 11px var(--head);letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:#e8eef5;color:#44566a}.fph .tag.client{background:#d6e6f5;color:var(--fph-navy)}.fph .tag.internal{background:var(--fph-marigold);color:#3d2a0e}.fph .tag.new{background:var(--fph-gold);color:var(--fph-navy)}.fph .tag.dev{background:#e8eef5;color:#44566a;font-style:italic}.fph .tag.beta{background:var(--fph-sky);color:#fff}.fph .app.internal{background:#3d2a0e}.fph .app.internal .cover{background:linear-gradient(135deg,#7a4a12,#3d2a0e)}.fph .app.internal .body{background:var(--fph-int-body)}.fph .app.internal .status{border-top-color:var(--fph-int-line)}.fph .app.internal h3{color:var(--fph-int-ink)}.fph .app.internal.soon .body{background:var(--fph-int-body)}.fph .app.locked .cover .art{filter:grayscale(1) opacity(.7)}.fph .app.locked h3{color:var(--fph-tile-ink2)}.fph .app.soon{background:#58697e;overflow:visible;box-shadow:none}.fph .app.soon:hover{transform:perspective(900px) rotateX(0);box-shadow:none}.fph .app.soon .cover{border-radius:var(--fph-r) var(--fph-r) 0 0;filter:saturate(.3) brightness(1.25)}.fph .app.soon .cover:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:repeating-linear-gradient(135deg,#fff0 0,#fff0 10px,#ffffff14 10px,#ffffff14 12px)}.fph .app.soon .body{border-radius:0 0 var(--fph-r) var(--fph-r);overflow:hidden;background:var(--fph-soon-body)}.fph .app.soon .body,.fph .app.soon .cover .lg,.fph .app.soon .tag,.fph .app.soon h3{font-style:italic}.fph .app.soon .btn{font-style:normal}.fph .ring{display:none;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:3;overflow:visible}.fph .app.soon .ring{display:block}.fph .ring rect{fill:none;stroke:var(--fph-gold);stroke-width:3;stroke-dasharray:7 5;x:0;y:0;width:100%;height:100%;rx:var(--fph-r)}.fph .app .kind{font-size:12px;color:var(--ink-3);margin:-4px 0 8px}.fph .status.sister i{background:#00ab8e}.fph-band .btn.primary{background:#00ab8e;border-color:#00ab8e;color:#fff}.fph .app.sister[data-bu=gc]{background:#25215d}.fph .app.sister[data-bu=gc] .cover:not(.logo){background:linear-gradient(135deg,#4a3fa6,#25215d)}.fph .app.sister[data-bu=qrm]{background:#2a4059}.fph .app.sister[data-bu=qrm] .cover:not(.logo){background:linear-gradient(135deg,#4054b2,#2a4059)}.fph .cover.logo{background:var(--fph-logo-bg);display:grid;place-items:center;border-bottom:1px solid var(--fph-tile-line)}.fph .cover.logo:after{content:none}.fph .lg2{position:relative;height:110px}.fph .lg2 svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.fph .logo-gc{aspect-ratio:365.04 / 187.68}.fph .logo-qrm{aspect-ratio:116.29 / 121.03}.fph .lg2 .shine{transform-box:fill-box;transform:translate(0) skew(-18deg);opacity:0}.fph .lg2 .shine.qs{transform:translate(0) skew(-28deg)}.fph .logo-gc .arc{stroke-dasharray:1 1;stroke-dashoffset:0}.fph .logo-gc .swg{transform-box:view-box;transform-origin:160.02px 48.95px}.fph .app.live .logo-gc .arc{animation:fph-gcwipe 6s linear infinite}.fph .app.live .logo-gc .swg{animation:fph-gcturn 6s linear infinite}.fph .app.live .logo-gc .shine{animation:fph-gcshine 6s linear infinite}@keyframes fph-gcwipe{0%{stroke-dashoffset:0}14%{stroke-dashoffset:-1}14.01%{stroke-dashoffset:1}18.17%{stroke-dashoffset:1}34.17%{stroke-dashoffset:0}to{stroke-dashoffset:0}}@keyframes fph-gcturn{0%{transform:rotate(0)}14%{transform:rotate(90deg)}14.01%{transform:rotate(0)}to{transform:rotate(0)}}@keyframes fph-gcshine{0%,37%{opacity:0;transform:translate(0) skew(-18deg)}37.01%{opacity:1}50%{opacity:1;transform:translate(450%) skew(-18deg)}50.01%,to{opacity:0;transform:translate(450%) skew(-18deg)}}.fph .logo-qrm .yellow{transform-box:view-box;transform-origin:58.14px 60.52px}.fph .app.live .logo-qrm .yellow{animation:fph-qspin 6s cubic-bezier(.3,.5,.25,1) infinite}.fph .app.live .logo-qrm .shine{animation:fph-qshine 6s linear infinite}@keyframes fph-qspin{0%{transform:rotate(0)}30%,to{transform:rotate(360deg)}}@keyframes fph-qshine{0%,34%{opacity:0;transform:translate(0) skew(-28deg)}34.01%{opacity:.7}41.5%{opacity:.7;transform:translate(330%) skew(-28deg)}41.51%,to{opacity:0;transform:translate(330%) skew(-28deg)}}.fph .logo-fcc{aspect-ratio:366 / 126;height:auto;width:86%}.fph .logo-fcc g.rest,.fph .logo-fcc g.gem{transform-box:view-box;transform-origin:117px 63px}.fph .app.live .logo-fcc g.rest,.fph .app.live .logo-fcc g.gem{animation:fph-fflip 6s ease-in-out infinite}.fph .app.live .logo-fcc g.gem{animation-delay:.12s}.fph .app.live .logo-fcc .shine{animation:fph-fshine 6s linear infinite}.fph .lg2 .shine.fs{transform:translate(0) skew(-28deg)}@keyframes fph-fflip{0%,2%{transform:scaleX(1)}6%{transform:scaleX(0)}10%{transform:scaleX(-1)}14%{transform:scaleX(0)}18%,to{transform:scaleX(1)}}@keyframes fph-fshine{0%,24%{opacity:0;transform:translate(0) skew(-28deg)}24.01%{opacity:.8}32%{opacity:.8;transform:translate(330%) skew(-28deg)}32.01%,to{opacity:0;transform:translate(330%) skew(-28deg)}}.fph .art .line{stroke-dasharray:1;stroke-dashoffset:0}.fph .art .dot{offset-rotate:0deg;offset-distance:100%}.fph .app.live .art.line .line{animation:fph-draw 6s linear infinite}.fph .app.live .art.line .dot{animation:fph-ride 6s linear infinite}@keyframes fph-draw{0%{stroke-dashoffset:1;opacity:1}25%{stroke-dashoffset:0;opacity:1}72%{stroke-dashoffset:0;opacity:1}80%{stroke-dashoffset:0;opacity:0}80.01%{stroke-dashoffset:1;opacity:1}to{stroke-dashoffset:1;opacity:1}}@keyframes fph-ride{0%{offset-distance:0%;opacity:1}25%{offset-distance:100%;opacity:1}72%{offset-distance:100%;opacity:1}80%{offset-distance:100%;opacity:0}80.01%{offset-distance:0%;opacity:0}to{offset-distance:0%;opacity:0}}.fph .art.ledger .bar{transform-box:fill-box;transform-origin:left center}.fph .art.ledger .bar.rt{transform-origin:right center}.fph .app.live .art.ledger .bar{animation:fph-wipe 5s linear infinite}.fph .app.live .art.ledger .line{animation:fph-drawq 5s linear infinite}@keyframes fph-wipe{0%{transform:scaleX(0);opacity:1}14%{transform:scaleX(1);opacity:1}72%{transform:scaleX(1);opacity:1}78%{transform:scaleX(1);opacity:0}78.01%{transform:scaleX(0);opacity:1}to{transform:scaleX(0);opacity:1}}@keyframes fph-drawq{0%{stroke-dashoffset:1;opacity:1}14%{stroke-dashoffset:0;opacity:1}72%{stroke-dashoffset:0;opacity:1}78%{stroke-dashoffset:0;opacity:0}78.01%{stroke-dashoffset:1;opacity:1}to{stroke-dashoffset:1;opacity:1}}.fph .art.bubbles .bub{transform-box:fill-box;transform-origin:center}.fph .app.live .art.bubbles .bub{animation:fph-pop 5s ease-out infinite;animation-delay:var(--i, 0s)}@keyframes fph-pop{0%{transform:scale(0);opacity:0}8%{transform:scale(1.15);opacity:1}12%{transform:scale(1);opacity:1}70%{transform:scale(1);opacity:1}76%{transform:scale(1);opacity:0}to{transform:scale(0);opacity:0}}.fph .art.bars .bar{transform-box:fill-box;transform-origin:center bottom}.fph .app.live .art.bars .bar{animation:fph-grow 5s linear infinite}@keyframes fph-grow{0%{transform:scaleY(0)}16%{transform:scaleY(1)}72%{transform:scaleY(1)}78%{transform:scaleY(1);opacity:0}78.01%{transform:scaleY(0);opacity:1}to{transform:scaleY(0)}}.fph .mark .shine{transform-box:fill-box;transform:translate(0) skew(-18deg);opacity:0}.fph .mark.flip g{transform-box:view-box;transform-origin:117px 63px;animation:fph-flip 7s ease-in-out infinite}.fph .mark.flip .gem{animation-delay:.25s}.fph .mark.flip .shine{animation:fph-sweep7 7s linear infinite 2.6s}@keyframes fph-flip{0%,5%{transform:scaleX(1)}9%{transform:scaleX(0)}13%{transform:scaleX(-1)}17%{transform:scaleX(0)}21%,to{transform:scaleX(1)}}@keyframes fph-sweep7{0%{opacity:1;transform:translate(0) skew(-18deg)}16%{opacity:1;transform:translate(450%) skew(-18deg)}16.01%,to{opacity:0;transform:translate(450%) skew(-18deg)}}.fph .rise{opacity:0;animation:fph-rise .5s ease-out forwards;animation-delay:var(--d, 0s)}@keyframes fph-rise{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){.fph *,.fph *:before,.fph *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.fph .rise{opacity:1}}@media(max-width:640px){.fph-stage,.fph-band{padding:28px 0 32px}.fph-hero{gap:14px}.fph-hero h1{font-size:28px}.fph-hero .mark{width:56px}}.page.hub{max-width:1480px;padding-top:20px;padding-bottom:48px}.hub-grow{flex:1;min-width:0}.hub-loading{color:var(--ink-3);padding:24px 16px;margin:0}.hub-empty{display:grid;justify-items:center;gap:12px;padding:44px 16px;text-align:center;color:var(--ink-2)}.hub-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 10px}.hub-head>div:first-child{margin-right:auto;min-width:0}.hub-head .btn{height:36px}.hub-back{display:inline-flex;align-items:center;gap:4px;margin-bottom:6px;font-size:13.5px;color:var(--accent-ink);text-decoration:none}.hub-back:hover{text-decoration:underline;text-underline-offset:3px}.hub-sub{margin:4px 0 0;color:var(--ink-3);font-size:13.5px}.hub-asana-state{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;color:var(--ink-2);font-size:13px}.hub-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:20px}.hub-tile{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-height:0;padding:10px 14px 11px;border:1px solid var(--rule);border-radius:var(--card-radius);background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .12s ease,background .12s ease}.hub-tile:hover{border-color:var(--rule-2);background:var(--surface-2)}.hub-tile.is-on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-soft)}.hub-tile.is-on .hub-tile-label{color:var(--ink);font-weight:600}.hub-tile-n{font-family:var(--head);font-size:24px;font-weight:var(--w-head);line-height:1.15;font-variant-numeric:tabular-nums}.hub-tile-label{font-size:13px;color:var(--ink-2);white-space:nowrap}.hub-tile.is-alert .hub-tile-n{color:var(--crit-ink)}.hub-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px 8px;margin-top:16px}.hub-seg.hub-apps{order:10;flex:1 1 100%;gap:6px;border:0;border-radius:0;overflow:visible;background:transparent}.hub-seg.hub-apps button{height:30px;padding:0 11px;border:1px solid var(--rule-2);border-radius:999px;background:var(--surface)}.hub-seg.hub-apps button+button{border-left:1px solid var(--rule-2)}.hub-seg.hub-apps button.is-on{border-color:var(--accent);background:var(--accent-soft)}.hub-seg.hub-apps button:focus-visible{outline-offset:1px}.hub-search{flex:1 1 280px;display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;border:1px solid var(--rule-2);border-radius:8px;background:var(--surface);color:var(--ink-3)}.hub-search:focus-within{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.hub-search input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:inherit;font-size:14px;outline:none}.hub-seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--rule-2);border-radius:8px;overflow:hidden;background:var(--surface)}.hub-seg button{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border:0;background:transparent;color:var(--ink-2);font:inherit;font-size:13.5px;cursor:pointer}.hub-seg button+button{border-left:1px solid var(--rule)}.hub-seg button:hover{background:var(--surface-3);color:var(--ink)}.hub-seg button.is-on{background:var(--accent-soft);color:var(--ink);font-weight:600}.hub-seg button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.hub-seg-n{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);font-weight:500}.hub-swatch{display:inline-block;width:8px;height:8px;border-radius:2px;flex:none}.hub-more-btn{height:36px}.hub-more-btn.is-on{background:var(--accent-soft);color:var(--ink);border-color:var(--accent)}.hub-sort{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 4px 0 12px;border:1px solid var(--rule-2);border-radius:8px;background:var(--surface);color:var(--ink-3);font-size:13.5px}.hub-sort select{border:0;background:transparent;font-weight:600;height:32px;padding:0 4px}.hub-more{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:10px;padding:14px;border:1px solid var(--rule);border-radius:var(--card-radius);background:var(--surface);box-shadow:var(--shadow)}.hub-more label{display:grid;gap:4px;font-size:var(--t-micro);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.hub-more select,.hub-more input{text-transform:none;letter-spacing:0;font-weight:400;width:100%;min-width:0}.hub select,.hub-input{height:32px;padding:0 8px;border:1px solid var(--rule-2);border-radius:7px;background:var(--surface);color:var(--ink);font:inherit;font-size:14px}.hub-input{min-width:200px}.hub select:focus-visible,.hub-input:focus-visible,.hub-tile:focus-visible,.hub-row-main:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.hub-chips:empty{display:none}.hub-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:12px 0 0;font-size:13px;color:var(--ink-3)}.hub-chip-on{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 4px 0 10px;border-radius:999px;background:var(--surface-3);color:var(--ink);font-size:12.5px}.hub-chip-on button{display:grid;place-items:center;width:20px;height:20px;border:0;border-radius:50%;background:transparent;color:var(--ink-3);cursor:pointer}.hub-chip-on button:hover{background:var(--rule);color:var(--ink)}.hub-notice{margin:12px 0 0;padding:8px 12px;border-radius:7px;font-size:14px}.hub-notice--ok{background:var(--good-bg);color:var(--good-ink)}.hub-notice--err{background:var(--crit-bg);color:var(--crit-ink)}.hub-notice--warn{background:var(--warn-bg);color:var(--warn-ink)}.hub-notice code{font-family:var(--mono);font-size:12.5px}.hub-files-off{display:grid;gap:4px}.hub-files-off-note{margin:0;padding:8px 10px;border-radius:8px;background:var(--surface-2);color:var(--ink-2);font-size:13px}.hub-panes{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px;margin-top:14px}.hub-list{flex:999 1 560px;min-width:0;border:1px solid var(--rule);border-radius:var(--card-radius);background:var(--surface)}.hub-list-head{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--rule);border-radius:var(--card-radius) var(--card-radius) 0 0;background:var(--surface-2);font-size:12px;color:var(--ink-3)}.hub-list-cols{display:flex;align-items:center;gap:6px;white-space:nowrap}.hub-list-cols>*{display:block;text-align:right}.hub-list-cols>.hub-row-owner,.hub-list-cols>.hub-col-asana{width:36px;text-align:center}.hub-row-owner{min-width:36px;justify-content:center}.hub-rows{list-style:none;margin:0;padding:0}.hub-row{position:relative;display:flex;align-items:flex-start;gap:0;padding-left:14px;border-bottom:1px solid var(--rule)}.hub-row:last-child{border-bottom:0}.hub-row:hover{background:var(--surface-2)}.hub-row.is-open{background:var(--accent-soft);outline:1px solid var(--accent);outline-offset:-1px}.hub-row.is-late{box-shadow:inset 4px 0 0 var(--crit-ink)}.hub-row.is-soon{box-shadow:inset 4px 0 0 var(--warn-ink)}.hub-row.is-done{box-shadow:inset 4px 0 0 var(--good-ink)}.hub-row.is-done .hub-row-text{opacity:.62}.hub-row.is-done .hub-title{text-decoration:line-through;text-decoration-color:var(--rule-2)}.hub-group{display:flex;align-items:center;gap:8px;margin:0;padding:7px 14px;border-bottom:1px solid var(--rule);background:var(--surface-2);font-size:var(--t-micro);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}.hub-group-dot{width:8px;height:8px;border-radius:50%;background:var(--ink-3)}.hub-group--late .hub-group-dot{background:var(--crit-ink)}.hub-group--soon .hub-group-dot{background:var(--warn-ink)}.hub-group--new .hub-group-dot{background:var(--accent)}.hub-group--done .hub-group-dot{background:var(--good-ink)}.hub-list section+section .hub-group{border-top:1px solid var(--rule)}.hub-due{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.hub-due--late{background:var(--crit-bg);color:var(--crit-ink)}.hub-due--soon{background:var(--warn-bg);color:var(--warn-ink)}.hub-due--later{color:var(--ink-2);font-weight:500;padding:1px 0}.badge.hub-due--late{background:var(--crit-bg);color:var(--crit-ink);border-color:transparent}.badge.hub-due--soon{background:var(--warn-bg);color:var(--warn-ink);border-color:transparent}.hub-pr{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;white-space:nowrap}.hub-pr .on{fill:currentColor}.hub-pr .off{fill:var(--rule-2)}.hub-pr--urgent{color:var(--crit-ink)}.hub-pr--high{color:var(--warn-ink)}.hub-pr--medium{color:var(--accent-ink)}.hub-pr--low{color:var(--ink-3)}.badge.hub-kind{border-color:transparent}.badge.hub-kind--bug{background:var(--crit-bg);color:var(--crit-ink)}.badge.hub-kind--data{background:var(--warn-bg);color:var(--warn-ink)}.badge.hub-kind--visual{background:var(--accent-soft);color:var(--accent-ink)}.badge.hub-kind--question{background:var(--kind-q-bg);color:var(--kind-q-ink)}.badge.hub-kind--idea{background:var(--good-bg);color:var(--good-ink)}.hub-list input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--accent);flex:none}.hub-row>input[type=checkbox]{margin-top:15px}.hub-row-main{flex:1;min-width:0;display:flex;align-items:flex-start;gap:10px;padding:12px 14px 12px 10px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.hub-row-main:hover .hub-title{text-decoration:underline;text-decoration-color:var(--rule-2);text-underline-offset:3px}.hub-dot-slot{width:8px;flex:none;padding-top:7px}.hub-dot{display:block;width:8px;height:8px;border-radius:50%;background:var(--accent)}.hub-row-text{flex:1;min-width:0;display:grid;gap:4px}.hub-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.35;color:var(--ink)}.is-unread .hub-title{font-weight:600}.is-resolved .hub-title{color:var(--ink-3)}.hub-row-meta{display:flex;flex-wrap:wrap;align-items:center;gap:3px 10px;font-size:12.5px;color:var(--ink-3)}.hub-app{display:inline-flex;align-items:center;gap:5px;font-weight:600;color:var(--ink-2);white-space:nowrap}.hub-news{color:var(--accent-ink)}.hub-row-side{display:flex;align-items:center;gap:6px;flex:none;padding:9px 14px 0 0}.hub-rowmenu{position:relative;display:inline-flex;justify-content:flex-end}.hub-rowmenu-btn{display:inline-flex;align-items:center;justify-content:flex-end;min-height:28px;padding:2px 4px;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;font:inherit;cursor:pointer}.hub-rowmenu-btn:hover,.hub-rowmenu-btn[aria-expanded=true]{border-color:var(--rule-2);background:var(--surface)}.hub-rowmenu-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.hub-row-empty{font-size:12px;color:var(--ink-3);opacity:0}.hub-row:hover .hub-row-empty,.hub-rowmenu-btn:focus-visible .hub-row-empty,.hub-rowmenu-btn[aria-expanded=true] .hub-row-empty{opacity:1}.hub-rowmenu-pop{position:absolute;top:calc(100% + 4px);right:0;z-index:30;display:grid;min-width:190px;max-height:320px;overflow-y:auto;padding:4px;border:1px solid var(--rule-2);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.hub-rowmenu-item{display:flex;align-items:center;gap:6px;min-height:32px;padding:0 10px 0 6px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:inherit;font-size:13.5px;text-align:left;white-space:nowrap;cursor:pointer}.hub-rowmenu-item:hover,.hub-rowmenu-item:focus-visible{background:var(--surface-3);outline:none}.hub-rowmenu-item.is-on{font-weight:600}.hub-rowmenu-check{width:14px;color:var(--accent-ink)}.hub-rowmenu-date{display:grid;gap:4px;margin:4px 0;padding:6px 10px 6px 26px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font-size:12px;color:var(--ink-3)}.hub-rowmenu-date .hub-date{width:100%}.hub-keys{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;margin:0;padding:9px 14px;border-top:1px solid var(--rule);font-size:12.5px;color:var(--ink-3)}.hub-keys>span{white-space:nowrap}.hub-keys kbd{display:inline-block;min-width:18px;padding:0 4px;border:1px solid var(--rule-2);border-bottom-width:2px;border-radius:4px;font-family:var(--mono);font-size:11px;line-height:16px;text-align:center;color:var(--ink-2)}.hub-row-pr{min-width:84px}.hub-row-due{min-width:76px}.hub-avatar{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--rule-2);background:var(--surface-3);color:var(--ink-2);font-size:11px;font-weight:700;flex:none}.hub-avatar.is-none{background:transparent;border-style:dashed}.hub-avatar.is-you{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.hub-asana-mark{display:grid;place-items:center;width:36px;height:22px;color:var(--ink-3);flex:none}.hub-asana-mark.is-in{color:var(--accent-ink)}.hub-asana-mark.is-pending{color:var(--warn-ink)}.hub-asana-mark.is-done{color:var(--good-ink)}.hub-asana-mark:not(.is-in){opacity:.7}.hub-selection{position:sticky;bottom:0;display:grid;gap:8px;padding:12px 14px;border-top:1px solid var(--accent);border-radius:0 0 var(--card-radius) var(--card-radius);background:var(--surface-2);box-shadow:0 -10px 22px -18px #0009}.hub-selection.card{border-left:0;border-right:0;border-bottom:0}.hub-selection-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.hub-selection label{display:grid;gap:2px;font-size:var(--t-micro);color:var(--ink-3)}.hub-clear{margin-left:auto}.hub-or,.hub-hint{color:var(--ink-3);font-size:13px;margin:0;align-self:center}.hub-panel{flex:1 1 500px;min-width:0;max-width:620px;position:sticky;top:72px;display:flex;flex-direction:column;max-height:calc(100vh - 96px);border:1px solid var(--rule);border-radius:var(--card-radius);background:var(--surface)}.hub-panel-head{display:flex;align-items:center;gap:8px;padding:10px 12px 10px 18px;border-bottom:1px solid var(--rule);font-size:12.5px;color:var(--ink-3)}.hub-panel-where{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-panel-where a{color:var(--accent-ink)}.hub-icon-btn{min-width:0;height:28px;padding:0 7px}.hub-panel-body{flex:1;overflow-y:auto;display:grid;align-content:start;gap:18px;padding:14px 18px 18px}.hub-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.hub-panel-text{margin:10px 0 0;color:var(--ink);font-family:var(--head);font-size:18px;line-height:1.45;white-space:pre-wrap}.hub-meta{margin:4px 0 0;color:var(--ink-3);font-size:13px;line-height:1.5}.hub-meta a,.hub-panel-actions a{color:var(--accent-ink)}.hub-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.hub-field{display:grid;gap:3px;padding:7px 10px 9px;border:1px solid var(--rule);border-radius:8px}.hub-field:focus-within{border-color:var(--accent)}.hub-field-label{font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}.hub-field select,.hub-field .hub-date{width:100%;min-width:0;height:28px;padding:0 2px;border:0;background:transparent}.hub-sect{display:grid;gap:8px}.hub-section-title{display:flex;align-items:center;gap:6px;margin:0;font-size:var(--t-micro);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}.hub-section-title:after{content:"";flex:1;height:1px;background:var(--rule)}.hub-section-title .hub-by{text-transform:none;letter-spacing:0;font-weight:400}.hub-task{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--rule);border-radius:8px}.hub-task .hub-grow{display:grid;gap:2px}.hub-task-name{font-weight:600;font-size:14px;color:var(--ink);text-decoration:none}.hub-task-name:hover{text-decoration:underline;text-underline-offset:3px}.hub-send{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;border:1px dashed var(--rule-2);border-radius:8px;font-size:13.5px;color:var(--ink-2)}.hub-panel-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 18px;border-top:1px solid var(--rule);font-size:13.5px}.hub-by,.hub-none{color:var(--ink-3);font-size:12.5px}.hub-date{min-width:0;width:150px}.hub-overdue{color:var(--crit-ink);font-weight:600}.hub-pending{color:var(--warn-ink);font-size:12.5px}.hub-priority--urgent{background:var(--crit-bg);border-color:var(--crit);color:var(--crit-ink)}.hub-priority--high{background:var(--warn-bg);color:var(--warn-ink)}.hub-priority--medium{background:var(--accent-soft);color:var(--accent-ink)}.hub-subtasks{display:grid;gap:4px;margin:0;padding:0;list-style:none}.hub-subtask{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 6px;padding:4px 6px;border-radius:6px;background:var(--surface-2)}.hub-subtask>select,.hub-subtask>.hub-date{grid-row:2;height:28px;font-size:13px}.hub-subtask>select{grid-column:2}.hub-subtask>.hub-date{grid-column:3;width:140px}.hub-subtask-end{grid-row:1;grid-column:3;justify-self:end;display:inline-flex;align-items:center;gap:6px}.hub-subtask-name{min-width:0;height:28px;padding:0 6px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink);font:inherit;font-size:14px}.hub-subtask-name:hover:not(:disabled),.hub-subtask-name:focus-visible{border-color:var(--rule-2);background:var(--surface);outline:none}.hub-subtask.is-done .hub-subtask-name{color:var(--ink-3);text-decoration:line-through}.hub-add-row,.hub-reply-box{display:flex;gap:6px;align-items:flex-end}.hub-add-row .hub-input{flex:1;min-width:0}.hub-reply-box{flex-direction:column;align-items:stretch}.hub-reply-box .btn{align-self:flex-end}.hub-textarea{height:auto;min-width:0;padding:8px 10px;resize:vertical;line-height:1.4;background:var(--surface-2)}.hub-replies{display:grid;gap:12px;margin:0;padding:0;list-style:none}.hub-replies li{display:flex;gap:10px;align-items:flex-start}.hub-replies li>div{min-width:0}.hub-replies strong{color:var(--ink);font-weight:600}.hub-replies p{margin:2px 0 0;color:var(--ink);white-space:pre-wrap}.badge{display:inline-flex;justify-content:center;align-items:center;border-radius:6px;border:1px solid var(--rule-2);background:var(--surface-2);color:var(--ink-2);font-family:var(--mono);font-size:11px;font-weight:600;padding:2px 6px;white-space:nowrap}.badge--good{background:var(--good-bg);border-color:var(--good);color:var(--good-ink)}.badge--crit{background:var(--crit-bg);border-color:var(--crit);color:var(--crit-ink)}.hub .badge{font-family:var(--sans);font-size:11.5px;font-weight:600;letter-spacing:.01em;border-radius:5px;padding:1px 7px;min-height:20px}.hub-asana-pill{gap:4px;height:34px;padding:0 4px 0 12px;border:1px solid var(--rule);border-radius:999px;background:var(--surface)}.hub-asana-dot{width:8px;height:8px;border-radius:50%;background:var(--good-ink);margin-right:4px}.hub-pill-btn{height:26px;padding:0 9px;border:0;border-radius:999px;background:transparent;color:var(--ink-2);font:inherit;font-size:12.5px;cursor:pointer}.hub-pill-btn:hover:not(:disabled){background:var(--surface-3);color:var(--ink)}.hub-pill-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.hub-link-button{border:0;padding:0;background:none;color:var(--accent-ink);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.hub-since{border-radius:8px;background:var(--accent-soft);padding:10px 12px;display:grid;gap:4px}.hub-since-head{margin:0;font-size:var(--t-micro);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-ink)}.hub-since ul{list-style:none;margin:0;padding:0;display:grid;gap:3px;font-size:13.5px;color:var(--ink-2)}.hub-since li.is-you,.hub-since-who{color:var(--ink);font-weight:500}.hub-since-when{margin-left:8px;color:var(--ink-3);font-size:12px}.hub-people-button{margin-left:12px;vertical-align:middle;font-size:13.5px}.hub-people{display:grid;gap:12px;margin:14px 0 0}.hub-people-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.hub-people-head .hub-sub{margin:4px 0 0;max-width:72ch}.hub-people-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.hub-people-search{flex:0 1 300px;min-width:200px}.hub-people-filters{display:flex;flex-wrap:wrap;gap:6px}.hub-chip-filter{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid var(--rule-2);border-radius:999px;background:var(--surface);color:var(--ink-2);font:inherit;font-size:13px;cursor:pointer}.hub-chip-filter:hover{background:var(--surface-3);color:var(--ink)}.hub-chip-filter.is-on{background:var(--accent-soft);border-color:var(--accent);color:var(--ink);font-weight:600}.hub-chip-filter:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.hub-people-list{list-style:none;margin:0;padding:0;border:1px solid var(--rule);border-radius:var(--card-radius)}.hub-person{display:grid;grid-template-columns:28px minmax(180px,1.2fr) 150px minmax(0,2fr) auto;align-items:center;gap:8px 14px;padding:10px 14px;border-bottom:1px solid var(--rule)}.hub-person:last-child{border-bottom:0}.hub-person-who{display:grid;min-width:0}.hub-people-name{font-weight:600;color:var(--ink)}.hub-person-emails{color:var(--ink-3);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-person-apps{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.hub-app-chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:999px;background:var(--surface-3);color:var(--ink);font-size:12.5px;white-space:nowrap}.hub-person-empty{padding:16px 14px}@media(max-width:760px){.hub-person{grid-template-columns:28px minmax(0,1fr)}.hub-person-role,.hub-person-apps,.hub-person-edit{grid-column:2}}.hub-person-edit{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.hub-person-edit .btn{height:28px;padding:0 10px;font-size:13px}.hub-people-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.hub-access-editor{display:grid;gap:14px;padding:16px;border:1px solid var(--accent);border-radius:var(--card-radius);background:var(--surface)}.hub-access-title{margin:0;font-size:var(--t-card-heading)}.hub-access-who{margin:-8px 0 0;color:var(--ink-2);font-size:13.5px;overflow-wrap:anywhere}.hub-access-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.hub-access-field{display:grid;gap:4px;font-size:13.5px;font-weight:500}.hub-access-field .hub-sub,.hub-access-option .hub-sub{font-weight:400;margin:0}.hub-access-set{display:grid;gap:8px;margin:0;padding:0;border:0;min-width:0}.hub-access-set legend{padding:0;margin-bottom:4px;font-size:var(--t-micro);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2)}.hub-access-option{display:flex;align-items:flex-start;gap:8px;font-size:13.5px;cursor:pointer}.hub-access-option input{margin-top:3px}.hub-access-option>span:not(.hub-app-chip){display:grid}.hub-access-staff{padding:10px 12px;border-radius:8px;background:var(--warn-bg);color:var(--warn-ink);font-size:13.5px;line-height:1.5}.hub-access-staff a{color:inherit;font-weight:600}.hub-access-words{margin:0;padding-left:20px;display:grid;gap:4px;font-size:14px}.hub-access-error{margin:0;padding:8px 12px;border-radius:8px;background:var(--crit-bg);color:var(--crit-ink);font-size:13.5px}.hub-access-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.hub-access-spacer{flex:1}.hub-access-remove{color:var(--crit-ink)}.hub-access-history{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:13.5px;color:var(--ink-2)}.hub-access-history-when{margin-left:8px;color:var(--ink-3);font-size:12px}.hub-access-notice{margin:0;padding:8px 12px;border-radius:8px;background:var(--good-bg);color:var(--good-ink);font-size:13.5px}@media(max-width:760px){.hub-row-pr,.hub-row-due,.hub-list-cols,.hub-keys{display:none}.hub-panel{position:static;max-height:none;max-width:none}.hub-selection{position:static}.hub-tiles{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:8px}.hub-tile{min-height:0;padding:8px 10px}.hub-tile-n{font-size:20px}.hub-tile-label{font-size:12px}}.hub-files{display:grid;gap:6px}.hub-files .hub-meta{margin:0}.hub-files ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.hub-files li{position:relative;border:1px solid var(--rule-2);border-radius:8px;overflow:hidden;background:var(--surface-2);aspect-ratio:4 / 3;display:grid;place-items:center}.hub-files li a{display:block;width:100%;height:100%}.hub-files img,.hub-files video{width:100%;height:100%;object-fit:cover;display:block}.hub-files video{object-fit:contain;background:#000}.hub-files a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.hub-file-wait{font-size:12.5px;color:var(--ink-3);padding:8px;text-align:center}.hub-file-tag{position:absolute;left:6px;bottom:6px;font-size:11px;padding:1px 6px;border-radius:6px;background:var(--surface);color:var(--ink-2)}.hub-head .hub-people-button{margin-left:0;vertical-align:baseline}.hub-people-button.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.hub-skeleton{display:grid;gap:16px}.hub-skeleton .hub-tiles{margin-top:4px}.hub-skel{display:block;height:14px;border-radius:6px;background:var(--rule);animation:hub-pulse 1.4s ease-in-out infinite}.hub-skel-title{width:220px;height:30px;margin-top:24px}.hub-skel-tile{height:58px;border-radius:var(--card-radius)}.hub-skel-tools{height:36px;border-radius:8px}.hub-skel-row{display:grid;gap:8px;padding:14px 16px;border-bottom:1px solid var(--rule)}.hub-skel-row:last-child{border-bottom:0}.hub-skel-meta{width:34%;height:11px;opacity:.7}@keyframes hub-pulse{50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.hub-skel{animation:none}}@media(max-width:760px){.page.hub{padding-top:14px}.hub-head .btn{height:34px}.hub-head>div:first-child{flex-basis:100%}.hub-tiles{display:flex;gap:8px;margin:14px calc(-1 * var(--gutter)) 0;padding:0 var(--gutter) 2px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:var(--gutter);scrollbar-width:none}.hub-tile{flex:0 0 auto;min-width:104px;scroll-snap-align:start}.hub-search{flex-basis:100%}.hub-seg.hub-apps{flex-wrap:nowrap;margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter) 2px;overflow-x:auto;scrollbar-width:none}.hub-seg.hub-apps button{flex:none}.hub-title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.hub-row-meta{gap:2px 8px}.hub-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;max-width:none;max-height:none;border:0;border-radius:0}.hub-panel-head{padding:10px 10px 10px 16px;min-height:52px}.hub-panel-body{padding:14px 16px 20px}.hub-icon-btn{height:34px;padding:0 10px}body:has(.hub-panel){overflow:hidden}}.hub-status-pill{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border:1px solid color-mix(in srgb,var(--status) 45%,transparent);border-radius:999px;background:color-mix(in srgb,var(--status) 12%,transparent);color:var(--ink);font-size:12px;font-weight:500;white-space:nowrap}.hub-status-dot{width:8px;height:8px;border-radius:50%;background:var(--status);flex:none}.hub-status-reason{color:var(--ink-2);font-weight:400}.hub-tag{display:inline-flex;align-items:center;gap:2px;height:22px;padding:0 8px;border-radius:6px;background:var(--surface-3);color:var(--ink-2);font-size:12px;white-space:nowrap}.hub-tag .hub-link-button{font-size:12px;max-width:32ch;overflow:hidden;text-overflow:ellipsis}.hub-tag-x{border:0;background:none;padding:0 0 0 4px;color:var(--ink-3);font:inherit;font-size:14px;line-height:1;cursor:pointer}.hub-tag-x:hover{color:var(--crit-ink)}.hub-tag-x:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:3px}.hub-labels{display:grid;gap:10px}.hub-label-row{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:8px}.hub-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.hub-inline-form{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.hub-tag-input{width:150px;height:28px}.hub-id-input{width:72px;height:28px}.hub-status-group{display:grid;gap:8px}.hub-status-list{list-style:none;margin:0;padding:0;border:1px solid var(--rule);border-radius:var(--card-radius)}.hub-status-edit{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:8px 12px;border-bottom:1px solid var(--rule)}.hub-status-edit:last-child{border-bottom:0}.hub-status-edit .hub-input{flex:1 1 180px;min-width:0;height:30px}.hub-status-edit.is-retired .hub-input{color:var(--ink-3);text-decoration:line-through}.hub-status-edit .hub-status-dot{width:10px;height:10px}.hub-status-check{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--ink-2)}.hub-status-move{display:inline-flex;gap:4px;margin-left:auto}@media(max-width:760px){.hub-label-row{grid-template-columns:minmax(0,1fr);gap:4px}}.hub-mention-wrap{position:relative;flex:1;min-width:0;display:grid}.hub-mention-list{position:absolute;left:0;right:0;bottom:calc(100% + 4px);z-index:20;max-width:360px;margin:0;padding:4px;list-style:none;border:1px solid var(--rule-2);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.hub-mention-list li{display:flex;align-items:baseline;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:13.5px}.hub-mention-list li .hub-by{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-mention-list li.is-on,.hub-mention-list li:hover{background:var(--accent-soft)}.hub-mention{color:var(--accent-ink);font-weight:600}.hub-mention.is-you{padding:0 3px;border-radius:4px;background:var(--accent-soft)}.hub-follow{height:30px;padding:0 10px;font-size:13px;white-space:nowrap}.hub-follow.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.hub-confirm{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin:8px 0;padding:10px 12px;border-radius:8px;background:var(--good-bg);color:var(--good-ink);font-size:13.5px}.hub-confirm-actions{display:inline-flex;flex-wrap:wrap;gap:8px}.hub-review-ask{background:var(--warn-bg);color:var(--warn-ink)}.hub-waiting{font-size:12px;color:var(--warn-ink);white-space:nowrap}.hub-digest{display:inline-flex;align-items:center;gap:4px}.hub-digest select{height:26px;font-size:12.5px}.hub-tracking{display:grid;gap:10px}.hub-bug{display:grid;gap:8px;margin:0;padding:10px 12px;border-left:3px solid var(--crit);border-radius:0 8px 8px 0;background:var(--surface-2)}.hub-bug dt{font-size:var(--t-micro);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2)}.hub-bug dd{margin:2px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13.5px}.hub-fixed-input{width:min(320px,100%);height:28px}.hub-views{position:relative}.hub-views-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:20;display:grid;gap:8px;width:min(300px,calc(100vw - 32px));padding:12px;border:1px solid var(--rule-2);border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}@media(max-width:760px){.hub-views-menu{position:fixed;left:var(--gutter);right:var(--gutter);top:auto;bottom:16px;width:auto;max-height:70vh;overflow-y:auto}}.hub-views-menu ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}.hub-views-menu li{display:flex;align-items:center;gap:4px}.hub-views-head{margin:0;font-size:var(--t-micro);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}.hub-views-apply{flex:1;min-width:0;padding:6px 8px;border:0;border-radius:6px;background:none;color:var(--ink);font:inherit;font-size:13.5px;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-views-apply:hover{background:var(--accent-soft)}.hub-views-apply:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.hub-views-save{display:grid;gap:8px}.page.hub.dash{max-width:1240px}.dash-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.dash-head>div:first-child{margin-right:auto;min-width:0}.dash-export{display:grid;justify-items:end;gap:6px}.dash-export .btn{height:36px}.dash-error{margin:0;font-size:12.5px;color:var(--crit-ink);max-width:320px;text-align:right}.dash-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:18px 0 14px}.dash-filter{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-2)}.dash-filter select{height:34px;padding:0 10px;border:1px solid var(--rule-2);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:13.5px}.dash-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}.dash-tile{display:grid;align-content:start;gap:2px;padding:12px 14px;border:1px solid var(--rule);border-radius:var(--card-radius);background:var(--surface)}.dash-tile-label{font-size:var(--t-micro);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}.dash-tile-value{font-family:var(--head);font-size:28px;font-weight:500;color:var(--ink);line-height:1.15;font-variant-numeric:tabular-nums}.dash-tile-note{font-size:12.5px;color:var(--ink-3)}.dash-tile.is-alert{border-color:var(--crit)}.dash-tile.is-alert .dash-tile-value{color:var(--crit-ink)}.dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dash-card{display:grid;align-content:start;gap:10px;min-width:0}.dash-card-title{margin:0;font-family:var(--head);font-size:var(--t-card-heading);font-weight:var(--w-head);color:var(--ink)}.dash-card-sub{margin:-6px 0 0;font-size:12.5px;color:var(--ink-3)}.dash-empty{margin:8px 0;color:var(--ink-3);font-size:13.5px}.dash-muted{color:var(--ink-3)}.dash-tip{position:fixed;z-index:50;transform:translate(-50%,calc(-100% - 10px));max-width:260px;padding:6px 9px;border:1px solid var(--rule-2);border-radius:6px;background:var(--surface);box-shadow:var(--shadow);color:var(--ink);font-size:12.5px;pointer-events:none}.dash-card [tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dash-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;list-style:none;font-size:12.5px;color:var(--ink-2)}.dash-legend li{display:inline-flex;align-items:center;gap:6px}.dash-key{width:10px;height:10px;border-radius:3px}.is-series{background:var(--viz-1)}.is-stale{background:var(--viz-stale)}.dash-heat-wrap{overflow-x:auto}.dash-heat{display:grid;gap:2px;align-items:stretch;font-size:13px;min-width:min-content}.dash-heat-col{align-self:end;padding:0 4px 4px;font-size:11.5px;color:var(--ink-3);text-align:center;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.dash-heat-row{display:block;align-self:center;padding-right:8px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-heat-cell{display:flex;align-items:center;justify-content:center;min-height:34px;border-radius:4px;font-variant-numeric:tabular-nums;font-weight:600}.dash-heat-cell.step-0{background:var(--surface-2)}.dash-heat-cell.step-1{background:var(--viz-seq-1);color:var(--viz-seq-ink-1)}.dash-heat-cell.step-2{background:var(--viz-seq-2);color:var(--viz-seq-ink-2)}.dash-heat-cell.step-3{background:var(--viz-seq-3);color:var(--viz-seq-ink-3)}.dash-heat-cell.step-4{background:var(--viz-seq-4);color:var(--viz-seq-ink-4)}.dash-heat-cell.step-5{background:var(--viz-seq-5);color:var(--viz-seq-ink-5)}.dash-heat-sum,.dash-heat-total{display:flex;align-items:center;justify-content:flex-end;padding-left:6px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.dash-heat-total{justify-content:flex-end;color:var(--ink-3);font-weight:400}.dash-cols{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:10px;height:200px;padding-top:4px;border-bottom:1px solid var(--rule-2)}.dash-cols.is-dense{gap:4px}.dash-col{display:grid;grid-template-rows:auto 1fr;align-items:end;min-width:0;position:relative}.dash-col-value{text-align:center;font-size:12.5px;color:var(--ink-2);font-variant-numeric:tabular-nums;min-height:1.3em}.dash-col-bar{display:flex;flex-direction:column;gap:2px;width:min(48px,70%);justify-self:center;min-height:0}.dash-seg{flex-basis:0;min-height:3px}.dash-col-bar .dash-seg:first-child{border-radius:4px 4px 0 0}.dash-col-label{position:absolute;top:100%;left:0;right:0;padding-top:6px;font-size:11.5px;color:var(--ink-3);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-cols{margin-bottom:26px}.dash-fix-apps{display:grid;gap:4px;margin:0;padding:8px 0 0;list-style:none;border-top:1px solid var(--rule);font-size:13px}.dash-fix-apps li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:baseline}.dash-fix-apps strong{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.dash-people{display:grid;grid-template-columns:minmax(90px,1.2fr) minmax(80px,2fr) repeat(3,56px);gap:6px 10px;align-items:center;font-size:13px}.dash-people-head{font-size:11.5px;color:var(--ink-3);text-align:right}.dash-person{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.dash-hbar-track{display:flex;align-items:center;gap:6px;min-width:0}.dash-hbar{height:12px;min-width:3px;border-radius:0 4px 4px 0}.dash-hbar-value{font-variant-numeric:tabular-nums;color:var(--ink-2)}.dash-num{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-2)}.dash-num.is-alert{color:var(--crit-ink);font-weight:600}.dash-table summary{cursor:pointer;font-size:12.5px;color:var(--accent-ink);width:max-content}.dash-table table{width:100%;margin-top:8px;border-collapse:collapse;font-size:13px}.dash-table th,.dash-table td{padding:4px 8px;border-bottom:1px solid var(--rule);text-align:right;font-variant-numeric:tabular-nums}.dash-table th[scope=row],.dash-table thead th:first-child{text-align:left;font-weight:500}.dash-table thead th{color:var(--ink-3);font-weight:600;font-size:11.5px}@media(max-width:960px){.dash-grid{grid-template-columns:minmax(0,1fr)}.dash-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.dash-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-tile-value{font-size:24px}.dash-export{justify-items:start}.dash-error{text-align:left}.dash-people{grid-template-columns:minmax(80px,1fr) minmax(60px,1.4fr) repeat(3,44px)}}@media(forced-colors:active){.is-series,.is-stale,.dash-heat-cell{forced-color-adjust:none;border:1px solid CanvasText}}.admin{display:grid;gap:16px}.admin-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.admin-back{color:var(--accent-ink);font-size:14px}.admin-grid{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:16px;align-items:start}@media(max-width:860px){.admin-grid{grid-template-columns:1fr}}.admin-list ol{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:4px}.admin-list li{display:flex;align-items:center;gap:6px;border-radius:8px}.admin-list li.is-current{background:var(--surface-2)}.admin-pick{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:6px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:8px}.admin-pick:hover{background:var(--surface-2)}.admin-pick:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.admin-pick-text{display:grid;min-width:0}.admin-pick-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-pick-meta{font-size:12.5px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-order{display:flex;gap:2px}.admin-arrow{padding:2px 8px;min-width:0}.admin-editor{display:grid;grid-template-columns:1fr minmax(240px,300px);gap:20px;align-items:start}@media(max-width:1100px){.admin-editor{grid-template-columns:1fr}}.admin-editor form{display:grid;gap:14px;min-width:0}.admin-empty{display:block}.admin-field{display:grid;gap:4px;margin:0;padding:0;border:0;min-width:0}.admin-field>span,.admin-field>legend{font-size:13px;font-weight:600;color:var(--ink-2);padding:0;margin-bottom:2px}.admin-field small,.admin-checks small{color:var(--ink-3);font-size:12.5px}.admin-input{width:100%;min-width:0;height:34px;padding:0 8px;border:1px solid var(--rule-2);border-radius:7px;background:var(--surface);color:var(--ink);font:inherit;font-size:14px}.admin-textarea{height:auto;padding:6px 8px;resize:vertical;line-height:1.4}.admin-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.admin-checks{display:flex;flex-wrap:wrap;gap:6px 16px}.admin-checks label{display:inline-flex;align-items:center;gap:6px;font-size:14px}.admin-icon-row{display:flex;gap:10px;align-items:flex-start}.admin-row{display:grid;grid-template-columns:1fr 1fr auto;gap:6px}.admin-row-page{grid-template-columns:1fr .8fr 1.4fr auto}@media(max-width:640px){.admin-row,.admin-row-page{grid-template-columns:1fr}}.admin-add{justify-self:start}.admin-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.admin-note{margin:0;font-size:14px}.admin-note-ok{color:var(--ink-2)}.admin-note-error{color:var(--crit-ink)}.admin-preview{display:grid;gap:8px;position:sticky;top:16px}.admin-preview .tile{pointer-events:none}.ops{grid-column:1 / -1;border-top:1px solid var(--rule);padding-top:14px;margin-top:6px}.ops>summary{cursor:pointer;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ops-private{font-weight:400;font-size:12.5px;color:var(--ink-3)}.ops-badge{font-size:12px;font-weight:600;padding:1px 8px;border-radius:999px;background:var(--warn-bg);color:var(--warn-ink)}.ops .admin-form{margin-top:12px}.ops-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:10px}.ops-quick{display:flex;gap:14px;flex-wrap:wrap;font-size:13.5px}.ops-row{grid-template-columns:140px 1fr 1.3fr 1fr auto auto;align-items:center}.ops-cred{grid-template-columns:130px 1.1fr 1.4fr 150px 120px auto}.ops-cred-note{grid-column:2 / -1}.ops-expiry{font-size:12.5px;color:var(--ink-3);white-space:nowrap}.ops-expiry.is-soon{color:var(--warn-ink);font-weight:600}.ops-expiry.is-past{color:var(--crit-ink);font-weight:600}.ops-self{margin-top:18px}@media(max-width:760px){.ops-row,.ops-cred{grid-template-columns:1fr}.ops-cred-note{grid-column:auto}}.admin-family{margin-top:40px;padding-top:28px;border-top:1px solid var(--rule);display:grid;gap:14px}.admin-family-title{margin:0}.dt{max-width:1420px;margin:0 auto;padding:20px var(--gutter) 48px;display:flex;flex-direction:column;gap:16px}.dt button,.dt select{font:inherit}.dt .masthead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 16px}.dt .masthead h1{margin:2px 0 0}.dt .asof{margin:4px 0 0;font-size:12.5px;color:var(--ink-3)}.dt .mast-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dt .tabs{display:flex;gap:4px;border-bottom:1px solid var(--rule)}.dt .tab{font-weight:600;font-size:14px;color:var(--ink-3);text-decoration:none;border:0;border-bottom:3px solid transparent;background:none;padding:8px 14px 9px;margin-bottom:-1px;cursor:pointer}.dt .tab:hover{color:var(--ink)}.dt .tab[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}.dt .notice{margin:0;padding:14px 16px;background:var(--surface);border:1px solid var(--rule);border-radius:10px;color:var(--ink-2)}.dt .notice.err{background:var(--crit-bg);border-color:var(--crit-ink);color:var(--crit-ink)}.dt .notice .btn{margin-left:8px}.dt .progress{display:block;width:100%;max-width:360px;height:6px;margin-top:8px;accent-color:var(--accent)}.dt .controls{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:flex-end;background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:14px 16px}.dt .ctl{display:flex;flex-direction:column;gap:6px;min-width:0}.dt .row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.dt .seg{display:inline-flex;border:1px solid var(--rule-2);border-radius:7px;overflow:hidden}.dt .seg button{border:0;background:var(--surface);color:var(--ink-2);padding:6px 14px;cursor:pointer;font-weight:500}.dt .seg button+button{border-left:1px solid var(--rule-2)}.dt .seg button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.dt .nav{width:32px;height:32px;border:1px solid var(--rule-2);border-radius:7px;background:var(--surface);color:var(--ink-2);cursor:pointer}.dt .nav:disabled{opacity:.35;cursor:default}.dt select{height:32px;padding:0 8px;border:1px solid var(--rule-2);border-radius:7px;background:var(--surface);color:var(--ink);max-width:100%}.dt :is(button,select,a):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dt .tablebox{overflow-x:auto;background:var(--surface);border:1px solid var(--rule);border-radius:10px}.dt .grid{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}.dt .grid th,.dt .grid td{padding:7px 12px;border-bottom:1px solid var(--rule);border-right:1px solid var(--rule);vertical-align:middle}.dt .grid th:last-child,.dt .grid td:last-child{border-right:0}.dt .grid thead th{position:sticky;top:0;z-index:1;background:var(--surface);font-size:12px;font-weight:500;color:var(--ink-3);text-align:center;white-space:nowrap}.dt .grid thead th.lab{text-align:left;font-size:13px}.dt .grid thead th .dw{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.dt .grid thead th.tot{color:var(--ink);font-weight:700;font-size:13px}.dt .grid td.num{text-align:center;font-family:var(--mono);font-size:13px;white-space:nowrap}.dt .grid .tot{background:var(--grid-totcol)}.dt .grid td.tot{font-weight:600}.dt .grid td.lab{min-width:240px;color:var(--ink)}.dt .grid td.extra{color:var(--ink-3);font-size:12.5px;min-width:120px;white-space:nowrap;font-style:normal;font-weight:400}.dt .st-done{color:var(--accent);font-weight:600}.dt .labin{display:flex;align-items:center;gap:6px}.dt .tog{flex:none;width:18px;height:18px;border:0;padding:0;background:none;color:var(--ink);cursor:pointer;font-size:10px;line-height:18px;border-radius:4px}.dt .tog-sp{flex:none;width:18px}.dt .lnk{flex:none;display:inline-grid;place-items:center;width:22px;height:22px;margin-left:2px;border:1px solid var(--rule);border-radius:5px;color:var(--accent);background:var(--surface)}.dt .lnk:hover{background:var(--accent-soft);border-color:var(--accent)}.dt .grid tr.parent td{font-weight:700;font-style:italic;background:var(--grid-project)}.dt .grid tr.parent td.tot{background:var(--grid-totcol)}.dt .grid tr.gtot td{background:var(--grid-band);color:var(--ink);font-weight:700}.dt .grid tbody tr td.grp{background:var(--grid-name);color:var(--ink);font-weight:700;font-style:normal;text-align:center;min-width:150px;white-space:nowrap}.dt .grid td.grp .labin{justify-content:center}.dt .grid tr.gap td{height:10px;padding:0;border:0;background:var(--plane)}.dt .grid tfoot td{background:var(--accent);color:var(--on-accent);font-weight:700;font-size:15px;border:0;border-right:1px solid color-mix(in srgb,var(--on-accent) 25%,transparent);padding-block:11px}.dt .grid tfoot td.num{font-size:14px}.dt .grid tfoot td.tot{background:var(--accent);font-size:16px}.dt .grid td.empty{padding:28px 16px;color:var(--ink-3);text-align:center}.dt .foot{margin:0;color:var(--ink-3);font-size:12px;max-width:110ch}@media(max-width:560px){.dt .grid td.lab{min-width:170px}}.access{display:grid;gap:16px}.access-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.access-back{color:var(--accent-ink);font-size:14px}.access-dim{color:var(--ink-3);font-size:13px}.access-banner{display:grid;gap:6px}.access-banner p{margin:0}.access-banner a{color:var(--accent-ink)}.access-when{font-size:15px;color:var(--ink)}.access-warn{background:var(--warn-bg);color:var(--warn-ink);border-radius:6px;padding:8px 10px;font-size:14px}.access-tabs{display:flex;gap:4px;border-bottom:1px solid var(--rule)}.access-tabs button{font:inherit;font-size:14px;background:none;border:0;border-bottom:2px solid transparent;padding:8px 12px;color:var(--ink-2);cursor:pointer}.access-tabs button.on{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.access-search{font:inherit;font-size:14px;width:100%;max-width:420px;padding:8px 10px;border:1px solid var(--rule-2);border-radius:6px;background:var(--surface);color:var(--ink)}.access-list{display:grid;gap:12px}.access-app{display:grid;gap:4px}.access-app .card-heading{margin:0 0 4px}.access-unlisted{font-weight:400}.access-role{border-top:1px solid var(--rule);padding:8px 0 4px}.access-role summary{cursor:pointer;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;list-style:none}.access-role summary::-webkit-details-marker{display:none}.access-role summary:before{content:"▸";color:var(--ink-3);width:10px}.access-role[open] summary:before{content:"▾"}.access-role code,.access-sees code{font-family:var(--mono);font-size:13px;color:var(--ink)}.access-role-name{color:var(--ink-2);font-size:14px}.access-count{font-size:13px;color:var(--ink-2)}.access-ent{margin-left:auto}.access-grants{display:grid;gap:10px;padding:8px 0 4px 18px}.access-grp{display:grid;gap:4px}.access-gh{font-size:14px;color:var(--ink)}.access-gh a,.access-grp a,.access-card a{color:var(--accent-ink)}.access-people{list-style:none;margin:0;padding:0 0 0 4px;display:grid;gap:3px;font-size:14px}.access-person{color:var(--ink)}.access-chip{display:inline-block;font-size:var(--t-micro);font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:1px 6px;border-radius:4px;background:var(--surface-3);color:var(--ink-2);vertical-align:1px}.access-chip.crit{background:var(--crit-bg);color:var(--crit-ink)}.access-split{display:grid;grid-template-columns:minmax(240px,1fr) 2fr;gap:16px;align-items:start}.access-find{display:grid;gap:10px}.access-find .access-search{max-width:none}.access-results{list-style:none;margin:0;padding:0;display:grid;gap:2px;max-height:60vh;overflow-y:auto}.access-results button{font:inherit;width:100%;text-align:left;display:grid;background:none;border:0;border-radius:6px;padding:6px 8px;color:var(--ink);cursor:pointer}.access-results button:hover,.access-results button.on{background:var(--accent-soft)}.access-pick{margin:0}.access-card{display:grid;gap:6px}.access-card .card-heading{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.access-card p{margin:0}.access-sees{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:10px;font-size:14px}.access-sees ul{list-style:none;margin:4px 0 0;padding:0 0 0 14px;display:grid;gap:4px}@media(max-width:760px){.access-split{grid-template-columns:1fr}.access-ent{margin-left:0;width:100%}}.access-gridwrap{display:grid;gap:8px}.access-gridbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.access-addcol{margin-left:auto}.access-link{font:inherit;font-size:13px;background:none;border:0;padding:0;color:var(--accent-ink);cursor:pointer;text-decoration:underline}.access-btn{font:inherit;font-size:14px;padding:6px 12px;border-radius:6px;cursor:pointer;border:1px solid var(--rule-2);background:var(--surface);color:var(--ink)}.access-btn:disabled{opacity:.5;cursor:default}.card.access-gridcard{padding:0;overflow:auto;max-height:72vh}.access-grid{width:100%;border-collapse:collapse;font-size:13px}.access-grid th{position:sticky;top:0;z-index:1;background:var(--surface-2);text-align:left;vertical-align:top;padding:6px 8px;border-bottom:1px solid var(--rule-2);min-width:120px}.access-grid td{padding:5px 8px;border-bottom:1px solid var(--rule);color:var(--ink);white-space:nowrap}.access-grid tbody tr:hover td{background:var(--accent-soft)}.access-mono{font-family:var(--mono)}.access-th{display:flex;align-items:center;gap:4px}.access-th-label{font:inherit;font-weight:600;font-size:13px;background:none;border:0;padding:0;color:var(--ink);cursor:pointer}.access-th-x{margin-left:auto;background:none;border:0;color:var(--ink-3);cursor:pointer;font-size:15px;line-height:1;padding:0 2px}.access-th-x:hover{color:var(--ink)}.access-colfilter{font:inherit;font-size:12px;font-weight:400;width:100%;margin-top:4px;text-align:left;padding:3px 6px;border:1px solid var(--rule-2);border-radius:4px;background:var(--surface);color:var(--ink-2);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.access-colfilter.on{border-color:var(--accent);color:var(--ink);background:var(--accent-soft);font-weight:600}.access-pop-anchor{position:relative}.access-pop{position:fixed;z-index:50;width:280px;max-height:calc(100vh - 24px);overflow:auto;display:grid;gap:6px;padding:8px;background:var(--surface);border:1px solid var(--rule-2);border-radius:8px;box-shadow:0 6px 20px #00000026;font-weight:400}.access-pop.right{width:200px}.access-filter-acts{display:flex;gap:12px}.access-filter-acts:empty{display:none}.access-checks,.access-menu{list-style:none;margin:0;padding:0;max-height:300px;overflow:auto}.access-checks label{display:flex;align-items:center;gap:6px;padding:3px 2px;cursor:pointer;font-size:13px;color:var(--ink)}.access-checks label:hover,.access-menu button:hover{background:var(--accent-soft)}.access-check-v{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.access-menu button{font:inherit;font-size:13px;width:100%;text-align:left;background:none;border:0;padding:6px 8px;color:var(--ink);cursor:pointer;border-radius:4px}.access-more{padding:8px;margin:0}.access-th[draggable=true]{cursor:grab}.access-grip{color:var(--ink-3);font-size:11px;letter-spacing:-2px;-webkit-user-select:none;user-select:none}.access-grid th.dragging{opacity:.45}.access-grid th.drop-before{box-shadow:inset 3px 0 0 var(--accent)}.access-grid th.drop-after{box-shadow:inset -3px 0 0 var(--accent)}.access-grid .access-count-col{text-align:right;min-width:64px;width:64px;font-variant-numeric:tabular-nums}.access-seg{display:inline-flex;border:1px solid var(--rule-2);border-radius:6px;overflow:hidden}.access-seg button{font:inherit;font-size:13px;padding:5px 12px;border:0;background:var(--surface);color:var(--ink-2);cursor:pointer}.access-seg button+button{border-left:1px solid var(--rule-2)}.access-seg button.on{background:var(--accent-soft);color:var(--ink);font-weight:600}.access-pivot .access-pivot-person{position:sticky;left:0;background:var(--surface);z-index:1}.access-pivot th.access-pivot-person{z-index:2;background:var(--surface-2)}.access-pivot th.access-pivot-app{min-width:110px;white-space:normal}.access-pivot .access-pivot-cell{text-align:center;font-size:15px}.access-pivot .access-pivot-cell.yes{color:var(--accent);font-weight:700;cursor:help}.access-pivot .access-pivot-cell.no{color:var(--ink-3)}.access-pivot th.access-pivot-app .access-th{align-items:flex-start}.access-hovercard{position:fixed;z-index:60;pointer-events:none;background:var(--surface);color:var(--ink);border:1px solid var(--rule-2);border-radius:10px;box-shadow:0 10px 28px #0000002e;padding:12px 14px}.access-hovercard dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:13px}.access-hovercard dt{color:var(--ink-3);font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.04em;padding-top:2px}.access-hovercard dd{margin:0;overflow-wrap:anywhere}:root{color-scheme:light;--plane: #f4f2ef;--surface: #ffffff;--surface-2: #f7f5f2;--surface-3: #efece7;--ink: #003057;--ink-2: #4a5f75;--ink-3: #5a6c7e;--rule: #e6e0d8;--rule-2: #cfc6ba;--accent: #004b87;--accent-ink: #003057;--accent-soft: #e8eff6;--on-accent: #ffffff;--warn-bg: #fff6d6;--warn-ink: #7a5200;--good: #0ca30c;--crit: #d03b3b;--good-ink: #006300;--crit-ink: #b02c2c;--good-bg: #e7f6e7;--crit-bg: #fbe9e9;--app-1: #b8691a;--app-2: #004b87;--app-3: #2f7d32;--app-4: #6b4fa0;--kind-q-bg: #efe9f7;--kind-q-ink: #5b3f8c;--shadow: 0 1px 2px rgba(0, 48, 87, .06), 0 8px 24px -14px rgba(0, 48, 87, .25);--head: "Ubuntu", "Cabin", system-ui, sans-serif;--sans: "Cabin", "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--t-body: 15px;--t-eyebrow: 11.5px;--t-micro: 11.5px;--t-card-heading: 15px;--t-page-title: 22px;--line: 1.55;--w-head: 500;--page-max: 1100px;--gutter: 24px;--card-radius: 10px;--grid-name: #f7f5f2;--grid-project: #faf9f7;--grid-band: #e8eff6;--grid-totcol: #f6f8fb;--viz-1: #2a78d6;--viz-stale: #eda100;--viz-seq-1: #86b6ef;--viz-seq-2: #5598e7;--viz-seq-3: #2a78d6;--viz-seq-4: #1c5cab;--viz-seq-5: #104281;--viz-seq-ink-1: #003057;--viz-seq-ink-2: #003057;--viz-seq-ink-3: #ffffff;--viz-seq-ink-4: #ffffff;--viz-seq-ink-5: #ffffff}@media(max-width:600px){:root{--gutter: 16px}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--plane: #001b33;--surface: #002744;--surface-2: #003057;--surface-3: #0b3a63;--ink: #eef3f8;--ink-2: #b7c6d6;--ink-3: #8cadcd;--rule: #0f4270;--rule-2: #1f5686;--accent: #7da1c4;--accent-ink: #b9d0e6;--accent-soft: #0b3a63;--on-accent: #001b33;--warn-bg: #3a3009;--warn-ink: #ffcd00;--good-ink: #3ec43e;--crit-ink: #f08585;--good-bg: #0c2f1c;--crit-bg: #3a1a1c;--app-1: #eca154;--app-2: #7da1c4;--app-3: #6cc46c;--app-4: #b49be0;--kind-q-bg: #2a2140;--kind-q-ink: #c9b6ef;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px -14px rgba(0, 0, 0, .7);--grid-name: #00294a;--grid-project: #002a4b;--grid-band: #0b3a63;--grid-totcol: #002d50;--viz-1: #3987e5;--viz-stale: #c98500;--viz-seq-1: #256abf;--viz-seq-2: #3987e5;--viz-seq-3: #6da7ec;--viz-seq-4: #9ec5f4;--viz-seq-5: #cde2fb;--viz-seq-ink-1: #ffffff;--viz-seq-ink-2: #ffffff;--viz-seq-ink-3: #001b33;--viz-seq-ink-4: #001b33;--viz-seq-ink-5: #001b33}}:root[data-theme=dark]{color-scheme:dark;--plane: #001b33;--surface: #002744;--surface-2: #003057;--surface-3: #0b3a63;--ink: #eef3f8;--ink-2: #b7c6d6;--ink-3: #8cadcd;--rule: #0f4270;--rule-2: #1f5686;--accent: #7da1c4;--accent-ink: #b9d0e6;--accent-soft: #0b3a63;--on-accent: #001b33;--warn-bg: #3a3009;--warn-ink: #ffcd00;--good-ink: #3ec43e;--crit-ink: #f08585;--good-bg: #0c2f1c;--crit-bg: #3a1a1c;--app-1: #eca154;--app-2: #7da1c4;--app-3: #6cc46c;--app-4: #b49be0;--kind-q-bg: #2a2140;--kind-q-ink: #c9b6ef;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px -14px rgba(0, 0, 0, .7);--grid-name: #00294a;--grid-project: #002a4b;--grid-band: #0b3a63;--grid-totcol: #002d50;--viz-1: #3987e5;--viz-stale: #c98500;--viz-seq-1: #256abf;--viz-seq-2: #3987e5;--viz-seq-3: #6da7ec;--viz-seq-4: #9ec5f4;--viz-seq-5: #cde2fb;--viz-seq-ink-1: #ffffff;--viz-seq-ink-2: #ffffff;--viz-seq-ink-3: #001b33;--viz-seq-ink-4: #001b33;--viz-seq-ink-5: #001b33}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--plane);color:var(--ink);font-family:var(--sans);font-size:var(--t-body);line-height:var(--line);-webkit-font-smoothing:antialiased;overflow-x:hidden}button{font-family:var(--sans)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.page{max-width:var(--page-max);margin:0 auto;padding:0 var(--gutter)}.page-title{font-family:var(--head);font-size:var(--t-page-title);font-weight:var(--w-head);letter-spacing:-.01em;line-height:1.2;margin:0}.card-heading{font-family:var(--head);font-size:var(--t-card-heading);font-weight:var(--w-head);margin:0}.body-note{max-width:66ch;color:var(--ink-2);line-height:1.6;margin:0}.eyebrow{font-family:var(--sans);font-size:var(--t-eyebrow);font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);margin:0}.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--card-radius);padding:16px 18px 14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--surface);color:var(--ink-2);border:1px solid var(--rule-2);border-radius:7px;padding:6px 12px;font-size:13.5px;line-height:1.3;text-decoration:none;cursor:pointer;white-space:nowrap}.btn:hover{background:var(--surface-3);color:var(--ink)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:500}.btn-primary:hover{background:var(--accent-ink);border-color:var(--accent-ink);color:var(--on-accent)}.brand-mark{background:center / contain no-repeat url(/fcc-logo.png)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .brand-mark{background-image:url(/fcc-logo-dark.png)}}:root[data-theme=dark] .brand-mark{background-image:url(/fcc-logo-dark.png)}.theme-control{display:inline-flex;border:1px solid var(--rule-2);border-radius:7px;overflow:hidden;background:var(--surface);flex:none}.theme-control button{display:grid;place-items:center;width:30px;height:26px;border:0;border-left:1px solid var(--rule-2);padding:0;cursor:pointer;background:transparent;color:var(--ink-3)}.theme-control button:first-child{border-left:0}.theme-control button[aria-checked=true]{background:var(--accent-soft);color:var(--accent-ink)}.theme-control button:focus-visible{outline-offset:-2px;border-radius:0}.portal{padding-top:28px;padding-bottom:48px;display:grid;gap:28px}.greeting{font-size:24px}.dev-note{margin:0;padding:8px 12px;border-radius:7px;background:var(--warn-bg);color:var(--warn-ink);font-size:var(--t-micro)}.empty-note{display:grid;gap:6px;max-width:66ch}.tile-section{display:grid;gap:12px;align-content:start}.tile-section-head{padding-bottom:8px;border-bottom:1px solid var(--rule)}.tile-sections{display:grid;gap:28px}.tile-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:28px 20px;align-items:start}.tile-columns .tile-grid{grid-template-columns:minmax(0,1fr);gap:12px}.app-badge{display:grid;place-items:center;flex:none;background:var(--accent-soft);color:var(--accent)}.app-badge-tile{width:40px;height:40px;border-radius:10px}.app-badge-row{width:28px;height:28px;border-radius:7px}.portal-head{display:grid;gap:14px}.bar-admin{display:grid;gap:2px;margin:-6px -8px -8px}.bar-admin a{display:block;padding:8px;border-radius:7px;color:var(--ink);font-size:14px;text-decoration:none}.bar-admin a:hover,.bar-admin a:focus-visible{background:var(--surface-3);outline:none}.bar-admin a:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.hub-card{display:grid;gap:14px;padding:18px 20px}.hub-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px 20px;flex-wrap:wrap}.hub-card-intro{display:grid;gap:6px;min-width:0}.hub-card-head .eyebrow{margin:0}.hub-card-open{flex:none}.hub-card-news{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;font-size:16px}.hub-card-news a{color:var(--ink);text-decoration:none}.hub-card-news a:hover{text-decoration:underline;text-underline-offset:3px}.hub-card-parts{color:var(--ink-2);font-size:14px}.hub-card-quiet{color:var(--ink-2)}.hub-card-latest{list-style:none;margin:0;padding:0;display:grid;border:1px solid var(--rule);border-radius:8px;overflow:hidden}.hub-card-latest li{display:flex;align-items:center;gap:12px;min-width:0;padding-right:14px}.hub-card-latest li+li{border-top:1px solid var(--rule)}.hub-card-latest li:hover{background:var(--surface-2)}.hub-card-latest a{flex:1;min-width:0;display:grid;gap:2px;padding:10px 14px;color:var(--ink-2);text-decoration:none}.hub-card-latest a:focus-visible{outline-offset:-2px;border-radius:8px}.hub-card-title{color:var(--ink);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-card-latest a:hover .hub-card-title{text-decoration:underline;text-underline-offset:3px}.hub-card-line{font-size:13.5px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-card-app{color:var(--ink-3)}.hub-card-latest li.is-you{box-shadow:inset 3px 0 0 var(--accent)}.hub-card-latest li.is-you .hub-card-title{color:var(--accent-ink)}.hub-card-when{color:var(--ink-3);font-size:12.5px;white-space:nowrap}.hub-card-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.hub-stat{display:grid;gap:0;padding:10px 14px;border-radius:8px;background:var(--surface-2);color:var(--ink);text-decoration:none}.hub-stat:hover{background:var(--surface-3)}.hub-stat:hover .hub-stat-label{text-decoration:underline;text-underline-offset:3px}.hub-stat-n{font-family:var(--head);font-size:22px;font-weight:var(--w-head);line-height:1.2;font-variant-numeric:tabular-nums}.hub-stat-label{font-size:13px;color:var(--ink-2)}.hub-card-overdue{color:var(--crit-ink);font-weight:600}@media(max-width:560px){.hub-card{padding:16px}.hub-card-open{width:100%}.hub-card-latest li{flex-wrap:wrap;gap:0;padding-right:0}.hub-card-when{padding:0 14px 10px;margin-top:-6px}.hub-card-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.hub-stat{padding:8px 10px}}.search{position:relative;max-width:560px}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--ink-3);pointer-events:none}.search-input{width:100%;height:40px;padding:0 40px 0 36px;background:var(--surface);color:var(--ink);border:1px solid var(--rule-2);border-radius:8px;font:inherit;font-size:15px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-input::placeholder{color:var(--ink-3);opacity:1}.search-input::-webkit-search-cancel-button{display:none}.search-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.search-clear,.search-key{position:absolute;right:8px;top:50%;transform:translateY(-50%)}.search-clear{display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--ink-3);cursor:pointer}.search-clear:hover{background:var(--surface-3);color:var(--ink)}.search-key{min-width:20px;padding:1px 6px;border:1px solid var(--rule-2);border-radius:5px;font-family:var(--mono);font-size:12px;line-height:1.4;text-align:center;color:var(--ink-3);pointer-events:none}mark.hit{background:var(--accent-soft);color:inherit;border-radius:3px;box-shadow:0 0 0 1px var(--accent-soft);font-weight:600}.tile-locked mark.hit{background:var(--surface-3);box-shadow:0 0 0 1px var(--surface-3)}.search-empty{margin:0;color:var(--ink-2)}.page-hits{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--rule);border-radius:var(--card-radius);overflow:hidden}.page-hits li+li{border-top:1px solid var(--rule)}.page-hit{display:flex;align-items:center;gap:12px;padding:10px 14px;color:var(--ink);text-decoration:none}.page-hit-open:hover,.page-hit-locked:hover{background:var(--surface-2)}.page-hit:focus-visible{outline-offset:-2px;border-radius:0}.page-hit-text{display:grid;flex:1;min-width:0}.page-hit-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-hit-app{color:var(--ink-2)}.page-hit-sep{color:var(--ink-3);margin:0 6px}.page-hit-why{font-size:12.5px;color:var(--ink-3)}.page-hit-end{display:inline-flex;align-items:center;gap:5px;flex:none;font-size:13.5px;color:var(--ink-3)}.page-hit-go{color:var(--accent-ink);font-weight:500}.page-hit-open:hover .page-hit-go{text-decoration:underline;text-underline-offset:3px}.page-hit-locked .app-badge{background:var(--surface-3);color:var(--ink-3)}.page-hit-locked .page-hit-end{color:var(--accent-ink);font-weight:500}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:16px}.tile{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--card-radius);padding:18px 18px 16px;color:var(--ink);text-decoration:none;min-height:180px}@media(max-width:600px){.tile{min-height:0;padding:16px}}.tile-name{font-family:var(--head);font-size:17px;font-weight:var(--w-head);margin:4px 0 0;line-height:1.25}.tile-desc{margin:0;color:var(--ink-2);font-size:14px;line-height:1.5}.tile-foot{margin-top:auto;padding-top:6px;font-size:13.5px;color:var(--ink-3)}.tile-open{box-shadow:0 1px 2px #0030570a;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.tile-open:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-1px)}.tile-open:focus-visible{outline-offset:3px;border-radius:var(--card-radius)}.tile-cta{color:var(--accent-ink);font-weight:500}.tile-open:hover .tile-cta{text-decoration:underline;text-underline-offset:3px}.tile-locked{background:transparent;border-style:dashed;border-color:var(--rule-2)}.tile-locked .app-badge{background:var(--surface-3);color:var(--ink-3)}.tile-locked .tile-name{color:var(--ink-2)}.tile-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.tile-status{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-micro);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}.tile-owners{margin:0;font-size:13.5px;color:var(--ink-3)}.tile-request{margin-top:auto;align-self:flex-start}.gate-notice{margin:0 0 12px;padding:8px 12px;border-radius:7px;background:var(--warn-bg);color:var(--warn-ink);font-size:13.5px}.ms-signin{display:inline-flex;align-items:center;gap:12px;background:var(--surface);color:var(--ink);border:1px solid var(--rule-2);border-radius:8px;padding:11px 20px 11px 16px;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,IBM Plex Sans,sans-serif;font-size:15px;font-weight:600;cursor:pointer;box-shadow:var(--shadow);transition:background .12s ease}.ms-signin:hover{background:var(--surface-2)}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.tile-envs:hover{border-color:var(--rule);box-shadow:none}.tile-links{margin-top:auto;padding-top:6px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.tile-link{font-size:13.5px;text-decoration:none;border-radius:6px;padding:3px 4px}.tile-link.tile-cta:hover{text-decoration:underline;text-underline-offset:3px}.tile-env{color:var(--ink-2);border:1px solid var(--rule-2);padding:2px 9px;border-radius:999px}.tile-env:hover{border-color:var(--accent);color:var(--accent-ink)}.tile-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
