:root{--plum:#4a2f6b;--gold:#a9812f;--primary:var(--plum);--on-primary:#fff;--secondary:var(--gold);--on-secondary:#fff;--bg:#f3ecdd;--surface:#fbf6ea;--surface-variant:#e7dcc5;--on-bg:var(--plum);--on-surface:var(--plum);--on-surface-variant:#5b4a72;--outline:#cbbfa6;--error:#8c1d18;--error-container:#f9dedc;--on-error-container:#410e0b;--secondary-container:#f0e2c4;--on-secondary-container:#4a3a12;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px #4a2f6b1f, 0 2px 8px #4a2f6b0f;--rail:240px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--primary:#cbb4ec;--on-primary:#161020;--secondary:#d9be7e;--on-secondary:#161020;--bg:#161020;--surface:#241b33;--surface-variant:#31264a;--on-bg:#ede4d2;--on-surface:#ede4d2;--on-surface-variant:#c9bcd8;--outline:#4a3b63;--error:#f2b8b5;--error-container:#4a1512;--on-error-container:#f9dedc;--secondary-container:#3d3320;--on-secondary-container:#f0e2c4;--shadow:0 1px 2px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{background:var(--bg);color:var(--on-bg);overscroll-behavior-y:none;margin:0;font-family:-apple-system,Segoe UI,Roboto,system-ui,sans-serif;font-size:16px;line-height:1.45}h1,h2,h3{margin:0;font-weight:700}h1{font-size:1.35rem}h2{font-size:1.1rem}h3{font-size:1rem}p{margin:0 0 8px}small,.sub{color:var(--on-surface-variant);font-size:.82rem}.shell{flex-direction:column;min-height:100%;display:flex}.topbar{z-index:20;padding:max(10px, env(safe-area-inset-top)) 16px 10px;background:var(--surface);border-bottom:1px solid var(--outline);align-items:center;gap:12px;display:flex;position:sticky;top:0}.topbar h1{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.content{flex:1;width:100%;max-width:780px;margin:0 auto;padding:16px 16px 96px}.tabbar{z-index:30;background:var(--surface);border-top:1px solid var(--outline);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{cursor:pointer;min-height:56px;color:var(--on-surface-variant);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.72rem;font-weight:600;display:flex}.tabbar button[aria-current=page]{color:var(--primary)}.tabbar .glyph{font-size:1.1rem;line-height:1}.tabbar .badge{background:var(--primary);color:var(--on-primary);border-radius:999px;margin-left:4px;padding:0 5px;font-size:.65rem}@media (width>=900px){.shell{flex-direction:row}.tabbar{height:100vh;width:var(--rail);border-top:0;border-right:1px solid var(--outline);flex-direction:column;justify-content:flex-start;padding:16px 8px;position:sticky;inset:0 auto auto 0}.tabbar button{border-radius:var(--radius);flex-direction:row;flex:none;justify-content:flex-start;gap:12px;min-height:48px;padding:0 16px;font-size:.95rem}.tabbar button[aria-current=page]{background:var(--surface-variant)}.main{flex-direction:column;flex:1;min-width:0;display:flex}.content{max-width:1100px;padding-bottom:40px}.rail-brand{align-items:center;gap:10px;padding:4px 16px 18px;display:flex}.rail-brand img{width:34px;height:34px}.rail-brand span{color:var(--primary);font-weight:800}.split{grid-template-columns:minmax(320px,400px) 1fr;align-items:start;gap:20px;display:grid}.split>.detail{position:sticky;top:76px}}@media (width<=899px){.rail-brand,.rail-signout{display:none}}.card{background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:12px;padding:16px}.card.selected{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.panel{background:var(--surface-variant);border-radius:var(--radius);padding:12px}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.stack{flex-direction:column;gap:12px;display:flex}.spacer{height:8px}button{font:inherit}.btn{background:var(--primary);min-height:44px;color:var(--on-primary);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.5;cursor:default}.btn.block{width:100%}.btn.outline{color:var(--primary);border:1px solid var(--outline);background:0 0}.btn.text{color:var(--primary);background:0 0;min-height:40px;padding:0 12px}.btn.danger{color:var(--error)}.btn.fab{right:16px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:25;box-shadow:var(--shadow);min-height:52px;padding:0 22px;position:fixed}@media (width>=900px){.btn.fab{bottom:24px;right:24px}}label.field{margin-bottom:12px;display:block}label.field>span{color:var(--on-surface-variant);margin-bottom:4px;font-size:.8rem;font-weight:600;display:block}input[type=text],input[type=email],input[type=password],textarea,select{border-radius:var(--radius-sm);border:1px solid var(--outline);background:var(--surface);width:100%;color:var(--on-surface);font:inherit;padding:11px 12px}input:focus-visible,textarea:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--primary);outline-offset:1px}textarea{resize:vertical;min-height:84px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--outline);min-height:34px;color:var(--on-surface);cursor:pointer;background:0 0;border-radius:999px;align-items:center;padding:0 12px;font-size:.85rem;display:inline-flex}.chip[aria-pressed=true]{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.chip.static{cursor:default}.chip.assessed{background:var(--secondary-container);color:var(--on-secondary-container);border-color:#0000}.switch{flex:none;width:46px;height:28px;position:relative}.switch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0}.switch .track{background:var(--outline);pointer-events:none;border-radius:999px;transition:background .15s;position:absolute;inset:0}.switch .knob{background:var(--surface);pointer-events:none;width:22px;height:22px;box-shadow:var(--shadow);border-radius:50%;transition:transform .15s;position:absolute;top:3px;left:3px}.switch input:checked~.track{background:var(--primary)}.switch input:checked~.knob{transform:translate(18px)}.stars{gap:2px;display:inline-flex}.stars button{cursor:pointer;color:var(--secondary);background:0 0;border:0;padding:0 1px;font-size:1.15rem;line-height:1}.banner{background:var(--error-container);color:var(--on-error-container);border-radius:var(--radius-sm);align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;font-size:.88rem;display:flex}.banner .btn.text{color:var(--on-error-container)}.badge-gold{background:var(--secondary);color:var(--on-secondary);border-radius:var(--radius-sm);padding:3px 8px;font-size:.75rem;font-weight:700;display:inline-block}.label{color:var(--secondary);font-size:.8rem;font-weight:700}.step-n{background:var(--primary);width:28px;height:28px;color:var(--on-primary);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.page{z-index:60;background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.page .content{padding-bottom:40px;overflow-y:auto}details.facet{border:1px solid var(--outline);border-radius:var(--radius-sm);background:var(--surface);margin-bottom:8px;padding:10px 12px}details.facet>summary{cursor:pointer;align-items:center;gap:8px;font-weight:600;display:flex}details.facet>summary::-webkit-details-marker{display:none}details.facet>summary:before{content:"▸";color:var(--on-surface-variant)}details.facet[open]>summary:before{content:"▾"}details.facet .count{color:var(--primary);margin-left:auto;font-size:.78rem;font-weight:700}@media (width>=900px){.facets-grid{columns:2;column-gap:16px}details.facet{break-inside:avoid}}.chat{flex-direction:column;height:calc(100vh - 120px);display:flex}.msgs{flex-direction:column;flex:1;gap:6px;padding:8px 0;display:flex;overflow-y:auto}.bubble{border-radius:var(--radius);background:var(--surface-variant);max-width:min(78%,460px);padding:8px 12px}.bubble.mine{background:var(--primary);color:var(--on-primary);align-self:flex-end}.bubble .when{opacity:.75;font-size:.7rem}.composer{border-top:1px solid var(--outline);align-items:flex-end;gap:8px;padding-top:8px;display:flex}.thread-row{text-align:left;background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius);cursor:pointer;width:100%;color:inherit;margin-bottom:10px;padding:14px}.thread-row .unread{background:var(--primary);color:var(--on-primary);border-radius:999px;padding:1px 8px;font-size:.72rem;font-weight:700}.auth{text-align:center;max-width:420px;margin:0 auto;padding:32px 20px 60px}.auth img{width:150px;height:auto;margin-bottom:8px}.auth form{text-align:left;margin-top:16px}.center{justify-content:center;align-items:center;min-height:60vh;display:flex}
