:root{--c-white: #ffffff;--c-text: #1a1626;--c-subtext: #4a4557;--c-muted: #6f6980;--c-muted2: #6f6980;--c-neutral: #6f6980;--c-accent2-text: #6366f1;--c-chip-bg: #f3f0fb;--c-chip-border: rgba(20,16,40,.09);--c-brand: #6366f1;--c-brand-dark: #3b82f6;--c-brand-hover: #4f46e5;--c-brand-alt: #3b82f6;--c-success-bg: rgba(15,157,112,.12);--c-success-text: #0f9d70;--c-border: rgba(20,16,40,.09);--c-border2: rgba(20,16,40,.09);--c-border3: rgba(20,16,40,.09);--c-border4: rgba(20,16,40,.09);--c-border5: rgba(20,16,40,.09);--c-error-text: #e11d5b;--c-error-bg: rgba(225,29,91,.1);--c-error-text-strong: #b0123f;--c-gold: #f59e0b;--c-surface: #f3f0fb;--c-info-bg: rgba(59,130,246,.12);--c-info-text: #1d4ed8;--c-purple-bg: rgba(99,102,241,.12);--c-purple-text: #4338ca;--c-warn-bg: rgba(245,158,11,.14);--c-warn-text: #c77d0a;--c-shell-bg: #f4f1fb;--c-hero-bg: #1a1730;--c-banner-bg: #1a1730;--gradient-brand: linear-gradient(135deg, #3b82f6 0%, #6366f1 52%, #22d3ee 100%);color:var(--c-text);background:var(--c-shell-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.page-shell{background:var(--c-shell-bg);display:grid;grid-template-columns:minmax(360px,1.08fr) minmax(380px,.92fr);min-height:100vh}.page-shell-solo{grid-template-columns:1fr;background:linear-gradient(180deg,#e9e5f6,#f4f1fb 46%)}.page-shell-solo .auth-panel{align-items:flex-start;padding-top:16px}.page-shell-solo .authed-shell{max-width:1120px;width:min(100%,1120px)}.page-shell:not(.page-shell-solo){height:100vh;overflow:hidden}.page-shell:not(.page-shell-solo) .auth-panel{height:100vh;overflow-y:auto;align-items:flex-start;padding-top:28px;padding-bottom:28px}.authed-shell{display:grid;gap:20px;width:100%}.result-block{display:grid;gap:4px}.result-title{font-size:1.02rem;font-weight:800;margin:0}.result-label{font-weight:800;margin:8px 0 0;text-transform:uppercase;font-size:.8rem}.result-label.warn{color:var(--c-error-text-strong)}.result-list{margin:2px 0 0;padding-left:20px}.result-list li{line-height:1.5}.top-bar{align-items:center;background:var(--gradient-brand);border-radius:12px;box-shadow:0 12px 28px #6366f14d;color:var(--c-white);display:flex;justify-content:space-between;min-height:60px;padding:0 14px 0 0;position:sticky;top:8px;z-index:30}.top-bar-brand{align-items:stretch;align-self:stretch;background:transparent;border:0;color:var(--c-white);cursor:pointer;display:flex;padding:0}.top-bar-brand:hover{opacity:.85}.brand-mark.small{font-size:.95rem;height:34px;line-height:34px;min-width:34px;text-align:center;width:34px}.top-bar-title{font-weight:800;letter-spacing:.02em}.wallet-pill{align-items:center;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:999px;color:var(--c-white);cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:800;gap:8px;margin-left:16px;padding:9px 14px}.wallet-pill:hover{background:#ffffff4d}.wallet-pill svg{color:var(--c-gold)}.top-bar-right{align-items:center;display:flex;gap:10px;margin-left:auto}.refresh-chip{background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:var(--c-white);cursor:pointer;font-weight:800;padding:8px 14px}.refresh-chip:hover{background:#ffffff38}.top-bar-user{position:relative}.room-detail-line{align-items:center;color:var(--c-subtext);display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.room-detail-line strong{color:var(--c-text)}.time-tiles{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px}.time-tile{align-items:center;background:var(--c-surface);border:1px solid var(--c-border);border-radius:14px;display:flex;flex:1;gap:8px;min-width:160px;padding:10px 14px}.time-tile svg{color:var(--c-accent2-text);flex:none}.time-tile div{display:grid;gap:2px}.time-tile span{color:var(--c-muted);font-size:.7rem;font-weight:700;text-transform:uppercase}.time-tile strong{color:var(--c-text);font-size:.85rem}.user-chip{align-items:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:var(--c-white);cursor:pointer;display:flex;font-weight:800;gap:10px;padding:6px 14px 6px 6px}.user-chip:hover{background:#ffffff2e}.user-avatar{align-items:center;background:var(--c-gold);border-radius:50%;color:#1a1626;display:flex;font-size:.8rem;font-weight:800;height:34px;justify-content:center;text-transform:uppercase;width:34px}.user-name{display:grid;line-height:1.15;text-align:left}.user-fullname{font-size:.95rem}.user-balance{color:var(--c-gold);font-size:.78rem;font-weight:800}.chevron{align-items:center;color:var(--c-white);display:inline-flex}.menu-backdrop{background:transparent;border:0;cursor:default;top:0;right:0;bottom:0;left:0;position:fixed;z-index:20}.user-menu{background:var(--c-white);border:1px solid rgba(20,16,40,.09);border-radius:10px;box-shadow:0 18px 40px #14102840;display:grid;min-width:190px;overflow:hidden;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:21}.user-menu button{background:transparent;border:0;border-radius:7px;color:#1a1626;cursor:pointer;font-weight:800;padding:11px 12px;text-align:left}.user-menu button:hover{background:var(--c-surface)}.user-menu button.danger{color:var(--c-error-text)}.user-menu button.danger:hover{background:var(--c-error-bg)}.authed-body{background:var(--c-white);border:1px solid rgba(20,16,40,.09);border-radius:22px;padding:clamp(18px,3vw,28px)}.authed-body .management-console,.authed-body .role-panel,.authed-body .admin-panel{border-top:0;margin-top:0;padding-top:0}.profile-avatar-row{align-items:center;display:flex;gap:14px;margin-bottom:16px}.profile-avatar{background:var(--c-chip-bg);border-radius:50%;cursor:pointer;display:block;flex:none;height:84px;overflow:hidden;position:relative;width:84px}.profile-avatar img{height:100%;object-fit:cover;width:100%}.profile-avatar-fallback{align-items:center;color:var(--c-accent2-text);display:flex;font-size:1.6rem;font-weight:800;height:100%;justify-content:center;width:100%}.profile-avatar-badge{align-items:center;background:var(--c-brand);border:2px solid var(--c-white);border-radius:50%;bottom:0;color:#fff;display:flex;height:26px;justify-content:center;position:absolute;right:0;width:26px}.profile-avatar-spinner{animation:pay-spin .8s linear infinite;border:2px solid rgba(255,255,255,.4);border-radius:50%;border-top-color:#fff;height:12px;width:12px}.profile-avatar-info{display:grid;gap:6px}.profile-avatar-info strong{color:var(--c-text);font-size:1.15rem}.profile-player-pill{align-items:center;background:var(--c-chip-bg);border-radius:999px;color:var(--c-accent2-text);display:inline-flex;font-size:.75rem;font-weight:800;gap:5px;padding:4px 10px;width:fit-content}.profile-grid{display:grid;gap:12px;grid-template-columns:1fr 1fr;margin:0}.profile-grid div{background:#f6f5fb;border:1px solid var(--c-border3);border-radius:14px;display:grid;gap:4px;padding:12px 14px}.profile-grid dt{color:var(--c-muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.profile-grid dd{color:var(--c-text);font-weight:800;margin:0;overflow-wrap:anywhere}.balance-callout{align-items:center;background:var(--c-surface);border:1px solid var(--c-border);border-radius:10px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:14px 18px}.wallet-card{margin-bottom:16px}.balance-callout span{color:var(--c-muted);font-weight:800;text-transform:uppercase}.balance-callout strong{color:var(--c-text);font-size:1.5rem}.brand-panel{background:var(--gradient-brand);display:flex;height:100vh;overflow:hidden;padding:0}.login-hero-image{display:block;height:100%;min-height:100vh;object-fit:cover;width:100%}.hero-topline{align-items:center;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}.brand-mark{align-items:center;background:var(--c-gold);border:1px solid rgba(255,255,255,.35);border-radius:14px;box-shadow:0 16px 40px #14102847;color:#1a1626;display:inline-flex;font-weight:800;height:58px;justify-content:center;width:58px}.live-pill{align-items:center;background:#141028b8;border:1px solid rgba(241,194,73,.45);border-radius:999px;color:#ffe7a4;display:inline-flex;font-size:.86rem;font-weight:800;gap:9px;padding:9px 13px}.live-pill span{background:#0f9d70;border-radius:999px;box-shadow:0 0 0 4px #0f9d7026;height:9px;width:9px}.hero-copy{display:grid;gap:18px;max-width:760px}.eyebrow,.form-heading p{font-size:.78rem;font-weight:800;letter-spacing:0;margin:0;text-transform:uppercase}.eyebrow{color:var(--c-gold)}.hero-copy h2{font-size:clamp(2.55rem,6.4vw,5.8rem);line-height:.95;margin:0;max-width:820px}.hero-copy p:last-child{color:#dcd9f2;font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.55;margin:0;max-width:650px}.game-table{background:#141028d1;border:1px solid rgba(241,194,73,.32);border-radius:14px;box-shadow:0 24px 70px #1410285c;display:grid;gap:16px;max-width:780px;padding:clamp(16px,2.2vw,22px)}.ticker-row{display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.ticker-row span{background:#1a1730;border:1px solid rgba(255,255,255,.11);border-radius:14px;color:#f3f0fb;font-size:clamp(.72rem,1.1vw,.86rem);font-weight:800;min-height:36px;padding:9px 10px;text-align:center}.market-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.market-tile{border-radius:14px;display:grid;gap:8px;min-height:144px;overflow:hidden;padding:16px;position:relative}.market-tile:after{border-bottom:3px solid currentColor;border-left:3px solid currentColor;bottom:18px;content:"";height:28px;opacity:.32;position:absolute;right:16px;transform:skew(-26deg);width:64px}.market-tile span{font-size:.74rem;font-weight:800;text-transform:uppercase}.market-tile strong{font-size:clamp(1.2rem,2vw,1.55rem);line-height:1}.market-tile em{align-self:end;font-style:normal;font-weight:800}.market-tile.rise{background:#dcf5ec;color:#0f9d70}.market-tile.bond{background:var(--c-warn-bg);color:var(--c-warn-text)}.market-tile.luck{background:var(--c-info-bg);color:var(--c-info-text)}.round-strip{display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.round-strip div{background:#ffffff14;border:1px solid rgba(255,255,255,.11);border-radius:14px;display:grid;gap:5px;padding:12px}.round-strip span{color:#ffffff9e;font-size:.76rem;font-weight:800;text-transform:uppercase}.round-strip strong{color:var(--c-white);font-size:clamp(1rem,1.5vw,1.18rem)}.auth-panel{align-items:center;background:linear-gradient(160deg,#f3f0fb,#eeeaf8 55%,#e9e5f6),linear-gradient(90deg,rgba(20,16,40,.06) 1px,transparent 1px);display:flex;justify-content:center;padding:clamp(24px,5vw,64px)}.auth-form{display:grid;gap:14px;max-width:520px;width:min(100%,520px)}.auth-form .form-heading{gap:4px}.auth-form .form-heading h1{font-size:clamp(1.5rem,3.2vw,2.05rem)}.auth-form .field{gap:5px}.auth-form .field span{font-size:.85rem}.auth-form .field input,.auth-form .field select{min-height:44px;padding:10px 12px}.auth-form .primary-button{min-height:46px}.form-heading{display:grid;gap:9px}.form-heading h1{color:var(--c-text);font-size:clamp(2rem,4.6vw,3.25rem);line-height:1.02;margin:0}.form-heading p{color:var(--c-muted)}.field{display:grid;gap:7px}.field span{color:var(--c-subtext);font-size:.95rem;font-weight:800}.field input,.field select{background:var(--c-white);border:1px solid var(--c-border2);border-radius:14px;color:var(--c-text);min-height:50px;outline:none;padding:12px 14px;width:100%}.field input:focus,.field select:focus{border-color:var(--c-brand);box-shadow:0 0 0 3px #6366f126}.field input[aria-invalid=true]{border-color:#e11d5b}.field-error{color:var(--c-error-text);font-weight:800}.field-grid{display:grid;gap:14px;grid-template-columns:1fr 1fr}.hint{color:var(--c-muted2);font-size:.92rem;margin:-8px 0 0}.hint.success{color:#0f9d70}.notice{background:#f3f0fb;border:1px solid rgba(20,16,40,.09);border-radius:14px;color:var(--c-text);padding:12px 14px}.notice.error{background:var(--c-error-bg);border-color:#e11d5b59;color:var(--c-error-text-strong)}.notice.success{background:var(--c-success-bg);border-color:#0f9d7059;color:var(--c-success-text);margin-bottom:18px;width:min(100%,520px)}.notice.dev-code{background:#fdf1d9;border-color:#f0c26b;color:#92600a;font-weight:800}.primary-button{background:var(--c-brand);border:0;border-radius:14px;box-shadow:0 10px 24px #6366f147;color:var(--c-white);font-weight:800;min-height:52px;padding:12px 18px}.primary-button:hover{background:var(--c-brand-hover)}.primary-button:disabled{cursor:wait;opacity:.72}.secondary-button{background:var(--c-chip-bg);border:1px solid var(--c-chip-border);border-radius:14px;color:var(--c-accent2-text);font-weight:800;min-height:48px;padding:11px 16px}.secondary-button:hover{background:#e8e3f5;color:#4338ca}.secondary-button:disabled{cursor:wait;opacity:.72}.switch-copy,.button-row{align-items:center;color:var(--c-muted);display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0}.switch-copy button,.button-row button{background:transparent;border:0;color:#6366f1;font-weight:800;padding:4px}.switch-copy button:hover,.button-row button:hover{color:var(--c-brand-alt)}.email-target{color:var(--c-text);font-weight:800;margin:-8px 0 0;overflow-wrap:anywhere}.account-panel dl{display:grid;gap:12px;margin:0}.account-panel dl div{background:var(--c-white);border:1px solid var(--c-border);border-radius:14px;display:grid;gap:4px;padding:12px 14px}.account-panel dt{color:var(--c-muted);font-size:.82rem;font-weight:800;text-transform:uppercase}.account-panel dd{margin:0;overflow-wrap:anywhere}.role-panel,.admin-panel{border-top:1px solid var(--c-border);display:grid;gap:14px;margin-top:4px;padding-top:18px}.panel-heading{display:grid;gap:5px}.panel-heading p{color:var(--c-muted);font-size:.74rem;font-weight:800;margin:0;text-transform:uppercase}.panel-heading h2{color:var(--c-text);font-size:1.35rem;line-height:1.1;margin:0}.lookup-row{align-items:end;display:grid;gap:12px;grid-template-columns:1fr auto}.admin-editor{display:grid;gap:14px}.user-summary{display:grid;gap:10px;margin:0}.user-summary div{background:var(--c-white);border:1px solid var(--c-border);border-radius:14px;display:grid;gap:4px;padding:12px 14px}.user-summary dt{color:var(--c-muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.user-summary dd{margin:0;overflow-wrap:anywhere}@media(max-width:980px){.page-shell{grid-template-columns:1fr}.page-shell:not(.page-shell-solo){height:auto;overflow:visible}.page-shell:not(.page-shell-solo) .auth-panel{height:auto;overflow-y:visible}.brand-panel{height:auto;min-height:auto}.login-hero-image{min-height:0;max-height:40vh}}@media(max-width:680px){.brand-panel{padding:24px}.ticker-row,.market-grid,.round-strip{grid-template-columns:1fr}.market-tile{min-height:112px}}.management-console{border-top:1px solid var(--c-border);display:grid;gap:16px;margin-top:4px;padding-top:18px}.player-date-bar{align-items:center;display:flex;gap:14px;margin-bottom:12px}.player-date-bar label{align-items:center;display:flex;gap:8px}.player-date-bar>label>span{color:var(--c-accent2-text);font-size:.78rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.player-date-bar input[type=date]{background:var(--c-white);border:1px solid var(--c-chip-border);border-radius:14px;font:inherit;padding:8px 10px}.player-date-today{color:var(--c-neutral);font-weight:800}.date-step{align-items:center;background:var(--c-chip-bg);border:1px solid var(--c-chip-border);border-radius:999px;color:var(--c-accent2-text);cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.date-step:hover{background:var(--c-border)}.menu-bar{background:var(--c-chip-bg);border:1px solid var(--c-chip-border);border-radius:10px;display:flex;flex-wrap:wrap;gap:6px;padding:6px}.menu-item{background:transparent;border:0;border-radius:7px;color:var(--c-accent2-text);cursor:pointer;flex:1;font-weight:800;justify-content:center;min-height:44px;padding:10px 14px}.menu-item:hover{background:#eae6f7}.menu-item.active{background:var(--gradient-brand);color:var(--c-white)}.management-console .admin-panel,.management-console .role-panel{border-top:0;margin-top:0;padding-top:0}.filter-grid{display:grid;gap:14px;grid-template-columns:repeat(3,1fr)}.filter-actions{align-items:end;display:flex;flex-wrap:wrap;gap:10px;grid-column:1 / -1}.ghost-button{background:var(--c-white);border:1px solid var(--c-border2);border-radius:14px;color:var(--c-subtext);cursor:pointer;font-weight:800;min-height:44px;padding:9px 14px}.ghost-button:hover{border-color:var(--c-brand);color:var(--c-brand-alt)}.ghost-button:disabled{cursor:not-allowed;opacity:.55}.room-table-wrap{border:1px solid var(--c-border);border-radius:10px;overflow-x:auto}.room-table{border-collapse:collapse;min-width:640px;width:100%}.room-table th,.room-table td{border-bottom:1px solid var(--c-border3);padding:10px 12px;text-align:left;white-space:nowrap}.room-table th{background:var(--c-surface);color:var(--c-subtext);font-size:.82rem;text-transform:uppercase}.room-table tbody tr:last-child td{border-bottom:0}.empty-row{color:var(--c-muted2);text-align:center!important}.sort-header{align-items:center;background:transparent;border:0;color:var(--c-subtext);cursor:pointer;display:inline-flex;font:inherit;font-size:.82rem;font-weight:800;gap:6px;padding:0;text-transform:uppercase;white-space:nowrap}.sort-header:hover,.sort-header.active{color:var(--c-brand-alt)}.sort-ind{align-items:center;color:var(--c-muted);display:inline-flex}.sort-header.active .sort-ind{color:var(--c-brand-alt)}.select-col{text-align:center;width:44px}.select-col input{cursor:pointer;height:18px;width:18px}.room-table tbody tr.row-selected{background:#3b82f617}.list-meta{color:var(--c-muted2);font-weight:800;margin-left:auto}.player-banner{background:var(--c-banner-bg);border-radius:12px;color:var(--c-white);display:flex;flex-wrap:wrap;gap:28px;padding:14px 18px}.player-banner div{display:grid;gap:2px}.player-banner span{color:#ffffff9e;font-size:.75rem;font-weight:800;text-transform:uppercase}.player-banner strong{color:var(--c-gold);font-size:1.25rem}.team-summary{display:flex;flex-wrap:wrap;gap:12px}.team-summary div{background:var(--c-surface);border:1px solid var(--c-border);border-radius:10px;display:grid;gap:4px;flex:1;min-width:130px;padding:12px 14px}.team-summary span{color:var(--c-muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.team-summary strong{color:var(--c-text);font-size:1.4rem}.team-summary strong.over{color:var(--c-error-text)}.over-input{border-color:#e11d5b!important}.filled-signal{color:var(--c-success-text);font-weight:800;margin-left:10px}.delta{display:inline-block;margin-left:8px;font-size:.8rem;font-weight:800;white-space:nowrap}.delta.up{color:var(--c-success-text)}.delta.down{color:var(--c-error-text)}.delta.flat{color:var(--c-neutral)}.finish-flag{align-items:center;color:var(--c-success-text);display:inline-flex;margin-right:6px;vertical-align:-2px}.pay-line{margin:4px 0 12px;font-size:.95rem}.pay-line strong{font-weight:800}.pay-summary{display:flex;gap:24px;flex-wrap:wrap;background:var(--c-surface);border:1px solid rgba(20,16,40,.09);border-radius:10px;padding:12px 16px;margin-bottom:14px}.pay-summary div{display:flex;flex-direction:column}.pay-summary span{color:var(--c-neutral);font-size:.72rem;font-weight:800;text-transform:uppercase}.pay-summary strong{font-size:1.15rem;color:var(--c-text)}.pay-methods{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.pay-method{background:var(--c-chip-bg);border:1px solid var(--c-chip-border);border-radius:999px;color:var(--c-accent2-text);font-weight:800;padding:8px 16px}.pay-method.active{background:var(--gradient-brand);border-color:transparent;color:var(--c-white)}.pay-secure-note{color:var(--c-neutral);font-size:.82rem;margin:4px 0 8px}.pay-secure-note.foot-stat{display:flex}.pay-processing{align-items:center;display:flex;flex-direction:column;gap:10px;padding:48px 16px;text-align:center}.pay-processing h2{margin:6px 0 0}.pay-spinner{width:46px;height:46px;border-radius:50%;border:4px solid #e3e0ef;border-top-color:var(--c-brand);animation:pay-spin .8s linear infinite}.session-loading{align-items:center;display:flex;height:100vh;justify-content:center;width:100%}@keyframes pay-spin{to{transform:rotate(360deg)}}.confetti-overlay{bottom:0;left:0;overflow:hidden;pointer-events:none;position:fixed;right:0;top:0;z-index:9999}.confetti-piece{animation-fill-mode:forwards;animation-name:confetti-fall;animation-timing-function:ease-in;border-radius:2px;opacity:.95;position:absolute;top:-12px}@keyframes confetti-fall{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(var(--confetti-drift),110vh) rotate(var(--confetti-rotate));opacity:.2}}.confetti-rocket{animation-fill-mode:forwards;animation-name:confetti-rocket-rise;animation-timing-function:cubic-bezier(.2,.6,.3,1);bottom:0;font-size:30px;line-height:1;position:absolute}@keyframes confetti-rocket-rise{0%{opacity:0;transform:translateY(0) scale(.6)}15%{opacity:1}85%{opacity:1}to{opacity:0;transform:translateY(var(--confetti-rocket-height)) scale(1.15)}}.confetti-flash{animation-duration:.6s;animation-fill-mode:forwards;animation-name:confetti-flash;background:radial-gradient(circle,rgba(255,255,255,.95),rgba(245,158,11,.55) 45%,transparent 72%);border-radius:50%;height:16px;margin:-8px;position:absolute;width:16px}@keyframes confetti-flash{0%{opacity:1;transform:scale(0)}60%{opacity:.75;transform:scale(6.5)}to{opacity:0;transform:scale(9)}}.confetti-burst-piece{animation-duration:1.2s;animation-fill-mode:forwards;animation-name:confetti-burst;animation-timing-function:cubic-bezier(.15,.7,.3,1);border-radius:2px;position:absolute}@keyframes confetti-burst{0%{opacity:1;transform:translate(0) rotate(0)}to{opacity:0;transform:translate(var(--confetti-burst-x),var(--confetti-burst-y)) rotate(var(--confetti-burst-rotate))}}.refresh-status{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 12px;font-size:.85rem;color:var(--c-muted)}.refresh-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.refresh-dot.live{background:#0f9d70;box-shadow:0 0 0 3px #0f9d702e}.refresh-dot.down{background:var(--c-error-text);box-shadow:0 0 0 3px #e11d5b2e}.refresh-sep{color:var(--c-muted)}.refresh-desc{color:var(--c-neutral);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.type-chip-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.type-chip{background:var(--c-chip-bg);border:1px solid var(--c-chip-border);border-radius:999px;color:var(--c-accent2-text);cursor:pointer;font-weight:800;font-size:.82rem;padding:6px 14px}.type-chip.active{background:var(--gradient-brand);border-color:transparent;color:#fff}.filter-toggle{align-items:center;background:var(--c-chip-bg);border:1px solid var(--c-chip-border);border-radius:999px;color:var(--c-accent2-text);cursor:pointer;display:inline-flex;height:36px;justify-content:center;margin-left:auto;position:relative;width:36px}.filter-toggle.active{background:#3b82f61f;border-color:transparent;color:var(--c-brand)}.filter-badge{align-items:center;background:var(--c-brand);border-radius:999px;color:#fff;display:flex;font-size:.65rem;font-weight:800;height:16px;justify-content:center;min-width:16px;padding:0 4px;position:absolute;right:-4px;top:-4px}.filter-panel{background:var(--c-surface);border:1px solid var(--c-border);border-radius:14px;display:grid;gap:12px;margin-bottom:12px;padding:14px 16px}.bucket-row{display:grid;gap:6px}.bucket-row-label{color:var(--c-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.bucket-row-chips{display:flex;flex-wrap:wrap;gap:6px}.bucket-chip{background:var(--c-white);border:1px solid var(--c-border);border-radius:999px;color:var(--c-subtext);cursor:pointer;font-weight:700;font-size:.78rem;padding:5px 12px}.bucket-chip.active{background:var(--gradient-brand);border-color:transparent;color:#fff}.sort-bar{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.sort-bar-label{color:var(--c-neutral);font-size:.78rem;font-weight:800;text-transform:uppercase}.sort-chip{background:var(--c-chip-bg);border:1px solid var(--c-chip-border);border-radius:999px;color:var(--c-accent2-text);cursor:pointer;font-weight:800;font-size:.82rem;padding:6px 14px}.sort-chip.active{background:var(--gradient-brand);border-color:transparent;color:var(--c-white)}.contest-list{display:grid;gap:14px}.contest-card{background:var(--c-white);border:1px solid rgba(20,16,40,.09);border-radius:22px;overflow:hidden;box-shadow:0 6px 18px #1410280f}.contest-card-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:linear-gradient(90deg,#f3f0fb,#ece7f8);border:none;padding:10px 16px;cursor:pointer;text-align:left}.contest-name{font-weight:800;color:var(--c-accent2-text);font-size:.95rem}.contest-chevron{align-items:center;color:var(--c-accent2-text);display:inline-flex}.contest-body{padding:14px 16px}.contest-row-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.contest-label{display:block;color:var(--c-neutral);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;margin-bottom:2px}.contest-pool strong{font-size:1.5rem;font-weight:800;color:var(--c-text)}.contest-entry,.contest-stat{text-align:right}.contest-stat strong{font-size:1.5rem;font-weight:800;color:var(--c-text)}.entry-button{background:var(--c-brand);color:var(--c-white);border:none;border-radius:14px;font-weight:800;font-size:1rem;padding:10px 22px;cursor:pointer;box-shadow:0 4px #4f46e5;min-width:84px}.entry-button:hover:not(:disabled){background:#7278f5}.entry-button:disabled{cursor:default}.entry-button.joined{background:#eae6f8;color:var(--c-brand-hover);box-shadow:none;border:1px solid rgba(99,102,241,.25)}.entry-joined-wrap{display:inline-flex;align-items:center;gap:8px}.joined-badge{color:var(--c-brand-hover);font-weight:800;font-size:.85rem;white-space:nowrap}.foot-stat{align-items:center;display:inline-flex;gap:4px}.foot-stat svg{flex:none}.contest-status-pill.closed{display:inline-block;padding:8px 14px;border-radius:14px;background:#efedf5;color:var(--c-muted);font-weight:800;font-size:.9rem}.contest-progress{margin-top:14px;height:6px;border-radius:999px;background:#fbe2ea;overflow:hidden}.contest-progress-bar{height:100%;background:#e11d5b;border-radius:999px}.contest-spots{display:flex;justify-content:space-between;margin-top:6px;font-size:.8rem}.spots-left{color:#e11d5b;font-weight:800}.spots-total{color:var(--c-neutral)}.contest-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:14px;padding-top:12px;border-top:1px solid var(--c-border5);font-size:.82rem;font-weight:700;color:var(--c-subtext)}.contest-foot .status-tag{margin-left:auto}.refund-tag{background:var(--c-surface);border:1px solid rgba(99,102,241,.25);border-radius:999px;color:var(--c-brand-hover);font-weight:800;font-size:.78rem;padding:3px 10px}.landing-wrap{display:flex;flex-direction:column;gap:28px;width:100%;max-width:460px}.landing-wrap .auth-form{width:100%}.authed-wrap{display:flex;flex-direction:column;align-items:center;gap:24px;width:100%}.authed-wrap .site-footer{width:min(100%,1120px);margin-top:12px}.site-footer{display:flex;flex-direction:column;align-items:center;gap:22px;width:100%;border-top:1px solid rgba(20,16,40,.12);padding:26px 16px 8px;text-align:center}.footer-cols{display:flex;flex-wrap:wrap;justify-content:center;gap:56px}.footer-col{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:140px}.footer-col h4{margin:0 0 6px;color:var(--c-accent2-text);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.footer-link{background:none;border:0;color:var(--c-subtext);cursor:pointer;font-weight:600;padding:2px 0;text-align:center}.footer-link:hover{color:var(--c-brand)}.footer-base{display:flex;flex-direction:column;align-items:center;gap:4px;border-top:1px solid rgba(20,16,40,.08);padding-top:16px;width:min(100%,420px)}.footer-brand{color:var(--c-brand);font-weight:800;font-size:1.05rem;letter-spacing:.02em}.footer-tagline{color:var(--c-neutral);font-size:.8rem}.footer-mail{color:var(--c-accent2-text);font-weight:700;font-size:.85rem;text-decoration:none}.footer-mail:hover{text-decoration:underline}.about-us p{color:var(--c-subtext);line-height:1.55;margin:0 0 12px}.about-subhead{color:var(--c-accent2-text);margin:18px 0 12px}.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.team-card{align-items:center;background:#fbfaff;border:1px solid var(--c-border4);border-radius:12px;display:flex;gap:12px;padding:12px}.team-avatar{border-radius:50%;height:64px;width:64px;object-fit:cover;flex:0 0 auto;background:#eeecf5}.team-avatar-fallback{align-items:center;color:var(--c-brand-hover);display:flex;font-weight:800;justify-content:center}.team-info{display:flex;flex-direction:column;gap:2px}.team-info strong{color:var(--c-text)}.team-role{color:var(--c-brand);font-size:.82rem;font-weight:800}.team-blurb{color:var(--c-neutral);font-size:.82rem}.doc-text{white-space:pre-wrap;line-height:1.5;color:var(--c-subtext);font-size:.9rem}.info-modal{width:min(760px,100%)}.compare-modal{width:min(900px,100%)}.compare-table th,.compare-table td{text-align:center;white-space:normal}.compare-table th:first-child,.compare-table td:first-child{text-align:left;white-space:nowrap}.compare-table tr.compare-diff{background:var(--c-warn-bg)}.contact-page>p{color:var(--c-subtext);margin:0 0 14px}.contact-page textarea{resize:vertical;width:100%}.contact-details{margin-top:18px;padding-top:14px;border-top:1px solid var(--c-border5)}.contact-details h4{margin:0 0 8px;color:var(--c-accent2-text)}.contact-details p{margin:2px 0;color:var(--c-subtext)}.contact-details a{color:var(--c-brand);font-weight:700;text-decoration:none}.contact-details a:hover{text-decoration:underline}.terms-field{align-items:center;gap:10px;margin:4px 0}.terms-field span{font-size:.9rem;flex:1}.terms-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1410288c;display:flex;align-items:center;justify-content:center;padding:20px;z-index:60}.terms-modal{background:var(--c-white);border-radius:14px;width:min(720px,100%);max-height:86vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 60px #14102859}.terms-modal-head,.terms-modal-foot{align-items:center;display:flex;gap:10px;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--c-border5)}.terms-modal-foot{border-bottom:0;border-top:1px solid var(--c-border5);justify-content:flex-start}.terms-modal-head h3{margin:0;color:var(--c-accent2-text)}.terms-modal-body{overflow-y:auto;padding:16px 18px;white-space:pre-wrap;line-height:1.5;color:var(--c-subtext);font-size:.9rem}.team-toolbar{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin:6px 0 12px}.team-search{margin:0;max-width:360px;flex:1 1 220px}.team-actions{margin:0 0 12px}.team-stock-scroll{max-height:52vh;overflow-y:auto;border:1px solid var(--c-border4);border-radius:10px}.team-stock-scroll thead th{position:sticky;top:0;z-index:1;background:var(--c-chip-bg)}.perf-toggle{align-items:center;display:inline-flex;gap:4px}.perf-toggle-label{color:var(--c-neutral);font-size:.75rem;font-weight:800;text-transform:uppercase;margin-right:4px}.perf-seg{background:var(--c-chip-bg);border:1px solid var(--c-chip-border);border-radius:999px;color:var(--c-accent2-text);font-weight:800;font-size:.8rem;padding:6px 12px}.perf-seg.active{background:var(--gradient-brand);border-color:transparent;color:var(--c-white)}.spark-button{background:transparent;border:0;padding:0;line-height:0}.spark-empty{color:var(--c-muted)}.perf-expand-row td{background:#f6f4fb}.perf-expand{align-items:center;display:flex;flex-wrap:wrap;gap:18px;padding:10px 6px}.perf-stats{display:flex;flex-wrap:wrap;gap:16px}.perf-stats div{display:flex;flex-direction:column;gap:3px}.perf-stats span{color:var(--c-neutral);font-size:.72rem;font-weight:800;text-transform:uppercase}.mini-chart{flex:1 1 240px;min-width:200px;background:var(--c-white);border:1px solid var(--c-border4);border-radius:14px}.selected-stocks{background:var(--c-chip-bg);border:1px solid var(--c-chip-border);border-radius:10px;padding:10px 12px;margin:4px 0 12px}.selected-title{display:block;color:var(--c-accent2-text);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px}.selected-chips{display:flex;flex-wrap:wrap;gap:8px}.selected-chip{align-items:center;background:var(--c-white);border:1px solid rgba(20,16,40,.09);border-radius:999px;display:inline-flex;gap:8px;padding:5px 6px 5px 12px;font-size:.85rem}.selected-chip.bad{border-color:#e11d5b59;background:#fdeaf0}.selected-chip .chip-name{font-weight:800;color:var(--c-text)}.selected-chip .chip-pts{color:var(--c-brand-hover);font-weight:800}.selected-chip.bad .chip-pts{color:var(--c-error-text)}.chip-remove{align-items:center;background:#eeecf5;border:0;border-radius:50%;color:var(--c-muted);display:inline-flex;font-weight:800;height:20px;justify-content:center;line-height:1;width:20px}.chip-remove:hover{background:#e11d5b;color:var(--c-white)}.room-table tfoot tr{background:var(--c-chip-bg)}.room-table tfoot td{border-top:2px solid #cfc7ec;font-weight:800;color:var(--c-accent2-text)}.status-tag{border-radius:999px;font-size:.78rem;font-weight:800;padding:4px 10px}.status-new{background:var(--c-info-bg);color:var(--c-info-text)}.status-running{background:var(--c-success-bg);color:var(--c-success-text)}.status-discard{background:var(--c-error-bg);color:var(--c-error-text-strong)}.status-finished{background:var(--c-purple-bg);color:var(--c-purple-text)}.status-active{background:var(--c-success-bg);color:var(--c-success-text)}.status-disabled{background:var(--c-error-bg);color:var(--c-error-text-strong)}.status-inprogress{background:var(--c-warn-bg);color:var(--c-warn-text)}.top-bar-logo{display:block;height:60px;width:auto;object-fit:contain}.hero-logo-wrap{display:flex;justify-content:center}.hero-logo{border-radius:18px;display:block;height:auto;max-width:min(440px,100%);width:100%}.link-button{background:transparent;border:0;color:var(--c-brand-alt);cursor:pointer;font:inherit;font-weight:800;padding:0;text-align:left;text-decoration:underline;text-underline-offset:2px}.link-button:hover{color:#4338ca}.range-field .range-inputs{align-items:center;display:flex;gap:8px}.range-field .range-inputs input{background:var(--c-white);border:1px solid var(--c-border2);border-radius:14px;color:var(--c-text);min-height:50px;outline:none;padding:12px;width:100%}.range-field .range-inputs input:focus{border-color:var(--c-brand);box-shadow:0 0 0 3px #6366f126}.range-dash{color:var(--c-muted2);font-weight:800}.bulk-bar,.status-update-bar{align-items:center;background:var(--c-surface);border:1px solid var(--c-border);border-radius:10px;display:flex;flex-wrap:wrap;gap:12px;padding:12px 16px}.bulk-bar span{color:var(--c-subtext);font-weight:800}.bulk-bar select,.status-update-bar select{background:var(--c-white);border:1px solid var(--c-border2);border-radius:14px;color:var(--c-text);min-height:44px;padding:8px 12px}.status-update-bar .field{gap:6px}.status-change{align-items:center;display:flex;gap:8px}.status-change select{background:var(--c-white);border:1px solid var(--c-border2);border-radius:14px;color:var(--c-text);min-height:40px;padding:6px 10px}.checkbox-field{display:flex;align-items:center;flex-direction:row;gap:10px}.checkbox-field input{height:20px;width:20px;flex:0 0 auto}.new-room-form{border-top:1px solid var(--c-border);padding-top:16px}.list-actions,.editor-actions{display:flex;flex-wrap:wrap;gap:10px}.list-actions{align-items:center}.editor-actions{justify-content:flex-start;margin-top:4px}.template-name-field{grid-column:1 / -1}.prize-section{display:grid;gap:12px}.prize-heading{align-items:center;display:flex;justify-content:space-between}.prize-heading h3{color:var(--c-text);margin:0}.prize-table{min-width:520px}.prize-table input{background:var(--c-white);border:1px solid var(--c-border2);border-radius:14px;color:var(--c-text);min-height:40px;padding:6px 10px;width:100%}.prize-table input[aria-invalid=true]{border-color:#e11d5b}.readonly-input{background:var(--c-surface)!important;color:var(--c-muted2);cursor:not-allowed}.computed-cell{font-weight:800}.totals-grid{display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin:0}.totals-grid div{background:var(--c-surface);border:1px solid var(--c-border);border-radius:14px;display:grid;gap:4px;padding:12px 14px}.totals-grid dt{color:var(--c-muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.totals-grid dd{color:var(--c-text);font-size:1.1rem;font-weight:800;margin:0}@media(max-width:560px){.auth-panel{align-items:start;padding:22px}.field-grid,.lookup-row,.filter-grid{grid-template-columns:1fr}.totals-grid{grid-template-columns:1fr 1fr}.profile-grid{grid-template-columns:1fr}}
