*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--night-900: #060d0c;--night-800: #0c1816;--night-700: #12231f;--stone-700: #1a302b;--stone-600: #244037;--stone-500: #325548;--stone-400: #446e5d;--moss-300: #6f9c85;--mist-200: #96bba5;--moon-100: #c2dcc2;--moon-50: #e6f2d9;--ember-700: #5a2410;--ember-500: #a4471a;--lantern-400: #e27d28;--lantern-300: #f4a341;--flame-200: #ffd684;--blood-700: #3d1412;--blood-500: #8c2a22;--blood-300: #e0685a;--font-title: "Jacquard 24", "Jersey 20", serif;--font-body: "Jersey 20", "Trebuchet MS", sans-serif;--font-num: "VT323", "Courier New", monospace;--px: 3px;--notch: polygon( 0 var(--px), var(--px) var(--px), var(--px) 0, calc(100% - var(--px)) 0, calc(100% - var(--px)) var(--px), 100% var(--px), 100% calc(100% - var(--px)), calc(100% - var(--px)) calc(100% - var(--px)), calc(100% - var(--px)) 100%, var(--px) 100%, var(--px) calc(100% - var(--px)), 0 calc(100% - var(--px)) );--headstone: polygon( 0 calc(var(--px) * 6), var(--px) calc(var(--px) * 6), var(--px) calc(var(--px) * 4), calc(var(--px) * 2) calc(var(--px) * 4), calc(var(--px) * 2) calc(var(--px) * 2), calc(var(--px) * 4) calc(var(--px) * 2), calc(var(--px) * 4) var(--px), calc(var(--px) * 6) var(--px), calc(var(--px) * 6) 0, calc(100% - var(--px) * 6) 0, calc(100% - var(--px) * 6) var(--px), calc(100% - var(--px) * 4) var(--px), calc(100% - var(--px) * 4) calc(var(--px) * 2), calc(100% - var(--px) * 2) calc(var(--px) * 2), calc(100% - var(--px) * 2) calc(var(--px) * 4), calc(100% - var(--px)) calc(var(--px) * 4), calc(100% - var(--px)) calc(var(--px) * 6), 100% calc(var(--px) * 6), 100% 100%, 0 100% )}html,body{height:100%;background-color:var(--night-900)}body{font-family:var(--font-body);font-size:1.25rem;line-height:1.3;font-synthesis:none;color:var(--moon-100);min-height:100vh;-webkit-font-smoothing:none;background-image:linear-gradient(var(--night-900) 0 30%,var(--night-800) 30% 62%,var(--night-700) 62% 86%,var(--stone-700) 86% 100%);background-attachment:fixed}body:before,body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-repeat:no-repeat;background-size:3px 3px;animation:twinkle 4.1s steps(1) infinite}body:before{background-image:linear-gradient(var(--mist-200),var(--mist-200)),linear-gradient(var(--mist-200),var(--mist-200)),linear-gradient(var(--moss-300),var(--moss-300));background-position:8% 46%,79% 38%,55% 83%}body:after{background-image:linear-gradient(var(--moss-300),var(--moss-300)),linear-gradient(var(--mist-200),var(--mist-200)),linear-gradient(var(--moss-300),var(--moss-300));background-position:23% 71%,91% 64%,4% 90%;animation-duration:6.3s;animation-delay:-2s}@keyframes twinkle{0%,to{opacity:1}55%{opacity:.2}70%{opacity:1}}#root{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}:focus-visible{outline:var(--px) solid var(--flame-200);outline-offset:calc(var(--px) * -2)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.app-root{--scene-h: 192px;--scene-crop: 0px;--bevel-hi: var(--stone-500);--bevel-lo: var(--night-700);--dither: conic-gradient(var(--night-900) 25%, transparent 0 50%, var(--night-900) 0 75%, transparent 0);min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:1.5rem 1rem 3rem}.app-footer{padding:.6rem 1rem 1rem;overflow-x:clip;text-align:center;font-size:.9rem;color:var(--mist-200);background:linear-gradient(var(--night-700),var(--night-700)) 0 calc(.6rem + var(--px) * 12) / 100% calc(var(--px) * 2) no-repeat,var(--night-900);border-top:var(--px) solid var(--stone-600)}.moderation-notice{margin-top:.3rem;font-size:1.1rem;color:var(--moon-50)}.app-header{position:relative;overflow-x:clip;background:linear-gradient(var(--night-700) 0 20.3%,var(--stone-700) 20.3% 45.3%,var(--stone-600) 45.3% 67.2%,var(--stone-500) 67.2% 78.1%,var(--night-900) 78.1% 82.8%,var(--night-800) 82.8% 100%) 0 calc(var(--scene-crop) * -1) / 100% var(--scene-h) no-repeat,var(--night-800)}.screen-room{--scene-crop: calc(var(--scene-h) * .5)}.screen-room .app-title{font-size:3.4rem}.screen-room .header-center{padding-bottom:calc(var(--scene-h) * .17)}.night-scene{position:absolute;top:calc(var(--scene-crop) * -1);clip-path:inset(var(--scene-crop) 0 0 0);left:50%;width:calc(var(--scene-h) * 3);height:var(--scene-h);transform:translate(-50%)}.scene-flames{animation:flicker 1.6s steps(1) infinite}.scene-glow{animation:glow 2.3s steps(1) infinite}@keyframes glow{0%,to{opacity:1}50%{opacity:.45}}.scene-stars{animation:twinkle 3.4s steps(1) infinite}.stars-b{animation-duration:5.2s;animation-delay:-1.7s}.scene-clouds{animation:drift 120s steps(192) infinite}@keyframes drift{to{transform:translate(192px)}}.scene-bat{opacity:0;animation:fly 23s steps(70) infinite}.bat-two{animation-name:fly-back;animation-duration:37s;animation-delay:-9s}@keyframes fly{0%{opacity:1;transform:translate(-10px,34px)}30%{opacity:1;transform:translate(200px,6px)}30.01%,to{opacity:0;transform:translate(200px,6px)}}@keyframes fly-back{0%{opacity:1;transform:translate(200px,12px)}24%{opacity:1;transform:translate(-10px,26px)}24.01%,to{opacity:0;transform:translate(-10px,26px)}}.two-frame{--beat: .18s;animation:flap calc(var(--beat) * 2) steps(1) infinite}.frame-b{opacity:0;animation-delay:calc(var(--beat) * -1)}.slow-step{--beat: .38s}@keyframes flap{0%,49%{opacity:1}50%,to{opacity:0}}.scene-wanderer{animation:wander 150s steps(208) infinite}@keyframes wander{0%{transform:translate(-8px)}to{transform:translate(200px)}}.scene-fog{opacity:.6;animation:drift-back 90s steps(192) infinite}@keyframes drift-back{to{transform:translate(-192px)}}.scene-window-guttering{animation:gutter 7s steps(1) infinite}@keyframes gutter{0%,to{opacity:1}62%{opacity:.3}66%{opacity:1}70%{opacity:.2}78%{opacity:1}}.torch{--scene-px: calc(var(--scene-h) / 64);--beat: .15s;position:absolute;bottom:100%;width:calc(var(--scene-px) * 9);height:calc(var(--scene-px) * 16);pointer-events:none}.torch-left{left:max(.4rem,calc(50% - var(--scene-h) * 1.05))}.torch-right{--beat: .17s;right:max(.4rem,calc(50% - var(--scene-h) * 1.05))}.torch-frame{opacity:0;animation:torch-frame calc(var(--beat) * 3) steps(1) infinite}.torch .frame-0{opacity:1}.torch .frame-1{animation-delay:calc(var(--beat) * -2)}.torch .frame-2{animation-delay:calc(var(--beat) * -1)}@keyframes torch-frame{0%,33.3%{opacity:1}33.4%,to{opacity:0}}.grave-scene{display:block;position:relative;left:50%;width:calc(var(--px) * 192);height:calc(var(--px) * 14);margin-bottom:.8rem;transform:translate(-50%)}.firefly{animation:firefly 4.6s steps(1) infinite}.swarm-1{animation-duration:6.1s;animation-delay:-2s}.swarm-2{animation-duration:7.3s;animation-delay:-4s}@keyframes firefly{0%,to{opacity:0}15%{opacity:1;transform:translate(0)}40%{opacity:1;transform:translate(1px,-1px)}55%{opacity:.4;transform:translate(2px,-1px)}70%{opacity:0}}.scroll-panel,.contestant-card,.event-card,.home-stats div,.lore-grid article{animation:rise .32s steps(4) backwards}.cards-grid>:nth-child(2),.home-stats div:nth-child(2),.lore-grid article:nth-child(2){animation-delay:.07s}.cards-grid>:nth-child(3),.home-stats div:nth-child(3),.lore-grid article:nth-child(3){animation-delay:.14s}.cards-grid>:nth-child(4){animation-delay:.21s}.cards-grid>:nth-child(n+5){animation-delay:.28s}@keyframes rise{0%{opacity:0;transform:translateY(calc(var(--px) * 4))}}@keyframes flicker{0%,to{opacity:1}42%{opacity:.7}48%{opacity:1}77%{opacity:.82}}.header-center{position:relative;height:calc(var(--scene-h) - var(--scene-crop));display:flex;align-items:flex-end;justify-content:center;padding-bottom:calc(var(--scene-h) * .2)}.brand-button{background:none;border:0;color:inherit;font:inherit;cursor:pointer;text-align:center}.app-title{font-family:var(--font-title);font-weight:400;font-size:clamp(4.5rem,13vw,6.5rem);line-height:.8;color:var(--moon-50);text-shadow:var(--px) 0 0 var(--night-900),calc(var(--px) * -1) 0 0 var(--night-900),0 var(--px) 0 var(--night-900),0 calc(var(--px) * -1) 0 var(--night-900),var(--px) calc(var(--px) * 2) 0 var(--night-900),calc(var(--px) * -1) calc(var(--px) * 2) 0 var(--night-900)}.main-nav{position:relative;display:flex;justify-content:center;gap:var(--px);padding:.5rem .5rem 0;background:var(--stone-700);border-top:var(--px) solid var(--night-900);border-bottom:var(--px) solid var(--night-900)}.main-nav:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:calc(var(--px) * 3);background:repeating-linear-gradient(90deg,var(--night-900) 0 calc(var(--px) * 4),transparent calc(var(--px) * 4) calc(var(--px) * 8))}.nav-link{min-height:44px;padding:.4rem 1.1rem;font-family:var(--font-body);font-size:1rem;font-weight:600;color:var(--mist-200);background:var(--stone-600);border:var(--px) solid var(--night-900);border-bottom:0;cursor:pointer}.nav-link:hover{color:var(--moon-50);background:var(--stone-500)}.nav-link.active{color:var(--moon-50);background:var(--stone-400);box-shadow:inset 0 var(--px) 0 var(--moon-100)}.admin-login-button{position:absolute;top:.5rem;right:.5rem;min-height:32px;padding:.2rem .6rem;font-family:var(--font-body);font-size:.8rem;color:var(--moon-100);background:var(--night-900);border:var(--px) solid var(--stone-500);cursor:pointer}.admin-login-button:hover{color:var(--moon-50);border-color:var(--moon-100)}.admin-login-popover{position:absolute;top:3rem;right:.5rem;z-index:20;width:min(260px,calc(100vw - 1rem));display:flex;flex-direction:column;gap:.6rem;padding:1rem;background:var(--stone-700);border:var(--px) solid var(--night-900);border-bottom-width:calc(var(--px) * 3);box-shadow:inset var(--px) var(--px) 0 var(--bevel-hi),inset calc(var(--px) * -1) calc(var(--px) * -1) 0 var(--bevel-lo)}.admin-login-popover label,.admin-edit-form label{font-size:.9rem;color:var(--mist-200)}.scroll-panel,.event-card,.contestant-card,.global-timer,.confirm-reset,.admin-add-attendee,.admin-edit-notice,.ongoing-event-banner{background-color:var(--stone-700);border:var(--px) solid var(--night-900);border-bottom-width:calc(var(--px) * 3);box-shadow:inset var(--px) var(--px) 0 var(--bevel-hi),inset calc(var(--px) * -1) calc(var(--px) * -1) 0 var(--bevel-lo);clip-path:var(--notch)}.scroll-panel{padding:1.75rem 1.5rem;background-image:var(--dither);background-size:calc(var(--px) * 2) calc(var(--px) * 2);background-repeat:repeat-x;background-position:0 var(--px)}.eyebrow{font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mist-200)}.panel-title{margin:.3rem 0 .6rem;font-family:var(--font-title);font-weight:400;font-size:clamp(2.2rem,7vw,3rem);line-height:1;color:var(--moon-50);text-shadow:var(--px) var(--px) 0 var(--night-900)}.panel-desc{max-width:62ch;color:var(--moon-100)}.panel-desc em{font-style:normal;color:var(--moon-50);border-bottom:var(--px) solid var(--stone-400)}.panel-desc strong{color:var(--flame-200)}.medieval-btn{min-height:44px;padding:.45rem 1rem;font-family:var(--font-body);font-size:1rem;font-weight:600;color:var(--moon-50);background:var(--stone-500);border:var(--px) solid var(--night-900);border-bottom-width:calc(var(--px) * 2);box-shadow:inset var(--px) var(--px) 0 var(--stone-400),inset calc(var(--px) * -1) calc(var(--px) * -1) 0 var(--stone-600);clip-path:var(--notch);cursor:pointer}.medieval-btn:hover{background:var(--stone-400)}.medieval-btn:active{transform:translateY(var(--px));box-shadow:inset var(--px) var(--px) 0 var(--stone-600),inset calc(var(--px) * -1) calc(var(--px) * -1) 0 var(--stone-400)}.medieval-btn:disabled{color:var(--moss-300);background:var(--night-800);box-shadow:none;cursor:not-allowed}.start-btn,.enlist-btn,.finish-btn{color:var(--night-900);background:var(--lantern-400);box-shadow:inset var(--px) var(--px) 0 var(--flame-200),inset calc(var(--px) * -1) calc(var(--px) * -1) 0 var(--ember-500)}.start-btn:hover,.enlist-btn:hover,.finish-btn:hover{background:var(--lantern-300)}.start-btn:active,.enlist-btn:active,.finish-btn:active{box-shadow:inset var(--px) var(--px) 0 var(--ember-500),inset calc(var(--px) * -1) calc(var(--px) * -1) 0 var(--flame-200)}.dnf-btn,.danger-btn{color:var(--moon-50);background:var(--blood-500);box-shadow:inset var(--px) var(--px) 0 var(--blood-300),inset calc(var(--px) * -1) calc(var(--px) * -1) 0 var(--blood-700)}.dnf-btn:hover,.danger-btn:hover{background:var(--blood-500);box-shadow:inset 0 0 0 var(--px) var(--blood-300)}.medieval-input{width:100%;min-height:44px;padding:.4rem .7rem;font-family:var(--font-body);font-size:1rem;color:var(--moon-50);background:var(--night-800);border:var(--px) solid var(--stone-400);box-shadow:inset var(--px) var(--px) 0 var(--night-900)}.medieval-input::placeholder{color:var(--moss-300)}.medieval-input:focus{border-color:var(--moon-100)}.form-error{margin-top:.6rem;padding:.4rem .7rem;color:var(--moon-50);background:var(--blood-700);border-left:calc(var(--px) * 2) solid var(--blood-300)}.back-link{margin-top:1rem;min-height:44px;font-family:var(--font-body);font-size:1rem;color:var(--moon-50);background:none;border:0;border-bottom:var(--px) solid var(--stone-400);cursor:pointer}.home-screen,.lore-screen{max-width:860px;margin:0 auto}.home-screen .start-btn{font-size:1.15rem;padding:.6rem 1.4rem}.ongoing-event-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1.25rem;padding:1rem;background-color:var(--night-800)}.ongoing-event-banner div{display:flex;flex-direction:column}.ongoing-event-banner strong{font-size:1.25rem;color:var(--moon-50)}.ongoing-event-banner span:last-child{font-size:.9rem;color:var(--mist-200)}.home-stats,.lore-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:1.5rem 0}.home-stats div,.lore-grid article{padding:.9rem;background:var(--night-800);border:var(--px) solid var(--night-900);box-shadow:inset var(--px) var(--px) 0 var(--night-900),inset calc(var(--px) * -1) calc(var(--px) * -1) 0 var(--stone-600)}.home-stats div{display:flex;flex-direction:column;align-items:center;text-align:center}.home-stats strong{font-family:var(--font-num);font-weight:400;font-size:3.2rem;line-height:1;color:var(--moon-50)}.home-stats span{font-size:.9rem;color:var(--mist-200)}.lore-year{font-family:var(--font-num);font-size:1.4rem;color:var(--mist-200)}.lore-grid h3{margin:.2rem 0 .4rem;font-family:var(--font-title);font-weight:400;font-size:1.7rem;line-height:1;color:var(--moon-50)}.lore-grid p{font-size:.95rem}.lore-chapters{display:flex;flex-direction:column;gap:.75rem;margin:1.5rem 0}.lore-chapters article{padding:.9rem 1.1rem;background:var(--night-800);border:var(--px) solid var(--night-900);box-shadow:inset var(--px) var(--px) 0 var(--night-900),inset calc(var(--px) * -1) calc(var(--px) * -1) 0 var(--stone-600)}.lore-chapters header{display:flex;align-items:center;gap:.75rem;margin-bottom:.6rem}.lore-emblem{flex:none;image-rendering:pixelated}.lore-chapters h3{margin:0;font-family:var(--font-title);font-weight:400;font-size:1.7rem;line-height:1;color:var(--moon-50)}.lore-chapters p,.lore-chapters li{font-size:.95rem;line-height:1.5}.lore-chapters p+p,.lore-chapters p+ul{margin-top:.6rem}.lore-chapters ul{padding-left:1.2rem}.registration-screen{max-width:860px;margin:0 auto}.enlist-form{margin-top:1.25rem}.form-row{display:flex;gap:.6rem;flex-wrap:wrap}.form-row .medieval-input{flex:1 1 220px;width:auto}.gender-toggle{display:flex}.gender-btn{min-height:44px;padding:.4rem .8rem;font-family:var(--font-body);font-size:1rem;color:var(--mist-200);background:var(--stone-600);border:var(--px) solid var(--night-900);cursor:pointer}.gender-btn+.gender-btn{border-left:0}.gender-btn:hover:not(.active){color:var(--moon-50);background:var(--stone-500)}.gender-btn.active{color:var(--night-900);background:var(--moon-100);box-shadow:inset 0 0 0 var(--px) var(--moon-50)}.contestant-list{margin-top:1.5rem}.list-title{margin-bottom:.5rem;font-family:var(--font-title);font-weight:400;font-size:1.7rem;color:var(--moon-50)}.contestant-list ul{list-style:none;background:var(--night-800);border:var(--px) solid var(--night-900)}.contestant-item{display:flex;align-items:center;gap:.7rem;padding:.3rem .3rem .3rem .8rem;border-bottom:var(--px) solid var(--stone-700)}.contestant-item:last-child{border-bottom:0}.contestant-gender-icon{color:var(--mist-200)}.contestant-name{flex:1;color:var(--moon-50);overflow-wrap:anywhere}.remove-btn{width:44px;height:44px;font-size:1rem;color:var(--blood-300);background:var(--night-900);border:var(--px) solid var(--stone-600);cursor:pointer}.remove-btn:hover{color:var(--moon-50);background:var(--blood-500)}.event-setup{display:flex;flex-direction:column;gap:.7rem;margin-top:1.5rem;padding-top:1.25rem;border-top:var(--px) solid var(--night-900)}.official-toggle,.check-label{display:flex;align-items:center;gap:.5rem;min-height:44px}.official-toggle input,.check-label input{width:22px;height:22px;accent-color:var(--moon-100)}.admin-only-note{font-size:.9rem;color:var(--mist-200)}.arena-screen{display:flex;flex-direction:column;gap:1.5rem}.global-timer{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:1rem;padding:.6rem 1rem .8rem;background-color:var(--night-800)}.timer-label{grid-column:1 / -1;font-size:.85rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mist-200)}.timer-value{font-family:var(--font-num);font-size:clamp(3.6rem,15vw,5.5rem);line-height:.85;color:var(--moon-50)}.timer-elapsed{font-family:var(--font-num);font-size:1.3rem;white-space:nowrap;color:var(--mist-200)}.timer-over .timer-value{font-size:clamp(2.6rem,11vw,5.5rem)}.timer-bar-track{grid-column:1 / -1;grid-row:3;position:relative;height:calc(var(--px) * 5);margin-top:.5rem;background:var(--night-900);border:var(--px) solid var(--stone-500)}.timer-bar-track:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,transparent 0 calc(var(--px) * 3),var(--night-900) calc(var(--px) * 3) calc(var(--px) * 4))}.timer-bar-fill{position:relative;height:100%;background:var(--moon-100)}.timer-bar-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;width:calc(var(--px) * 3);background:var(--moon-50);animation:blink 1s steps(1) infinite}.timer-bar-fill.fill-done:after{display:none}.global-timer.timer-urgent{border-color:var(--lantern-400)}.timer-urgent .timer-value{color:var(--lantern-300);animation:blink 1s steps(1) infinite}.timer-bar-fill.fill-urgent{background:var(--lantern-400)}@keyframes blink{0%,to{opacity:1}50%{opacity:.55}}.global-timer.timer-over{border-color:var(--blood-500);background-color:var(--blood-700)}.timer-over .timer-value{color:var(--blood-300)}.timer-bar-fill.fill-done{background:var(--blood-500)}.search-bar{display:flex;align-items:stretch;background:var(--night-800);border:var(--px) solid var(--stone-400)}.search-bar:focus-within{border-color:var(--moon-100)}.search-icon{display:flex;align-items:center;padding:0 .7rem;font-size:.85rem;font-weight:600;text-transform:uppercase;color:var(--moon-50);background:var(--stone-500)}.search-input{flex:1;min-width:0;min-height:44px;padding:.4rem .7rem;font-family:var(--font-body);font-size:1rem;color:var(--moon-50);background:none;border:0}.search-input::placeholder{color:var(--moss-300)}.section-title{display:flex;align-items:center;gap:.8rem;margin-bottom:.8rem;font-family:var(--font-title);font-weight:400;font-size:2.2rem;line-height:1;text-shadow:var(--px) var(--px) 0 var(--night-900)}.section-title:before,.section-title:after{content:"";flex:1;height:calc(var(--px) * 2);background:conic-gradient(currentColor 25%,transparent 0 50%,currentColor 0 75%,transparent 0) 0 0 / calc(var(--px) * 2) calc(var(--px) * 2)}.section-title.glory{color:var(--flame-200)}.section-title.active-title{color:var(--moon-100)}.section-title.shame{color:var(--blood-300)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;align-items:start}.contestant-card{position:relative;display:flex;flex-direction:column;gap:.5rem;padding:1rem}.card-rank{position:absolute;top:.5rem;right:.8rem;font-family:var(--font-num);font-size:1.8rem;line-height:1;color:var(--mist-200)}.card-top{display:flex;align-items:center;gap:.6rem;padding-right:2.5rem}.card-gender{flex:none;width:30px;height:30px;display:grid;place-items:center;font-family:var(--font-num);font-size:1.3rem;color:var(--mist-200);background:var(--night-800);border:var(--px) solid var(--night-900)}.card-name{min-width:0;font-size:1.5rem;line-height:1.05;color:var(--moon-50);overflow-wrap:break-word}.card-title{font-family:var(--font-title);font-size:1.7rem;line-height:1}.card-time{font-size:.95rem;color:var(--moon-100)}.card-time strong{font-family:var(--font-num);font-weight:400;font-size:1.6rem;line-height:1;color:var(--moon-50)}.card-gold{--bevel-hi: var(--flame-200);--bevel-lo: var(--ember-500);background-color:var(--ember-700);border-color:var(--lantern-400)}.card-rose{--bevel-hi: var(--lantern-300);--bevel-lo: var(--lantern-300);background-color:var(--stone-600);border-color:var(--flame-200)}.card-silver{--bevel-hi: var(--mist-200);--bevel-lo: var(--stone-500);background-color:var(--stone-600);border-color:var(--night-900)}.card-gold{animation:rise .32s steps(4) backwards,king-glow 1.8s steps(1) infinite}.card-rose{animation:rise .32s steps(4) backwards,queen-glow 1.8s steps(1) -.9s infinite}@keyframes king-glow{50%{border-color:var(--flame-200)}}@keyframes queen-glow{50%{border-color:var(--lantern-400)}}.title-gold{color:var(--flame-200)}.title-rose{color:var(--lantern-300)}.title-silver{color:var(--moon-100)}.title-grey{color:var(--blood-300)}.card-grey{padding:calc(var(--px) * 7) 1rem 1rem;background-color:var(--blood-500);border:0;box-shadow:none;clip-path:var(--headstone);isolation:isolate}.card-grey:before{content:"";position:absolute;inset:var(--px) var(--px) calc(var(--px) * 3);z-index:-1;background:var(--night-700);clip-path:var(--headstone)}.card-grey .card-name{color:var(--mist-200)}.shame-text{color:var(--blood-300)}.candle-wrap{display:flex;align-items:flex-end;gap:.6rem}.candle-track{position:relative;flex:1;height:calc(var(--px) * 7);border-bottom:var(--px) solid var(--night-900)}.candle-wax{position:absolute;left:0;bottom:0;height:calc(var(--px) * 3);min-width:calc(var(--px) * 2);background:var(--moon-100);box-shadow:inset 0 calc(var(--px) * -1) 0 var(--mist-200)}.candle-wax:after{content:"";position:absolute;right:0;bottom:100%;width:calc(var(--px) * 2);height:calc(var(--px) * 2);background:var(--lantern-400);box-shadow:0 calc(var(--px) * -1) 0 calc(var(--px) * -.5) var(--flame-200);animation:flicker 1.6s steps(1) infinite}.candle-urgent{background:var(--lantern-300);box-shadow:inset 0 calc(var(--px) * -1) 0 var(--ember-500)}.candle-pct{font-family:var(--font-num);font-size:1.3rem;line-height:1;color:var(--mist-200)}.card-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.5rem;margin-top:.3rem}.hall .cards-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:.6rem}.hall .contestant-card{display:grid;grid-template-columns:2.8rem minmax(0,1fr) auto auto;grid-template-areas:"rank top top time" "rank title actions actions";align-items:center;gap:.15rem .7rem;padding:.6rem .8rem}.hall .card-rank{position:static;grid-area:rank;font-size:2.2rem;text-align:center}.hall .card-top{grid-area:top;padding-right:0}.hall .card-title{grid-area:title;font-size:1.4rem}.hall .card-time{grid-area:time;font-size:0;text-align:right}.hall .card-time strong{font-size:1.9rem}.hall .card-actions{grid-area:actions;display:flex;justify-content:flex-end;gap:.4rem;margin:0}.hall .card-actions .medieval-btn{padding:.2rem .7rem}.hall .card-actions:has(>:nth-child(2)){grid-area:auto;grid-column:1 / -1}.fallen .cards-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.fallen .contestant-card{padding-left:.7rem;padding-right:.7rem}.fallen .card-top{gap:.4rem;padding-right:0}.fallen .card-name{font-size:1.25rem}.fallen .card-title{font-size:1.4rem}.arena-footer{display:flex;justify-content:center;margin-top:1rem}.confirm-reset{padding:1rem 1.25rem;text-align:center}.confirm-btns{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap;margin-top:.8rem}.history-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.timeline-legend{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:.8rem;font-size:.9rem;color:var(--mist-200)}.timeline-legend span{display:flex;align-items:center;gap:.4rem}.legend-mark{width:calc(var(--px) * 4);height:calc(var(--px) * 4);border:var(--px) solid var(--night-900)}.legend-mark-official{background:var(--moon-50)}.legend-mark-unofficial{background:var(--stone-400)}.chronology{position:relative;padding-left:2.25rem}.chronology:before{content:"";position:absolute;top:0;bottom:0;left:.6rem;width:calc(var(--px) * 2);background:conic-gradient(var(--stone-400) 25%,transparent 0 50%,var(--stone-400) 0 75%,transparent 0) 0 0 / calc(var(--px) * 2) calc(var(--px) * 2)}.chronology-year{position:relative;margin-bottom:2rem}.year-marker{margin-bottom:.7rem}.year-marker:before{content:"";position:absolute;left:calc(-2.25rem + .6rem - var(--px));top:.5rem;width:calc(var(--px) * 4);height:calc(var(--px) * 4);background:var(--lantern-400);border:var(--px) solid var(--night-900);box-shadow:inset var(--px) var(--px) 0 var(--flame-200)}.year-marker span{font-family:var(--font-num);font-size:2.2rem;line-height:1;color:var(--moon-50);text-shadow:var(--px) var(--px) 0 var(--night-900)}.chronology-events{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.event-card{display:flex;flex-direction:column;gap:.2rem;min-height:44px;padding:.9rem 1rem;font-family:var(--font-body);font-size:1rem;text-align:left;color:var(--moon-100);cursor:pointer}.event-card:hover{background-color:var(--stone-600)}.event-card-official{--bevel-hi: var(--moon-100);background-color:var(--stone-600)}.event-card-date{font-size:.85rem;color:var(--mist-200)}.event-card strong{font-size:1.15rem;color:var(--moon-50);overflow-wrap:anywhere}.event-card-meta{font-family:var(--font-num);font-size:1.2rem;color:var(--mist-200)}.timeline-empty-state{text-align:center}.timeline-empty-state h3{font-family:var(--font-title);font-weight:400;font-size:2rem;color:var(--moon-50)}.event-view,.event-loading,.event-error-state{max-width:860px;margin:0 auto}.event-date{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mist-200)}.result-toolbar{display:flex;align-items:baseline;justify-content:space-between;margin-top:1.5rem;padding-bottom:.4rem;font-family:var(--font-title);font-size:1.7rem;color:var(--moon-50);border-bottom:var(--px) solid var(--night-900)}.result-count{font-family:var(--font-num);font-size:1.2rem;color:var(--mist-200)}.results-table-head,.results-table .result-row{display:grid;grid-template-columns:3rem minmax(0,1fr) 6.5rem 2.5rem;align-items:center;gap:.75rem;padding:.55rem .75rem}.results-table-head{font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mist-200)}.results-table .result-row{border-bottom:var(--px) solid var(--night-800)}.results-table .result-row:nth-child(odd){background:var(--night-700)}.results-table .result-row:last-child{border-bottom:0}.results-table .result-rank{font-family:var(--font-num);font-size:1.5rem;color:var(--mist-200)}.results-table .result-person{display:flex;align-items:center;gap:.5rem;min-width:0}.results-table .result-name{color:var(--moon-50);overflow-wrap:anywhere}.results-table .result-time{font-family:var(--font-num);font-weight:400;font-size:1.5rem;color:var(--moon-50)}.results-table .result-shame{font-family:var(--font-body);font-size:.95rem;color:var(--blood-300)}.results-table .result-title{text-align:center;color:var(--stone-400)}.results-table .royal-result,.results-table .royal-result:nth-child(odd){background:var(--ember-700)}.royal-crown{font-size:1.3rem;color:var(--flame-200)}.results-table .result-recorded-title{flex:none;padding:0 .4rem;border:1px solid var(--night-700);font-size:.8rem;letter-spacing:.03em;color:var(--mist-200);white-space:nowrap}.event-admin-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:.7rem;margin-bottom:.8rem}.admin-access-label,.admin-section-hint,.attendee-help,.save-message{font-size:.85rem;color:var(--mist-200)}.admin-edit-notice{display:flex;flex-direction:column;margin-bottom:1rem;padding:.8rem 1rem;background-color:var(--night-800)}.admin-edit-notice strong{color:var(--moon-50)}.admin-edit-form{display:grid;grid-template-columns:2fr 1fr auto;align-items:end;gap:.75rem}.admin-edit-form label:not(.check-label),.attendee-field{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;color:var(--mist-200)}.admin-add-attendee{margin-top:1.25rem;padding:1rem;background-color:var(--night-800)}.admin-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.admin-section-heading h3{font-family:var(--font-title);font-weight:400;font-size:1.7rem;line-height:1;color:var(--moon-50)}.admin-add-fields{display:grid;grid-template-columns:2fr 1fr 5.5rem 5.5rem auto;align-items:end;gap:.6rem}.attendee-help{margin-top:.6rem}.admin-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:1.25rem}.admin-actions .danger-btn{margin-left:auto}.admin-status{width:auto;flex:none}@media(min-width:900px){.app-root{--scene-h: 256px}.app-title{font-size:8rem}}@media(max-width:640px){.app-main{padding:1rem .6rem 2.5rem}.scroll-panel{padding:1.4rem 1rem}.main-nav{padding-left:.25rem;padding-right:.25rem}.nav-link{flex:1;padding:.4rem .3rem}.home-stats,.lore-grid{grid-template-columns:1fr}.home-stats div{flex-direction:row;justify-content:space-between;align-items:center;text-align:left}.home-stats strong{order:2;font-size:2.4rem}.form-row .medieval-input,.gender-toggle,.enlist-btn{flex:1 1 100%}.gender-btn{flex:1;padding:.4rem .3rem}.global-timer{padding:.4rem .7rem .6rem}.timer-value{font-size:3.4rem}.cards-grid,.hall .cards-grid{grid-template-columns:minmax(0,1fr)}.fallen .cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.screen-room .app-title{font-size:3rem}.history-heading{align-items:stretch;flex-direction:column}.results-table-head,.results-table .result-row{grid-template-columns:2.2rem minmax(0,1fr) 5.2rem;gap:.5rem}.results-table-head span:nth-child(4),.results-table .result-title{display:none}.results-table .result-person{flex-wrap:wrap}.admin-edit-form,.admin-add-fields{grid-template-columns:1fr 1fr}.admin-edit-form label:first-child,.attendee-name-field,.attendee-add-btn{grid-column:1 / -1}.admin-section-heading{align-items:flex-start;flex-direction:column;gap:.3rem}.admin-actions .danger-btn{margin-left:0}}.rooms-panel{margin-top:1.5rem}.room-code-box{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem;margin:.5rem 0 1rem}.room-code{font-family:var(--font-num);font-size:3rem;letter-spacing:.3em;color:var(--flame-200)}.room-code-input{text-transform:uppercase;letter-spacing:.2em}.room-heading{text-align:center}.room-error{max-width:40rem;margin:0 auto 1rem;text-align:center}.card-own{outline:var(--px) solid var(--lantern-300)}.card-time-form{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}.card-time-form .medieval-input{width:6rem}.host-guide{margin-top:1.5rem;padding-top:1.25rem;border-top:var(--px) solid var(--night-900)}.host-guide summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-family:var(--font-title);font-size:1.5rem;color:var(--flame-200)}.host-guide summary:before{content:"▸";margin-right:.5rem}.host-guide[open] summary:before{content:"▾"}.host-guide ol{display:grid;gap:.9rem;margin:.75rem 0 1rem;padding-left:1.5rem}.host-guide li strong{display:block;color:var(--moon-50)}.host-guide li span{color:var(--mist-200)}
