/* v1.7 tablet-first presentation layer. No remote assets: sharp at Retina/4K density. */
:root{--tap:52px;--future-glow:0 0 28px color-mix(in srgb,var(--gold) 24%,transparent)}
@media (pointer:coarse),(max-width:1180px){
 body.tablet17{overscroll-behavior:none;-webkit-tap-highlight-color:transparent}
 body.tablet17 .btn,body.tablet17 .kbtn,body.tablet17 .ktile{min-height:var(--tap);touch-action:manipulation}
 body.tablet17 .btn,body.tablet17 .kbtn{border-radius:18px;font-weight:750}
 body.tablet17 .panel,body.tablet17 .kcard{border-radius:24px;box-shadow:0 14px 44px #0002,var(--future-glow);backdrop-filter:blur(14px)}
 body.tablet17 .ktile{border-radius:25px;transform:translateZ(0);transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;box-shadow:0 12px 34px #0002}
 body.tablet17 .ktile:active,body.tablet17 .kbtn:active{transform:scale(.965)}
 body.tablet17 .hm-top .ktile .e{font-size:clamp(42px,7vw,78px);filter:drop-shadow(0 8px 12px #0004)}
 body.tablet17 #view{max-width:1600px;margin-inline:auto}
 body.tablet17 canvas{image-rendering:auto}
}
@media (min-resolution:2dppx){body.tablet17 .avatar3d>canvas{filter:contrast(1.035) saturate(1.06)}}
.tablet17-stage{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(82px + env(safe-area-inset-bottom));z-index:35;width:clamp(104px,15vw,190px);pointer-events:none;filter:drop-shadow(0 16px 18px #0005)}
.tablet17-stage .avatar3d{width:100%}.tablet17-stage.hello{animation:t17hello 1.4s ease}.tablet17-stage.dance{animation:t17dance .65s ease-in-out 4}
@keyframes t17hello{0%{transform:translateY(30px);opacity:0}45%{transform:translateY(-8px) rotate(-3deg);opacity:1}100%{transform:none}}
@keyframes t17dance{0%,100%{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(4deg) translateY(-12px)}}
@media (prefers-reduced-motion:reduce){.tablet17-stage{display:none!important}}
