:root{--login-red:#d10a10;--login-blue:#0052a3;--login-sky:#48a7e2}.loginShell{color:#32302c;background:#f7f7f7;justify-content:center;align-items:center;min-height:100vh;padding:1rem;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}.loginCard{background:#fff;border-radius:12px;width:100%;max-width:420px;padding:1.75rem;box-shadow:0 2px 12px #00000014}.logoWrap{text-align:center;margin-bottom:.6rem}.logoWrap img{max-width:160px;height:auto}.wordmark{text-align:center;margin-bottom:1.4rem;font-family:Roboto,sans-serif;font-size:1.9rem;font-weight:800;line-height:1;transform:scaleX(.9)}.wordmarkAdr,.wordmarkDot{color:var(--login-red)}.wordmarkLab{color:var(--login-blue)}.wordmarkCloud{color:var(--login-sky)}.loginCard h1{margin:0 0 .4rem;font-size:1.4rem}.loginIntro{color:#6e757c;margin:0 0 1.2rem;font-size:.92rem}.loginForm .field{margin-bottom:.9rem}.loginForm label{color:#32302c;margin-bottom:.35rem;font-size:.88rem;font-weight:400;display:block}.loginForm input{border:2px solid #e0e0e0;border-radius:8px;width:100%;padding:.72rem .8rem;font-family:inherit;font-size:.95rem}.loginForm input:focus{border-color:var(--login-red);outline:none}.loginError{color:#b42318;background:#fff5f5;border:1px solid #ffd9d9;border-radius:8px;margin:0 0 1rem;padding:.65rem .75rem;font-size:.88rem}.loginButton{background:var(--login-red);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:.78rem .9rem;font-size:.95rem;font-weight:600}.loginButton:hover{background:#b8090e}.authNotice{color:#26415a;background:#f4f8fc;border:1px solid #cfe0ef;border-radius:8px;margin-top:1rem;padding:.85rem .9rem;font-size:.88rem}.authNotice strong{color:#1c3042}.authActions{gap:.6rem;margin-top:.8rem;display:flex}.authActions a{border-radius:8px;flex:1;justify-content:center;align-items:center;padding:.7rem .85rem;font-weight:600;text-decoration:none;display:inline-flex}.authLinkPrimary{background:var(--login-red);color:#fff}.authLinkSecondary{color:#32302c;background:#edeaec}@media (max-width:480px){.loginCard{padding:1.25rem}}:root{--bg:#f4f7f2;--card:#fff;--text:#1c2a1f;--muted:#5a6b5f;--line:#d5dfd6;--accent:#2a6f44}*{box-sizing:border-box}html,body{background:radial-gradient(circle at top right, #e8f3ea, var(--bg));color:var(--text);margin:0;padding:0;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.portal{flex-direction:column;gap:16px;max-width:1080px;margin:0 auto;padding:24px 20px 28px;display:flex}.portalHeader h1{letter-spacing:.01em;margin:0;font-size:clamp(1.85rem,3vw,2.35rem);font-weight:700}.portalHeader p{color:var(--muted);margin:8px 0 0;font-weight:400}.homePortal{color:#32302c;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.homePortal .portalHeader h1{font-size:clamp(1.8rem,3vw,2.25rem);font-weight:700}.homePortal .portalHeader p{color:#6e757c;font-size:.92rem}.homePortal .primaryLink{color:#fff;background:#d10a10;border-color:#d10a10;border-radius:8px;font-weight:600}.homePortal .primaryLink:hover{background:#b8090e;border-color:#b8090e}.menuGrid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.menuCard{background:var(--card);border:1px solid var(--line);color:inherit;border-radius:14px;padding:14px;text-decoration:none;box-shadow:0 1px 2px #0000000a}.menuCard h2{margin:0 0 8px;font-size:1.05rem;font-weight:600}.menuCard p{color:var(--muted);margin:0;font-weight:400}.menuCard:hover{border-color:#bcc9be;box-shadow:0 3px 10px #101a1312}.footerActions{flex-wrap:wrap;gap:10px;margin-top:auto;display:flex}.panel h2{margin:0 0 12px;font-size:1.05rem}.stackForm{gap:10px;max-width:420px;display:grid}.stackForm.wideForm{max-width:none}.stackForm label{font-size:.95rem;font-weight:600}.checkboxRow{align-items:center;gap:8px;font-weight:500;display:inline-flex}.stackForm input,.stackForm select{border:1px solid var(--line);font:inherit;border-radius:10px;padding:10px}.primaryButton{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:10px;width:fit-content;padding:10px 14px;text-decoration:none;display:inline-block}.tableWrap{overflow-x:auto}.simpleTable{border-collapse:collapse;width:100%}.simpleTable th,.simpleTable td{text-align:left;border-bottom:1px solid var(--line);padding:10px 6px}.simpleTable th{color:var(--muted);font-weight:600}.mutedText{color:var(--muted)}.inlineLink{color:var(--accent);font-weight:600;text-decoration:none}.inlineLink:hover{opacity:.82}.scoreInput{border:1px solid var(--line);width:64px;font:inherit;border-radius:8px;padding:6px 8px}.teamLogoPreview{border:1px solid var(--line);object-fit:contain;background:#fff;border-radius:10px;width:min(220px,100%);height:auto;display:block}.feedbackError,.feedbackSuccess{border-radius:10px;margin:0;padding:10px 12px}.feedbackError{color:#7a2020;background:#fdecec;border:1px solid #c93a3a}.feedbackSuccess{color:#1e5f3d;background:#eaf8ef;border:1px solid #2c8a57}.primaryLink,.secondaryLink{border:1px solid var(--line);border-radius:10px;padding:10px 14px;text-decoration:none;display:inline-block}.primaryLink{background:var(--accent);color:#fff;border-color:var(--accent);width:fit-content}.secondaryLink{color:var(--text);background:#fff}.footerActions{margin-top:auto}.previewActions{align-items:center;gap:10px;display:flex}.embedCodeButton{white-space:pre-wrap;overflow-wrap:anywhere;text-align:left;cursor:copy;width:100%;max-width:min(100%,980px);font-family:Consolas,Courier New,monospace;line-height:1.45}.previewPage{max-width:1460px}.bracketWidget{gap:12px;display:grid}.bracketControls{justify-content:space-between;align-items:center;gap:12px;display:flex}.roundIndicator{color:var(--muted);text-align:center;min-width:72px;margin:0;font-size:.95rem;font-weight:600}.roundNavButton{border:1px solid var(--line);color:var(--text);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:8px 12px}.roundNavButton:disabled{opacity:.45;cursor:not-allowed}.bracketViewport{scroll-snap-type:none;overscroll-behavior-x:contain;padding:8px 4px;overflow-x:auto}.bracketBoard{align-items:flex-start;gap:22px;min-width:max-content;padding:8px 6px;display:flex}.roundColumn{scroll-snap-align:center;transform-origin:top;will-change:width, transform, opacity;flex:0 0 304px;width:304px;transition:width .98s cubic-bezier(.18,.72,.2,1),opacity .9s cubic-bezier(.18,.72,.2,1),transform .98s cubic-bezier(.18,.72,.2,1)}.roundColumn h2{color:var(--muted);text-align:center;margin:0 0 12px;font-size:1rem;transition:color .62s,opacity .62s}.roundMatches{padding-top:var(--round-padding-top,0px);gap:var(--round-gap,12px);flex-direction:column;display:flex}.matchCard{border:1px solid var(--line);will-change:transform, opacity;background:#fff;border-radius:14px;padding:11px;transition:transform .98s cubic-bezier(.18,.72,.2,1),opacity .9s cubic-bezier(.18,.72,.2,1),box-shadow .9s,border-color .9s,background-color .9s;position:relative;box-shadow:0 1px 2px #0000000a}.matchMeta{color:var(--muted);margin:0 0 8px;font-size:.85rem}.matchRow{border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;display:flex}.matchRow span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.teamIdentity{align-items:center;gap:8px;min-width:0;display:inline-flex}.teamLogo,.teamLogoFallback{background:#fff;border:1px solid #d3ddd5;border-radius:50%;flex:0 0 22px;width:22px;height:22px}.teamLogo{object-fit:cover}.teamLogoFallback{color:var(--muted);justify-content:center;align-items:center;font-size:.7rem;display:inline-flex}.matchRow.isWinner{background:#eef7f1;font-weight:600}.matchNote{color:var(--muted);margin:8px 0 0;font-size:.85rem}.roundColumn.isActive h2{color:var(--text)}.roundColumn.isActive .matchCard{opacity:1;transform:translate(0)scale(1);box-shadow:0 2px 6px #101a1314}.roundColumn.isNext .matchCard{opacity:.98;transform:translate(0)scale(1)}.roundColumn.isPrevious .matchCard{opacity:.92;transform:translate(-1px)scale(.99)}.roundColumn.isFutureDistant .matchCard,.roundColumn.isPastDistant .matchCard{opacity:.78;transform:translate(-2px)scale(.98)}.bracketWidget.isResponsiveCompact{--compact-right-card-height:90px;--compact-left-gap:6px;--compact-left-card-height:calc((var(--compact-right-card-height) - var(--compact-left-gap)) / 2)}.bracketWidget{--connector-color:#9caca2eb;--connector-arm:20px;--connector-radius:9px}.bracketWidget.isResponsiveCompact .roundColumn.isActive .matchCard,.bracketWidget.isResponsiveCompact .roundColumn.isNext .matchCard{min-height:var(--compact-right-card-height);height:var(--compact-right-card-height)}.bracketWidget.isResponsiveCompact .roundColumn.isNext{opacity:.93;flex-basis:272px;width:272px;transform:none}.bracketWidget.isResponsiveCompact .roundColumn.isPrevious{opacity:.82;flex-basis:246px;width:246px;transform:translateY(0)}.bracketWidget.isResponsiveCompact .roundColumn.isPrevious .roundMatches{gap:var(--compact-left-gap)}.bracketWidget.isResponsiveCompact .roundColumn.isPrevious .matchCard{height:var(--compact-left-card-height);min-height:var(--compact-left-card-height);padding:3px 5px}.bracketWidget.isResponsiveCompact .roundColumn.isFutureDistant .matchCard,.bracketWidget.isResponsiveCompact .roundColumn.isPastDistant .matchCard{padding:4px 6px}.bracketWidget.isResponsiveCompact .roundColumn.isPrevious .matchMeta{display:none}.bracketWidget.isResponsiveCompact .roundColumn.isFutureDistant .matchMeta,.bracketWidget.isResponsiveCompact .roundColumn.isPastDistant .matchMeta{margin-bottom:2px;font-size:.62rem}.bracketWidget.isResponsiveCompact .roundColumn.isPrevious .matchRow{padding:1px 4px;font-size:.7rem;line-height:1.05}.bracketWidget.isResponsiveCompact .roundColumn.isFutureDistant .matchRow,.bracketWidget.isResponsiveCompact .roundColumn.isPastDistant .matchRow{padding:1px 4px;font-size:.72rem;line-height:1.05}.bracketWidget.isResponsiveCompact .roundColumn.isFutureDistant,.bracketWidget.isResponsiveCompact .roundColumn.isPastDistant{opacity:.68;flex-basis:214px;width:214px;transform:translateY(10px)scale(.84)}.bracketWidget.isResponsiveCompact .roundColumn.isPrevious .teamLogo,.bracketWidget.isResponsiveCompact .roundColumn.isPrevious .teamLogoFallback,.bracketWidget.isResponsiveCompact .roundColumn.isFutureDistant .teamLogo,.bracketWidget.isResponsiveCompact .roundColumn.isFutureDistant .teamLogoFallback,.bracketWidget.isResponsiveCompact .roundColumn.isPastDistant .teamLogo,.bracketWidget.isResponsiveCompact .roundColumn.isPastDistant .teamLogoFallback{flex-basis:11px;width:11px;height:11px}.bracketWidget.isResponsiveCompact .roundColumn.isPrevious .teamIdentity{gap:4px}.pairConnector{width:var(--connector-arm);opacity:.9;pointer-events:none;z-index:3;transition:opacity 1.6s cubic-bezier(.16,.72,.2,1);position:absolute}.pairConnector svg{width:100%;height:100%;display:block}.pairConnector path{fill:none;stroke:var(--connector-color);stroke-width:1.25px;stroke-linecap:round;stroke-linejoin:round}.pairConnectorRight{right:calc(-1 * var(--connector-arm));top:calc(50% + (var(--connector-right-span,96px) / 2));height:var(--connector-right-span,96px);display:block;transform:translateY(-50%)}.roundColumn:last-child .pairConnectorRight{display:none}.roundColumn.isActive .pairConnector,.roundColumn.isNext .pairConnector,.roundColumn.isPrevious .pairConnector{opacity:1}.roundColumn.isFutureDistant .pairConnector,.roundColumn.isPastDistant .pairConnector{opacity:.55}@media (prefers-reduced-motion:reduce){.roundColumn,.matchCard,.roundColumn h2,.pairConnector{transition:none}}.editLayout{grid-template-columns:220px minmax(0,1fr);gap:20px;max-width:1280px;display:grid}.editSidebar{background:var(--card);border:1px solid var(--line);border-radius:14px;align-self:start;padding:14px;position:sticky;top:20px}.editSidebar h2{margin:0 0 10px;font-size:1rem}.editNav{gap:8px;display:grid}.editNavLink{color:var(--text);border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;text-decoration:none}.editNavLink.isActive{border-color:var(--accent);background:#eef7f1;font-weight:600}.editMain{flex-direction:column;gap:16px;min-width:0;display:flex}@media (max-width:900px){.editLayout{grid-template-columns:1fr}.editSidebar{position:static}.bracketWidget.isResponsiveCompact .roundColumn{flex-basis:270px;width:270px}.bracketWidget.isResponsiveCompact .roundColumn.isNext{flex-basis:244px;width:244px;transform:none}.bracketWidget.isResponsiveCompact .roundColumn.isPrevious{flex-basis:220px;width:220px;transform:translateY(0)}.bracketWidget.isResponsiveCompact .roundColumn.isFutureDistant,.bracketWidget.isResponsiveCompact .roundColumn.isPastDistant{flex-basis:196px;width:196px;transform:translateY(8px)scale(.82)}.bracketControls{flex-wrap:nowrap;gap:8px}.roundIndicator{order:0;width:auto;min-width:54px;font-size:.88rem}.pairConnector{display:block}.matchCard{padding:8px}.matchMeta{margin-bottom:5px;font-size:.75rem}.matchRow{padding:4px 6px;font-size:.85rem}.teamLogo,.teamLogoFallback{flex-basis:18px;width:18px;height:18px}}
