:root{color:#26322c;font-synthesis:none;text-rendering:optimizelegibility;--canvas:#f7f1e6;--surface:#fffdf8;--ink:#26322c;--muted:#667066;--primary:#c54a32;--primary-strong:#9e3525;--olive:#64724c;--sea:#2f6f78;--border:#d7cebf;background:#f7f1e6;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px}body{background:radial-gradient(circle at 8% 3%, #c54a3214, transparent 25rem), radial-gradient(circle at 95% 30%, #2f6f7812, transparent 24rem), var(--canvas);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input,textarea,select{font:inherit}button,input,textarea{max-width:100%}button{color:inherit;touch-action:manipulation}.shell{width:100%;min-height:100vh;padding:16px}.shell--setup{justify-content:center;align-items:flex-start;display:flex}.shell--centered{flex-direction:column;justify-content:center;align-items:center;gap:28px;display:flex}.shell--centered>.loading{margin:0}.brand{color:var(--ink);align-items:center;gap:10px;display:inline-flex}.brand__mark{background:var(--primary);color:#fff;width:48px;height:48px;box-shadow:0 5px 0 var(--primary-strong);border-radius:50%;place-items:center;display:grid}.brand__mark svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4px;width:34px;height:34px}.brand__type{line-height:1;display:grid}.brand__type strong{letter-spacing:-.03em;font-family:Georgia,Iowan Old Style,Palatino,serif;font-size:1.35rem}.brand__type small{color:var(--primary-strong);letter-spacing:.16em;text-transform:uppercase;margin-top:3px;font-size:.62rem;font-weight:850}.brand--compact{gap:8px}.brand--compact .brand__mark{width:38px;height:38px;box-shadow:0 3px 0 var(--primary-strong)}.brand--compact .brand__mark svg{width:28px;height:28px}.brand--compact .brand__type strong{font-size:1.08rem}.brand--compact .brand__type small{font-size:.52rem}.access-card{background:var(--surface);text-align:center;border:1px solid #26322c1a;border-radius:26px;width:min(100%,430px);padding:28px 22px;box-shadow:0 20px 60px #55452c1f}.access-card .brand{margin-bottom:34px}.access-card__plate{border:1px solid var(--border);border-radius:50%;place-items:center;width:96px;height:96px;margin:0 auto 22px;display:grid;box-shadow:inset 0 0 0 12px #f4e4cf}.access-card__plate span{color:var(--primary-strong);font-family:Georgia,serif;font-size:2.4rem}.access-card h1{margin:8px 0 12px;font-family:Georgia,serif;font-size:2rem;line-height:1.05}.access-card p{color:var(--muted);margin:0;line-height:1.55}.access-card>.button{margin-top:18px}.setup-card{background:#fffdf8f2;border:1px solid #26322c1a;border-radius:24px;width:min(100%,720px);overflow:hidden;box-shadow:0 20px 60px #55452c1f}.loading{color:var(--muted);margin:30vh auto 0;font-weight:700}.page-header,.wizard-header{justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 20px 18px;display:flex}.page-header h1,.form-step h1{letter-spacing:-.045em;margin:6px 0 0;font-family:Georgia,Iowan Old Style,Palatino,serif;font-size:clamp(2rem,9vw,3.4rem);line-height:1}.page-header h1{overflow-wrap:anywhere}.eyebrow,.step-kicker{color:var(--primary-strong);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:800}.wizard-header{align-items:center;padding-bottom:12px}.back-link,.text-button{min-height:44px;color:var(--sea);cursor:pointer;background:0 0;border:0;padding:4px 0;font-weight:750}.back-link:disabled{visibility:hidden}.text-button--danger{color:var(--primary-strong)}.progress{background:#e8dfd1;height:4px}.progress span{background:var(--primary);height:100%;transition:width .18s;display:block}.form-step{padding:28px 20px 16px}.plate-mark{border:1px solid var(--border);width:54px;height:54px;color:var(--primary-strong);background:#f4e4cf;border-radius:50%;place-items:center;font-family:Georgia,serif;font-weight:700;display:grid}.lead{max-width:36rem;color:var(--muted);margin:16px 0 28px;font-size:1rem;line-height:1.55}.field{color:var(--ink);gap:7px;margin:0 0 18px;font-weight:750;display:grid}.field>span{font-size:.9rem}.field small{color:var(--muted);font-size:.78rem;font-weight:600;line-height:1.35}.field .field-error{color:var(--primary-strong)}input,textarea{border:1px solid var(--border);background:var(--surface);width:100%;min-height:50px;color:var(--ink);border-radius:12px;outline:none;padding:12px 13px;font-size:1rem;font-weight:550}textarea{resize:vertical;min-height:74px;line-height:1.4}input::placeholder{color:#8a9189}input:disabled,textarea:disabled{color:#687068;opacity:1;background:#f0ece3}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--sea);outline-offset:3px}.team-stack,.jury-stack,.category-editor{gap:16px;display:grid}.team-block,.category-block{border:1px solid var(--border);background:#fffaf1;border-radius:16px;min-width:0;margin:0;padding:18px 16px 4px}.team-block legend{color:var(--primary-strong);padding:0 8px;font-family:Georgia,serif;font-size:1.25rem;font-weight:700}.jury-editor{border-top:1px solid var(--border);margin-top:30px;padding-top:26px}.jury-editor h2{margin:5px 0 6px;font-family:Georgia,serif;font-size:1.55rem}.jury-editor>p{color:var(--muted);margin:0 0 16px;font-size:.84rem;line-height:1.5}.jury-block{background:#f5f5eb;border:1px solid #cbd2b9;border-radius:15px;margin:0;padding:15px}.jury-block legend{background:var(--olive);color:#fff;border-radius:999px;padding:4px 9px;font-size:.68rem;font-weight:850}.jury-block .text-button{margin-top:4px}.category-block{padding-top:24px;position:relative}.category-block legend{background:var(--olive);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;font-weight:800;display:grid}.button{cursor:pointer;border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;width:100%;min-height:52px;padding:12px 18px;font-weight:800;display:inline-flex}.button:disabled{cursor:wait;opacity:.65}.button--primary{background:var(--primary);color:#fff;box-shadow:0 4px 0 var(--primary-strong)}.button--primary:active{box-shadow:0 2px 0 var(--primary-strong);transform:translateY(2px)}.button--secondary{border-color:var(--sea);color:var(--sea);background:0 0;margin-top:16px}.wizard-actions{z-index:2;padding:14px 20px calc(16px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf8f0;border-top:1px solid #d7cebfb3;position:sticky;bottom:0}.category-toggle{border:1px solid var(--sea);width:100%;min-height:52px;color:var(--sea);cursor:pointer;background:0 0;border-radius:13px;justify-content:space-between;align-items:center;padding:12px 15px;font-weight:800;display:flex}.category-preview{flex-wrap:wrap;gap:8px;margin:16px 0 24px;padding:0;list-style:none;display:flex}.category-preview li{border:1px solid var(--border);background:#fffaf1;border-radius:999px;padding:8px 10px;font-size:.82rem;font-weight:700}.review-box{border-left:4px solid var(--olive);background:#eef0e5;border-radius:4px 12px 12px 4px;flex-direction:column;gap:4px;margin-top:22px;padding:16px;display:flex}.review-box span{color:var(--muted);font-size:.9rem}.banner{border-radius:12px;margin:12px 20px;padding:13px 15px;font-size:.9rem;font-weight:700;line-height:1.4}.banner--success{border-left:4px solid var(--olive);color:#3f5937;background:#e6ecde}.banner--error{border-left:4px solid var(--primary);color:#873523;background:#f7e3dc}.form-step>.banner{margin:0 0 18px}.state-pill{border:1px solid var(--border);color:var(--muted);background:#f4ecdf;border-radius:999px;flex:none;padding:8px 10px;font-size:.72rem;font-weight:850}.state-pill--running{color:var(--primary-strong);background:#f8dfd9;border-color:#e4b4aa}.state-pill--revealed{color:#425035;background:#e8ecdf;border-color:#bac2a7}.summary-section{border-top:1px solid #e8dfd1;padding:22px 20px}.summary-section h2{margin:5px 0 18px;font-family:Georgia,serif;font-size:1.55rem}.jury-summary{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.jury-summary li{color:var(--olive);background:#eef0e5;border-radius:999px;align-items:center;gap:7px;padding:9px 12px;display:flex}.jury-summary strong{color:var(--ink);font-size:.78rem}.dinner-list,.category-summary{margin:0;padding:0;list-style:none}.dinner-list{counter-reset:dinners;gap:12px;display:grid}.dinner-list li{border:1px solid var(--border);background:#fffaf1;border-radius:14px;gap:2px;padding:14px 14px 14px 48px;display:grid;position:relative}.dinner-list li:before{counter-increment:dinners;content:counter(dinners);background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:.75rem;font-weight:850;display:grid;position:absolute;top:16px;left:14px}.dinner-list span,.dinner-date{color:var(--muted);font-size:.84rem}.dinner-date{color:var(--primary-strong);font-weight:750}.category-summary{gap:8px;display:grid}.category-summary li{grid-template-columns:34px 1fr;align-items:center;gap:10px;padding:9px 0;display:grid}.category-summary>li>span{border:1px solid var(--border);width:32px;height:32px;color:var(--olive);border-radius:50%;place-items:center;font-weight:850;display:grid}.category-summary strong,.category-summary small{display:block}.category-summary small{color:var(--muted);margin-top:2px;line-height:1.35}.setup-card>.button{width:calc(100% - 40px);margin:8px 20px 24px}.locked-note{color:var(--muted);text-align:center;background:#eef0e5;border-radius:12px;margin:8px 20px 24px;padding:14px}.summary-actions{gap:10px;padding:8px 20px 24px;display:grid}.summary-actions .button--secondary{margin-top:0}.app-shell,.ballot-shell{width:min(100%,820px);min-height:100vh;margin:0 auto}.app-header,.ballot-topbar{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f7f1e6eb;border-bottom:1px solid #d7cebfb3;justify-content:space-between;align-items:center;gap:12px;min-height:68px;padding:12px 16px;display:flex;position:sticky;top:0}.app-header__actions{align-items:center;gap:8px;min-width:0;display:flex}.role-pill{color:#425035;text-transform:uppercase;background:#e8ecdf;border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:850}.identity-pill{border:1px solid var(--border);background:var(--surface);text-align:right;border-radius:12px;max-width:128px;padding:6px 10px;line-height:1.1;display:grid}.identity-pill strong,.identity-pill small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.identity-pill strong{font-size:.76rem}.identity-pill small{color:var(--muted);margin-top:3px;font-size:.66rem}.icon-button{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--sea);cursor:pointer;border-radius:50%;flex:none;place-items:center;font-size:1.15rem;font-weight:900;display:grid;transform:rotate(45deg)}.tab-nav{z-index:9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f7f1e6f0;border-bottom:1px solid #d7cebfb3;grid-template-columns:1fr 1.35fr .8fr;gap:4px;padding:8px 16px;display:grid;position:sticky;top:68px}.tab-nav button{min-width:0;min-height:42px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:7px 5px;font-size:.76rem;font-weight:800}.tab-nav button.is-active{background:var(--surface);color:var(--primary-strong);box-shadow:0 2px 8px #55452c14}.page-content{padding:26px 16px calc(40px + env(safe-area-inset-bottom))}.page-content>.banner,.ballot-banner{margin-left:0;margin-right:0}.hero-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.hero-heading h1,.captain-heading h1,.ballot-heading h1{overflow-wrap:anywhere;letter-spacing:-.05em;margin:6px 0 0;font-family:Georgia,Iowan Old Style,Palatino,serif;font-size:clamp(2.25rem,11vw,4rem);line-height:.96}.hero-heading--stacked{display:block}.hero-heading--stacked h1{margin-bottom:12px}.hero-heading--stacked p{max-width:32rem;color:var(--muted);margin:0;line-height:1.5}.timeline{gap:16px;display:grid;position:relative}.timeline:before{content:"";background:var(--border);width:2px;position:absolute;top:28px;bottom:28px;left:20px}.dinner-card{grid-template-columns:42px minmax(0,1fr);display:grid;position:relative}.timeline__number{z-index:1;border:5px solid var(--canvas);background:var(--olive);color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-size:.75rem;font-weight:900;display:grid}.dinner-card--open .timeline__number{background:var(--primary);box-shadow:0 0 0 4px #f1c5b7}.dinner-card--closed .timeline__number{background:#93a084}.dinner-card__body{border:1px solid var(--border);background:var(--surface);border-radius:18px;min-width:0;margin-left:10px;padding:18px 16px;box-shadow:0 8px 24px #55452c12}.dinner-card--open .dinner-card__body{border-color:#df9c8e;box-shadow:0 12px 30px #9e35251f}.dinner-card__header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.dinner-card__header time,.current-card time,.ballot-heading time,.captain-dinner time{color:var(--primary-strong);letter-spacing:.04em;text-transform:uppercase;font-size:.74rem;font-weight:850;display:block}.dinner-card__header h2{margin:4px 0 2px;font-family:Georgia,serif;font-size:1.45rem;line-height:1.05}.dinner-card__header p{color:var(--muted);margin:0;font-size:.82rem}.dinner-status{max-width:104px;color:var(--muted);text-align:center;background:#f0ece3;border-radius:999px;padding:6px 8px;font-size:.62rem;font-weight:850;line-height:1.1}.dinner-status--open{color:var(--primary-strong);background:#f8dfd9}.dinner-status--closed{color:#425035;background:#e8ecdf}.vote-meter{color:var(--muted);background:#f7f1e6;border-radius:12px;gap:8px;margin-top:18px;padding:12px;font-size:.76rem;display:grid}.vote-meter strong{color:var(--ink)}.vote-meter__track{background:#ded5c8;border-radius:999px;height:7px;overflow:hidden}.vote-meter__track>span{border-radius:inherit;background:var(--sea);height:100%;transition:width .18s;display:block}.participation{border-top:1px solid #ebe3d7;margin-top:10px}.participation summary{min-height:44px;color:var(--sea);cursor:pointer;padding:13px 0 7px;font-size:.78rem;font-weight:800}.participation ul{gap:7px;margin:4px 0 12px;padding:0;list-style:none;display:grid}.participation li{background:#fbf7ef;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.participation li>span:first-child{min-width:0;display:grid}.participation li strong,.participation li small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.participation li strong{font-size:.76rem}.participation li small{color:var(--muted);font-size:.66rem}.participation__state{color:var(--muted);flex:none;font-size:.65rem;font-weight:850}.participation__state--submitted{color:#3f6b43}.participation__state--pending{color:var(--primary-strong)}.dinner-card__actions{margin-top:12px}.dinner-card__actions .button--ghost{margin-top:0}.button-row{gap:8px;display:grid}.button--ghost{border-color:var(--border);color:var(--sea);background:0 0}.button--danger{background:var(--primary-strong);color:#fff}.button--small{border-radius:11px;width:auto;min-height:44px;padding:8px 12px}.confirmation{background:#f9e7e1;border:1px solid #e4a99c;border-radius:13px;margin-top:14px;padding:14px}.confirmation>strong{color:var(--primary-strong)}.confirmation p{color:#6d453b;margin:6px 0 14px;font-size:.8rem;line-height:1.45}.privacy-note{background:#eef0e5;border:1px solid #cbd2b9;border-radius:14px;gap:12px;margin-bottom:18px;padding:14px;display:flex}.privacy-note>span{color:var(--olive)}.privacy-note p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.45}.privacy-note strong{color:var(--ink)}.captain-links{gap:10px;margin:0;padding:0;list-style:none;display:grid}.captain-links li{border:1px solid var(--border);background:var(--surface);border-radius:15px;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:10px;padding:13px;display:grid}.captain-links__number{width:32px;height:32px;color:var(--primary-strong);background:#f4e4cf;border-radius:50%;place-items:center;font-size:.72rem;font-weight:900;display:grid}.captain-links__number--jury{color:var(--olive);background:#e8ecdf}.captain-links__identity{align-self:center;min-width:0;line-height:1.2;display:grid}.captain-links__identity strong,.captain-links__identity small{overflow-wrap:anywhere}.captain-links__identity strong{font-size:.94rem}.captain-links__identity small{color:var(--muted);margin-top:3px;font-size:.75rem}.captain-links__actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.captain-links .button{overflow-wrap:anywhere;width:100%;margin-top:0}.qr-dialog{background:var(--surface);width:min(92vw,390px);max-height:min(92vh,680px);color:var(--ink);border:0;border-radius:24px;padding:0;overflow:auto;box-shadow:0 24px 70px #141c1857}.qr-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#26322c9e}.qr-dialog__content{text-align:center;padding:28px 22px 24px;position:relative}.qr-dialog__close{font-size:1.4rem;position:absolute;top:10px;right:10px}.qr-dialog h2{overflow-wrap:anywhere;margin:6px 0 2px;font-family:Georgia,serif;font-size:2rem;line-height:1}.qr-dialog__role{color:var(--muted);margin:0;font-size:.82rem}.qr-dialog__code{border:1px solid var(--border);background:#fffdf8;border-radius:18px;place-items:center;width:min(100%,278px);margin:20px auto 16px;padding:10px;display:grid}.qr-dialog__code svg{width:100%;height:auto;display:block}.qr-dialog__content>p:not(.qr-dialog__role){max-width:19rem;color:var(--muted);margin:0 auto;font-size:.82rem;line-height:1.45}.qr-dialog__content>small{color:var(--primary-strong);margin-top:14px;font-size:.68rem;line-height:1.45;display:block}.qr-dialog__error{background:#f9e7e1;border-radius:14px;margin:20px 0 14px;padding:16px}.qr-dialog__error p{color:var(--primary-strong);margin:0 0 12px;font-size:.8rem;line-height:1.45}.loading--inline{text-align:center;margin:60px auto}.captain-heading{margin-bottom:20px}.captain-heading h1{margin-bottom:10px}.captain-heading p{color:var(--muted);margin:0}.captain-heading p strong{color:var(--ink)}.current-card{border:1px solid var(--border);background:var(--surface);border-radius:22px;padding:22px 20px;position:relative;overflow:hidden;box-shadow:0 12px 34px #55452c1a}.current-card--open{background:linear-gradient(145deg,#fff9ef,#f8dfd9);border-color:#df9c8e}.current-card__sun{border:18px solid #c54a3214;border-radius:50%;width:132px;height:132px;position:absolute;top:-44px;right:-34px}.current-card h2{max-width:85%;margin:6px 0 10px;font-family:Georgia,serif;font-size:1.9rem;line-height:1;position:relative}.current-card p{max-width:33rem;color:var(--muted);margin:0;font-size:.88rem;line-height:1.5;position:relative}.current-card .button{margin-top:18px;position:relative}.captain-progress{border:1px solid var(--border);background:var(--surface);border-radius:18px;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:16px 18px;display:flex}.captain-progress h2{margin:4px 0 0;font-family:Georgia,serif;font-size:1.25rem}.progress-ring{--progress:0deg;background:radial-gradient(circle closest-side, var(--surface) 74%, transparent 76%), conic-gradient(var(--sea) var(--progress), #ded5c8 0);border-radius:50%;flex:none;justify-content:center;align-items:baseline;width:64px;height:64px;padding-top:20px;display:flex}.progress-ring strong{font-size:1.05rem}.progress-ring small{color:var(--muted);font-size:.68rem}.captain-timeline{margin-top:30px}.captain-timeline>h2{margin:5px 0 16px;font-family:Georgia,serif;font-size:1.6rem}.captain-timeline ol{gap:2px;margin:0;padding:0;list-style:none;display:grid;position:relative}.captain-timeline ol:before{content:"";background:var(--border);width:2px;position:absolute;top:22px;bottom:22px;left:15px}.captain-dinner{grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:64px;padding:7px 0;display:grid;position:relative}.captain-dinner__dot{z-index:1;border:5px solid var(--canvas);color:#fff;background:#b7b8ad;border-radius:50%;place-items:center;width:32px;height:32px;font-size:.65rem;font-weight:900;display:grid}.captain-dinner--open .captain-dinner__dot{background:var(--primary);box-shadow:0 0 0 3px #f1c5b7}.captain-dinner--completed .captain-dinner__dot{background:var(--olive)}.captain-dinner>div{min-width:0;display:grid}.captain-dinner>div strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.captain-dinner__state{max-width:86px;color:var(--muted);text-align:right;font-size:.66rem;font-weight:850}.captain-dinner--open .captain-dinner__state{color:var(--primary-strong)}.captain-dinner--completed .captain-dinner__state{color:#3f6b43}.captain-dinner .text-button{grid-column:2/-1;justify-self:start;min-height:32px;margin-top:-8px;padding:0;font-size:.76rem}.ballot-shell{padding-bottom:calc(118px + env(safe-area-inset-bottom))}.ballot-topbar{position:sticky}.ballot-topbar .back-link{text-align:left;flex:1 1 0}.ballot-topbar .brand{flex:none}.ballot-topbar .brand__type{display:none}.identity-dot{background:var(--sea);color:#fff;border-radius:50%;flex:1 1 0;place-items:center;width:40px;max-width:40px;height:40px;font-family:Georgia,serif;font-weight:900;display:grid}.ballot-heading{padding:18px 16px 12px}.ballot-heading h1{margin-bottom:8px;font-size:clamp(2rem,10vw,3rem)}.ballot-heading p{max-width:35rem;color:var(--muted);margin:0;font-size:.86rem;line-height:1.4}.ballot-banner{margin:0 16px 10px}.ballot-form{gap:10px;padding:0 16px;display:grid}.rating-card{border:1px solid var(--border);background:var(--surface);border-radius:15px;outline:none;min-width:0;margin:0;padding:12px 12px 11px;scroll-margin-block:82px 118px;box-shadow:0 5px 15px #55452c0d}.rating-card--error{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.rating-card:focus{box-shadow:0 0 0 3px #2f6f783d}.rating-card legend{align-items:center;gap:8px;max-width:100%;padding:0 4px;display:flex}.rating-card legend>span{background:var(--olive);color:#fff;border-radius:50%;flex:none;place-items:center;width:27px;height:27px;font-size:.68rem;font-weight:900;display:grid}.rating-card legend strong{overflow-wrap:anywhere;font-family:Georgia,serif;font-size:1.08rem;line-height:1.15}.rating-card>p{color:var(--muted);margin:3px 0 9px;font-size:.8rem;line-height:1.35}.score-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;display:grid}.score-option{cursor:pointer;min-width:0;position:relative}.score-option input{opacity:0;width:1px;height:1px;position:absolute}.score-option>span{border:1px solid var(--border);min-height:46px;color:var(--muted);background:#fbf7ef;border-radius:11px;place-items:center;transition:border-color .14s,background .14s,transform .14s;display:grid}.score-option>span strong{grid-area:1/1;font-size:1rem}.score-option>span small{color:#fff;grid-area:1/1;align-self:end;margin-bottom:3px;font-size:.58rem}.score-option.is-selected>span{border-color:var(--primary-strong);background:var(--primary);color:#fff;box-shadow:0 3px 0 var(--primary-strong);transform:translateY(-2px)}.score-option input:focus-visible+span{outline:3px solid var(--sea);outline-offset:3px}.rating-card>.field-error{color:var(--primary-strong);text-align:center;margin-top:7px;font-size:.74rem;font-weight:750}.ballot-actions{z-index:12;width:min(100%,820px);padding:10px 16px calc(12px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdf8f0;border-top:1px solid #d7cebfbf;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.ballot-actions>div{min-width:62px;display:grid}.ballot-actions>div strong{font-size:.75rem}.ballot-actions>div span{color:var(--muted);font-size:.58rem}.ballot-actions .button{min-height:48px;padding:10px 12px}.ballot-message{max-width:430px;margin:100px auto 0;padding:16px}.ballot-message .banner{margin-left:0;margin-right:0}.reveal-card{border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:22px;margin-top:28px;padding:24px 20px;position:relative;overflow:hidden;box-shadow:0 12px 34px #55452c1a}.reveal-card__seal{z-index:1;background:var(--olive);color:#fff;border:8px solid #fff8ed;border-radius:50%;place-items:center;width:62px;height:62px;margin:0 auto 16px;font-family:Georgia,serif;font-size:1.35rem;font-weight:900;display:grid;position:relative;box-shadow:0 4px #475336}.reveal-card__rays{border:44px dotted #c54a321a;border-radius:50%;width:270px;height:270px;position:absolute;top:-125px;left:50%;transform:translate(-50%)}.reveal-card h2{margin:6px 0 10px;font-family:Georgia,serif;font-size:1.8rem;line-height:1.05;position:relative}.reveal-card>p{max-width:34rem;color:var(--muted);margin:0 auto;font-size:.88rem;line-height:1.5;position:relative}.reveal-card>.button{margin-top:20px;position:relative}.reveal-card>small{color:var(--muted);margin-top:10px;font-size:.68rem;display:block}.reveal-card--ready{background:linear-gradient(145deg,#fff9ef,#f8dfd9);border-color:#dca597}.reveal-card--ready .reveal-card__seal{background:var(--primary);box-shadow:0 4px 0 var(--primary-strong)}.reveal-card--locked{box-shadow:none;background:#f0ece3}.reveal-card--locked .reveal-card__seal{background:#9aa091;box-shadow:0 4px #777d70}.reveal-card--warning{text-align:left;background:#f9e7e1;border-color:#df9c8e}.reveal-card--warning .reveal-card__seal{background:var(--primary-strong);margin-left:0;box-shadow:0 4px #70261b}.reveal-card--warning>p{margin-left:0}.missing-votes{gap:7px;margin:16px 0;padding:0;list-style:none;display:grid}.missing-votes li{background:#fffdf8bf;border-radius:10px;padding:10px 12px;display:grid}.missing-votes strong{font-size:.82rem}.missing-votes span{color:var(--muted);font-size:.72rem}.reveal-card .irreversible-note{color:var(--primary-strong);margin-bottom:16px;font-weight:750}.results-view{padding-top:30px}.results-heading{text-align:center;max-width:650px;margin:0 auto 26px}.result-medallion{color:#fff;background:#f5bd45;border:9px solid #fff9ef;border-radius:50%;place-items:center;width:70px;height:70px;margin:0 auto 18px;font-size:1.45rem;display:grid;box-shadow:0 5px #c99a3d}.results-heading h1,.overall-hero h1{letter-spacing:-.05em;margin:7px 0 12px;font-family:Georgia,Iowan Old Style,Palatino,serif;font-size:clamp(2.45rem,12vw,5rem);line-height:.94}.results-heading p{max-width:37rem;color:var(--muted);margin:0 auto;line-height:1.5}.category-results{gap:14px;display:grid}.category-result{border:1px solid var(--border);background:var(--surface);border-radius:20px;padding:20px 17px 15px;position:relative;overflow:hidden;box-shadow:0 8px 24px #55452c12}.category-result__number{color:#c54a3214;font-family:Georgia,serif;font-size:7.5rem;font-weight:900;line-height:1;position:absolute;top:-20px;right:-8px}.category-result h2{max-width:80%;margin:5px 0;font-family:Georgia,serif;font-size:1.55rem;line-height:1.05;position:relative}.category-result>p{color:var(--muted);margin:0 0 16px;font-size:.8rem;line-height:1.4;position:relative}.category-winners{background:linear-gradient(135deg,#f4e4cf,#fff3dc);border-radius:14px;gap:8px;padding:14px;display:grid;position:relative}.category-winners>div{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:8px;display:grid}.category-winners strong{overflow-wrap:anywhere;font-family:Georgia,serif;font-size:1.15rem}.category-winners span{color:var(--primary-strong);font-size:1.05rem;font-weight:900}.category-winners small{color:var(--muted);grid-column:1/-1;font-size:.64rem}.category-ranking{border-top:1px solid #ebe3d7;margin-top:10px}.category-ranking summary{min-height:44px;color:var(--sea);cursor:pointer;padding:13px 0 5px;font-size:.75rem;font-weight:800}.category-ranking ol{gap:4px;margin:4px 0 0;padding:0;list-style:none;display:grid}.category-ranking li{background:#fbf7ef;border-radius:8px;justify-content:space-between;align-items:baseline;gap:8px;padding:8px 9px;font-size:.74rem;display:flex}.category-ranking li>span{display:grid}.category-ranking small{color:var(--muted);font-size:.58rem}.category-ranking li>strong{color:var(--primary-strong)}.overall-teaser{background:var(--ink);color:#fff;text-align:center;border-radius:24px;margin-top:24px;padding:28px 20px;position:relative;overflow:hidden;box-shadow:0 16px 38px #26322c33}.overall-teaser__plate{background:#f5bd45;border:10px solid #f7f1e6;border-radius:50%;place-items:center;width:90px;height:90px;margin:0 auto 18px;display:grid;box-shadow:0 6px #c99a3d}.overall-teaser__plate span{color:var(--ink);font-family:Georgia,serif;font-size:2.4rem}.overall-teaser .eyebrow{color:#efbda9}.overall-teaser h2{margin:6px 0 10px;font-family:Georgia,serif;font-size:2rem;line-height:1}.overall-teaser p{color:#cad1cb;margin:0;font-size:.86rem;line-height:1.5}.overall-teaser .button{margin-top:20px}.results-view--overall{padding-top:0}.overall-hero{color:#fff;text-align:center;background:linear-gradient(155deg,#26322c,#34483c);margin:0 -16px;padding:44px 18px 36px;position:relative;overflow:hidden}.overall-hero .eyebrow{color:#efbda9}.result-crown{width:82px;height:82px;color:var(--ink);background:#f5bd45;border:1px solid #ffffff40;border-radius:50%;place-items:center;margin:0 auto 20px;font-size:2.5rem;display:grid;box-shadow:0 7px #c99a3d}.overall-hero h1{outline:none}.overall-winners{gap:8px;margin-top:22px;display:grid}.overall-winners>div{display:grid}.overall-winners strong{color:#f8d77f;font-family:Georgia,serif;font-size:clamp(2rem,10vw,4.2rem);line-height:1}.overall-winners small{color:#cbd2cc;margin-top:5px;font-size:.68rem}.overall-score{margin-top:16px;font-size:1.75rem;font-weight:900}.overall-score span{color:#cbd2cc;text-transform:uppercase;font-size:.72rem;font-weight:750}.confetti span{background:var(--primary);border-radius:2px;width:8px;height:18px;position:absolute;transform:rotate(18deg)}.confetti span:first-child{background:#f5bd45;top:45px;left:8%;transform:rotate(-22deg)}.confetti span:nth-child(2){background:var(--sea);top:120px;left:18%;transform:rotate(30deg)}.confetti span:nth-child(3){background:#efbda9;top:62px;right:10%;transform:rotate(48deg)}.confetti span:nth-child(4){background:#f5bd45;top:155px;right:20%;transform:rotate(-38deg)}.confetti span:nth-child(5){background:var(--olive);top:25px;right:34%;transform:rotate(8deg)}.overall-ranking{padding-top:28px}.overall-ranking>h2{margin:5px 0 15px;font-family:Georgia,serif;font-size:1.8rem}.overall-ranking ol{gap:9px;margin:0;padding:0;list-style:none;display:grid}.overall-ranking li{border:1px solid var(--border);background:var(--surface);border-radius:14px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px;display:grid}.overall-ranking li.is-winner{background:#fff5d9;border-color:#d9b45d}.rank-place{background:var(--olive);color:#fff;border-radius:50%;place-items:center;width:38px;height:38px;font-family:Georgia,serif;font-size:1.05rem;font-weight:900;display:grid}.is-winner .rank-place{color:var(--ink);background:#f5bd45}.rank-team{min-width:0;display:grid}.rank-team strong{overflow-wrap:anywhere}.rank-team small{color:var(--muted);margin-top:2px;font-size:.6rem}.rank-score{color:var(--primary-strong);font-size:1.05rem;font-weight:900}.overall-ranking>.button{margin-top:18px}.result-error{max-width:430px;margin:80px auto}@media (width>=680px){.shell{padding:32px}.setup-card{border-radius:30px}.page-header,.wizard-header,.form-step,.summary-section,.wizard-actions{padding-left:36px;padding-right:36px}.banner{margin-left:36px;margin-right:36px}.team-block{grid-template-columns:1fr 1fr;column-gap:14px;display:grid}.team-block legend,.team-block .text-button,.team-block .field:last-of-type{grid-column:1/-1}.jury-block{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;display:grid}.jury-block legend{grid-column:1/-1}.dinner-list{grid-template-columns:1fr 1fr}.setup-card>.button{width:calc(100% - 72px);margin-left:36px;margin-right:36px}.summary-actions{grid-template-columns:1fr 1fr;padding-left:36px;padding-right:36px}.app-header,.ballot-topbar,.tab-nav,.page-content,.ballot-heading{padding-left:28px;padding-right:28px}.ballot-form{grid-template-columns:1fr 1fr;padding-left:28px;padding-right:28px}.rating-card:last-of-type{grid-column:1/-1;justify-self:center;width:calc(50% - 5px)}.ballot-banner{margin-left:28px;margin-right:28px}.captain-links li{grid-template-columns:34px minmax(180px,1fr) auto;align-items:center}.captain-links__actions{grid-column:auto;display:flex}.captain-links .button{width:auto}.button-row{grid-template-columns:1fr 1fr}.reveal-card{padding:34px}.category-results{grid-template-columns:1fr 1fr}.category-result:last-child{grid-column:1/-1}.overall-hero{border-radius:0 0 30px 30px;margin-left:-28px;margin-right:-28px;padding-top:62px;padding-bottom:54px}.overall-ranking{max-width:650px;margin:0 auto}}@media (width<=370px){.brand--compact .brand__type{display:none}.identity-pill{max-width:108px}.dinner-card__header{display:grid}.dinner-status{justify-self:start}.qr-dialog{width:calc(100vw - 20px)}.qr-dialog__content{padding-left:16px;padding-right:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
