.cheer-page{color:var(--text-primary);font-family:var(--font-sans);overflow:hidden}.cheer-hero{z-index:0;border-bottom:1px solid var(--border);background:radial-gradient(circle at 82% 10%, var(--accent-soft), transparent 34%);grid-template-columns:minmax(16rem,1fr) minmax(0,46rem) auto;align-items:end;gap:1.1rem;min-height:25rem;padding:clamp(3.5rem,8vw,6.5rem) clamp(1.25rem,4vw,3rem) clamp(3rem,6vw,5rem);display:grid;position:relative}.cheer-hero>div:first-child,.hero-leaders{z-index:1;position:relative}.kicker{color:var(--accent);letter-spacing:.14em;align-items:center;gap:.5rem;font-size:.7rem;font-weight:800;display:flex}.kicker i{border-radius:var(--radius-pill);background:var(--accent);width:.45rem;height:.45rem;display:inline-block}.cheer-hero h1{letter-spacing:-.065em;max-width:10ch;margin-top:1rem;font-size:clamp(2.2rem,5.4vw,4.8rem);font-weight:800;line-height:1.08}.cheer-hero h1 em,.section-head h2 span{color:var(--accent);font-style:normal}.cheer-hero h1 em{padding-bottom:.05em;display:inline-block}.cheer-hero h1+p{color:var(--text-secondary);margin-top:1.35rem;font-size:clamp(.92rem,1.5vw,1.05rem);line-height:1.7}.hero-leaders{border:1px solid var(--border-strong);border-radius:var(--radius-card);background:var(--bg-elevated);width:min(18rem,30vw);padding:1.15rem}.hero-leaders .kicker{font-size:.62rem}.hero-leaders h2{letter-spacing:-.04em;margin-top:.6rem;font-size:1.15rem;font-weight:800}.hero-leaders__list{flex-direction:column;margin-top:.75rem;display:flex}.hero-leaders__list p{border-bottom:1px solid var(--border);grid-template-columns:1.25rem 1.7rem minmax(0,1fr) auto;align-items:center;gap:.45rem;padding:.45rem 0;display:grid}.hero-leaders__list p:first-child>b,.hero-leaders__list p:first-child>span{color:var(--debut-gold)}.hero-leaders__list p>b{color:var(--text-tertiary);font-size:.68rem}.hero-leaders__list p>i{border-radius:var(--radius-pill);background:var(--accent-soft);width:1.7rem;height:1.7rem;color:var(--accent-pink);place-items:center;font-size:.7rem;font-style:normal;font-weight:800;display:grid}.hero-leaders__list p>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.76rem;overflow:hidden}.hero-leaders__list p>span{color:var(--text-secondary);text-align:right;white-space:nowrap;font-size:.68rem}.hero-leaders__list small{color:var(--text-tertiary);letter-spacing:.06em;font-size:.5rem;font-weight:700}.orbit-lines-clip{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.orbit-lines{border:1px solid var(--border);border-radius:var(--radius-pill);width:88rem;height:88rem;box-shadow:0 0 0 3.5rem var(--bg), 0 0 0 calc(3.5rem + 1px) var(--border), 0 0 0 8rem var(--bg), 0 0 0 calc(8rem + 1px) var(--border);opacity:.75;position:absolute;top:-18rem;right:-13rem}.cheer-wrap{width:min(1200px,100%);margin:0 auto;padding:clamp(3rem,7vw,5.5rem) clamp(1.25rem,4vw,3rem) clamp(4rem,8vw,6rem)}.cheer-notice{color:var(--text-secondary);margin:-.45rem 0 1.25rem;font-size:.88rem}.cheer-picker{border:1px solid var(--border-strong);border-radius:var(--radius-card);background:var(--bg-elevated);flex-direction:column;min-height:306px;padding:1.4rem 1.5rem;display:flex;position:relative;left:-150px}.cheer-picker__top,.cheer-picker__footer,.cheer-picker__identity,.cheer-picker__panel-header{align-items:center;display:flex}.cheer-picker__top,.cheer-picker__footer{justify-content:space-between;gap:.6rem}.cheer-picker__identity{gap:.55rem;min-width:0}.cheer-picker__identity>p{color:var(--text-secondary);letter-spacing:-.02em;font-size:1.05rem;font-weight:700}.cheer-picker__logo,.cheer-picker__option-logo{background:var(--group-accent);color:var(--bg);flex:none;place-items:center;font-weight:900;display:grid;overflow:hidden}.cheer-picker__logo{border-radius:.85rem;width:2.9rem;height:2.9rem;font-size:1.05rem}.cheer-picker__logo img,.cheer-picker__option-logo img{object-fit:contain;background:var(--text-primary);width:100%;height:100%;padding:.3rem}.cheer-picker__name{flex-direction:column;gap:.1rem;min-width:0;display:flex}.cheer-picker__name strong{text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;overflow:hidden}.cheer-picker__name small,.cheer-picker__count small{color:var(--text-tertiary);font-size:.72rem}.cheer-picker__menu{flex:none}.cheer-picker__toggle,.cheer-picker__close,.cheer-picker__option{border:1px solid var(--border);color:var(--text-primary);cursor:pointer;font-family:inherit;font-weight:800}.cheer-picker__toggle{border-radius:var(--radius-pill);background:var(--bg-elevated-2);min-width:6.4rem;padding:.6rem .95rem;font-size:.76rem;transition:transform .2s,opacity .2s}.cheer-picker__toggle:hover{border-color:var(--border-strong);background:var(--accent-soft);transform:translateY(-1px)}.cheer-picker__toggle:focus-visible,.cheer-picker__close:focus-visible,.cheer-picker__option:focus-visible,.cheer-picker__send:focus-visible,.cheer-picker__message:focus-visible{outline:2px solid var(--accent-pink);outline-offset:3px}.cheer-picker__toggle:active,.cheer-picker__close:active,.cheer-picker__option:active,.cheer-picker__send:active{transform:translateY(0)scale(.98)}.cheer-picker__panel{z-index:2;border:1px solid var(--border-strong);border-radius:var(--radius-card);background:var(--bg-elevated);box-shadow:0 0 0 .35rem var(--bg-elevated-2);opacity:0;pointer-events:none;padding:1rem;transition:transform .22s,opacity .22s;position:absolute;top:calc(100% + .5rem);left:0;right:0;transform:translateY(-.35rem)}.cheer-picker.is-open .cheer-picker__toggle{opacity:0;pointer-events:none;transform:scale(.92)}.cheer-picker.is-open .cheer-picker__panel{opacity:1;pointer-events:auto;transform:translateY(0)}.cheer-picker__panel-header{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding-bottom:.85rem}.cheer-picker__panel-header strong{font-size:.92rem}.cheer-picker__close{border-radius:var(--radius-pill);background:var(--bg-elevated-2);flex:none;place-items:center;width:2rem;height:2rem;font-size:1.35rem;line-height:1;transition:transform .2s,opacity .2s;display:grid}.cheer-picker__close:hover{border-color:var(--border-strong);background:var(--accent-soft);transform:scale(1.06)}.cheer-picker__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;max-height:19rem;margin-top:.85rem;padding-right:.2rem;display:grid;overflow-y:auto}.cheer-picker__option{background:var(--bg-elevated-2);text-align:left;border-radius:.8rem;align-items:center;gap:.5rem;min-width:0;padding:.65rem;font-size:.76rem;transition:transform .2s,opacity .2s;display:flex}.cheer-picker__option:hover{border-color:var(--border-strong);background:var(--accent-soft);transform:translateY(-1px)}.cheer-picker__option.is-selected{border-color:var(--accent);background:var(--accent-soft)}.cheer-picker__option-logo{border-radius:var(--radius-pill);width:1.85rem;height:1.85rem;font-size:.72rem}.cheer-picker__option>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cheer-picker__message{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text-primary);font:inherit;border-radius:.9rem;outline:none;flex:auto;margin-top:.9rem;padding:.9rem 1.2rem 6rem;font-size:1.05rem;transition:border-color .2s,box-shadow .2s}.cheer-picker__message::placeholder{color:var(--text-tertiary)}.cheer-picker__message:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.cheer-picker__footer{margin-top:auto;padding-top:1rem}.cheer-picker__count{min-width:0;color:var(--text-tertiary);flex-direction:column;gap:.05rem;font-size:.78rem;display:flex}.cheer-picker__count b{color:var(--accent-pink);letter-spacing:-.03em;font-size:1.35rem;line-height:1}.send-cheer.cheer-picker__send{width:auto;min-width:7.6rem;margin:0;padding:.75rem 1.1rem;font-size:.85rem;transition:transform .2s,opacity .2s}.send-cheer.cheer-picker__send:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-2px)}.send-cheer.cheer-picker__send:disabled{cursor:not-allowed;opacity:.55}.cheer-picker .cheer-notice{margin:.6rem 0 0;font-size:.72rem}.section-head{justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1.5rem;display:flex}.section-head h2{letter-spacing:-.04em;margin-top:.65rem;font-size:clamp(1.5rem,2.5vw,2.1rem);font-weight:800}.section-head>p{color:var(--text-secondary);font-size:.87rem;line-height:1.6}.section-head>p b{color:var(--accent-pink)}.project-grid,.vote-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1.1rem;display:grid}.gauge-card,.billboard,.vote-grid aside{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--bg-elevated)}.gauge-card{flex-direction:column;padding:clamp(1.4rem,3vw,2rem);display:flex}.group-mark{align-items:center;gap:.65rem;display:flex}.group-mark strong{background:var(--accent);width:2.25rem;height:2.25rem;color:var(--bg);border-radius:.75rem;place-items:center;font-size:1.15rem;font-weight:900;display:grid}.group-mark span,.gauge-number>span,.caption,.billboard header,.billboard footer,.options button span small,.options button span em,.vote-grid aside>small{color:var(--text-tertiary);letter-spacing:.09em;font-size:.68rem;font-style:normal;font-weight:700}.gauge-number{margin:clamp(2.3rem,6vw,4.25rem) 0 1.4rem}.gauge-number p{color:var(--text-secondary);font-size:.82rem}.gauge-number>strong{letter-spacing:-.08em;margin:.2rem 0 .4rem;font-size:clamp(3.4rem,6vw,5rem);line-height:.92;display:block}.gauge-number>strong small{color:var(--accent);letter-spacing:-.04em;font-size:.43em}.meter{border-radius:var(--radius-pill);background:var(--bg-elevated-2);height:.45rem;margin-top:auto;position:relative}.meter i{border-radius:inherit;background:var(--accent);transition:width .3s;position:absolute;inset:0 auto 0 0}.meter b{color:var(--accent-pink);font-size:1.35rem;line-height:1;transition:left .3s;position:absolute;top:50%;transform:translate(-50%,-50%)}.meter-meta{color:var(--text-tertiary);justify-content:space-between;gap:1rem;margin-top:.8rem;font-size:.73rem;display:flex}.meter-meta b{color:var(--text-secondary)}.send-cheer,.vote-grid aside button{border-radius:var(--radius-pill);background:var(--accent);color:var(--bg);cursor:pointer;border:0;font-family:inherit;font-weight:800;transition:transform .2s,filter .2s,background .2s}.send-cheer{width:100%;margin-top:1.5rem;padding:.9rem 1rem;font-size:.92rem}.send-cheer:hover,.vote-grid aside button:hover{filter:brightness(1.08);transform:translateY(-2px)}.send-cheer:active,.vote-grid aside button:active,.options button:active{transform:translateY(0)}.send-cheer.done{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent-pink)}.caption{letter-spacing:0;margin-top:.85rem;display:block}.billboard{background:radial-gradient(circle at 85% 18%, var(--accent-soft), transparent 35%), var(--bg-elevated-2);flex-direction:column;justify-content:space-between;min-height:26rem;padding:clamp(1.4rem,3vw,2rem);display:flex;position:relative;overflow:hidden}.billboard:after{border:1px solid var(--border-strong);border-radius:var(--radius-pill);width:22rem;height:22rem;box-shadow:0 0 0 3rem var(--bg-elevated-2), 0 0 0 calc(3rem + 1px) var(--border);content:"";position:absolute;bottom:-7rem;right:-3rem}.billboard header,.billboard footer,.billboard>div{z-index:1;position:relative}.billboard header,.billboard footer{justify-content:space-between;gap:1rem;display:flex}.billboard header b,.billboard footer b{color:var(--accent);letter-spacing:.08em;font-size:.68rem}.billboard>div{max-width:24rem;margin:auto 0}.billboard>div p{color:var(--accent-pink);font-size:.8rem;font-weight:700}.billboard>div strong{letter-spacing:-.055em;margin:.7rem 0;font-size:clamp(1.65rem,3.2vw,3.1rem);line-height:1.3;display:block}.billboard>div span{color:var(--text-secondary);font-size:.82rem}.vote{margin-top:clamp(4.5rem,9vw,7rem)}.options{flex-direction:column;gap:.65rem;display:flex}.options button{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--bg-elevated);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:1rem 1.1rem;font-family:inherit;transition:border-color .2s,background .2s,transform .2s;display:grid}.options button:hover{border-color:var(--border-strong);background:var(--bg-elevated-2);transform:translateY(-1px)}.options button.selected{border-color:var(--accent);background:var(--accent-soft)}.options button>i{border:1px solid var(--border-strong);border-radius:var(--radius-pill);width:1rem;height:1rem}.options button.selected>i{border:.32rem solid var(--accent);background:var(--bg-elevated)}.options button>span{flex-direction:column;gap:.2rem;min-width:0;font-size:.92rem;font-weight:700;line-height:1.45;display:flex}.options button span small,.options button span em{letter-spacing:0}.options button>b{color:var(--accent-pink);white-space:nowrap;font-size:1rem}.options button>b small{color:var(--text-tertiary);margin-left:.18rem;font-size:.7em}.vote-grid aside{background:radial-gradient(circle at 100% 0%, var(--accent-soft), transparent 45%), var(--bg-elevated);flex-direction:column;min-height:100%;padding:clamp(1.4rem,3vw,2rem);display:flex}.vote-grid aside h3{letter-spacing:-.045em;margin-top:.7rem;font-size:clamp(1.45rem,2.3vw,1.9rem);line-height:1.3}.vote-grid textarea{resize:vertical;border:1px solid var(--border);background:var(--bg);width:100%;min-height:8rem;color:var(--text-primary);font:inherit;border-radius:.85rem;outline:none;margin-top:1.5rem;padding:.9rem;font-size:.88rem;line-height:1.55}.vote-grid textarea::placeholder{color:var(--text-tertiary)}.vote-grid textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.vote-grid aside>div{justify-content:space-between;align-items:center;gap:.85rem;margin-top:.7rem;display:flex}.vote-grid aside>div>span{color:var(--text-tertiary);font-size:.73rem}.vote-grid aside button{white-space:nowrap;padding:.68rem 1rem;font-size:.82rem}.vote-grid aside>small{letter-spacing:0;margin-top:auto;padding-top:1.25rem;line-height:1.5;display:block}.send-cheer:focus-visible,.vote-grid aside button:focus-visible,.options button:focus-visible{outline:2px solid var(--accent-pink);outline-offset:3px}.cheer-feed{border-top:1px solid var(--border);flex-direction:column;margin:0;padding:0;display:flex}.cheer-feed__row{border-bottom:1px solid var(--border);grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.9rem 0;list-style:none;animation:.35s both cheer-feed-in;display:grid}@keyframes cheer-feed-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.cheer-feed__logo{background:var(--group-accent);width:2rem;height:2rem;color:var(--bg);border-radius:.6rem;flex:none;place-items:center;font-size:.72rem;font-weight:900;display:grid;overflow:hidden}.cheer-feed__logo img{object-fit:contain;background:var(--text-primary);width:100%;height:100%;padding:.25rem}.cheer-feed__group{white-space:nowrap;font-size:.78rem;font-weight:800}.cheer-feed__author{color:var(--text-tertiary);white-space:nowrap;font-size:.7rem}.cheer-feed__message{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.85rem;overflow:hidden}.cheer-feed__time{color:var(--text-tertiary);white-space:nowrap;font-size:.68rem}.cheer-feed__empty{border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--text-secondary);text-align:center;padding:2rem 0;font-size:.88rem}@media (width<=720px){.cheer-hero{grid-template-columns:1fr;min-height:0}.hero-leaders{width:min(100%,23rem)}.orbit-lines{top:-15rem;right:-22rem}.section-head{flex-direction:column;align-items:flex-start;gap:.8rem}.project-grid,.vote-grid{grid-template-columns:1fr}.cheer-picker__grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:16rem}.cheer-feed__row{grid-template-columns:auto minmax(0,1fr)}.cheer-feed__author,.cheer-feed__time{display:none}.billboard{min-height:22rem}}@media (width<=420px){.cheer-hero h1{font-size:2.05rem}.options button{grid-template-columns:auto minmax(0,1fr)}.options button>b{grid-column:2}.billboard footer{flex-direction:column;align-items:flex-start;gap:.4rem}.cheer-picker__top{flex-wrap:wrap}.cheer-picker__grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:15rem}}@media (prefers-reduced-motion:reduce){.meter i,.meter b,.send-cheer,.vote-grid aside button,.options button,.cheer-picker__toggle,.cheer-picker__panel,.cheer-picker__close,.cheer-picker__option,.cheer-picker__send,.cheer-picker__message{transition:none}.cheer-feed__row{animation:none}}
