:root{--palace-navy:#061a3a;--palace-royal:#073fa9;--palace-felt:#0759c8;--palace-gold:#f7c941;--palace-cream:#fff8e8;--palace-ink:#121a23;--palace-red:#b2141d;--palace-glass:rgba(5,20,43,.91);--palace-sky:#5bd8ff}
.palace-web-page{background:#020713;overflow-x:hidden}.palace-web-page main{background:#020713}.palace-web-shell{width:100%;min-height:calc(100svh - 132px);margin:0;padding:0;background:radial-gradient(circle at 50% 0,#0e2447 0,#030916 65%)}.palace-web-game{width:100%;min-height:inherit;margin:0 auto;outline:0}.palace-web-loading{padding:4rem 1rem;color:#fff8e8;text-align:center;font-weight:800}.palace-web-game:focus-visible{outline:3px solid var(--palace-sky);outline-offset:-4px}
.palace-entry,.palace-complete{width:min(1180px,calc(100% - 2rem));min-height:min(720px,calc(100svh - 150px));margin:0 auto;display:grid;grid-template-columns:minmax(300px,.92fr) minmax(340px,1.08fr);align-items:center;gap:clamp(2rem,6vw,5rem);padding:clamp(2rem,6vw,5rem);color:var(--palace-cream)}.palace-entry-art,.palace-complete-art{position:relative;isolation:isolate}.palace-entry-art:before,.palace-complete-art:before{content:"";position:absolute;inset:7%;z-index:-1;border-radius:45%;background:#18bdf3;filter:blur(55px);opacity:.32}.palace-entry-art img,.palace-complete-art img{display:block;width:100%;height:auto;max-height:64svh;object-fit:contain;border-radius:24%}.palace-kicker{margin:0 0 .9rem;color:var(--palace-gold);font:900 .78rem/1.2 system-ui,sans-serif;letter-spacing:.22em}.palace-entry-copy h2,.palace-complete-copy h2{max-width:12ch;margin:0 0 1.2rem;color:#fff;font:900 clamp(2.7rem,6vw,5.5rem)/.92 system-ui,sans-serif;letter-spacing:-.055em}.palace-entry-copy>p:not(.palace-kicker),.palace-complete-copy>p:not(.palace-kicker){max-width:42rem;color:#cdd9ea;font:500 clamp(1rem,2vw,1.24rem)/1.55 system-ui,sans-serif}.palace-privacy-line{padding-left:1rem;border-left:3px solid var(--palace-gold)}.palace-player-count{margin:1.5rem 0;padding:0;border:0}.palace-player-count legend{margin-bottom:.7rem;color:#fff;font:800 .9rem/1.2 system-ui,sans-serif}.palace-player-count label{display:inline-flex;margin:0 .55rem .55rem 0}.palace-player-count input{position:absolute;opacity:0}.palace-player-count span{min-width:76px;min-height:44px;display:grid;place-items:center;padding:.55rem .85rem;border:1px solid #6590c3;border-radius:999px;color:#fff;background:#071a3a;font:800 .85rem/1 system-ui,sans-serif;cursor:pointer}.palace-player-count input:checked+span{border-color:var(--palace-gold);color:#111;background:var(--palace-gold)}.palace-player-count input:focus-visible+span{outline:3px solid #fff;outline-offset:3px}.palace-entry-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-top:1.6rem}.palace-entry-actions a:not(.palace-primary){color:#fff;text-decoration-thickness:2px;text-underline-offset:5px}.palace-primary{min-height:48px;display:inline-grid;place-items:center;padding:.75rem 1.25rem;border:2px solid var(--palace-gold);border-radius:10px;color:#101722;background:var(--palace-gold);font:900 .9rem/1 system-ui,sans-serif;text-decoration:none;cursor:pointer;box-shadow:0 7px 0 #9b6812}.palace-primary:hover{filter:brightness(1.06);transform:translateY(-1px)}.palace-primary:active{transform:translateY(4px);box-shadow:0 3px 0 #9b6812}.palace-primary:focus-visible,.palace-app-tools button:focus-visible,.palace-log-button:focus-visible,.palace-card:focus-visible,.palace-log-dialog button:focus-visible{outline:3px solid #fff;outline-offset:3px}.palace-recovery{grid-template-columns:1fr;max-width:760px}.palace-complete{grid-template-columns:minmax(260px,.75fr) minmax(360px,1.25fr)}.palace-result-line{padding:1rem;border:1px solid rgba(247,201,65,.45);border-radius:12px;background:rgba(7,63,169,.22)}
.palace-web-page.palace-game-active .site-header,.palace-web-page.palace-game-active .game-subnav,.palace-web-page.palace-game-active .palace-table-tools,.palace-web-page.palace-game-active .release-strip,.palace-web-page.palace-game-active .site-footer{display:none}.palace-web-page.palace-game-active .palace-web-shell{min-height:100svh}.palace-web-page.palace-game-active .palace-app-frame{height:100svh;min-height:600px}
.palace-app-frame{position:relative;width:min(1500px,100%);height:min(820px,calc(100svh - 220px));min-height:500px;margin:0 auto;display:grid;grid-template-rows:62px 42px minmax(0,1fr);overflow:hidden;border-inline:1px solid rgba(91,216,255,.25);background:#020712;color:var(--palace-cream);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.palace-app-frame:fullscreen{width:100vw;height:100svh;max-width:none}.palace-app-bar{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.45rem clamp(.65rem,2vw,1.4rem);border-bottom:1px solid rgba(247,201,65,.55);background:#03142c}.palace-app-identity{display:flex;align-items:center;gap:.65rem}.palace-app-identity img{width:46px;height:46px;border-radius:10px;object-fit:cover}.palace-app-identity strong,.palace-app-identity small{display:block}.palace-app-identity strong{font-size:1.05rem}.palace-app-identity small{margin-top:.2rem;color:var(--palace-sky);font-size:.55rem;font-weight:900;letter-spacing:.18em}.palace-app-tools{display:flex;align-items:center;gap:.4rem}.palace-app-tools button,.palace-log-button{min-height:44px;padding:.55rem .7rem;border:1px solid rgba(247,201,65,.72);border-radius:8px;color:#fff;background:#061d41;font-weight:800;cursor:pointer}.palace-turn-ribbon{position:relative;z-index:15;display:flex;align-items:center;justify-content:center;gap:.55rem;padding:.5rem 1rem;color:#fff;background:#041a3a;font-size:.83rem;font-weight:900;letter-spacing:.03em}.palace-turn-ribbon span{width:10px;height:10px;border-radius:50%;background:var(--palace-gold);box-shadow:0 0 14px var(--palace-gold)}
.palace-table{position:relative;min-height:0;overflow:hidden;background-image:linear-gradient(rgba(2,15,43,.04),rgba(2,9,27,.15)),url("palace-web/table-garden.png");background-size:cover;background-position:center}.palace-table:before{content:"";position:absolute;inset:5% 5% 7%;border:2px solid rgba(247,201,65,.42);border-radius:48%;box-shadow:inset 0 0 70px rgba(1,18,62,.35),0 20px 40px rgba(0,0,0,.25);pointer-events:none}.palace-table-watermark{position:absolute;left:50%;top:49%;z-index:0;transform:translate(-50%,-50%);color:rgba(255,255,255,.11);font:900 clamp(4rem,10vw,9rem)/1 system-ui}.palace-table-watermark span{color:rgba(255,199,44,.15)}.palace-opponents{position:absolute;inset:1rem 1.2rem auto;z-index:6;display:flex;justify-content:center;gap:clamp(1rem,8vw,9rem);pointer-events:none}.palace-seat{display:grid;grid-template-columns:48px minmax(100px,1fr);grid-template-rows:auto auto;align-items:center;min-width:170px}.seat-avatar{grid-row:1/3;z-index:2;width:48px;height:48px;display:grid;place-items:center;border:2px solid var(--palace-cream);border-radius:50%;background:#1b5d8b;font-size:1.5rem}.seat-label{grid-column:2;display:flex;flex-direction:column;justify-content:center;min-height:38px;margin-left:-10px;padding:.35rem .55rem .35rem 1rem;border:1px solid rgba(255,255,255,.55);border-radius:0 8px 8px 0;background:var(--palace-glass)}.seat-label strong{color:#fff;font-size:.8rem}.seat-label span{color:#d6e2ef;font-size:.61rem}.palace-seat.is-active .seat-avatar,.palace-seat.is-active .seat-label{border-color:var(--palace-gold);box-shadow:0 0 18px rgba(247,201,65,.55)}.opponent-hand{grid-column:1/3;position:relative;width:116px;height:52px;margin:-3px auto 0}.opponent-back{position:absolute;left:calc(20px + var(--card)*15px);top:0;width:36px;height:50px;border:1px solid var(--palace-gold);border-radius:5px;background:linear-gradient(135deg,#071b3b,#0a469f);transform:rotate(calc((var(--card) - 2)*5deg));transform-origin:50% 100%;box-shadow:0 3px 7px #0008}.opponent-back:after{content:"♥";position:absolute;inset:0;display:grid;place-items:center;color:var(--palace-gold);font-size:.8rem}.palace-deck-counter{position:absolute;left:1rem;top:42%;z-index:8;display:grid;gap:.25rem}.palace-deck-counter span{min-width:90px;padding:.38rem .55rem;border:1px solid rgba(247,201,65,.65);border-radius:7px;background:var(--palace-glass);font-size:.67rem;text-transform:uppercase;letter-spacing:.05em}.palace-center-pile{position:absolute;left:50%;top:46%;z-index:7;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:.3rem}.palace-center-pile>p{margin:0;padding:.3rem .65rem;border-radius:999px;color:#fff;background:var(--palace-glass);font-size:.67rem;text-transform:uppercase;letter-spacing:.08em}.empty-pile{width:82px;aspect-ratio:.7;display:grid;place-items:center;border:2px dashed rgba(255,255,255,.55);border-radius:9px;color:#fff;background:rgba(4,21,48,.35);font-size:.63rem;font-weight:900;letter-spacing:.14em}
.palace-human-zone{position:absolute;inset:auto 0 0;z-index:10;min-height:218px;display:flex;align-items:flex-end;justify-content:center;padding:0 1rem 1rem;pointer-events:none}.human-seat-label{position:absolute;left:50%;bottom:172px;transform:translateX(-50%);min-width:130px;display:flex;justify-content:space-between;gap:1rem;padding:.35rem .65rem;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:var(--palace-glass);font-size:.68rem}.palace-human-zone.is-active .human-seat-label{border-color:var(--palace-gold);box-shadow:0 0 16px rgba(247,201,65,.42)}.palace-hand{position:relative;z-index:14;max-width:min(82vw,950px);display:flex;align-items:flex-end;justify-content:center;pointer-events:auto}.palace-hand .palace-card{margin-inline:-7px}.palace-table-cards{position:absolute;left:50%;bottom:168px;transform:translateX(-50%);z-index:8;display:flex;gap:.4rem;pointer-events:auto}.palace-table-card-slot{position:relative;width:56px;height:80px}.palace-table-card-slot .palace-card{position:absolute;inset:0;width:56px}.palace-table-card-slot .palace-card+.palace-card{transform:translateY(-7px)}
.palace-card{position:relative;flex:0 0 auto;width:clamp(60px,6.4vw,88px);aspect-ratio:.7;overflow:hidden;border:2px solid #e7e9ea;border-radius:9px;color:#101927;background:linear-gradient(145deg,#fffef8,#e9edf4);box-shadow:0 7px 13px rgba(0,0,0,.38);font-family:Georgia,serif;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.palace-card:not(:disabled):hover{transform:translateY(-8px)}.palace-card.is-selected{z-index:20;transform:translateY(-20px);border-color:var(--palace-gold);box-shadow:0 0 0 3px #097bd9,0 9px 20px rgba(0,0,0,.5)}.palace-card.is-unavailable{filter:saturate(.2) brightness(.68)}.palace-card:disabled{cursor:default}.palace-card.is-red{color:#c51f2c}.card-corner{position:absolute;left:8%;top:5%;display:grid;justify-items:center;line-height:.8}.card-corner b{font-size:clamp(.78rem,1.55vw,1.22rem)}.card-corner small{font-size:clamp(.7rem,1.3vw,1rem)}.card-corner.bottom{left:auto;right:8%;top:auto;bottom:5%;transform:rotate(180deg)}.card-pip{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(2rem,4vw,3.6rem)}.palace-card.is-back{border-color:var(--palace-gold);background:radial-gradient(circle,#1063c7 0 18%,transparent 19%),linear-gradient(135deg,#061632,#0a4097);background-size:12px 12px,100% 100%;color:var(--palace-gold)}.card-back-mark{position:absolute;inset:8%;display:grid;place-items:center;align-content:center;gap:.2rem;border:1px solid rgba(247,201,65,.65);border-radius:5px;background:rgba(3,19,45,.65);font-family:system-ui}.card-back-mark b{font-size:1rem}.card-back-mark b span{color:#ff4854}.card-back-mark small{font-size:.4rem;font-weight:900;letter-spacing:.15em}
.palace-action-dock{position:absolute;right:1rem;bottom:1rem;z-index:18;width:min(300px,28vw);padding:.7rem;border:1px solid var(--palace-gold);border-radius:11px;background:var(--palace-glass);box-shadow:0 8px 24px rgba(0,0,0,.3)}.palace-action-dock p{margin:0}.palace-latest{color:#fff;font-size:.68rem;font-weight:800}.palace-prompt{margin-top:.4rem!important;color:#cbd9e8;font-size:.64rem;line-height:1.3}.palace-command{width:100%;min-height:44px;margin-top:.55rem;padding:.55rem;box-shadow:0 4px 0 #9b6812}.palace-log-button{width:100%;margin-top:.45rem;color:var(--palace-cream);background:#0b438f}.palace-app-frame.is-setup .palace-action-dock{bottom:220px}
.palace-log-dialog{width:min(520px,calc(100% - 2rem));max-height:80svh;padding:0;border:1px solid var(--palace-gold);border-radius:14px;color:#fff;background:#05152f}.palace-log-dialog::backdrop{background:rgba(0,0,0,.72)}.palace-log-dialog>div{position:relative;padding:1.3rem}.palace-log-dialog h2{margin:0 2rem 1rem 0}.palace-log-dialog ol{max-height:55svh;overflow:auto;padding-left:1.5rem;color:#dbe6f3}.palace-log-dialog li{margin:.45rem 0}.palace-log-dialog button{position:absolute;right:.75rem;top:.75rem;width:44px;height:44px;border:1px solid var(--palace-gold);border-radius:50%;color:#fff;background:#0a2d62;font-size:1.5rem;cursor:pointer}
@media(max-width:900px){.palace-entry,.palace-complete{grid-template-columns:.78fr 1.22fr;gap:1.5rem;padding:2rem}.palace-entry-copy h2,.palace-complete-copy h2{font-size:clamp(2.3rem,6.2vw,4rem)}.palace-app-frame{height:calc(100svh - 112px);min-height:610px}.palace-app-tools button{font-size:0;width:44px;padding:.45rem}.palace-app-tools button:before{font-size:1rem}.palace-app-tools [data-sound]:before{content:"♪"}.palace-app-tools [data-motion]:before{content:"◫"}.palace-app-tools [data-fullscreen]:before{content:"⛶"}.palace-opponents{gap:1rem;justify-content:space-around}.palace-seat{min-width:130px;grid-template-columns:40px minmax(82px,1fr)}.seat-avatar{width:40px;height:40px;font-size:1.2rem}.seat-label{min-height:34px}.palace-action-dock{width:230px}.palace-card{width:clamp(60px,8.5vw,76px)}}
@media(max-width:600px){.palace-web-page.palace-game-active .site-header,.palace-web-page.palace-game-active .game-subnav,.palace-web-page.palace-game-active .palace-table-tools,.palace-web-page.palace-game-active .release-strip,.palace-web-page.palace-game-active .site-footer{display:none}.palace-web-page.palace-game-active .palace-web-shell{min-height:100svh}.palace-entry,.palace-complete{width:100%;min-height:calc(100svh - 88px);grid-template-columns:1fr;align-content:center;gap:1rem;padding:1.1rem}.palace-entry-art,.palace-complete-art{display:none}.palace-entry-copy h2,.palace-complete-copy h2{font-size:clamp(2.7rem,13vw,4rem)}.palace-player-count label{margin-right:.25rem}.palace-app-frame{height:100svh;min-height:568px;grid-template-rows:52px 36px minmax(0,1fr);border:0}.palace-app-bar{padding:.3rem .45rem}.palace-app-identity img{width:38px;height:38px}.palace-app-identity strong{font-size:.9rem}.palace-app-identity small{font-size:.43rem}.palace-app-tools{gap:.2rem}.palace-app-tools button{min-width:42px;width:42px;min-height:42px}.palace-turn-ribbon{padding:.35rem;font-size:.68rem}.palace-table:before{inset:5% -18% 11%;border-radius:46%}.palace-opponents{inset:.45rem .25rem auto;gap:.25rem}.palace-seat{min-width:0;width:32%;grid-template-columns:31px 1fr}.seat-avatar{width:31px;height:31px;border-width:1px;font-size:.92rem}.seat-label{min-height:29px;margin-left:-7px;padding:.2rem .25rem .2rem .55rem}.seat-label strong{font-size:.58rem}.seat-label span{font-size:.45rem}.opponent-hand{width:70px;height:36px}.opponent-back{left:calc(7px + var(--card)*9px);width:28px;height:38px}.palace-deck-counter{left:.35rem;top:29%}.palace-deck-counter span{min-width:64px;padding:.25rem .35rem;font-size:.48rem}.palace-center-pile{top:39%}.palace-center-pile>p{font-size:.48rem}.empty-pile{width:58px}.palace-center-pile .palace-card{width:62px}.palace-human-zone{min-height:185px;padding:0 .15rem .35rem}.human-seat-label{bottom:139px;font-size:.54rem;min-width:108px}.palace-hand{max-width:98vw}.palace-hand .palace-card{margin-inline:-8px}.palace-card{width:clamp(54px,17vw,69px);border-radius:7px}.palace-table-cards{bottom:137px;gap:.18rem}.palace-table-card-slot{width:45px;height:64px}.palace-table-card-slot .palace-card{width:45px}.card-corner b{font-size:.72rem}.card-corner small{font-size:.62rem}.card-pip{font-size:1.8rem}.palace-action-dock{right:.3rem;bottom:205px;width:min(190px,52vw);padding:.42rem}.palace-latest{font-size:.52rem}.palace-prompt{font-size:.5rem}.palace-command,.palace-log-button{font-size:.64rem}.palace-log-button{min-height:40px}.palace-app-frame.is-setup .palace-action-dock{right:.3rem;bottom:205px;transform:none;width:min(180px,48vw)}.palace-app-frame.is-setup .palace-table-cards{bottom:162px}.palace-app-frame.is-setup .human-seat-label{bottom:164px}}
@media(max-width:360px){.palace-app-identity span{display:none}.palace-seat{width:33%}.palace-hand .palace-card{margin-inline:-9px}.palace-card{width:58px}.palace-action-dock{width:184px}.palace-latest{max-height:2.7em;overflow:hidden}.palace-prompt{max-height:2.6em;overflow:hidden}}
@media(max-height:650px) and (orientation:landscape){.palace-web-page.palace-game-active .site-header,.palace-web-page.palace-game-active .game-subnav,.palace-web-page.palace-game-active .palace-table-tools,.palace-web-page.palace-game-active .release-strip,.palace-web-page.palace-game-active .site-footer{display:none}.palace-app-frame{height:100svh;min-height:540px;grid-template-rows:48px 32px minmax(0,1fr)}.palace-app-bar{padding:.15rem .6rem}.palace-app-identity img{width:38px;height:38px}.palace-turn-ribbon{padding:.2rem;font-size:.65rem}.palace-opponents{top:.3rem}.palace-human-zone{min-height:170px}.human-seat-label{bottom:132px}.palace-table-cards{bottom:128px}.palace-card{width:60px}.palace-action-dock{bottom:.3rem}.palace-center-pile{top:43%}}
@media(prefers-reduced-motion:reduce){.palace-card,.palace-primary{scroll-behavior:auto!important;transition:none!important;animation:none!important}.palace-card:not(:disabled):hover{transform:none}.palace-card.is-selected{transform:translateY(-10px)}}