:root{color:#1f2428;background:#f3f0e8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{min-width:0;min-height:36px;border:1px solid #9b9486;border-radius:6px;background:#fffdf7;color:#1f2428;padding:8px 10px;font:inherit}.margin8{margin:8px 0}.gap8{display:flex;flex-direction:column;gap:8px;white-space:normal}input,select{width:100%}button{cursor:pointer;background:#2f5d50;color:#fff;border-color:#2f5d50;white-space:wrap}button.secondary{background:#fffdf7;color:#8b2f2f;border-color:#8b2f2f}button.danger{background:#9f1d1d;border-color:#9f1d1d;color:#fff}button.danger:hover{background:#7f1717}button.compact{min-height:30px;padding:5px 8px;font-size:13px}button:disabled{cursor:not-allowed;background:#d8d1c3;border-color:#d8d1c3;color:#6a6257;opacity:.55}button.iconButton{min-height:24px;width:28px;padding:2px;margin-left:4px;background:#fffdf7;color:#2f5d50;border-color:#c5bba8;vertical-align:middle}button:hover{background:#264c42}.app{width:min(1280px,100%);margin:0 auto;padding:24px}.narrow{max-width:560px}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}h1,h2,h3,p{margin-top:0}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.resourceBar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.resourceBar span{border:1px solid #d7cdbb;border-radius:999px;background:#fffdf7;padding:8px 12px}.tabs button{background:#fffdf7;color:#1f2428;border-color:#c5bba8}.tabs button.active{background:#8b2f2f;color:#fff;border-color:#8b2f2f}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.guildCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(520px,1fr));gap:12px}.rankingList{display:grid;gap:8px;padding-left:0;list-style:none}.rankingList li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;border:1px solid #d7cdbb;border-radius:6px;background:#f7f1e5;padding:10px 12px}.panel,.card{background:#fffdf7;border:1px solid #d7cdbb;border-radius:8px;padding:16px}.card{display:flex;flex-direction:column;gap:8px}.card.registered{border-color:#2f5d50;box-shadow:inset 0 0 0 2px #2f5d501f}.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:12px;margin-bottom:16px}.arenaSchedule>div{display:grid;gap:4px;border:1px solid #d7cdbb;border-radius:8px;background:#fffdf7;padding:12px 14px}.arenaSchedule strong{font-size:18px}.arenaCard{gap:12px;overflow:hidden}.skillSummary{display:flex;flex-direction:column;gap:2px;font-size:13px}.skillSummary strong{font-size:15px}.cardHeader{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center}.avatar{width:72px;height:72px;border:1px solid #b6aa96;border-radius:8px;background-image:url(/assets/gladiator-portraits.png);background-size:500% 400%;background-repeat:no-repeat;background-color:#e4dccd}.avatar.avatarTiny{width:28px;height:28px;border-radius:6px}.skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:8px}.skillRow{display:grid;grid-template-columns:34px 34px minmax(0,1fr) auto;gap:8px;align-items:center;font-size:13px;border:1px solid #d7cdbb;border-radius:6px;padding:6px 8px;background:#f7f1e5}.skillProgress{white-space:nowrap;color:#6b6354;font-variant-numeric:tabular-nums}.skillSeparator{grid-column:1 / -1;height:1px;background:#d7cdbb;margin:2px 0}.skillRow.preferredSkill{border-color:#b99d52;background:#fff5cf;font-weight:700}.skillTotal{display:grid;place-items:center start;font-size:16px}.skillIcon{display:grid;place-items:center;min-width:0;border:1px solid #d7cdbb;border-radius:6px;background:#fffdf7;font-size:16px}.skillText{display:flex;align-items:center;min-width:0;border:1px solid #d7cdbb;border-radius:6px;background:#fffdf7;padding:6px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.renameRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.status{border-radius:6px;padding:6px 8px;font-weight:700;margin:0}.status.in{color:#1f4f35;background:#dcefe4}.status.out{color:#7b3d1d;background:#f4e0ce}.arenaStatusRow{display:grid;grid-template-columns:minmax(0,1fr) minmax(128px,auto);gap:8px;align-items:center}.potionPicker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;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 #d7cdbb;border-radius:6px;background:#f7f1e5;padding:6px 8px;font-size:13px}.muted{color:#6a6257;font-size:14px}.foodBuff{border:1px solid #b99d52;border-radius:6px;background:#fff5cf;padding:8px;font-size:14px}.craftPanel{display:flex;flex-direction:column;gap:12px}.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}.performerCard{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;background:#fffdf7;color:#1f2428;border:1px solid #d7cdbb;border-radius:8px;padding:10px}.performerCard.selected{border-color:#2f5d50;box-shadow:inset 0 0 0 2px #2f5d502e}.performerCard.preferredSkill{background:#fff5cf;border-color:#b99d52}.performerCard.selected.preferredSkill{border-color:#2f5d50}.performerSkill{font-weight:600;font-size:13px}.craftMeta{grid-column:1 / -1;margin:0;border:1px solid #d7cdbb;border-radius:6px;background:#f7f1e5;color:#4f473d;padding:8px 10px;font-size:14px}.inventoryList{display:grid;gap:8px;padding-left:0;list-style:none}.inventoryList li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.stack{display:grid;gap:16px}.bracket{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:12px;overflow-x:auto;padding-bottom:8px}.bracketRound{display:flex;flex-direction:column;gap:10px}.fightCard{border:1px solid #d7cdbb;border-radius:8px;background:#fffdf7;padding:10px}.fightCard summary.fightSummary{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;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:#6a6257;font-size:12px;font-weight:700;text-transform:uppercase}.fightCard summary small{color:#6a6257;font-size:12px}.fightCard.currentGuildFight{border-color:#8b2f2f;background:#fff7f1}.deadFighter{text-decoration:line-through;color:#8b2f2f}.fightDetails{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:12px}.participant{display:grid;grid-template-columns:72px 1fr;gap:10px;border:1px solid #d7cdbb;border-radius:8px;padding:10px}.participant.winner{border-color:#2f5d50;background:#eef7f1}.fightLog{margin-top:10px}.fightLog p{border-bottom:1px solid #eee4d2;padding-bottom:6px}.logEntry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start;position:relative}.tooltipTrigger{display:inline-grid;place-items:center;width:24px;height:24px;border:1px solid #b99d52;border-radius:999px;background:#fff5cf;color:#6a4f12;cursor:help;font-size:13px;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 #9b9486;border-radius:6px;background:#1f2428;color:#fffdf7;padding:10px 12px;font-weight:400;line-height:1.35;text-align:left;white-space:pre-line;overflow-wrap:anywhere}.tooltipTrigger:hover .tooltipBox,.tooltipTrigger:focus .tooltipBox{display:block}.message,.debug{border:1px solid #b99d52;background:#fff5cf;border-radius:8px;padding:12px;margin-bottom:16px}.debug{display:flex;gap:8px}.debugPanel{display:grid;gap:12px}.debugActions{display:flex;flex-wrap:wrap;gap:8px}label{display:grid;gap:4px}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:4px;text-align:left;background:#fffdf7;color:#1f2428;border-color:#9b9486;padding:14px 16px}.modeButton strong{font-size:17px;color:#2f5d50}.modeButton span{font-size:13px;color:#5c5648}.lobbyList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.lobbyList li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid #d8d2c4;border-radius:8px;background:#fffdf7}.lobbyListInfo{display:flex;flex-direction:column;gap:2px}.lobbyRoomActions,.lobbyListActions{display:flex;gap:8px}.lobbyBar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;margin-bottom:12px;border:1px solid #d8d2c4;border-radius:10px;background:#efe9db}.lobbyBarInfo{display:flex;flex-direction:column;gap:6px}.lobbyMembers{display:flex;flex-wrap:wrap;gap:6px}.memberChip{font-size:13px;padding:3px 8px;border-radius:999px;border:1px solid #c2bbab;background:#fffdf7;color:#5c5648}.memberChip.ready{border-color:#2f5d50;background:#e2efe9;color:#2f5d50}.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:4px;border:1px solid #d7cdbb;border-radius:6px;padding:6px 8px;background:#f7f1e5}.workRow.preferredSkill{border-color:#b99d52;background:#fff5cf}.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}
