body[data-project=openbudget]{--ink:#304c51;--gold:#789e91;--muted:#829590}.budget-brand{font-size:30px;letter-spacing:-1px;gap:8px}.budget-mark{font-size:23px;color:#82a193}.budget-step h1{font-size:clamp(61px,6vw,87px)}.budget-step h2{font-size:clamp(56px,5.2vw,75px)}.budget-step :is(h1,h2) em{color:#759b8d}.budget-step .primary-button{background:#2e6061;border-color:#2e6061}.budget-step .primary-button:hover{background:#52817a}.visual .orbit{border-color:#7ca89c18}.orbit-one:after{background:#9bbda9}.scene-topline,.scene-caption{color:#86a199}.caption-line{background:#acc6b3}
.community-stage{position:absolute;width:440px;height:430px;left:50%;top:50%;transform:translate(-50%,-50%);isolation:isolate}#neighborhood-view{position:absolute;inset:8px -48px -22px;z-index:1;touch-action:pan-y}#neighborhood-view canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:pan-y}#neighborhood-view canvas:active{cursor:grabbing}.model-loading{font:italic 23px var(--serif);color:#8ca798;position:absolute;top:46%;text-align:center;width:100%}.model-error{font-size:12px;line-height:1.7;padding:25px;background:#ece7dc;border:1px solid #d6cdbb;border-radius:6px}.view-ready .model-loading{display:none}
.community-art{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;visibility:hidden;transform:translateY(22px) scale(.94);transition:opacity .6s,transform .85s cubic-bezier(.22,1,.36,1),visibility .6s}.visual[data-stage=road] .road-card,.visual[data-stage=school] .school-card,.visual[data-stage=hospital] .hospital-card{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.community-question{position:absolute;right:-1px;top:3px;width:179px;padding:20px 22px;background:#fffff9;border:1px solid white;box-shadow:5px 6px 0 #d1e2d8,10px 15px 24px #20483a13;transform:perspective(850px) rotateY(-8deg) rotateZ(4deg);animation:community-float 7s ease-in-out infinite}.community-question small{font-size:6px;letter-spacing:1.6px;color:#8ea997}.community-question strong{display:block;font:28px/1.05 var(--serif);color:#406766;margin:13px 0 15px}.community-question em{color:#7c9f83}.community-question>span{font-size:7px;color:#97ac97}.community-question:after{content:'';position:absolute;bottom:-15px;left:22px;border:8px solid transparent;border-top-color:#fffff9;border-left-color:#fffff9}
.budget-chat-chip{position:absolute;left:70px;top:353px;display:flex;align-items:center;gap:13px;z-index:3;pointer-events:none;padding:13px 18px;width:250px;transform:rotate(-3deg);background:#f8fef2;border:1px solid #dbe8d2;box-shadow:4px 5px 0 #c7dcca;color:#567f6c}.budget-chat-chip>span{font-size:25px;color:#7ba493}.budget-chat-chip b{font-size:13px;font-weight:500}.budget-chat-chip small{display:block;font-size:5px;letter-spacing:1px;color:#93ac8e;margin-top:5px}.budget-chat-chip i{margin-left:auto;font-style:normal;font-size:17px;color:#89a58a}
.neighborhood-controls{position:absolute;top:calc(50% + 234px);width:100%;display:flex;align-items:center;justify-content:center;gap:12px;font-size:6px;letter-spacing:1px;color:#97ada0}.neighborhood-controls button{height:25px;width:25px;border-radius:50%;border:1px solid #d9e3d5;background:#f7faf0;color:#89a18b;font-size:16px}.visual .scene-caption{top:calc(50% + 279px);font-size:6px}.visual .scene-note{top:calc(50% + 306px);font-size:5px}.visual .scene-topline{top:calc(50% - 236px);font-size:6px}.story-note{border-left:1px solid #b5cbb8;padding-left:16px;margin-top:23px}.story-note>span{font-size:6px;letter-spacing:1.3px;color:#91ad95}.story-note p{font:italic 24px/1.2 var(--serif);color:#749581;margin:10px 0}
@keyframes community-float{50%{transform:perspective(850px) translateY(-6px) rotateY(-5deg) rotateZ(2deg)}}
@media(max-width:1100px) and (min-width:761px){.budget-brand{font-size:25px}.budget-step h1{font-size:62px}.budget-step h2{font-size:53px}.community-stage{transform:translate(-50%,-50%) scale(.80)}.neighborhood-controls{top:calc(50% + 188px)}.visual .scene-caption{top:calc(50% + 228px)}.visual .scene-note{top:calc(50% + 255px)}.visual .scene-topline{top:calc(50% - 205px)}.chapter-nav b{display:none}}
@media(max-width:760px){.budget-brand{font-size:25px}.budget-mark{font-size:20px}.budget-step h1{font-size:51px}.budget-step h2{font-size:47px}.community-stage{top:calc(50% - 18px);transform:translate(-50%,-50%) scale(.51)}.neighborhood-controls{top:auto;bottom:28px;font-size:5px;gap:8px}.neighborhood-controls button{height:20px;width:20px;font-size:12px}.visual .scene-caption{top:auto;bottom:3px;font-size:5px}.visual .scene-topline{top:9px;font-size:5px}.visual .scene-note{display:none}.visual .motion-toggle{width:19px;height:19px}.story-note p{font-size:22px}}@media(max-width:760px) and (max-height:740px){.community-stage{transform:translate(-50%,-50%) scale(.43)}}

.community-question{padding:16px 19px}.community-question strong{font-size:25px;margin:10px 0 12px}
