:root{
  --stone:#1a1412; --stone2:#241c18; --stone3:#2f2520; --line:#4a3a2e;
  --blood:#8e1b14; --blood2:#b3261b; --bronze:#b07a3a; --bronze2:#d9a35a; --gold:#e8c27a;
  --parch:#e8d9b5; --parch2:#d6c194; --ink:#2a1a10; --text:#eadfc8; --muted:#b5a68c;
  --green:#6d8f3a; --hp:#b3261b; --sta:#c99a3c;
  --safe-t:env(safe-area-inset-top,0px); --safe-b:env(safe-area-inset-bottom,0px);
}
@font-face{font-family:"Cinzel";src:url(fonts/cinzel.woff2) format("woff2");font-weight:400 900;font-display:swap}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;background:#0e0a09;color:var(--text);overscroll-behavior:none}
body{font-family:"Palatino","Palatino Linotype","Book Antiqua",Georgia,serif;font-size:17px;line-height:1.4;-webkit-text-size-adjust:100%;overflow:hidden}
button{font:inherit;color:inherit}
h1,h2,h3,.display{font-family:"Cinzel","Trajan Pro",Georgia,serif;letter-spacing:.04em;margin:0}
#app{position:fixed;inset:0;max-width:560px;margin:0 auto;overflow:hidden;
  background:radial-gradient(120% 80% at 50% 0%,#2a1f1a 0%,#16100e 55%,#0d0908 100%)}
.screen{position:absolute;inset:0;display:none;flex-direction:column}
.screen.active{display:flex}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 18px;border-radius:10px;border:1px solid #000;
  font-family:"Cinzel",Georgia,serif;font-weight:700;font-size:16px;letter-spacing:.05em;cursor:pointer;text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 3px 0 rgba(0,0,0,.55);transition:transform .06s}
