html,body{width:100%;height:100%;min-height:100%;}body{height:100dvh}button{position:relative;overflow:hidden}button:disabled{opacity:.55;cursor:wait;transform:none!important}button:focus-visible,input:focus-visible{outline:2px solid #e5c785;outline-offset:4px}input{user-select:text}.field-label{display:block;font-size:12px;color:#c9a25b;margin:0 0 5px}#canvas-container{position:fixed;inset:0;touch-action:none}#canvas-container canvas{display:block;width:100%;height:100%}#main-menu-view{padding-top:95px;padding-bottom:40px}#game-hud-view{padding-top:82px}.palacio-panel::after{z-index:0}.palacio-panel>*{position:relative;z-index:1}.piece-counts{display:flex;gap:20px;font:14px Inter,sans-serif;background:#06080bdc;border:1px solid #c9a25b55;padding:12px 18px;border-radius:15px}.piece-counts b{font-size:17px;margin-left:6px}#game-hud-view>div:first-child{gap:12px}#game-hud-view #turn-indicator-text{max-width:250px;display:block}#waiting-opponent-badge{position:fixed;top:auto;bottom:86px;left:50%;transform:translateX(-50%);max-width:90%;text-align:center}.bottom-actions{display:flex;gap:8px}.notice{position:fixed;z-index:80;bottom:25px;left:50%;transform:translateX(-50%);max-width:min(90vw,650px);padding:14px 22px;border-radius:14px;background:#13201e;border:1px solid #31a78b;color:#f5f0e3;font-size:14px;box-shadow:0 8px 40px #000}.notice.error{background:#341018;border-color:#b7475b}.board-error{position:fixed;z-index:40;inset:30% 15%;background:#101419e8;border:1px solid #c9a25b;padding:25px;border-radius:15px;text-align:center}.user-role-badge{display:none!important}.version-label{font-size:12px;color:#a79a7e}.fixed.z-50{overflow-y:auto;align-items:safe center;backdrop-filter:blur(10px)}.fixed.z-50>.palacio-panel{max-height:calc(100dvh - 32px);overflow-y:auto}.room-card{display:flex;justify-content:space-between;align-items:center;gap:12px}.room-card h4{overflow-wrap:anywhere;font-size:15px}.room-card small{font-size:12px;display:block;color:#b7b6ad}.profile-empty{font-size:13px;color:#a8aaa8;padding:12px}#top-user-pill{max-width:65vw}#top-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.test-row{padding:10px;border-bottom:1px solid #c9a25b22;display:flex;justify-content:space-between;gap:18px}.test-pass{color:#42dcb4}.test-fail{color:#ff7c88}.capture-hint{color:#edca8b}#tab-content-rules p{margin-bottom:10px}#mandatory-capture-badge{position:fixed;left:50%;bottom:140px;transform:translateX(-50%);text-align:center;max-width:88%;pointer-events:none}#btn-menu-play-solo p{font-size:13px}#mp-input-room-name{width:100%}
@media(max-width:650px){#game-hud-view{padding:78px 12px 18px}#game-hud-view>div:first-child{flex-wrap:wrap;align-items:flex-start}.piece-counts{order:3;width:100%;justify-content:center;padding:7px;font-size:12px;pointer-events:none}#game-hud-view>div:first-child>.palacio-panel{padding:8px 10px;flex:1}#game-hud-view #turn-indicator-text{font-size:12px}#btn-hud-cam-toggle,#btn-hud-restart,#btn-hud-menu-return{padding:9px 7px;font-size:12px}#main-menu-view{padding-top:100px}.palacio-title{font-size:clamp(45px,12vw,78px);letter-spacing:.09em}.bottom-actions{flex-direction:column}.fixed.z-50{padding:12px}.fixed.z-50>.palacio-panel{padding:22px 18px}#profile-modal h2{font-size:17px}.piece-counts b{font-size:14px}header{padding:16px!important}#top-user-pill{max-width:75vw}}
@media(max-height:560px){#game-hud-view{padding-top:62px}#main-menu-view{padding-top:75px;padding-bottom:25px}#main-menu-view .palacio-title{font-size:44px}#main-menu-view .text-center{margin-bottom:16px}.fixed.z-50{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Smoked glass over black porcelain and banded onyx, with aged-gold inlay. */
:root{--palacio-gold:#b99859;--palacio-radius-panel:18px;--palacio-radius-card:10px}
.palacio-panel{
 border:1px solid #987b46;
 background:
 linear-gradient(116deg,rgba(255,247,219,.12) 0%,rgba(255,248,226,.018) 16%,transparent 31%,rgba(255,255,255,.025) 55%,transparent 73%),
 repeating-linear-gradient(158deg,transparent 0%,rgba(135,134,126,.024) 8%,transparent 8.4%,rgba(4,5,6,.3) 16%,transparent 17%),
 linear-gradient(145deg,rgba(24,25,27,.94),rgba(7,8,10,.91) 47%,rgba(16,17,20,.94));
 backdrop-filter:blur(26px) saturate(.65);-webkit-backdrop-filter:blur(26px) saturate(.65);
 box-shadow:0 35px 90px #000b,0 10px 25px #0009,inset 0 1px 0 #f3dfad55,inset 1px 0 0 #d5bc8230,inset -1px -1px 0 #080605,inset 0 0 35px #0008;
}
.palacio-panel::after{inset:6px;border-color:#b9985929;border-top-color:#e7d1a447;border-bottom-color:#765e3738}
.menu-option{
 border-color:#b998594d;
 background:linear-gradient(172deg,#ffffff0c,transparent 42%),linear-gradient(135deg,#222225ee,#08090bef 63%,#18191bed);
 box-shadow:inset 0 1px 0 #fff3d624,inset 0 -1px 0 #000c,0 5px 14px #0005;
}
.menu-option:hover:not(:disabled){border-color:#dcc38d9c;box-shadow:inset 0 1px 0 #ffedbf36,0 8px 24px #0008;background:linear-gradient(172deg,#fff2cf13,transparent 50%),linear-gradient(135deg,#2b2b2e,#111215)}
#main-menu-view .palacio-panel{padding:1.8rem;max-width:29rem}
#main-menu-view .btn-emerald-noble{border-color:#c7a465;background:linear-gradient(165deg,#ebd2a231,transparent 42%),linear-gradient(120deg,#675134,#31271c 70%,#51402b);color:#fff5df;box-shadow:inset 0 1px 0 #fff2cb66,inset 0 -1px 0 #0e0b07,0 7px 20px #0008}
#main-menu-view .btn-emerald-noble .w-10{color:#ead2a0;border-color:#b9985959;background:#08070655}
#main-menu-view .menu-option,#main-menu-view .btn-emerald-noble{min-height:4.2rem}
.palacio-title{color:#ede6d4;text-shadow:0 1px 0 #fff3d7,0 2px 0 #99804e,0 4px 12px #000c;letter-spacing:.12em}
.room-create-note{font-size:1rem;line-height:1.6;color:#d0c9ba;margin:0 0 1.5rem}
#mp-room-auto-name{overflow-wrap:anywhere;color:#f1dfb9}
.room-card h4{overflow-wrap:anywhere}
@media(max-width:480px){#main-menu-view .palacio-panel{padding:1.2rem}#hud-status-label{max-width:15rem;line-height:1.45}}

/* Piece totals sit at the left edge, outside the desktop board viewport. */
#game-hud-view .piece-counts{position:fixed;left:16px;top:50%;transform:translateY(-50%);width:108px;display:flex;flex-direction:column;gap:12px;padding:14px 12px;pointer-events:none;order:initial;justify-content:initial}
#game-hud-view .piece-counts span{display:flex;justify-content:space-between;align-items:center;gap:8px}
#game-hud-view .piece-counts b{margin-left:0}
@media(min-width:900px){body:has(#game-hud-view:not(.hidden)) #canvas-container{left:140px}}
@media(max-width:899px){#game-hud-view .piece-counts{left:12px;top:174px;transform:none;width:100px;padding:9px 10px;gap:7px;font-size:12px}}
@media(max-height:560px){#game-hud-view .piece-counts{top:50%;transform:translateY(-50%)}}

/* Touch phones: compact counter participates in header layout, never floats over the board. */
@media(max-width:899px) and (pointer:coarse){
 #game-hud-view>div:first-child{flex-wrap:wrap;align-content:flex-start}
 #game-hud-view .piece-counts{position:static;transform:none;order:3;width:max-content;flex-direction:row;gap:14px;padding:5px 9px;border-radius:9px;font-size:12px;align-self:flex-start;margin-right:auto}
 #game-hud-view .piece-counts span{gap:6px}
 #game-hud-view .piece-counts b{font-size:14px}
}

/* Turn clock: anchored in the side rail on desktop, in header flow on phones. */
#game-hud-view .turn-clock{width:120px;gap:10px;text-align:center;padding:14px 8px}
#game-hud-view .turn-clock #clock-turn{display:block}
#game-hud-view .turn-clock #clock-turn strong{display:block;font:700 20px Cinzel,Georgia,serif;color:#f2dfb4}
#game-hud-view .turn-clock #clock-message{display:block;font-size:14px;margin-top:4px}
#turn-timer{font:600 32px Inter,sans-serif;font-variant-numeric:tabular-nums;line-height:1.2;border-radius:9px;padding:5px;color:#f3e8d3}
#turn-timer small{font-size:14px;margin-left:3px}
#game-hud-view .turn-clock #turn-seconds{display:inline}
#turn-timer.warning{color:#ffb1a5;animation:clock-shake .65s infinite;box-shadow:0 0 15px #df283c77,inset 0 0 12px #df283c22}
#turn-timer.urgent{color:#fff0e9;animation:clock-shake .14s infinite;box-shadow:0 0 26px #ff243dcc,inset 0 0 18px #ff243d66}
@keyframes clock-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-2px) rotate(-1deg)}75%{transform:translateX(2px) rotate(1deg)}}
.victory-engraving{position:fixed;inset:0;width:100%;height:100%;z-index:49;pointer-events:none}
@media(min-width:900px){body:has(#game-hud-view:not(.hidden)) #canvas-container{left:152px}}
@media(max-width:899px){
 #game-hud-view>div:first-child{flex-wrap:wrap;align-content:flex-start}
 #game-hud-view .turn-clock{position:static;transform:none;order:3;width:auto;display:flex;flex-direction:row;align-items:center;gap:15px;padding:6px 12px;margin-right:auto;border-radius:10px}
 #game-hud-view .turn-clock #clock-turn strong{display:inline;font-size:16px}
 #game-hud-view .turn-clock #clock-message{display:inline;margin-left:6px;font-size:14px}
 #turn-timer{font-size:24px;padding:2px 5px;min-width:48px}
}

#end-game-title.celebration-title{font:700 clamp(48px,12vw,104px)/1.3 Cinzel,Georgia,serif;background:linear-gradient(175deg,#8d5c20 8%,#f6d990 30%,#fff3bd 44%,#b8842c 49%,#e9c576 65%,#8d5e26 82%,#f3dda2);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 0 12px #dcb44855);letter-spacing:.02em}
.nikagames-return{display:inline-block;margin-bottom:18px;font:500 14px Inter,sans-serif;color:#c9ab72;padding:4px 8px}.nikagames-return:hover{color:#ffe2a6}.version-label{max-width:190px;text-align:right;font-size:12px}#crown-announcement{position:fixed;z-index:10;pointer-events:none;top:16%;left:0;right:0;text-align:center;font:600 clamp(60px,12vw,160px)/1.2 Cinzel,Georgia,serif;letter-spacing:.07em;color:#e0bd75;text-shadow:0 0 25px #ddb55c55,0 2px 0 #6f4f27;opacity:0}#crown-announcement.active{animation:crown-word 3s ease-out forwards}@keyframes crown-word{0%{opacity:0;transform:translateY(14px) scale(.95)}18%,65%{opacity:.75;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-12px) scale(1.04)}}@media(max-width:899px){#crown-announcement{top:27%;font-size:clamp(48px,15vw,90px)}}
