:root{--ink:#15181b;--muted:#687077;--line:#15181b1a;--surface:#ffffffe0;--mint:#12d6a0;--mint-dark:#00a97b;--coral:#ff4e45;--orange:#ff8b48;--violet:#6557ff;--yellow:#ffe95c;--shadow:0 24px 70px #14231e1a;color:var(--ink);font-synthesis:none;background:#f7faf8;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 12% 8%,#4defc426,#0000 24rem),radial-gradient(circle at 88% 14%,#ff7e5e1f,#0000 26rem),#f7faf8;min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input{font:inherit}button{color:inherit}.page-glow{z-index:-1;filter:blur(60px);opacity:.25;pointer-events:none;border-radius:999px;width:420px;height:420px;position:fixed}.page-glow--mint{background:#48e0b7;top:35%;left:-240px}.page-glow--orange{background:#ff9a73;top:58%;right:-260px}.site-header{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);justify-content:space-between;align-items:center;width:min(1180px,100% - 40px);min-height:78px;margin:0 auto;padding:10px 0;display:flex;position:sticky;top:0}.brand{color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand__mark{border-radius:14px;width:44px;height:44px;display:block;overflow:hidden;box-shadow:0 10px 24px #12d6a047}.brand__mark svg,.brand__mark img{width:100%;height:100%;display:block}.brand__copy{flex-direction:column;line-height:1.15;display:flex}.brand__copy strong{font-size:16px}.brand__copy small{color:#8c9498;letter-spacing:.15em;margin-top:4px;font-size:9px;font-weight:700}.ghost-button{color:#38403e;cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffb8;border:1px solid #15181b1a;border-radius:999px;align-items:center;gap:8px;min-height:42px;padding:0 18px;font-weight:700;display:inline-flex}.ghost-button__dot{background:var(--mint);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #12d6a021}main,footer{width:min(1180px,100% - 40px);margin-inline:auto}.hero{min-height:630px;box-shadow:var(--shadow);background:linear-gradient(135deg,#e7fff6f5,#fffffff5 45%,#ffefe6eb);border:1px solid #ffffffe6;border-radius:42px;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);padding:78px 70px 64px;display:grid;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.hero:before{border:58px solid #12d6a014;width:230px;height:230px;top:-90px;left:42%}.hero:after{background:#ff624814;width:260px;height:260px;bottom:-100px;right:-70px}.hero__copy{z-index:2;flex-direction:column;justify-content:center;max-width:560px;display:flex;position:relative}.eyebrow{color:#5b6561;align-self:flex-start;align-items:center;gap:10px;margin-bottom:22px;font-size:13px;font-weight:750;display:inline-flex}.eyebrow span{color:#0b7f5e;letter-spacing:.12em;background:#bff8e7;border-radius:999px;padding:5px 10px;font-size:10px}.hero h1{letter-spacing:-.055em;margin:0;font-size:clamp(46px,5.4vw,76px);line-height:1.05}.hero h1 em{color:var(--ink);font-style:normal;position:relative}.hero h1 em:after{background:linear-gradient(90deg, var(--mint), #82e28a);content:"";border-radius:999px 40px;height:10px;position:absolute;bottom:-9px;left:0;right:-4px;transform:rotate(-1.4deg)}.hero__copy>p{color:#59615f;max-width:490px;margin:34px 0 32px;font-size:16px;line-height:1.9}.hero__meta{gap:34px;display:flex}.hero__meta div{flex-direction:column;display:flex}.hero__meta strong{font-size:25px;line-height:1}.hero__meta span{color:#8b9390;margin-top:8px;font-size:12px}.hero__visual{z-index:2;min-height:480px;position:relative}.hero__scroll-cue{z-index:4;color:#15181b8a;letter-spacing:.08em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff80;border:1px solid #ffffffb3;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:min(280px,100% - 32px);min-height:96px;padding:16px 24px 12px;font-size:16px;font-weight:750;text-decoration:none;display:inline-flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #202d2814}.hero__scroll-cue:hover{color:#15181bc7;background:#ffffffb8}.hero__scroll-cue:focus-visible{outline-offset:3px;outline:3px solid #12d6a05c}.hero__scroll-cue svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:28px;height:28px;animation:1.7s ease-in-out infinite scroll-cue-float}@keyframes scroll-cue-float{0%,to{transform:translateY(-1px)}50%{transform:translateY(3px)}}.hero-card{background:#fff;border:10px solid #fffffff0;border-radius:36px;width:230px;height:500px;position:absolute;overflow:hidden;box-shadow:0 35px 75px #2a383133}.hero-card img{object-fit:cover;object-position:top center;width:100%;height:100%}.hero-card--back{top:0;right:12px;transform:rotate(7deg)scale(.9)}.hero-card--front{bottom:-30px;right:155px;transform:rotate(-7deg)}.hero-badge{color:#fff;text-align:center;border:5px solid #ffffffeb;border-radius:24px;place-items:center;width:78px;height:78px;font-size:13px;font-weight:900;line-height:1.1;display:grid;position:absolute;box-shadow:0 18px 40px #22262329}.hero-badge--top{background:linear-gradient(145deg, var(--coral), var(--orange));top:35px;right:210px;transform:rotate(-9deg)}.hero-badge--bottom{background:linear-gradient(145deg, var(--violet), #8f69ff);bottom:10px;right:32px;transform:rotate(8deg)}.notice{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffc7;border:1px solid #12d6a038;border-radius:20px;align-items:center;gap:16px;margin:24px 0 70px;padding:18px 22px;display:flex}.notice__icon{color:#fff;background:var(--mint);border-radius:12px;flex:0 0 38px;place-items:center;height:38px;font-weight:900;display:grid}.notice strong{font-size:14px}.notice p{color:var(--muted);margin:4px 0 0;font-size:12px}.notice.is-voted{border-color:#6557ff33}.notice.is-voted .notice__icon{background:var(--violet)}.vote-section{margin-bottom:88px;scroll-margin-top:100px}.section-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px;display:flex}.step-chip{color:#047f5b;letter-spacing:.14em;background:#c9f9e9;border-radius:999px;margin-bottom:12px;padding:7px 11px;font-size:10px;font-weight:900;display:inline-flex}.step-chip--coral{color:#b92623;background:#ffe0dc}.step-chip--violet{color:#5142d8;background:#e8e4ff}.step-chip--dark{color:#fff;background:#242827}.section-heading h2{letter-spacing:-.04em;margin:0;font-size:clamp(29px,3vw,42px)}.section-heading p{color:var(--muted);margin:10px 0 0;font-size:14px}.selection-pill{color:#7c8581;border:1px solid var(--line);background:#ffffffd9;border-radius:999px;flex:none;padding:9px 14px;font-size:12px;font-weight:700}.selection-pill.is-selected{color:#087a5a;background:#d4faed;border-color:#12d6a04d}.selection-pill.is-voted{color:#fff;background:var(--mint-dark);border-color:var(--mint-dark);box-shadow:0 8px 20px #00a97b33}.icon-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;display:grid}.candidate-card{text-align:left;cursor:pointer;-webkit-appearance:none;appearance:none;background:#ffffffdb;border:1px solid #15181b14;border-radius:24px;min-width:0;transition:transform .18s,border-color .18s,box-shadow .18s;position:relative;overflow:hidden}.candidate-card:hover{border-color:#12d6a085;transform:translateY(-4px);box-shadow:0 18px 38px #22332d1a}.candidate-card:focus-visible{outline-offset:3px;outline:3px solid #12d6a05c}.candidate-card.is-selected{border-color:var(--mint);background:#f5fffb;box-shadow:0 16px 34px #12d6a029}.candidate-card.is-vote-locked{cursor:default}.candidate-card.is-vote-locked:hover{transform:none}.candidate-card.is-voted-choice{border-color:var(--mint-dark);background:linear-gradient(145deg,#f2fff9,#e8fff5);box-shadow:0 0 0 3px #12d6a02e,0 18px 38px #00a97b2e}.icon-card{background:#eef0ef}.candidate-card__choice-badge{z-index:3;color:#fff;letter-spacing:.04em;background:var(--mint-dark);border:2px solid #ffffffeb;border-radius:999px;align-items:center;min-height:28px;padding:0 11px;font-size:11px;font-weight:850;display:inline-flex;position:absolute;top:12px;left:12px;box-shadow:0 8px 20px #007e5b3d}.candidate-card__check{z-index:2;color:#fff;opacity:0;background:#14181738;border:2px solid #fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:13px;font-weight:900;transition:all .18s;display:grid;position:absolute;top:12px;right:12px;transform:scale(.8)}.candidate-card.is-selected .candidate-card__check{background:var(--mint);opacity:1;transform:scale(1)}.icon-card__image{aspect-ratio:1;background:0 0;border-radius:0;place-items:center;margin:10px;display:grid;overflow:visible}.icon-card__image svg,.icon-card__image img{object-fit:contain;width:100%;height:100%;display:block}.candidate-card__copy{padding:4px 16px 17px}.candidate-card__copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;display:block;overflow:hidden}.candidate-card__copy small{color:#8a918f;min-height:34px;margin-top:6px;font-size:11px;line-height:1.55;display:block}.ui-filter{gap:8px;margin:-6px 0 22px;display:flex}.filter-button{color:#737b78;border:1px solid var(--line);cursor:pointer;background:#ffffffbd;border-radius:999px;padding:9px 15px;font-size:12px;font-weight:700}.filter-button.is-active{color:#fff;background:#242827;border-color:#242827}.ui-grid{grid-template-columns:repeat(auto-fill,minmax(178px,1fr));align-items:start;gap:14px;display:grid}.ui-card{--ui-image-height:250px;border-radius:22px;padding:8px}.ui-card__select{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:block}.ui-card__select:focus-visible{outline-offset:2px;border-radius:20px;outline:3px solid #12d6a05c}.ui-card__select:disabled{cursor:not-allowed}.ui-card[hidden]{display:none}.ui-card__image{height:var(--ui-image-height);background:#edf1ef;border-radius:16px;display:block;position:relative;overflow:hidden}.ui-card__image img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .32s}.ui-card:hover .ui-card__image img{transform:scale(1.025)}.ui-card__preview{top:calc(8px + var(--ui-image-height) - 36px);z-index:3;color:#fff;cursor:zoom-in;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#121615a8;border:0;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:700;position:absolute;right:14px}.ui-card .candidate-card__copy{padding:10px 6px 7px}.loading-card{color:#87908c;background:#ffffffb8;border:1px dashed #15181b26;border-radius:24px;grid-column:1/-1;place-items:center;min-height:180px;display:grid}.submit-bar{z-index:15;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#181c1bed;border:1px solid #ffffff1f;border-radius:24px;justify-content:space-between;align-items:center;gap:20px;margin:-34px 0 90px;padding:14px 15px 14px 22px;display:flex;position:sticky;bottom:18px;box-shadow:0 25px 55px #1116143d}.submit-bar__summary{color:#fff;flex-direction:column;display:flex}.submit-bar__summary span{color:#ffffff8c;font-size:11px}.submit-bar__summary strong{margin-top:4px;font-size:14px}.submit-button{color:#073f30;cursor:pointer;background:linear-gradient(100deg,#57efc0,#9bec78);border:0;border-radius:16px;justify-content:space-between;align-items:center;gap:28px;min-width:220px;min-height:54px;padding:0 20px;font-weight:850;display:inline-flex;box-shadow:0 12px 30px #43e3b23b}.submit-button b{font-size:22px}.submit-button:disabled{color:#ffffff73;box-shadow:none;cursor:not-allowed;background:#4a504e}.results-section{box-shadow:var(--shadow);background:linear-gradient(145deg,#fffffff2,#edfdf6f0);border:1px solid #ffffffe6;border-radius:34px;margin:0 0 90px;padding:42px;scroll-margin-top:100px}.results-section[hidden]{display:none}.result-total{font-size:14px}.result-total span{color:var(--mint-dark);font-size:30px}.result-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.result-panel{background:#fff;border:1px solid #15181b12;border-radius:24px;padding:24px}.result-panel h3{margin:0 0 22px;font-size:17px}.result-row{grid-template-columns:minmax(90px,1fr) 2fr 56px;align-items:center;gap:12px;margin-top:16px;display:grid}.result-row__name{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:750;overflow:hidden}.result-row__track{background:#edf1ef;border-radius:999px;height:8px;overflow:hidden}.result-row__bar{background:linear-gradient(90deg, var(--mint), #8fe275);border-radius:inherit;width:0;height:100%;transition:width .6s}.result-panel:nth-child(2) .result-row__bar{background:linear-gradient(90deg, var(--coral), var(--orange))}@media (max-width:1080px){.result-columns{grid-template-columns:1fr 1fr}}.result-row__count{color:#6f7774;text-align:right;font-size:11px}footer{color:#929a97;border-top:1px solid var(--line);justify-content:space-between;padding:30px 0 50px;font-size:11px;display:flex}.preview-dialog{background:#fff;border:0;border-radius:28px;width:min(520px,100% - 28px);max-height:92vh;padding:14px;overflow:hidden;box-shadow:0 40px 90px #0a14104d}.preview-dialog::backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0b100ead}.preview-dialog>img{object-fit:contain;background:#eef2f0;border-radius:18px;width:100%;max-height:75vh;display:block}.preview-dialog__close{z-index:2;color:#fff;cursor:pointer;background:#111614ad;border:1px solid #ffffff3d;border-radius:50%;place-items:center;width:36px;height:36px;font-size:22px;line-height:1;display:grid;position:absolute;top:24px;right:24px}.preview-dialog__caption{justify-content:space-between;align-items:center;padding:16px 6px 4px;display:flex}.preview-dialog__caption span{color:#929a97;font-size:11px}.toast{z-index:50;color:#fff;opacity:0;pointer-events:none;background:#212624;border-radius:14px;max-width:min(380px,100% - 44px);padding:14px 18px;font-size:13px;font-weight:700;transition:all .2s;position:fixed;bottom:22px;right:22px;transform:translateY(14px);box-shadow:0 18px 42px #11161440}.toast.is-visible{opacity:1;transform:translateY(0)}.toast.is-error{background:#bf332f}@media (max-width:1000px){.hero{grid-template-columns:1fr 360px;padding:60px 46px}.hero__visual{transform-origin:100%;transform:scale(.85)}.icon-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:760px){.site-header,main,footer{width:min(100% - 24px,1180px)}.brand__copy small{display:none}.ghost-button{min-height:38px;padding:0 13px;font-size:12px}.hero{border-radius:30px;min-height:auto;padding:48px 26px 380px;display:block}.hero h1{font-size:clamp(42px,13vw,64px)}.hero__copy>p{font-size:14px}.hero__meta{gap:20px}.hero__visual{transform-origin:bottom;min-height:420px;position:absolute;bottom:-74px;left:0;right:0;transform:scale(.74)}.hero-card--front{right:50%;transform:translate(12%)rotate(-7deg)}.hero-card--back{right:50%;transform:translate(82%)rotate(7deg)scale(.9)}.hero-badge--top{right:calc(50% + 100px)}.hero-badge--bottom{bottom:60px;right:calc(50% - 230px)}.notice{margin-bottom:56px}.section-heading{align-items:flex-start}.section-heading p{max-width:290px;line-height:1.7}.icon-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ui-card{--ui-image-height:230px;border-radius:20px;padding:7px}.ui-card__preview{top:calc(7px + var(--ui-image-height) - 36px)}.result-columns{grid-template-columns:1fr}.result-panel:first-child{grid-column:auto}.results-section{border-radius:26px;padding:26px 18px}footer{flex-direction:column;gap:8px}}@media (max-width:480px){.site-header{min-height:68px}.brand__mark{border-radius:12px;width:38px;height:38px}.brand__copy strong{font-size:14px}.hero{padding-top:38px}.hero__meta strong{font-size:21px}.selection-pill{display:none}.ui-grid{grid-template-columns:1fr 1fr;gap:10px}.ui-card{--ui-image-height:190px}.ui-card .candidate-card__copy small{min-height:30px;font-size:10px}.submit-bar{margin-inline:0;padding-left:15px;bottom:10px;left:12px;right:12px}.submit-button{min-width:0;min-height:50px;padding:0 15px}.submit-button b{display:none}.submit-bar__summary strong{text-overflow:ellipsis;white-space:nowrap;max-width:130px;overflow:hidden}.preview-dialog__caption span{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.hero__scroll-cue svg{animation:none}}
