:root{--ink: #101012;--muted: #6b6b72;--rule: #e5e5e8;--rule-strong: #c9c9cf;--surface: #fafafa;--panel: #ffffff;--solid: #101012;--on-solid: #ffffff;--major: #8a1c1c;--draft: #7a5c00;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--surface);color:var(--ink);font:14px/1.5 -apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.side{background:var(--panel);border-right:1px solid var(--rule);padding:16px 12px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh}.brand{display:block;height:40px;width:auto;margin:2px 8px 0}.company{width:100%;padding:8px;border:1px solid var(--rule-strong);border-radius:8px;background:var(--panel);font:inherit;color:inherit}.nav{display:flex;flex-direction:column;gap:2px}.nav a{padding:8px 10px;border-radius:8px;text-decoration:none;color:var(--muted)}.nav a:hover{background:var(--surface);color:var(--ink)}.nav a.on{background:var(--solid);color:var(--on-solid)}.side-foot{margin-top:auto;color:var(--muted);font-size:12px;padding:0 8px}.main{padding:28px 32px 64px;max-width:1100px}h1{font-size:24px;margin:0 0 4px;letter-spacing:-.015em}h2{font-size:15px;margin:24px 0 8px}.muted{color:var(--muted)}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}button,.btn{font:inherit;padding:8px 14px;border-radius:8px;border:1px solid var(--rule-strong);background:var(--panel);color:var(--ink);cursor:pointer;text-decoration:none;display:inline-block}button:hover,.btn:hover{border-color:var(--ink)}button:disabled{opacity:.5;cursor:default;border-color:var(--rule)}.primary{background:var(--solid);color:var(--on-solid);border-color:var(--solid)}.primary:hover{opacity:.9}input,textarea,select{font:inherit;width:100%;padding:8px 10px;border:1px solid var(--rule-strong);border-radius:8px;background:var(--panel);color:var(--ink)}textarea{min-height:84px;resize:vertical}label{display:block;margin:0 0 12px}label>span{display:block;margin-bottom:4px;color:var(--muted);font-size:13px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.kinds{border:0;padding:0;margin:0;display:grid;gap:8px}.kinds legend{padding:0;margin-bottom:6px;color:var(--muted);font-size:13px}.kind{display:flex;gap:10px;align-items:flex-start;margin:0;border:1px solid var(--rule-strong);border-radius:10px;padding:12px 14px;background:var(--panel);cursor:pointer}.kind.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.kind input{width:auto;margin-top:3px;flex:0 0 auto}.kind>span{display:block;min-width:0}.kind b{display:block;font-weight:600}.kind em{display:block;font-style:normal;color:var(--muted);font-size:13px;margin-top:2px;max-width:62ch}.kind em.why{color:var(--draft);margin-top:6px}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--rule)}td{padding:12px 10px;border-bottom:1px solid var(--rule);vertical-align:top}tbody tr:hover{background:var(--panel)}.num{font-variant-numeric:tabular-nums}.pill{display:inline-block;padding:1px 8px;border-radius:999px;border:1px solid currentColor;font-size:12px}.pill-draft{color:var(--draft)}.pill-issued{color:var(--ink)}.pill-major{color:var(--major)}.pill-minor{color:var(--muted)}.card{background:var(--panel);border:1px solid var(--rule);border-radius:10px;padding:16px;margin:0 0 12px}.notice{border:1px solid var(--rule-strong);border-left:3px solid var(--ink);background:var(--panel);border-radius:8px;padding:10px 12px;margin:0 0 16px}.notice-bad{border-left-color:var(--major)}.empty{color:var(--muted);padding:32px 0}.shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px}.shot{margin:0;border:1px solid var(--rule);border-radius:8px;overflow:hidden;background:var(--panel);padding:0;text-align:left}button.shot{cursor:pointer}.shot.picked{border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}.shot img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--surface)}.shot figcaption{padding:8px;font-size:12px;color:var(--muted)}.shot-caption{color:var(--ink);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.shot-meta{margin-top:4px}.shot .defect{color:var(--major);font-weight:600}.finding{display:grid;grid-template-columns:28px 1fr auto auto;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid var(--rule)}.finding .n{color:var(--muted);font-variant-numeric:tabular-nums;padding-top:8px}.signin{max-width:340px;margin:12vh auto;padding:0 20px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.tile{background:var(--panel);border:1px solid var(--rule);border-radius:10px;padding:14px}.tile-bad{border-color:var(--major)}.tile-bad .tile-value{color:var(--major)}.tile-label{color:var(--muted);font-size:12px}.tile-value{font-size:28px;line-height:1.2;margin-top:4px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.tile-sub{color:var(--muted);font-size:12px;margin-top:2px}.signin-logo{display:block;height:56px;width:auto;margin:0 0 18px}.who{padding:0 8px}.who-company{font-weight:600}.who-person{margin-top:2px;word-break:break-all}.suggestion{margin-top:8px;padding:8px 10px;border-left:2px solid var(--rule-strong);background:var(--surface);border-radius:0 6px 6px 0}.tindex{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:2px 16px;margin:0 0 24px;font-size:13px}.tindex a{color:var(--ink);text-decoration:none;padding:2px 0}.tindex a:hover{text-decoration:underline}.tsec{margin:0 0 28px}.tsec h2{font-size:15px;margin:0 0 10px;padding-bottom:6px;border-bottom:2px solid var(--ink)}.tqs{list-style:none;margin:0;padding:0}.tq{padding:12px 0;border-bottom:1px solid var(--rule)}.tq:last-child{border-bottom:0}.tq-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:11.5px;color:var(--muted)}.tq-n{font-variant-numeric:tabular-nums;min-width:3ch}.tq-key{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.tq-type{text-transform:uppercase;letter-spacing:.05em}.tq-req,.tq-cond{border:1px solid currentColor;border-radius:999px;padding:0 6px;font-size:11px}.tq-cond{color:var(--draft)}.tq-text{margin:3px 0 0;font-size:15px;max-width:78ch}.tq-opts{margin:4px 0 0;font-size:13px;color:var(--muted)}.tq-gate{margin:8px 0 0;padding:8px 12px;background:var(--surface);border-left:3px solid var(--rule-strong);font-size:13px}.tq-gate ul{margin:4px 0 0;padding-left:18px}.tq-gate li{margin:2px 0}.shot-link{display:block;color:inherit;text-decoration:none}.shot:hover{border-color:var(--ink)}.detail{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:24px;align-items:start;margin-top:16px}@media(max-width:900px){.detail{grid-template-columns:1fr}}.plate{display:block;width:100%;height:auto;max-height:78vh;object-fit:contain;border:1px solid var(--rule);border-radius:8px;background:var(--surface)}.detail-side section+section{margin-top:20px}.detail-side h2{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px}.rec{display:grid;gap:4px}.rec-row{display:grid;grid-template-columns:84px minmax(0,1fr);gap:8px;font-size:13px}.rec-label{color:var(--muted)}.rec-value{overflow-wrap:anywhere}.marks{margin:0;padding-left:18px;font-size:13px}.marks li{margin-bottom:2px}.small{font-size:12px}.readings{border-collapse:collapse;font-size:13px;margin-top:8px;display:block;overflow-x:auto;max-width:100%}.readings th,.readings td{border:1px solid var(--rule);padding:6px 10px;text-align:left;white-space:nowrap}.readings thead th{color:var(--muted);font-weight:600}.readings td{font-variant-numeric:tabular-nums}.mono{font-family:ui-monospace,Menlo,Consolas,monospace}.thread{list-style:none;margin:8px 0 0;padding:0}.thread li{border-left:2px solid var(--rule);padding:0 0 0 10px;margin-bottom:12px;font-size:14px}.thread-who{color:var(--muted);font-size:12px;margin-bottom:2px}.topbar{display:flex;justify-content:flex-end;align-items:center;gap:4px;margin:-8px 0 8px}.menu-wrap{position:relative}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;background:transparent;color:var(--ink);border-radius:999px;cursor:pointer}.icon-btn:hover{border-color:var(--rule);background:var(--surface)}.dot{position:absolute;top:0;right:0;min-width:15px;height:15px;padding:0 3px;border-radius:999px;background:var(--solid);color:var(--on-solid);font-size:10px;line-height:15px;font-variant-numeric:tabular-nums}.avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;border:1px solid var(--rule);background:var(--surface);color:var(--ink);font-size:12px;font-weight:600;letter-spacing:.02em;cursor:pointer}.avatar:hover{border-color:var(--ink)}.avatar-sm{width:22px;height:22px;font-size:9px;cursor:default;flex:0 0 auto}.menu-scrim{position:fixed;inset:0;z-index:40}.menu{position:absolute;right:0;top:38px;z-index:41;min-width:232px;background:var(--raised, #fff);border:1px solid var(--rule);border-radius:10px;padding:6px;box-shadow:0 8px 28px #0000001f}.menu-wide{min-width:340px;max-width:380px;max-height:60vh;overflow-y:auto}.menu a,.menu-out{display:block;width:100%;text-align:left;padding:7px 10px;border-radius:6px;color:var(--ink);text-decoration:none;font-size:13px;border:0;background:transparent;cursor:pointer}.menu a:hover,.menu-out:hover{background:var(--surface)}.menu-out{margin-top:4px;border-top:1px solid var(--rule-2, var(--rule));border-radius:0 0 6px 6px}.menu-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:8px 10px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--rule);margin-bottom:4px}.menu-head-plain{border-bottom:1px solid var(--rule);display:block}.menu-name{color:var(--ink);font-weight:600;font-size:13px}.menu-sub{font-size:12px;word-break:break-all}.menu-label{padding:10px 10px 4px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.menu-empty{padding:10px;font-size:13px}.linkish{border:0;background:transparent;color:var(--ink);text-decoration:underline;cursor:pointer;font-size:12px;padding:0}.note{display:block;padding:8px 10px;border-radius:6px;text-decoration:none;color:var(--ink)}.note:hover{background:var(--surface)}.note-unread{border-left:2px solid var(--ink)}.note-who{font-size:12px;color:var(--muted);margin-bottom:2px}.note-body{font-size:13px}.page-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.page-head h1{margin-right:4px}.pill-small{font-size:10px;padding:1px 6px;margin-left:6px;text-transform:none}.who-cell{display:inline-flex;align-items:center;gap:8px}.sorter{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:0}.sorter[aria-pressed=true]{color:var(--ink);font-weight:600}table.grid{width:100%;border-collapse:collapse;font-size:13px;margin-top:12px;display:block;overflow-x:auto}table.grid th,table.grid td{border-bottom:1px solid var(--rule);padding:8px 10px;text-align:left;white-space:nowrap}table.grid thead th{color:var(--muted);font-weight:500}table.grid tbody tr:hover,table.grid tr.on{background:var(--surface)}table.grid td{font-variant-numeric:tabular-nums}.card{border:1px solid var(--rule);border-radius:8px;padding:14px}.card-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:10px}.card-head h2{margin:0;font-size:15px}.card-head .muted{margin-right:auto;font-size:12px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--rule);border-radius:999px;background:transparent;color:var(--muted);font-size:12px;cursor:pointer}.chip:hover{border-color:var(--ink)}.chip-on{background:var(--solid);color:var(--on-solid);border-color:var(--solid)}.chip-on .avatar-sm{background:transparent;color:var(--on-solid);border-color:currentColor}.form{display:grid;gap:14px;max-width:460px}.form label{display:grid;gap:4px}.form label>span:first-child{font-size:12px;color:var(--muted)}.form input:disabled{background:var(--surface);color:var(--muted)}.co-logo{max-width:220px;max-height:80px;object-fit:contain;border:1px solid var(--rule);border-radius:6px;padding:8px;background:#fff}.rules{margin:8px 0 0;padding-left:18px;font-size:14px}.rules li{margin-bottom:4px}.proj{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px;align-items:start}@media(max-width:1000px){.proj{grid-template-columns:1fr}}.proj-head{display:flex;gap:16px;align-items:flex-start;margin-bottom:18px}.proj-head h1{margin:0 0 2px}.proj-head p{margin:0 0 6px}.proj-cover{width:88px;height:88px;object-fit:cover;border-radius:8px;border:1px solid var(--rule);flex:0 0 auto;background:var(--surface)}.proj-cover-none{background:var(--surface)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--rule);margin-bottom:14px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.tabs button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:13px;padding:8px 10px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;flex:0 0 auto}.tabs button:hover{color:var(--ink)}.tabs button[aria-selected=true]{color:var(--ink);font-weight:600;border-bottom-color:var(--ink)}.filters{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:10px}.filters label{display:grid;gap:3px}.filters label>span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.dayline{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:500;margin:0 0 8px;padding-bottom:4px;border-bottom:1px solid var(--rule)}.rail section+section{margin-top:22px}.rail h2{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px}.rail .chip{cursor:default}.rail .thread li{margin-bottom:10px}.rail .note-body{color:var(--ink);text-decoration:none;font-size:13px;display:block}.rail .note-body:hover{text-decoration:underline}.page-head select{width:auto;min-width:8.5rem}.page-head input{width:auto;min-width:14rem;flex:0 1 20rem}.sorter{text-transform:uppercase;letter-spacing:.05em}.chips-tight{gap:4px}.chip-sm{padding:2px 8px;font-size:11px}.chip-sm:disabled{opacity:.5;cursor:progress}.feed{list-style:none;margin:16px 0 0;padding:0}.feed-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--rule)}.feed-new{border-left:2px solid var(--ink);padding-left:10px}.feed-shot{flex:0 0 auto}.feed-shot img,.feed-shot-none{display:block;width:64px;height:64px;object-fit:cover;border-radius:6px;border:1px solid var(--rule);background:var(--surface)}.feed-shot-none{display:block}.feed-who{font-size:12px;color:var(--muted);margin-bottom:3px}.feed-body{font-size:14px;color:var(--ink);text-decoration:none;display:block}.feed-body:hover{text-decoration:underline}.menu-all{display:block;text-align:center;font-size:12px;border-top:1px solid var(--rule);margin-top:4px;padding-top:8px}.contact{border-bottom:1px solid var(--rule);padding:8px 0;font-size:13px}.contact:last-of-type{border-bottom:0}.contact-name{font-weight:600}.contact a{color:var(--ink)}.shell>.main{min-width:0}.proj>*{min-width:0}.detail>*{min-width:0}.feed-item>*{min-width:0}.row{flex-wrap:wrap}.row input,.row select{width:auto;flex:0 1 auto}.row input[type=text],.row input:not([type]){min-width:12rem}.row input[type=file]{min-width:0}.nav-toggle{display:none}.topbar-gap{flex:1 1 auto}@media(max-width:860px){.shell{grid-template-columns:1fr}.side{position:fixed;top:0;bottom:0;left:0;width:264px;max-width:84vw;height:auto;z-index:60;transform:translate(-100%);transition:transform .18s ease;overflow-y:auto;box-shadow:0 0 #0000}.nav-open .side{transform:translate(0);box-shadow:0 8px 40px #0000002e}.nav-scrim{position:fixed;inset:0;z-index:50;background:#00000047}.nav-toggle{display:inline-flex}.topbar{justify-content:flex-start}.main{padding:20px 16px 56px}.main table{display:block;overflow-x:auto;max-width:100%}.proj,.detail{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.side{transition:none}}
