:root{color-scheme:dark;font-family:IBM Plex Sans,Segoe UI,system-ui,sans-serif;line-height:1.5;background:#101218;color:#e8e4d9;--bg: #101218;--bg-elevated: #171b24;--surface: #1e2430;--surface-2: #2a3140;--text: #e8e4d9;--muted: #8b927e;--primary: #6ea8d8;--primary-tint: rgba(110, 168, 216, .14);--accent: #c9a227;--peak: #c9a227;--ok: #3dba8a;--danger: #d45d5d;--border: #2a3140;--radius: 2px;--focus: 0 0 0 3px rgba(201, 162, 39, .35);--max: 1100px;--sans: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--mono: "IBM Plex Mono", "Cascadia Mono", ui-monospace, monospace}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text)}#root{min-height:100vh}.shell{min-height:100vh;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-elevated) 82%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.app-header .brand{margin:0;font-size:.92rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--text);text-decoration:none}.brand-ai{display:inline-block;vertical-align:baseline;font-size:1em;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;line-height:inherit;color:var(--peak);background-color:var(--peak);background-image:linear-gradient(90deg,#a8841a,#c9a227 18%,#ffe7a0 42%,#fffdf4,#ffe7a0 58%,#c9a227 82%,#a8841a);background-size:200% 100%;background-repeat:repeat-x;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:brand-ai-wave 2s linear infinite alternate}@keyframes brand-ai-wave{0%{background-position:100% 0}to{background-position:0 0}}@media(prefers-reduced-motion:reduce){.brand-ai{animation:none;-webkit-text-fill-color:var(--peak);color:var(--peak);background-image:none}}.app-header nav{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;flex:1;justify-content:center}.app-header nav a{color:var(--muted);text-decoration:none;padding:.35rem .7rem;border:1px solid transparent;border-radius:2px;font-size:.88rem;line-height:1.2}.app-header nav a:hover{color:var(--text);background:#8b949e1a}.app-header nav a.active,.app-header nav a[aria-current=page]{color:var(--primary);border-color:#58a6ff73;background:var(--primary-tint);font-weight:600}.header-meta{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.85rem}.app-main{padding:1.25rem 1.5rem 2rem;max-width:var(--max);margin:0 auto;width:100%;flex:1}.shell-bare .app-main-bare{max-width:none;padding:0;margin:0}.foot{color:var(--muted);font-size:.85rem;border-top:1px solid var(--border);padding:1rem 1.5rem 1.5rem;max-width:var(--max);margin:0 auto;width:100%}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.15rem}.stack{display:flex;flex-direction:column;gap:1rem}.row{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.form{display:flex;flex-direction:column;gap:.9rem;margin-top:1rem}.form.inline{flex-direction:row;align-items:end;flex-wrap:wrap;gap:.5rem}label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--text)}label.row{flex-direction:row;align-items:center;justify-content:flex-start;gap:.5rem}input,select,textarea{border:1px solid var(--border);border-radius:6px;padding:.45rem .65rem;font:inherit;background:#0d1117;color:var(--text)}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:none;box-shadow:var(--focus)}button{border:1px solid var(--border);border-radius:var(--radius);padding:.45rem .85rem;background:var(--surface);color:var(--text);font:inherit;font-weight:600;cursor:pointer}button:hover:not(:disabled){background:var(--surface-2)}button:disabled{opacity:.55;cursor:wait}button.secondary{background:transparent;color:var(--text);border:1px solid var(--border);font-weight:500}button.primary{background:var(--peak);color:#16140c;border-color:var(--peak);font-weight:600}button.primary:hover:not(:disabled){filter:brightness(1.08);background:var(--peak)}.muted{color:var(--muted)}.error{color:var(--danger);margin:0}.invite-box{margin-top:1rem;padding:.9rem 1rem;background:#58a6ff14;border-radius:var(--radius);border:1px dashed rgba(88,166,255,.45)}.invite-box code{display:block;word-break:break-all;margin:.4rem 0;color:var(--primary);font-size:.88rem}.list{padding-left:1.1rem;color:var(--text)}.list a{color:var(--primary);text-decoration:none}.list a:hover{text-decoration:underline}h1,h2,h3{margin-top:0;color:var(--text)}h1{font-size:1.45rem;font-weight:700}h2{font-size:1.05rem;font-weight:600;color:var(--accent)}h3{font-size:.98rem;color:var(--text)}a{color:var(--primary)}.page-subtitle{margin:.2rem 0 0;color:var(--muted);font-size:.92rem}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin:.75rem 0 0}.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;display:flex;flex-direction:column;gap:.25rem}.summary-card .label{color:var(--accent);font-size:.78rem;font-weight:600}.summary-card .value{font-size:1.15rem;font-weight:700;letter-spacing:.01em}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid var(--border);background:#8b949e1f}.badge-ok{color:var(--ok);border-color:#3fb95073;background:#3fb9501f}.badge-warn{color:var(--accent);border-color:#d2992273;background:#d299221f}.badge-primary{color:var(--primary);border-color:#58a6ff66;background:#58a6ff1a}.label-row{display:inline-flex;align-items:center;gap:.35rem}.with-hint{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}.hint{position:relative;display:inline-flex;vertical-align:middle}.hint-btn{width:1.2rem;height:1.2rem;min-width:1.2rem;padding:0;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--muted);font-size:.72rem;font-weight:700;line-height:1;cursor:help;flex-shrink:0}.hint-btn:hover,.hint-btn:focus-visible,.hint-open .hint-btn{color:var(--primary);border-color:#58a6ff8c;outline:none;box-shadow:none}.hint-pop{display:none;position:absolute;z-index:50;left:50%;bottom:calc(100% + .45rem);transform:translate(-50%);width:min(18rem,72vw);padding:.65rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.82rem;font-weight:400;line-height:1.4;text-align:left;white-space:normal;box-shadow:0 8px 24px #00000059}.hint-pop:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--surface)}.hint:hover .hint-pop,.hint:focus-within .hint-pop,.hint-open .hint-pop{display:block}.help-details>summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem .85rem}.help-details>summary::-webkit-details-marker{display:none}.help-details>summary:before{content:"▸";color:var(--accent);font-size:.85rem;line-height:1}.help-details[open]>summary:before{content:"▾"}.help-summary-title{margin:0;display:inline;font-size:1.05rem}.help-summary-sub{font-size:.88rem}.help-body{margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.55rem}.help-body h3{margin:.6rem 0 0;color:var(--accent);font-size:.92rem}.help-body p{margin:0}.help-list{margin:0;padding-left:1.2rem}.help-list li{margin:.25rem 0}.formula{margin:.25rem 0;padding:.65rem .85rem;border-radius:6px;border:1px solid var(--border);background:#0d1117;color:var(--primary);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem;overflow-x:auto;white-space:pre}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;padding:.1em .35em;border-radius:4px;background:#8b949e26;color:var(--text)}.skip-link{position:absolute;left:max(12px,env(safe-area-inset-left));top:max(8px,env(safe-area-inset-top));z-index:100;background:var(--peak);color:#16140c;padding:8px 12px;font:13px var(--sans);text-decoration:none;transform:translateY(-180%)}.skip-link:focus,.skip-link:focus-visible{transform:none}.page-login{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--bg)}.login-card{width:min(380px,92vw);background:var(--bg-elevated);border:1px solid var(--border);padding:28px 24px}.login-card .brand-block{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-bottom:8px}.login-brand{font-weight:650;letter-spacing:.08em;text-transform:uppercase;font-size:14px;color:var(--text)}.brand-ver{font-family:var(--mono);font-size:9px;font-weight:400;letter-spacing:.06em;color:var(--muted);line-height:1;text-transform:none}.login-lead{color:var(--muted);margin:0 0 20px;font-size:.95rem}.login-form{display:grid;gap:8px}.login-form label{color:var(--muted);font-size:12px;gap:0}.login-form input{background:#0c0e12;color:var(--text);border:1px solid var(--border);border-radius:0;padding:8px;font:14px var(--mono)}.login-form input:focus-visible{box-shadow:var(--focus)}.login-form button.primary{margin-top:4px;width:100%;padding:8px 14px;font-size:13px;border-radius:2px}.login-error{color:var(--danger);min-height:1.2em;font-size:13px;margin:4px 0 0}.login-invite{margin:16px 0 0;font-size:12px}.login-invite a{color:var(--peak);text-decoration:none}.login-invite a:hover{text-decoration:underline}.compact-form{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;align-items:end;margin:.75rem 0 1rem}.compact-form label{grid-column:span 1;color:var(--muted);font-size:12px;gap:4px}.compact-form input,.compact-form select{width:100%;border-radius:0;padding:8px;font:14px var(--mono);background:#0c0e12}.compact-form button.primary{grid-column:1 / -1;justify-self:start;min-width:140px}.table-wrap{overflow-x:auto;margin-top:.75rem}table.data{width:100%;border-collapse:collapse;font-size:.88rem}table.data th,table.data td{border-bottom:1px solid var(--border);padding:.55rem .45rem;text-align:left;vertical-align:middle}table.data th{color:var(--muted);font-weight:600;font-size:.78rem}table.data .mono,.mono{font-family:var(--mono);font-size:.85rem}table.data .empty-row{color:var(--muted);text-align:center;padding:1rem}.user-actions{display:flex;flex-wrap:wrap;gap:6px}.user-actions button{font-size:12px;padding:4px 8px;font-weight:500}.role-pick{font:13px var(--sans);background:#0c0e12;color:var(--text);border:1px solid var(--border);padding:4px 6px}.roles-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:16px}.role-card{background:var(--surface);border:1px solid var(--border);padding:16px}.role-card h3{margin:0 0 6px;font-size:15px;display:flex;align-items:center;gap:.5rem}.user-msg{color:var(--peak);font-size:13px;margin:.5rem 0}.dlg{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);padding:1.25rem 1.35rem;max-width:min(420px,92vw)}.dlg::backdrop{background:#0000008c}.dlg h2{margin:0 0 .75rem;color:var(--text)}.dlg label{margin-top:.5rem;color:var(--muted);font-size:12px}.dlg input{width:100%;margin-top:.25rem;border-radius:0;padding:8px;font:14px var(--mono);background:#0c0e12}.dlg-actions{display:flex;gap:.5rem;margin-top:1rem}@media(max-width:720px){.compact-form{grid-template-columns:1fr}}@media(max-width:720px){.app-header{flex-wrap:wrap}.app-header nav{order:3;width:100%;justify-content:flex-start}.hint-pop{left:0;transform:none;bottom:auto;top:calc(100% + .4rem)}.hint-pop:after{top:auto;bottom:100%;left:.55rem;transform:none;border-top-color:transparent;border-bottom-color:var(--surface)}}
