@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--gold:#d6b478;--ink:#f5ecdc;--muted:#bfb5a6;--line:#c7a56e30;--horde:#dd746c;--alliance:#8db9ec;--surface:#201c18;--font:Inter,system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:#15120f;color:var(--ink);font:14px/1.6 var(--font)}body:before{content:"";position:fixed;inset:58px 0 0;z-index:-1;background:linear-gradient(to bottom,transparent 35%,#15120fd9 92%),url('assets/tavern.png') center top/100% auto no-repeat;pointer-events:none}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #ffe2a8;outline-offset:4px}input:focus,select:focus{outline:2px solid var(--gold);outline-offset:2px}button:disabled{cursor:wait;opacity:.55}[hidden]{display:none!important}.topbar{height:64px;padding:0 max(24px,calc((100vw - 1440px)/2));display:flex;align-items:center;justify-content:space-between;background:#15120ff2;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:600;line-height:1.3}.brand-mark{display:grid;place-items:center;width:38px;height:38px;background:#b895571c;border:1px solid #b8955766;border-radius:10px;color:var(--gold);font:700 16px Georgia,serif}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:1.7px;text-transform:uppercase;margin-top:3px}.top-note{font-size:12px;color:var(--muted)}main{width:min(1280px,calc(100% - 64px));margin:auto}.hero{text-align:center;padding:clamp(100px,11vw,174px) 12px 40px;text-shadow:0 2px 14px #000}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.1}h1{font:600 clamp(38px,4.2vw,66px)/1.05 'Cormorant Garamond',Georgia,serif;margin:12px 0}h2{font:600 31px/1.15 'Cormorant Garamond',Georgia,serif;margin-bottom:14px}h3{font:600 28px/1.2 'Cormorant Garamond',Georgia,serif;margin:10px 0}.hero p{color:#d3c7b8;font-size:15px;margin-bottom:0}.dashboard{border:1px solid var(--line);background:#161411ed;border-radius:20px;padding:24px;box-shadow:0 20px 80px #0006;margin-bottom:32px;backdrop-filter:blur(4px)}.live-row{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;color:var(--muted);margin-bottom:20px}#sync:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#d5a95b;margin-right:9px}#sync.connected:before{background:#85bda0;box-shadow:0 0 10px #85bda060}.quiet{border:1px solid var(--line);background:#ffffff05;color:#d3bd94;border-radius:7px;padding:6px 11px;white-space:nowrap;font-size:11px}.quiet:hover{background:#d6b4781a}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.tabs{display:flex;gap:4px;background:#0e0c0a70;padding:5px;border:1px solid #ffffff09;border-radius:10px}.tabs button{border:0;background:none;color:var(--muted);padding:10px 17px;border-radius:6px;font-size:12px;font-weight:600}.tabs button[aria-pressed=true]{background:#d9bc87;color:#282019;box-shadow:0 2px 8px #0003}.select-label{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted)}select{padding:9px 30px 9px 11px;border:1px solid var(--line);border-radius:7px;background:#28221b;color:var(--ink);font-size:12px}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.mini{display:flex;align-items:center;gap:14px;padding:14px 18px;border:1px solid var(--line);border-radius:10px;background:#ffffff03}.mini strong{font:600 32px/1 Georgia,serif;color:#e6cf9f}.mini span{font-size:11px;color:var(--muted)}.mini small{display:block;font-size:10px;color:#92897c}.panel{background:#211d18e8;border:1px solid var(--line);border-radius:12px;padding:24px}.contest{text-align:center;background:radial-gradient(ellipse at left,#6b201c25,transparent 60%),radial-gradient(ellipse at right,#20497625,transparent 60%),#201b17}.contest-label{font-size:10px;letter-spacing:2.5px;color:#a9987d;margin-bottom:8px}.contest h2{font-size:34px;margin-bottom:20px}.scores{max-width:760px;margin:auto;display:grid;grid-template-columns:1fr 60px 1fr;align-items:center}.scores>div{display:flex;align-items:center;gap:18px}.scores>div:last-child{justify-content:flex-end}.scores span{font-size:12px;letter-spacing:1px}.scores strong{font:600 42px/1 Georgia,serif}.scores .versus{font:italic 17px Georgia,serif;color:#aa9779}.horde-text{color:var(--horde)}.alliance-text{color:var(--alliance)}.balance{max-width:760px;display:flex;gap:3px;height:12px;margin:20px auto 12px;border-radius:10px;overflow:hidden;background:#50483e}.balance>div{transition:width 800ms ease;min-width:0}#horde-fill{background:linear-gradient(90deg,#963b35,#d27162)}#alliance-fill{background:linear-gradient(90deg,#72a4db,#345d98)}.muted{color:var(--muted);font-size:12px}.contest p{margin:0}.section-hint{font-size:11px;text-align:center;margin:22px 0 16px;color:var(--muted)}.boards{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:18px;align-items:start}.board{border:1px solid #86583e7a;border-radius:10px;background:linear-gradient(90deg,#22140dcc,#3f281dcc 50%,#22140dcc);box-shadow:inset 0 0 0 4px #100c0966,0 6px 20px #0004;padding:18px 16px}.board.horde{border-top:3px solid #a9443c}.board.alliance{border-top:3px solid #477eba}.board.either{border-top:3px solid #b38c4f}.board-title{display:flex;align-items:center;gap:12px;margin-bottom:20px}.board-title h2{font-size:25px;margin:5px 0 0}.board-title h2 span{font:500 11px var(--font);color:#c7b59a;border:1px solid #c7b59a40;border-radius:20px;padding:2px 7px;vertical-align:middle}.board .eyebrow{font-size:8px;letter-spacing:1.5px}.crest{display:grid;place-items:center;width:36px;height:43px;flex-shrink:0;font:700 20px Georgia,serif;clip-path:polygon(0 0,100% 0,90% 72%,50% 100%,10% 72%);background:#a67f46;color:#23180d}.horde .crest{background:#843930;color:#f7b1a7}.alliance .crest{background:#345d84;color:#e3cf8e}.board-note{color:#c6b9a6;font-size:10px;line-height:1.5;margin:-6px 0 16px}.plaque-list{display:flex;flex-direction:column;gap:8px}.plaque{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:42px;text-align:left;border:1px solid #b38a4c;border-bottom:3px solid #654822;border-radius:3px;background:linear-gradient(105deg,#cba164,#b38a4d 55%,#d0aa69);color:#271b10;padding:9px 17px;font-weight:600;box-shadow:0 2px 3px #0005,inset 0 1px 0 #f1d9a966}.plaque:before,.plaque:after{content:"";position:absolute;width:3px;height:3px;border-radius:50%;background:#493a23;box-shadow:0 1px 0 #f0d399;top:50%}.plaque:before{left:6px}.plaque:after{right:6px}.plaque-name{overflow-wrap:anywhere;font-size:12px;line-height:1.4}.plaque small{font-size:8px;white-space:nowrap;padding:1px 5px;background:#3c260f16;border-radius:3px;font-weight:600}.plaque:hover{filter:brightness(1.14);transform:translateY(-1px)}.plaque.new{animation:glow 2s ease 3}@keyframes glow{50%{box-shadow:0 0 16px #f7d48899}}.board .empty{font-size:12px;color:var(--muted);padding:12px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:12px 0 20px}.section-head h2{margin:7px 0}.section-head p{margin:0}.faction-filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:20px}.faction-filters button{background:#ffffff04;color:var(--muted);border:1px solid var(--line);border-radius:6px;font-size:11px;padding:7px 14px}.faction-filters button[aria-pressed=true]{background:#c9a36e20;border-color:#d6b478a0;color:#ead3aa}.class-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}.class-row{display:block;width:100%;text-align:left;padding:13px 10px;border:1px solid transparent;background:none;color:var(--ink);border-radius:7px}.class-row:hover,.class-row[aria-pressed=true]{background:#ffffff05;border-color:#b797653d}.class-row-top{display:flex;justify-content:space-between;margin-bottom:8px;font-size:12px}.class-row-top>span:first-child{display:flex;align-items:center;gap:8px}.class-dot{width:7px;height:7px;background:var(--class-color);border-radius:50%}.class-row small{color:var(--muted);font-size:10px;margin-left:8px}.class-bar{height:6px;border-radius:5px;background:#ffffff08;overflow:hidden}.class-bar i{display:block;height:100%;border-radius:5px;background:var(--class-color);transition:width .6s}.class-detail h3{margin-bottom:8px}.chip-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.player-chip{display:inline-flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-radius:6px;background:#ffffff04;color:var(--ink);text-align:left;max-width:100%;overflow-wrap:anywhere;padding:8px 11px;font-size:11px}.player-chip:hover{border-color:var(--gold);background:#d6b47811}.player-chip small{font-size:9px;color:var(--muted)}.search input{width:260px;max-width:100%;border:1px solid var(--line);border-radius:7px;background:#25211b;padding:12px 14px;color:var(--ink);font-size:12px}.player-controls{display:flex;justify-content:space-between;gap:12px;align-items:start}.roster{padding:20px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;margin-top:12px;text-align:left}th{text-transform:uppercase;font-size:9px;letter-spacing:1.4px;font-weight:600;color:#ad9d85;padding:12px 8px}td{padding:14px 8px;font-size:11px;border-top:1px solid #c7a56e18;vertical-align:top}td:first-child{width:23%;overflow-wrap:anywhere}td:nth-child(2){width:12%}td:nth-child(3){width:18%}.name-link{border:0;background:none;color:#ead3aa;text-align:left;padding:0;font-weight:600;overflow-wrap:anywhere}.name-link:hover{text-decoration:underline}.class-tag{display:inline-block;font-size:9px;padding:2px 6px;margin:0 4px 4px 0;border-radius:4px;background:#ffffff07;border:1px solid #ffffff0e}.badge{display:inline-block;padding:2px 7px;border-radius:4px;background:#ffffff05;font-size:10px}.badge.horde{color:var(--horde);background:#a7403922}.badge.alliance{color:var(--alliance);background:#346da522}.badge.either{color:#d8bd86;background:#ab854322}.method{border-top:1px solid var(--line);margin-top:28px;padding-top:20px;font-size:11px;color:var(--muted)}.method summary{cursor:pointer;color:#c7b38e}.method p{max-width:900px;margin:12px 0}.method p:last-child{font-size:10px}footer{display:flex;justify-content:space-between;margin-top:28px;color:#8d8375;font-size:10px}.notice{background:#704e1c40;border:1px solid #b68b4966;border-radius:8px;color:#ebcc94;padding:12px;font-size:12px;margin:12px 0}dialog{color:var(--ink);background:#231d17;border:1px solid #b5945c;border-radius:16px;padding:28px;width:min(490px,calc(100vw - 32px));box-shadow:0 30px 120px #0009}dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.dialog-top button{background:none;border:0;color:var(--muted);font-size:28px;line-height:1}.dialog-name{font:600 36px/1.15 'Cormorant Garamond',Georgia,serif;overflow-wrap:anywhere;margin:16px 0}.dialog-meta{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.dialog-meta small{display:block;color:var(--muted);font-size:10px;margin-bottom:6px}.dialog-classes{font-size:12px;margin-bottom:20px}.dialog-classes .class-tag{font-size:11px;margin-top:7px}.dialog-time{font-size:10px;color:var(--muted);margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:1600px){.hero{padding-top:190px;padding-bottom:50px}}
@media(max-width:1000px){main{width:calc(100% - 32px)}.dashboard{padding:18px}.toolbar{align-items:stretch;flex-direction:column}.toolbar .select-label{justify-content:flex-end}.tabs button{flex:1}.boards{gap:10px;grid-template-columns:1fr 1fr}.board.either{grid-column:1/-1;grid-row:2}.either .plaque-list{display:grid;grid-template-columns:repeat(3,1fr)}.class-layout{grid-template-columns:1fr 1fr}.board-title h2{font-size:27px}.summary{gap:8px}.mini{padding:12px;gap:10px}.mini strong{font-size:27px}}
@media(max-width:640px){body:before{background-size:auto 650px;background-position:center top}.topbar{padding:0 16px}.top-note{display:none}.hero{padding-top:108px;padding-bottom:30px}.hero p{font-size:12px}main{width:calc(100% - 20px)}.dashboard{padding:14px;border-radius:14px}.tabs button{font-size:10px;padding:10px 7px}.live-row{font-size:9px;gap:8px}.summary{grid-template-columns:1fr 1fr;margin-bottom:16px}.mini{padding:11px 12px}.panel{padding:17px}.contest h2{font-size:28px}.scores strong{font-size:34px}.scores>div{gap:10px}.scores span{font-size:10px}.section-hint{font-size:10px}.boards{grid-template-columns:1fr}.board.either{grid-column:auto;grid-row:auto;order:3}.board{padding:18px}.plaque-list,.either .plaque-list{display:grid;grid-template-columns:1fr 1fr}.plaque{padding:9px 14px;flex-direction:column;align-items:flex-start;gap:3px}.plaque-name{font-size:11px}.class-layout{grid-template-columns:1fr}.section-head{align-items:stretch;flex-direction:column}.section-head h2{font-size:29px}.search input{width:100%}.player-controls{flex-direction:column;margin-bottom:16px}.faction-filters{margin-bottom:12px;gap:5px}.faction-filters button{padding:7px 10px;font-size:10px}.roster{padding:10px}table{min-width:540px}.muted{font-size:11px}.method{font-size:10px}footer{font-size:9px}.quiet{font-size:10px}.class-row{padding:12px 2px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.druid-panel{margin:0 0 24px;border-top:2px solid #ef944e90}.druid-panel h3{margin:8px 0}.druid-factions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.druid-card{padding:15px;border:1px solid var(--line);border-radius:8px;background:#ffffff03;--faction-color:#d6b478}.druid-card.horde{--faction-color:var(--horde)}.druid-card.alliance{--faction-color:var(--alliance)}.druid-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.druid-card strong{font:600 30px Georgia,serif;color:var(--faction-color)}.druid-card small{color:var(--muted);font-size:11px}.druid-bar{height:6px;background:#ffffff09;border-radius:4px;overflow:hidden;margin:14px 0}.druid-bar i{display:block;height:100%;background:var(--faction-color);transition:width .6s}.druid-card summary{cursor:pointer;color:var(--muted);font-size:11px}.druid-card .chip-list{margin-top:12px}.druid-card .player-chip{width:100%}@media(max-width:640px){.druid-factions{grid-template-columns:1fr}.druid-panel{padding:16px}.druid-card .player-chip{width:auto}}

.launch-countdown{width:min(460px,100%);margin:0 auto 30px;padding:20px 26px 16px;background:linear-gradient(135deg,#231c14ed,#12110feb);border:1px solid #c7a56e66;border-radius:14px;box-shadow:0 12px 40px #0006;text-shadow:none}.launch-countdown h2{font:600 12px/1.4 var(--font);letter-spacing:1.5px;text-transform:uppercase;color:#e6cd9c;margin:0 0 15px}.launch-clock{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.launch-clock>div{border-right:1px solid var(--line)}.launch-clock>div:last-child{border:0}.launch-clock strong{display:block;font:600 40px/1.1 var(--font);font-variant-numeric:tabular-nums;color:#fff0cc}.launch-clock span{display:block;margin-top:5px;font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:#bfb09b}.hero .launch-date{font-size:11px;color:#e3cda5;margin:16px 0 3px}.hero .launch-local{font-size:10px;color:#bfb5a6;margin:0 0 5px}.launch-source{font-size:9px;color:#bfa577;text-underline-offset:3px}@media(max-width:640px){.launch-countdown{padding:17px 14px 14px;margin-bottom:25px}.launch-clock{gap:8px}.launch-clock strong{font-size:31px}.launch-countdown h2{font-size:10px}}

.survey-invite{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 22px;margin-bottom:22px;background:#c9a36e0d;border:1px solid #c9a36e45;border-radius:12px}.survey-invite h2{font-size:25px;margin:0 0 8px}.survey-invite p{max-width:760px;color:var(--muted);font-size:12px;line-height:1.7;margin:0}.survey-invite strong{color:#ead3aa;font-weight:600}.survey-button{flex-shrink:0;display:inline-block;text-decoration:none;font-size:12px;font-weight:600;padding:12px 16px;border-radius:7px;background:#d9bc87;color:#282019;text-align:center;border:1px solid #efd9ae}.survey-button:hover{background:#ead0a0}@media(max-width:760px){.survey-invite{flex-direction:column;align-items:stretch;gap:16px;padding:17px}.survey-invite h2{font-size:24px}.survey-invite p{font-size:11px}}
