:root{--forest:#1f4e3d;--forest-deep:#0f2e25;--forest-soft:#1f4e3d9e;--forest-tint:#1f4e3d12;--forest-line:#1f4e3d33;--sand:#f2ebd8;--sand-soft:#e8e0cc;--sand-light:#fbf7ec;--yellow:#ffc107;--yellow-soft:#ffc1073d;--red:#b93d32;--font-body:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-display:"IBM Plex Sans Condensed", "IBM Plex Sans", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;color:var(--forest);background:var(--sand);font-family:var(--font-body)}*{box-sizing:border-box}html,body{overflow-x:clip}body{min-width:320px;min-height:100vh;color:var(--forest);background:linear-gradient(90deg, #1f4e3d09 1px, transparent 1px), linear-gradient(var(--sand), var(--sand));font-feature-settings:"kern" 1, "liga" 1, "lnum" 1;text-rendering:optimizelegibility;background-size:34px 34px,auto;margin:0}button,input,textarea,select{font:inherit}a{color:inherit}.brand-mark{color:var(--forest);align-items:center;gap:10px;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark__name{font-family:var(--font-display);letter-spacing:0;font-size:clamp(1.25rem,2vw,1.55rem)}.brand-mark__label{border:1px solid var(--forest-line);font-family:var(--font-mono);text-transform:uppercase;border-radius:999px;padding:3px 9px 4px;font-size:.72rem}.button{border:1px solid var(--forest-line);min-height:42px;color:var(--forest);cursor:pointer;background:#ffffff47;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-weight:700;text-decoration:none;transition:transform .16s,background .16s,border-color .16s;display:inline-flex}.button:hover:not(:disabled){border-color:var(--forest);transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.55}.button--primary{border-color:var(--forest);background:var(--forest);color:var(--sand)}.button--ghost{background:0 0}.button--danger{color:var(--red);border-color:#b93d3257}.admin-shell,.home-page{width:min(1180px,100vw - 32px);margin:0 auto;padding:28px 0 56px}.admin-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:30px;display:flex}.home-page{align-content:center;gap:48px;min-height:100vh;display:grid}.home-page section,.admin-hero,.console-panel,.mobile-panel,.state-block{border:1px solid var(--forest-line);background:#fbf7ecc7;border-radius:8px;box-shadow:0 18px 60px #0f2e2514}.home-page section{max-width:780px;padding:clamp(26px,5vw,58px)}.home-page h1,.admin-hero h1,.console-panel h1,.console-panel h2,.state-block h1,.mobile-panel h1,.stage-page h1{font-family:var(--font-display);letter-spacing:0;margin:0;line-height:.96}.home-page h1,.admin-hero h1{max-width:780px;font-size:clamp(3rem,7vw,6.8rem)}.home-page p,.admin-hero p,.state-block p{max-width:680px;color:var(--forest-soft);font-size:1.08rem;line-height:1.55}.eyebrow,.stage-eyebrow{color:var(--forest-soft);font-family:var(--font-mono);text-transform:uppercase;margin:0 0 10px;font-size:.78rem;font-weight:700}.admin-hero{grid-template-columns:minmax(0,1fr) 360px;align-items:end;gap:24px;margin-bottom:28px;padding:clamp(22px,4vw,38px);display:grid}.create-session,.poll-form{gap:14px;display:grid}label{color:var(--forest-soft);gap:7px;font-size:.9rem;font-weight:700;display:grid}input,textarea,select{border:1px solid var(--forest-line);background:var(--sand-light);width:100%;color:var(--forest);border-radius:6px;outline:none;padding:12px 13px}textarea{resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--forest);box-shadow:0 0 0 3px #1f4e3d1f}.session-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.session-card{border:1px solid var(--forest-line);background:#fbf7ecc7;border-radius:8px;gap:18px;min-height:210px;padding:20px;text-decoration:none;transition:transform .16s,border-color .16s;display:grid}.session-card:hover{border-color:var(--forest);transform:translateY(-2px)}.session-card__top,.poll-card__head,.stage-page__top{justify-content:space-between;align-items:center;gap:14px;display:flex}.session-card__top span,.session-code,.poll-number{font-family:var(--font-mono);font-weight:700}.session-card__top strong{color:var(--forest-soft);font-size:.86rem}.session-card h2,.poll-card h2{font-family:var(--font-display);margin:0;font-size:2rem;line-height:1}.session-card dl,.compact-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.session-card div,.compact-stats div{min-width:0}dt{color:var(--forest-soft);font-size:.78rem;font-weight:700}dd{margin:2px 0 0;font-weight:800}.console-layout{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:20px;display:grid}.console-panel{padding:20px}.console-panel--sticky{gap:20px;display:grid;position:sticky;top:20px}.console-panel h1{font-size:2.4rem}.console-panel h2{font-size:1.8rem}.session-code{border:2px solid var(--forest);background:var(--yellow);width:fit-content;color:var(--forest-deep);border-radius:6px;padding:8px 12px;font-size:1.5rem;display:inline-flex}.url-list,.button-stack,.console-main,.poll-list,.poll-card,.poll-actions{gap:12px;display:grid}.url-row{border-bottom:1px solid var(--forest-line);grid-template-columns:78px minmax(0,1fr) 34px;align-items:center;gap:10px;padding-bottom:8px;font-size:.82rem;display:grid}.url-row>span{gap:2px;min-width:0;display:grid}.url-row strong{color:var(--forest)}.url-row small{color:var(--forest-soft);font-size:.7rem;font-weight:700}.url-row code{color:var(--forest-soft);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.url-row button{border:1px solid var(--forest-line);width:32px;height:32px;color:var(--forest);cursor:pointer;background:0 0;border-radius:6px;place-items:center;display:grid}.form-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:14px;display:grid}.template-loader{gap:16px}.template-loader__controls{align-items:end}.template-loader__description{color:var(--forest-soft);margin:0;line-height:1.45}.template-preview{border-top:1px solid var(--forest-line);gap:7px;padding-top:12px;display:grid}.template-preview span{color:var(--forest);font-family:var(--font-mono);font-weight:800}.template-preview small{color:var(--forest-soft);font-size:.82rem;font-weight:700;line-height:1.35}.check-row{align-items:center;gap:9px;min-height:45px;display:flex}.check-row input{width:auto}.poll-card__head{align-items:start}.poll-card__meta{flex-wrap:wrap;gap:8px;display:flex}.poll-card__meta span,.status-pill{border:1px solid var(--forest-line);color:var(--forest-soft);border-radius:999px;padding:5px 9px;font-size:.8rem;font-weight:700}.status-pill--open{background:var(--yellow-soft);color:var(--forest-deep)}.status-pill--revealed{background:var(--forest);color:var(--sand)}.poll-actions{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.state-block{text-align:center;place-items:center;min-height:220px;padding:28px;display:grid}.state-block h1{font-size:clamp(2rem,5vw,4rem)}.error-box{color:var(--red);background:#b93d3214;border:1px solid #b93d3257;border-radius:6px;margin-bottom:14px;padding:12px 14px;font-weight:700}.text-link{font-weight:800;text-decoration:none}.mobile-page{background:var(--sand);min-height:100vh;padding:18px}.mobile-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.mobile-header>span{font-family:var(--font-mono);font-weight:800}.mobile-panel{gap:18px;padding:22px;display:grid}.mobile-panel h1{font-size:clamp(2.4rem,12vw,4.4rem)}.answer-list{gap:11px;display:grid}.answer-button{border:2px solid var(--forest-line);background:var(--sand-light);min-height:58px;color:var(--forest);cursor:pointer;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;padding:14px 15px;font-weight:800;display:flex}.answer-button--selected{border-color:var(--forest);background:var(--yellow)}.answer-button:disabled{cursor:not-allowed;opacity:.72}.mobile-hint{color:var(--forest-soft);align-items:center;gap:8px;margin:0;font-weight:700;display:flex}.mobile-control-stack,.text-response,.scale-input,.traffic-input{gap:14px;display:grid}.mobile-submit,.mobile-secondary{border:1px solid var(--forest);background:var(--forest);min-height:52px;color:var(--sand);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 14px;font-weight:800;display:inline-flex}.mobile-secondary{border-color:var(--forest-line);color:var(--forest);background:0 0}.mobile-submit:disabled,.mobile-secondary:disabled{cursor:not-allowed;opacity:.55}.mobile-action-row{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px;display:grid}.ranking-list{gap:10px;display:grid}.ranking-list strong{color:var(--forest-deep);font-family:var(--font-mono)}.scale-input{border:1px solid var(--forest-line);background:var(--sand-light);border-radius:8px;padding:16px}.scale-input__value{color:var(--forest-deep);font-family:var(--font-display);text-align:center;font-size:clamp(3rem,18vw,5.4rem);font-weight:800;line-height:.9}.scale-input input[type=range]{accent-color:var(--forest);padding-inline:0}.scale-input__labels{color:var(--forest-soft);justify-content:space-between;font-weight:800;display:flex}.traffic-input__term{border:1px solid var(--forest-line);background:var(--sand-light);border-radius:8px;gap:6px;padding:16px;display:grid}.traffic-input__term span{color:var(--forest-soft);font-family:var(--font-mono);font-weight:800}.traffic-input__term strong{font-family:var(--font-display);font-size:clamp(2.4rem,12vw,4.2rem);line-height:.95}.traffic-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.traffic-button{border:2px solid var(--forest-line);min-height:76px;color:var(--forest-deep);cursor:pointer;border-radius:8px;font-weight:900}.traffic-button--green{background:#8fbc8f}.traffic-button--yellow{background:var(--yellow)}.traffic-button--red{background:#d66a5f}.radar-input{border:2px solid var(--forest);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));min-height:280px;display:grid;overflow:hidden}.radar-cell{border:1px solid var(--forest-line);background:var(--sand-light);color:var(--forest);cursor:pointer;font-weight:900}.radar-cell--selected{background:var(--yellow)}.text-response textarea{min-height:132px}.spin{animation:.9s linear infinite spin}.stage-page{background:var(--forest);min-height:100svh;color:var(--sand);grid-template-rows:auto 1fr;padding:clamp(22px,3.2vw,44px) clamp(28px,5vw,72px);display:grid;position:relative;overflow:hidden}.stage-page:after{content:"";aspect-ratio:1;background:var(--yellow);width:clamp(54px,6vw,96px);position:absolute;bottom:clamp(22px,4vw,56px);right:clamp(22px,4vw,56px)}.stage-page__grid{opacity:.56;background-color:#0000;background-image:linear-gradient(90deg,#f2ebd80d 1px,#0000 1px),linear-gradient(#f2ebd809 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:42px 42px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.stage-page__top{z-index:1;color:var(--sand);align-self:start;position:relative}.stage-page__top .brand-mark{color:var(--sand)}.stage-page__top span{color:#f2ebd8b8;font-family:var(--font-mono);font-weight:800}.stage-page__content{z-index:1;align-content:center;align-self:stretch;gap:clamp(14px,2.4vh,26px);width:min(1120px,100%);min-width:0;max-width:calc(100vw - clamp(56px,10vw,144px));padding-left:clamp(12px,2vw,30px);display:grid;position:relative}.stage-page__ruler{z-index:1;transform-origin:top;background:var(--yellow);width:4px;position:absolute;top:clamp(88px,12vh,132px);bottom:clamp(22px,3.2vw,44px);left:clamp(28px,5vw,72px)}.stage-page__stamp{z-index:1;color:#f2ebd814;font-family:var(--font-display);pointer-events:none;font-size:clamp(4.5rem,12vw,12rem);font-weight:700;line-height:.8;position:absolute;bottom:clamp(32px,5vw,72px);right:clamp(28px,5vw,72px)}.stage-eyebrow{color:#f2ebd8ad}.stage-page h1{max-width:14ch;color:var(--sand);overflow-wrap:anywhere;font-size:clamp(3rem,6.8vw,7rem)}.stage-page--results .stage-page__content{gap:clamp(12px,2vh,22px);width:min(1080px,100%)}.stage-page--results h1{max-width:18ch;font-size:clamp(2.4rem,4.8vw,5.5rem)}.stage-page--results .stage-page__stamp{color:#f2ebd80e}.stage-lead{color:#f2ebd8c7;max-width:860px;margin:0;font-size:clamp(1.3rem,2vw,2.2rem);line-height:1.35}.stage-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,1.8vw,18px);width:min(980px,100%);display:grid}.stage-option{background:#f2ebd814;border:1px solid #f2ebd847;border-radius:8px;grid-template-columns:clamp(42px,4.4vw,52px) minmax(0,1fr);align-items:center;gap:clamp(10px,1.6vw,14px);padding:clamp(14px,2vw,22px);display:grid;position:relative;overflow:hidden}.stage-option:after{content:"";background:var(--yellow);height:4px;animation:.82s cubic-bezier(.22,.61,.36,1) forwards stageOptionLine;position:absolute;inset:auto 0 0;transform:translate(-100%)}.stage-option span{background:var(--yellow);width:clamp(42px,4.4vw,52px);height:clamp(42px,4.4vw,52px);color:var(--forest-deep);font-family:var(--font-mono);border-radius:6px;place-items:center;font-weight:900;display:grid}.stage-option strong{overflow-wrap:anywhere;min-width:0;font-size:clamp(1.2rem,2.2vw,2.35rem);line-height:1.05}.stage-footerline{color:#f2ebd8c7;align-items:center;gap:8px;width:fit-content;font-weight:800;display:inline-flex}.stage-traffic-preview,.ranking-results,.traffic-results,.text-wall{gap:clamp(10px,1.7vw,16px);width:min(980px,100%);display:grid}.stage-traffic-preview>div,.ranking-results>div,.text-wall article{background:#f2ebd814;border:1px solid #f2ebd847;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(10px,1.6vw,18px);padding:clamp(14px,2vw,22px);display:grid}.stage-traffic-preview span,.ranking-results span{color:var(--yellow);font-family:var(--font-mono);font-weight:900}.stage-traffic-preview strong,.ranking-results strong{overflow-wrap:anywhere;min-width:0;font-size:clamp(1.35rem,2.4vw,2.5rem);line-height:1.05}.ranking-results small{color:#f2ebd8b3;font-family:var(--font-mono);font-weight:800}.stage-scale-preview,.scale-results{gap:clamp(12px,2vw,20px);width:min(980px,100%);display:grid}.stage-scale-preview{color:#f2ebd8bd;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;font-weight:900}.stage-scale-preview i,.scale-results__track{background:#f2ebd82b;border-radius:999px;height:clamp(22px,3.5vh,34px);position:relative}.stage-scale-preview i:after{content:"";border-radius:inherit;background:var(--yellow);position:absolute;inset:0 42%}.scale-results__number{color:var(--yellow);font-family:var(--font-display);font-size:clamp(5rem,13vw,13rem);font-weight:800;line-height:.8}.scale-results__track i{aspect-ratio:1;border:5px solid var(--forest);background:var(--yellow);border-radius:999px;width:clamp(26px,3vw,42px);position:absolute;top:50%;transform:translate(-50%,-50%)}.scale-results__labels{color:#f2ebd8b8;justify-content:space-between;font-weight:900;display:flex}.scale-buckets{align-items:end;gap:8px;min-height:clamp(96px,15vh,150px);display:flex}.scale-buckets span{background:var(--yellow);min-height:8px;color:var(--forest-deep);font-family:var(--font-mono);border-radius:5px 5px 0 0;flex:1;place-items:end center;padding:6px 4px;font-size:.72rem;font-weight:900;display:grid}.traffic-result-row{grid-template-columns:minmax(120px,.32fr) minmax(0,1fr);align-items:center;gap:14px;display:grid}.traffic-result-row strong{font-size:clamp(1.1rem,2vw,2rem)}.traffic-result-row__bars{background:#f2ebd81f;border-radius:8px;min-height:clamp(34px,5vh,52px);display:flex;overflow:hidden}.traffic-segment{min-width:0;color:var(--forest-deep);font-family:var(--font-mono);place-items:center;font-weight:900;display:grid}.traffic-segment--green{background:#8fbc8f}.traffic-segment--yellow{background:var(--yellow)}.traffic-segment--red{background:#d66a5f}.risk-radar{aspect-ratio:1;background:linear-gradient(90deg,#0000 calc(50% - 1px),#f2ebd86b 50%,#0000 calc(50% + 1px)),linear-gradient(0deg,#0000 calc(50% - 1px),#f2ebd86b 50%,#0000 calc(50% + 1px)),#f2ebd812;border:2px solid #f2ebd894;border-radius:8px;width:min(720px,78vh,100%);position:relative}.risk-radar__label{color:#f2ebd8c2;font-family:var(--font-mono);text-transform:uppercase;font-size:.82rem;font-weight:900;position:absolute}.risk-radar__label--top{top:10px;left:50%;transform:translate(-50%)}.risk-radar__label--bottom{bottom:10px;left:50%;transform:translate(-50%)}.risk-radar__label--left{top:50%;left:10px;transform:translateY(-50%)}.risk-radar__label--right{top:50%;right:10px;transform:translateY(-50%)}.risk-point{aspect-ratio:1;border:2px solid var(--forest);background:var(--yellow);border-radius:999px;width:clamp(16px,2.3vw,28px);position:absolute;transform:translate(-50%,50%)}.word-cloud{flex-wrap:wrap;align-items:center;gap:clamp(8px,1.6vw,18px);width:min(980px,100%);display:flex}.word-cloud span{color:var(--sand);font-family:var(--font-display);background:#f2ebd814;border:1px solid #f2ebd83d;border-radius:8px;padding:.18em .34em;font-weight:800;line-height:.92;display:inline-flex}.text-wall{grid-template-columns:repeat(2,minmax(0,1fr))}.text-wall article{color:var(--sand);grid-template-columns:1fr;font-size:clamp(1.1rem,2vw,2rem);font-weight:800;line-height:1.18}.text-wall--confession article{background:#ffc1071f;border-color:#ffc10766}.stage-empty-visual{width:min(720px,100%);min-height:clamp(180px,28vh,280px);color:var(--yellow);font-family:var(--font-display);background:#f2ebd814;border:1px solid #f2ebd847;border-radius:8px;place-items:center;font-size:clamp(3rem,8vw,7rem);font-weight:800;display:grid}.qr-embed{background:var(--sand);min-height:100vh;color:var(--forest);text-align:center;place-items:center;gap:18px;padding:24px;display:grid}.qr-embed__frame{border:2px solid var(--forest);background:var(--sand-light);border-radius:8px;padding:20px}.qr-embed p{color:var(--forest-soft);margin:0 0 8px;font-weight:800}.qr-embed strong{font-family:var(--font-mono);font-size:clamp(2.4rem,10vw,5rem)}.result-bars{gap:12px;display:grid}.result-bars--large{gap:clamp(12px,2vh,20px);width:min(1020px,100%)}.result-row{gap:7px;display:grid}.result-row__meta,.result-row__count{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.result-row__meta span{overflow-wrap:anywhere;align-items:baseline;gap:10px;min-width:0;font-weight:900;display:inline-flex}.result-row__meta i{background:var(--yellow);width:1.7em;height:1.7em;color:var(--forest-deep);font-family:var(--font-mono);border-radius:5px;flex:none;place-items:center;font-size:.52em;font-style:normal;line-height:1;display:inline-grid}.result-row__meta strong{font-family:var(--font-mono)}.result-row__track{background:var(--forest-tint);border-radius:999px;height:16px;overflow:hidden}.stage-page .result-row__track{background:#f2ebd82e;height:clamp(18px,3.1vh,28px)}.result-row__bar{border-radius:inherit;background:var(--yellow);width:0;height:100%}.result-row__count{color:var(--forest-soft);font-size:.86rem;font-weight:700}.stage-page .result-row__meta{color:var(--sand);font-size:clamp(1.25rem,2.4vw,2.35rem)}.stage-page .result-row__count{color:#f2ebd8b8;font-size:clamp(.88rem,1.1vw,1.15rem)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes stageOptionLine{to{transform:translate(0)}}@media (aspect-ratio>=16/9) and (height<=780px){.stage-page{padding-block:clamp(18px,3vh,30px)}.stage-page__content{gap:clamp(10px,2vh,18px)}.stage-page h1{font-size:clamp(2.6rem,6vw,5.8rem)}.stage-page--results h1{font-size:clamp(2.1rem,4.2vw,4.4rem)}.stage-page .result-row{gap:5px}.stage-page .result-row__track{height:clamp(16px,3vh,24px)}.stage-page__stamp{font-size:clamp(4rem,10vw,9rem)}}@media (width<=860px){.admin-hero,.console-layout,.form-row,.stage-options{grid-template-columns:1fr}.console-panel--sticky{position:static}.admin-header{flex-direction:column;align-items:flex-start}.stage-page__stamp{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}
