/* Shared structure. Theme and dimensions are defined in poster-theme.css. */
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;overflow-wrap:anywhere}
a{color:var(--text);text-decoration:none}
button,input,textarea,select{font:inherit}
button,a{touch-action:manipulation}
button,summary{cursor:pointer}
button:disabled{cursor:default}
h1,h2,h3,p{margin-top:0;overflow-wrap:anywhere}
p,small{overflow-wrap:anywhere}
header,footer{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:16px;font-weight:700;white-space:nowrap}
.brand img{display:block;width:112px;height:auto}
.brand span{padding-left:16px;border-left:1px solid}
nav{display:flex;align-items:center;gap:24px;margin-left:auto;flex-wrap:wrap}
nav a,footer a{display:inline-flex;align-items:center;min-height:44px}
footer{justify-content:space-between}
.btn,.outline,.secondary{display:inline-flex;justify-content:center;align-items:center;text-align:center;text-decoration:none}
.actions{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap;margin-top:24px}
.actions>*{min-width:0}
.wrap{margin-inline:auto}
.head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}
.head h1,.head h2{margin-bottom:8px}.head p{margin:0}
.three,.wall-grid,.token-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--grid-gap)}
.split{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:var(--grid-gap)}
.split>*{min-width:0}.aside{align-self:start}
.aside .btn,.aside .secondary{width:100%;margin-top:12px}
.filterbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:24px;padding:16px}
.filterbar input{flex:1;min-width:0;margin:0}.filterbar select{width:160px;margin:0}
.form{max-width:800px;margin-inline:auto}.form section{margin-block:32px}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:24px}
.form-row>label{margin-bottom:0}
label{display:block;margin:0 0 24px}
input,textarea,select{display:block;width:100%;max-width:100%;margin-top:8px}
textarea{resize:vertical}
.check{display:flex;align-items:center;gap:12px;min-height:44px}
.check input{flex-shrink:0;margin:0}
.user-content{white-space:pre-wrap;overflow-wrap:anywhere}
.note,.idea-card{position:relative;min-width:0;display:flex;flex-direction:column}
.note .owner{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:16px;border-top:1px solid}
.owner>span{min-width:0;overflow-wrap:anywhere}
.card-labels{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.card-description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.avatar{display:inline-grid;place-items:center;flex-shrink:0;font-weight:700}
.badge,.demo-badge{display:inline-block;align-self:start}
.comment,.notification,.receipt,.list-row,.article-block{padding-block:16px;border-bottom:1px solid}
.comment p{margin-top:12px}.comment-form{margin-top:24px}
.list-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
.empty{text-align:center}.privacy-note{margin-top:24px}
.form-feedback:empty{display:none}.form-feedback{white-space:pre-wrap}
.turnstile-slot{min-height:65px;max-width:100%;margin-block:16px}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);overflow-wrap:anywhere;z-index:20}
dialog{margin:auto;overflow:auto}dialog .close{float:right}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* Legacy preview routes use the same shared components. */
.tabs,.milestones,.event-meta{display:flex;flex-wrap:wrap;gap:16px;margin-block:24px}
.event-row{display:grid;grid-template-columns:100px minmax(0,1fr) minmax(0,1fr) 150px;gap:24px;padding-block:24px}
.connection,.success{max-width:800px;margin:0 auto}.success{text-align:center}
.connection .line{display:flex;justify-content:space-between;gap:16px;padding-block:16px}
.studio{display:grid;grid-template-columns:200px minmax(0,1fr) 280px;gap:24px;margin-inline:auto}
.studio>*{min-width:0}.studio-side a{display:block;padding:12px}.studio-main{padding-block:24px}
.bubble,.chat-form,.artifact{padding:24px;margin-block:24px}.bubble.user{margin-left:12%}.artifact{display:block}.artifact span{display:block}
.swatch{height:80px;margin-bottom:12px}.participation-step{display:flex;gap:24px;padding-block:24px}
@media(max-width:1000px){nav{order:3;width:100%;margin:0}header>.outline{margin-left:auto}.split{grid-template-columns:1fr}.wall-grid,.three{grid-template-columns:repeat(2,minmax(0,1fr))}.studio{grid-template-columns:1fr}.studio-side a{display:inline-block}}
@media(max-width:600px){.brand{gap:8px}.brand img{width:80px}.brand span{padding-left:8px}header{gap:8px}nav{gap:16px}.head{align-items:start;flex-direction:column;gap:16px}.head .actions{margin:0}.three,.wall-grid,.form-row,.token-grid{grid-template-columns:1fr}.event-row{grid-template-columns:1fr}.filterbar select{width:100%}.actions{display:grid;grid-template-columns:1fr;width:100%}.actions>*{width:100%}.studio-side{padding:0}}
