/* SPDX-License-Identifier: AGPL-3.0-only — TapePlay original presentation. */
:root{--primary-color:#2b6049;--accent-color:#b3a36a}*{font-family:system-ui,sans-serif!important}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{display:flex;flex-direction:column;background:#172f29;color:#fff9e8}#tp-header{height:44px;min-height:44px;box-sizing:border-box;padding:4px 12px;display:flex;align-items:center;gap:12px;background:#f4f1e7;color:#28533e;font-size:12px;z-index:10000;white-space:nowrap}#tp-header>a{font-weight:700;color:inherit;text-decoration:none}#tp-header>strong{flex:1;overflow:hidden;text-overflow:ellipsis}#tp-header button,#tp-header summary{min-height:34px;padding:5px 10px;border:1px solid #b4bca8;border-radius:8px;background:transparent;color:inherit;font-size:11px;display:flex;align-items:center;cursor:pointer}#tp-header details{flex:none}#tp-header summary{list-style:none}#tp-header summary::-webkit-details-marker{display:none}#tp-header .tp-info{position:absolute;left:8px;right:8px;top:44px;white-space:normal;background:#f4f1e7;color:#28533e;border:1px solid #96a38d;border-radius:0 0 12px 12px;padding:14px;max-height:65svh;overflow:auto;line-height:1.7;box-shadow:0 8px 30px #0006}#tp-header .tp-info a{color:#28533e;text-decoration:underline}#game-container,html.mobile-layout #game-container{position:relative;flex:1;min-height:0;height:calc(100svh - 44px);width:100%;max-width:none;margin:0;border-radius:0;background:radial-gradient(ellipse,#28523e,#102b25)}#trial-status,#ai-review-toggle,.settings-icon{display:none!important}.avatar-container{pointer-events:none}.modal-content{max-height:85svh;overflow:auto}#top-controls{top:8px;right:12px;gap:8px}.premium-btn{background:#b9b083;color:#15362a}.premium-btn.secondary{background:#355c4a;color:#fff9e8}#status-message{font-size:14px}#tp-rotate{display:none}
@media(max-width:600px){#tp-header{padding:4px 6px;gap:6px;font-size:10px}#tp-header>strong{font-size:9px}#tp-header button,#tp-header summary{padding:4px 6px;font-size:10px}}
@media(max-width:900px)and(max-height:480px)and(orientation:landscape){html.mobile-layout #game-container{display:block;padding:0}#top-controls{top:4px;right:8px}#top-controls .premium-btn{min-height:30px;padding:4px 9px;font-size:11px}#info-icon{width:30px;height:30px}.mobile-layout .player.ai{position:absolute;display:flex;flex-direction:column;gap:2px;width:145px;height:90px;padding:0;background:none;border:0}.mobile-layout #player-2{left:12px;top:45px}.mobile-layout #player-3{left:50%;top:6px;transform:translateX(-50%)}.mobile-layout #player-4{right:12px;top:45px;left:auto}.mobile-layout .player.ai .avatar{width:30px;height:30px}.mobile-layout .player.ai .info{margin:0;display:flex;gap:5px;flex-direction:row}.mobile-layout .player.ai .name,.mobile-layout .player.ai .cards-count{font-size:10px}.mobile-layout .played-cards-slot{position:static;min-height:47px;display:flex;justify-content:center;gap:2px;margin:4px 0 0;transform:none}.mobile-layout .slot-card{width:29px;height:43px;font-size:12px}.mobile-layout #human-area{position:absolute;left:0;right:0;bottom:0;padding:0 8px 6px;transform:none;width:auto;display:flex;flex-direction:column;gap:6px}.mobile-layout #human-area>.avatar-container,.mobile-layout #human-area>.info{display:none}.mobile-layout #human-area>.played-cards-slot{height:46px;min-height:46px;margin:0}.mobile-layout #human-area .hand{height:78px;padding:8px 0 0;margin:0;justify-content:center;max-width:100%;overflow:visible}.mobile-layout #human-area .card{width:44px;min-width:44px;height:64px;margin-left:-14px}.mobile-layout #human-area .card:first-child{margin-left:0}.mobile-layout #human-area .card.selected{transform:translateY(-8px)}.mobile-layout #controls{position:static;margin:0;padding:0;height:32px;min-height:32px;gap:8px}.mobile-layout #controls .premium-btn{padding:4px 14px;font-size:12px;min-height:32px}.mobile-layout #table-center{position:absolute;left:50%;top:100px;bottom:auto;transform:translateX(-50%);width:40%;font-size:11px}.mobile-layout #status-message{font-size:11px}#tp-header{height:40px;min-height:40px}#tp-header .tp-info{top:40px}}
@media(max-width:700px)and(orientation:portrait){#tp-rotate{position:fixed;inset:44px 0 0;z-index:9000;display:grid;place-content:center;text-align:center;background:#173b30;color:#fff9e8;padding:24px;gap:12px}#tp-rotate strong{font-size:24px}}

/* R6a: permit scrolling rather than clip controls on short desktop/emulated viewports. */
html,body{height:auto;min-height:100svh;overflow-x:hidden;overflow-y:auto}#game-container,html.mobile-layout #game-container{flex:none;height:max(560px,calc(100svh - 44px));min-height:560px;overflow:visible}#tp-header{position:relative}#controls{scroll-margin:16px}.mobile-layout #controls{position:sticky;bottom:0;z-index:20;background:#173b30;padding:8px;flex-wrap:wrap}.slot-pass{line-height:1.2}.speech-bubble:empty{display:none!important}
@media(max-width:900px)and(max-height:480px)and(orientation:landscape){#game-container,html.mobile-layout #game-container{height:calc(100svh - 40px);min-height:320px}.mobile-layout #controls{position:static;padding:0;background:none}.mobile-layout .player.ai .info{flex-wrap:wrap;justify-content:center;gap:0 5px}.mobile-layout .player.ai .score{font-size:9px}.mobile-layout .player.ai .name{max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
