/* Ludus villa + account screens. Phone portrait first (390x844), scales up to desktop. */
body.booting #auth,body.booting #villa{visibility:hidden}
#auth{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;background:#120d0b;overflow-y:auto;padding:max(16px,env(safe-area-inset-top)) 14px max(16px,env(safe-area-inset-bottom))}
#auth .t-art{position:fixed}
.a-in{position:relative;width:100%;max-width:430px;text-align:center;margin:auto}
.a-in .logo{margin-bottom:14px}
.a-card{background:linear-gradient(rgba(58,20,16,.94),rgba(34,16,12,.96));border:2px solid #a8783a;border-radius:12px;padding:16px 16px 14px;box-shadow:0 12px 40px rgba(0,0,0,.65);text-align:left}
.a-tabs{display:flex;gap:6px;margin-bottom:12px}.a-tabs button{flex:1;font:700 14px Cinzel,Georgia,serif;letter-spacing:.06em;padding:10px 6px;border-radius:7px;border:1px solid #6e4a24;background:rgba(20,8,6,.6);color:#cdb48a;cursor:pointer}
.a-tabs button.on{background:linear-gradient(#7a2a18,#4a140c);color:#fff3d8;border-color:#e2b462}
#a-form label{display:block;font:600 12px Cinzel,Georgia,serif;letter-spacing:.1em;text-transform:uppercase;color:#d9a35a;margin:0 0 10px}
#a-form input{display:block;width:100%;margin-top:5px;font:17px Georgia,serif;padding:11px 12px;border-radius:7px;border:1px solid #a8783a;background:#160b08;color:#f4e6c8;-webkit-user-select:text;user-select:text;text-transform:none;letter-spacing:0}
#a-form input:focus{outline:2px solid #e2b462;outline-offset:1px}
#auth .f-up{display:none!important}#auth.up .f-up{display:block!important}#auth.up .f-in{display:none!important}
.a-err{min-height:1.2em;margin:2px 0 10px;color:#ff9a7a;font-size:14px}
#a-go{font-size:20px;padding:12px}
#a-go:disabled{opacity:.6}
.a-guest{display:block;width:100%;margin-top:10px;padding:10px;font:600 15px Georgia,serif;background:none;border:1px dashed #8a6a3a;border-radius:7px;color:#e8d3a6;cursor:pointer}
.a-note{font-size:12.5px;color:#bfa77c;margin:10px 0 0;text-align:center}
/* villa */
#villa{position:fixed;inset:0;z-index:25;background:#120d0b}
.v-art{position:absolute;inset:0;background:url(img/villa.jpg) center/cover}
.v-art::after{content:'';position:absolute;inset:0;background:linear-gradient(rgba(18,10,8,.55),rgba(18,10,8,.15) 30%,rgba(18,10,8,.35) 70%,rgba(18,10,8,.85))}
@media (max-aspect-ratio:1/1){.v-art{background-image:url(img/villa-port.jpg)}}
.v-side{display:contents}.v-wrap{position:relative;height:100%;display:flex;flex-direction:column;max-width:1180px;margin:0 auto;padding:max(10px,env(safe-area-inset-top)) 12px max(10px,env(safe-area-inset-bottom))}
.v-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 4px 8px}
.v-crest{min-width:0}.v-crest small{display:block;font:600 11px Cinzel,Georgia,serif;letter-spacing:.2em;text-transform:uppercase;color:#e2b462;text-shadow:0 1px 3px #000}
.v-crest b{display:block;font:700 24px/1.1 Cinzel,Georgia,serif;color:#fbe7b8;text-shadow:0 2px 0 #5a1a10,0 0 14px rgba(0,0,0,.8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v-purse{flex:none;display:flex;align-items:baseline;gap:5px;background:rgba(24,10,6,.82);border:1.5px solid #a8783a;border-radius:20px;padding:6px 12px}.v-purse .coin{color:#ffd36a}.v-purse b{font:700 19px Georgia,serif;color:#ffd36a}.v-purse small{font-size:12px;color:#cdb48a}
.v-tabs{display:flex;gap:6px;margin-bottom:8px}
.v-tabs button{flex:1;font:700 16px Cinzel,Georgia,serif;letter-spacing:.08em;padding:11px 4px;border-radius:9px 9px 3px 3px;border:1.5px solid #8a6230;background:rgba(30,12,8,.85);color:#d9c094;cursor:pointer}
.v-tabs button.on{background:linear-gradient(#9a2e1a,#5a160c);color:#fff3d8;border-color:#e2b462;box-shadow:0 0 12px rgba(226,180,98,.35)}
.v-panel{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;background:linear-gradient(rgba(36,18,12,.84),rgba(26,12,8,.9));border:1.5px solid #8a6230;border-radius:4px 4px 10px 10px;padding:12px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.v-panel h2{font:700 19px Cinzel,Georgia,serif;letter-spacing:.08em;color:#f4dca4;margin:2px 0 10px}
.v-panel h3{font:700 14px Cinzel,Georgia,serif;letter-spacing:.08em;color:#e2b462;margin:0 0 8px;text-transform:uppercase}
.v-panel button{font:600 13.5px Georgia,serif;padding:8px 10px;border-radius:6px;border:1px solid #c08a44;background:linear-gradient(#7a2a18,#4a140c);color:#fff3d8;cursor:pointer;min-height:38px}
.v-panel button:disabled{opacity:.42;cursor:default;filter:grayscale(.5)}
.v-tip{font-size:13px;color:#cbb895;margin:12px 0 2px}.v-tip b{color:#f2d79a}
.v-foot{padding-top:10px;order:3}
.v-guest{margin:0 0 8px;text-align:center;font-size:13px;color:#eadcc0;text-shadow:0 1px 2px #000}.v-guest a{color:#ffd36a}
.btn-enter{font-size:24px;padding:16px;box-shadow:0 0 0 2px rgba(0,0,0,.4),0 0 28px rgba(226,90,40,.55);animation:glow 2.4s ease-in-out infinite}
@keyframes glow{50%{box-shadow:0 0 0 2px rgba(0,0,0,.4),0 0 40px rgba(255,140,60,.8)}}
/* ludus tab */
.roster{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:10px;scroll-snap-type:x mandatory}
.r-card{flex:0 0 108px;scroll-snap-align:start;position:relative;border:1.5px solid #6e4a24;border-radius:8px;overflow:hidden;background:#1a0c08}
.r-card img{display:block;width:100%;height:118px;object-fit:cover;object-position:top}
.r-card b{display:block;font:700 12.5px Cinzel,Georgia,serif;padding:5px 6px 0;color:#f4dca4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.r-card small{display:block;font-size:11px;padding:1px 6px 6px;color:#bfa77c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.r-card.on{border-color:#e2b462;box-shadow:0 0 12px rgba(226,180,98,.45)}
.r-card.locked img{filter:grayscale(1) brightness(.45)}.r-card.locked b{color:#9c8a6a}
.glad{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:12px}
.g-por{display:flex;gap:12px;align-items:center;background:rgba(0,0,0,.25);border:1px solid #5a3a1c;border-radius:8px;padding:8px}
.g-por img{width:84px;height:100px;object-fit:cover;object-position:top;border-radius:6px;border:1.5px solid #a8783a}
.g-por h3{font-size:17px;color:#fbe7b8;text-transform:none;margin:0 0 4px}.g-por p{margin:2px 0;font-size:13.5px;color:#d9c49a}.g-por p b{color:#fff0c8}.g-por .rec{color:#bfa77c;font-size:12.5px}
.g-train{background:rgba(0,0,0,.25);border:1px solid #5a3a1c;border-radius:8px;padding:10px}
.ranks{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}.ranks span{font-size:12.5px;padding:4px 7px;border-radius:12px;border:1px solid #5a3a1c;color:#9c8a6a}.ranks span.on{color:#ffe7a8;border-color:#c08a44;background:rgba(160,60,20,.3)}.ranks small{color:inherit;opacity:.8}
.g-tb{display:flex;gap:6px;flex-wrap:wrap}.g-tb button{flex:1 1 140px}.g-tb p{margin:6px 0;flex:1 1 140px}
.g-h{margin-top:4px!important}
.gear{display:grid;grid-template-columns:1fr;gap:7px;margin-bottom:12px}
.g-slot{display:grid;grid-template-columns:42px 1fr;gap:4px 10px;align-items:center;background:rgba(0,0,0,.28);border:1px solid #5a3a1c;border-radius:8px;padding:8px}
.g-ic{font-size:26px;text-align:center;grid-row:span 2}
.g-in b{font:700 14px Cinzel,Georgia,serif;color:#f4dca4}.g-in span{display:block;font-size:12.5px;color:#d9c49a}.g-in small{font-size:11.5px;color:#a8946e}
.cond{display:block;height:5px;background:#2a140c;border-radius:3px;overflow:hidden;margin:4px 0 2px}.cond s{display:block;height:100%;background:#6fbf5a}.cond.mid s{background:#d8b040}.cond.bad s{background:#d0442c}
.g-bt{display:flex;gap:6px;grid-column:2}.g-bt button{flex:1;font-size:12.5px;padding:7px 6px}
/* market */
.mk-grid{display:grid;grid-template-columns:1fr;gap:8px}
.mk-card{display:grid;grid-template-columns:52px 1fr;gap:6px 10px;align-items:center;background:rgba(0,0,0,.28);border:1px solid #5a3a1c;border-radius:9px;padding:9px;position:relative}
.mk-card.new::after{content:'NEW';position:absolute;right:8px;top:8px;font:700 10px Cinzel,Georgia,serif;letter-spacing:.1em;color:#1a0c08;background:#ffd36a;border-radius:4px;padding:2px 5px}
.mk-ic{font-size:32px;text-align:center;grid-row:span 2;background:radial-gradient(rgba(226,180,98,.25),transparent 70%);border-radius:50%;height:52px;line-height:52px}
.mk-in b{font:700 15px Cinzel,Georgia,serif;color:#f4dca4}.mk-in small{display:block;font-size:12.5px;color:#d9c49a;margin:2px 0}.mk-in span{font-size:12px;color:#a8946e}.mk-in span b{font:700 13px Georgia,serif;color:#ffd36a}
.mk-bt{grid-column:2;display:flex;gap:6px}.mk-bt button{flex:1}
/* settings */
.s-box{background:rgba(0,0,0,.28);border:1px solid #5a3a1c;border-radius:9px;padding:10px 12px;margin-bottom:9px}
.s-box label{display:block;font-size:14px;color:#e6d3aa;margin:6px 0}
.s-row{display:flex;gap:6px;margin-top:5px}.s-row input{flex:1;min-width:0;font:16px Georgia,serif;padding:8px 10px;border-radius:6px;border:1px solid #a8783a;background:#160b08;color:#f4e6c8;-webkit-user-select:text;user-select:text}
.s-chk input{width:20px;height:20px;vertical-align:-4px;margin-right:6px;accent-color:#c0402a}
.s-box input[type=range]{display:block;width:100%;accent-color:#d8a050;margin-top:6px}
.s-seg{display:flex;gap:6px;margin-bottom:6px}.s-seg button{flex:1;background:rgba(20,8,6,.7);border-color:#6e4a24;color:#cdb48a}.s-seg button.on{background:linear-gradient(#9a2e1a,#5a160c);color:#fff3d8;border-color:#e2b462}
.s-box small{font-size:12px;color:#a8946e}.s-box p{margin:4px 0;font-size:13.5px;color:#d9c49a}
.s-keys p{display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px dotted rgba(168,120,58,.25);padding:3px 0}.s-keys p:has(b){border:0;color:#e2b462;margin-top:6px}
kbd{font:600 12px Georgia,serif;background:#2a140c;border:1px solid #8a6230;border-bottom-width:2px;border-radius:4px;padding:1px 6px;color:#fbe7b8}
.s-out{background:linear-gradient(#4a2a20,#2a140c)!important}
/* shared toast */
#toast{position:fixed;left:50%;top:auto;bottom:calc(96px + env(safe-area-inset-bottom));transform:translate(-50%,30%);z-index:60;max-width:92vw;background:rgba(24,10,6,.95);border:1.5px solid #e2b462;border-radius:22px;padding:9px 16px;font:600 14px Georgia,serif;color:#fbe7b8;pointer-events:none;opacity:0;text-align:center}
#toast.pop{animation:toast 2.6s ease both}
@keyframes toast{0%{opacity:0;transform:translate(-50%,30%)}10%,82%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-30%)}}
body.in-arena #toast{bottom:auto;top:26%}
.tag.netted b::after{content:' 🕸️'}
#to-villa{font:600 12px Georgia,serif;padding:3px 8px;border-radius:4px;border:1px solid #a8783a;background:rgba(60,20,10,.8);color:#f4dca4;cursor:pointer;margin-right:6px}
/* larger screens */
@media (min-width:760px){body.mobile .x{}
  body.mobile .v-panel{padding:16px 18px}
  body.mobile .gear,body.mobile .mk-grid{grid-template-columns:1fr 1fr}
  body.mobile .btn-enter{max-width:520px;display:block;margin:0 auto}
}

@media (max-height:500px) and (orientation:landscape){.v-head{padding:0 4px 4px}.v-crest b{font-size:20px}.v-tabs button{padding:7px}.btn-enter{padding:9px;font-size:19px}}

/* ---------- PC interface (body.pc): desktop-game HUD, the 3D view dominates ---------- */
body.pc #pad,body.pc #stick{display:none!important}
body.pc #me{left:14px;top:12px;width:176px}
body.pc #zone{font-size:13px;letter-spacing:.08em;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.pc #mini{display:block}
body.pc #purse{font-size:12.5px;margin-top:5px}
body.pc #hp{position:fixed;left:50%;bottom:74px;transform:translateX(-50%);width:340px;height:15px;margin:0;border-width:1.5px;border-radius:4px}
body.pc #hptxt{font-size:11px;line-height:12px}
body.pc #buffs{position:fixed;left:50%;bottom:94px;transform:translateX(-50%);margin:0;font-size:12px}
body.pc #items{bottom:22px;gap:4px;padding:4px;background:rgba(14,6,4,.72);border:1px solid #6e4a24;border-radius:7px}
body.pc #items button{width:44px;height:44px;font-size:19px;border-width:1.5px;border-radius:5px}
body.pc #items button:hover{border-color:#ffd36a;background:rgba(80,30,14,.9)}
body.pc #items .hk-q{margin-left:6px;font:700 12px Georgia,serif;color:#ffd9a0}
body.pc #binds{left:auto;right:12px;bottom:26px;transform:none;font-size:11px;padding:3px 8px;background:rgba(18,8,6,.5)}
body.pc #net{bottom:8px;right:12px}
body.pc #feed{left:12px;bottom:46px;width:340px;font-size:12px}body.pc #feed p{padding:2px 7px}
body.pc #chat-in{left:12px;bottom:12px;width:340px;font-size:13px;padding:5px 9px}
body.pc #board{right:12px;top:12px;min-width:210px;max-width:300px;font-size:11.5px;padding:6px 10px;background:rgba(22,10,7,.66)}
body.pc #board h4{font-size:10.5px}
body.pc #banner{top:13%}body.pc #banner b{font-size:30px}body.pc #banner span{font-size:13px}
body.pc #hint{bottom:118px;font-size:13px}
body.pc #status{font-size:16px}
body.pc #dead b{font-size:38px}
body.pc .tag b{font-size:11px}
body.pc .dmg{font-size:15px}
body.pc #hud::after{display:none}
#mini{display:none;width:150px;height:150px;border-radius:50%;border:1.5px solid #a8783a;background:rgba(14,6,4,.6);box-shadow:0 0 0 2px rgba(0,0,0,.5)}
body.pc #to-villa:hover{border-color:#ffd36a}
@media (max-width:1100px){body.pc #feed,body.pc #chat-in{width:280px}body.pc #hp{width:280px}}
/* ---------- PC villa: side bar + wide multi-column panels ---------- */
body.pc .v-wrap{display:grid;grid-template-columns:260px minmax(0,1fr);grid-template-rows:auto 1fr auto;gap:0 20px;max-width:1500px;padding:28px 32px}
body.pc .v-side{display:contents}
body.pc .v-head{grid-column:1;grid-row:1;flex-direction:column;align-items:stretch;gap:10px;background:rgba(20,8,6,.78);border:1.5px solid #8a6230;border-bottom:0;border-radius:10px 10px 0 0;padding:16px 16px 8px}
body.pc .v-crest b{font-size:26px;white-space:normal}
body.pc .v-purse{align-self:flex-start}
body.pc .v-tabs{grid-column:1;grid-row:2;flex-direction:column;align-self:stretch;gap:6px;margin:0;background:rgba(20,8,6,.78);border:1.5px solid #8a6230;border-top:0;border-bottom:0;padding:6px 16px;max-width:none}
body.pc .v-tabs button{flex:none;text-align:left;padding:12px 16px;border-radius:7px;font-size:17px}
body.pc .v-tabs button:hover:not(.on){background:rgba(80,30,14,.9);color:#fff0c8}
body.pc .v-tabs button::before{display:inline-block;width:28px}
body.pc .v-tabs [data-tab=ludus]::before{content:'🏛'}body.pc .v-tabs [data-tab=market]::before{content:'⚖'}body.pc .v-tabs [data-tab=settings]::before{content:'⚙'}
body.pc .v-foot{grid-column:1;grid-row:3;background:rgba(20,8,6,.78);border:1.5px solid #8a6230;border-top:0;border-radius:0 0 10px 10px;padding:12px 16px 16px}
body.pc .v-foot .btn-enter{font-size:20px;padding:15px 10px}
body.pc .v-guest{text-align:left}
body.pc .v-panel{grid-column:2;grid-row:1/4;padding:22px 26px;border-radius:10px;max-height:100%}
body.pc .v-panel h2{font-size:24px}
body.pc .v-panel button:hover:not(:disabled){filter:brightness(1.18);box-shadow:0 0 10px rgba(226,180,98,.35)}
body.pc .g-slot:hover,body.pc .mk-card:hover,body.pc .r-card.on:hover{border-color:#c08a44;background:rgba(60,24,12,.5)}
body.pc .lu3{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:16px;align-items:start}
body.pc .lu3 .c-mid{order:0}
body.pc .lu3 .gear{grid-template-columns:1fr}
body.pc .glad{grid-template-columns:1fr}
body.pc .g-por{flex-direction:column;align-items:stretch;text-align:center;padding:0;overflow:hidden}
body.pc .g-por img{width:100%;height:300px;border:0;border-bottom:1.5px solid #a8783a;border-radius:0}
body.pc .g-por>div{padding:4px 10px 10px}
body.pc .roster{overflow:visible}body.pc .r-card{flex:1 1 0;min-width:0}body.pc .r-card img{height:120px}
body.pc .mk-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
body.pc .t-set{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;align-items:start}body.pc .t-set h2{grid-column:1/-1}
body.pc .btn-enter{max-width:none}
body.pc #auth .a-in{max-width:420px}
.lu3{display:flex;flex-direction:column}.lu3 .c-mid{order:-1}
@media (max-width:1150px){body.pc .v-wrap{grid-template-columns:220px minmax(0,1fr);padding:18px}body.pc .lu3{grid-template-columns:1fr 1fr}body.pc .lu3 .c-mid{grid-column:1/-1;order:-1}body.pc .g-por{flex-direction:row;text-align:left}body.pc .g-por img{width:150px;height:180px;border-right:1.5px solid #a8783a;border-bottom:0}}

/* ---- AoG systems: level strip, class pick, physique, contracts, ranks, tracker, nameplate rank ---- */
.v-lv{display:flex;align-items:center;gap:7px;margin-top:3px}.v-lv span{font:600 12px Georgia,serif;color:#f2dcae;text-shadow:0 1px 2px #000;white-space:nowrap}.v-lv i{flex:1;max-width:120px;height:5px;background:rgba(0,0,0,.6);border:1px solid #6e4a24;border-radius:3px;overflow:hidden}.v-lv s{display:block;height:100%;background:linear-gradient(90deg,#c08a34,#ffd36a);text-decoration:none}
.lad{font-style:normal;font-weight:700}.lad.l0{color:#cdb48a}.lad.l1{color:#d99a5a}.lad.l2{color:#ff7a5a}.lad.l3{color:#c58aff}.lad.l4{color:#ffd36a;text-shadow:0 0 6px rgba(255,200,80,.6)}
.v-tabs button{position:relative;font-size:13px;letter-spacing:.03em;padding:10px 2px}.v-tabs button[data-n]:not([data-n=""])::after{content:attr(data-n);position:absolute;top:-6px;right:-3px;min-width:17px;height:17px;border-radius:9px;background:#d8402a;color:#fff;font:700 11px/17px Georgia,serif;box-shadow:0 0 0 2px #120d0b}
#pick{position:fixed;inset:0;z-index:40;background:radial-gradient(ellipse at 50% 30%,rgba(60,24,14,.95),rgba(12,6,4,.98));display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:max(14px,env(safe-area-inset-top)) 12px 14px}
#pick[hidden]{display:none}.pk-in{width:100%;max-width:980px;text-align:center}.pk-in h2{font:700 26px Cinzel,Georgia,serif;color:#fbe7b8;margin:4px 0 4px;text-shadow:0 2px 0 #5a1a10}
.pk-row{display:flex;flex-direction:column;gap:10px;margin-top:10px}.pk-card{display:grid;grid-template-columns:110px 1fr;grid-template-rows:auto auto auto;gap:2px 10px;text-align:left;align-items:center;background:linear-gradient(rgba(58,20,16,.94),rgba(34,16,12,.96));border:2px solid #a8783a;border-radius:10px;padding:8px;color:#f4e6c8;cursor:pointer;font:15px Georgia,serif}
.pk-card canvas{grid-row:1/4;width:110px;height:140px}.pk-card b{font:700 19px Cinzel,Georgia,serif;color:#ffd36a}.pk-card small{color:#cbb895;font-size:13px}.pk-card .btn{font-size:15px;padding:8px;text-align:center}
@media (min-width:760px){.pk-row{flex-direction:row}.pk-card{flex:1;grid-template-columns:1fr;text-align:center}.pk-card canvas{grid-row:auto;width:100%;height:280px}}
.r-card button{margin-top:4px;width:100%;min-height:30px;font-size:12px;padding:5px 4px}.r-card.own{opacity:1}.r-card.locked img{filter:grayscale(.7) brightness(.7)}
.g-por canvas.g-3d{width:120px;height:170px;flex:none;background:radial-gradient(ellipse at 50% 70%,rgba(255,200,120,.12),transparent 70%)}
.xpb{margin:4px 0}.xpb i{display:block;height:6px;background:rgba(0,0,0,.55);border:1px solid #6e4a24;border-radius:3px;overflow:hidden}.xpb s{display:block;height:100%;background:linear-gradient(90deg,#c08a34,#ffd36a);text-decoration:none}.xpb small{font-size:11.5px;color:#cbb895}
.g-body{margin-top:12px;padding-top:10px;border-top:1px solid rgba(168,120,58,.4)}.bts{display:flex;gap:5px}.bt{flex:1;padding:6px 5px;border:1px solid #6e4a24;border-radius:6px;background:rgba(20,8,6,.5);display:flex;flex-direction:column;gap:1px}.bt b{font:700 12.5px Cinzel,Georgia,serif;color:#e8d3a6}.bt small{font-size:11px;color:#bfa77c}.bt.on{border-color:#ffd36a;box-shadow:0 0 8px rgba(255,211,106,.35)}.bt.done b,.bt.on b{color:#ffd36a}
.bt-cmp{margin:6px 0}.bt-cmp canvas{display:block;width:100%;height:190px;background:radial-gradient(ellipse at 50% 75%,rgba(255,200,120,.12),transparent 70%)}.bt-cmp p{display:flex;justify-content:space-around;margin:0;font:600 12px Georgia,serif;color:#e2b462}
.g-body>button{width:100%}.tw{font:600 10.5px Georgia,serif;padding:1px 5px;border-radius:7px;margin-left:4px;vertical-align:1px}.tw.t0{background:#4a2e1a;color:#e6c9a0}.tw.t1{background:#7a4a1a;color:#ffd9a0}.tw.t2{background:#5a646e;color:#eef4fa}.tw.t3{background:#9a7414;color:#fff3c0}.up{color:#9fe08a;font-style:normal;font-size:11px}
.t-ct h3,.t-rk h3{margin-top:14px}.ct-list{display:flex;flex-direction:column;gap:8px}.ct-card{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:10px;border:1px solid #6e4a24;border-radius:8px;background:rgba(20,8,6,.55)}
.ct-card.ok{border-color:#ffd36a;box-shadow:0 0 10px rgba(255,211,106,.3)}.ct-card.cl{opacity:.55}.ct-in b{font:600 15px Georgia,serif;color:#f4e2b8}.ct-in i{display:block;height:7px;margin:6px 0 3px;background:rgba(0,0,0,.55);border-radius:4px;overflow:hidden}.ct-in s{display:block;height:100%;background:linear-gradient(90deg,#a8402a,#e8a03a);text-decoration:none}.ct-card.ok .ct-in s{background:linear-gradient(90deg,#c08a34,#ffd36a)}.ct-in small{font-size:12px;color:#cbb895}
.ct-rw{display:flex;flex-direction:column;gap:2px;font:600 12px Georgia,serif;color:#ffd36a;text-align:right}.ct-bt{grid-column:1/3;display:flex;gap:6px}.ct-bt button{flex:1}.v-panel button.ghost{background:rgba(20,8,6,.6);flex:0 0 auto}
.ladder{display:flex;gap:4px;margin:4px 0 6px}.ld{flex:1;text-align:center;padding:7px 2px;border:1px solid #6e4a24;border-radius:6px;background:rgba(20,8,6,.55)}.ld b{display:block;font:700 11.5px Cinzel,Georgia,serif;color:#bfa77c}.ld small{font-size:10.5px;color:#9a8460}.ld.done b{color:#e8d3a6}.ld.on{border-color:#ffd36a;background:rgba(90,40,14,.7)}.ld.on b{color:#ffd36a}
.lb table{width:100%;border-collapse:collapse;font-size:13px}.lb th{font:600 11px Cinzel,Georgia,serif;color:#d9a35a;text-align:left;padding:4px;border-bottom:1px solid #6e4a24}.lb td{padding:6px 4px;border-bottom:1px solid rgba(110,74,36,.35);color:#eadcc0}.lb td small{display:block;font-size:10.5px;color:#a8916a}.lb tr.me td{background:rgba(255,211,106,.12);color:#ffd36a}
#ct{position:absolute;right:8px;top:calc(max(10px,env(safe-area-inset-top)) + 34vh + 8px);width:44vw;max-width:270px;background:rgba(22,10,7,.72);border:1px solid #8a6230;border-radius:8px;padding:5px 7px;font-size:10.5px;pointer-events:auto;cursor:pointer}
#ct:empty{display:none}#ct h4{margin:0 0 3px;font:600 9.5px Cinzel,Georgia,serif;letter-spacing:.1em;color:#d9a35a;text-transform:uppercase;display:flex;justify-content:space-between;gap:6px}#ct h4 em{font-style:normal;color:#f2dcae;letter-spacing:0;text-transform:none}
#ct p{margin:3px 0 4px;display:grid;grid-template-columns:1fr auto;gap:0 6px;color:#eadcc0}#ct p b{color:#ffd36a;font-weight:600}#ct p i{grid-column:1/3;height:3px;background:rgba(0,0,0,.6);border-radius:2px;overflow:hidden}#ct p s{display:block;height:100%;background:#e8a03a;text-decoration:none}#ct p.ok b{color:#9fe08a}#ct p.cl{opacity:.45}#ct p.wk span::before{content:'Weekly · ';color:#d9a35a}
#ct.min p{display:none}
body.pc #ct{right:12px;top:auto;bottom:90px;width:250px;font-size:11.5px}
.tag{margin-top:-40px}.tag u{display:block;text-decoration:none;font:600 10px Georgia,serif;color:#e8d3a6;text-shadow:0 1px 2px #000;white-space:nowrap}.tag[data-lad="1"] u{color:#e8a86a}.tag[data-lad="2"] u{color:#ff8a6a}.tag[data-lad="3"] u{color:#d6a0ff}.tag[data-lad="4"] u{color:#ffd36a}
#board p b small{font-weight:400;color:#c9b48c;font-size:.85em}
@media (min-width:900px){body.pc .g-por canvas.g-3d{width:160px;height:220px}}
.bt-cmp p span.on{color:#ffd36a;text-decoration:underline}.bt-cmp canvas{height:210px}
#tgt{position:absolute;left:50%;top:calc(max(10px,env(safe-area-inset-top)) + 6px);transform:translateX(-50%);min-width:150px;padding:4px 10px;background:rgba(40,8,6,.8);border:1px solid #ff6a4a;border-radius:7px;text-align:center;pointer-events:none}#tgt[hidden]{display:none}#tgt b{display:block;font:600 12px Georgia,serif;color:#ffd0b0}#tgt i{display:block;height:6px;margin:3px 0 1px;background:rgba(0,0,0,.6);border-radius:3px;overflow:hidden}#tgt s{display:block;height:100%;background:#e8402a;text-decoration:none}#tgt em{font-style:normal;font-size:10px;color:#e8c8a8}
body.mobile #tgt{top:calc(max(10px,env(safe-area-inset-top)) + 64px)}
body.mobile #ct{top:calc(max(10px,env(safe-area-inset-top)) + 96px);width:46vw;font-size:10px;padding:4px 6px}body.mobile #ct.min h4{margin:0}body.mobile #ct h4::after{content:' ▾';color:#d9a35a}body.mobile #ct:not(.min) h4::after{content:' ▴'}

/* p60: While you were away */
.g-pass{margin:6px 0 2px;font:13px/1.35 Georgia,serif;color:#cdb48a}.g-pass b{color:#ffd36a}
.aw{position:fixed;inset:0;z-index:55;display:flex;align-items:center;justify-content:center;padding:max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom));background:radial-gradient(ellipse at 50% 45%,rgba(40,14,8,.55),rgba(8,4,3,.86));opacity:0;transition:opacity .28s ease;overflow-y:auto}
.aw.in{opacity:1}.aw.out{opacity:0}
.aw-card{position:relative;width:100%;max-width:420px;margin:auto;text-align:center;padding:66px 22px 18px;border-radius:14px;border:2px solid #e2b462;background:linear-gradient(rgba(70,24,16,.97),rgba(30,13,9,.98));box-shadow:0 0 0 4px rgba(20,8,5,.85),0 0 0 5px #6e4a24,0 22px 60px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,220,150,.25);transform:translateY(18px) scale(.96);transition:transform .38s cubic-bezier(.2,1.3,.4,1)}
.aw.in .aw-card{transform:none}
.aw-card::before{content:'';position:absolute;inset:7px;border:1px solid rgba(226,180,98,.35);border-radius:9px;pointer-events:none}
.aw-crest{position:absolute;left:50%;top:-52px;width:120px;height:112px;transform:translateX(-50%)}
.aw-wr{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 3px 4px rgba(0,0,0,.6))}
.aw-coin{position:absolute;left:50%;top:50%;width:62px;height:62px;transform:translate(-50%,-52%);filter:drop-shadow(0 4px 6px rgba(0,0,0,.7));animation:awspin 2.4s ease-in-out .3s 1}
@keyframes awspin{0%{transform:translate(-50%,-52%) rotateY(0)}40%{transform:translate(-50%,-52%) rotateY(720deg)}100%{transform:translate(-50%,-52%) rotateY(720deg)}}
.aw-k{display:block;font:700 12px Cinzel,Georgia,serif;letter-spacing:.24em;text-transform:uppercase;color:#e2b462}
.aw-card h2{margin:4px 0 8px;font:700 27px/1.1 Cinzel,Georgia,serif;color:#fbe7b8;text-shadow:0 2px 0 #5a1a10,0 0 16px rgba(0,0,0,.8);letter-spacing:.04em}
.aw-story{margin:0 auto 12px;max-width:330px;font:15px/1.4 Georgia,serif;color:#e8d3a6}.aw-story b{color:#ffd36a}
.aw-big{display:flex;flex-direction:column;align-items:center;margin:0 auto 12px;padding:10px 12px 8px;border-radius:10px;background:radial-gradient(ellipse at 50% 40%,rgba(255,200,90,.16),rgba(0,0,0,.25) 70%);border:1px solid rgba(168,120,58,.6)}
.aw-big b{font:700 52px/1 Cinzel,Georgia,serif;color:#ffd36a;text-shadow:0 2px 0 #6b3a08,0 0 22px rgba(255,190,70,.45);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.aw-big small{margin-top:4px;font:600 12px Cinzel,Georgia,serif;letter-spacing:.16em;text-transform:uppercase;color:#cdb48a}
.aw-rows{margin:0 0 14px;border-top:1px solid rgba(168,120,58,.45)}
.aw-rows p{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin:0;padding:8px 2px;border-bottom:1px solid rgba(168,120,58,.45);text-align:left}
.aw-rows span{flex:none;font:600 12px/1.6 Cinzel,Georgia,serif;letter-spacing:.12em;text-transform:uppercase;color:#d9a35a}
.aw-rows b{font:700 16px/1.3 Georgia,serif;color:#fbe7b8;text-align:right}
.aw-rows em{display:block;font:italic 12.5px/1.3 Georgia,serif;color:#bfa77c}
.aw-rows em.aw-cap{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:9px;border:1px solid #b0281a;background:rgba(176,40,26,.25);font:700 11px/1.5 Cinzel,Georgia,serif;letter-spacing:.06em;font-style:normal;color:#ffb69a;vertical-align:2px}
.aw-go{font-size:22px;padding:13px}.aw-go:disabled{opacity:.7}
.aw-foot{display:block;margin-top:10px;font:12.5px/1.35 Georgia,serif;color:#a8916a}
.aw-fly{position:fixed;left:0;top:0;z-index:70;width:26px;height:26px;margin:-13px 0 0 -13px;pointer-events:none}.aw-fly svg{width:100%;height:100%;filter:drop-shadow(0 2px 3px rgba(0,0,0,.6))}
.aw-bump{display:inline-block;animation:awbump .5s ease .55s 2}
@keyframes awbump{50%{transform:scale(1.25);color:#fff3c0}}
@media (min-width:900px){.aw-card{max-width:460px;padding:72px 30px 22px}.aw-big b{font-size:60px}}
@media (max-height:700px){.aw-card{padding-top:58px}.aw-big b{font-size:42px}.aw-story{font-size:14px;margin-bottom:8px}}
@media (prefers-reduced-motion:reduce){.aw,.aw-card{transition:none}.aw-coin{animation:none}}
