:root{--ink:#163d34;--ink-deep:#0d2a24;--muted:#60746e;--paper:#edf3f0;--card:rgba(255,255,255,0.9);--line:rgba(23,62,53,0.15);--pipe:#779c92;--accent:#e6ff73;--mint:#55d6ad;--coral:#ff6b62;--shadow:0 24px 70px rgba(31,63,55,0.1)}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body,html{min-width:320px}body{min-height:100vh;margin:0;background:radial-gradient(circle at 4% 0,rgba(230,255,115,.34),transparent 28rem),radial-gradient(circle at 96% 8%,rgba(121,208,235,.25),transparent 32rem),linear-gradient(180deg,#f8faf8,#edf3f0)}button,input,select{font:inherit}button{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(36,118,232,.4);outline-offset:2px}button:disabled,input:disabled,select:disabled{cursor:not-allowed!important;opacity:.5}.tournament-shell{display:grid;grid-template-columns:340px minmax(0,1fr);width:min(100%,2000px);min-height:100vh;margin:0 auto}.setup-sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:8;display:grid;grid-template-rows:auto auto auto auto minmax(220px,1fr) auto;height:100vh;overflow:hidden;border-right:1px solid var(--line);background:rgba(248,251,249,.94);box-shadow:18px 0 50px rgba(34,63,56,.06);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.sidebar-heading{padding:24px 22px 18px}.eyebrow{margin:0;color:#57736b;font-size:.68rem;font-weight:850;letter-spacing:.17em;text-transform:uppercase}.sidebar-heading h1{margin:7px 0;font-family:Georgia,Times New Roman,serif;font-size:2.15rem;font-weight:500;letter-spacing:-.055em;line-height:.98}.sidebar-heading p:last-child,.tournament-header p:last-child{margin:0;color:var(--muted);font-size:.78rem;line-height:1.55}.tournament-settings{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px;padding:0 16px 16px}.fixed-field-setting,.tournament-settings>label{display:grid;grid-gap:5px;gap:5px}.duration-setting,.tournament-title-setting{grid-column:1/-1}.entrant-editor-heading,.fixed-field-setting>span,.tournament-settings label>span{color:#60756f;font-size:.61rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.tournament-settings input[type=number],.tournament-settings input[type=text],.tournament-settings select{width:100%;min-width:0;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:.75rem}.tournament-settings input[type=text]{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.fixed-field-setting{min-height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.82)}.fixed-field-setting strong{font-size:.74rem}.fixed-field-setting small{color:var(--muted);font-size:.57rem;line-height:1.3}.publish-card{display:grid;grid-gap:10px;gap:10px;margin:0 12px 14px;padding:13px;border:1px solid rgba(22,61,52,.13);border-radius:16px;background:radial-gradient(circle at 100% 0,rgba(230,255,115,.4),transparent 55%),#fff;box-shadow:0 12px 28px rgba(28,63,54,.07)}.publish-card h2{margin:4px 0 5px;font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-weight:500;letter-spacing:-.03em}.publish-card p{margin:0;color:var(--muted);font-size:.67rem;line-height:1.45}.publish-card>.primary-action{width:100%}.publish-message:empty,.share-message:empty{display:none}.publish-card .publish-message-error{color:#a23a35}.local-link-note{color:#856327;font-size:.62rem;line-height:1.4}.tournament-access-links{display:grid;grid-gap:10px;gap:10px}.tournament-access-links>section{display:grid;grid-gap:8px;gap:8px;padding:11px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.74)}.tournament-access-links .creator-access-link{border-color:rgba(182,117,36,.28);background:rgba(255,245,222,.72)}.creator-access-link p strong{color:#805717}.creator-access-link .share-actions{grid-template-columns:1fr}.share-controls{display:grid;grid-gap:7px;gap:7px}.share-controls label{display:grid;grid-gap:4px;gap:4px}.share-controls label>span{color:#60756f;font-size:.61rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.share-controls input{width:100%;min-width:0;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:#f7faf8;color:#315c52;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.67rem}.share-actions{display:grid;grid-template-columns:1fr 1fr auto;grid-gap:6px;gap:6px}.share-actions a,.share-actions button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;padding:0 10px;border:1px solid rgba(22,61,52,.17);border-radius:10px;background:#fff;color:var(--ink);font-size:.67rem;font-weight:800;text-decoration:none;cursor:pointer}.share-actions .primary-action{border-color:var(--ink-deep);background:var(--ink-deep);color:#fff}.share-message{color:#477168;font-size:.65rem;font-weight:700}.entrant-editor-heading{display:grid;grid-template-columns:26px minmax(0,1fr) 74px;grid-gap:8px;gap:8px;padding:8px 17px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#edf3f0}.entrant-editor-heading span:last-child{text-align:right}.entrant-editor-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#b3c3be transparent;scrollbar-width:thin}.entrant-editor{display:grid;grid-template-columns:22px 31px minmax(0,1fr) 62px;align-items:center;grid-gap:6px;gap:6px;min-height:48px;padding:6px 12px;border-bottom:1px solid rgba(24,64,55,.08)}.entrant-editor:focus-within{background:rgba(230,255,115,.15)}.seed-number{color:#84958f;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.65rem;text-align:center}.color-picker{display:grid;width:28px;height:28px;place-items:center;overflow:hidden;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px rgba(18,50,42,.18);cursor:pointer}.color-picker input{width:42px;height:42px;padding:0;border:0;cursor:pointer}.entrant-name-field input,.starting-balls-field input{width:100%;min-width:0;height:32px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);font-size:.72rem;font-weight:720}.entrant-name-field input{padding:0 7px}.entrant-name-field input:focus,.entrant-name-field input:hover:not(:disabled),.starting-balls-field input:focus,.starting-balls-field input:hover:not(:disabled){border-color:var(--line);background:#fff}.starting-balls-field input{padding:0 3px;text-align:right}.sidebar-footer{display:grid;grid-gap:9px;gap:9px;padding:14px 16px 18px;border-top:1px solid var(--line);background:rgba(248,251,249,.97)}.sidebar-footer span{color:var(--muted);font-size:.63rem;line-height:1.4}.sidebar-footer button{min-height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;font-size:.72rem;font-weight:800}.tournament-main{min-width:0;padding:30px clamp(20px,3vw,48px) 54px}.tournament-header{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:22px}.tournament-header>div:first-child{max-width:760px}.tournament-header h1,.tournament-header h2{margin:6px 0 7px;font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,6vw,6.3rem);font-weight:500;letter-spacing:-.068em;line-height:.88}.public-machine-shell{min-height:100vh}.public-machine-main{width:min(100%,2000px);margin:0 auto}.spectator-command-bar{grid-template-columns:minmax(165px,.5fr) minmax(0,1.5fr)}.spectator-voting-note{margin:12px 0 0;padding:11px 14px;border:1px solid rgba(125,159,57,.25);border-radius:12px;background:rgba(230,255,115,.22);color:#586d46;font-size:.72rem;line-height:1.5}.public-machine-main .public-share-card{margin-top:0}.fairness-badge{display:flex;flex:0 0 auto;align-items:center;gap:11px;min-width:228px;padding:13px 15px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.76);box-shadow:0 14px 34px rgba(31,63,55,.07)}.fairness-badge div{display:grid;grid-gap:2px;gap:2px}.fairness-badge strong{font-size:.78rem}.fairness-badge span:last-child{color:var(--muted);font-size:.64rem}.fairness-dot{width:12px;height:12px;border:3px solid #fff;border-radius:50%;background:#2cb67d;box-shadow:0 0 0 3px rgba(44,182,125,.18)}.tournament-command-bar{display:grid;grid-template-columns:minmax(145px,.48fr) minmax(320px,1fr) auto;align-items:stretch;grid-gap:1px;gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--line);box-shadow:0 15px 38px rgba(25,58,50,.07)}.command-metrics,.round-actions,.round-readout{background:rgba(255,255,255,.9)}.round-readout{display:grid;align-content:center;grid-gap:3px;gap:3px;padding:14px 17px}.command-metrics span,.round-readout span{color:var(--muted);font-size:.61rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.round-readout strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.2rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.command-metrics{display:grid;grid-template-columns:repeat(3,1fr)}.creator-command-metrics{grid-template-columns:repeat(2,1fr)}.command-metrics div{display:grid;align-content:center;grid-gap:3px;gap:3px;padding:12px 15px;border-right:1px solid var(--line)}.command-metrics strong{font-size:.84rem}.round-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px}.primary-action,.secondary-action{min-height:42px;padding:10px 14px;border:0;border-radius:12px;cursor:pointer;font-size:.71rem;font-weight:850;white-space:nowrap}.primary-action{background:var(--ink);box-shadow:0 10px 22px rgba(21,51,44,.18);color:#fff}.secondary-action{border:1px solid var(--line);background:#f9fbfa}.round-warning{margin-top:12px;padding:11px 14px;border:1px solid rgba(190,83,57,.25);border-radius:12px;background:#fff3ed;color:#8a402f;font-size:.7rem;line-height:1.5}.winner-banner{display:flex;align-items:center;gap:16px;margin-top:14px;padding:17px 20px;border:1px solid color-mix(in srgb,var(--winner-color) 38%,transparent);border-radius:18px;background:linear-gradient(90deg,color-mix(in srgb,var(--winner-color) 12%,#fff),#fff);box-shadow:0 16px 38px rgba(30,62,54,.07)}.champion-ball,.empty-winner-ball,.winner-ball{display:grid;flex:0 0 auto;place-items:center;border:4px solid rgba(255,255,255,.94);border-radius:50%;background:var(--winner-color);box-shadow:0 0 0 1px rgba(20,55,46,.18),0 14px 28px color-mix(in srgb,var(--winner-color) 28%,transparent);color:#fff;font-style:normal;font-weight:900}.winner-ball{width:58px;height:58px}.winner-banner div{display:grid;grid-gap:2px;gap:2px}.winner-banner div>span{color:var(--muted);font-size:.61rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.winner-banner strong{font-family:Georgia,Times New Roman,serif;font-size:1.7rem;font-weight:500}.winner-banner small{color:var(--muted);font-size:.67rem}.round-tabs{display:flex;gap:8px;margin:17px 0 10px;overflow-x:auto}.round-tabs button{display:grid;flex:1 0 120px;grid-gap:2px;gap:2px;padding:9px 12px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.72);cursor:pointer;text-align:left}.round-tabs button[aria-current=page]{border-color:rgba(23,63,54,.44);background:var(--ink);color:#fff}.round-tabs span{font-size:.72rem;font-weight:800}.round-tabs strong{color:#77908a;font-size:.57rem;font-weight:650}.round-tabs button[aria-current=page] strong{color:#b9ccc6}.bracket-view-controls{display:flex;align-items:center;gap:7px;margin:0 0 8px;padding:7px 9px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.78)}.bracket-view-controls>span{margin-right:3px;color:var(--muted);font-size:.59rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.bracket-view-controls button{min-width:31px;height:30px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);cursor:pointer;font-size:.66rem;font-weight:800}.bracket-view-controls button[aria-label="Zoom in"],.bracket-view-controls button[aria-label="Zoom out"]{padding:0;font-size:1rem}.bracket-view-controls button:disabled{cursor:default;opacity:.38}.bracket-view-controls output{min-width:43px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.66rem;font-weight:800;text-align:center}.bracket-view-controls small{margin-left:auto;color:var(--muted);font-size:.59rem}.bracket-viewport{min-height:680px;max-height:calc(100vh - 245px);overflow:auto;border:1px solid var(--line);border-radius:25px;background:linear-gradient(rgba(255,255,255,.52),rgba(255,255,255,.3)),repeating-linear-gradient(90deg,transparent 0 39px,rgba(39,83,72,.032) 40px),repeating-linear-gradient(0deg,transparent 0 39px,rgba(39,83,72,.032) 40px),#e7f0ec;box-shadow:var(--shadow);scrollbar-color:#9fb5ae rgba(255,255,255,.32);scrollbar-width:thin;cursor:-webkit-grab;cursor:grab;overscroll-behavior:contain;touch-action:pan-x pan-y}.bracket-viewport-dragging{cursor:-webkit-grabbing;cursor:grabbing;scroll-behavior:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none}.funnel-machine{position:relative;width:max-content;min-width:max(100%,calc(var(--base-vats) * var(--vat-column-width, 220px) + 182px));padding:24px 28px 60px 154px;zoom:var(--bracket-zoom,1)}.round-stage{scroll-margin-top:12px;position:relative}.round-stage>header{position:absolute;top:22px;left:-136px;z-index:5;display:grid;grid-gap:7px;gap:7px;width:118px;margin:0;padding:11px 12px;border:1px solid rgba(26,66,57,.13);border-radius:13px;background:rgba(247,250,248,.95);box-shadow:0 8px 20px rgba(30,62,54,.07);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.round-stage>header div{display:grid;grid-gap:1px;gap:1px}.champion-destination>span,.round-stage>header span{color:var(--muted);font-size:.55rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.round-stage>header h3{margin:0;font-size:.9rem}.round-stage>header>strong{justify-self:start;padding:5px 7px;border-radius:99px;background:#e8f0ed;color:#668079;font-size:.55rem}.round-stage-selected>header{border-color:rgba(23,63,54,.4);background:var(--ink);color:#fff}.round-stage-selected>header span,.round-stage-selected>header>strong{color:#c4d4cf}.round-stage-selected>header>strong{background:rgba(255,255,255,.1)}.round-flow,.vat-row{display:grid;grid-template-columns:repeat(var(--base-vats),var(--vat-column-width,220px))}.matchup-vat{position:relative;grid-column:span var(--grid-span);justify-self:center;width:var(--vat-width,214px);height:304px;padding:0;border-radius:22px;transition:filter .18s ease,transform .18s ease}.matchup-vat-selected{filter:drop-shadow(0 0 .25rem rgba(135,166,49,.65));transform:translateY(-2px)}.vat-rim{position:relative;z-index:3;width:100%;height:15px;border:3px solid rgba(81,119,109,.58);border-radius:50%;background:rgba(246,255,252,.72);box-shadow:inset 0 2px 4px rgba(255,255,255,.92),0 4px 8px rgba(32,67,58,.08)}.vat-chamber{position:relative;width:calc(100% - 10px);height:154px;margin:-6px auto 0;overflow:hidden;border:2px solid rgba(81,119,109,.52);border-top:0;border-radius:7px 7px 54px 54px/7px 7px 25px 25px;background:linear-gradient(100deg,rgba(255,255,255,.7) 0 11%,transparent 13% 78%,rgba(255,255,255,.32) 81%),linear-gradient(180deg,rgba(236,250,246,.38),rgba(210,231,224,.58));box-shadow:inset 0 -18px 30px rgba(72,117,104,.08),0 12px 24px rgba(33,69,59,.08);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.vat-chamber:after{position:absolute;top:8px;left:10px;width:8px;height:72px;border-radius:99px;background:rgba(255,255,255,.62);content:"";filter:blur(1px)}.ball-cloud{display:flex;flex-wrap:wrap-reverse;align-content:flex-start;justify-content:center;gap:2px}.ping-pong-ball{position:relative;display:inline-block;width:13px;height:13px;border:1px solid rgba(255,255,255,.92);border-radius:50%;background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.95) 0 9%,transparent 12%),radial-gradient(circle at 65% 72%,rgba(27,55,48,.2),transparent 42%),var(--ball-color);box-shadow:inset -1px -1px 2px rgba(20,47,40,.16),0 2px 3px rgba(20,47,40,.2)}.ball-cloud-compact{justify-content:flex-start;min-height:14px;margin-top:4px}.ball-cloud-compact .ping-pong-ball{width:7px;height:7px;animation:none}.ball-pattern-2{background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.95) 0 8%,transparent 11%),radial-gradient(circle,rgba(255,255,255,.48) 1px,transparent 1.3px),var(--ball-color);background-size:auto,5px 5px,auto}.ball-pattern-3{box-shadow:inset 0 0 0 2px rgba(20,48,41,.15),0 2px 3px rgba(20,47,40,.2)}.ball-pattern-4{background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.95) 0 8%,transparent 11%),linear-gradient(45deg,transparent 42%,rgba(255,255,255,.45) 45% 55%,transparent 58%),var(--ball-color)}.physics-vat-surface{position:absolute;z-index:2;inset:0;width:100%;height:100%;padding:0;overflow:hidden;border:0;border-radius:inherit;background:transparent;color:var(--muted);cursor:pointer}.physics-vat-surface:hover:not(:disabled){background:rgba(255,255,255,.12)}.physics-vat-surface:focus-visible{outline:3px solid var(--focus);outline-offset:-4px}.physics-vat-surface:disabled{cursor:default;opacity:1}.physics-vat-surface canvas{display:block;width:100%;height:100%}.physics-vat-message,.tap-vat-hint{position:absolute;z-index:2;padding:4px 7px;border:1px solid rgba(31,72,62,.12);border-radius:99px;background:rgba(247,251,249,.84);box-shadow:0 3px 10px rgba(29,65,55,.07);color:#667d77;font-size:.48rem;font-weight:760;letter-spacing:.02em;pointer-events:none}.physics-vat-message{top:50%;left:50%;transform:translate(-50%,-50%);white-space:nowrap}.tap-vat-hint{right:auto;bottom:7px;left:50%;opacity:0;transform:translateX(-50%);transition:opacity .16s ease;white-space:nowrap}.physics-vat-surface:focus-visible .tap-vat-hint,.physics-vat-surface:hover .tap-vat-hint{opacity:1}.distribution-list{position:absolute;top:21px;left:50%;z-index:5;display:flex;flex-wrap:wrap;justify-content:center;gap:4px;width:max-content;max-width:190px;max-height:112px;margin:0;padding:5px 6px;overflow:visible;border:1px solid rgba(23,62,53,.12);border-radius:13px;background:rgba(255,255,255,.9);box-shadow:0 8px 16px rgba(28,62,53,.06);list-style:none;scrollbar-width:thin;transform:translateX(-50%)}.distribution-list li{position:relative;display:flex;align-items:center;gap:4px;min-height:24px;padding:2px 4px 2px 2px;border:1px solid rgba(24,64,55,.08);border-radius:99px;background:rgba(247,251,249,.88);outline:none}@media (min-width:781px){.matchup-vat[data-round-matchup-count="1"] .distribution-list,.matchup-vat[data-round-matchup-count="2"] .distribution-list{flex-wrap:nowrap;max-width:calc(100% - 32px)}}.distribution-list li:focus-visible{box-shadow:0 0 0 2px var(--focus)}.counter-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;z-index:30;width:max-content;max-width:165px;padding:5px 7px;border:1px solid rgba(20,55,46,.16);border-radius:7px;background:#173f36;box-shadow:0 8px 18px rgba(20,55,46,.2);color:#fff;font-size:.55rem;font-weight:750;line-height:1.25;opacity:0;pointer-events:none;text-align:center;transform:translate(-50%,3px) scale(var(--bracket-tooltip-scale,1));transform-origin:50% 100%;visibility:hidden;transition:opacity .12s ease,transform .12s ease}.counter-tooltip:after{position:absolute;top:100%;left:50%;border:4px solid transparent;border-top-color:#173f36;content:"";transform:translateX(-50%)}.distribution-list li:focus .counter-tooltip,.distribution-list li:focus-within .counter-tooltip,.distribution-list li:hover .counter-tooltip{opacity:1;transform:translate(-50%) scale(var(--bracket-tooltip-scale,1));visibility:visible}.entrant-token{display:grid;width:18px;height:18px;place-items:center;border:1.5px solid #fff;border-radius:50%;background:var(--entrant-color);box-shadow:0 0 0 1px rgba(22,53,45,.15);color:#fff;font-size:.39rem;font-weight:900}.distribution-name{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.distribution-list strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.6rem}.distribution-list button{display:grid;width:20px;height:20px;padding:0;place-items:center;border:0;border-radius:6px;background:var(--ink);color:#fff;cursor:pointer;font-weight:800}.vat-funnel{position:relative;width:126px;height:77px;margin:-1px auto 0}.matchup-vat[data-bracket-size="32"][data-round-index="0"] .vat-funnel{width:92px}.funnel-cone{position:absolute;inset:0 8px 12px;background:linear-gradient(100deg,rgba(255,255,255,.68),transparent 22%),rgba(166,204,193,.62);-webkit-clip-path:polygon(0 0,100% 0,61% 74%,39% 74%);clip-path:polygon(0 0,100% 0,61% 74%,39% 74%);filter:drop-shadow(0 2px 1px rgba(32,66,57,.18))}.funnel-spout{bottom:0;width:30px;height:31px;border-right:2px solid rgba(81,119,109,.55);border-left:2px solid rgba(81,119,109,.55);background:rgba(221,239,233,.62)}.funnel-spout,.funnel-stopper{position:absolute;left:50%;transform:translateX(-50%)}.funnel-stopper{z-index:3;top:7px;width:82px;height:10px;padding:0;border:2px solid rgba(115,47,37,.24);border-radius:99px;background:var(--coral);box-shadow:0 3px 7px rgba(89,39,31,.2);transition:transform .32s ease;cursor:not-allowed}.funnel-stopper span{position:absolute;top:-5px;right:-7px;width:15px;height:15px;border:3px solid #fff;border-radius:50%;background:#a74539;box-shadow:0 0 0 1px rgba(63,31,25,.2)}.funnel-stopper.stopper-open{background:var(--mint);transform:translateX(-50%) translateX(42px) rotate(20deg)}.funnel-stopper.stopper-open span{background:#238d6c}.funnel-stopper.stopper-ready{border-color:rgba(105,61,25,.38);background:#efa452;box-shadow:0 3px 7px rgba(89,39,31,.2),0 0 0 4px rgba(239,164,82,.14);cursor:pointer}.funnel-stopper.stopper-ready:hover{transform:translateX(-50%) translateY(1px)}.funnel-stopper:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.funnel-stopper.stopper-complete{border-color:rgba(57,104,91,.3);background:#7fa79c}.gate-label{position:absolute;top:211px;left:50%;z-index:4;display:block;margin:0;color:#a65043;font-size:.49rem;font-weight:850;letter-spacing:.08em;text-align:center;text-transform:uppercase;transform:translateX(-50%);white-space:nowrap}.gate-label-open{color:#258566}.gate-label-complete{color:#607a73}.transfer-split{position:absolute;top:244px;right:-4px;z-index:4;display:grid;grid-template-columns:1fr 1fr;grid-gap:1px;gap:1px;overflow:hidden;width:164px;margin:0;border:1px solid var(--line);border-radius:11px;background:var(--line)}.result-tray{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:start;min-width:0;padding:7px;background:#f3f6f4}.result-tray-emphasis{background:color-mix(in srgb,var(--accent) 33%,#fff)}.result-tray>span{overflow:hidden;color:var(--muted);font-size:.48rem;font-weight:800;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.result-tray>strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.62rem}.result-tray .ball-cloud{grid-column:1/-1}.round-flow{z-index:1;margin-top:-68px}.round-flow,.transfer-drop{position:relative;height:140px}.transfer-drop{grid-column:span var(--pipe-span);min-width:0}.transfer-drop canvas{position:absolute;inset:0;display:block;width:100%;height:140px}.drop-ball-layer{z-index:1}.champion-destination{display:grid;justify-items:center;grid-gap:8px;gap:8px;width:210px;margin:0 auto;padding:26px 18px;border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.84);box-shadow:var(--shadow);text-align:center}.champion-ball,.empty-winner-ball{width:84px;height:84px;font-size:1.2rem}.empty-winner-ball{border-color:rgba(255,255,255,.8);background:#dfe8e5;box-shadow:0 0 0 1px rgba(20,55,46,.13);color:#83958f}.champion-destination strong{max-width:170px;font-family:Georgia,Times New Roman,serif;font-size:1.12rem;font-weight:500}.bracket-legend{display:flex;flex-wrap:wrap;gap:22px;margin-top:12px;padding:0 5px}.bracket-legend div{display:flex;align-items:center;gap:8px}.bracket-legend p{margin:0;color:var(--muted);font-size:.64rem}.legend-tap{display:grid;width:18px;height:18px;place-items:center;border:1px solid #779c92;border-radius:50%;background:rgba(255,255,255,.7);color:#54796f;font-size:.72rem;font-weight:900}.legend-stopper{width:23px;height:7px;border-radius:99px;background:var(--coral)}.legend-drop{position:relative;width:27px;height:20px;border-bottom:2px solid rgba(77,114,104,.48)}.legend-drop:after,.legend-drop:before{position:absolute;top:1px;width:7px;height:7px;border:1px solid rgba(255,255,255,.92);border-radius:50%;background:var(--coral);box-shadow:0 4px 4px rgba(20,47,40,.2);content:""}.legend-drop:before{left:5px}.legend-drop:after{top:8px;right:5px;background:var(--mint)}.public-tournament-shell{width:min(100% - 28px,1120px);min-height:100vh;margin:0 auto;padding:38px 0 70px}.public-tournament-header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:28px;gap:28px;align-items:end;padding:30px;border:1px solid var(--line);border-radius:28px;background:radial-gradient(circle at 90% 0,rgba(230,255,115,.55),transparent 24rem),rgba(255,255,255,.92);box-shadow:var(--shadow)}.public-tournament-header h1{margin:7px 0 10px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.6rem,7vw,5.8rem);font-weight:500;letter-spacing:-.07em;line-height:.88}.public-tournament-header p:last-child{max-width:660px;margin:0;color:var(--muted);line-height:1.6}.public-status{display:grid;min-width:152px;grid-gap:5px;gap:5px;padding:16px 18px;border:1px solid rgba(22,61,52,.14);border-radius:18px;background:rgba(248,251,249,.88)}.public-status span{color:var(--muted);font-size:.65rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.public-status strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.55rem}.public-status-live{border-color:rgba(85,214,173,.55);background:rgba(85,214,173,.14)}.public-status-live span:before{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#1f9a74;box-shadow:0 0 0 4px rgba(85,214,173,.18);content:""}.public-share-card{margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.78)}.public-share-card .share-controls{grid-template-columns:minmax(0,1fr) auto;align-items:end}.public-share-card .share-actions{grid-template-columns:repeat(3,auto)}.public-share-card .share-message{grid-column:1/-1}.public-winner{display:flex;gap:18px;align-items:center;margin:18px 0;padding:24px;border:1px solid color-mix(in srgb,var(--winner-color) 38%,transparent);border-radius:22px;background:color-mix(in srgb,var(--winner-color) 10%,white)}.public-winner .winner-ball{display:grid;width:74px;height:74px;flex:0 0 auto;place-items:center;border:4px solid rgba(255,255,255,.9);border-radius:50%;background:var(--winner-color);color:#fff;box-shadow:0 12px 24px rgba(25,53,45,.18);font-weight:900}.public-winner span:not(.winner-ball){color:var(--muted);font-size:.68rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.public-winner h2{margin:3px 0 0;font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:500}.public-round{margin-top:18px;padding:26px;border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.84);box-shadow:var(--shadow)}.public-round-heading{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:20px}.public-round-heading h2{margin:4px 0 0;font-family:Georgia,Times New Roman,serif;font-size:2.15rem;font-weight:500;letter-spacing:-.05em}.vote-budget{display:grid;grid-template-columns:auto auto;grid-gap:0 10px;gap:0 10px;align-items:center;text-align:right}.vote-budget small,.vote-budget span{color:var(--muted);font-size:.67rem}.vote-budget strong{grid-row:1/3;grid-column:2;font-size:2rem}.public-notice{padding:13px 15px;border-radius:13px;background:rgba(230,255,115,.3);color:#4f665f;font-size:.82rem;line-height:1.5}.public-matchup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.public-matchup{overflow:hidden;border:1px solid rgba(22,61,52,.12);border-radius:18px;background:#f7faf8}.public-matchup-label{display:flex;justify-content:space-between;padding:10px 13px;border-bottom:1px solid rgba(22,61,52,.09);color:var(--muted);font-size:.65rem;letter-spacing:.05em;text-transform:uppercase}.public-matchup-label strong{color:#258266}.public-vote-options{display:grid;grid-gap:1px;gap:1px}.public-vote-button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:11px;gap:11px;align-items:center;width:100%;min-height:70px;padding:9px 12px;border:0;border-bottom:1px solid rgba(22,61,52,.08);background:#fff;text-align:left;cursor:pointer}.public-vote-button:last-child{border-bottom:0}.public-vote-button:hover:not(:disabled){background:color-mix(in srgb,var(--entrant-color) 7%,white)}.public-entrant-ball{display:grid;width:44px;height:44px;place-items:center;border:3px solid rgba(255,255,255,.95);border-radius:50%;background:radial-gradient(circle at 32% 25%,rgba(255,255,255,.7),transparent 20%),var(--entrant-color);color:#fff;box-shadow:0 6px 13px rgba(29,58,50,.18);font-size:.72rem;font-weight:900}.public-vote-button>span:nth-child(2){display:grid;grid-gap:3px;gap:3px}.public-vote-button>span:nth-child(2) strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-vote-button small{color:var(--muted);font-size:.7rem}.public-vote-button b{padding:8px 10px;border-radius:999px;background:var(--ink-deep);color:#fff;font-size:.7rem}.public-message{min-height:24px;margin:14px 4px 0;color:#315f53;font-size:.82rem;font-weight:700}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.reduce-motion *,.reduce-motion :after,.reduce-motion :before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:1180px){.tournament-shell{grid-template-columns:305px minmax(0,1fr)}.sidebar-heading{padding:20px 17px 14px}.tournament-settings{padding-inline:12px}.entrant-editor{padding-inline:8px}.tournament-header{align-items:flex-start;flex-direction:column}.tournament-command-bar{grid-template-columns:150px 1fr}.round-actions{grid-column:1/-1;justify-content:flex-start}}@media (max-width:780px){.tournament-shell{display:block}.setup-sidebar{position:static;display:block;height:auto;border-right:0;border-bottom:1px solid var(--line)}.sidebar-heading{padding:22px 18px 15px}.sidebar-heading h1{font-size:2.45rem}.entrant-editor-list{max-height:390px}.sidebar-footer{grid-template-columns:1fr auto;align-items:center}.tournament-main{padding:28px 14px 44px}.tournament-header{gap:18px}.tournament-header h1,.tournament-header h2{font-size:clamp(3.4rem,18vw,5.5rem)}.fairness-badge{width:100%}.tournament-command-bar{grid-template-columns:1fr}.command-metrics,.round-actions{grid-column:auto}.round-actions{flex-wrap:wrap}.primary-action,.secondary-action{flex:1 1}.round-tabs button{flex-basis:128px}.bracket-viewport{min-height:640px;max-height:none;overflow:visible;cursor:default}.bracket-view-controls{display:none}.funnel-machine{--bracket-tooltip-scale:1!important;width:100%;min-width:0;padding:16px 12px 32px;zoom:1}.round-stage{display:none}.round-stage-selected{display:block}.round-stage>header{position:static;width:100%;margin-bottom:18px}.vat-row{display:grid;grid-template-columns:1fr;grid-gap:24px;gap:24px}.matchup-vat{grid-column:auto!important;width:min(100%,214px)}.vat-chamber{height:154px}.distribution-list{max-height:145px}.round-flow{display:none}.champion-destination{margin-top:28px}.bracket-legend{display:grid}.public-tournament-shell{width:min(100% - 20px,680px);padding-top:12px}.public-tournament-header{grid-template-columns:1fr;gap:18px;padding:22px;border-radius:22px}.public-status{grid-template-columns:1fr auto;align-items:center}.public-share-card .share-controls{grid-template-columns:1fr}.public-round{padding:18px;border-radius:22px}.public-matchup-grid{grid-template-columns:1fr}}@media (max-width:430px){.tournament-settings{grid-template-columns:1fr}.duration-setting{grid-column:auto}.command-metrics div{padding-inline:10px}.winner-banner{align-items:flex-start}.winner-banner strong{font-size:1.35rem}.public-tournament-header h1{font-size:clamp(2.8rem,15vw,4rem)}.public-share-card{padding:13px}.public-share-card .share-actions,.share-actions{grid-template-columns:1fr 1fr}.share-actions a{grid-column:1/-1}.public-round-heading{align-items:flex-start}.vote-budget{grid-template-columns:1fr}.vote-budget strong{grid-row:auto;grid-column:auto}.public-vote-button{grid-template-columns:auto minmax(0,1fr)}.public-vote-button b{grid-column:1/-1;text-align:center}}.visibility-setting{display:grid;grid-column:1/-1;grid-template-columns:1fr 1fr;grid-gap:7px;gap:7px;min-width:0;padding:0;border:0}.visibility-setting legend{grid-column:1/-1;margin-bottom:5px;color:#60756f;font-size:.61rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.visibility-option{position:relative;display:grid;min-width:0;min-height:70px;padding:9px 9px 9px 29px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.82);cursor:pointer}.visibility-option-selected{border-color:rgba(22,61,52,.54);background:rgba(230,255,115,.2);box-shadow:inset 0 0 0 1px rgba(22,61,52,.08)}.visibility-option input{position:absolute;top:12px;left:9px;margin:0;accent-color:var(--ink)}.visibility-option span{display:grid;align-content:start;grid-gap:3px;gap:3px}.visibility-option strong{font-size:.69rem}.visibility-option small{color:var(--muted);font-size:.55rem;line-height:1.35}.visibility-badge{display:inline-flex;width:-moz-fit-content;width:fit-content;margin-top:11px;padding:5px 8px;border:1px solid rgba(22,61,52,.14);border-radius:99px;background:rgba(255,255,255,.72);color:#4f6d65;font-size:.61rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.lobby-shell{width:min(100% - 40px,1260px);min-height:100vh;margin:0 auto;padding:18px 0 80px}.lobby-nav{display:flex;align-items:center;justify-content:space-between;gap:20px}.site-brand{display:inline-flex;align-items:center;gap:9px;color:var(--ink-deep);text-decoration:none}.site-brand strong{font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-weight:500;letter-spacing:-.035em}.site-brand-mascot{width:52px;height:52px;flex:0 0 auto;filter:drop-shadow(0 5px 5px rgba(14,42,35,.18));object-fit:contain;transition:transform .15s ease}.site-brand:hover .site-brand-mascot{transform:translateY(-2px) rotate(-2deg)}.site-brand:focus-visible{border-radius:8px;outline:3px solid color-mix(in srgb,var(--coral) 65%,white);outline-offset:4px}.page-site-brand{width:-moz-fit-content;width:fit-content;margin:0 0 21px}.page-site-brand .site-brand-mascot{width:58px;height:58px}.page-site-brand strong{font-size:1.3rem}.lobby-nav-create,.lobby-primary-cta,.lobby-secondary-cta{display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:0 16px;border-radius:12px;font-size:.72rem;font-weight:850;text-decoration:none}.lobby-nav-create,.lobby-primary-cta{background:var(--ink-deep);box-shadow:0 12px 24px rgba(13,42,36,.17);color:#fff}.lobby-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr);min-height:475px;align-items:center;grid-gap:clamp(35px,7vw,100px);gap:clamp(35px,7vw,100px);overflow:hidden;margin:18px 0 54px;padding:clamp(34px,6vw,78px);border:1px solid var(--line);border-radius:34px;background:radial-gradient(circle at 86% 18%,rgba(91,214,173,.2),transparent 18rem),radial-gradient(circle at 8% 85%,rgba(230,255,115,.5),transparent 25rem),rgba(255,255,255,.76);box-shadow:var(--shadow)}.lobby-hero:before{position:absolute;inset:0;background-image:radial-gradient(rgba(22,61,52,.07) 1px,transparent 0);background-size:22px 22px;content:"";-webkit-mask-image:linear-gradient(90deg,transparent,#000 68%,transparent);mask-image:linear-gradient(90deg,transparent,#000 68%,transparent);pointer-events:none}.lobby-hero>div:first-child{position:relative;z-index:1}.lobby-hero h1{max-width:760px;margin:10px 0 18px;font-size:clamp(3.4rem,6.3vw,6.5rem);font-weight:500;letter-spacing:-.072em;line-height:.88}.lobby-hero h1,.lobby-hero-tagline{font-family:Georgia,Times New Roman,serif}.lobby-hero-tagline{margin:0 0 12px;color:var(--ink-deep);font-size:clamp(1.25rem,2vw,1.85rem);font-style:italic;line-height:1.15}.lobby-hero-copy{max-width:620px;margin:0;color:var(--muted);font-size:clamp(.85rem,1.3vw,1.05rem);line-height:1.6}.lobby-hero-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}.lobby-primary-cta{min-height:50px;padding-inline:21px}.lobby-secondary-cta{min-height:50px;border:1px solid var(--line);background:rgba(255,255,255,.74);color:var(--ink)}.lobby-hero-mascot{position:relative;z-index:1;width:min(34vw,390px);justify-self:center;filter:drop-shadow(0 32px 28px rgba(18,55,46,.18));transform:rotate(2deg)}.lobby-hero-mascot img{display:block;width:100%;height:auto}.lobby-section{margin-top:48px}.lobby-section>header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:17px}.lobby-section>header div{display:grid;grid-gap:4px;gap:4px}.lobby-section>header small,.lobby-section>header span{color:var(--muted);font-size:.64rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.lobby-section h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.1rem,4vw,3.4rem);font-weight:500;letter-spacing:-.055em;line-height:1}.lobby-tournament-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.lobby-tournament-card{display:grid;min-height:250px;padding:18px;overflow:hidden;border:1px solid var(--line);border-radius:21px;background:rgba(255,255,255,.82);box-shadow:0 13px 35px rgba(27,61,52,.06);color:var(--ink);text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.lobby-tournament-card:hover{border-color:rgba(22,61,52,.38);box-shadow:0 20px 42px rgba(27,61,52,.12);transform:translateY(-3px)}.lobby-card-footer,.lobby-card-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.lobby-phase-badge{display:inline-flex;align-items:center;gap:6px;color:#496c63;font-size:.62rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.lobby-phase-badge i{width:8px;height:8px;border-radius:50%;background:#39b77f;box-shadow:0 0 0 4px rgba(57,183,127,.12)}.lobby-tournament-card[data-phase=completed] .lobby-phase-badge i{background:#8b9c97;box-shadow:0 0 0 4px rgba(95,116,110,.1)}.popularity-rank{color:#71867f;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem;font-weight:800}.lobby-ball-line{display:flex;min-height:39px;align-items:center;margin:19px 0 9px;padding-left:5px}.lobby-ball-line i,.lobby-winner-line i{display:inline-block;width:32px;height:32px;margin-left:-5px;border:2px solid #fff;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff 0 7%,transparent 11%),var(--lobby-ball-color);box-shadow:inset -3px -4px 7px rgba(16,45,37,.2),0 5px 9px rgba(16,45,37,.13)}.lobby-tournament-card h3{margin:3px 0 6px;font-family:Georgia,Times New Roman,serif;font-size:1.55rem;font-weight:500;letter-spacing:-.04em;line-height:1.05}.lobby-tournament-card>p{margin:0;color:var(--muted);font-size:.69rem}.lobby-round-countdown{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:12px!important;padding:9px 11px;border-radius:11px;background:rgba(230,255,115,.34)}.lobby-round-countdown span{color:#527068;font-size:.6rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.lobby-round-countdown strong{color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lobby-winner-line{display:flex;align-items:center;gap:8px}.lobby-winner-line i{width:20px;height:20px;margin:0}.lobby-card-footer{align-self:end;margin-top:21px;padding-top:14px;border-top:1px solid var(--line);font-size:.65rem}.lobby-card-footer strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.lobby-card-footer span{color:#477168;font-weight:800}.lobby-empty-state{display:flex;min-height:160px;align-items:center;justify-content:center;gap:12px;border:1px dashed rgba(22,61,52,.24);border-radius:20px;background:rgba(255,255,255,.4);color:var(--muted)}.lobby-empty-state span{font-size:1.6rem}.lobby-empty-state p{margin:0;font-size:.78rem}@media (max-width:920px){.lobby-hero{grid-template-columns:minmax(0,1fr) 220px;min-height:420px;padding:45px}.lobby-hero h1{font-size:clamp(3.3rem,8vw,5rem)}.lobby-hero-mascot{width:250px}.lobby-tournament-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.lobby-shell{width:min(100% - 24px,1260px);padding-top:12px}.lobby-nav-create{min-height:38px;padding-inline:12px}.lobby-hero{display:block;min-height:0;margin-top:12px;padding:38px 24px 245px;border-radius:26px}.lobby-hero h1{font-size:clamp(3rem,15vw,4.7rem)}.lobby-hero-mascot{position:absolute;right:14px;bottom:-28px;width:250px}.lobby-tournament-grid{grid-template-columns:1fr}.lobby-section>header{align-items:flex-start;flex-direction:column;gap:7px}.visibility-setting{grid-template-columns:1fr}}