:root{--ug-black: #0a0809;--ug-black-soft: #141012;--ug-black-raised: #1c1618;--ug-black-panel: #221a1d;--ug-red: #a91d35;--ug-red-bright: #d42a4a;--ug-red-dark: #6e1224;--ug-red-glow: rgba(212, 42, 74, .35);--ug-pink: #f0a8be;--ug-pink-soft: #f9d0dc;--ug-pink-muted: #c77d94;--ug-pink-glow: rgba(240, 168, 190, .2);--ug-gold: #c9a55c;--ug-gold-bright: #e8c878;--color-bg: var(--ug-black);--color-bg-soft: var(--ug-black-soft);--color-bg-raised: var(--ug-black-raised);--color-bg-panel: var(--ug-black-panel);--color-bg-input: #181214;--color-bg-highlight: #2e2226;--color-bg-accent: rgba(169, 29, 53, .18);--color-bg-accent-soft: rgba(240, 168, 190, .1);--color-text: #faf0f3;--color-text-muted: #c9aab4;--color-text-subtle: #8f7380;--color-text-inverse: var(--ug-black);--color-border: #3f2c34;--color-border-soft: #32242a;--color-border-accent: var(--ug-red);--color-border-gold: #7a5c30;--color-primary: var(--ug-red);--color-primary-hover: var(--ug-red-bright);--color-primary-muted: var(--ug-red-dark);--color-accent: var(--ug-pink);--color-accent-soft: var(--ug-pink-soft);--color-gold: var(--ug-gold);--color-gold-bright: var(--ug-gold-bright);--color-success-text: #f0c8d4;--color-success-bg: rgba(240, 168, 190, .14);--color-warning-text: #f0d4a0;--color-warning-bg: rgba(201, 165, 92, .16);--color-danger: var(--ug-red-bright);--color-danger-hover: #b8223f;--font-body: Inter, "Segoe UI", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-display: Georgia, "Times New Roman", Times, serif;--text-xs: 12px;--text-sm: 13px;--text-md: 14px;--text-lg: 18px;--text-xl: 1.5rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 4px 20px rgba(0, 0, 0, .5);--shadow-glow-red: 0 0 24px var(--ug-red-glow);--shadow-glow-pink: 0 0 18px var(--ug-pink-glow);--focus-ring: 0 0 0 2px var(--ug-black), 0 0 0 4px var(--ug-pink-muted);--control-height: 36px;--control-height-sm: 30px;--app-max-width: 1280px}.ug-surface{background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:var(--radius-md)}.ug-surface-raised{background:var(--color-bg-raised);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.ug-surface-inset{background:var(--color-bg-highlight);border:1px solid var(--color-border-soft);border-radius:var(--radius-sm)}.ug-chip{display:inline-flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-bg-raised);color:var(--color-text);padding:var(--space-2) var(--space-3)}.ug-text-display{font-family:var(--font-display);color:var(--color-gold-bright);letter-spacing:.02em}.ug-text-muted{color:var(--color-text-muted);font-size:var(--text-md)}*{box-sizing:border-box}body{margin:0;color:var(--color-text);background:radial-gradient(ellipse 120% 80% at 50% -20%,rgba(169,29,53,.22) 0%,transparent 55%),radial-gradient(ellipse 80% 50% at 100% 0%,rgba(240,168,190,.08) 0%,transparent 45%),var(--color-bg);font-family:var(--font-body)}button,input,select{min-width:0;min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-input);color:var(--color-text);padding:var(--space-2) 10px;font:inherit}.margin8{margin:8px 0}.gap8{display:flex;flex-direction:column;gap:8px;white-space:normal}input,select{width:100%}input:focus,select:focus,button:focus-visible{outline:none;box-shadow:var(--focus-ring)}button{cursor:pointer;background:var(--color-primary);color:#fff;border-color:var(--color-primary);white-space:wrap}button.secondary{background:var(--color-bg-raised);color:var(--color-accent);border-color:var(--color-accent)}button.danger{background:var(--color-danger);border-color:var(--color-danger);color:#fff}button.danger:hover{background:var(--color-danger-hover)}button.compact{min-height:var(--control-height-sm);padding:5px var(--space-2);font-size:var(--text-sm)}button:disabled{cursor:not-allowed;background:var(--color-bg-highlight);border-color:var(--color-border-soft);color:var(--color-text-subtle);opacity:.55}button.iconButton{min-height:24px;width:28px;padding:2px;margin-left:var(--space-1);background:var(--color-bg-raised);color:var(--color-accent);border-color:var(--color-border);vertical-align:middle}button:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}button.secondary:hover:not(:disabled){background:var(--color-bg-accent);color:var(--color-accent-soft);border-color:var(--color-accent)}.app{width:min(var(--app-max-width),100%);margin:0 auto;padding:var(--space-5)}.narrow{max-width:560px}.topbar{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--space-4);align-items:center;margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-soft)}.topbarInfo{justify-self:start}.topbarInfo h1{margin-bottom:var(--space-1);font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--color-gold-bright);text-shadow:0 2px 8px rgba(110,18,36,.6)}.topbarInfo p{margin-bottom:0;color:var(--color-text-muted)}.topbarActions{display:flex;align-items:center;justify-self:end}.topbarLogo{display:block;height:180px;width:auto;object-fit:contain;justify-self:center;cursor:pointer;filter:drop-shadow(var(--shadow-glow-red))}.logoPreviewOverlay{position:fixed;inset:0;width:100dvw;height:100dvh;z-index:1000;background:var(--ug-black);overflow:hidden}.logoPreviewStage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden;z-index:1}.logoPreviewClose{position:fixed;top:max(12px,env(safe-area-inset-top,0px));right:max(12px,env(safe-area-inset-right,0px));z-index:10;min-width:52px;min-height:52px;width:52px;padding:0;font-size:32px;font-weight:700;line-height:1;background:var(--color-bg-raised);color:var(--color-accent);border:2px solid var(--color-accent);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.logoPreviewClose:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.logoPreviewImage{display:block;width:100%;height:100%;object-fit:contain}@media(max-width:800px)and (orientation:portrait){.logoPreviewImage{width:100dvh;height:100dvw;max-width:100dvh;max-height:100dvw;transform:rotate(90deg);object-fit:contain}}h1,h2,h3,p{margin-top:0}h2,h3{color:var(--color-gold)}.tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.resourceBar{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-4)}.resourceBar span{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-bg-raised);color:var(--color-text);padding:var(--space-2) var(--space-3)}.resourceBar strong{color:var(--color-accent)}.tabs button{background:var(--color-bg-raised);color:var(--color-text);border-color:var(--color-border)}.tabs button:hover:not(:disabled){background:var(--color-bg-accent);border-color:var(--color-border-accent);color:var(--color-accent-soft)}.tabs button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:var(--shadow-glow-red)}.grid{display:grid;gap:var(--space-4)}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-3)}.guildCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(520px,1fr));gap:var(--space-3)}.rankingList{display:grid;gap:var(--space-2);padding-left:0;list-style:none}.rankingList li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-highlight);padding:10px var(--space-3)}.rankingList strong{color:var(--color-accent)}.panel,.card{background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm)}.card{display:flex;flex-direction:column;gap:var(--space-2)}.card.registered{border-color:var(--color-accent);box-shadow:inset 0 0 0 2px var(--ug-pink-glow),var(--shadow-glow-pink)}.arenaCards{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));align-items:start}.arenaSchedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.arenaSchedule>div{display:grid;gap:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-raised);padding:var(--space-3) 14px}.arenaSchedule strong{font-size:var(--text-lg);color:var(--color-gold-bright)}.arenaCard{gap:var(--space-3);overflow:hidden}.skillSummary{display:flex;flex-direction:column;gap:2px;font-size:13px}.arenaCombatStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.arenaCombatStats>span{display:grid;grid-template-rows:minmax(34px,auto) auto auto;gap:var(--space-1);align-items:start;min-width:0;border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);background:var(--color-bg-highlight);padding:var(--space-2) 10px;font-size:var(--text-sm)}.skillSummary strong{font-size:15px}.arenaCombatStats strong{font-size:var(--text-lg);line-height:1;color:var(--color-accent)}.arenaCombatStats small{color:var(--color-text-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cardHeader{display:grid;grid-template-columns:72px 1fr;gap:var(--space-3);align-items:center}.avatar,.portraitPreviewImage{border:1px solid var(--color-border);border-radius:var(--radius-md);background-image:url(/assets/gladiator-portraits-2.png);background-size:800% 600%;background-repeat:no-repeat;background-color:var(--color-bg-highlight)}.avatar{width:72px;height:72px}.avatarClickable{cursor:pointer}.portraitPreviewImage{width:35vh;height:35vh;max-width:35dvh;max-height:35dvh}.avatar.avatarTiny{width:28px;height:28px;border-radius:var(--radius-sm)}.skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-2)}.skillRow{display:grid;grid-template-columns:34px 34px minmax(0,1fr) auto;gap:var(--space-2);align-items:center;font-size:var(--text-sm);border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);padding:6px var(--space-2);background:var(--color-bg-highlight)}.skillProgress{white-space:nowrap;color:var(--color-text-subtle);font-variant-numeric:tabular-nums}.skillSeparator{grid-column:1 / -1;height:1px;background:var(--color-border-soft);margin:2px 0}.skillRow.preferredSkill{border-color:var(--color-gold);background:var(--color-warning-bg);font-weight:700}.skillTotal{display:grid;place-items:center start;font-size:var(--text-lg);color:var(--color-accent)}.skillIcon{display:grid;place-items:center;min-width:0;border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);background:var(--color-bg-raised);font-size:var(--text-lg)}.skillText{display:flex;align-items:center;min-width:0;border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);background:var(--color-bg-raised);padding:6px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.renameRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2)}.status{border-radius:var(--radius-sm);padding:6px var(--space-2);font-weight:700;margin:0}.status.in{color:var(--color-success-text);background:var(--color-success-bg)}.status.out{color:var(--color-accent-soft);background:var(--color-bg-accent)}.arenaStatusRow{display:grid;grid-template-columns:minmax(0,1fr) minmax(128px,auto);gap:var(--space-2);align-items:center}.potionPicker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:end}.potionPicker label,.potionPicker .assignedPotions{grid-column:1 / -1}.potionPicker label{grid-column:1}.potionPicker>button{grid-column:2;width:auto;min-width:76px}.assignedPotions{grid-column:1 / -1;display:grid;gap:6px}.assignedPotions span{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);background:var(--color-bg-highlight);padding:6px var(--space-2);font-size:var(--text-sm)}.muted{color:var(--color-text-muted);font-size:var(--text-md)}.foodBuff{border:1px solid var(--color-gold);border-radius:var(--radius-sm);background:var(--color-warning-bg);color:var(--color-warning-text);padding:var(--space-2);font-size:var(--text-md)}.craftPanel{display:flex;flex-direction:column;gap:var(--space-3)}.craftControls{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.craftControls>*{flex:1 1 200px}.performerCards{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}button.performerCard{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;background:var(--color-bg-panel);color:var(--color-text);border:2px solid var(--color-border);border-radius:var(--radius-md);padding:9px;box-shadow:var(--shadow-sm)}button.performerCard:hover:not(:disabled){background:var(--color-bg-raised);border-color:var(--color-border);color:var(--color-text)}button.performerCard.selected{background:var(--color-bg-accent);border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--ug-pink-glow),0 0 0 1px var(--color-accent),var(--shadow-glow-pink)}button.performerCard.selected:hover:not(:disabled){background:var(--color-bg-accent);border-color:var(--color-accent-soft);color:var(--color-text)}button.performerCard.preferredSkill{background:var(--color-warning-bg);border-color:var(--color-border-gold)}button.performerCard.preferredSkill:hover:not(:disabled){background:var(--color-warning-bg);border-color:var(--color-gold);color:var(--color-text)}button.performerCard.selected.preferredSkill{background:var(--color-warning-bg);border-color:var(--color-gold-bright);box-shadow:inset 0 0 0 1px #c9a55c73,0 0 0 1px var(--color-gold-bright),var(--shadow-glow-pink)}button.performerCard.selected.preferredSkill:hover:not(:disabled){background:var(--color-warning-bg);border-color:var(--color-gold-bright);color:var(--color-text)}.performerSkill{font-weight:600;font-size:13px}.craftMeta{grid-column:1 / -1;margin:0;border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);background:var(--color-bg-highlight);color:var(--color-text-muted);padding:var(--space-2) 10px;font-size:var(--text-md)}.inventoryList{display:grid;gap:var(--space-2);padding-left:0;list-style:none}.inventoryList li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:center}.stack{display:grid;gap:var(--space-4)}.bracket{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:var(--space-3);overflow-x:auto;padding-bottom:var(--space-2)}.bracketRound{display:flex;flex-direction:column;gap:10px}.fightCard{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-raised);padding:10px}.fightCard summary.fightSummary{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:var(--space-2);align-items:center;cursor:pointer}.fightCard summary.fightSummary .fighterName{display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}.fightCard summary.fightSummary .fighterName:last-child{text-align:right}.fighterTitle{display:inline-grid;grid-template-columns:auto minmax(0,1fr);gap:6px;align-items:center;min-width:0}.fighterName:last-child .fighterTitle{grid-template-columns:minmax(0,1fr) auto}.fighterName:last-child .fighterTitle .avatarTiny{order:2}.fightCard summary.fightSummary .versus{color:var(--color-text-subtle);font-size:var(--text-xs);font-weight:700;text-transform:uppercase}.fightCard summary small{color:var(--color-text-subtle);font-size:var(--text-xs)}.fightCard.currentGuildFight{border-color:var(--color-primary);background:var(--color-bg-accent);box-shadow:var(--shadow-glow-red)}.deadFighter{text-decoration:line-through;color:var(--color-primary-hover)}.fightDetails{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:var(--space-3)}.participant{display:grid;grid-template-columns:72px 1fr;gap:10px;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);padding:10px}.participant.winner{border-color:var(--color-accent);background:var(--color-success-bg);box-shadow:var(--shadow-glow-pink)}.fightLog{margin-top:10px}.fightLog p{border-bottom:1px solid var(--color-border-soft);padding-bottom:6px}.logEntry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:start;position:relative}.tooltipTrigger{display:inline-grid;place-items:center;width:24px;height:24px;border:1px solid var(--color-gold);border-radius:var(--radius-pill);background:var(--color-warning-bg);color:var(--color-gold-bright);cursor:help;font-size:var(--text-sm);font-weight:700}.tooltipBox{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);display:none;width:auto;max-width:min(560px,82vw);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--ug-black-raised);color:var(--color-text);padding:10px var(--space-3);font-weight:400;line-height:1.35;text-align:left;white-space:pre-line;overflow-wrap:anywhere;box-shadow:var(--shadow-md)}.tooltipTrigger:hover .tooltipBox,.tooltipTrigger:focus .tooltipBox{display:block}.message,.debug{border:1px solid var(--color-border-accent);background:var(--color-bg-accent);color:var(--color-accent-soft);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-4)}.debug{display:flex;gap:var(--space-2)}.debugPanel{display:grid;gap:var(--space-3)}.debugActions{display:flex;flex-wrap:wrap;gap:var(--space-2)}label{display:grid;gap:var(--space-1);color:var(--color-text-muted)}select[multiple]{min-height:92px}@media(max-width:800px){.app{padding:14px}.topbar,.grid.two{grid-template-columns:1fr;display:grid}.arenaSchedule{grid-template-columns:1fr}}.topbarActions{display:flex;gap:8px}.modeSelect{gap:12px}.modeButton{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);text-align:left;background:var(--color-bg-raised);color:var(--color-text);border-color:var(--color-border);padding:14px var(--space-4)}.modeButton:hover:not(:disabled){background:var(--color-bg-accent);border-color:var(--color-border-accent);color:var(--color-text)}.modeButton strong{font-size:17px;color:var(--color-gold-bright)}.modeButton span{font-size:var(--text-sm);color:var(--color-text-muted)}.lobbyList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.lobbyList li{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:10px var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-highlight)}.lobbyListInfo{display:flex;flex-direction:column;gap:2px}.lobbyRoomActions,.lobbyListActions{display:flex;gap:var(--space-2)}.lobbyBar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:10px 14px;margin-bottom:var(--space-3);border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-raised)}.lobbyBarInfo{display:flex;flex-direction:column;gap:6px}.lobbyMembers{display:flex;flex-wrap:wrap;gap:6px}.memberChip{font-size:var(--text-sm);padding:3px var(--space-2);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-bg-panel);color:var(--color-text-muted)}.memberChip.ready{border-color:var(--color-accent);background:var(--color-success-bg);color:var(--color-success-text)}.arenaScheduleNote{flex:1 1 100%}.sectionTitle{margin:8px 0 0}.timeRow{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.workRow{display:flex;flex-direction:column;gap:var(--space-1);border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);padding:6px var(--space-2);background:var(--color-bg-highlight)}.workRow.preferredSkill{border-color:var(--color-gold);background:var(--color-warning-bg)}.workSkillInfo{display:flex;align-items:center;gap:6px;margin:0;font-size:13px}.workSkillInfo .skillProgress{margin-left:auto}.skillTotalInline{font-size:15px;min-width:18px;text-align:center}
