/* Shared geometry for every PHP route. Colors remain owned by ecosystem-theme. */
:root{--world-reading-width:76ch;--world-space:clamp(16px,2vw,28px)}
.feed-navigation{margin-block:20px 28px}.feed-navigation .tabs{flex-wrap:wrap;height:auto;gap:4px;margin:16px 0}.feed-navigation .tabs a{display:flex;align-items:center;min-height:44px;padding:10px 12px;font-size:14px}.feed-description{color:var(--muted);font-size:14px;line-height:1.65;max-width:72ch;margin:12px 0}.feed-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-block:28px}.feed-pagination p{color:var(--muted);font-size:14px;line-height:1.7}.feed-pagination a:not(.button){text-decoration:underline}.conversation-preview{border-left:2px solid var(--line);padding-left:14px;margin:16px 0}.conversation-preview p{font-size:14px;line-height:1.65;color:var(--muted);margin:8px 0}.conversation-preview strong{color:var(--ink)}.reply-byline{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.reply-byline time{font-size:11px;color:var(--muted)}.writing-preview{padding:14px 0;border-block:1px solid var(--line)}.writing-preview[hidden]{display:none}.writing-preview summary{cursor:pointer;font-weight:600;font-size:13px}.writing-preview-content{padding-block:12px;overflow-wrap:anywhere;white-space:pre-wrap}.writing-preview-content p{font-size:15px;line-height:1.7}.writing-preview>.muted{font-size:12px;line-height:1.6}.discovery-response-count{color:var(--muted);font-size:12px}
.workspace-heading>div:first-child{flex:1}.district-seal{width:150px;height:100px;object-fit:cover;border-radius:60px 60px 16px 16px;flex:0 0 auto}.workspace-heading>.button{flex-shrink:0;max-width:230px;white-space:normal}
.workspace :is(h1,h2,h3,p,a,dd),.public-main :is(h1,h2,h3,p,a,dd){overflow-wrap:anywhere}.record-content,.prose{max-width:var(--world-reading-width)}
.journey-picker{margin-block:36px 48px}.journey-choices{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.journey-choices a{display:flex;align-items:center;min-height:44px;padding:10px 16px;border-radius:24px;border:1px solid var(--line);font-size:14px;background:var(--surface)}.journey-choices a[aria-current=true]{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}
.journey-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:32px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden}.journey-body>img{display:block;width:100%;height:100%;max-height:440px;object-fit:cover}.journey-body ol{list-style:none;margin:0;padding:24px 28px 24px 0}.journey-body li{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.journey-body li:last-child{border:0}.journey-index{color:var(--accent);font-size:24px;font-weight:300;min-width:26px}.journey-body h3{font-size:21px;margin:0 0 8px;letter-spacing:-.02em}.journey-body h3 a{display:inline-flex;align-items:center;gap:10px}.journey-body p{font-size:14px;line-height:1.6;margin:0 0 10px}.journey-body small{color:var(--muted);font-size:12px}
.creation-note{font-size:13px;line-height:1.7;color:var(--muted);padding:14px 0;border-block:1px solid var(--line);margin:0 0 20px}.record-details{border-top:1px solid var(--line);margin:20px 0 0;padding:14px 0 0}.record-details summary{cursor:pointer;font-weight:600;min-height:36px}.research-evidence{display:grid;gap:18px;margin:20px 0}.research-evidence dt{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:7px}.research-evidence dd{margin:0;white-space:pre-wrap;font-size:15px;line-height:1.7}.record-next{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.record-next .button{min-height:44px}.draft-notice{padding:16px 18px;background:var(--accent-soft);border-radius:12px;margin-bottom:20px}.draft-notice p{margin:0;line-height:1.6}.draft-notice form{margin-top:10px}
.discovery-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-block:24px}.discovery-pagination p{font-size:13px;color:var(--muted)}
.sidebar{overscroll-behavior:contain;scrollbar-gutter:stable}.sidebar nav>a{min-height:42px}.sidebar-bottom{padding-bottom:max(20px,env(safe-area-inset-bottom))}.mobile-menu summary{min-height:48px}.mobile-menu nav a{min-height:44px;display:flex;align-items:center}.mobile-menu nav{max-height:65dvh;overflow:auto;overscroll-behavior:contain}
.stack-form :is(input,textarea,select){max-width:100%;min-width:0}.stack-form textarea{resize:vertical;min-height:100px}.stack-form label{line-height:1.5}.button,.inline-link,.tabs a{touch-action:manipulation}.table-scroll,pre{max-width:100%;overflow-x:auto}.content-columns,.studio-layout{gap:var(--world-space)}
@media(min-width:1100px){html[data-page=pulse] .list-and-form{grid-template-columns:minmax(0,1fr) minmax(270px,320px)}html[data-page=messages] .record-card{padding:20px;border-radius:12px}html[data-page=bank] .record-card{border-radius:0;border-width:0 0 1px;padding:20px 4px;background:transparent}html[data-page=achievements] .records{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}html[data-page=achievements] .records>.section-heading,html[data-page=achievements] .records>.empty-state{grid-column:1/-1}}
@media(max-width:1100px){.district-seal{width:110px;height:82px}.workspace-heading{flex-wrap:wrap}.workspace-heading>.button{max-width:100%}.journey-body{gap:20px}.journey-body ol{padding:15px 20px 15px 0}}
@media(max-width:800px){.journey-body{grid-template-columns:1fr;gap:0}.journey-body>img{height:220px}.journey-body ol{padding:12px 24px}.district-seal{display:none}.workspace-heading h1{font-size:clamp(28px,5vw,42px)}.workspace-heading>.button{margin:0}.content-columns,.studio-layout{grid-template-columns:minmax(0,1fr)}.list-and-form>aside{min-width:0}.section-heading{flex-wrap:wrap;gap:12px}.section-heading h2{font-size:26px}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}}
@media(max-width:400px){.workspace{padding-inline:16px}.wrap{padding-inline:16px}.site-header{padding-inline:12px;gap:8px}.header-actions{gap:6px}.public-layout .site-header .brand{font-size:20px}.public-layout .header-actions .button{font-size:11px;padding:8px;min-height:40px}.public-layout .login-link{font-size:12px}.public-layout .appearance-menu>summary{padding:8px}.journey-choices a{font-size:13px;padding:10px 12px}.place-copy{padding:22px}.place-copy h2{font-size:30px}.journey-body ol{padding:10px 20px}.panel,.create-panel{padding:20px}.button-row{flex-wrap:wrap}.discovery-grid{columns:1}.workspace-heading{gap:16px}.metrics-grid strong{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.journey-picker *{transition:none;animation:none}}

.directory-art{width:100%;height:150px;object-fit:cover;display:block;border-radius:12px;margin-bottom:22px}.directory-card{min-width:0}.auth-world-art{display:block;width:100%;height:auto;max-height:340px;object-fit:cover;border-radius:20px;margin-block:24px}.directory-card[hidden]{display:none!important}

.research-assessment{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted);line-height:1.7}.research-assessment strong{font-weight:600;color:var(--ink)}
.research-review{padding:18px 0;border-bottom:1px solid var(--line)}.research-review .tag{display:table;margin:10px 0}.research-review p{font-size:15px;line-height:1.7;overflow-wrap:anywhere}.research-review time{font-size:12px;color:var(--muted)}

.download-checksum{overflow-wrap:anywhere;word-break:break-word;font-size:12px;display:block}

/* One district identity, shared with the phone app. */
.workspace-heading .district-emblem{display:grid;place-items:center;flex:0 0 64px;width:64px;height:64px;border-radius:20px;background:var(--surface-2,var(--surface));color:var(--accent);align-self:flex-start}.district-emblem svg{width:30px;height:30px;display:block}.workspace-heading>div:first-child{min-width:0}.workspace-heading h1{overflow-wrap:anywhere}@media(max-width:800px){.workspace-heading{display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:start}.workspace-heading .district-emblem{width:48px;height:48px;border-radius:15px}.district-emblem svg{width:25px;height:25px}.workspace-heading>.button{grid-column:1/-1;justify-self:start}}

.public-nav .public-desktop-link{color:var(--accent);font-weight:750}.orbit-feature{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;padding:48px;border:1px solid var(--line);border-radius:28px;background:var(--surface);margin-block:32px 64px}.orbit-feature h2{font-size:clamp(30px,4vw,52px);line-height:1.12;letter-spacing:-.04em;margin:20px 0}.orbit-feature-copy>p{max-width:580px;color:var(--muted)}.orbit-feature .orbit-release-note{font-size:12px;margin:14px 0 24px}.orbit-feature-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:30px 20px;border-radius:22px;background:radial-gradient(ellipse at 50% 30%,var(--accent-soft),transparent 75%),var(--bg);text-align:center}.orbit-feature-visual>strong{font-size:28px;letter-spacing:-.03em}.orbit-feature-visual>span{color:var(--muted);font-size:13px}.orbit-capabilities{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}.orbit-capabilities>span{display:flex;align-items:center;gap:8px;border-radius:10px;padding:10px;background:var(--surface);font-size:12px}.store-status{display:inline-flex;padding:12px 18px;border-radius:12px;background:var(--accent-soft);color:var(--accent);font-weight:650}@media(max-width:800px){.orbit-feature{grid-template-columns:1fr;gap:24px;padding:26px;margin-inline:20px}.orbit-feature .button-row{align-items:stretch}.orbit-feature .button{white-space:normal}.orbit-feature-visual{padding:24px}.orbit-feature-visual>img{width:100px;height:100px}}
