/* Shared /funds shell, with the original chamber and horizontal race retained. */
.chamber-section{padding-top:32px}.chamber-title{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}.eyebrow{font-size:10px;letter-spacing:.12em;color:var(--soft)}.chamber-title h1{font-size:28px;line-height:1.2;font-weight:400;letter-spacing:-.04em;margin-top:6px}.round-timing{display:grid;gap:6px;text-align:right;font-size:12px}.round-timing small{color:var(--soft);font-size:11px}#race-status:before{content:'●';color:var(--red);font-size:8px;margin-right:8px}
.competition-arena{border:1px solid var(--line-2);border-radius:16px;background:var(--card);overflow:hidden}.council-stage{display:grid;grid-template-columns:minmax(0,1fr) 290px;border-bottom:1px solid var(--line-2)}.parliament-panel{min-width:0;background:radial-gradient(ellipse at 50% 40%,#fff,transparent 75%)}.parliament-heading{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;font:10px ui-monospace,monospace;letter-spacing:.10em;color:var(--soft)}.parliament-heading>div{display:flex;gap:20px}.parliament-heading button{font-size:11px;color:var(--soft)}
.parliament-space{position:relative;height:440px;overflow:hidden}.parliament-space canvas{position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:pan-y}.parliament-space canvas.dragging{cursor:grabbing}.agent-orbits{position:absolute;inset:0;pointer-events:none}.scene-agent{position:absolute;pointer-events:auto;transform:translate(-50%,-35%);display:flex;flex-direction:column;align-items:center;padding:3px;min-width:60px;max-width:126px;touch-action:none}.node-shell{display:block;border-radius:var(--morph,50%);width:calc(52px * var(--node-size,.9));height:calc(52px * var(--node-size,.9));padding:3px;background:#f2f2ec;box-shadow:0 0 0 1px #15151425,0 8px 16px #1515140a}.node-shell img{width:100%;height:100%;object-fit:cover;border-radius:50%;filter:grayscale(1);mix-blend-mode:multiply}.node-name{font-size:12px;background:#fbfbf9d9;padding:3px 6px;margin-top:6px}.node-stance{font-size:10px;line-height:1.4;color:var(--soft);background:#fbfbf9d9;max-width:120px}.node-weight{font:10px ui-monospace,monospace;color:var(--red);margin-top:4px}.node-glyph{font-size:25px}.scene-agent.active .node-shell{box-shadow:0 0 0 1px var(--red),0 0 20px #ef4a3618}
.treasury-readout{position:absolute;transform:translate(-50%,8px);width:270px;display:flex;flex-direction:column;align-items:center;gap:7px;pointer-events:none;text-align:center;z-index:3}.treasury-readout>strong{font-size:clamp(28px,3vw,42px);font-weight:400;letter-spacing:-.055em;line-height:1.05}.treasury-readout>div{font-size:12px}.treasury-readout .eyebrow{font-size:9px}.influence{display:flex;height:2px;gap:2px;width:90px;margin-top:3px}.influence button{min-width:0;background:var(--red);pointer-events:auto}.parliament-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 24px;font-size:10px;color:var(--soft);min-height:44px}.parliament-foot>a{margin-left:auto;font-size:9px;text-decoration:underline;text-underline-offset:3px}
.arena-activity{border-left:1px solid var(--line-2);padding:22px 22px 14px;display:flex;flex-direction:column;min-width:0;max-height:545px}.activity-heading h2{font-size:14px;font-weight:400;letter-spacing:0;margin:8px 0}.activity-heading small{font:10px ui-monospace,monospace;color:var(--soft)}#activity-status:before{content:'● ';font-size:8px;color:var(--red)}#activity-status.offline:before{color:var(--faint)}#arena-events{overflow:auto;flex:1;min-height:120px;margin-top:24px;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.activity-event{padding:13px 0;border-bottom:1px solid var(--line)}.event-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px;font:9px ui-monospace,monospace;color:var(--soft)}.event-meta strong{font-weight:400;color:var(--red-ink)}.activity-event p{font-size:11px;line-height:1.65;margin-top:7px;overflow-wrap:anywhere}.activity-empty{font-size:13px;line-height:1.7;color:var(--soft);max-width:220px;padding:18px 0}.activity-caption{font-size:9px;color:var(--soft);border-top:1px solid var(--line);padding-top:12px;margin-top:15px}.activity-event.is-new{animation:ballot-arrive .6s ease-out}@keyframes ballot-arrive{from{background:var(--red-wash);transform:translateY(-6px)}to{background:transparent;transform:none}}
.arena-toolbar{display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line);padding:18px 24px;font:10px ui-monospace,monospace;color:var(--soft)}.arena-toolbar>span:first-child{color:var(--ink);letter-spacing:.10em}.arena-toolbar>a{margin-left:auto;color:var(--red-ink)}.arena-body{display:grid;grid-template-columns:minmax(0,1fr) 220px}.race-field{padding:24px;background-image:radial-gradient(#15151415 .6px,transparent .6px);background-size:20px 20px;min-width:0}.race-key{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--soft);margin-bottom:10px}#race-lanes{display:flex;flex-direction:column}.race-lane{display:grid;grid-template-columns:160px minmax(70px,1fr) 82px;gap:20px;align-items:center;min-height:76px;border-bottom:1px solid var(--line)}.race-agent{display:flex;gap:12px;align-items:center;text-align:left;min-width:0}.race-rank{font:10px ui-monospace,monospace;color:var(--faint)}.race-identity{display:grid;gap:4px;min-width:0}.race-identity strong{font-size:16px;font-weight:400}.race-identity small{font-size:10px;line-height:1.45;color:var(--soft)}.race-track{position:relative;height:1px;margin:0 20px;background:var(--line-2)}.race-track:before{content:'';position:absolute;inset:-22px 0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),#15151408 calc(25% - 1px),#15151408 25%);pointer-events:none}.race-fill{position:absolute;left:0;width:var(--share);height:2px;background:var(--red);transition:width .7s var(--e)}.race-marker{position:absolute;left:var(--share);top:0;transform:translate(-50%,-50%);height:40px;width:40px;background:var(--paper);border:1px solid var(--line-2);padding:3px;transition:left .7s var(--e)}.race-marker img{height:100%;width:100%;object-fit:cover;filter:grayscale(1);mix-blend-mode:multiply}.race-marker>span:not(.tracking-cross){font-size:24px}.tracking-cross{position:absolute;right:-6px;top:-9px;color:var(--red);font:12px ui-monospace,monospace}.is-leading .race-marker{border-color:var(--red)}.is-leading .race-rank,.is-leading .race-count strong{color:var(--red-ink)}.race-count{text-align:right;display:grid;gap:5px}.race-count strong{font-size:17px;font-weight:400}.race-count small{font-size:10px;color:var(--soft)}.race-scale{display:flex;justify-content:space-between;margin:20px 122px 0 200px;font:9px ui-monospace,monospace;color:var(--faint)}.mandate-vault{border-left:1px solid var(--line);display:flex;align-items:center;padding:24px}.vault-leader>span{font:9px ui-monospace,monospace;letter-spacing:.1em;color:var(--soft)}.vault-leader strong{display:block;font-size:24px;font-weight:400;letter-spacing:-.03em;margin:10px 0}.vault-leader p{font-size:11px;line-height:1.7;color:var(--soft)}.arena-metrics{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-2)}.arena-metrics>div{padding:20px 24px;border-right:1px solid var(--line);display:grid;gap:8px}.arena-metrics>div:last-child{border:0}.arena-metrics span{font-size:9px;color:var(--soft);letter-spacing:.07em}.arena-metrics strong{font-size:22px;font-weight:400;letter-spacing:-.03em}.competition-arena button:hover{color:var(--red-ink)}
#ballot-panel{padding-top:42px;padding-bottom:64px}.proposal-file{font-size:13px;line-height:1.7}.file-label{font:10px ui-monospace,monospace;letter-spacing:.08em;color:var(--soft)}.proposal-file h2{font-size:28px;font-weight:400;line-height:1.2;letter-spacing:-.03em;margin:18px 0 10px}.proposal-action{color:var(--red-ink)}.proposal-file dl{margin:26px 0}.proposal-file dt{font:11px ui-monospace,monospace;color:var(--soft);margin:20px 0 8px}.proposal-file dd{overflow-wrap:anywhere}.proposal-file ol{list-style:decimal;padding-left:20px}.proposal-file li{margin-bottom:12px}.proposal-file pre{white-space:pre-wrap}
@media(max-width:1100px){.council-stage{grid-template-columns:minmax(0,1fr) 250px}.arena-body{grid-template-columns:minmax(0,1fr) 190px}.race-lane{grid-template-columns:125px minmax(50px,1fr) 75px;gap:10px}.race-scale{margin-left:155px;margin-right:105px}.node-stance{font-size:9px}}
@media(max-width:850px){.council-stage{grid-template-columns:1fr}.arena-activity{border-left:0;border-top:1px solid var(--line-2);height:270px}.activity-heading{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.activity-heading h2{margin:0;font-size:14px}.activity-heading small{margin-left:auto}#arena-events{margin-top:6px}.activity-empty{max-width:none;padding:18px 0}.arena-body{grid-template-columns:1fr}.mandate-vault{border-left:0;border-top:1px solid var(--line);padding:16px 24px}.vault-leader{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.vault-leader strong{font-size:18px;margin:0}.vault-leader p{margin-left:auto}}
@media(max-width:540px){.chamber-title{align-items:start;gap:14px;margin-bottom:18px}.chamber-title h1{font-size:23px}.round-timing{font-size:11px;max-width:135px}.round-timing small{font-size:10px}.parliament-space{height:390px}.parliament-heading{padding:18px 16px}.node-shell{width:calc(34px * var(--node-size,.9));height:calc(34px * var(--node-size,.9))}.node-name{font-size:10px}.node-stance{font-size:8px;max-width:80px}.scene-agent{max-width:90px}.treasury-readout{width:220px}.treasury-readout>strong{font-size:32px}.treasury-readout>div{font-size:11px}.parliament-foot{padding:12px 16px}.parliament-foot>a{flex-basis:100%;margin:0}.arena-toolbar{padding:16px;gap:12px;flex-wrap:wrap}.arena-toolbar #arena-sync{font-size:9px}.race-field{padding:18px 14px}.race-key{font-size:9px}.race-lane{grid-template-columns:96px minmax(40px,1fr) 62px;gap:7px;min-height:80px}.race-rank{display:none}.race-identity strong{font-size:14px}.race-identity small{font-size:9px}.race-count strong{font-size:15px}.race-count small{font-size:8px}.race-marker{width:32px;height:32px}.race-track{margin:0 16px}.race-scale{margin-left:119px;margin-right:85px}.arena-metrics{grid-template-columns:repeat(2,1fr)}.arena-metrics>div{padding:15px 16px;border-bottom:1px solid var(--line)}.arena-metrics strong{font-size:20px}.vault-leader{gap:12px}.vault-leader p{margin:0;width:100%}.arena-activity{padding:18px 16px}.activity-heading{gap:10px}.activity-heading small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.competition-arena *{animation:none!important;transition:none!important}}

/* Compact two-column proposal files, with allocation attached to each thesis. */
.ballot-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}.ballot-section-heading h2{font-size:28px;font-weight:400;letter-spacing:-.04em;margin-top:8px}#allocation-summary{font:11px ui-monospace,monospace;color:var(--soft);text-align:right}
#ballot-choices.code-ballots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.code-ballot{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line-2);border-radius:10px;overflow:hidden;background:#fafaf7;transition:border-color .2s,background .2s}.code-ballot.selected{border-color:var(--red);background:#fbf9f4}.code-file{padding:10px 16px;border-bottom:1px solid var(--line);font:11px ui-monospace,monospace}.code-file>div{display:flex;align-items:center;gap:8px}.code-file img{width:25px;height:25px;border-radius:50%;object-fit:cover;filter:grayscale(1);mix-blend-mode:multiply}.code-file strong{font-weight:500}.code-file span{color:var(--faint);margin-left:auto}.ballot-code{min-width:0;padding:12px 16px;flex:1;font:11px/1.6 ui-monospace,monospace}.ballot-code h3{font:inherit;color:var(--ink);margin:0 0 10px}.ballot-code h3>span{color:var(--faint)}.ballot-code-line{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;position:relative;margin:6px 0}.line-number{color:var(--faint);font-size:9px;padding-top:2px;user-select:none}.ballot-code code{font:inherit;color:var(--soft);overflow-wrap:anywhere}.code-key{color:var(--red-ink)}.code-execution{margin:10px 0 0 26px;padding-top:8px;border-top:1px dashed var(--line-2)}.code-execution summary{display:flex;justify-content:space-between;cursor:pointer;list-style:none;color:var(--soft)}.code-execution summary::-webkit-details-marker{display:none}.code-execution summary span{color:var(--red-ink)}.code-execution[open] summary span{transform:rotate(45deg)}.code-execution ol{padding-left:17px;margin:10px 0}.code-execution li{margin:6px 0;color:var(--soft)}.code-execution pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;margin:10px 0}.code-execution button{min-height:30px;font:10px ui-monospace,monospace;text-decoration:underline;text-underline-offset:3px}.code-execution summary:focus-visible,.code-execution button:focus-visible,.card-connect:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.allocation-control{min-width:0;padding:12px 16px;border-top:1px solid var(--line)}.allocation-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}#ballot-choices.code-ballots .allocation-heading label{display:block;padding:0;border:0;background:none;font:10px ui-monospace,monospace;color:var(--soft)}.allocation-heading output{font:22px/1 ui-monospace,monospace;letter-spacing:-.05em}.allocation-heading output span{font-size:11px;letter-spacing:0;color:var(--soft);margin-left:3px}.code-ballot.selected .allocation-heading output{color:var(--red-ink)}
#ballot-choices.code-ballots input[type=range]{display:block;appearance:none;width:100%;height:28px;padding:0;margin:3px 0;border:0;border-radius:0;background:transparent;cursor:pointer;accent-color:var(--red);--track:linear-gradient(to right,var(--red) 0 var(--allocation,0%),#a5a59c var(--allocation,0%) var(--available,100%),#e1e1d9 var(--available,100%) 100%)}#ballot-choices.code-ballots input[type=range]::-webkit-slider-runnable-track{height:3px;border-radius:0;background:var(--track)}#ballot-choices.code-ballots input[type=range]::-webkit-slider-thumb{appearance:none;margin-top:-7px;width:12px;height:17px;border-radius:0;background:var(--ink);border:3px solid #fafaf7;box-shadow:0 0 0 1px var(--ink)}#ballot-choices.code-ballots input[type=range]::-moz-range-thumb{width:6px;height:11px;border-radius:0;background:var(--ink);border:3px solid #fafaf7;box-shadow:0 0 0 1px var(--ink)}#ballot-choices.code-ballots input[type=range]::-moz-range-track{height:3px;background:var(--track)}#ballot-choices.code-ballots input[type=range]::-moz-range-progress{background:transparent}#ballot-choices.code-ballots input[type=range]:focus-visible{outline:2px solid var(--red);outline-offset:2px}#ballot-choices.code-ballots input[type=range]:disabled{opacity:.35;cursor:not-allowed}.allocation-meta,.allocation-shortcuts{display:flex;align-items:center;justify-content:space-between;gap:8px;font:9px/1.5 ui-monospace,monospace;color:var(--soft)}.allocation-meta>span:last-child{text-align:right}.allocation-shortcuts{margin-top:4px}.allocation-shortcuts button{font:inherit;min-height:28px;text-decoration:underline;text-underline-offset:3px}.allocation-shortcuts button:not(:disabled):hover{color:var(--red-ink)}.allocation-shortcuts button:disabled{opacity:.35;cursor:not-allowed}.card-connect{width:100%;min-height:32px;margin-top:7px;padding:6px 12px;border:1px solid var(--line-2);font:11px ui-monospace,monospace;text-align:center;transition:border-color .2s,color .2s}.card-connect:hover{border-color:var(--red);color:var(--red-ink)}.card-connect:disabled{opacity:.5;cursor:wait}.allocation-control [hidden]{display:none!important}
.ballot-actions{position:sticky;bottom:16px;z-index:8;display:flex;align-items:center;gap:16px;padding:12px 16px;background:#fafaf7f5;backdrop-filter:blur(12px);border:1px solid var(--line-2);box-shadow:0 6px 30px #15151408}.ballot-actions #ballot-total{margin:0 auto 0 0;font:12px ui-monospace,monospace}.ballot-actions .btn{min-height:40px;padding:10px 18px;font-size:12px}.ballot-actions #ballot-reset{padding:10px 6px}#ballot-feedback:not(:empty){margin-top:12px}#ballot-state{font-size:12px;color:var(--soft)}
.code-ballot.code-visible .ballot-code-line{animation:code-load .85s steps(14,end) var(--file-delay) both}.code-ballot.code-visible .code-key{animation:code-flicker 13s var(--flicker-delay) infinite}.ballot-code-line:after{content:'';position:absolute;right:0;bottom:3px;width:4px;height:8px;background:var(--red);opacity:.6;animation:code-cursor 3s steps(1,end) infinite;pointer-events:none}@keyframes code-load{from{clip-path:inset(0 100% 0 0);opacity:.4}to{clip-path:inset(0);opacity:1}}@keyframes code-flicker{0%,90%,94%,100%{opacity:1}91%,93%{opacity:.45}92%{opacity:.8}}@keyframes code-cursor{0%,55%{opacity:.5}56%,100%{opacity:0}}
@media(max-width:700px){#ballot-choices.code-ballots{grid-template-columns:1fr;gap:12px}.ballot-section-heading{display:block}.ballot-section-heading h2{font-size:25px}#allocation-summary{display:block;text-align:left;margin-top:10px}.ballot-code{font-size:11px}.card-connect{min-height:40px}.allocation-shortcuts button{min-height:36px}.ballot-actions{bottom:8px;gap:8px;padding:10px;flex-wrap:wrap}.ballot-actions #ballot-total{width:100%;font-size:11px}.ballot-actions #ballot-submit{flex:1}.ballot-actions #ballot-reset{min-width:52px}}
@media(prefers-reduced-motion:reduce){.code-ballot,.card-connect{transition:none}.code-ballot.code-visible .ballot-code-line,.code-ballot.code-visible .code-key,.ballot-code-line:after{animation:none}.ballot-code-line:after{display:none}}

/* Full proposal uses the same animated code file as the allocation cards. */
.proposal-code-sheet .sheet-h{border-bottom:1px solid var(--line);padding:16px 20px}.proposal-code-sheet .sheet-h h3{font:13px ui-monospace,monospace;letter-spacing:0}.proposal-code-sheet .sheet-b{padding:16px 16px 24px}.proposal-detail .ballot-code{padding:16px;font-size:12px;line-height:1.7}.proposal-detail .ballot-code h3{font-size:13px;margin-bottom:16px}.proposal-detail .ballot-code-line{margin:10px 0;gap:10px}.proposal-detail .ballot-code code{white-space:pre-wrap}.proposal-execution{border-top:1px dashed var(--line-2);padding-top:6px;margin-top:16px}.proposal-detail-action{padding:14px 16px;border-top:1px solid var(--line)}.proposal-detail-action .btn{width:100%;min-height:42px;font-size:12px}.proposal-detail .ballot-code-line:after{width:3px;height:7px}.proposal-detail .code-file{padding:12px 16px}
@media(max-width:540px){.proposal-code-sheet .sheet-b{padding:12px}.proposal-detail .ballot-code{font-size:11px;padding:12px}.proposal-detail .ballot-code-line{gap:6px}.proposal-detail-action{padding:12px}}

/* Wallet allocation summary sits directly between the chamber and proposals. */
#main>.vote-power-compact{margin-top:28px;padding:22px 0;border-top:0;gap:24px}#main>.vote-power-compact dl{gap:40px;align-items:flex-start}.vote-power-compact .wallet-power-primary dd{font-size:30px}.vote-power-compact dt{font:10px/1.5 ui-monospace,monospace}.vote-power-compact dd{font-variant-numeric:tabular-nums}.vote-power-compact #vp-allocated-percent{font-size:30px;color:var(--soft)}.vote-power-compact #vp-current-detail{font:10px/1.5 ui-monospace,monospace;color:var(--soft);max-width:300px}.vote-power-compact+ #ballot-panel{padding-top:30px}
@media(max-width:700px){#main>.vote-power-compact{margin-top:12px;padding:20px 0;gap:18px}#main>.vote-power-compact dl{width:100%;justify-content:space-between;gap:20px}.vote-power-compact .wallet-power-primary dd,.vote-power-compact #vp-allocated-percent{font-size:26px}.vote-power-compact .vote-power-actions{width:100%;gap:14px}.vote-power-compact .vote-power-actions>span{display:inline;margin-right:auto}.vote-power-compact #vote-connect{order:0}.vote-power-compact dt{font-size:9px}}

/* Same stable-width decoding glyphs and irregular bursts as the landing page. */
#round-title .code-letter{position:relative;transition:opacity .08s linear}
#round-title .code-letter.decoding{color:transparent!important}
#round-title .code-letter.decoding:after{content:attr(data-glyph);position:absolute;left:0;top:0;color:#ff7957;font-family:ui-monospace,monospace;font-size:.85em}
@media(prefers-reduced-motion:reduce){#round-title .code-letter{transition:none}}

/* Never expose portraits or the treasury label before their first projected position. */
.scene-agent:not([data-positioned="true"]){visibility:hidden;pointer-events:none}
#sculpture:not([data-rendered="true"])~.treasury-readout{visibility:hidden}