.btn:active{transform:translateY(2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(0,0,0,.55)}
.btn[disabled]{opacity:.42;filter:grayscale(.6);cursor:not-allowed}
.btn-blood{background:linear-gradient(#b52a1e,#7a140e);color:#fbe9d0}
.btn-bronze{background:linear-gradient(#d29a52,#8a5a26);color:#1f1209}
.btn-stone{background:linear-gradient(#3b302a,#241c18);color:var(--text);border-color:#000}
.btn-ghost{background:transparent;border:1px solid var(--line);box-shadow:none;color:var(--muted);text-transform:none;font-family:inherit;font-weight:400}
.btn-big{min-height:58px;font-size:19px;width:100%}
.btn-wide{width:100%}
.btn-sm{min-height:44px;padding:8px 12px;font-size:14px}

/* Title */
#screen-title{justify-content:flex-end}
.title-art{position:absolute;inset:0;background:#120c0a url(img/title.jpg) center 30%/cover no-repeat}
.title-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,6,5,.55) 0%,rgba(10,6,5,0) 30%,rgba(10,6,5,.2) 55%,rgba(10,6,5,.96) 82%)}
.title-inner{position:relative;padding:0 24px calc(28px + var(--safe-b));text-align:center}
.logo{font-size:64px;font-weight:900;color:var(--gold);text-shadow:0 2px 0 #3a1a0a,0 0 24px rgba(179,38,27,.55);letter-spacing:.12em;line-height:1}
.logo-sub{font-family:"Cinzel",serif;color:#e7b9a0;font-size:18px;letter-spacing:.3em;text-transform:uppercase;margin:6px 0 22px}
.title-buttons{display:flex;flex-direction:column;gap:12px}
.tiny-note{color:var(--muted);font-size:14px;margin:14px 0 0}

/* Setup */
#screen-setup{padding:calc(24px + var(--safe-t)) 20px calc(20px + var(--safe-b));overflow-y:auto;justify-content:center}
.setup-card{background:linear-gradient(#ecdfbf,#d9c495);color:var(--ink);border-radius:6px;padding:22px 20px;box-shadow:0 10px 30px rgba(0,0,0,.6),inset 0 0 40px rgba(120,80,30,.35);border:1px solid #8a6a3a}
.setup-card h2{font-size:24px;color:#5a1a10;text-align:center;margin-bottom:12px}
.setup-card p{margin:0 0 14px;font-size:18px}
.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0 6px}
.choice{min-height:110px;border-radius:8px;border:2px solid #8a6a3a;background:rgba(255,255,255,.25);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-family:"Cinzel",serif;font-weight:700;font-size:18px;cursor:pointer}
.choice .big{font-size:38px}
.choice.sel{background:#5a1a10;color:#f4e3c0;border-color:#2a0a05}
.field{width:100%;min-height:52px;font:inherit;font-size:20px;padding:10px 14px;border-radius:8px;border:2px solid #8a6a3a;background:#f6ecd2;color:var(--ink);font-family:"Cinzel",serif}
.setup-actions{display:flex;gap:10px;margin-top:16px}
.setup-actions .btn{flex:1}
.story p{font-size:19px;line-height:1.5}
.story .drop::first-letter{font-family:"Cinzel",serif;font-size:2.4em;float:left;line-height:.9;margin:4px 6px 0 0;color:#7a140e}
.pager{text-align:center;color:#7a5a30;font-size:15px;margin-top:6px}

/* Top bar */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:calc(8px + var(--safe-t)) 14px 8px;background:linear-gradient(#1d1512,#140e0c);border-bottom:2px solid #3a2a20;box-shadow:0 2px 10px rgba(0,0,0,.6)}
.tb-house{display:flex;flex-direction:column;min-width:0}
#tb-house{font-family:"Cinzel",serif;font-weight:800;color:var(--gold);font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-week{font-size:14px;color:var(--muted)}
.tb-stats{display:flex;gap:6px;flex-shrink:0}
.chip-stat{background:#0d0908;border:1px solid #3a2a20;border-radius:20px;padding:5px 10px;font-size:16px;white-space:nowrap}
.chip-stat b{color:var(--parch)}
.chip-stat.neg b{color:#ff7a6a}

/* Main view */
#view{flex:1;overflow-y:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:14px 12px 20px;outline:none}
.tabbar{display:grid;grid-template-columns:repeat(5,1fr);background:linear-gradient(#18110f,#0d0908);border-top:2px solid #3a2a20;padding-bottom:var(--safe-b)}
.tab{background:none;border:0;min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);font-family:"Cinzel",serif;font-size:13px;font-weight:700;letter-spacing:.05em;cursor:pointer;position:relative}
.tab .ti{font-size:22px;filter:grayscale(.7)}
.tab.active{color:var(--gold)}
.tab.active .ti{filter:none}
.tab.active::before{content:"";position:absolute;top:-2px;left:22%;right:22%;height:3px;background:var(--blood2);border-radius:0 0 3px 3px}
.tab .badge{position:absolute;top:6px;right:calc(50% - 22px);background:var(--blood2);color:#fff;font-size:12px;font-family:Georgia,serif;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 5px}

.section-h{display:flex;align-items:baseline;justify-content:space-between;margin:6px 4px 10px}
.section-h h2{font-size:20px;color:var(--parch)}
.section-h .sub{font-size:14px;color:var(--muted)}
.panel{background:linear-gradient(#271e1a,#1c1512);border:1px solid #3d2f25;border-radius:12px;padding:12px;margin-bottom:12px;box-shadow:0 4px 12px rgba(0,0,0,.4)}
.parch{background:linear-gradient(#ecdfbf,#d6c194);color:var(--ink);border:1px solid #8a6a3a;box-shadow:inset 0 0 30px rgba(120,80,30,.3),0 4px 12px rgba(0,0,0,.5)}
.muted{color:var(--muted)}
.small{font-size:15px}
.warn{color:#ff8a70}
.good{color:#a9cf6a}
.gold{color:var(--gold)}

/* Gladiator cards */
.gcard{display:block}
.g-top{display:flex;gap:12px;align-items:center;cursor:pointer}
.portrait{width:68px;height:68px;border-radius:10px;flex-shrink:0;background:#0d0908 center/cover no-repeat;border:2px solid #5a4330;box-shadow:inset 0 0 12px rgba(0,0,0,.8);position:relative}
.portrait.lg{width:96px;height:96px}
.portrait .fame-dot{position:absolute;bottom:-6px;right:-6px;background:#0d0908;border:1px solid var(--bronze);border-radius:12px;font-size:12px;padding:1px 6px;color:var(--gold);font-family:Georgia,serif}
.g-info{flex:1;min-width:0}
.g-name{font-family:"Cinzel",serif;font-weight:800;font-size:18px;color:var(--parch);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.g-sub{font-size:14px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.g-chev{color:var(--muted);font-size:22px;padding:0 2px}
.bar{height:10px;background:#0b0706;border-radius:6px;overflow:hidden;border:1px solid #3a2a20;margin-top:5px}
.bar>i{display:block;height:100%;background:linear-gradient(#d23a2c,#8e1b14);border-radius:6px;transition:width .35s}
.bar.sta>i{background:linear-gradient(#e0b552,#9a6e22)}
.bar.mor>i{background:linear-gradient(#8fb45a,#4f6e26)}
.statline{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:10px;text-align:center}
.st{background:#120d0b;border:1px solid #33271f;border-radius:8px;padding:4px 0}
.st b{display:block;font-size:18px;color:var(--parch)}
.st span{font-size:12px;color:var(--muted);letter-spacing:.06em}
.st.debuff b{color:#ff8a70}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.tag{font-size:14px;border-radius:12px;padding:2px 9px;background:#120d0b;border:1px solid #3a2a20;color:var(--muted)}
.tag.red{border-color:#7a1a12;color:#ff9a85}
.tag.gold{border-color:#7a5a20;color:var(--gold)}
.tag.green{border-color:#3d5a20;color:#b5d77a}
.assign{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-top:10px}
.as{min-height:46px;border-radius:8px;background:#120d0b;border:1px solid #3a2a20;color:var(--muted);font-size:14px;font-family:"Cinzel",serif;font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;cursor:pointer;padding:2px}
.as small{font-family:Georgia,serif;font-weight:400;font-size:12px}
.as.sel{background:linear-gradient(#8a5a26,#5e3a16);color:#fbe9d0;border-color:#d9a35a}
.as.rest.sel{background:linear-gradient(#4f6e26,#33481a);border-color:#8fb45a}
.fought-note{margin-top:10px;font-size:15px;color:var(--gold);text-align:center;padding:10px;border:1px dashed #5a4330;border-radius:8px}
.endweek{position:sticky;bottom:0;padding-top:6px;background:linear-gradient(rgba(14,10,9,0),#0e0a09 30%)}

/* Venues */
.venue{position:relative;overflow:hidden}
.venue h3{font-size:18px;color:var(--parch)}
.venue .v-meta{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 8px}
.venue.locked{opacity:.75}
.venue.locked h3{color:var(--muted)}
.venue .lock{font-size:15px;color:var(--muted)}
.venue .v-desc{font-size:15px;color:var(--muted);margin:0 0 10px}
.progress-label{display:flex;justify-content:space-between;font-size:14px;color:var(--muted)}
.pick{display:flex;flex-direction:column;gap:8px}
.pick-g{display:flex;align-items:center;gap:10px;background:#120d0b;border:1px solid #3a2a20;border-radius:10px;padding:8px;min-height:64px;cursor:pointer;text-align:left;width:100%}
.pick-g .portrait{width:52px;height:52px}
.pick-g[disabled]{opacity:.45}

/* Market */
.mrow{display:flex;align-items:center;gap:10px}
.mrow .grow{flex:1;min-width:0}
.price{font-family:"Cinzel",serif;font-weight:800;color:var(--gold);white-space:nowrap}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}
.seg button{min-height:44px;border-radius:10px;border:1px solid #3a2a20;background:#120d0b;color:var(--muted);font-family:"Cinzel",serif;font-weight:700;font-size:14px;cursor:pointer}
.seg button.sel{background:linear-gradient(#8e1b14,#5e100b);color:#fbe9d0;border-color:#c0392b}
.gear-who{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:8px;scrollbar-width:none}
.gear-who button{flex-shrink:0;min-height:44px;border-radius:22px;border:1px solid #3a2a20;background:#120d0b;color:var(--muted);padding:6px 14px;font-size:15px;cursor:pointer}
.gear-who button.sel{border-color:var(--bronze2);color:var(--gold)}

/* House */
.kv{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #33271f;font-size:16px}
.kv:last-child{border-bottom:0}
.log{max-height:none}
.log p{margin:0 0 6px;font-size:15px;color:var(--muted)}
.log p b{color:var(--parch);font-weight:normal}

/* Sheet */
.sheet-wrap{position:absolute;inset:0;z-index:50;display:flex;align-items:flex-end}
.sheet-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.65)}
.sheet{position:relative;width:100%;max-height:88%;overflow-y:auto;background:linear-gradient(#2a201b,#1a1311);border-top:2px solid var(--bronze);border-radius:16px 16px 0 0;padding:18px 16px calc(18px + var(--safe-b));animation:up .22s ease-out}
.sheet.parch{background:linear-gradient(#efe3c4,#d6c194);color:var(--ink);border-top-color:#5a1a10}
.sheet.parch .muted{color:#6b5535}
.sheet.parch h2{color:#5a1a10}
.sheet h2{font-size:22px;margin-bottom:8px;color:var(--gold)}
.sheet p{margin:0 0 12px}
.sheet .actions{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.sheet .opt-cost{display:block;font-family:Georgia,serif;text-transform:none;font-weight:400;font-size:14px;opacity:.85;letter-spacing:0}
.sheet .btn{flex-direction:column;gap:0}
.event-art{font-size:46px;text-align:center;margin-bottom:4px}
@keyframes up{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}

.toast{position:absolute;left:50%;bottom:calc(84px + var(--safe-b));transform:translateX(-50%) translateY(20px);background:#0d0908;border:1px solid var(--bronze);color:var(--parch);padding:10px 16px;border-radius:12px;font-size:16px;opacity:0;pointer-events:none;transition:all .25s;z-index:80;max-width:88%;text-align:center}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* Fight */
#screen-fight{background:radial-gradient(120% 70% at 50% 45%,#5a3a22 0%,#2a1a10 45%,#0d0806 100%);z-index:40;padding:calc(8px + var(--safe-t)) 12px calc(10px + var(--safe-b))}
.f-head{display:flex;justify-content:space-between;align-items:center;font-family:"Cinzel",serif;color:var(--gold);font-size:15px;min-height:32px}
.f-head .rnd{color:var(--muted)}
.fighter{display:flex;gap:10px;align-items:center;background:rgba(10,6,5,.55);border:1px solid #4a3426;border-radius:12px;padding:8px;position:relative}
.fighter .portrait{width:64px;height:64px}
.fighter .grow{flex:1}
.fighter .f-name{font-family:"Cinzel",serif;font-weight:800;font-size:17px;color:var(--parch);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fighter .f-sub{font-size:13px;color:var(--muted)}
.fighter .nums{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-top:2px}
.fighter .fx{display:flex;gap:4px;flex-wrap:wrap;min-height:20px;margin-top:3px}
.fx span{font-size:12px;border-radius:8px;padding:0 6px;background:#3a0d09;color:#ffb3a5;border:1px solid #7a1a12}
.fx span.g{background:#2a2410;color:#f0d38a;border-color:#7a5a20}
.arena-floor{flex:1;position:relative;margin:8px 0;border-radius:12px;overflow:hidden;background:radial-gradient(80% 60% at 50% 60%,#8a6a42 0%,#5e4428 55%,#2a1c10 100%);border:1px solid #4a3426;min-height:120px}
.arena-floor::before{content:"";position:absolute;inset:0;background:repeating-radial-gradient(circle at 30% 70%,rgba(0,0,0,.06) 0 2px,transparent 2px 7px),repeating-radial-gradient(circle at 70% 30%,rgba(255,255,255,.03) 0 1px,transparent 1px 5px)}
.flog{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:10px 12px;gap:4px;overflow:hidden}
.flog p{margin:0;font-size:16px;line-height:1.3;color:#f4e6cc;text-shadow:0 1px 2px #000,0 0 6px #000;animation:fin .25s}
.flog p.old{opacity:.55}
.flog p .c{color:#ffcf6a;font-weight:bold}
.flog p .r{color:#ff6b55;font-weight:bold}
@keyframes fin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.blood{position:absolute;border-radius:50%;background:radial-gradient(circle,#a3150c 0%,#6a0b05 70%,transparent 72%);pointer-events:none;opacity:.85;animation:splat .6s ease-out forwards}
@keyframes splat{from{transform:scale(.2);opacity:1}to{transform:scale(1);opacity:.7}}
.drop{}
.float{position:absolute;font-family:"Cinzel",serif;font-weight:900;font-size:28px;color:#fff;text-shadow:0 2px 0 #000,0 0 10px #b3261b;pointer-events:none;animation:flo 1s ease-out forwards;z-index:5}
.float.crit{font-size:36px;color:#ffd36a}
.float.miss{color:#cfc2a8;font-size:22px;text-shadow:0 2px 0 #000}
@keyframes flo{from{transform:translateY(0) scale(.8);opacity:1}to{transform:translateY(-46px) scale(1.1);opacity:0}}
.shake{animation:shake .32s}
@keyframes shake{0%,100%{transform:none}20%{transform:translate(-6px,2px)}40%{transform:translate(5px,-3px)}60%{transform:translate(-4px,1px)}80%{transform:translate(3px,0)}}
.hitflash{animation:hf .3s}
@keyframes hf{0%{box-shadow:inset 0 0 0 200px rgba(179,38,27,.55)}100%{box-shadow:none}}
.moves{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.move{min-height:68px;border-radius:12px;border:1px solid #000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 3px 0 rgba(0,0,0,.55)}
.move b{font-family:"Cinzel",serif;font-size:17px;letter-spacing:.03em}
.move small{font-size:13px;opacity:.85}
.move:active{transform:translateY(2px)}
.move[disabled]{opacity:.38;filter:grayscale(.7)}
.mv-strike{background:linear-gradient(#b52a1e,#7a140e);color:#fbe9d0}
.mv-heavy{background:linear-gradient(#7a140e,#4a0a06);color:#fbe9d0}
.mv-guard{background:linear-gradient(#4a3a2e,#2a201a);color:var(--parch)}
.mv-special{background:linear-gradient(#d29a52,#8a5a26);color:#1f1209}
.f-tools{display:flex;justify-content:space-between;margin-top:6px}
.f-tools button{background:none;border:0;color:var(--muted);font-size:14px;min-height:40px;padding:0 6px;cursor:pointer}
.verdict{position:absolute;inset:0;z-index:60;background:rgba(8,5,4,.86);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;animation:fin .3s}
.verdict h2{font-size:30px;color:var(--gold);margin-bottom:8px}
.verdict h2.dead{color:#ff5a45}
.verdict p{font-size:17px;max-width:340px;margin:0 0 12px}
.verdict .thumb{font-size:90px;margin:6px 0;animation:thumb .8s ease-out}
@keyframes thumb{0%{transform:scale(.2) rotate(-20deg);opacity:0}60%{transform:scale(1.2)}100%{transform:scale(1)}}
.verdict .btns{display:flex;flex-direction:column;gap:10px;width:100%;max-width:340px;margin-top:8px}
.crowd-meter{width:100%;max-width:320px;margin:4px 0 14px}
.crowd-meter .bar{height:14px}
.crowd-meter .bar>i{background:linear-gradient(90deg,#8e1b14,#c99a3c,#8fb45a)}
.rewards{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:12px}

/* Victory/defeat end screens use sheet */
.center{text-align:center}
.mt{margin-top:12px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media (max-height:700px){.fighter .portrait{width:52px;height:52px}.move{min-height:58px}.logo{font-size:52px}}

/* Estate */
.house-banner{display:flex;gap:12px;align-items:center}
.me{width:84px;height:84px;flex-shrink:0;border-radius:12px;overflow:hidden;border:2px solid var(--bronze);padding:0;background:#140d0a;cursor:pointer}
.me svg,.look-portrait svg,.rival-face svg{display:block;width:100%;height:100%}
.hb-info{flex:1;min-width:0}
.hb-info .g-name{white-space:normal;font-size:17px;line-height:1.2}
.mt0{margin-top:4px}
.estate{position:relative;padding:14px;border-radius:14px;background:linear-gradient(#3b2e24,#2a2019);border:3px solid #5a4330;box-shadow:inset 0 0 0 6px #241a14,inset 0 0 30px rgba(0,0,0,.7),0 6px 16px rgba(0,0,0,.5);margin-bottom:14px}
.estate::before{content:"";position:absolute;inset:6px;border-radius:9px;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 2px,transparent 2px 22px),repeating-linear-gradient(90deg,rgba(0,0,0,.12) 0 2px,transparent 2px 44px);pointer-events:none}
.rooms{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.room{position:relative;min-height:104px;border-radius:10px;border:1px solid #1a120e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px;cursor:pointer;color:var(--parch);overflow:hidden;text-align:center;
  background:linear-gradient(160deg,#6b5a48,#3e3128);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 2px 0 rgba(0,0,0,.5)}
.room .r-icon{font-size:30px;line-height:1}
.room .r-name{font-family:"Cinzel",serif;font-weight:700;font-size:14px;line-height:1.15}
.room .r-lv{font-size:13px;color:var(--muted)}
.pips{display:flex;gap:3px}.pips i{width:9px;height:9px;border-radius:50%;background:#1a120e;border:1px solid #6a5440}.pips i.on{background:var(--gold);border-color:#fff3c8}
.room>*{position:relative;z-index:1}
.room.lv0{background:linear-gradient(160deg,#3a322c,#221d1a);color:#cbbfa8}
.room.lv0 .r-icon{filter:grayscale(1) brightness(.55) contrast(1.1)}
.room.lv0 .r-lv{color:#c98a7a}
.room.lv0::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 46%,rgba(0,0,0,.65) 47%,transparent 49%),linear-gradient(35deg,transparent 60%,rgba(0,0,0,.55) 61%,transparent 62.5%),linear-gradient(160deg,transparent 25%,rgba(0,0,0,.5) 26%,transparent 27.5%);pointer-events:none}
.room.lv1{background:linear-gradient(160deg,#5a4a3c,#3a2e26)}
.room.lv1 .r-icon{filter:grayscale(.5) brightness(.85)}
.room.lv1::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 55%,rgba(0,0,0,.35) 56%,transparent 57.5%);pointer-events:none}
.room.lv2{background:linear-gradient(160deg,#8a6a48,#4e3a28);border-color:#8a6a3a}
.room.lv3{background:linear-gradient(160deg,#b0844a,#5e3f1e);border-color:var(--gold);box-shadow:0 0 14px rgba(232,194,122,.45),inset 0 1px 0 rgba(255,255,255,.25)}
.room.lv3 .r-lv{color:var(--gold)}
.staff-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.staff-mini{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;cursor:pointer;color:var(--text);min-height:64px;font-size:16px}
.staff-mini span{font-size:14px;color:var(--muted)}
.staff .lvl{font-family:"Cinzel",serif;font-weight:800;color:var(--gold);font-size:18px}
.staff .kv span:last-child{text-align:right;max-width:62%}
.r-icon.big{font-size:34px;width:52px;text-align:center;flex-shrink:0}

/* Look editor */
.look-wrap{display:flex;flex-direction:column;align-items:center;gap:10px}
.look-portrait{width:150px;height:150px;border-radius:14px;overflow:hidden;border:3px solid #5a1a10;box-shadow:0 4px 14px rgba(0,0,0,.45)}
.look-rows{width:100%;display:flex;flex-direction:column;gap:8px}
.lr>span{display:block;font-family:"Cinzel",serif;font-weight:700;font-size:13px;margin-bottom:4px;opacity:.85}
.swatches{display:flex;gap:8px;flex-wrap:wrap}
.sw{width:44px;height:44px;border-radius:50%;border:3px solid rgba(0,0,0,.35);cursor:pointer;padding:0}
.sw.sel{border-color:#fff;box-shadow:0 0 0 3px #5a1a10}
.opts{display:flex;gap:6px;flex-wrap:wrap}
.opt{min-height:44px;padding:6px 12px;border-radius:22px;border:2px solid #8a6a3a;background:rgba(255,255,255,.3);color:var(--ink);font-size:15px;cursor:pointer}
.opt.sel{background:#5a1a10;color:#f4e3c0;border-color:#2a0a05}
.sheet:not(.parch) .opt{color:var(--text);background:#120d0b;border-color:#3a2a20}
.sheet:not(.parch) .opt.sel{background:#5a1a10;border-color:#c0392b}
.sheet:not(.parch) .sw.sel{box-shadow:0 0 0 3px var(--gold)}

/* Rival portrait */
.rival-face{width:110px;height:110px;margin:0 auto;border-radius:50%;overflow:hidden;border:3px solid #5a1a10;box-shadow:0 4px 12px rgba(0,0,0,.5)}

/* Matchup */
.mu{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:start;margin:10px 0}
.mu-col{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}
.mu-col .g-name{font-size:16px;max-width:100%}
.mu-col .kv{width:100%;padding:4px 0;font-size:15px}
.mu-vs{font-family:"Cinzel",serif;font-weight:900;color:var(--blood2);font-size:22px;align-self:center}

/* Timing meter */
.meter{position:absolute;left:8%;right:8%;top:50%;transform:translateY(-50%);z-index:8;background:rgba(10,6,5,.85);border:1px solid var(--bronze);border-radius:12px;padding:10px 12px;text-align:center;animation:fin .15s}
.meter-label{font-family:"Cinzel",serif;font-weight:800;color:var(--gold);font-size:16px;margin-bottom:8px}
.track{position:relative;height:22px;border-radius:11px;background:linear-gradient(90deg,#4a0a06,#7a140e 30%,#7a140e 70%,#4a0a06);border:1px solid #000;overflow:hidden}
.track .good{position:absolute;left:30%;width:40%;top:0;bottom:0;background:rgba(201,154,60,.55)}
.track .perfect{position:absolute;left:43%;width:14%;top:0;bottom:0;background:#f0d38a;box-shadow:0 0 10px #f0d38a}
.track .needle{position:absolute;top:-3px;bottom:-3px;width:5px;margin-left:-2px;background:#fff;box-shadow:0 0 6px #fff;border-radius:2px}
.meter.done.crit{border-color:#f0d38a;box-shadow:0 0 18px rgba(240,211,138,.6)}
.meter.done.miss .meter-label{color:#cfc2a8}
.lunge-a{animation:lungeA .3s ease-out}
.lunge-b{animation:lungeB .3s ease-out}
@keyframes lungeA{0%,100%{transform:none}40%{transform:translateY(-14px) scale(1.02)}}
@keyframes lungeB{0%,100%{transform:none}40%{transform:translateY(14px) scale(1.02)}}

/* Hints for controller / keyboard */
.move{position:relative}
.hint{display:none;position:absolute;top:6px;left:8px;min-width:22px;height:22px;border-radius:11px;font-family:Georgia,serif;font-weight:bold;font-size:13px;line-height:22px;color:#fff;background:#222;border:1px solid rgba(255,255,255,.4)}
.h-A{background:#3c8a2e}.h-B{background:#b3261b}.h-X{background:#2a5ab3}.h-Y{background:#c9a21b;color:#1a1208}
body.pad .pad-h{display:block}
@media (hover:hover) and (pointer:fine){body:not(.pad) .key-h{display:block;background:#2a201a}}
.gp-focus,button:focus-visible{outline:3px solid var(--gold)!important;outline-offset:2px;box-shadow:0 0 0 6px rgba(232,194,122,.25)!important}

/* Desktop: use the width */
.cards{display:block}
@media (min-width:900px){
  body{background:#0b0807}
  #app{max-width:1100px;box-shadow:0 0 60px rgba(0,0,0,.8)}
  #view{padding:20px 24px 24px}
  .cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;align-items:start}
  .rooms{gap:12px}.room{min-height:130px}.room .r-name{font-size:15px}
  .estate{max-width:760px;margin-left:auto;margin-right:auto}
  .house-banner,.staff-row{max-width:760px;margin-left:auto;margin-right:auto}
  .tabbar{max-width:760px;margin:0 auto;width:100%;border-radius:14px 14px 0 0}
  .sheet-wrap{align-items:center;justify-content:center}
  .sheet{max-width:560px;border-radius:16px;border:2px solid var(--bronze);max-height:86%}
  #screen-fight{padding-left:calc(50% - 320px);padding-right:calc(50% - 320px)}
  .title-inner{max-width:460px;margin:0 auto;width:100%}
  #screen-setup .setup-card{max-width:560px;margin:0 auto;width:100%}
  .endweek{max-width:480px;margin:0 auto}
}

#view::-webkit-scrollbar,.sheet::-webkit-scrollbar{display:none}
.room.lv0::after,.room.lv1::after{z-index:0}

/* ===================== v2: readability pass ===================== */
:root{--muted:#e2d4b6;--text:#f4ead4}
body{font-size:18px}
.muted{color:#e0d1b0!important}
.small{font-size:16px}
.g-name{font-size:19px}
.g-sub{font-size:16px;color:#ecdcbc}
.nums{font-size:15px;color:#f1e3c4}
.nums b{color:#fff}
.st b{font-size:22px;color:#fff6e0}
.st span{font-size:14px;font-weight:700;color:#f0c987;letter-spacing:.08em}
.statline{gap:6px}
.statline .st{background:#130e0c;border:1px solid #4a3a2e;border-radius:8px;padding:4px 0}
.tag{font-size:15px;font-weight:600;color:#f6ead0;background:#2a1f1a;border-color:#6a5240;padding:3px 10px}
.tag.gold{color:#ffd98a;border-color:#a8803a}
.tag.red{color:#ffb3a8;border-color:#a8382a;background:#3a1410}
.tag.green{color:#cdeca0;border-color:#6d8f3a}
.kv{font-size:17px}
.kv span:first-child{color:#f0dfbd}
.section-h h2{font-size:21px}
.section-h .sub{font-size:15px;color:#e8d6b2}
.tb-week{font-size:15px;color:#f0dfbd;font-weight:600}
.topbar{flex-wrap:wrap;row-gap:6px}
.tb-house{flex:1 1 auto}
.tb-stats{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.chip-stat{font-size:17px;text-align:center;padding:5px 6px;cursor:pointer;color:inherit;font-family:inherit}
.chip-stat b{color:#fff}
.chip-stat.lau{border-color:#4f7a34}
.chip-stat.lau b{color:#bff08f}
.tab span:last-child{font-size:14px;font-weight:700}
.btn-sm{font-size:15px}
.opt-cost,.sheet .opt-cost{font-size:15px;opacity:1;color:inherit;margin-top:3px;line-height:1.3}
.v2-badge{font-family:"Cinzel",serif;color:#ffd98a;font-size:14px;letter-spacing:.12em;margin:-14px 0 18px}
/* sheets: lighter dim, bigger bolder text */
.sheet-backdrop{background:rgba(0,0,0,.32)}
.sheet{background:linear-gradient(#2e231d,#1d1512);box-shadow:0 -10px 40px rgba(0,0,0,.7)}
.sheet p{font-size:18px;line-height:1.5;color:#f8eed8}
.sheet h2{font-size:24px}
.sheet.parch p,.sheet.parch .ev-text{color:#20120a;font-weight:600}
.sheet.parch .ev-text{font-size:19px}
.sheet .btn.evopt{position:relative;align-items:flex-start;text-align:left;padding:12px 64px 12px 16px;min-height:60px}
.evopt .evl{font-size:17px}
.odds{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-family:"Cinzel",serif;font-weight:900;font-size:17px;border-radius:10px;padding:6px 8px;background:#120d0b;color:#fff;border:2px solid #777}
.odds.hi{border-color:#7fb24a;color:#cdeca0}.odds.mid{border-color:#d9a35a;color:#ffd98a}.odds.lo{border-color:#d0452f;color:#ffb3a8}
/* upcoming / food */
.upcoming{padding-bottom:6px}
.up-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:#140f0d;border:1px solid #4a3a2e;border-radius:10px;padding:10px;margin-bottom:8px;color:inherit;font:inherit;cursor:pointer;min-height:56px}
.up-row.muted-row{cursor:default;color:#eadbb9}
.up-ic{font-size:26px;width:34px;text-align:center;flex-shrink:0}
.up-sub{font-size:15px;color:#e6d4ae}
.up-cd{font-size:16px;text-align:right;white-space:nowrap;color:#ffd98a}
.food-panel{display:flex;align-items:center;gap:10px;width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer}
.food-panel.low{border-color:#c0392b;box-shadow:0 0 0 2px rgba(192,57,43,.5)}
.pulse{animation:pulse 1.4s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 0 0 6px rgba(179,38,27,.35),0 3px 0 rgba(0,0,0,.55)}}
/* opponents / offers */
.opp{margin-top:4px}
.opp-rec{font-size:15px;color:#ffd98a;margin-top:2px}
.reward-mini{display:flex;flex-direction:column;align-items:flex-end;gap:3px;font-size:16px;flex-shrink:0}
.reward-mini b{font-size:20px;color:#ffd98a}
.tier{font-family:"Cinzel",serif;font-weight:800;font-size:13px;border-radius:8px;padding:2px 8px;border:1px solid}
.t-green{color:#cdeca0;border-color:#6d8f3a}.t-seasoned{color:#ffd98a;border-color:#a8803a}.t-killer{color:#ffb3a8;border-color:#c0392b}
.odds-word{font-family:"Cinzel",serif;font-size:13px;font-weight:800;padding:1px 6px;border-radius:6px;background:#140f0d;border:1px solid #6a5240;color:#fff}
.odds-word.good{color:#cdeca0;border-color:#6d8f3a}.odds-word.warn{color:#ffb3a8;border-color:#c0392b}
.pick-g .g-sub{white-space:normal}
.prep{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.prep .btn{min-height:64px;text-transform:none;font-size:15px;line-height:1.2}
.prep .opt-cost{font-size:13px!important}
/* program */
.program{display:flex;flex-direction:column;gap:8px}
.prog-row{display:flex;gap:8px;background:#161110;border:1px solid #3d2f25;border-radius:10px;padding:10px}
.prog-row.mine{border-color:#a8803a;background:#21180f}
.prog-row.head{border-color:#ffd98a;box-shadow:0 0 0 1px #ffd98a inset}
.prog-row .bn{font-family:"Cinzel",serif;font-weight:900;color:#ffd98a;font-size:18px;width:22px;flex-shrink:0}
.prog-row.npc{font-size:16px}
.prog-row .vs{color:#ff8a7a;font-weight:700}
.prog-h{font-family:"Cinzel",serif;font-weight:800;color:#ffd98a;font-size:15px;margin-bottom:4px}
.req{background:#3a1410;border:1px solid #a8382a;color:#ffd0c6;border-radius:8px;padding:6px 8px;font-size:15px;margin-bottom:6px}
.res{margin-top:6px;font-weight:800;color:#ffd98a}
.slot-pick{display:flex;align-items:center;gap:10px;width:100%;margin-top:8px;padding:8px;border-radius:10px;border:2px dashed #c0392b;background:#1a0f0c;color:inherit;font:inherit;text-align:left;cursor:pointer;min-height:56px}
.slot-pick.filled{border:2px solid #6d8f3a;background:#141a0e}
.slot-pick .portrait{width:44px;height:44px}
/* reward tiles */
.rtiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px;width:100%;max-width:380px;margin:6px 0 14px}
.rtile{background:linear-gradient(#2e231d,#18110f);border:2px solid #a8803a;border-radius:14px;padding:10px 6px 8px;display:flex;flex-direction:column;align-items:center}
.rtile.bad{border-color:#c0392b}
.rtile.lau{border-color:#4f9a3a}
.ricon{width:60px;height:60px}
.ricon svg{width:100%;height:100%}
.rnum{font-family:"Cinzel",serif;font-weight:900;font-size:32px;color:#fff;line-height:1.1;margin-top:4px}
.rtile.bad .rnum{color:#ffb3a8}
.rlabel{font-size:15px;font-weight:700;color:#f0dfbd;text-align:center;line-height:1.2}
.verdict{background:rgba(8,5,4,.9)}
.verdict p{font-size:18px;color:#fff3dc}
/* laurels store */
.lau-art svg{width:84px;height:84px}
.big-num{font-family:"Cinzel",serif;font-size:36px!important;font-weight:900;color:#bff08f!important}
.packs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pack{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 6px;border-radius:12px;border:2px solid #4f7a34;background:#141a0e;color:inherit;font:inherit;cursor:pointer}
.pack .pk-ic svg{width:44px;height:44px}
.pack b{font-family:"Cinzel",serif;font-size:24px;color:#bff08f}
.pack em{font-style:normal;font-size:13px;color:#ffd98a;font-weight:700}
.price.lau{color:#bff08f}
.panel.rare{border-color:#a8803a;box-shadow:0 0 0 1px #a8803a inset}
.cz-purple{background:linear-gradient(#3a1d4a,#22122c)!important;border-color:#8a5ab0!important}
.cz-gilded svg{outline:4px solid #e8c27a;outline-offset:-2px;border-radius:8px}
.cz-crown{position:relative}
.cz-crown::after{content:"🌿";position:absolute;top:-10px;left:50%;transform:translateX(-50%);font-size:24px}
.seg{grid-template-columns:repeat(5,1fr)}
.seg.diet{grid-template-columns:repeat(3,1fr)}
.seg button{font-size:14px;color:#f0dfbd;padding:0 2px}
.fought-note{font-size:16px}

.sheet.parch .panel p,.sheet.parch .panel{color:#f8eed8;font-weight:600}
.opp .statline{grid-template-columns:repeat(6,1fr);gap:4px}
.opp .statline .st b{font-size:19px}
.opp .statline .st span{font-size:12px}
.toast{top:calc(110px + var(--safe-t))!important;bottom:auto!important}

/* fix (Tyler 6:13 PM): sticky End Day bar above room tiles, opaque, last row clears */
.endweek{position:sticky;bottom:0;z-index:30;isolation:isolate;background:#0e0a09;padding:8px 0 calc(8px + var(--safe-b));margin-top:12px;box-shadow:0 -10px 14px #0e0a09}
#view{padding-bottom:24px;scroll-padding-bottom:96px}
.rooms,.room,.estate{z-index:0}

/* ===================== Phase 2: 3D arena HUD ===================== */
.a3d{position:absolute;inset:0;background:#000;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}
.a3d-canvas,.a3d-canvas canvas{position:absolute;inset:0;display:block}
.a3d-hud{position:absolute;inset:0;pointer-events:none;font-family:"Palatino",Georgia,serif;color:#fff}
.a3d-hud button,.h3d-stick,.h3d-pausebox{pointer-events:auto}
.h3d-top{position:absolute;left:0;right:0;top:0;padding:calc(8px + var(--safe-t)) 10px 8px;display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:start;background:linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,0))}
.h3d-f .h3d-n{font-family:"Cinzel",serif;font-weight:800;font-size:15px;text-shadow:0 1px 2px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.h3d-f .h3d-n small{font-family:Georgia,serif;font-weight:400;font-size:12px;color:#f0dfbd}
.h3d-f.b{text-align:right}
.h3d-bar{position:relative;height:14px;border-radius:7px;background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.35);overflow:hidden;margin-top:3px}
.h3d-bar.sta{height:7px}
.h3d-bar i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(#e0452f,#8e1b14);transition:width .15s}
.h3d-f.b .h3d-bar i{left:auto;right:0}
.h3d-bar.sta i{background:linear-gradient(#f0c24a,#b07a1a)}
.h3d-bar span{position:absolute;inset:0;font-size:11px;line-height:13px;text-align:center;font-weight:700;text-shadow:0 1px 1px #000}
.h3d-mid{text-align:center;min-width:86px}
.h3d-venue{font-family:"Cinzel",serif;font-size:12px;color:#ffd98a;text-shadow:0 1px 2px #000}
.h3d-crowd{font-size:13px;font-weight:700;margin-top:2px;text-shadow:0 1px 2px #000}
.h3d-clock{font-family:"Cinzel",serif;font-size:14px;font-weight:800}
.h3d-pause{position:absolute;top:calc(64px + var(--safe-t));right:10px;width:40px;height:40px;border-radius:50%;border:2px solid rgba(255,255,255,.5);background:rgba(0,0,0,.5);color:#fff;font-weight:900}
.h3d-log{position:absolute;left:10px;right:10px;bottom:calc(200px + var(--safe-b));text-align:center}
.h3d-log{box-sizing:border-box;left:50%!important;right:auto!important;transform:translateX(-50%);width:calc(100vw - 24px);max-width:calc(100vw - 24px)}
.h3d-log p{white-space:normal!important;overflow-wrap:break-word;max-width:100%;line-height:1.25;margin:2px 0;font-size:14px;text-shadow:0 1px 2px #000,0 0 6px #000;opacity:.8}
.h3d-log p:last-child{opacity:1;font-weight:700;font-size:15px}
.h3d-banner{position:absolute;left:0;right:0;top:34%;text-align:center;font-family:"Cinzel",serif;font-weight:900;font-size:44px;color:#ffd98a;text-shadow:0 3px 0 #3a1a0a,0 0 20px #b3261b;opacity:0}
.h3d-banner.show{animation:ban 1.6s ease-out}
@keyframes ban{0%{opacity:0;transform:scale(1.6)}15%{opacity:1;transform:scale(1)}75%{opacity:1}100%{opacity:0}}
.h3d-ctrl{position:absolute;left:0;right:0;bottom:0;height:190px;padding-bottom:var(--safe-b)}
.h3d-stick{position:absolute;left:18px;bottom:calc(22px + var(--safe-b));width:136px;height:136px;border-radius:50%;background:radial-gradient(rgba(255,255,255,.12),rgba(255,255,255,.04));border:2px solid rgba(255,255,255,.35);touch-action:none}
.h3d-knob{position:absolute;left:50%;top:50%;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;background:radial-gradient(#f0dfbd,#a8803a);box-shadow:0 2px 6px #000}
.h3d-btns{position:absolute;right:12px;bottom:calc(14px + var(--safe-b));width:178px;height:178px}
.h3b{position:absolute;width:70px;height:70px;border-radius:50%;border:2px solid rgba(0,0,0,.6);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:"Cinzel",serif;box-shadow:0 3px 0 rgba(0,0,0,.5);touch-action:none;overflow:hidden}
.h3b b{font-size:20px;line-height:1}.h3b span{font-size:10px;font-weight:700;line-height:1.1;max-width:62px;text-align:center}
.h3b.a{right:54px;bottom:0;background:radial-gradient(#5ab04a,#2f6a24)}
.h3b.b{right:0;bottom:54px;background:radial-gradient(#d0452f,#7a1710)}
.h3b.x{right:108px;bottom:54px;background:radial-gradient(#3a7ac8,#1f4070)}
.h3b.y{right:54px;bottom:108px;background:radial-gradient(#e0b030,#8a6410)}
.h3b.d{right:128px;bottom:130px;width:92px;height:58px;border-radius:29px;background:linear-gradient(#e9d6a8,#a8803a);color:#2a1a0e;border:2px solid rgba(0,0,0,.7);flex-direction:row;gap:5px}
.h3b.d b{font-size:17px;letter-spacing:.06em;font-weight:900}.h3b.d span{display:none}.h3b.d.cool{filter:grayscale(.8) brightness(.65)}
.h3d-ctrl,.h3b{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.h3b.on{transform:scale(.92);filter:brightness(1.3)}
.h3b.cool{filter:grayscale(.7) brightness(.7)}
.h3b i{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.55);pointer-events:none}
body.pad .h3d-ctrl{display:none}
body.pad .h3d-log{bottom:calc(30px + var(--safe-b))}
@media (pointer:fine){.h3d-ctrl{opacity:.85}}
.h3d-floats{position:absolute;inset:0;overflow:hidden}
.h3f{position:absolute;left:0;top:0;font-family:"Cinzel",serif;font-weight:900;font-size:24px;color:#fff;text-shadow:0 2px 0 #000,0 0 6px #000;white-space:nowrap}
.h3f.crit{color:#ffd23a;font-size:32px}.h3f.dmg{color:#ff7a6a}.h3f.miss{color:#e0e0e0;font-size:18px}
.h3d-pausebox{position:absolute;inset:0;background:rgba(0,0,0,.72);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center}
.h3d-pausebox h2{font-size:30px;color:#ffd98a}
.h3d-help{font-size:16px;max-width:420px;line-height:1.5}
.h3d-pausebox .btn{width:100%;max-width:340px}
#screen-fight .verdict{z-index:60}

/* ===================== Phase 2: full-body avatar ===================== */
.look-wrap.av3{display:flex;flex-direction:column;gap:10px}
.av-studio{position:relative;width:100%;height:340px;border-radius:12px;overflow:hidden;background:radial-gradient(90% 80% at 50% 35%,#5a3e2a,#1c120c);border:2px solid #8a6a3a}
.av-studio canvas{display:block;width:100%;height:100%}
.av-hint{position:absolute;left:8px;bottom:6px;font-size:13px;color:#f0dfbd;opacity:.85;pointer-events:none;z-index:2}
.setup-card .av-studio{height:300px}
.av-snap{width:100%;height:100%;display:block;border-radius:inherit}
.me .av-snap{border-radius:10px}
.rival-face .av-snap{width:120px;height:120px;margin:0 auto;border-radius:50%;border:3px solid #8a6a3a}
.tb-av{width:42px;height:42px;border-radius:50%;border:2px solid #a8803a;flex-shrink:0;background:#1a0f0a}
.look-rows .opts .opt{font-size:15px}

#screen-setup{justify-content:flex-start}
.setup-card{margin:auto 0;flex-shrink:0}
.sheet.parch .muted,.sheet.parch .small.muted{color:#4a2e18!important;font-weight:600}

.av-studio{height:400px}
.setup-card .av-studio{height:380px}

/* v2 p2: opaque result card (log item 14b) */
.verdict{background:rgba(4,2,2,.95)!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.verdict .vcard{background:#1c130f;border:2px solid #7a5a2e;border-radius:18px;padding:22px 18px 18px;width:100%;max-width:400px;box-shadow:0 12px 50px #000,inset 0 0 0 1px #000;display:flex;flex-direction:column;align-items:center;max-height:calc(100% - 20px);overflow-y:auto}
.verdict .vcard .btns{max-width:none}

.av-studio{position:relative}.av-zoom{position:absolute;right:10px;bottom:10px;z-index:3;background:#1c130f;color:#fff3dc;border:2px solid #7a5a2e;border-radius:12px;padding:8px 14px;font:700 16px/1 inherit;font-family:inherit}
.h3b .h3-gsub{display:block;font-size:11px;font-weight:700;line-height:1;color:#ffe3b0;opacity:.95}.h3b .h3-gsub.bad{color:#ff6a50}

/* mobile polish (log 27): floating stick zone, swipe-to-dodge zone, stronger pressed state, safe areas, no zoom/callout/select on the fight HUD */
.a3d,.a3d *{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
.a3d-hud{-webkit-user-select:none;user-select:none;touch-action:none}
.h3d-lzone,.h3d-rzone{position:absolute;top:calc(108px + var(--safe-t));bottom:0;pointer-events:auto;touch-action:none}
.h3d-lzone{left:0;width:50%}.h3d-rzone{right:0;width:50%}
.h3d-ctrl{z-index:2}.h3d-stick{pointer-events:none;left:calc(18px + env(safe-area-inset-left,0px))}
.h3d-stick.floating{border-color:rgba(255,226,170,.6);background:radial-gradient(rgba(255,226,170,.16),rgba(255,255,255,.04))}
.h3d-btns{right:calc(12px + env(safe-area-inset-right,0px))}
.h3b{min-width:56px;min-height:56px}
.h3b.on{transform:scale(.92);filter:brightness(1.35);box-shadow:0 0 0 3px rgba(255,236,190,.85),0 0 16px rgba(255,200,110,.75)}
.h3d-pausebox,.h3d-pause{z-index:3}

/* equipment + daily stock (log 34-36) */
.tag.iron{background:#5d6670;color:#eef2f5}.tag.leath{background:#6a4326;color:#f3e2cc}
.item-card.nofit{opacity:.5;filter:grayscale(.7)}
.eq-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0}
.eq-slot{display:flex;gap:6px;align-items:flex-start;padding:8px;border-radius:10px;background:rgba(0,0,0,.25);border:1px solid rgba(201,162,69,.18);min-height:64px;flex-wrap:wrap}
.eq-slot.full{border-color:rgba(201,162,69,.55);background:rgba(201,162,69,.08)}
.eq-slot.locked{opacity:.45}
.eq-slot .grow{min-width:0;flex:1}
.eq-slot .btn{width:100%;margin-top:4px}
.eq-ic{font-size:20px;line-height:1}
.eq-l{font-size:11px;text-transform:uppercase;letter-spacing:.06em;opacity:.7}
.eq-n{font-size:13px;line-height:1.25;word-break:break-word}
.eq-link{cursor:pointer;text-decoration:underline;margin-left:6px}
.item-card .g-name{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.2}
.item-card .tag{vertical-align:middle;font-size:11px}
.nofit-soft{opacity:.62}.nofit-soft .portrait{filter:grayscale(1)}.locked-req{padding:6px 8px;border-radius:8px;background:rgba(0,0,0,.3)}.mu-hint{margin:2px 0 4px;white-space:normal}
.attr-pips{display:grid;grid-template-columns:1fr 1fr;gap:3px 10px;margin:4px 0}.attr-pips .ap{display:flex;justify-content:space-between;align-items:center;font-size:12px}.attr-pips i{display:inline-flex;gap:2px}.attr-pips b{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.15);display:inline-block}.attr-pips b.on{background:#c9a245}.attr-pips b.half{background:linear-gradient(90deg,#c9a245 50%,rgba(255,255,255,.15) 50%)}

/* p25: the fight log can never run off the left edge (narrow phones, split views): pinned inside 12px gutters, always wrapping */
.h3d-log{left:12px!important;right:12px!important;transform:none!important;width:auto!important;max-width:none!important;overflow:hidden}
.h3d-log p{overflow-wrap:anywhere}

/* daybug: training progress toward the next whole point */
.statline .st{position:relative}
.st .st-prog{display:block;height:3px;margin:3px 8px 1px;background:#2a201a;border-radius:2px;overflow:hidden}
.st .st-prog u{display:block;height:100%;background:#8a6a3e;text-decoration:none}
.st.training .st-prog u{background:#e0b25a}
.st.training{border-color:#a07a3a}
.st .st-xp{display:block;font-style:normal;font-size:10px;color:#b49a78;letter-spacing:0;line-height:1.1}
.st.training .st-xp{color:#e0b25a}

/* ---------- p39: training drill (STR stone lift) ---------- */
.drill{position:fixed;inset:0;z-index:60;background:#120a06;color:#f0e2c0;touch-action:none;user-select:none;-webkit-user-select:none}
.drill[hidden]{display:none}
.drill-view{position:absolute;inset:0}
.drill-view canvas{display:block}
.drill-flat{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:120px}
.drill-ui{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:calc(env(safe-area-inset-top) + 12px) 14px calc(env(safe-area-inset-bottom) + 16px)}
.drill-top{display:flex;justify-content:space-between;align-items:center;gap:8px;background:rgba(18,10,6,.62);border:1px solid rgba(201,162,77,.35);border-radius:12px;padding:8px 12px}
.drill-name{font-family:Cinzel,serif;font-size:16px;color:#e8c977}
.drill-name span{color:#cdb98f;font-size:12px}
.drill-reps{display:flex;gap:5px}
.drill-reps i{width:14px;height:14px;border-radius:50%;border:1.5px solid #8a7046;background:transparent}
.drill-reps i.cur{border-color:#f2d27a;box-shadow:0 0 6px #f2d27a}
.drill-reps i.p{background:#f2c84b;border-color:#f2c84b}
.drill-reps i.g{background:#8fbf5a;border-color:#8fbf5a}
.drill-reps i.m{background:#a0302a;border-color:#a0302a}
.drill-bark{position:absolute;left:14px;right:14px;top:calc(env(safe-area-inset-top) + 66px);background:rgba(244,232,205,.95);color:#2a170c;border-radius:14px;padding:9px 12px;font-size:15px;line-height:1.3;box-shadow:0 4px 14px rgba(0,0,0,.45)}
.drill-bark b{font-family:Cinzel,serif;margin-right:6px;color:#6e1f18}
.drill-bark.pop{animation:drillPop .25s ease-out}
@keyframes drillPop{from{transform:scale(.92);opacity:.4}to{transform:scale(1);opacity:1}}
.drill-sweat{position:absolute;right:16px;top:42%;width:12px;height:110px;border:1.5px solid rgba(160,200,230,.6);border-radius:8px;overflow:hidden;background:rgba(0,0,0,.35)}
.drill-sweat::before{content:'💧';position:absolute;top:-22px;left:-5px;font-size:14px}
.drill-sweat{overflow:visible}
.drill-sweat i{position:absolute;left:0;right:0;bottom:0;height:0;background:linear-gradient(#bfe3ff,#5aa8e0);border-radius:6px;transition:height .4s}
.drill-bottom{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.drill-meter{position:relative;height:34px;border-radius:17px;background:linear-gradient(90deg,#3a1d12,#5c2c19 60%,#3a1d12);border:2px solid #8a6a3a;overflow:hidden;opacity:.55;transition:opacity .2s}
.drill-meter.live{opacity:1}
.drill-zone{position:absolute;top:0;bottom:0;background:rgba(143,191,90,.55);border-left:2px solid #b9e07f;border-right:2px solid #b9e07f}
.drill-perf{position:absolute;top:0;bottom:0;background:linear-gradient(#ffe38a,#e0a92c)}
.drill-needle{position:absolute;top:-2px;bottom:-2px;width:5px;margin-left:-2.5px;background:#fff;border-radius:3px;box-shadow:0 0 8px #fff}
.drill-meter.hit-p{box-shadow:0 0 18px #f2c84b;border-color:#f2c84b}
.drill-meter.hit-g{box-shadow:0 0 14px #8fbf5a;border-color:#8fbf5a}
.drill-meter.hit-m{box-shadow:0 0 14px #c0392b;border-color:#c0392b;animation:drillShake .3s}
@keyframes drillShake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.drill-hint{text-align:center;font-size:14px;color:#e8d9b5;text-shadow:0 1px 3px #000;min-height:18px}
.drill-skip{align-self:center;background:rgba(0,0,0,.4);color:#cdb98f;border:1px solid #6d5634;border-radius:10px;padding:8px 14px;font-size:13px}
.drill-result{position:absolute;left:24px;right:24px;top:30%;background:rgba(18,10,6,.9);border:2px solid #c9a24d;border-radius:16px;padding:18px;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.6)}
.drill-result[hidden]{display:none}
.dr-grade{font-family:Cinzel,serif;font-size:38px;color:#f2c84b;letter-spacing:2px}
.g-good .dr-grade{color:#a9d26f}.g-fail .dr-grade{color:#d0574b}
.dr-xp{font-size:17px;margin:6px 0}.dr-score{font-size:14px;color:#cdb98f;margin-bottom:14px}.dr-score b{color:#f2c84b}
.drill-pick{display:flex;flex-direction:column;gap:8px;margin:12px 0}
.drill-man{display:flex;justify-content:space-between;align-items:center;gap:10px}
.drill-man span{font-size:12px;opacity:.85}
.drill-sum{border:1px solid #c9a24d;border-radius:10px;padding:8px 10px;margin:6px 0 10px;background:rgba(201,162,77,.1)}
.drill-sum.g-fail{border-color:#8a3a2e;background:rgba(160,48,42,.08)}

/* p40: living yard, Champion of the House, scars */
.yard-panel { padding: 8px; }
.yard-head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin: 0 2px 6px; }
.yard3d { width: 100%; aspect-ratio: 1.55; border-radius: 10px; overflow: hidden; background: #2a2018; touch-action: pan-y; }
.yard3d canvas { cursor: pointer; }
.yard-list { display: grid; gap: 4px; }
.yard-list .pick-g { display: flex; justify-content: space-between; }
.champ-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin-top: 8px; }
.champ-row .champ-who { min-width: 60%; }
.champ-row .btn { flex: 1 1 100%; }
.champ-row .btn { white-space: nowrap; }
.champ-badge { background: linear-gradient(180deg, #d9a54e, #8a5a20); color: #1a0f06; font-weight: 700; border-color: #e7c27a; }
.yard-bust { width: 100%; aspect-ratio: 1.61; margin: 8px 0 4px; border-radius: 10px; overflow: hidden; background: radial-gradient(ellipse at 50% 40%, #5a4330, #1b130d 75%); }
.yard-bust img { width: 100%; height: 100%; display: block; object-fit: cover; }
.scars-panel .scar-line { font-size: 13px; padding: 2px 0; color: #e8d5bf; }

/* p41: Quick/Full chooser, fight queue, traits, barks, morning card */
.yard3d{position:relative}
.bark{position:absolute;transform:translate(-50%,-100%);background:#f4e7c9;color:#2b1a0d;font-size:12px;line-height:1.25;padding:5px 9px;border-radius:12px;max-width:170px;text-align:center;pointer-events:none;box-shadow:0 2px 6px rgba(0,0,0,.45);animation:barkIn 4.2s ease forwards;z-index:3}
.bark:after{content:"";position:absolute;left:50%;bottom:-6px;margin-left:-6px;border:6px solid transparent;border-top-color:#f4e7c9;border-bottom:0}
@keyframes barkIn{0%{opacity:0;margin-top:6px}10%{opacity:1;margin-top:0}85%{opacity:1}100%{opacity:0}}
.pers-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.tag.pers{background:rgba(201,160,90,.18)}.tag.rival{background:rgba(160,40,30,.28)}
.bark-pre{font-style:italic;text-align:center}
.q-list{display:flex;flex-direction:column;gap:2px;margin-bottom:6px;text-align:center;opacity:.9}
.q-row{padding:8px 10px}
.morning-card{display:flex;gap:10px;align-items:flex-start;background:rgba(201,160,90,.14);border:1px solid rgba(201,160,90,.4);border-radius:10px;padding:8px 10px;margin:6px 0}.mc-icon{font-size:26px;line-height:1}

/* p42: side bets on other houses' bouts */
.sb-row { display: grid; gap: 4px; }
.sb-bets { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: 6px; }
.sb-bets .btn { padding: 8px 4px; font-size: 12px; min-height: 36px; }

/* p43 ranks */
.tag.rank-r{background:#3a3326;color:#e9dcc0;border-color:#6d5f45}
.tag.rank-g{background:#5a2a12;color:#ffd9a8;border-color:#a0582a}

/* p45a hosted events */
.host-panel{display:block;width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer}
.hp-row{display:flex;justify-content:space-between;gap:8px;font-size:15px;margin-top:6px;color:#e6d4ae}
.hp-cta{color:var(--gold);font-weight:700;white-space:nowrap}
.hs-meter{margin:6px 0}
.hs-bar{position:relative;height:14px;border-radius:7px;background:#1a110c;border:1px solid var(--bronze);overflow:hidden}
.hs-bar b{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#7a4a1c,var(--bronze2),var(--gold))}
.hs-bar em{position:absolute;top:0;bottom:0}
.hs-bar em.up{background:#9fd36a;animation:hsPulse 1s ease-in-out infinite alternate}
.hs-bar em.down{background:#c0392b;opacity:.85}
.hs-tick{position:absolute;top:0;bottom:0;width:2px;background:rgba(0,0,0,.55)}
.hs-lbl{display:flex;justify-content:space-between;font-size:15px;margin-top:3px}
.sheet.parch .hs-lbl{color:#20120a;font-weight:600}
.sheet.parch .hs-lbl .gold{color:#7a4a10}
.sheet.parch .good{color:#2e6b12}.sheet.parch .warn{color:#8e1b14}
@keyframes hsPulse{from{opacity:.55}to{opacity:1}}
.guest-row{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin:6px 0}
.seat{width:16px;height:16px;border-radius:50%;border:2px solid #7a5a34;background:transparent}
.seat.on{border-color:#3a2614;background:radial-gradient(circle at 35% 35%,#f3d79a,#b07a3a)}
.seat.on.t1{background:radial-gradient(circle at 35% 35%,#fff,#9aa3ad)}
.seat.on.t2{background:radial-gradient(circle at 35% 35%,#fff3b0,#d9a020)}
.seat.on.t3{background:radial-gradient(circle at 35% 35%,#e9b4e9,#6b1f6b)}
.ev-sub{margin:0 0 6px;color:#3a2614!important}
.mishap{border:2px solid #8e1b14;border-radius:10px;padding:8px 10px;background:rgba(142,27,20,.08);margin:8px 0}
.mishap.done{border-color:#6d8f3a;background:rgba(109,143,58,.1)}
.mi-h{font-family:"Cinzel",Georgia,serif;font-size:18px;color:#20120a}
.host-opt .opt-cost{display:block;text-align:left}
.host-res{display:flex;justify-content:space-around;text-align:center;margin:8px 0;color:#20120a}
.host-res b{display:block;font-family:"Cinzel",Georgia,serif;font-size:24px}
.host-res span{font-size:14px;font-weight:600}

/* p46a: the remaining drills (SKL spar, AGI palus, END sandbag) */
.dx-btns{display:flex;gap:8px}
.dx-btn{flex:1;min-height:66px;border-radius:14px;border:2px solid #8a6a3a;background:linear-gradient(#4a2a18,#2c170d);color:#f0e2c0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:14px;font-family:Cinzel,serif;touch-action:none;position:relative}
.dx-btn b{font-size:22px;line-height:1}
.dx-btn i{position:absolute;top:4px;right:6px;font-style:normal;font-size:10px;color:#cdb98f;font-family:system-ui,sans-serif}
.dx-btn.tap{background:linear-gradient(#a8742c,#6e3f12);border-color:#f2d27a;transform:scale(.96)}
.dx-hold{min-height:78px}
.dx-call{position:relative;background:rgba(18,10,6,.82);border:2px solid #c9a24d;border-radius:14px;padding:10px 12px;text-align:center}
.dx-call[hidden]{display:none}
.dx-call.pop{animation:drillPop .25s ease-out}
.dx-call.hit-p{border-color:#f2c84b;box-shadow:0 0 18px #f2c84b}.dx-call.hit-g{border-color:#8fbf5a;box-shadow:0 0 14px #8fbf5a}.dx-call.hit-m{border-color:#c0392b;box-shadow:0 0 14px #c0392b;animation:drillShake .3s}
.dx-cname{font-family:Cinzel,serif;color:#f2d27a;font-size:17px;margin-bottom:6px}
.dx-seq{display:flex;justify-content:center;align-items:center;gap:6px;font-size:24px}
.dx-seq>b{color:#8a7046;font-size:16px}
.dx-seq span{display:flex;flex-direction:column;align-items:center;min-width:56px;padding:4px 6px;border-radius:10px;border:1.5px solid #5c4630;opacity:.85}
.dx-seq span em{font-style:normal;font-size:11px;color:#cdb98f}
.dx-seq span.next{border-color:#f2d27a;box-shadow:0 0 8px #f2d27a;opacity:1}
.dx-seq span.ok{background:rgba(143,191,90,.35);border-color:#8fbf5a;opacity:1}
.dx-seq span.bad{background:rgba(160,48,42,.45);border-color:#c0392b}
.dx-timer{height:6px;border-radius:3px;background:rgba(0,0,0,.5);margin-top:8px;overflow:hidden}
.dx-timer i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#c0392b,#f2c84b)}
.dx-warn{position:absolute;pointer-events:none;opacity:0}
.dx-wl,.dx-wr{top:22%;bottom:30%;width:46px;background:linear-gradient(90deg,rgba(220,40,30,.75),rgba(220,40,30,0))}
.dx-wl{left:0}.dx-wr{right:0;transform:scaleX(-1)}
.dx-wt{left:10%;right:10%;top:calc(env(safe-area-inset-top) + 58px);height:40px;background:linear-gradient(rgba(220,40,30,.75),rgba(220,40,30,0))}
.dx-warn.on{animation:dxWarn .42s ease-out}
@keyframes dxWarn{0%{opacity:0}30%{opacity:1}100%{opacity:.15}}

/* p47a walk around the ludus */
.walk-btn{padding:5px 10px;font-size:12px;min-height:0;white-space:nowrap;margin-left:auto}
.walk{position:fixed;inset:0;z-index:60;background:#120a06;color:#f0e2c0;touch-action:none;user-select:none;-webkit-user-select:none}
.walk[hidden]{display:none}
.walk-view{position:absolute;inset:0}
.walk-view canvas{display:block}
.walk-ui{position:absolute;inset:0;pointer-events:none;padding:calc(env(safe-area-inset-top) + 10px) 12px calc(env(safe-area-inset-bottom) + 14px)}
.walk-ui button,.walk-stick,.walk-sheet{pointer-events:auto}
.walk-top{display:flex;align-items:flex-start;gap:8px}
.walk-leave{background:rgba(18,10,6,.7);color:#e8c977;border:1px solid rgba(201,162,77,.45);border-radius:10px;padding:8px 10px;font:600 13px Cinzel,serif}
.walk-zone{flex:1;background:rgba(18,10,6,.62);border:1px solid rgba(201,162,77,.35);border-radius:10px;padding:5px 10px;display:flex;flex-direction:column}
.walk-zone b{font-family:Cinzel,serif;color:#e8c977;font-size:15px}
.walk-zone span{font-size:11px;color:#cdb98f}
.walk-zone.pop{animation:walkpop .5s ease}
@keyframes walkpop{0%{transform:scale(1.08)}100%{transform:scale(1)}}
.walk-map{width:96px;height:92px;border-radius:8px;border:1px solid rgba(201,162,77,.4)}
.walk-bottom{position:absolute;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom) + 18px);display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.walk-stick{width:120px;height:120px;border-radius:50%;background:rgba(18,10,6,.38);border:2px solid rgba(232,201,119,.4);position:relative;touch-action:none}
.walk-knob{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#f1d58a,#a7793a);box-shadow:0 2px 8px rgba(0,0,0,.5)}
.walk-talk{background:linear-gradient(#c9a24d,#8a6a2a);color:#1a0f08;border:0;border-radius:14px;padding:14px 16px;font:700 15px Cinzel,serif;box-shadow:0 3px 12px rgba(0,0,0,.5);max-width:58%}
.walk-talk[hidden]{display:none}
.walk-sheet{position:absolute;left:10px;right:10px;bottom:calc(env(safe-area-inset-bottom) + 12px);background:rgba(22,13,8,.94);border:1px solid rgba(201,162,77,.5);border-radius:16px;padding:12px 14px 10px;box-shadow:0 -4px 20px rgba(0,0,0,.5)}
.walk-sheet[hidden]{display:none}
.walk-who{display:flex;flex-direction:column;margin-bottom:6px}
.walk-who b{font-family:Cinzel,serif;color:#e8c977;font-size:17px}
.walk-who span{font-size:11.5px;color:#bba984}
.walk-line{font-size:16px;line-height:1.35;margin:4px 0 10px;color:#f4e7c8;font-style:italic}
.walk-opt{display:flex;flex-direction:column;align-items:flex-start;width:100%;margin:0 0 7px;text-align:left;padding:10px 12px}
.walk-opt small{display:flex;gap:8px;margin-top:3px;font-size:11px;font-style:normal}
.walk-fx{display:flex;gap:10px;margin:-4px 0 10px;font-size:13px}
.walk-sheet .up{color:#9fd08a}.walk-sheet .down{color:#e48a6e}
.walk-skip{background:none;border:0;color:#bba984;font-size:13px;width:100%;padding:6px;text-decoration:underline}
.walk-opt{text-transform:none;font-size:14.5px;letter-spacing:0;font-family:inherit;font-weight:600}

/* ---------- p54a accounts ---------- */
.acct-box{margin-top:12px}
.acct-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.acct-row .btn{min-height:46px;font-size:14px;letter-spacing:.03em;padding:8px 8px;white-space:nowrap}
.acct-chip{width:100%;justify-content:flex-start;gap:12px;min-height:52px;padding:8px 14px;border-color:rgba(232,194,122,.35);background:rgba(0,0,0,.35);text-align:left}
.acct-chip .acct-ic{font-size:22px;line-height:1}
.acct-who{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.acct-who b{color:var(--gold);font-family:Georgia,"Times New Roman",serif;font-size:17px;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acct-sync{font-size:13px;color:var(--muted)}
.acct-lead{color:var(--muted)!important;margin-bottom:6px!important}
.acct-form{margin:0}
.acct-l{display:block;margin:12px 0 5px;color:var(--gold);font-family:"Cinzel",serif;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.field.acct-field{font-family:Georgia,"Times New Roman",serif;font-size:18px;min-height:50px;padding:10px 14px}
.field.acct-field:focus{outline:3px solid var(--gold);outline-offset:1px}
.field.acct-field[aria-invalid="true"]{border-color:#c4372a;box-shadow:0 0 0 3px rgba(196,55,42,.35)}
.acct-ferr{margin:4px 2px 0!important;min-height:0;color:#ff9b8c!important;font-size:14px!important;line-height:1.3!important}
.acct-ferr:empty{display:none}
.acct-err{margin:12px 0 0!important;color:#ff9b8c!important;font-size:15px!important;line-height:1.35!important}
.acct-err:empty{display:none}
.acct-fine{color:var(--muted)!important;font-size:13px!important;margin-top:12px!important;text-align:center}
.acct-cmp{display:grid;gap:12px;margin-top:10px}
.acct-card{border:1px solid rgba(232,194,122,.3);border-radius:12px;padding:12px 14px;background:rgba(0,0,0,.28);display:flex;flex-direction:column;gap:6px}
.acct-card-h{font-family:"Cinzel",serif;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.acct-card-house{font-family:"Cinzel",serif;font-size:18px;color:var(--text)}
.acct-stats{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:16px;color:var(--text)}
.acct-when{color:var(--muted)}
.acct-card .btn{margin-top:4px;min-height:46px}
@media (min-width:700px){.acct-cmp{grid-template-columns:1fr 1fr}}
