:root{color:#172033;background:#f7f8fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(135deg,rgba(20,184,166,.12),transparent 38%),linear-gradient(315deg,rgba(244,63,94,.1),transparent 34%),#f7f8fb}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed;opacity:.62}.app-shell{position:relative;isolation:isolate;min-height:100vh;overflow:hidden}.ambient{position:fixed;z-index:-1;border-radius:999px;filter:blur(18px);opacity:.35}.ambient-one{width:260px;height:260px;top:8%;right:-90px;background:#2dd4bf}.ambient-two{width:220px;height:220px;bottom:4%;left:-70px;background:#fb7185}.home-screen,.page-frame{width:min(1120px,calc(100% - 32px));margin:0 auto}.home-screen{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:32px 0}.brand-row,.top-bar,.section-heading,.poll-actions,.tabs,.inline-form,.table-option{display:flex;align-items:center}.brand-row{gap:10px;font-weight:900;font-size:1.15rem;margin-bottom:36px}.brand-mark{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:#fff;background:#172033}.home-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:48px;align-items:center}.home-copy h1,.builder-main h1,.poll-header h1,.empty-state h1{margin:0;line-height:1.04;letter-spacing:0}.home-copy h1{max-width:700px;font-size:clamp(3rem,8vw,6.7rem)}.builder-main h1,.poll-header h1,.empty-state h1{font-size:clamp(2rem,5vw,4rem)}.eyebrow{width:fit-content;margin:0 0 14px;padding:7px 11px;border-radius:999px;color:#0f766e;background:#14b8a621;font-weight:800;font-size:.86rem}.lead,.poll-header p,.muted{color:#5b6475}.lead{max-width:540px;margin:22px 0 30px;font-size:1.25rem;line-height:1.8}.primary-action,.secondary-action,.icon-button,.ghost-link,.tabs button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border-radius:8px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.primary-action{padding:0 22px;color:#fff;background:#172033;box-shadow:0 16px 35px #17203333;font-weight:900}.primary-action:hover:not(:disabled),.secondary-action:hover:not(:disabled),.icon-button:hover:not(:disabled),.ghost-link:hover:not(:disabled),.tabs button:hover{transform:translateY(-1px)}.secondary-action,.icon-button,.tabs button{color:#172033;background:#fff;border:1px solid #dfe4ee}.secondary-action{padding:0 16px;font-weight:800}.secondary-action.small{min-height:38px;padding:0 12px}.icon-button{width:44px;flex:0 0 44px}.ghost-link{color:#172033;background:transparent;padding:0;font-weight:900}.full{width:100%}.food-orbit{position:relative;width:min(100%,410px);aspect-ratio:1;margin-inline:auto;border-radius:24px;background:radial-gradient(circle at center,#ffffff 0 28%,transparent 29%),conic-gradient(from 35deg,#14b8a6,#f59e0b,#f43f5e,#38bdf8,#14b8a6);box-shadow:0 24px 80px #17203324}.food-orbit span{--angle: calc(var(--slot) * 45deg);position:absolute;top:50%;left:50%;width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:#fff;font-size:1.9rem;transform:rotate(var(--angle)) translate(150px) rotate(calc(var(--angle) * -1));box-shadow:0 10px 30px #17203324}.food-orbit strong{position:absolute;inset:0;display:grid;place-items:center;font-size:2.3rem}.page-frame{padding:24px 0 48px}.top-bar{justify-content:space-between;margin-bottom:28px}.builder-layout,.vote-layout,.results-layout{display:grid;gap:20px}.builder-layout{grid-template-columns:minmax(0,1fr) minmax(320px,390px);align-items:start}.builder-main,.settings-panel,.vote-panel,.add-option-panel,.results-table-panel,.voters-panel,.loading-panel,.empty-state{background:#ffffffe0;border:1px solid rgba(223,228,238,.9);border-radius:8px;box-shadow:0 20px 60px #17203314}.builder-main,.settings-panel,.vote-panel,.add-option-panel,.results-table-panel,.voters-panel,.loading-panel,.empty-state{padding:24px}.builder-main{min-height:520px}.field{display:grid;gap:8px;margin-top:18px;font-weight:800}.field span{font-size:.92rem}.field input,.field textarea,.inline-form input{width:100%;border:1px solid #d8deea;border-radius:8px;background:#fff;color:#172033;outline:none;padding:13px 14px;transition:border .16s ease,box-shadow .16s ease}.field textarea{resize:vertical}.field input:focus,.field textarea:focus,.inline-form input:focus{border-color:#14b8a6;box-shadow:0 0 0 4px #14b8a624}.vote-limits{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field.compact{margin-top:0}.section-heading{gap:8px;margin:24px 0 14px}.section-heading h2{margin:0;font-size:1.05rem}.option-chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid #dfe4ee;border-radius:999px;color:#172033;background:#fff;padding:8px 13px;font-weight:800}.chip.removable:hover{color:#be123c;border-color:#fda4af;background:#fff1f2}.inline-form{gap:8px;margin-top:14px}.error-message,.success-message{margin:16px 0;border-radius:8px;padding:12px 14px;font-weight:800}.error-message{color:#991b1b;background:#fee2e2}.success-message{color:#0f766e;background:#14b8a61f}.poll-frame{max-width:1180px}.poll-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:end;margin-bottom:18px}.poll-header p{margin:12px 0 0;line-height:1.7}.poll-actions{gap:8px}.tabs{width:fit-content;gap:8px;padding:6px;border:1px solid #dfe4ee;border-radius:8px;background:#fff;margin-bottom:18px}.tabs button{min-height:38px;padding:0 15px;box-shadow:none}.tabs button.active{color:#fff;background:#172033;border-color:#172033}.vote-layout{grid-template-columns:minmax(0,1fr) minmax(280px,330px);align-items:start}.vote-panel-head{display:grid;grid-template-columns:minmax(0,1fr) 128px;gap:16px;align-items:end}.selection-counter{min-height:50px;display:grid;place-items:center;border:1px solid #dfe4ee;border-radius:8px;color:#5b6475;background:#f8fafc;font-weight:800}.selection-counter span{color:#172033;font-size:1.25rem}.options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:20px 0}.option-card{position:relative;min-height:136px;display:grid;grid-template-rows:auto 1fr auto;gap:8px;border:1px solid #dfe4ee;border-radius:8px;padding:14px;background:#fff;transition:transform .16s ease,border .16s ease,box-shadow .16s ease}.option-card:hover{transform:translateY(-1px)}.option-card.selected{border-color:#14b8a6;box-shadow:0 0 0 4px #14b8a624}.option-card input{position:absolute;inset-inline-start:12px;top:12px;width:20px;height:20px;accent-color:#14b8a6}.option-face{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;background:#f1f5f9;font-size:1.6rem}.option-card strong{align-self:end;font-size:1.05rem}.option-card small{color:#5b6475;font-weight:800}.results-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start}.winner-panel{grid-column:1 / -1;display:grid;grid-template-columns:1.2fr 1fr;gap:14px}.winner-card{min-height:132px;display:grid;align-content:center;gap:8px;border-radius:8px;padding:22px;color:#fff}.winner-card.first{background:linear-gradient(135deg,#172033,#0f766e)}.winner-card.second{background:linear-gradient(135deg,#be123c,#f59e0b)}.winner-card span{opacity:.8;font-weight:800}.winner-card strong{font-size:clamp(1.45rem,4vw,2.4rem)}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.stat{border:1px solid #dfe4ee;border-radius:8px;padding:13px;background:#f8fafc}.stat span{display:block;color:#5b6475;font-size:.82rem;font-weight:800}.stat strong{display:block;margin-top:5px;font-size:1.35rem}.tie-box{display:flex;flex-wrap:wrap;align-items:center;gap:10px;border:1px solid #fde68a;border-radius:8px;padding:12px;margin-bottom:16px;background:#fffbeb}.tie-box p{margin:0;font-weight:800}.table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid #e8edf5;padding:13px 10px;text-align:right;vertical-align:top}th{color:#5b6475;font-size:.82rem}.table-option{gap:8px;font-weight:900}.voters-panel{align-self:stretch}.voter-list{display:grid;gap:10px}.voter-row{display:grid;gap:4px;border:1px solid #dfe4ee;border-radius:8px;padding:12px;background:#fff}.voter-row span{color:#5b6475;line-height:1.6}.loading-panel,.empty-state{min-height:300px;display:grid;place-items:center;text-align:center}.empty-state p{color:#5b6475}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:860px){.home-grid,.builder-layout,.vote-layout,.results-layout,.winner-panel,.poll-header{grid-template-columns:1fr}.home-screen{justify-content:flex-start}.food-orbit{width:min(100%,330px)}.food-orbit span{width:50px;height:50px;transform:rotate(var(--angle)) translate(118px) rotate(calc(var(--angle) * -1))}.poll-actions{justify-content:stretch}.poll-actions .secondary-action{flex:1}.tabs{width:100%}.tabs button{flex:1}}@media(max-width:560px){.home-screen,.page-frame{width:min(100% - 20px,1120px)}.home-copy h1,.builder-main h1,.poll-header h1,.empty-state h1{font-size:2.35rem}.lead{font-size:1.05rem}.builder-main,.settings-panel,.vote-panel,.add-option-panel,.results-table-panel,.voters-panel,.loading-panel,.empty-state{padding:18px}.vote-panel-head,.vote-limits,.stats-row,.options-grid{grid-template-columns:1fr}}
