:root{font:17px/1.55 system-ui;color:#183153;background:#f1f5fb}*{box-sizing:border-box}body{margin:0}main{max-width:1150px;margin:auto;padding:24px}nav{display:flex;gap:20px;flex-wrap:wrap;border-bottom:1px solid #cbd8e8;padding-bottom:14px}a{color:#075cce}h1{font-size:clamp(24px,4vw,38px);line-height:1.2}h2{font-size:23px}button,.button{font:inherit;background:#075cce;color:white;padding:11px 17px;border:0;border-radius:9px;cursor:pointer;display:inline-block;text-decoration:none}button:disabled{opacity:.55;cursor:wait}.quiet{background:white;color:#075cce;border:1px solid #aac1df}.sides,.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid{grid-template-columns:repeat(auto-fit,minmax(285px,1fr))}article,section.panel{background:white;border:1px solid #d5dfed;border-radius:14px;padding:22px;margin:15px 0}article h2{font-size:21px}.badge{font-size:13px;background:#e8effb;border-radius:6px;padding:4px 8px;display:inline-block}.brand{font-weight:800}.muted{color:#546983;font-size:14px}input,textarea,select{font:inherit;padding:10px;border:1px solid #aac1df;border-radius:7px;max-width:100%}textarea{width:100%;min-height:100px}label{display:block;margin:12px 0}#status{white-space:pre-wrap;color:#8b3200}pre,.message{white-space:pre-wrap;overflow-wrap:anywhere}.message{padding:15px;border-radius:9px;background:#eef4fb;margin:10px 0}.message.assistant{background:#f1f8ee}[hidden]{display:none!important}@media(max-width:600px){.sides{grid-template-columns:1fr}main{padding:16px}}
/* v23: shared reading scale and cabinet/showcase hierarchy */
:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.6;color:#26384e;background:#fff9ed}body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif!important;line-height:1.6!important;color:#26384e!important;background:#fff9ed!important}main{max-width:1180px}h1,h2,h3{line-height:1.25;letter-spacing:-.018em;overflow-wrap:anywhere}h1{font-size:clamp(1.8rem,3.5vw,2.5rem)!important;color:#92244d}h2{font-size:clamp(1.35rem,2.5vw,1.65rem)!important;color:#92244d}h3,article h2{font-size:1.18rem!important}p{max-width:76ch;margin:.75em 0}a{color:#145fa5;text-underline-offset:.18em}nav{align-items:center;gap:14px 22px;font-size:.95rem}nav a{font-weight:600}.hero{padding:30px 0 18px}.lead{font-size:1.2rem}.eyebrow{color:#92244d;font-weight:700;font-size:.8rem;letter-spacing:.065em;text-transform:uppercase}.muted{color:#546174;font-size:.9rem}.badge{font-size:.8rem;background:#fff0be}.business-card,.showcase{border-top:5px solid #e6b738;box-shadow:0 5px 18px #26384e08;padding:24px;display:flex;flex-direction:column}.business-card h3 a{text-decoration:none;color:#92244d}.business-card .card-actions{margin-top:auto;padding-top:14px;display:flex;gap:12px;align-items:flex-start;flex-direction:column}.business-card p{overflow-wrap:anywhere}.showcase h3{color:#92244d}.showcase .button{align-self:flex-start;margin-top:auto}.filters,.sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.filters label input,.filters label select{display:block;width:100%;margin-top:7px}.grid{gap:22px;grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr))}button,.button{font-size:1rem;line-height:1.35;font-weight:600;background:#145fa5;min-height:44px}.quiet{background:#fff;color:#145fa5;border:1px solid #aabed2}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}input,select,textarea{font-size:1rem;line-height:1.5}input[type=checkbox],input[type=radio]{width:auto!important;min-height:auto}.presence{font-weight:650;font-size:.9rem}.presence.online{color:#176b42}.presence.busy{color:#92244d}.presence.offline{color:#596575}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a92d5a;outline-offset:3px}[id^=card-]:target,[id^=block-]:target{outline:3px solid #e6b738;outline-offset:5px}@media(max-width:640px){.sides,.filters{grid-template-columns:1fr}main{padding:18px}nav{gap:12px}.hero{padding-top:20px}.business-card,.showcase{padding:20px}.actions>*{width:100%;text-align:center}}

.vacant{border:2px dashed #a33c60;background:#fffbeb}.vacant h3{color:#92244d}.onboarding label{display:block;margin:16px 0}.onboarding input,.onboarding textarea,.onboarding select{width:100%;box-sizing:border-box;font:inherit;padding:12px;border:1px solid #aeb7c4;border-radius:8px}.onboarding input[type=checkbox]{width:auto}.onboarding textarea{min-height:120px}.onboarding{max-width:760px;margin:auto}.onboarding button{margin-top:16px}

.personal-ai summary{cursor:pointer;font-weight:700;color:#92244d;padding:10px 0}.personal-ai label{display:block;margin:14px 0}.personal-ai textarea{display:block;width:100%;box-sizing:border-box;font:inherit;padding:12px;min-height:100px}.personal-ai button{width:auto;margin:8px 0}.personal-ai #ai-preview{background:#fff;padding:16px;border:1px solid #c5d4e0;border-radius:10px}
/* AI1OK: bright brand palette, consistent typography, no external fonts. */
:root{--blue:#0054e9;--magenta:#b00050;--yellow:#ffe12b;--ink:#172c50;--soft:#fffef5;--muted:#485775;--line:#cbd9ff;color:var(--ink);background:var(--soft);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.6}
body{color:var(--ink)!important;background:var(--soft)!important;font-size:1rem!important;border-top:8px solid var(--yellow)}
main{padding-top:24px}.wrap{max-width:1180px}main.onboarding{max-width:820px}
h1,h2,h3{color:var(--magenta)!important;letter-spacing:-.025em;line-height:1.22;font-weight:750}
h1{font-size:clamp(1.85rem,3.8vw,2.8rem)!important;margin:28px 0 16px}h2{font-size:clamp(1.4rem,2.4vw,1.8rem)!important;margin:24px 0 12px}h3,article h2{font-size:1.2rem!important;margin:12px 0;line-height:1.35}
p{line-height:1.65}.lead{font-size:1.18rem;line-height:1.6}.muted,.meta,.preview-note{color:var(--muted);font-size:.9rem;line-height:1.6}.eyebrow{color:var(--magenta);font-size:.78rem;font-weight:800;letter-spacing:.07em}
a{color:var(--blue);text-underline-offset:.2em}.brand{color:var(--magenta);font-size:1.06rem;font-weight:850}
nav,.top{border-bottom:3px solid var(--yellow);gap:12px 20px;align-items:center;flex-wrap:wrap;padding-bottom:18px}nav a,.top a{font-size:.95rem;font-weight:700}nav .brand{font-size:1.06rem}
.hero{background:var(--yellow);border-radius:22px;padding:28px 32px;margin:24px 0;border-bottom:6px solid #f6bd00}.hero h1{margin:8px 0 16px}.hero .eyebrow{margin:0}.hero p{color:var(--ink)}
article,section.panel,.panel,.card,form#profile,form#join{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 5px 0 #0054e908;padding:24px}
.sides>.panel{border:2px solid var(--yellow);border-top:7px solid var(--yellow)}.sides>.panel:nth-child(2){border-color:#f8b3cf;border-top-color:var(--magenta);background:#fff5fa}.sides h2{margin-top:8px}
.business-card,.showcase{border-top:6px solid var(--magenta);padding:25px;box-shadow:0 6px 0 #0054e909}.showcase:nth-child(3n+2){border-top-color:var(--blue)}.showcase:nth-child(3n){border-top-color:var(--yellow)}
.business-card h3 a,.showcase h3{color:var(--magenta)!important}.business-card h3 a:hover{text-decoration:underline}.business-card .card-actions{gap:14px}
.vacant{border:2px dashed var(--magenta);border-top:6px solid var(--yellow);background:#fff8c6}.vacant h3{color:var(--magenta)}
button,.button{font-family:inherit;font-size:1rem;font-weight:700;line-height:1.35;min-height:46px;padding:12px 18px;border-radius:11px;background:var(--blue);color:#fff;transition:background-color .15s,box-shadow .15s}
button:hover:not(:disabled),.button:hover{background:#003fc1;color:#fff;box-shadow:0 3px 0 #001d6130}button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}
button.quiet,.quiet,button.secondary,.secondary{background:#fff;color:var(--blue);border:1.5px solid var(--blue)}.sides>.panel:nth-child(2) button{background:var(--magenta)}.sides>.panel:nth-child(2) button:hover{background:#8f0041}
button.online,.presence.online{color:#08663d;background:#eaffcf;border:1px solid #21834c}.presence.offline,button.offline{color:#765000;background:#fff2a3;border:1px solid #d6a600}.presence.busy{color:var(--magenta);background:#ffe5f0}.remove{background:#fff;color:#ad2020;border:1px solid #e1a8a8;min-height:32px}
input,textarea,select{font-family:inherit;font-size:1rem;line-height:1.5;padding:12px;border:1.5px solid #91aff1;border-radius:9px;background:#fff;color:var(--ink);min-width:0;max-width:100%}input:focus,textarea:focus,select:focus{border-color:var(--blue)}label,.field{font-size:.95rem;font-weight:650;line-height:1.5}label input,label select,label textarea{margin-top:7px;font-weight:400}input[type=checkbox]{accent-color:var(--blue)}
.onboarding input,.onboarding select,.onboarding textarea{border-color:#91aff1}.filters{background:#eef5ff;padding:18px 22px;border-radius:16px;margin:20px 0}.filters label{margin:0}
.personal-ai{border:2px solid #f4a5c5;border-left:7px solid var(--magenta);background:#fff2f8;margin:24px 0}.personal-ai summary{color:var(--magenta);font-size:1.06rem;line-height:1.5}.personal-ai #ai-preview{border:2px solid var(--yellow)}
.badge{background:var(--yellow);color:var(--ink);font-weight:700}.notice{background:#fff4a6;border-left-color:var(--yellow);color:#554100}.message{background:#eaf2ff;color:var(--ink)}.message.assistant{background:#fff5bb}.toast{font-size:1rem}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--magenta);outline-offset:3px}[id^=card-]:target,[id^=block-]:target{outline-color:var(--blue)}
@media(max-width:640px){body{font-size:16px!important}main,.wrap{padding:16px}main.onboarding{width:100%}.hero{padding:22px 20px;margin:18px 0;border-radius:16px}.sides,.filters{gap:16px;grid-template-columns:1fr}.grid{grid-template-columns:1fr;gap:16px}.business-card,.showcase,.panel,.card,form#profile,form#join{padding:20px}.filters{padding:16px}nav,.top{gap:10px 16px}nav a,.top a{font-size:.88rem}.hero h1{font-size:1.95rem!important}.personal-ai{padding:16px}.personal-ai button{width:100%}.actions>*{max-width:100%}}
@media(prefers-reduced-motion:reduce){button,.button{transition:none}}


/* v28: approved owner-provided branding; static images, no blocking splash. */
.portal-brand{display:inline-flex;align-items:center;flex-shrink:0;max-width:100%;border-radius:12px;background:#fff;padding:6px 12px;line-height:0}
.portal-brand img{display:block;width:190px;max-width:100%;height:auto;object-fit:contain}
.portal-brandbar{margin-bottom:18px;border-bottom:3px solid var(--yellow);padding-bottom:12px}
.portal-welcome{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,300px);gap:28px;align-items:center}
.portal-welcome-copy{min-width:0}.portal-gateway{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 5px 0 #0054e925}
@media(max-width:640px){.portal-brand img{width:160px}.portal-welcome{grid-template-columns:1fr;gap:18px}.portal-gateway{max-width:280px;justify-self:center}.portal-brandbar{margin-bottom:12px}}
/* v29: independent portal sections */
.portal-sections{display:flex;flex-wrap:wrap;margin:12px 0 20px;padding:12px;background:#fff3a0;border-radius:12px}.portal-sections [hidden]{display:none!important}#editor label{display:block;margin:16px 0}#editor input,#editor textarea,#editor select{display:block;width:100%;box-sizing:border-box}.portal-text{white-space:pre-wrap;overflow-wrap:anywhere}#participants p{border-bottom:1px solid var(--line);padding:10px}#book-search{display:block;width:100%;box-sizing:border-box}
