:root{--bg:#06101c;--bg-2:#0a1a2b;--panel:#0a192ae6;--panel-2:#0d2338eb;--line:#89dfff2e;--line-strong:#89dfff57;--text:#f6fbff;--muted:#9fb8c8;--blue:#43d7ff;--blue-2:#149fd1;--green:#60f3b4;--gold:#ffc857;--red:#ff7b72;--focus:#43d7ff3d}*{box-sizing:border-box}html{background:var(--bg)}body{min-height:100vh;color:var(--text);background:radial-gradient(circle at 30% -10%,#43d7ff24,#0000 34rem),linear-gradient(#06101c 0%,#071827 48%,#030910 100%);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button{color:inherit}.app-shell{width:min(100%,1260px);margin:0 auto;padding:14px 12px 42px}.app-shell.narrow{max-width:760px}.hero{border:1px solid var(--line);background:#040d17d6;border-radius:8px;overflow:hidden;box-shadow:0 22px 80px #00000057}.banner{background-color:#0000;background-image:linear-gradient(90deg,#02080f08,#02080f40 48%,#02080fdb),linear-gradient(#02080f05,#02080f6b),url(/state-1474.jpg);background-position:50%,50%,0;background-repeat:repeat,repeat,repeat;background-size:cover;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-height:156px}.hero-copy{border-top:1px solid var(--line);text-align:center;background:radial-gradient(circle at 50% 0,#43d7ff2e,#0000 56%),linear-gradient(#0a1c2df5,#06101cf0);padding:22px 18px 20px}h1,h2,h3,h4,p{margin-top:0}h1{letter-spacing:0;text-shadow:0 4px 18px #000000c7,0 0 34px #58dcff6b;margin-bottom:10px;font-size:clamp(34px,9vw,60px);line-height:.98}h2{margin-bottom:10px;font-size:clamp(24px,6vw,34px);line-height:1.06}h3{font-size:18px}.hero-copy p,.step-note,.hint,.event-panel p{color:#d9edf7;line-height:1.48}.event-pill,.event-mini,.eyebrow-text{color:#bff4ff;background:#050e1961;border:1px solid #89dfff4d;border-radius:999px;align-items:center;font-weight:900;display:inline-flex}.event-pill{margin-top:14px;padding:7px 11px;font-size:12px;box-shadow:0 0 24px #43d7ff29}.event-mini{max-width:180px;margin-top:6px;padding:3px 7px;font-size:10px}.eyebrow-text{letter-spacing:.04em;text-transform:uppercase;padding:5px 8px;font-size:10px}.progress-card{z-index:10;border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#06101ce0;border-radius:8px;margin-top:12px;padding:13px 14px;position:sticky;top:0}.progress-label{color:#c7dce8;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:13px;display:flex}.progress-track{background:#89dfff1f;border-radius:999px;height:8px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--blue), var(--green));height:100%;transition:width .22s;display:block;box-shadow:0 0 18px #43d7ff85}.panel{border:1px solid var(--line);background:linear-gradient(180deg, #ffffff0b, transparent 160px), var(--panel);border-radius:8px;margin-top:14px;padding:16px;box-shadow:0 18px 48px #00000042,inset 0 1px #ffffff0f}.form-panel,.step-stack{gap:16px;display:grid}label,.field-label{color:#e8f8ff;gap:8px;font-weight:900;display:grid}input,select{border:1px solid var(--line-strong);width:100%;min-height:52px;color:var(--text);background:#040d17d1;border-radius:8px;outline:none;padding:13px 14px}select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#bff4ff 50%),linear-gradient(135deg,#bff4ff 50%,#0000 50%);background-position:calc(100% - 22px) 24px,calc(100% - 16px) 24px;background-repeat:no-repeat;background-size:6px 6px;padding-right:42px}input::placeholder{color:#6f8799}input:focus,select:focus,button:focus-visible{border-color:var(--blue);box-shadow:0 0 0 4px var(--focus);outline:none}.choice-grid{gap:10px;display:grid}.choice-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.choice{text-align:left;background:#0f2336c7;border:1px solid #89dfff33;border-radius:8px;min-height:54px;padding:12px 14px;font-weight:900}.choice.selected{background:linear-gradient(#2a84aaeb,#114969eb);border-color:#43d7ffb8;box-shadow:0 0 24px #43d7ff47}.button{cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:13px 16px;font-weight:900;transition:transform .15s,box-shadow .15s;display:inline-flex}.button svg{width:18px;height:18px}.button:active{transform:translateY(1px)scale(.99)}.button.primary{background:linear-gradient(180deg, #62e9ff, var(--blue-2));color:#02101a;box-shadow:0 0 26px #43d7ff57,0 12px 26px #00000042}.button.secondary{border:1px solid var(--line);color:#d9f5ff;background:#192f44e6}.button.danger{color:var(--red);background:#481215db;border:1px solid #ff7b7257}.button.small{min-height:34px;padding:7px 10px;font-size:12px}.button:disabled{cursor:not-allowed;opacity:.55}.nav-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.nav-row.single{grid-template-columns:1fr}.slot-meta{color:var(--muted);justify-content:space-between;gap:10px;font-size:12px;font-weight:800;display:flex}.review-grid{gap:10px;display:grid}.kv{background:#040d1761;border:1px solid #89dfff24;border-radius:8px;grid-template-columns:minmax(110px,.8fr) 1fr;gap:10px;padding:10px;display:grid}.kv span{color:var(--muted);font-weight:800}.message{border-radius:8px;margin-top:14px;padding:13px 14px;font-weight:900;line-height:1.42}.message.error{color:var(--red);background:#481215db;border:1px solid #ff7b7257}.message.success{color:var(--green);background:#0d3d2fdb;border:1px solid #60f3b452}.confirmation-panel{text-align:center;justify-items:center;display:grid}.confirmation-panel svg{width:62px;height:62px;color:var(--green);filter:drop-shadow(0 0 22px #60f3b457)}.login-panel,.event-panel,.event-actions,.filters-grid,.summary-grid{gap:10px;display:grid}.event-panel strong{margin-top:8px;font-size:clamp(26px,6vw,44px);line-height:1;display:block}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-card{border:1px solid var(--line);background:linear-gradient(#1f425ed9,#0a192af0);border-radius:8px;padding:13px}.summary-card.warning{background:linear-gradient(#5c3d0ec2,#251909db);border-color:#ffc8575c}.summary-card span{color:#a7bdcc;text-transform:uppercase;font-size:11px;font-weight:900;line-height:1.25;display:block}.summary-card strong{color:#fff;margin-top:7px;font-size:30px;line-height:1;display:block}.table-panel{padding:0;overflow:hidden}.table-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.table-toolbar h2{margin:0}.table-toolbar span{color:var(--muted);font-weight:900}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:1120px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px;font-size:12px;line-height:1.35}th{z-index:1;color:#dff8ff;text-transform:uppercase;white-space:nowrap;background:#091624fa;font-size:11px;position:sticky;top:0}tbody tr{background:#0a192a6b}tbody tr:nth-child(2n){background:#0f23366b}tbody tr.needs-placement{box-shadow:inset 3px 0 0 var(--gold);background:#5c3d0e52}.strong-text{color:#fff;font-weight:900}.alliance-badge,.category-badge,.answer-chip,.status-badge,.time-pill{white-space:nowrap;border-radius:999px;align-items:center;font-weight:900;display:inline-flex}.alliance-badge{color:#b9efff;background:#050e1957;border:1px solid #89dfff4d;min-height:24px;padding:3px 8px;font-size:11px}.alliance-badge.std{color:#b9efff;border-color:#43d7ff73}.alliance-badge.loc{color:#b6f7d0;border-color:#60f3b473}.alliance-badge.hpy{color:#f8d9ff;border-color:#e480ff73}.alliance-badge.tex{color:#ffe0a3;border-color:#ffc85780}.alliance-badge.ngl{color:#d0dcff;border-color:#8ca4ff73}.alliance-badge.die{color:#ffb2ab;border-color:#ff7b7273}.chip-list{flex-wrap:wrap;gap:5px;display:flex}.category-badge{color:#d9f5ff;background:#192f44b8;border:1px solid #43d7ff47;min-height:22px;padding:3px 7px;font-size:10px}.answer-chip{color:#d7e9f2;background:#040d177a;border:1px solid #94d2eb29;border-radius:8px;padding:4px 6px;font-size:11px}.time-pill{color:#a8ffd8;background:#0d3d2fad;border:1px solid #60f3b45c;min-height:26px;padding:4px 8px;font-size:11px}.time-pill.muted{color:var(--muted);background:#040d1780;border-color:#9db4c633}.time-pill.placement{color:#ffe0a3;background:#5c3d0eb3;border-color:#ffc8576b}.status-badge{min-height:26px;padding:4px 8px;font-size:11px}.status-badge.scheduled{color:#a8ffd8;background:#0d3d2fad;border:1px solid #60f3b45c}.status-badge.needs_placement{color:#ffe0a3;background:#5c3d0eb3;border:1px solid #ffc8576b}.status-badge.active{color:var(--muted);background:#040d1780;border:1px solid #9db4c633}.assign-control{gap:6px;max-width:190px;display:grid}.assign-control select{background-position:calc(100% - 18px) 16px,calc(100% - 12px) 16px;min-height:36px;padding:7px 30px 7px 9px;font-size:12px}.empty{color:var(--muted);text-align:center;padding:30px 10px;font-weight:900}.lane-grid{gap:12px;padding:16px;display:grid}.lane-card{border:1px solid var(--line);background:#040d175c;border-radius:8px;overflow:hidden}.lane-card h3{border-bottom:1px solid var(--line);background:#183a59cc;margin:0;padding:12px}.lane-counts{border-bottom:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:8px;padding:10px 12px;font-size:12px;font-weight:900;display:flex}.lane-times{max-height:340px;overflow:auto}.lane-row{border-bottom:1px solid #89dfff17;grid-template-columns:90px 1fr;gap:8px;min-height:34px;padding:8px 12px;font-size:12px;display:grid}.lane-row span{color:var(--muted);font-weight:900}.placement-list{padding:12px}.placement-list h4{margin-bottom:8px}.placement-list p{color:var(--muted);margin-bottom:0}.placement-row{border-top:1px solid #89dfff1a;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:8px 0;display:grid}.placement-row small{color:var(--muted)}@media (min-width:760px){.app-shell{padding:28px 20px 52px}.banner{min-height:180px}.choice-grid:not(.two){grid-template-columns:repeat(2,minmax(0,1fr))}.login-panel,.event-panel{grid-template-columns:1fr auto;align-items:end}.event-actions{grid-template-columns:auto auto}.summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.filters-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.lane-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:520px){.banner{min-height:142px}.choice-grid.two,.nav-row,.kv{grid-template-columns:1fr}}
