.portal-shell{max-width:1160px;margin:auto;padding:0 32px}.portal-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0;border-bottom:1px solid var(--line)}.portal-brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink);font-weight:650;min-width:0;overflow-wrap:anywhere}.portal-request-link{text-decoration:none;white-space:nowrap;padding:9px 14px;border-radius:6px}.portal-intro{padding:48px 0 28px;max-width:760px}.portal-intro h1{font-size:34px;letter-spacing:-1px;margin:8px 0 12px;overflow-wrap:anywhere}.portal-intro>p:last-child{font-size:15px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.portal-eyebrow{color:var(--accent);font-size:10px;letter-spacing:1.5px}.portal-tabs{display:flex;flex-direction:row;gap:22px;border-bottom:1px solid var(--line);margin-bottom:26px}.portal-tabs a{color:var(--muted);text-decoration:none;padding:12px 0;border-bottom:2px solid transparent;font-weight:600}.portal-tabs a[aria-current=page]{color:var(--ink);border-color:var(--accent)}.portal-tools{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}.portal-tools label{flex:1;min-width:120px;max-width:180px;font-size:11px;color:var(--muted)}.portal-tools label:first-child{max-width:none;flex:2}.portal-tools input,.portal-tools select{margin:5px 0 0;width:100%}.portal-list{display:grid;gap:12px}.portal-card{display:flex;gap:18px;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:20px;min-width:0}.portal-card-body{flex:1;min-width:0}.portal-card h2,.portal-card h3{font-size:16px;line-height:1.4;margin:0 0 9px;overflow-wrap:anywhere}.portal-card h2 a,.portal-card h3 a{color:var(--ink);text-decoration:none}.portal-card h2 a:hover,.portal-card h3 a:hover{text-decoration:underline}.portal-card p{color:var(--muted);margin:10px 0;font-size:13px;overflow-wrap:anywhere;white-space:pre-wrap}.portal-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:var(--subtle);font-size:11px}.portal-vote{flex:none;align-self:flex-start;min-width:50px;min-height:58px;display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--input);color:var(--muted);border-radius:7px}.portal-vote[aria-pressed=true]{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.portal-status{display:inline-block;font-size:10px;padding:3px 8px;border:1px solid var(--line);border-radius:20px;color:var(--muted)}.portal-status.planned{color:#dbc48a}.portal-status.in_progress{color:var(--accent)}.portal-status.completed{color:var(--success)}.portal-roadmap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}.portal-roadmap-column{min-width:0}.portal-roadmap-heading{display:flex;gap:10px;align-items:center;margin:0 0 17px}.portal-roadmap-heading h2{font-size:14px;margin:0}.portal-roadmap-heading span{color:var(--subtle);font-size:12px}.portal-roadmap .portal-card{padding:16px;flex-direction:column;gap:10px}.portal-roadmap .portal-vote{min-height:32px;flex-direction:row;padding:5px 10px}.portal-empty{border:1px dashed var(--line);border-radius:9px;padding:36px 22px;text-align:center;color:var(--muted)}.portal-empty h2{color:var(--ink);font-size:18px}.portal-empty p{margin:10px 0 22px}.portal-empty a{display:inline-block;text-decoration:none}.portal-detail{max-width:820px;margin:0 auto}.portal-detail>h2{font-size:26px;line-height:1.35;overflow-wrap:anywhere}.portal-detail-body{font-size:15px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;margin:24px 0}.portal-detail .portal-vote{margin:20px 0}.portal-response{background:var(--accent-soft);border:1px solid #74b0ff30;padding:20px;border-radius:8px;margin:22px 0}.portal-response h3{margin:0 0 10px;font-size:13px}.portal-response p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.portal-notice{border:1px solid var(--line);background:var(--surface);border-radius:7px;padding:14px;color:var(--muted)}.portal-request-form{max-width:680px;margin:0 auto}.portal-request-form h2{font-size:23px}.portal-request-form label{display:block;margin:18px 0;color:var(--muted);font-size:12px}.portal-request-form input,.portal-request-form textarea{width:100%;margin-top:7px}.portal-request-form textarea{min-height:160px;resize:vertical}.portal-form-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.portal-request-form .portal-form-columns label{min-width:0;margin-top:0}.portal-request-form .portal-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.portal-similar{margin-top:14px;border:1px solid var(--line);border-radius:7px;padding:14px}.portal-similar a{display:block;overflow-wrap:anywhere;margin:7px 0}.portal-hint{font-size:11px;color:var(--subtle)}.portal-pagination{display:flex;gap:15px;align-items:center;justify-content:flex-end;margin:25px 0;color:var(--muted)}.portal-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;border-top:1px solid var(--line);padding:25px 0;margin-top:50px;color:var(--subtle);font-size:11px}.portal-footer a{text-decoration:none}#portal-message{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);padding:12px 20px;background:var(--surface);border:1px solid var(--line);border-radius:8px;max-width:calc(100% - 32px);z-index:10}.portal-form-error{color:#f4a1a1;font-size:12px}.portal-loading{opacity:.7}.portal-admin{min-width:0}.portal-admin .portal-share{margin:18px 0;border:1px solid var(--line);padding:16px;border-radius:7px;overflow-wrap:anywhere}.portal-admin .portal-admin-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:34px}.portal-admin .portal-admin-heading h3{margin:0}.portal-admin .portal-admin-row{width:100%;text-align:left;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:15px;background:var(--surface);border:1px solid var(--line);border-radius:7px;color:var(--ink)}.portal-admin-row strong,.portal-admin-row small{display:block;overflow-wrap:anywhere}.portal-admin-row small{color:var(--muted);font-size:11px;margin-top:5px}.portal-admin .portal-admin-list{display:grid;gap:10px}.portal-admin .portal-admin-editor{margin-top:25px;border-top:1px solid var(--line);padding-top:24px}.portal-admin .portal-admin-editor label{display:block;margin:14px 0;min-width:0}.portal-admin .portal-admin-editor textarea{width:100%;resize:vertical}.portal-admin .portal-admin-editor .check-label{display:flex}.portal-admin .portal-admin-editor .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.portal-admin .portal-admin-editor .actions{flex-wrap:wrap}.portal-admin .portal-form-error{overflow-wrap:anywhere}.portal-admin .portal-tools{margin-top:16px}.portal-admin form{min-width:0}.portal-admin .portal-tools input{min-width:0}.portal-admin [data-portal-share-url]{width:100%}
.public-portal #portal-content{display:block;max-width:none;margin:0;padding:0}
@media(max-width:800px){.portal-shell{padding:0 22px}.portal-roadmap{gap:12px}.portal-roadmap .portal-card{padding:12px}.portal-intro{padding-top:32px}}@media(max-width:600px){.portal-shell{padding:0 16px}.portal-header{gap:12px;align-items:flex-start;padding:18px 0}.portal-brand{font-size:12px}.portal-request-link{font-size:11px;padding:8px 9px;white-space:normal;text-align:center;max-width:105px}.portal-intro h1{font-size:27px}.portal-tabs{gap:20px}.portal-card{padding:15px;gap:12px}.portal-tools{gap:8px}.portal-tools label:first-child{min-width:100%;max-width:none}.portal-roadmap{grid-template-columns:minmax(0,1fr);gap:25px}.portal-roadmap .portal-card{flex-direction:row;padding:15px}.portal-roadmap .portal-vote{flex-direction:column;min-height:50px}.portal-detail>h2{font-size:23px}.portal-form-columns,.portal-admin .portal-admin-editor .grid{grid-template-columns:minmax(0,1fr)}.portal-footer{margin-top:32px}.portal-pagination{justify-content:center}.portal-admin .portal-admin-row{grid-template-columns:minmax(0,1fr)}.portal-admin .portal-tools label{min-width:0}.portal-admin .portal-tools label:first-child{min-width:100%}}

.portal-admin .portal-admin-editor .settings-actions{position:static}
.portal-private{min-width:0;margin:22px 0;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.portal-private legend{padding:0 8px;font-weight:650;font-size:12px}.portal-private label{display:block}.portal-private details{margin:10px 0}.portal-private summary,.portal-evidence summary,.portal-merge summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600}
.portal-evidence,.portal-merge,.portal-subscribe{margin:24px 0 0;padding:20px;border:1px solid var(--line);border-radius:8px;min-width:0}.portal-evidence article{padding:16px 0;border-top:1px solid var(--line)}.portal-evidence h4{margin:8px 0}.portal-preserve{white-space:pre-wrap;overflow-wrap:anywhere}.portal-merge form{max-width:720px}.portal-subscribe form{display:grid;gap:12px;max-width:540px}.portal-subscribe label{display:grid;gap:8px}.portal-subscribe button{justify-self:start}.portal-subscribe input{width:100%}.portal-admin-row small{overflow-wrap:anywhere}
@media(max-width:600px){.portal-private,.portal-evidence,.portal-merge,.portal-subscribe{padding:14px}.portal-private legend{font-size:13px}.portal-private input,.portal-private textarea,.portal-subscribe input{font-size:16px}.portal-admin .portal-tools label:not(:first-child){flex:1 1 calc(50% - 8px);max-width:none}}
.portal-admin-editor textarea,.portal-form textarea{font-family:inherit;line-height:1.6}
