/* QilyLean Pure DDZ V155 generated core CSS bundle. Source files remain authoritative; do not hand-edit this generated file. */
/* ===== style.css */
:root{
  color-scheme:dark;
  font-family:"Microsoft YaHei","PingFang SC","Noto Sans SC",Arial,sans-serif;
  --ink:#fff;
  --muted:#cfe5de;
  --deep:#042f38;
  --teal:#073c47;
  --teal-2:#0f6570;
  --green:#0d6a47;
  --felt:#137f52;
  --gold:#f3c75f;
  --gold-2:#ffe39b;
  --red:#dc4338;
  --cream:#fff8e8;
  --panel:rgba(4,45,42,.78);
  --line:rgba(255,255,255,.2);
  --font-scale:1.08;
}

html[data-font="normal"]{--font-scale:1}
html[data-font="large"]{--font-scale:1.08}
html[data-font="xlarge"]{--font-scale:1.17}
*{box-sizing:border-box}
html{min-height:100%;background:var(--teal)}
body{
  margin:0;
  min-width:320px;
  min-height:100vh;
  color:var(--ink);
  background:
    radial-gradient(circle at 50% 42%,rgba(33,161,103,.48),transparent 36%),
    linear-gradient(145deg,#063f35 0,#0c6848 45%,#073c47 100%);
  overflow-x:hidden;
  -webkit-tap-highlight-color:transparent;
}
button,input,select{font:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer}
button:focus-visible,a:focus-visible,select:focus-visible{outline:4px solid var(--gold-2);outline-offset:3px}
.hidden{display:none!important}
.game-shell{min-height:100vh;display:flex;flex-direction:column}

.topbar{
  min-height:92px;
  padding:12px clamp(14px,2vw,34px);
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto minmax(340px,1fr);
  align-items:center;
  gap:18px;
  background:linear-gradient(90deg,rgba(3,36,43,.96),rgba(7,60,71,.92));
  border-bottom:2px solid rgba(243,199,95,.55);
  box-shadow:0 8px 26px rgba(0,0,0,.18);
  position:relative;
  z-index:8;
}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;min-width:0}
.brand-mark{
  width:62px;height:62px;flex:0 0 62px;display:grid;place-items:center;position:relative;
  border:2px solid var(--gold);border-radius:18px;background:#fff;color:var(--teal);box-shadow:0 7px 18px rgba(0,0,0,.2)
}
.brand-mark i{font-style:normal;font-size:42px;line-height:1}.brand-mark i+ i{position:absolute;right:-4px;top:-6px;color:var(--red);font-size:22px;text-shadow:0 1px #fff}
.brand strong{display:block;font-size:calc(26px * var(--font-scale));line-height:1.15;letter-spacing:.04em;white-space:nowrap}
.brand small{display:block;margin-top:3px;color:var(--gold-2);font-size:calc(14px * var(--font-scale));font-weight:800;white-space:nowrap}

.scoreboard{display:grid;grid-template-columns:repeat(3,minmax(88px,1fr));gap:8px;min-width:310px}
.scoreboard div{padding:8px 14px;text-align:center;border:1px solid rgba(255,227,155,.34);border-radius:13px;background:rgba(255,255,255,.07)}
.scoreboard small{display:block;color:var(--muted);font-size:calc(13px * var(--font-scale));font-weight:750}
.scoreboard strong{display:block;margin-top:1px;color:var(--gold-2);font-size:calc(23px * var(--font-scale));line-height:1.1}
.top-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px;flex-wrap:wrap}
.icon-btn,.start-btn,.text-btn,.control-btn,.close-btn{border:0;font-weight:900;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}
.icon-btn{min-height:48px;padding:9px 14px;border:1px solid rgba(255,255,255,.28);border-radius:13px;color:#fff;background:rgba(255,255,255,.09);font-size:calc(16px * var(--font-scale))}
.start-btn{min-height:50px;padding:10px 21px;border-radius:14px;color:#4e3000;background:linear-gradient(145deg,#ffe39b,#efb73e);box-shadow:0 7px 18px rgba(0,0,0,.24);font-size:calc(18px * var(--font-scale))}
.icon-btn:hover,.start-btn:hover,.text-btn:hover,.control-btn:hover{transform:translateY(-2px)}
.start-btn:hover{box-shadow:0 10px 25px rgba(0,0,0,.28)}

.game-main{flex:1;display:flex;flex-direction:column;min-height:0}
.clean-promise{display:flex;justify-content:center;align-items:center;gap:12px;min-height:39px;padding:7px 14px;color:#e6f6f0;background:rgba(3,37,39,.68);font-size:calc(14px * var(--font-scale));text-align:center}
.clean-promise strong{padding:3px 9px;border-radius:999px;color:#3f2600;background:var(--gold-2)}
.table-wrap{
  position:relative;flex:1;width:min(1600px,100%);min-height:720px;margin:0 auto;padding:24px clamp(14px,2vw,32px);
  background:
    radial-gradient(circle at center,rgba(255,255,255,.06),transparent 38%),
    repeating-linear-gradient(35deg,rgba(255,255,255,.012) 0 2px,transparent 2px 8px);
  overflow:hidden;
}
.table-wrap:before{
  content:"";position:absolute;inset:20px;border:2px solid rgba(243,199,95,.26);border-radius:42% / 18%;pointer-events:none
}
.table-decoration{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);width:430px;height:250px;border:2px solid rgba(255,227,155,.16);border-radius:50%;display:grid;place-items:center;pointer-events:none}
.table-decoration:before,.table-decoration:after{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.09);border-radius:50%}
.table-decoration:after{inset:42px}
.table-decoration span{color:rgba(255,227,155,.12);font-family:serif;font-size:150px;font-weight:900}

.player-panel{
  z-index:2;border:2px solid var(--line);border-radius:22px;color:#fff;background:linear-gradient(145deg,rgba(3,47,48,.88),rgba(7,60,71,.74));
  box-shadow:0 10px 28px rgba(0,0,0,.24);transition:border-color .2s,box-shadow .2s,transform .2s
}
.player-panel.active{border-color:var(--gold);box-shadow:0 0 0 5px rgba(243,199,95,.17),0 12px 32px rgba(0,0,0,.3)}
.ai{position:absolute;top:122px;width:224px;padding:18px 14px;text-align:center}
.left-player{left:clamp(18px,3vw,52px)}
.right-player{right:clamp(18px,3vw,52px)}
.avatar{font-size:calc(48px * var(--font-scale));line-height:1}
.player-name{margin-top:6px;font-size:calc(22px * var(--font-scale));font-weight:950}
.role{display:inline-flex;align-items:center;justify-content:center;min-height:31px;margin:8px 3px 0;padding:4px 11px;border-radius:999px;color:#4b2c00;background:var(--gold-2);font-size:calc(15px * var(--font-scale));font-weight:950}
.role.farmer{color:#083b31;background:#d9f2e8}.role.landlord{color:#fff;background:#c83931}
.count{margin-top:7px;color:#f6fffb;font-size:calc(18px * var(--font-scale));font-weight:900}
.bid-tag{min-height:24px;margin-top:6px;color:var(--gold-2);font-size:calc(15px * var(--font-scale));font-weight:900}
.card-backs{display:flex;justify-content:center;min-height:55px;margin-top:8px}
.card-back,.bottom-back{display:block;width:34px;height:51px;margin-left:-19px;border:2px solid #fff;border-radius:7px;background:repeating-linear-gradient(45deg,#9d1722,#9d1722 5px,#efb7bd 5px,#efb7bd 8px);box-shadow:0 3px 7px rgba(0,0,0,.28)}
.card-back:first-child{margin-left:0}

.center-area{position:relative;z-index:1;width:min(760px,calc(100% - 500px));margin:0 auto;padding-top:7px;text-align:center}
.round-meta{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}
.round-meta span{padding:4px 11px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:var(--muted);background:rgba(3,43,42,.62);font-size:calc(14px * var(--font-scale));font-weight:800}
.round-meta b{color:var(--gold-2)}
.bottom-zone{margin-top:8px}.bottom-label{display:block;color:#d9ede7;font-size:calc(14px * var(--font-scale));font-weight:800}
.bottom-cards{display:flex;justify-content:center;align-items:center;min-height:58px;margin-top:5px}
.bottom-back{margin:0 3px}
.status{display:inline-flex;align-items:center;justify-content:center;min-width:310px;min-height:51px;padding:8px 18px;border:2px solid rgba(255,227,155,.3);border-radius:999px;color:#fff;background:rgba(2,37,39,.78);box-shadow:0 8px 20px rgba(0,0,0,.2);font-size:calc(23px * var(--font-scale));font-weight:950}
.center-play{min-height:180px;margin-top:10px;display:flex;flex-direction:column;justify-content:center;align-items:center}
.center-tip{max-width:460px;padding:10px 16px;border-radius:14px;color:#d9eee7;background:rgba(3,50,47,.55);font-size:calc(19px * var(--font-scale));font-weight:800}
.play-owner{margin-bottom:10px;color:var(--gold-2);font-size:calc(19px * var(--font-scale));font-weight:950}
.played-cards{display:flex;justify-content:center;flex-wrap:wrap;max-width:100%}
.mini-card{display:inline-flex;align-items:center;justify-content:center;min-width:49px;height:65px;margin:3px;padding:4px 7px;border:2px solid #dedbd2;border-radius:8px;color:#161a18;background:#fff;box-shadow:0 4px 9px rgba(0,0,0,.24);font-size:calc(18px * var(--font-scale));font-weight:950}
.mini-card.red{color:#c82931}

.me-player{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);width:calc(100% - clamp(42px,6vw,100px));max-width:1240px;min-height:303px;padding:12px 16px 15px;text-align:center}
.me-meta{display:flex;align-items:center;justify-content:center;gap:8px;min-height:43px}
.me-meta .avatar{font-size:calc(34px * var(--font-scale))}.me-meta .player-name{margin:0;font-size:calc(23px * var(--font-scale))}.me-meta .count{margin:0 0 0 6px}
.hand{min-height:145px;display:flex;align-items:flex-end;justify-content:center;overflow-x:auto;overflow-y:hidden;padding:23px 18px 8px;scrollbar-color:var(--gold) transparent;scrollbar-width:thin;overscroll-behavior-x:contain}
.card{
  position:relative;flex:0 0 75px;height:114px;margin-left:-26px;padding:8px;border:2px solid #d6d6d0;border-radius:11px;color:#161a18;background:linear-gradient(160deg,#fff,#fffaf0);box-shadow:0 6px 12px rgba(0,0,0,.31);
  display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;transition:transform .12s,border-color .12s,box-shadow .12s
}
.card:first-child{margin-left:0}.card:hover{transform:translateY(-8px)}
.card strong{font-size:calc(28px * var(--font-scale));line-height:1}.card span{margin-top:4px;font-size:calc(25px * var(--font-scale));line-height:1}
.card.red{color:#cc2932}.card.joker{justify-content:center;align-items:center}.card.joker strong{font-size:calc(17px * var(--font-scale));writing-mode:vertical-rl;letter-spacing:2px}
.card.selected{transform:translateY(-24px);border-color:var(--gold);box-shadow:0 0 0 4px rgba(255,211,78,.27),0 9px 16px rgba(0,0,0,.36)}
.controls{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:8px}
.control-btn{min-width:136px;min-height:52px;padding:10px 20px;border-radius:15px;font-size:calc(21px * var(--font-scale));box-shadow:0 6px 14px rgba(0,0,0,.22)}
.control-btn:disabled{opacity:.38;cursor:not-allowed;transform:none}.hint-btn{color:#073c47;background:#d9f0ed}.pass-btn,.quiet-btn{color:#562900;background:#f5ad68}.play-btn,.bid-btn{color:#4e2d00;background:var(--gold-2)}.bid-btn.strong{color:#fff;background:#c83d34}
.hint-message{min-height:24px;margin:9px 0 0;color:#d6eae4;font-size:calc(14px * var(--font-scale));font-weight:800}

.site-footer{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;padding:9px 16px 12px;color:#c9dfd8;background:rgba(3,38,43,.68);font-size:calc(13px * var(--font-scale))}
.site-footer a{color:var(--gold-2);text-decoration:none;font-weight:850}

.modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,18,22,.74);backdrop-filter:blur(8px);overflow:auto}
.modal-card{width:min(720px,96vw);max-height:calc(100vh - 34px);overflow:auto;padding:clamp(22px,4vw,38px);border:2px solid rgba(243,199,95,.68);border-radius:26px;color:#173b38;background:linear-gradient(160deg,#fffef8,#f5fbf9);box-shadow:0 28px 80px rgba(0,0,0,.43)}
.welcome-card{width:min(760px,96vw);text-align:center}.welcome-mark{font-size:66px;line-height:1;color:var(--teal)}.welcome-mark b{color:var(--red)}
.eyebrow{margin:0 0 6px;color:#8e6627;font-size:calc(14px * var(--font-scale));font-weight:950;letter-spacing:.05em;text-transform:uppercase}
.modal h1,.modal h2{margin:0;color:var(--teal);font-size:calc(42px * var(--font-scale));line-height:1.2}.modal h2{font-size:calc(32px * var(--font-scale))}
.welcome-copy{max-width:610px;margin:12px auto 18px;color:#385d59;font-size:calc(18px * var(--font-scale));font-weight:750;line-height:1.75}
.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 24px;padding:0;list-style:none;text-align:left}
.feature-list li{padding:13px 15px;border:1px solid #c7ddda;border-left:5px solid var(--gold);border-radius:12px;background:#f5faf9}
.feature-list b,.feature-list span{display:block}.feature-list b{color:var(--teal);font-size:calc(17px * var(--font-scale))}.feature-list span{margin-top:3px;color:#56706d;font-size:calc(14px * var(--font-scale))}
.hero-start{width:100%;min-height:60px;font-size:calc(23px * var(--font-scale))}.text-btn{min-height:44px;margin-top:8px;padding:8px 14px;color:var(--teal);background:transparent;font-size:calc(16px * var(--font-scale));text-decoration:underline;text-underline-offset:4px}
.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.close-btn{width:48px;height:48px;border:1px solid #cbdedb;border-radius:50%;color:var(--teal);background:#fff;font-size:32px;line-height:1}
.settings-grid{display:grid;gap:10px}.setting-row,.setting-select{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #cfdfdc;border-radius:14px;background:#f7fbfa}
.setting-row span,.setting-select span{min-width:0}.setting-row b,.setting-row small,.setting-select b,.setting-select small{display:block}.setting-row b,.setting-select b{color:var(--teal);font-size:calc(17px * var(--font-scale))}.setting-row small,.setting-select small{margin-top:4px;color:#5e7774;font-size:calc(13px * var(--font-scale));line-height:1.5}
.setting-row input{width:28px;height:28px;accent-color:var(--teal-2);flex:0 0 auto}.setting-select select{min-width:150px;min-height:48px;padding:7px 12px;border:2px solid #bdd3d0;border-radius:10px;color:var(--teal);background:#fff;font-weight:900}
.official-info{margin-top:18px;padding:18px;border-radius:16px;color:#fff;background:linear-gradient(145deg,var(--teal),var(--teal-2))}.official-info h3{margin:0 0 10px;color:var(--gold-2);font-size:calc(20px * var(--font-scale))}.official-info a{display:flex;justify-content:space-between;gap:12px;margin-top:8px;padding:10px 12px;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#fff;text-decoration:none}.official-info a span{color:#bde7e7}.official-info a b{overflow-wrap:anywhere}.official-info p{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:13px 0 0;color:#d7e8e5}.modal-done{width:100%;margin-top:18px}
.help-sections{display:grid;grid-template-columns:1fr 1fr;gap:12px}.help-sections section{display:flex;gap:12px;padding:14px;border:1px solid #cadeD9;border-radius:14px;background:#f7fbfa}.help-sections section>b{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--teal-2);box-shadow:0 0 0 2px var(--gold)}.help-sections h3{margin:0;color:var(--teal);font-size:calc(18px * var(--font-scale))}.help-sections p{margin:5px 0 0;color:#536d69;font-size:calc(14px * var(--font-scale));line-height:1.65}.privacy-note{padding:12px 14px;border-left:5px solid var(--gold);color:#345b56;background:#eff8f6;font-weight:800;line-height:1.65}
.result-card{text-align:center}.result-icon{font-size:68px}.result-card>p:not(.eyebrow){color:#476762;font-size:calc(18px * var(--font-scale));line-height:1.7}.result-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.result-stats span{padding:13px;border-radius:12px;color:#45635e;background:#ecf6f3;font-weight:800}.result-stats b{display:block;margin-top:4px;color:var(--teal);font-size:calc(27px * var(--font-scale))}
.toast{position:fixed;left:50%;top:50%;z-index:80;max-width:min(620px,90vw);padding:16px 24px;border:2px solid var(--gold);border-radius:15px;color:#fff;background:rgba(2,27,32,.93);box-shadow:0 16px 46px rgba(0,0,0,.4);font-size:calc(20px * var(--font-scale));font-weight:950;text-align:center;opacity:0;pointer-events:none;transform:translate(-50%,-45%) scale(.94);transition:.16s}
.toast.show{opacity:1;transform:translate(-50%,-50%) scale(1)}

@media(max-width:1180px){
  .topbar{grid-template-columns:1fr auto}.scoreboard{order:3;grid-column:1/-1;width:min(620px,100%);margin:0 auto}.center-area{width:calc(100% - 400px)}.ai{width:180px}.table-wrap{min-height:760px}.me-player{min-height:320px}
}

@media(max-width:820px){
  .topbar{min-height:0;padding:10px 12px;grid-template-columns:1fr auto;gap:8px}.brand-mark{width:48px;height:48px;flex-basis:48px;border-radius:13px}.brand-mark i{font-size:32px}.brand strong{font-size:calc(21px * var(--font-scale))}.brand small{font-size:calc(11px * var(--font-scale))}.top-actions{gap:6px}.top-actions .icon-btn{min-width:44px;padding:7px 10px}.top-actions .icon-btn span{display:none}.top-actions .start-btn{padding:8px 12px}.scoreboard{display:none}.clean-promise{font-size:12px;gap:7px}.table-wrap{min-height:800px;padding:9px}.table-wrap:before{inset:8px;border-radius:25px}.table-decoration{top:41%;width:75vw;height:30vw;min-height:145px}.table-decoration span{font-size:92px}.ai{top:62px;width:142px;padding:10px 7px;border-radius:17px}.left-player{left:8px}.right-player{right:8px}.avatar{font-size:35px}.player-name{font-size:calc(16px * var(--font-scale))}.role{min-height:25px;margin-top:5px;padding:2px 8px;font-size:calc(12px * var(--font-scale))}.count{margin-top:4px;font-size:calc(14px * var(--font-scale))}.bid-tag{min-height:18px;font-size:12px}.card-backs{min-height:43px;margin-top:4px}.card-back{width:27px;height:41px;margin-left:-17px}.center-area{width:100%;padding:4px 145px 0}.round-meta span{padding:3px 7px;font-size:11px}.bottom-zone{margin-top:4px}.bottom-label{font-size:11px}.bottom-cards{min-height:43px;margin-top:2px}.bottom-back{width:28px;height:42px}.mini-card{min-width:39px;height:52px;font-size:15px}.status{min-width:210px;min-height:40px;padding:6px 11px;font-size:calc(17px * var(--font-scale))}.center-play{min-height:132px;margin-top:4px}.center-tip{font-size:calc(14px * var(--font-scale))}.play-owner{font-size:calc(15px * var(--font-scale))}.me-player{bottom:7px;width:calc(100% - 14px);min-height:350px;padding:8px 6px 10px;border-radius:17px}.me-meta{min-height:35px;gap:5px}.me-meta .avatar{font-size:27px}.me-meta .player-name{font-size:19px}.me-meta .count{font-size:14px}.hand{min-height:156px;justify-content:flex-start;padding:30px 20px 8px}.card{flex-basis:66px;height:104px;margin-left:-25px;padding:7px}.card strong{font-size:26px}.card span{font-size:23px}.controls{gap:7px}.control-btn{min-width:96px;min-height:50px;padding:8px 12px;font-size:calc(17px * var(--font-scale))}.bid-controls .control-btn{min-width:77px}.hint-message{font-size:12px}.site-footer{font-size:11px;gap:8px}.feature-list,.help-sections{grid-template-columns:1fr}.modal{padding:9px}.modal-card{max-height:calc(100vh - 18px);padding:20px;border-radius:20px}.modal h1{font-size:38px}.welcome-mark{font-size:50px}.setting-row,.setting-select{align-items:flex-start}.setting-select{flex-direction:column}.setting-select select{width:100%}.official-info a{align-items:flex-start;flex-direction:column;border-radius:14px}.official-info a span{font-size:13px}
}

@media(max-width:560px){
  .topbar{grid-template-columns:1fr}.top-actions{justify-content:stretch;display:grid;grid-template-columns:repeat(4,1fr)}.top-actions .icon-btn,.top-actions .start-btn{width:100%;min-width:0;min-height:43px;font-size:14px}.brand{justify-content:center}.clean-promise span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-wrap{height:calc(100dvh - 160px);min-height:670px}.ai{top:50px;width:130px}.center-area{padding:4px 0}.round-meta{max-width:260px;margin:0 auto}.bottom-zone{margin-top:96px}.center-play{min-height:82px}.me-player{min-height:330px}.hand{min-height:150px;padding-top:23px}.card{flex-basis:64px;height:101px}.control-btn{min-width:88px;min-height:46px;flex:1 1 88px}.hint-btn{flex-basis:128px}.bid-controls .control-btn{min-width:68px;padding-inline:8px}.site-footer{display:none}.modal-card{width:100%}.welcome-copy{font-size:16px}.feature-list{gap:7px;margin-top:12px}.feature-list li{padding:10px 12px}.modal-head{margin-bottom:12px}.result-stats{grid-template-columns:1fr}
}

@media(min-height:681px) and (max-height:900px) and (max-width:1280px) and (orientation:landscape){
  .game-shell{height:100dvh;min-height:0}.topbar{height:74px;min-height:74px;padding:7px 14px;grid-template-columns:1fr auto;gap:10px}.scoreboard{display:none}.top-actions{flex-wrap:nowrap}.clean-promise{height:36px;min-height:36px}.game-main{height:calc(100dvh - 74px);min-height:0}.table-wrap{height:calc(100% - 36px);min-height:0;padding-top:10px}.ai{top:72px}.center-area{padding-top:0}.center-play{min-height:125px}.me-player{bottom:8px;min-height:278px;padding-block:8px}.hand{min-height:140px;padding-top:22px}.card{height:102px;flex-basis:68px}.controls{margin-top:4px}.control-btn{min-height:46px;padding-block:7px}.hint-message{margin-top:5px}.site-footer{display:none}
}

@media(max-height:680px) and (orientation:landscape){
  .game-shell{height:100dvh;min-height:0}.topbar{height:54px;min-height:54px;padding:4px 10px;grid-template-columns:minmax(190px,1fr) auto minmax(275px,1fr);gap:8px}.brand-mark{width:40px;height:40px;flex-basis:40px;border-radius:11px}.brand-mark i{font-size:27px}.brand strong{font-size:19px}.brand small{display:none}.scoreboard{min-width:240px;gap:5px}.scoreboard div{padding:3px 8px}.scoreboard small{font-size:10px}.scoreboard strong{font-size:16px}.top-actions{gap:5px;flex-wrap:nowrap}.top-actions .icon-btn,.top-actions .start-btn{min-height:39px;padding:5px 9px;font-size:14px}.top-actions .icon-btn span{display:none}.clean-promise{display:none}.game-main{height:calc(100dvh - 54px);min-height:0}.table-wrap{height:100%;min-height:0;padding:4px 8px}.table-wrap:before{inset:5px;border-radius:22px}.table-decoration{top:39%;width:39vw;height:23vw;min-height:100px}.table-decoration span{font-size:72px}.ai{top:40px;width:132px;padding:5px 7px}.left-player{left:7px}.right-player{right:7px}.avatar{font-size:28px}.player-name{margin-top:2px;font-size:14px}.role{min-height:22px;margin-top:3px;padding:1px 7px;font-size:11px}.count{margin-top:2px;font-size:12px}.bid-tag{min-height:15px;margin-top:2px;font-size:11px}.card-backs{display:none}.center-area{width:calc(100% - 290px);padding-top:0}.round-meta span{padding:2px 6px;font-size:10px}.bottom-zone{margin-top:2px}.bottom-label{font-size:10px}.bottom-cards{min-height:31px;margin-top:1px}.bottom-back{width:22px;height:31px}.status{min-width:180px;min-height:31px;padding:3px 10px;font-size:14px}.center-play{min-height:57px;margin-top:1px}.center-tip{padding:5px 10px;font-size:12px}.play-owner{margin-bottom:3px;font-size:12px}.mini-card{min-width:31px;height:39px;margin:1px;padding:2px 4px;font-size:12px}.me-player{bottom:3px;width:calc(100% - 18px);min-height:172px;padding:3px 6px 5px;border-radius:15px}.me-meta{min-height:25px}.me-meta .avatar{font-size:21px}.me-meta .player-name{font-size:15px}.me-meta .count{font-size:11px}.hand{min-height:82px;padding:15px 10px 3px}.card{height:72px;flex-basis:50px;margin-left:-18px;padding:4px;border-radius:7px}.card strong{font-size:20px}.card span{margin-top:1px;font-size:17px}.card.joker strong{font-size:12px}.card.selected{transform:translateY(-13px)}.controls{gap:5px;margin-top:1px;flex-wrap:nowrap}.control-btn{min-width:72px;min-height:37px;padding:3px 8px;border-radius:10px;font-size:14px}.bid-controls .control-btn{min-width:62px}.hint-message{min-height:15px;margin-top:2px;font-size:10px}.site-footer{display:none}
}

@media(max-width:900px) and (max-height:680px) and (orientation:landscape){
  .topbar{grid-template-columns:1fr auto}.scoreboard{display:none}.brand{justify-content:flex-start}.top-actions{display:flex;justify-content:flex-end}.center-area{width:calc(100% - 280px)}
}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.top-actions,.controls,.modal,.toast{display:none!important}}

/* ===== qilylean-theme.css */
/* QilyLean｜启力精益 六大业务主旨主题层 */
:root{--qily-navy:#0f4b5a;--qily-teal:#178b94;--qily-mint:#dff3ef;--qily-sand:#f4dfaa;--qily-ink:#173b38}
.table-wrap{background:radial-gradient(circle at 50% 44%,rgba(255,255,255,.08),transparent 34%),linear-gradient(135deg,rgba(15,75,90,.22),transparent 44%),repeating-linear-gradient(35deg,rgba(255,255,255,.012) 0 2px,transparent 2px 8px)}
.table-wrap:after{display:none!important;content:none!important}
.table-decoration span{font-size:0}.table-decoration span:before{content:"Q";font-family:Georgia,"Times New Roman",serif;font-size:142px;font-weight:900;color:rgba(255,227,155,.11)}
.card-back,.bottom-back{position:relative;overflow:hidden;background:linear-gradient(45deg,transparent 42%,rgba(255,255,255,.14) 42% 48%,transparent 48% 52%,rgba(255,255,255,.14) 52% 58%,transparent 58%),linear-gradient(145deg,var(--qily-navy),var(--qily-teal));border-color:#f7eed4}
.card-back:after,.bottom-back:after{content:"Q";position:absolute;inset:6px;display:grid;place-items:center;border:1px solid rgba(244,223,170,.64);border-radius:5px;color:#fff3c9;font-family:Georgia,"Times New Roman",serif;font-size:18px;font-weight:900}
.brand-mark{background:linear-gradient(160deg,#fff,#eef9f7);border-color:var(--qily-sand)}
.brand small:after{content:" · QilyLean 智力强化主题"}
.qily-business-strip{position:absolute;z-index:3;left:50%;top:18px;transform:translateX(-50%);width:min(860px,calc(100% - 520px));display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;pointer-events:none}
.qily-business-strip span{min-width:0;padding:6px 7px;border:1px solid rgba(255,255,255,.15);border-radius:10px;color:#ecfaf6;background:linear-gradient(145deg,rgba(15,75,90,.68),rgba(23,139,148,.42));font-size:12px;font-weight:850;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qily-card{position:absolute;inset:0;display:block;overflow:hidden;border-radius:inherit;color:#123d43;background:radial-gradient(circle at 68% 26%,rgba(23,139,148,.13),transparent 33%),linear-gradient(155deg,#fff,#eef8f6)}
.qily-card:after{content:"QilyLean";position:absolute;right:-20px;bottom:18px;transform:rotate(-90deg);color:rgba(15,75,90,.14);font-size:10px;font-weight:900;letter-spacing:.08em;pointer-events:none}
.qily-card-corner{position:absolute;left:5px;top:5px;z-index:4;display:flex;flex-direction:column;line-height:1;color:#073c47;text-align:left}.qily-card-corner b{font-size:18px;font-weight:1000}.qily-card-corner i{margin-top:2px;color:#178b94;font-size:12px;font-style:normal;font-weight:900}.qily-rule-red .qily-card-corner{color:#c83d35}.qily-rule-red .qily-card-corner i{color:#c83d35}
.qily-card-theme{position:absolute;inset:25px 5px 17px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.12}.qily-card-theme small{color:#688c8c;font-size:6.5px;font-weight:900;letter-spacing:.04em;max-width:100%;overflow:hidden;text-overflow:ellipsis}.qily-card-theme>strong{margin-top:3px;color:#0f4b5a;font-size:15px;line-height:1;font-weight:1000}.qily-card-theme>b{margin-top:4px;color:#173b38;font-size:9px;white-space:nowrap}.qily-card-theme>em{margin-top:5px;color:#87712f;font-size:6.5px;font-style:normal;max-width:100%}
.qily-card--joker{background:radial-gradient(circle at 50% 32%,rgba(255,227,155,.43),transparent 36%),linear-gradient(145deg,#073c47,#0f6570);color:#fff}.qily-card--joker:after{color:rgba(255,227,155,.2)}.qily-card--joker .qily-card-corner{color:#ffe39b}.qily-card--joker .qily-card-corner i{color:#dff3ef;font-size:6px;letter-spacing:.06em}.qily-joker-visual{position:absolute;left:50%;top:47%;width:72%;height:58%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center}.qily-joker-visual img{display:block;max-width:100%;max-height:100%;object-fit:contain;border-radius:9px}.big-joker .qily-joker-visual img{border:2px solid rgba(255,227,155,.8);box-shadow:0 7px 18px rgba(0,0,0,.28),0 0 0 3px rgba(255,255,255,.1)}.small-joker .qily-joker-visual{width:84%}.small-joker .qily-joker-visual img{border-radius:0;filter:drop-shadow(0 5px 7px rgba(0,0,0,.34))}.qily-card-main{position:absolute;left:3px;right:3px;bottom:5px;text-align:center;line-height:1.05}.qily-card-main strong{display:block;color:#ffe39b;font-size:9px;font-weight:1000}.qily-card-main em{display:block;margin-top:2px;color:#dff3ef;font-size:5.5px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qily-mini-business{display:inline-flex!important;flex-direction:column;align-items:center;justify-content:center;line-height:1.05}.qily-mini-business b{font-size:16px}.qily-mini-business small{font-size:8px;color:#0f6570;font-weight:900}.qily-mini-joker{display:inline-flex!important;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:3px!important}.qily-mini-joker img{width:38px;height:32px;object-fit:contain;border-radius:3px}.qily-mini-joker b{font-size:10px;line-height:1;margin-top:2px}
.bottom-zone{margin-top:8px}.bottom-cards{min-height:82px;gap:8px}.bottom-cards .mini-card,.bottom-cards .bottom-back{min-width:58px!important;width:58px!important;height:82px!important;margin:0!important;border-radius:10px!important}.bottom-cards .bottom-back:after{font-size:28px;inset:7px}.bottom-cards .qily-mini-business b{font-size:18px}.bottom-cards .qily-mini-business small{font-size:9px}.bottom-cards .qily-mini-joker img{width:42px;height:36px}.bottom-cards .qily-mini-joker b{font-size:10px}
@media(max-width:1050px){.qily-business-strip{width:calc(100% - 40px);top:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.bottom-cards .mini-card,.bottom-cards .bottom-back{min-width:52px!important;width:52px!important;height:74px!important}}
@media(max-width:680px){.qily-business-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.qily-business-strip span{font-size:11px;padding:5px 4px}.qily-card-theme>strong{font-size:13px}.qily-card-theme>b{font-size:8px}.qily-card-theme>em{display:none}.bottom-cards .mini-card,.bottom-cards .bottom-back{min-width:48px!important;width:48px!important;height:68px!important}}

/* ===== visual-v120.css */
/* Pure DDZ v1.2 visual-first layer */
html:not(.ddz-ready) .game-shell{visibility:hidden!important}
html:not(.ddz-ready) #boot-status{display:block!important}
.me-player{min-height:382px}.hand{min-height:220px;padding:36px 18px 10px;display:flex;align-items:flex-end;justify-content:center;overflow-x:hidden!important;overflow-y:visible}.card{flex:0 0 112px;width:112px;height:168px;margin-left:-14px;padding:10px;border-radius:16px;border-width:3px;box-shadow:0 10px 22px rgba(0,0,0,.38)}.card:first-child{margin-left:0}.card:hover,.card:focus-visible{z-index:30;transform:translateY(-12px) scale(1.015)}.card.selected{z-index:31;transform:translateY(-34px) scale(1.025);box-shadow:0 0 0 5px rgba(255,211,78,.34),0 14px 26px rgba(0,0,0,.42)}
.brand strong{font-size:22px!important;line-height:1.12}.brand small{font-size:15px!important;line-height:1.35;color:#ffe39b!important}.welcome-card h1{font-size:30px!important;line-height:1.16}.apk-hold{cursor:default;opacity:.9}
.scoreboard div{min-width:98px;padding:10px 14px!important}.scoreboard small{font-size:16px!important;line-height:1.2;color:#f6fff9!important;font-weight:900!important}.scoreboard strong{font-size:27px!important;line-height:1.08;color:#ffe39b!important}.top-actions button,.top-actions .apk-inline{font-size:17px!important}.clean-promise{font-size:16px!important;line-height:1.35}.clean-promise strong{font-size:17px!important}.clean-promise span{font-size:16px!important;color:#f1fff9!important}.round-meta span{font-size:16px!important}.bottom-label{font-size:16px!important}.status{font-size:28px!important}.center-tip{font-size:16px!important}.player-name{font-size:25px!important}.role,.count,.bid-tag{font-size:17px!important}.me-meta .player-name{font-size:26px!important}.me-meta .role,.me-meta .count{font-size:17px!important}.control-btn{font-size:20px!important}.hint-message{font-size:16px!important;line-height:1.55!important}.site-footer{font-size:15px!important}
.qily-card:after{display:none!important}.qily-card-corner{left:8px;top:8px;align-items:flex-start}.qily-card-corner b{font-size:31px;line-height:.92;font-weight:1000}.qily-card-corner i{margin-top:5px;font-size:20px;line-height:1;font-weight:1000}.qily-card-theme{inset:45px 8px 23px;justify-content:center;line-height:1.08}.qily-card-theme small{font-size:10px;letter-spacing:.035em;color:#4f7072;font-weight:900}.qily-card-theme>strong{margin-top:7px;font-size:25px;line-height:1;font-weight:1000;white-space:nowrap;letter-spacing:-.03em}.qily-card-theme>b{margin-top:7px;font-size:15px;line-height:1.06;white-space:nowrap;letter-spacing:-.04em}.qily-card-theme>em{margin-top:7px;font-size:10px;line-height:1.12;color:#7b6525}.qily-joker-visual{top:46%;width:80%;height:59%}.small-joker .qily-joker-visual{width:91%}.qily-card-main{bottom:24px}.qily-card-main strong{font-size:15px;white-space:nowrap}.qily-card-main em{font-size:9px}
.mini-card{min-width:70px;height:92px;margin:4px;padding:6px 9px;border-radius:10px}.bottom-cards{min-height:92px}.qily-mini-business b{font-size:18px}.qily-mini-business small{margin-top:4px;font-size:10px}.qily-mini-joker img{width:44px;height:36px}.qily-mini-joker b{font-size:11px}
.v120-play-stage{position:absolute;z-index:12;top:205px;width:min(640px,calc(100% - 620px));min-height:196px;display:none;align-items:center;justify-content:center;flex-direction:column;padding:12px 18px;border:2px solid rgba(255,227,155,.62);border-radius:24px;background:radial-gradient(circle at 50% 35%,rgba(35,160,108,.28),transparent 62%),rgba(2,37,39,.9);box-shadow:0 18px 46px rgba(0,0,0,.34),inset 0 0 0 2px rgba(255,255,255,.05);pointer-events:none;backdrop-filter:blur(4px)}.v120-play-stage.left{left:350px;transform:none}.v120-play-stage.me{left:50%;transform:translateX(-50%)}.v120-play-stage.right{right:350px;left:auto;transform:none}.v120-play-stage.show{display:flex;animation:v120-stage-pop .34s cubic-bezier(.2,.9,.25,1.15)}.v120-play-stage.left.show{animation:v120-stage-pop-left .34s cubic-bezier(.2,.9,.25,1.15)}.v120-play-stage.right.show{animation:v120-stage-pop-right .34s cubic-bezier(.2,.9,.25,1.15)}.v120-play-stage.is-bomb{box-shadow:0 0 0 5px rgba(255,205,74,.28),0 18px 54px rgba(0,0,0,.42)}.v120-play-owner{font-size:22px;font-weight:1000;color:#ffe39b;margin-bottom:8px;text-shadow:0 2px 4px rgba(0,0,0,.35)}.v120-play-cards{display:flex;align-items:flex-end;justify-content:center;max-width:100%;padding:3px 16px}.v120-play-card{position:relative;flex:0 0 88px;width:88px;height:132px;margin-left:-12px;border:3px solid #f1ead8;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 9px 18px rgba(0,0,0,.4);transform-origin:50% 100%}.v120-play-card:first-child{margin-left:0}.v120-play-card .qily-card-corner{left:6px;top:6px}.v120-play-card .qily-card-corner b{font-size:25px}.v120-play-card .qily-card-corner i{font-size:16px;margin-top:3px}.v120-play-card .qily-card-theme{inset:35px 5px 20px}.v120-play-card .qily-card-theme small{font-size:8px}.v120-play-card .qily-card-theme>strong{font-size:19px;margin-top:4px;white-space:nowrap}.v120-play-card .qily-card-theme>b{font-size:11px;margin-top:5px;white-space:nowrap}.v120-play-card .qily-card-theme>em{font-size:8px;margin-top:4px}.v120-play-card .qily-card-main{bottom:21px}.v120-play-card .qily-card-main strong{font-size:12px}.v120-play-card .qily-card-main em{font-size:7px}.v120-play-card .qily-joker-visual{height:55%}
.v120-pass-flash{position:absolute;z-index:18;display:none;min-width:128px;padding:12px 18px;border:3px solid #ffe39b;border-radius:999px;background:rgba(3,47,48,.96);color:#fff;font-size:22px;font-weight:1000;text-align:center;box-shadow:0 12px 30px rgba(0,0,0,.35);pointer-events:none}.v120-pass-flash.show{display:block;animation:v120-pass .9s ease-out forwards}.v120-pass-flash.left{left:255px;top:250px}.v120-pass-flash.right{right:255px;top:250px}.v120-pass-flash.me{left:50%;bottom:330px;transform:translateX(-50%)}
.qily-hint-btn{border:2px solid rgba(255,227,155,.55)!important;background:linear-gradient(145deg,#fff7db,#f5dc95)!important;color:#4e3000!important;font-weight:1000!important}.qily-hint-btn:disabled{opacity:.48!important;filter:grayscale(.15)}
.v120-reset-stats{min-height:38px;padding:7px 14px;border:1px solid rgba(255,227,155,.7);border-radius:999px;background:rgba(255,255,255,.1);color:#ffe39b;font-size:15px;font-weight:1000}.v120-reset-stats:hover{background:rgba(255,227,155,.18)}
.v120-orientation-notice{position:fixed;z-index:120;inset:0;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(1,29,34,.94);color:#fff;text-align:center;backdrop-filter:blur(8px)}.v120-orientation-notice.show{display:flex}.v120-orientation-card{max-width:460px;padding:28px;border:2px solid #ffe39b;border-radius:24px;background:#073c47;box-shadow:0 25px 70px rgba(0,0,0,.5)}.v120-orientation-card b{display:block;font-size:28px;color:#ffe39b}.v120-orientation-card p{font-size:17px;line-height:1.7;color:#e0f2ed}.v120-orientation-card button{min-height:52px;padding:10px 22px;border:0;border-radius:14px;background:#ffe39b;color:#4e3000;font-weight:1000;font-size:18px}
.v120-scroll-cue{position:fixed;z-index:110;right:8px;top:50%;transform:translateY(-50%);display:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:34px;padding:9px 3px;border:1px solid rgba(255,227,155,.72);border-radius:999px;background:rgba(3,47,48,.88);color:#ffe39b;box-shadow:0 8px 22px rgba(0,0,0,.32);pointer-events:none}.v120-scroll-cue.show{display:flex;animation:v120-scroll-pulse 1.65s ease-in-out infinite}.v120-scroll-cue span{font-size:18px;font-weight:1000;line-height:1}.v120-scroll-cue b{font-size:11px;line-height:1.15;writing-mode:vertical-rl;letter-spacing:.05em}
@keyframes v120-stage-pop{0%{opacity:0;transform:translateX(-50%) scale(.72)}70%{opacity:1;transform:translateX(-50%) scale(1.04)}100%{transform:translateX(-50%) scale(1)}}@keyframes v120-stage-pop-left{0%{opacity:0;transform:translateX(-28px) scale(.72)}70%{opacity:1;transform:translateX(8px) scale(1.04)}100%{transform:none}}@keyframes v120-stage-pop-right{0%{opacity:0;transform:translateX(28px) scale(.72)}70%{opacity:1;transform:translateX(-8px) scale(1.04)}100%{transform:none}}@keyframes v120-pass{0%{opacity:0;scale:.65}20%{opacity:1;scale:1.08}65%{opacity:1}100%{opacity:0;scale:1}}@keyframes v120-scroll-pulse{0%,100%{opacity:.72;transform:translateY(-50%) scale(.96)}50%{opacity:1;transform:translateY(-50%) scale(1.04)}}
@media(max-width:1380px){.card{flex-basis:94px;width:94px;height:148px;margin-left:-10px}.qily-card-corner b{font-size:27px}.qily-card-corner i{font-size:17px}.qily-card-theme{inset:40px 6px 20px}.qily-card-theme small{font-size:9px}.qily-card-theme>strong{font-size:21px}.qily-card-theme>b{font-size:12px}.qily-card-theme>em{font-size:8.5px}.v120-play-stage.left{left:250px}.v120-play-stage.right{right:250px}}
@media(max-width:1180px){.me-player{min-height:350px}.hand{min-height:190px;padding:31px 10px 8px}.card{flex-basis:78px;width:78px;height:126px;margin-left:-7px;padding:6px;border-radius:11px}.qily-card-corner b{font-size:22px}.qily-card-corner i{font-size:14px}.qily-card-theme{inset:33px 4px 18px}.qily-card-theme small{font-size:8px}.qily-card-theme>strong{font-size:17px}.qily-card-theme>b{font-size:10px}.qily-card-theme>em{font-size:8px}.v120-play-stage{width:calc(100% - 430px);top:190px}.v120-play-stage.left{left:195px}.v120-play-stage.right{right:195px}.v120-pass-flash.left{left:190px}.v120-pass-flash.right{right:190px}.brand strong{font-size:20px!important}.brand small{font-size:14px!important}.scoreboard small{font-size:15px!important}.scoreboard strong{font-size:25px!important}.top-actions button,.top-actions .apk-inline{font-size:16px!important}.clean-promise,.clean-promise span{font-size:15px!important}}
@media(max-width:900px){.me-player{width:calc(100% - 24px);min-height:300px}.hand{min-height:154px;padding:23px 4px 6px}.card{flex-basis:60px;width:60px;height:102px;margin-left:-3px;padding:4px;border-width:2px;border-radius:8px}.qily-card-corner{left:4px;top:4px}.qily-card-corner b{font-size:18px}.qily-card-corner i{font-size:11px;margin-top:1px}.qily-card-theme{inset:27px 2px 14px}.qily-card-theme small{font-size:7px;display:block}.qily-card-theme>strong{font-size:13px;margin-top:2px}.qily-card-theme>b{font-size:8px;margin-top:3px}.qily-card-theme>em{font-size:7px;display:block}.v120-play-stage{top:112px;width:calc(100% - 300px);min-height:140px}.v120-play-stage.left{left:125px}.v120-play-stage.right{right:125px}.v120-play-owner{font-size:16px}.brand strong{font-size:18px!important}.brand small{font-size:13px!important}.scoreboard small{font-size:14px!important}.scoreboard strong{font-size:22px!important}.player-name{font-size:21px!important}.role,.count,.bid-tag{font-size:15px!important}.control-btn{font-size:18px!important}}
@media(max-width:680px){.hand{justify-content:flex-start;overflow-x:auto!important;scroll-snap-type:x proximity}.card{flex-basis:58px;width:58px;height:98px;margin-left:0;scroll-snap-align:start}.me-player{min-height:292px}.controls{gap:7px}.control-btn{min-width:102px}.v120-scroll-cue{right:4px}.v120-play-stage{width:calc(100% - 160px)}.v120-play-stage.left{left:72px}.v120-play-stage.right{right:72px}}
@media(max-height:680px) and (orientation:landscape){.qily-product-overview{display:none!important}.me-player{min-height:214px;width:calc(100% - 16px)}.hand{min-height:118px;padding:12px 3px 4px;justify-content:flex-start;overflow-x:auto!important}.card{flex-basis:56px;width:56px;height:94px;margin-left:0;padding:3px;border-radius:7px}.card.selected{transform:translateY(-14px) scale(1.01)}.qily-card-corner b{font-size:17px}.qily-card-corner i{font-size:10px}.qily-card-theme{inset:25px 2px 13px}.qily-card-theme small{font-size:7px!important;display:block!important}.qily-card-theme>em{font-size:7px!important;display:block!important}.qily-card-theme>strong{font-size:12px}.qily-card-theme>b{font-size:8px;line-height:1}.v120-play-stage{top:50px;width:calc(100% - 300px);min-height:112px;padding:5px 8px}.v120-play-stage.left{left:135px}.v120-play-stage.right{right:135px}.v120-play-owner{font-size:14px}.v120-play-card{flex-basis:50px;width:50px;height:76px;margin-left:-7px;border-width:2px}.v120-pass-flash.left{left:135px;top:88px}.v120-pass-flash.right{right:135px;top:88px}.v120-pass-flash.me{bottom:190px}.scoreboard small{font-size:14px!important}.scoreboard strong{font-size:21px!important}.top-actions button,.top-actions .apk-inline{font-size:15px!important}.clean-promise,.clean-promise span{font-size:14px!important}}

/* ===== card-comfort-v122.css */
/* Pure DDZ v1.2.5｜横屏长辈友好牌面视觉层
 * 2026-09-02 V152：本文件只保留斗地主牌面/牌桌历史舒适度规则；官网 Header 与六功能悬浮 Dock 完全由全站权威资源负责。
 */
.qily-card-theme small{font-size:7.5px;letter-spacing:.03em}
.qily-card-theme>strong{margin-top:6px;font-size:19px;line-height:1.04}
.qily-card-theme>b{margin-top:6px;font-size:11.5px;line-height:1.1}
.qily-card-theme>em{margin-top:6px;font-size:7.5px;line-height:1.16}
.qily-joker-visual{top:35%;width:78%;height:58%}
.small-joker .qily-joker-visual,.big-joker .qily-joker-visual{width:78%}
.qily-card-main strong{font-size:11px}.qily-card-main em{font-size:7px}
.qily-mini-business b{font-size:13px}.qily-mini-business small{font-size:7px}
.qily-mini-joker img{width:40px;height:34px}.qily-mini-joker b{font-size:9px}
.bottom-cards .qily-mini-business b{font-size:13px}.bottom-cards .qily-mini-business small{font-size:7px}
.bottom-cards .qily-mini-joker img{width:46px;height:39px}.bottom-cards .qily-mini-joker b{font-size:10px}
.v120-play-card .qily-card-theme small{font-size:6.2px}
.v120-play-card .qily-card-theme>strong{font-size:15px}
.v120-play-card .qily-card-theme>b{font-size:8.2px}
.v120-play-card .qily-card-theme>em{font-size:6.2px}
.v120-play-card .qily-joker-visual{width:78%;height:58%;top:35%}

@media(min-width:1181px){
  .game-shell{width:80vw;min-width:1080px;max-width:1600px;margin:0 auto;overflow:visible}
  .topbar{
    min-height:148px;padding:12px 18px 11px;
    grid-template-columns:minmax(320px,1fr) auto minmax(220px,auto);
    grid-template-areas:"brand score translate" "actions actions actions";
    align-items:center;column-gap:18px;row-gap:10px;
  }
  .brand{grid-area:brand;min-width:0;align-self:center}
  .brand-mark{width:58px;height:58px;flex-basis:58px}.brand-mark i{font-size:38px}
  .brand strong{font-size:calc(23px * var(--font-scale));line-height:1.1}.brand small{font-size:calc(14px * var(--font-scale));line-height:1.25}

  .scoreboard{grid-area:score;min-width:390px;display:grid!important;grid-template-columns:repeat(4,minmax(82px,1fr));align-items:stretch;gap:7px}
  .scoreboard div{min-width:0;padding:8px 10px;border-radius:12px}
  .scoreboard small{font-size:calc(13px * var(--font-scale));white-space:nowrap}
  .scoreboard strong{font-size:calc(23px * var(--font-scale));white-space:nowrap}
  #v120-reset-stats{min-width:82px!important;min-height:54px!important;margin:0!important;padding:7px 10px!important;border-radius:12px!important;align-self:stretch!important;font-size:calc(15px * var(--font-scale))!important;white-space:nowrap!important}

  .topbar>#qilyGlobalTranslationDualRouteV2,.topbar>.qily-web-translate{grid-area:translate;justify-self:end;align-self:center;margin:0!important}
  .topbar .qily-web-translate__select{max-width:190px!important;min-height:42px!important;font-size:15px!important}

  .top-actions{
    grid-area:actions;justify-self:center;justify-content:center;align-items:center;
    width:min(900px,100%);gap:10px;flex-wrap:nowrap;
    padding:9px 14px 0;border-top:1px solid rgba(255,227,155,.24);
  }
  #audio-toggle,#help-open,#settings-open{
    min-height:52px;padding:8px 15px;border:2px solid rgba(255,227,155,.62);border-radius:14px;
    color:#fff!important;background:linear-gradient(145deg,rgba(20,95,101,.98),rgba(4,55,65,.98));
    box-shadow:0 5px 14px rgba(0,0,0,.22);font-size:calc(17px * var(--font-scale));opacity:1;white-space:nowrap!important;
  }
  #audio-toggle{min-width:126px}#help-open,#settings-open{min-width:90px}
  #audio-toggle:hover,#help-open:hover,#settings-open:hover{background:linear-gradient(145deg,#167a82,#073c47);box-shadow:0 8px 18px rgba(0,0,0,.28)}
  .apk-inline{min-width:158px;min-height:52px;padding:8px 15px;font-size:calc(15px * var(--font-scale));white-space:nowrap!important}
  .top-actions .start-btn{min-width:112px;min-height:52px;padding-inline:17px;white-space:nowrap!important}

  .qily-product-overview{width:min(980px,calc(100% - 20px))!important;margin:7px auto 9px!important}
  .qily-product-overview summary{padding:12px 16px!important}
  .qily-product-overview summary strong{font-size:17px!important}
  .qily-product-overview summary span{font-size:17px!important;line-height:1.25;color:#fff!important;font-weight:950!important}

  .table-wrap{width:100%;min-height:620px;padding:14px 18px 16px}
  .table-wrap:before{inset:12px;border-radius:38% / 18%}
  .ai{top:112px;width:188px;padding:14px 10px}.left-player{left:16px}.right-player{right:16px}
  .avatar{font-size:calc(43px * var(--font-scale))}.player-name{font-size:calc(20px * var(--font-scale))}
  .center-area{width:min(720px,calc(100% - 400px));padding-top:2px}
  .round-meta{gap:8px}
  .round-meta span{padding:7px 14px;border:2px solid rgba(255,255,255,.34);color:#fff!important;background:rgba(2,42,45,.78);font-size:calc(18px * var(--font-scale));font-weight:950}
  .round-meta b{color:#fff!important;font-size:1.06em}
  .bottom-label{font-size:calc(17px * var(--font-scale));font-weight:900}.bottom-cards{min-height:138px;gap:7px}
  .bottom-cards .mini-card{min-width:98px;width:98px;height:128px;margin:4px;padding:8px 10px;border-radius:13px;border-width:2px}
  .bottom-cards .qily-mini-business b{font-size:23px}.bottom-cards .qily-mini-business small{font-size:12px}
  .bottom-cards .qily-mini-joker img{width:62px;height:54px}.bottom-cards .qily-mini-joker b{font-size:13px}
  .status{min-height:54px;min-width:300px;font-size:calc(24px * var(--font-scale))}
  .center-play{min-height:150px;margin-top:5px}.center-tip{font-size:calc(17px * var(--font-scale))}

  .me-player{width:calc(100% - 32px);max-width:1040px;min-height:300px;bottom:12px;padding:9px 13px 12px}
  .me-meta{min-height:40px}.me-meta .player-name{font-size:calc(22px * var(--font-scale))}
  .hand{min-height:198px;padding:29px 8px 6px;overflow-x:hidden}
  .card{flex:0 0 132px;height:190px;margin-left:-74px;padding:9px;border-radius:15px;border-width:3px}
  .card:first-child{margin-left:0}.card.selected{transform:translateY(-28px) scale(1.02)}
  .qily-card-corner{left:8px;top:8px}.qily-card-corner b{font-size:38px;line-height:.9}.qily-card-corner i{font-size:25px;margin-top:5px}
  .qily-card-theme{inset:49px 7px 30px}.qily-card-theme small{font-size:9px}.qily-card-theme>strong{font-size:23px}.qily-card-theme>b{font-size:13px}.qily-card-theme>em{font-size:8px}
  .qily-card--joker .qily-joker-visual{top:34%!important;width:82%!important;height:62%!important}
  .qily-card-main{display:none!important}
  .qily-card-site{font-size:8px}
  .qily-card-main strong{font-size:14px}.qily-card-main em{font-size:8px}
  .controls{gap:10px;margin-top:6px}.control-btn{min-width:146px;min-height:56px;font-size:calc(22px * var(--font-scale))}
  .hint-message{min-height:30px;margin-top:7px;color:#fff!important;font-size:calc(18px * var(--font-scale))!important;line-height:1.45;font-weight:900;text-shadow:0 2px 4px rgba(0,0,0,.35)}

  .v120-play-stage{top:188px;width:min(620px,calc(100% - 420px));min-height:222px;padding:12px 16px;border-radius:24px}
  .v120-play-owner{font-size:28px;color:#fff;margin-bottom:10px}
  .v120-play-card{flex-basis:124px;width:124px;height:178px;margin-left:-18px}
  .v120-play-card:first-child{margin-left:0}
  .v120-play-card .qily-card-corner b{font-size:34px}.v120-play-card .qily-card-corner i{font-size:21px}
  .v120-play-card .qily-card-theme{inset:46px 6px 28px}.v120-play-card .qily-card-theme small{font-size:8px}.v120-play-card .qily-card-theme>strong{font-size:20px}.v120-play-card .qily-card-theme>b{font-size:11px}.v120-play-card .qily-card-theme>em{font-size:7px}
  .v120-play-card .qily-card--joker .qily-joker-visual{top:34%!important;width:82%!important;height:62%!important}
  .v120-pass-flash{font-size:23px}
  .site-footer{padding:7px 14px 9px}
}

@media(max-width:1380px){
  .qily-card-theme small{font-size:6.7px}.qily-card-theme>strong{font-size:16px}.qily-card-theme>b{font-size:9px}.qily-card-theme>em{font-size:6.2px}
  .qily-joker-visual{width:74%;height:56%}.small-joker .qily-joker-visual,.big-joker .qily-joker-visual{width:74%}
}
@media(max-width:1180px){
  .qily-card-theme small{font-size:5.9px}.qily-card-theme>strong{font-size:13px}.qily-card-theme>b{font-size:7px}.qily-card-theme>em{font-size:5.6px}
  .qily-joker-visual{width:72%;height:54%}.small-joker .qily-joker-visual,.big-joker .qily-joker-visual{width:72%}
}
@media(max-width:900px){
  .qily-card-theme{inset:27px 3px 15px}
  .qily-card-theme small{font-size:5.2px}.qily-card-theme>strong{font-size:9.5px}.qily-card-theme>b{font-size:5.8px}.qily-card-theme>em{font-size:5.2px}
  .qily-joker-visual{width:70%;height:52%}.small-joker .qily-joker-visual,.big-joker .qily-joker-visual{width:70%}
  .qily-card-main strong{font-size:8.5px}.qily-card-main em{font-size:5.2px}
  .v120-play-card .qily-card-theme>strong{font-size:12px}.v120-play-card .qily-card-theme>b{font-size:6.8px}
}
@media(max-height:680px) and (orientation:landscape){
  .qily-card-theme small{font-size:5px!important}.qily-card-theme>strong{font-size:8.5px}.qily-card-theme>b{font-size:5.3px}.qily-card-theme>em{display:none}
  .qily-joker-visual{width:68%;height:50%}.small-joker .qily-joker-visual,.big-joker .qily-joker-visual{width:68%}
  .welcome-modal{padding:6px}.welcome-card{width:min(820px,98vw);max-height:calc(100dvh - 12px);padding:9px 18px 10px}.welcome-mark{font-size:32px}.welcome-card .eyebrow{margin-bottom:2px;font-size:11px}.welcome-card h1{font-size:24px!important}.welcome-copy{max-width:790px;margin:4px auto 6px;font-size:12px;line-height:1.45}.feature-list{grid-template-columns:repeat(4,1fr);gap:5px;margin:5px 0 7px}.feature-list li{padding:6px 8px;border-left-width:3px;text-align:center}.feature-list b{font-size:12px}.feature-list span{display:none}.welcome-card .hero-start{min-height:40px;padding-block:5px;font-size:17px}.welcome-card .text-btn{min-height:28px;margin-top:2px;padding-block:3px;font-size:12px}
}

/* ===== ddz-site-page-v140.css */
/* QilyLean Pure DDZ site-integrated layout v1.5.2｜2026-09-02
 * One page, one layout authority.
 * Pure DDZ uses the same governed 1560px content axis / gutter as ordinary QilyLean pages.
 * The global Header / translator / floating Dock remain 100% site-owned and are never restyled here.
 */
:root{
  --ddz-game-max:var(--qily-content-axis,1560px);
  --ddz-site-gutter:var(--qily-content-axis-gutter,clamp(18px,2.2vw,56px));
  --ddz-paper:#eef7f5;
  --ddz-ink:#173c45;
  --ddz-forest:#0f4b5a;
  --ddz-teal:#177f87;
  --ddz-gold:#caa15f;
  --ddz-line:#d5e4e3;
}
html body.ddz-site-page{
  min-height:100%;
  color:var(--ddz-ink)!important;
  background:var(--ddz-paper)!important;
  /* overflow:hidden/auto on body breaks the official sticky Header in Safari/WebKit. clip contains stray pixels without becoming a scroll container. */
  overflow-x:clip!important;
}
html body.ddz-site-page .game-shell.ddz-site-module{
  width:min(var(--ddz-game-max),calc(100% - (var(--ddz-site-gutter) * 2)))!important;
  max-width:var(--ddz-game-max)!important;
  min-width:0!important;
  min-height:0!important;
  margin:12px auto var(--ddz-site-gutter)!important;
  overflow:visible!important;
  color:#fff;
  background:transparent!important;
}

/* 01｜Page title: keep only useful public information; maintenance/explanatory copy is hidden. */
html body.ddz-site-page .ddz-page-heading{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  box-sizing:border-box!important;
  padding:9px 14px!important;
  margin:0 0 8px!important;
  border:1px solid var(--ddz-line)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 7px 20px rgba(15,75,90,.07)!important;
  color:var(--ddz-ink)!important;
}
html body.ddz-site-page .ddz-page-heading .ddz-eyebrow{margin:0 0 1px!important;color:#8e6627!important;font-size:11px!important;font-weight:950!important;letter-spacing:.06em!important}
html body.ddz-site-page .ddz-page-heading h1{margin:0!important;color:var(--ddz-forest)!important;font-size:26px!important;line-height:1.06!important}
html body.ddz-site-page .ddz-page-heading p{margin:3px 0 0!important;color:#5f7474!important;font-size:13px!important;font-weight:750!important;line-height:1.3!important}
html body.ddz-site-page .ddz-page-heading .ddz-page-note{display:none!important}

/* 02 / 03 / 06｜Status toolbar: high-contrast white state text; controls stay pinned to the far right. */
html body.ddz-site-page .ddz-toolbar{
  display:grid!important;
  grid-template-columns:minmax(390px,560px) minmax(0,1fr)!important;
  grid-template-areas:none!important;
  align-items:start!important;
  gap:12px!important;
  width:100%!important;
  min-height:56px!important;
  box-sizing:border-box!important;
  padding:6px 8px!important;
  margin:0 0 8px!important;
  border:1px solid rgba(202,161,95,.65)!important;
  border-radius:14px!important;
  background:linear-gradient(100deg,#083f4a,#0f5963)!important;
  box-shadow:0 8px 20px rgba(15,75,90,.11)!important;
}
html body.ddz-site-page .ddz-toolbar .scoreboard{
  grid-area:auto!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(110px,1fr))!important;
  align-self:start!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
}
html body.ddz-site-page .ddz-toolbar .scoreboard div{min-height:42px!important;padding:3px 8px!important;border-radius:9px!important}
html body.ddz-site-page .ddz-toolbar .scoreboard small{font-size:13px!important;line-height:1.08!important}
html body.ddz-site-page .ddz-toolbar .scoreboard strong{font-size:21px!important;line-height:1.02!important}
html body.ddz-site-page .ddz-toolbar .scoreboard :is(small,strong,span){color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important;text-shadow:none!important}
html body.ddz-site-page .ddz-toolbar .top-actions{
  grid-area:auto!important;
  display:flex!important;
  align-items:flex-start!important;
  align-self:start!important;
  justify-self:stretch!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
html body.ddz-site-page .ddz-toolbar :is(#audio-toggle,#help-open,#settings-open,.apk-inline,.start-btn){
  min-width:0!important;
  min-height:40px!important;
  height:40px!important;
  margin:0!important;
  padding:5px 11px!important;
  border-radius:9px!important;
  font-size:15px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
html body.ddz-site-page .ddz-toolbar #audio-toggle{min-width:96px!important}
html body.ddz-site-page .ddz-toolbar #help-open,
html body.ddz-site-page .ddz-toolbar #settings-open{min-width:58px!important}
html body.ddz-site-page .ddz-toolbar .apk-inline{min-width:138px!important;opacity:1!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
html body.ddz-site-page .ddz-toolbar .start-btn{min-width:96px!important}

html body.ddz-site-page .game-main{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0 auto!important;
  overflow:visible!important;
  border-radius:14px!important;
  box-shadow:0 9px 24px rgba(15,75,90,.10)!important;
}
html body.ddz-site-page .clean-promise{
  min-height:28px!important;
  padding:4px 9px!important;
  border-radius:14px 14px 0 0!important;
  font-size:13px!important;
  line-height:1.2!important;
}
html body.ddz-site-page .clean-promise strong,
html body.ddz-site-page .clean-promise span{font-size:13px!important;line-height:1.2!important}

/* 02｜The table uses the same horizontal axis as the page and gains enough vertical room for cards + controls. */
html body.ddz-site-page .table-wrap{
  position:relative!important;
  width:100%!important;
  height:clamp(560px,calc(100vh - 260px),620px)!important;
  min-height:560px!important;
  max-height:620px!important;
  box-sizing:border-box!important;
  margin:0 auto!important;
  padding:10px 12px!important;
  overflow:hidden!important;
  border-radius:0 0 14px 14px!important;
  background:radial-gradient(circle at 50% 37%,rgba(46,161,108,.22),transparent 34%),linear-gradient(145deg,#073f43,#0a6a4f 52%,#073c47)!important;
}
html body.ddz-site-page .table-wrap:before{inset:10px!important;border-radius:42% / 18%!important}
html body.ddz-site-page .ai{
  top:84px!important;
  width:144px!important;
  min-height:188px!important;
  padding:8px 7px!important;
}
html body.ddz-site-page .left-player{left:14px!important}
html body.ddz-site-page .right-player{right:14px!important}
html body.ddz-site-page .avatar{font-size:31px!important}
html body.ddz-site-page .player-name{font-size:20px!important;font-weight:950!important}
html body.ddz-site-page .role,
html body.ddz-site-page .count,
html body.ddz-site-page .bid-tag{font-size:15px!important;font-weight:900!important}
html body.ddz-site-page .card-backs{transform:scale(.86)!important;transform-origin:center bottom!important}

html body.ddz-site-page .center-area{
  width:min(520px,calc(100% - 350px))!important;
  padding-top:0!important;
}
html body.ddz-site-page .round-meta{gap:6px!important}
html body.ddz-site-page .round-meta span{padding:5px 10px!important;font-size:15px!important;border-width:1px!important;font-weight:950!important}
html body.ddz-site-page .round-meta b{font-size:1.05em!important}
html body.ddz-site-page .bottom-zone{margin-top:2px!important}
html body.ddz-site-page .bottom-label{font-size:14px!important;font-weight:900!important}
html body.ddz-site-page .bottom-cards{min-height:68px!important;gap:4px!important}
html body.ddz-site-page .bottom-cards>.mini-card{
  flex:0 0 54px!important;
  min-width:54px!important;
  width:54px!important;
  max-width:54px!important;
  height:74px!important;
  min-height:74px!important;
  max-height:74px!important;
  margin:1px!important;
  padding:3px 4px!important;
  border-radius:8px!important;
  border-width:1.5px!important;
}
html body.ddz-site-page .bottom-cards>.qily-mini-business b{font-size:17px!important;line-height:1!important}
html body.ddz-site-page .bottom-cards>.qily-mini-business small{font-size:7px!important;line-height:1.05!important;color:#456b6d!important;-webkit-text-fill-color:#456b6d!important}
html body.ddz-site-page .status{min-width:240px!important;min-height:36px!important;padding:5px 14px!important;font-size:18px!important;font-weight:950!important}
html body.ddz-site-page .center-tip{font-size:16px!important;font-weight:850!important}

html body.ddz-site-page .v120-play-stage{
  top:116px!important;
  width:min(500px,calc(100% - 360px))!important;
  min-height:122px!important;
  max-height:154px!important;
  padding:7px 10px!important;
  border-radius:14px!important;
}
html body.ddz-site-page .v120-play-stage.left{left:160px!important;right:auto!important;transform:none!important}
html body.ddz-site-page .v120-play-stage.right{right:160px!important;left:auto!important;transform:none!important}
html body.ddz-site-page .v120-play-stage.me{left:50%!important;right:auto!important;transform:translateX(-50%)!important}
html body.ddz-site-page .v120-play-owner{font-size:18px!important;margin-bottom:5px!important;font-weight:950!important}
html body.ddz-site-page .v120-play-card{
  flex:0 0 60px!important;
  width:60px!important;
  height:88px!important;
  margin-left:-5px!important;
  border-width:1.5px!important;
}
html body.ddz-site-page .v120-play-card:first-child{margin-left:0!important}
html body.ddz-site-page .v120-pass-flash{font-size:18px!important;font-weight:950!important}
html body.ddz-site-page .v120-pass-flash.me{bottom:242px!important}

/* 04｜Hand: rank/suit remains first-reading; the QilyLean engineering theme is deliberately visible on every card. */
html body.ddz-site-page #me-panel.me-player{
  position:absolute!important;
  left:10px!important;
  right:10px!important;
  bottom:9px!important;
  transform:none!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  min-height:232px!important;
  height:232px!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:5px 8px 7px!important;
  overflow:visible!important;
}
html body.ddz-site-page .me-meta{min-height:28px!important;height:28px!important;gap:7px!important}
html body.ddz-site-page .me-meta .avatar{font-size:21px!important}
html body.ddz-site-page .me-meta .player-name{font-size:19px!important}
html body.ddz-site-page #hand.hand{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:safe center!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:150px!important;
  height:150px!important;
  box-sizing:border-box!important;
  margin:0 auto!important;
  padding:7px 10px 2px!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  overscroll-behavior-inline:contain!important;
  scrollbar-gutter:stable both-edges!important;
}
html body.ddz-site-page #hand.hand .card{
  position:relative!important;
  flex:0 0 92px!important;
  width:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  height:136px!important;
  min-height:136px!important;
  max-height:136px!important;
  margin-left:-24px!important;
  padding:5px!important;
  border-radius:10px!important;
  border-width:1.5px!important;
  overflow:hidden!important;
}
html body.ddz-site-page #hand.hand .card:first-child{margin-left:0!important}
html body.ddz-site-page #hand.hand:has(.card:nth-child(19)) .card{
  flex-basis:90px!important;
  width:90px!important;
  min-width:90px!important;
  max-width:90px!important;
  height:134px!important;
  min-height:134px!important;
  max-height:134px!important;
  margin-left:-29px!important;
}
html body.ddz-site-page #hand.hand .qily-card-corner{
  position:absolute!important;
  left:6px!important;
  top:6px!important;
  z-index:6!important;
  opacity:1!important;
  visibility:visible!important;
}
html body.ddz-site-page #hand.hand .qily-card--normal .qily-rank-suit-line b{
  display:block!important;
  font-size:24px!important;
  font-weight:1000!important;
  line-height:.95!important;
  letter-spacing:-.06em!important;
  color:#172126!important;
  -webkit-text-fill-color:#172126!important;
  text-shadow:none!important;
}
html body.ddz-site-page #hand.hand .qily-card--normal.qily-rule-red .qily-rank-suit-line b{color:#c62828!important;-webkit-text-fill-color:#c62828!important}
html body.ddz-site-page #hand.hand .qily-card-theme{
  position:absolute!important;
  inset:38px 6px 9px!important;
  z-index:2!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  opacity:1!important;
  text-shadow:none!important;
}
html body.ddz-site-page #hand.hand .qily-card-theme>small{font-size:6.5px!important;line-height:1!important;font-weight:850!important;color:#5c7475!important;-webkit-text-fill-color:#5c7475!important;opacity:1!important}
html body.ddz-site-page #hand.hand .qily-card-theme>strong{font-size:15px!important;line-height:1!important;font-weight:1000!important;color:#0f4b5a!important;-webkit-text-fill-color:#0f4b5a!important}
html body.ddz-site-page #hand.hand .qily-card-theme>b{font-size:9px!important;line-height:1.05!important;font-weight:950!important;color:#173c45!important;-webkit-text-fill-color:#173c45!important}
html body.ddz-site-page #hand.hand .qily-card-theme>em{font-size:7px!important;line-height:1.05!important;font-style:normal!important;font-weight:800!important;color:#657b79!important;-webkit-text-fill-color:#657b79!important}
html body.ddz-site-page #hand.hand .qily-card--joker .qily-card-corner b{font-size:15px!important;letter-spacing:0!important}
html body.ddz-site-page #hand.hand .qily-card--joker .qily-card-corner i{font-size:8px!important;color:#476b6d!important;-webkit-text-fill-color:#476b6d!important}
html body.ddz-site-page #hand.hand .qily-card--joker .qily-joker-visual{top:28%!important;width:88%!important;height:68%!important}

/* Played cards keep the same visual identity as the hand. */
html body.ddz-site-page .v120-play-card .qily-card-corner{left:4px!important;top:4px!important;z-index:6!important}
html body.ddz-site-page .v120-play-card .qily-card--normal .qily-rank-suit-line b{font-size:19px!important;font-weight:1000!important;line-height:.95!important;color:#172126!important;-webkit-text-fill-color:#172126!important}
html body.ddz-site-page .v120-play-card .qily-card--normal.qily-rule-red .qily-rank-suit-line b{color:#c62828!important;-webkit-text-fill-color:#c62828!important}
html body.ddz-site-page .v120-play-card .qily-card-theme{inset:30px 4px 9px!important;opacity:1!important;text-shadow:none!important}
html body.ddz-site-page .v120-play-card .qily-card-theme>small{font-size:5px!important;color:#5c7475!important;-webkit-text-fill-color:#5c7475!important}
html body.ddz-site-page .v120-play-card .qily-card-theme>strong{font-size:11px!important;color:#0f4b5a!important;-webkit-text-fill-color:#0f4b5a!important}
html body.ddz-site-page .v120-play-card .qily-card-theme>b{font-size:7px!important;color:#173c45!important;-webkit-text-fill-color:#173c45!important}
html body.ddz-site-page .v120-play-card .qily-card-theme>em{font-size:5px!important;color:#657b79!important;-webkit-text-fill-color:#657b79!important}

html body.ddz-site-page .controls{gap:7px!important;margin-top:2px!important;min-height:42px!important}
html body.ddz-site-page .control-btn{
  min-width:112px!important;
  min-height:42px!important;
  height:42px!important;
  padding:5px 14px!important;
  border-radius:9px!important;
  font-size:17px!important;
  font-weight:950!important;
}

/* 01 / 05｜No maintenance/instruction strip below the controls. JS may update this node internally, but it is not a visual module. */
html body.ddz-site-page #hint-message.hint-message{display:none!important}
html body.ddz-site-page .v120-scroll-cue{display:none!important}
html body.ddz-site-page .qily-product-overview{display:none!important}
html body.ddz-site-page .site-footer{display:none!important}
html body.ddz-site-page .modal{z-index:2147482800!important}

/* The ordinary QilyLean floating navigation is the sole owner of its own appearance and behavior. */

@media(max-width:1280px){
  html body.ddz-site-page .game-shell.ddz-site-module{width:calc(100% - 28px)!important;margin-top:10px!important}
  html body.ddz-site-page .ddz-toolbar{grid-template-columns:minmax(330px,520px) minmax(0,1fr)!important}
  html body.ddz-site-page #hand.hand .card{margin-left:-30px!important}
  html body.ddz-site-page #hand.hand:has(.card:nth-child(19)) .card{margin-left:-34px!important}
}
@media(max-width:1040px){
  html body.ddz-site-page .ddz-toolbar{grid-template-columns:1fr!important;gap:6px!important}
  html body.ddz-site-page .ddz-toolbar .top-actions{justify-content:flex-end!important}
  html body.ddz-site-page .table-wrap{height:580px!important;min-height:570px!important;max-height:600px!important}
}
@media(max-width:900px){
  html body.ddz-site-page .ddz-page-heading{padding:8px 11px!important}
  html body.ddz-site-page .ddz-toolbar .top-actions{flex-wrap:wrap!important}
  html body.ddz-site-page .ddz-toolbar .scoreboard small{font-size:12px!important}
  html body.ddz-site-page .ddz-toolbar .scoreboard strong{font-size:19px!important}
  html body.ddz-site-page .table-wrap{height:590px!important;min-height:580px!important;padding:8px!important}
  html body.ddz-site-page .ai{top:72px!important;width:112px!important;min-height:164px!important}
  html body.ddz-site-page .left-player{left:7px!important}
  html body.ddz-site-page .right-player{right:7px!important}
  html body.ddz-site-page .player-name{font-size:18px!important}
  html body.ddz-site-page .role,
  html body.ddz-site-page .count,
  html body.ddz-site-page .bid-tag{font-size:14px!important}
  html body.ddz-site-page .center-area{width:calc(100% - 246px)!important}
  html body.ddz-site-page .round-meta span{font-size:13.5px!important}
  html body.ddz-site-page .bottom-label{font-size:13px!important}
  html body.ddz-site-page .status{font-size:17px!important}
  html body.ddz-site-page .v120-play-stage{top:104px!important;width:calc(100% - 250px)!important}
  html body.ddz-site-page .v120-play-stage.left{left:112px!important}
  html body.ddz-site-page .v120-play-stage.right{right:112px!important}
  html body.ddz-site-page .v120-play-owner{font-size:17px!important}
  html body.ddz-site-page #me-panel.me-player{left:6px!important;right:6px!important;height:232px!important;min-height:232px!important}
  html body.ddz-site-page #hand.hand{height:150px!important;min-height:150px!important}
  html body.ddz-site-page #hand.hand .card{flex-basis:72px!important;width:72px!important;min-width:72px!important;max-width:72px!important;height:120px!important;min-height:120px!important;max-height:120px!important;margin-left:-22px!important}
  html body.ddz-site-page #hand.hand:has(.card:nth-child(19)) .card{flex-basis:70px!important;width:70px!important;min-width:70px!important;max-width:70px!important;height:118px!important;min-height:118px!important;max-height:118px!important;margin-left:-25px!important}
  html body.ddz-site-page #hand.hand .qily-card--normal .qily-rank-suit-line b{font-size:21px!important}
  html body.ddz-site-page #hand.hand .qily-card-theme{inset:34px 4px 9px!important}
  html body.ddz-site-page #hand.hand .qily-card-theme>small{font-size:5.5px!important}
  html body.ddz-site-page #hand.hand .qily-card-theme>strong{font-size:12px!important}
  html body.ddz-site-page #hand.hand .qily-card-theme>b{font-size:7.5px!important}
  html body.ddz-site-page #hand.hand .qily-card-theme>em{font-size:6px!important}
  html body.ddz-site-page .control-btn{min-width:98px!important;font-size:16px!important}
}
@media(max-width:680px){
  html body.ddz-site-page .game-shell.ddz-site-module{width:100%!important;margin:6px 0 16px!important}
  html body.ddz-site-page .ddz-page-heading{margin:0 7px 7px!important;border-radius:12px!important}
  html body.ddz-site-page .ddz-page-heading h1{font-size:22px!important}
  html body.ddz-site-page .ddz-toolbar{margin:0 7px 7px!important;border-radius:12px!important}
  html body.ddz-site-page .ddz-toolbar .scoreboard{grid-template-columns:repeat(3,minmax(72px,1fr))!important}
  html body.ddz-site-page .ddz-toolbar .scoreboard small{font-size:11.5px!important}
  html body.ddz-site-page .ddz-toolbar .scoreboard strong{font-size:18px!important}
  html body.ddz-site-page .ddz-toolbar .top-actions :is(button,.apk-inline){flex:1 1 30%!important;min-width:0!important;font-size:14px!important}
  html body.ddz-site-page .game-main{border-radius:0!important;box-shadow:none!important}
  html body.ddz-site-page .clean-promise{border-radius:0!important;flex-wrap:wrap!important;gap:4px!important}
  html body.ddz-site-page .table-wrap{height:620px!important;min-height:600px!important;border-radius:0!important;padding:6px!important}
  html body.ddz-site-page .ai{top:72px!important;width:94px!important;min-height:150px!important;padding:6px 4px!important}
  html body.ddz-site-page .player-name{font-size:17px!important}
  html body.ddz-site-page .role,
  html body.ddz-site-page .count,
  html body.ddz-site-page .bid-tag{font-size:13.5px!important}
  html body.ddz-site-page .center-area{width:calc(100% - 198px)!important}
  html body.ddz-site-page .round-meta span{font-size:13px!important;padding:4px 7px!important}
  html body.ddz-site-page .bottom-label{font-size:13px!important}
  html body.ddz-site-page .status{min-width:190px!important;font-size:16px!important}
  html body.ddz-site-page .v120-play-stage{top:106px!important;width:calc(100% - 198px)!important;min-height:104px!important;max-height:130px!important}
  html body.ddz-site-page .v120-play-stage.left{left:91px!important}
  html body.ddz-site-page .v120-play-stage.right{right:91px!important}
  html body.ddz-site-page .v120-play-owner{font-size:16px!important}
  html body.ddz-site-page #me-panel.me-player{left:4px!important;right:4px!important;bottom:5px!important;height:252px!important;min-height:252px!important;padding:4px!important}
  html body.ddz-site-page #hand.hand{height:166px!important;min-height:166px!important;padding-inline:4px!important;justify-content:flex-start!important}
  html body.ddz-site-page #hand.hand .card,
  html body.ddz-site-page #hand.hand:has(.card:nth-child(19)) .card{flex:0 0 66px!important;width:66px!important;min-width:66px!important;max-width:66px!important;height:112px!important;min-height:112px!important;max-height:112px!important;margin-left:-8px!important}
  html body.ddz-site-page #hand.hand .card:first-child{margin-left:0!important}
  html body.ddz-site-page .controls{flex-wrap:nowrap!important;gap:4px!important}
  html body.ddz-site-page .control-btn{flex:1 1 0!important;min-width:0!important;height:42px!important;min-height:42px!important;padding:5px 6px!important;font-size:15px!important}
}

/* ===== mobile-landscape-v153.css */
/* QilyLean Pure DDZ V153｜Mobile Landscape Mode
 * Single responsibility: when the DDZ visual runtime marks a real phone/tablet viewport as landscape,
 * this file adapts only the game module. The official QilyLean Header / translator / six-action Dock stay site-owned.
 */
:root{
  --ddz-landscape-scale:1;
  --ddz-mobile-vw:844px;
  --ddz-mobile-vh:390px;
}

/* Entry controls are mobile-only; landscape mode itself is selected by runtime orientation state. */
#v120-landscape-toggle,.mobile-landscape-entry{display:none!important}
html.ddz-mobile-portrait body.ddz-site-page #v120-landscape-toggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:76px!important;
  min-height:40px!important;
  height:40px!important;
  padding:5px 10px!important;
  border:1px solid rgba(255,227,155,.75)!important;
  border-radius:9px!important;
  background:linear-gradient(145deg,#0d7077,#07424c)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:14px!important;
  font-weight:950!important;
  line-height:1!important;
  white-space:nowrap!important;
  box-shadow:0 5px 14px rgba(0,0,0,.2)!important;
}
html.ddz-mobile-portrait body.ddz-site-page .welcome-card .mobile-landscape-entry{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:44px!important;
  margin-top:7px!important;
  border:1px solid rgba(15,75,90,.34)!important;
  border-radius:11px!important;
  background:#eef7f5!important;
  color:#0f4b5a!important;
  -webkit-text-fill-color:#0f4b5a!important;
  font-size:16px!important;
  font-weight:950!important;
}

/* Phone/tablet landscape: compact nonessential chrome, preserve all game functions, scale from the actual visual viewport. */
html.ddz-mobile-landscape body.ddz-site-page{
  --ddz-ls:var(--ddz-landscape-scale,1);
  overscroll-behavior-y:contain!important;
}
html.ddz-mobile-landscape body.ddz-site-page .game-shell.ddz-site-module{
  width:100%!important;
  max-width:none!important;
  margin:3px 0 8px!important;
  padding-left:max(4px,env(safe-area-inset-left))!important;
  padding-right:max(58px,calc(env(safe-area-inset-right) + 54px))!important;
  box-sizing:border-box!important;
}
html.ddz-mobile-landscape body.ddz-site-page .ddz-page-heading,
html.ddz-mobile-landscape body.ddz-site-page .clean-promise{display:none!important}

html.ddz-mobile-landscape body.ddz-site-page .ddz-toolbar{
  grid-template-columns:minmax(calc(250px * var(--ddz-ls)),calc(390px * var(--ddz-ls))) minmax(0,1fr)!important;
  align-items:center!important;
  gap:4px!important;
  min-height:calc(38px * var(--ddz-ls))!important;
  margin:0 0 4px!important;
  padding:3px 5px!important;
  border-radius:9px!important;
}
html.ddz-mobile-landscape body.ddz-site-page .ddz-toolbar .scoreboard{
  grid-template-columns:repeat(3,minmax(64px,1fr))!important;
  gap:3px!important;
}
html.ddz-mobile-landscape body.ddz-site-page .ddz-toolbar .scoreboard div{
  min-height:calc(31px * var(--ddz-ls))!important;
  padding:2px 5px!important;
  border-radius:7px!important;
}
html.ddz-mobile-landscape body.ddz-site-page .ddz-toolbar .scoreboard small{font-size:calc(10.5px * var(--ddz-ls))!important}
html.ddz-mobile-landscape body.ddz-site-page .ddz-toolbar .scoreboard strong{font-size:calc(16px * var(--ddz-ls))!important}
html.ddz-mobile-landscape body.ddz-site-page .ddz-toolbar .top-actions{
  justify-content:flex-end!important;
  gap:3px!important;
  flex-wrap:nowrap!important;
}
html.ddz-mobile-landscape body.ddz-site-page .ddz-toolbar :is(#audio-toggle,#help-open,#settings-open,.apk-inline,.start-btn){
  min-width:0!important;
  min-height:calc(31px * var(--ddz-ls))!important;
  height:calc(31px * var(--ddz-ls))!important;
  padding:3px calc(7px * var(--ddz-ls))!important;
  border-radius:7px!important;
  font-size:calc(11.5px * var(--ddz-ls))!important;
}
html.ddz-mobile-landscape body.ddz-site-page .ddz-toolbar #audio-toggle{min-width:calc(72px * var(--ddz-ls))!important}
html.ddz-mobile-landscape body.ddz-site-page .ddz-toolbar #help-open,
html.ddz-mobile-landscape body.ddz-site-page .ddz-toolbar #settings-open{min-width:calc(42px * var(--ddz-ls))!important}
html.ddz-mobile-landscape body.ddz-site-page .ddz-toolbar .apk-inline{min-width:calc(104px * var(--ddz-ls))!important}
html.ddz-mobile-landscape body.ddz-site-page .ddz-toolbar .start-btn{min-width:calc(74px * var(--ddz-ls))!important}
html.ddz-mobile-landscape body.ddz-site-page #v120-landscape-toggle{display:none!important}

html.ddz-mobile-landscape body.ddz-site-page .game-main{border-radius:9px!important;box-shadow:0 6px 16px rgba(15,75,90,.11)!important}
html.ddz-mobile-landscape body.ddz-site-page .table-wrap{
  width:100%!important;
  height:clamp(320px,calc(var(--ddz-mobile-vh,390px) - 44px),438px)!important;
  min-height:320px!important;
  max-height:438px!important;
  padding:4px 5px!important;
  border-radius:9px!important;
}
html.ddz-mobile-landscape body.ddz-site-page .table-wrap:before{inset:5px!important;border-radius:43% / 18%!important}

html.ddz-mobile-landscape body.ddz-site-page .ai{
  top:calc(46px * var(--ddz-ls))!important;
  width:calc(94px * var(--ddz-ls))!important;
  min-height:calc(112px * var(--ddz-ls))!important;
  padding:calc(5px * var(--ddz-ls)) calc(4px * var(--ddz-ls))!important;
  border-radius:calc(12px * var(--ddz-ls))!important;
}
html.ddz-mobile-landscape body.ddz-site-page .left-player{left:5px!important}
html.ddz-mobile-landscape body.ddz-site-page .right-player{right:5px!important}
html.ddz-mobile-landscape body.ddz-site-page .avatar{font-size:calc(23px * var(--ddz-ls))!important}
html.ddz-mobile-landscape body.ddz-site-page .player-name{font-size:calc(15px * var(--ddz-ls))!important}
html.ddz-mobile-landscape body.ddz-site-page .role,
html.ddz-mobile-landscape body.ddz-site-page .count,
html.ddz-mobile-landscape body.ddz-site-page .bid-tag{font-size:calc(11.5px * var(--ddz-ls))!important}
html.ddz-mobile-landscape body.ddz-site-page .card-backs{transform:scale(calc(.63 * var(--ddz-ls)))!important;transform-origin:center bottom!important}

html.ddz-mobile-landscape body.ddz-site-page .center-area{
  width:calc(100% - (215px * var(--ddz-ls)))!important;
  padding-top:0!important;
}
html.ddz-mobile-landscape body.ddz-site-page .round-meta{gap:3px!important}
html.ddz-mobile-landscape body.ddz-site-page .round-meta span{
  padding:3px calc(6px * var(--ddz-ls))!important;
  font-size:calc(11px * var(--ddz-ls))!important;
}
html.ddz-mobile-landscape body.ddz-site-page .bottom-zone{margin-top:0!important}
html.ddz-mobile-landscape body.ddz-site-page .bottom-label{font-size:calc(11px * var(--ddz-ls))!important}
html.ddz-mobile-landscape body.ddz-site-page .bottom-cards{min-height:calc(50px * var(--ddz-ls))!important;gap:2px!important}
html.ddz-mobile-landscape body.ddz-site-page .bottom-cards>.mini-card{
  flex:0 0 calc(38px * var(--ddz-ls))!important;
  min-width:calc(38px * var(--ddz-ls))!important;
  width:calc(38px * var(--ddz-ls))!important;
  max-width:calc(38px * var(--ddz-ls))!important;
  height:calc(52px * var(--ddz-ls))!important;
  min-height:calc(52px * var(--ddz-ls))!important;
  max-height:calc(52px * var(--ddz-ls))!important;
  padding:2px 3px!important;
  margin:1px!important;
  border-radius:6px!important;
}
html.ddz-mobile-landscape body.ddz-site-page .bottom-cards>.qily-mini-business b{font-size:calc(12px * var(--ddz-ls))!important}
html.ddz-mobile-landscape body.ddz-site-page .bottom-cards>.qily-mini-business small{font-size:calc(5.5px * var(--ddz-ls))!important}
html.ddz-mobile-landscape body.ddz-site-page .status{
  min-width:calc(165px * var(--ddz-ls))!important;
  min-height:calc(27px * var(--ddz-ls))!important;
  padding:3px 8px!important;
  font-size:calc(13.5px * var(--ddz-ls))!important;
}
html.ddz-mobile-landscape body.ddz-site-page .center-tip{font-size:calc(11.5px * var(--ddz-ls))!important}

html.ddz-mobile-landscape body.ddz-site-page .v120-play-stage{
  top:calc(62px * var(--ddz-ls))!important;
  width:calc(100% - (225px * var(--ddz-ls)))!important;
  min-height:calc(84px * var(--ddz-ls))!important;
  max-height:calc(108px * var(--ddz-ls))!important;
  padding:4px 6px!important;
  border-radius:10px!important;
}
html.ddz-mobile-landscape body.ddz-site-page .v120-play-stage.left{left:calc(98px * var(--ddz-ls))!important}
html.ddz-mobile-landscape body.ddz-site-page .v120-play-stage.right{right:calc(98px * var(--ddz-ls))!important}
html.ddz-mobile-landscape body.ddz-site-page .v120-play-owner{font-size:calc(13px * var(--ddz-ls))!important;margin-bottom:3px!important}
html.ddz-mobile-landscape body.ddz-site-page .v120-play-card{
  flex:0 0 calc(45px * var(--ddz-ls))!important;
  width:calc(45px * var(--ddz-ls))!important;
  height:calc(66px * var(--ddz-ls))!important;
  margin-left:calc(-4px * var(--ddz-ls))!important;
}
html.ddz-mobile-landscape body.ddz-site-page .v120-pass-flash{font-size:calc(13px * var(--ddz-ls))!important;padding:6px 10px!important}
html.ddz-mobile-landscape body.ddz-site-page .v120-pass-flash.me{bottom:calc(170px * var(--ddz-ls))!important}

html.ddz-mobile-landscape body.ddz-site-page #me-panel.me-player{
  left:5px!important;
  right:5px!important;
  bottom:4px!important;
  min-height:calc(160px * var(--ddz-ls))!important;
  height:calc(160px * var(--ddz-ls))!important;
  padding:3px 5px 4px!important;
  border-radius:10px!important;
}
html.ddz-mobile-landscape body.ddz-site-page .me-meta{min-height:calc(22px * var(--ddz-ls))!important;height:calc(22px * var(--ddz-ls))!important;gap:4px!important}
html.ddz-mobile-landscape body.ddz-site-page .me-meta .avatar{font-size:calc(16px * var(--ddz-ls))!important}
html.ddz-mobile-landscape body.ddz-site-page .me-meta .player-name{font-size:calc(14px * var(--ddz-ls))!important}
html.ddz-mobile-landscape body.ddz-site-page #hand.hand{
  min-height:calc(100px * var(--ddz-ls))!important;
  height:calc(100px * var(--ddz-ls))!important;
  padding:4px 5px 1px!important;
  overflow-x:auto!important;
  scrollbar-width:thin!important;
}
html.ddz-mobile-landscape body.ddz-site-page #hand.hand .card,
html.ddz-mobile-landscape body.ddz-site-page #hand.hand:has(.card:nth-child(19)) .card{
  flex:0 0 calc(56px * var(--ddz-ls))!important;
  width:calc(56px * var(--ddz-ls))!important;
  min-width:calc(56px * var(--ddz-ls))!important;
  max-width:calc(56px * var(--ddz-ls))!important;
  height:calc(84px * var(--ddz-ls))!important;
  min-height:calc(84px * var(--ddz-ls))!important;
  max-height:calc(84px * var(--ddz-ls))!important;
  margin-left:calc(-13px * var(--ddz-ls))!important;
  padding:3px!important;
  border-radius:7px!important;
}
html.ddz-mobile-landscape body.ddz-site-page #hand.hand .card:first-child{margin-left:0!important}
html.ddz-mobile-landscape body.ddz-site-page #hand.hand .qily-card-corner{left:3px!important;top:3px!important}
html.ddz-mobile-landscape body.ddz-site-page #hand.hand .qily-card--normal .qily-rank-suit-line b{font-size:calc(16px * var(--ddz-ls))!important}
html.ddz-mobile-landscape body.ddz-site-page #hand.hand .qily-card-theme{inset:25px 3px 6px!important;gap:1px!important}
html.ddz-mobile-landscape body.ddz-site-page #hand.hand .qily-card-theme>small{font-size:calc(4.7px * var(--ddz-ls))!important}
html.ddz-mobile-landscape body.ddz-site-page #hand.hand .qily-card-theme>strong{font-size:calc(10px * var(--ddz-ls))!important}
html.ddz-mobile-landscape body.ddz-site-page #hand.hand .qily-card-theme>b{font-size:calc(6px * var(--ddz-ls))!important}
html.ddz-mobile-landscape body.ddz-site-page #hand.hand .qily-card-theme>em{font-size:calc(4.8px * var(--ddz-ls))!important}
html.ddz-mobile-landscape body.ddz-site-page .controls{gap:4px!important;margin-top:1px!important;min-height:calc(31px * var(--ddz-ls))!important}
html.ddz-mobile-landscape body.ddz-site-page .control-btn{
  min-width:calc(80px * var(--ddz-ls))!important;
  min-height:calc(31px * var(--ddz-ls))!important;
  height:calc(31px * var(--ddz-ls))!important;
  padding:3px 8px!important;
  border-radius:7px!important;
  font-size:calc(13px * var(--ddz-ls))!important;
}

/* Very narrow landscape phones: preserve gameplay first, hide only the Android status badge. */
@media (orientation:landscape) and (max-width:720px){
  html.ddz-mobile-landscape body.ddz-site-page .ddz-toolbar .apk-inline{display:none!important}
  html.ddz-mobile-landscape body.ddz-site-page .ddz-toolbar{grid-template-columns:minmax(235px,330px) minmax(0,1fr)!important}
  html.ddz-mobile-landscape body.ddz-site-page .game-shell.ddz-site-module{padding-right:max(54px,calc(env(safe-area-inset-right) + 50px))!important}
}

/* Landscape tablets get a little more breathing room without switching back to desktop proportions. */
@media (orientation:landscape) and (min-width:980px) and (max-height:700px){
  html.ddz-mobile-landscape body.ddz-site-page .game-shell.ddz-site-module{padding-right:max(62px,calc(env(safe-area-inset-right) + 58px))!important}
  html.ddz-mobile-landscape body.ddz-site-page .table-wrap{max-height:500px!important}
}

/* ===== card-knowledge-v155.css */
/* QilyLean Pure DDZ V155｜52-card professional knowledge visual system
 * Single responsibility: card readability and knowledge density only.
 * Rank/suit remains the first-reading gameplay layer; code + Chinese name + concise cue form the second-reading knowledge layer.
 */

.qily-card-theme{
  text-align:center!important;
}
.qily-card-theme>small{
  font-weight:850!important;
  letter-spacing:.02em!important;
  color:#5a7376!important;
  -webkit-text-fill-color:#5a7376!important;
}
.qily-card-theme>strong{
  color:#0f4b5a!important;
  -webkit-text-fill-color:#0f4b5a!important;
  font-weight:1000!important;
  letter-spacing:-.02em!important;
}
.qily-card-theme>b{
  color:#173c45!important;
  -webkit-text-fill-color:#173c45!important;
  font-weight:950!important;
}
.qily-card-theme>em{
  color:#49686b!important;
  -webkit-text-fill-color:#49686b!important;
  font-weight:800!important;
  font-style:normal!important;
}

/* Desktop / large tablet: enlarge the physical cards so the professional content is genuinely readable. */
@media (min-width:1181px){
  html body.ddz-site-page #me-panel.me-player{
    min-height:250px!important;
    height:250px!important;
  }
  html body.ddz-site-page #hand.hand{
    min-height:168px!important;
    height:168px!important;
    padding:8px 10px 2px!important;
  }
  html body.ddz-site-page #hand.hand .card{
    flex:0 0 104px!important;
    width:104px!important;
    min-width:104px!important;
    max-width:104px!important;
    height:154px!important;
    min-height:154px!important;
    max-height:154px!important;
    margin-left:-30px!important;
    padding:5px!important;
    border-radius:11px!important;
  }
  html body.ddz-site-page #hand.hand:has(.card:nth-child(19)) .card{
    flex-basis:102px!important;
    width:102px!important;
    min-width:102px!important;
    max-width:102px!important;
    height:151px!important;
    min-height:151px!important;
    max-height:151px!important;
    margin-left:-34px!important;
  }
  html body.ddz-site-page #hand.hand .qily-card-corner{left:6px!important;top:6px!important}
  html body.ddz-site-page #hand.hand .qily-card--normal .qily-rank-suit-line b{font-size:25px!important}
  html body.ddz-site-page #hand.hand .qily-card-theme{
    inset:39px 5px 7px!important;
    gap:2px!important;
  }
  html body.ddz-site-page #hand.hand .qily-card-theme>small{font-size:6.6px!important;line-height:1!important}
  html body.ddz-site-page #hand.hand .qily-card-theme>strong{font-size:13px!important;line-height:1.02!important}
  html body.ddz-site-page #hand.hand .qily-card-theme>b{font-size:10.4px!important;line-height:1.08!important}
  html body.ddz-site-page #hand.hand .qily-card-theme>em{font-size:7.2px!important;line-height:1.12!important}

  html body.ddz-site-page .v120-play-card{
    flex-basis:66px!important;
    width:66px!important;
    height:96px!important;
  }
  html body.ddz-site-page .v120-play-card .qily-card-theme{inset:30px 3px 5px!important;gap:1px!important}
  html body.ddz-site-page .v120-play-card .qily-card-theme>small{font-size:5px!important}
  html body.ddz-site-page .v120-play-card .qily-card-theme>strong{font-size:9px!important;line-height:1!important}
  html body.ddz-site-page .v120-play-card .qily-card-theme>b{font-size:6.8px!important;line-height:1.04!important}
  html body.ddz-site-page .v120-play-card .qily-card-theme>em{font-size:4.8px!important;line-height:1.05!important}
}

/* Mid-size desktop / tablet portrait. */
@media (min-width:901px) and (max-width:1180px){
  html body.ddz-site-page #hand.hand .card,
  html body.ddz-site-page #hand.hand:has(.card:nth-child(19)) .card{
    flex-basis:92px!important;
    width:92px!important;
    min-width:92px!important;
    max-width:92px!important;
    height:138px!important;
    min-height:138px!important;
    max-height:138px!important;
    margin-left:-30px!important;
  }
  html body.ddz-site-page #hand.hand .qily-card-theme{inset:36px 4px 6px!important;gap:1.5px!important}
  html body.ddz-site-page #hand.hand .qily-card-theme>small{font-size:5.8px!important}
  html body.ddz-site-page #hand.hand .qily-card-theme>strong{font-size:11.2px!important;line-height:1.02!important}
  html body.ddz-site-page #hand.hand .qily-card-theme>b{font-size:8.7px!important;line-height:1.06!important}
  html body.ddz-site-page #hand.hand .qily-card-theme>em{font-size:6.2px!important;line-height:1.08!important}
}

/* Real Android/Harmony landscape mode: keep the full hand visible while maximizing each card. */
html.ddz-mobile-landscape body.ddz-site-page #hand.hand .card,
html.ddz-mobile-landscape body.ddz-site-page #hand.hand:has(.card:nth-child(19)) .card{
  flex:0 0 calc(56px * var(--ddz-ls,1))!important;
  width:calc(56px * var(--ddz-ls,1))!important;
  min-width:calc(56px * var(--ddz-ls,1))!important;
  max-width:calc(56px * var(--ddz-ls,1))!important;
  height:calc(84px * var(--ddz-ls,1))!important;
  min-height:calc(84px * var(--ddz-ls,1))!important;
  max-height:calc(84px * var(--ddz-ls,1))!important;
  margin-left:calc(-13px * var(--ddz-ls,1))!important;
}
html.ddz-mobile-landscape body.ddz-site-page #hand.hand .qily-card-theme{inset:25px 2.5px 5px!important;gap:1px!important}
html.ddz-mobile-landscape body.ddz-site-page #hand.hand .qily-card-theme>small{font-size:calc(4.4px * var(--ddz-ls,1))!important}
html.ddz-mobile-landscape body.ddz-site-page #hand.hand .qily-card-theme>strong{font-size:calc(8.8px * var(--ddz-ls,1))!important;line-height:1!important}
html.ddz-mobile-landscape body.ddz-site-page #hand.hand .qily-card-theme>b{font-size:calc(5.7px * var(--ddz-ls,1))!important;line-height:1.03!important}
html.ddz-mobile-landscape body.ddz-site-page #hand.hand .qily-card-theme>em{font-size:calc(4.25px * var(--ddz-ls,1))!important;line-height:1.03!important}

/* iPhone / WeChat virtual landscape V154: match the physical-landscape knowledge-card scale. */
html.ddz-ios-virtual-landscape body.ddz-site-page #hand.hand .card,
html.ddz-ios-virtual-landscape body.ddz-site-page #hand.hand:has(.card:nth-child(19)) .card{
  flex:0 0 56px!important;
  width:56px!important;
  min-width:56px!important;
  max-width:56px!important;
  height:84px!important;
  min-height:84px!important;
  max-height:84px!important;
  margin-left:-13px!important;
}
html.ddz-ios-virtual-landscape body.ddz-site-page #hand.hand .qily-card-theme{inset:25px 2.5px 5px!important;gap:1px!important}
html.ddz-ios-virtual-landscape body.ddz-site-page #hand.hand .qily-card-theme>small{font-size:4.4px!important}
html.ddz-ios-virtual-landscape body.ddz-site-page #hand.hand .qily-card-theme>strong{font-size:8.8px!important;line-height:1!important}
html.ddz-ios-virtual-landscape body.ddz-site-page #hand.hand .qily-card-theme>b{font-size:5.7px!important;line-height:1.03!important}
html.ddz-ios-virtual-landscape body.ddz-site-page #hand.hand .qily-card-theme>em{font-size:4.25px!important;line-height:1.03!important}

/* Portrait phone fallback: readable when the user chooses not to enter landscape. */
@media (max-width:900px) and (orientation:portrait){
  html body.ddz-site-page #hand.hand .qily-card-theme>strong{font-size:8.8px!important;line-height:1!important}
  html body.ddz-site-page #hand.hand .qily-card-theme>b{font-size:5.8px!important;line-height:1.04!important}
  html body.ddz-site-page #hand.hand .qily-card-theme>em{font-size:4.5px!important;line-height:1.04!important}
}

/* ===== visual-tuning-v158.css */
/* QilyLean Pure DDZ V161/V162｜Nav-aligned capsule feedback + turn-information placement + larger bottom cards｜2026-09-03
 * This existing tuning source remains the single desktop visual owner and is compiled into ddz-core-v155.css.
 * V161 keeps the approved V160 structure, aligns in-game capsule feedback with the live QilyLean navigation language,
 * extends the desktop table downward, and enlarges the three bottom cards without touching gameplay or mobile-landscape geometry.
 */

@media (min-width:1181px){
  :root{--ddz-site-gutter:clamp(14px,1.7vw,44px)}

  /* Approved top fold remains unchanged. */
  html body.ddz-site-page .game-shell.ddz-site-module{
    margin-top:2px!important;
    margin-bottom:30px!important;
  }
  html body.ddz-site-page .ddz-page-heading{
    min-height:38px!important;
    height:38px!important;
    padding:2px 10px!important;
    margin:0 0 2px!important;
    overflow:hidden!important;
    border-radius:12px!important;
    box-shadow:0 4px 12px rgba(15,75,90,.055)!important;
  }
  html body.ddz-site-page .ddz-page-heading>div{
    display:grid!important;
    grid-template-columns:auto auto minmax(0,1fr)!important;
    grid-template-areas:"eyebrow title copy"!important;
    align-items:center!important;
    column-gap:12px!important;
    width:100%!important;
    min-width:0!important;
  }
  html body.ddz-site-page .ddz-page-heading .ddz-eyebrow{
    grid-area:eyebrow!important;
    margin:0!important;
    font-size:9.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  html body.ddz-site-page .ddz-page-heading h1{
    grid-area:title!important;
    margin:0!important;
    font-size:20px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  html body.ddz-site-page .ddz-page-heading>div>p:last-child{
    grid-area:copy!important;
    min-width:0!important;
    margin:0!important;
    overflow:hidden!important;
    color:#5f7474!important;
    font-size:11px!important;
    line-height:1!important;
    text-align:right!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  html body.ddz-site-page .ddz-toolbar{
    grid-template-columns:minmax(540px,620px) minmax(0,1fr)!important;
    min-height:40px!important;
    height:40px!important;
    padding:1px 6px!important;
    margin:0!important;
    align-items:center!important;
    border-radius:12px!important;
    box-shadow:0 5px 14px rgba(15,75,90,.08)!important;
  }
  html body.ddz-site-page .ddz-toolbar .scoreboard{
    grid-template-columns:repeat(4,minmax(106px,1fr))!important;
    align-self:center!important;
    gap:6px!important;
  }
  html body.ddz-site-page .ddz-toolbar .scoreboard div,
  html body.ddz-site-page #v120-reset-stats{
    min-height:34px!important;
    height:34px!important;
    margin:0!important;
    padding:1px 8px!important;
    border:1px solid rgba(255,227,155,.34)!important;
    border-radius:8px!important;
    background:rgba(255,255,255,.07)!important;
    box-shadow:none!important;
  }
  html body.ddz-site-page .ddz-toolbar .scoreboard small{font-size:12px!important;line-height:1!important}
  html body.ddz-site-page .ddz-toolbar .scoreboard strong{font-size:19px!important;line-height:1!important}
  html body.ddz-site-page #v120-reset-stats{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    color:#ffe39b!important;
    -webkit-text-fill-color:#ffe39b!important;
    font-size:14px!important;
    font-weight:950!important;
    line-height:1!important;
  }
  html body.ddz-site-page .ddz-toolbar .top-actions{
    position:relative!important;
    top:0!important;
    align-self:center!important;
    align-items:center!important;
    gap:6px!important;
  }
  html body.ddz-site-page .ddz-toolbar :is(#audio-toggle,#help-open,#settings-open,#v120-landscape-toggle,.start-btn){
    min-height:36px!important;
    height:36px!important;
    padding:4px 12px!important;
    font-size:14px!important;
    border-radius:8px!important;
  }
  html body.ddz-site-page .ddz-toolbar #audio-toggle{min-width:100px!important}
  html body.ddz-site-page .ddz-toolbar #help-open,
  html body.ddz-site-page .ddz-toolbar #settings-open{min-width:64px!important}
  html body.ddz-site-page .ddz-toolbar #v120-landscape-toggle{min-width:84px!important}
  html body.ddz-site-page .ddz-toolbar .start-btn{min-width:102px!important}

  html body.ddz-site-page .clean-promise{display:none!important}
  html body.ddz-site-page .game-main{margin-top:0!important}
  html body.ddz-site-page .table-wrap{
    height:clamp(714px,calc(100vh - 112px),768px)!important;
    min-height:714px!important;
    max-height:768px!important;
    padding:7px 8px 9px!important;
    border-radius:14px!important;
  }
  html body.ddz-site-page .table-wrap:before{inset:8px!important}
  html body.ddz-site-page .ai{top:76px!important}
  html body.ddz-site-page .center-area{
    width:min(580px,calc(100% - 350px))!important;
    padding-top:0!important;
  }
  /* V162 turn-information placement: lift round/base/multiplier one visual row without changing the approved table shell. */
  html body.ddz-site-page .round-meta{
    position:relative!important;
    z-index:4!important;
    transform:translateY(-14px)!important;
    margin-bottom:-10px!important;
  }

  html body.ddz-site-page .bottom-zone{margin-top:-2px!important}
  html body.ddz-site-page .bottom-label{font-size:15px!important}
  html body.ddz-site-page .bottom-cards{
    min-height:136px!important;
    margin-top:3px!important;
    gap:14px!important;
  }
  html body.ddz-site-page .bottom-cards>.mini-card{
    flex:0 0 82px!important;
    min-width:82px!important;
    width:82px!important;
    max-width:82px!important;
    height:112px!important;
    min-height:112px!important;
    max-height:112px!important;
    margin:8px 6px 0!important;
    padding:6px 7px!important;
    transform:scale(1.15)!important;
    transform-origin:center bottom!important;
    border-radius:11px!important;
    border-width:2px!important;
  }
  html body.ddz-site-page .bottom-cards>.qily-mini-business b{font-size:23px!important;line-height:1!important}
  html body.ddz-site-page .bottom-cards>.qily-mini-business small{font-size:9.2px!important;line-height:1.05!important}
  html body.ddz-site-page .bottom-cards>.bottom-back{width:52px!important;height:78px!important;margin:10px 7px 0!important;border-radius:9px!important}

  html body.ddz-site-page .v120-play-stage{
    top:110px!important;
    width:min(560px,calc(100% - 360px))!important;
    min-height:154px!important;
    max-height:184px!important;
    padding:9px 12px!important;
  }
  html body.ddz-site-page .v120-play-owner{
    margin-bottom:7px!important;
    font-size:20px!important;
  }
  html body.ddz-site-page .v120-play-card{
    flex:0 0 78px!important;
    width:78px!important;
    height:114px!important;
    margin-left:-7px!important;
    border-width:2px!important;
    border-radius:10px!important;
  }
  html body.ddz-site-page .v120-play-card:first-child{margin-left:0!important}
  html body.ddz-site-page .v120-play-card .qily-card-corner{left:5px!important;top:5px!important}
  html body.ddz-site-page .v120-play-card .qily-card--normal .qily-rank-suit-line b{
    font-size:25px!important;
    line-height:.92!important;
  }
  html body.ddz-site-page .v120-play-card .qily-card-theme{
    inset:36px 4px 10px!important;
    gap:1.5px!important;
  }
  html body.ddz-site-page .v120-play-card .qily-card-theme>small{font-size:5.8px!important}
  html body.ddz-site-page .v120-play-card .qily-card-theme>strong{font-size:13px!important;line-height:1.02!important}
  html body.ddz-site-page .v120-play-card .qily-card-theme>b{font-size:8px!important;line-height:1.05!important}
  html body.ddz-site-page .v120-play-card .qily-card-theme>em{font-size:5.8px!important;line-height:1.05!important}

  html body.ddz-site-page #me-panel.me-player{
    min-height:260px!important;
    height:260px!important;
  }
  html body.ddz-site-page #hand.hand{
    min-height:178px!important;
    height:178px!important;
    padding:9px 10px 2px!important;
  }
  html body.ddz-site-page #hand.hand .card{
    flex:0 0 110px!important;
    width:110px!important;
    min-width:110px!important;
    max-width:110px!important;
    height:162px!important;
    min-height:162px!important;
    max-height:162px!important;
    margin-left:-32px!important;
    padding:5px!important;
    border-radius:12px!important;
  }
  html body.ddz-site-page #hand.hand:has(.card:nth-child(19)) .card{
    flex-basis:108px!important;
    width:108px!important;
    min-width:108px!important;
    max-width:108px!important;
    height:159px!important;
    min-height:159px!important;
    max-height:159px!important;
    margin-left:-36px!important;
  }
  html body.ddz-site-page #hand.hand .qily-card-corner{left:6px!important;top:5px!important}
  html body.ddz-site-page #hand.hand .qily-card--normal .qily-rank-suit-line b{
    font-size:32px!important;
    line-height:.92!important;
    letter-spacing:-.045em!important;
  }
  html body.ddz-site-page #hand.hand .qily-card-theme{
    inset:46px 5px 7px!important;
    gap:2px!important;
  }
  html body.ddz-site-page #hand.hand .qily-card-theme>small{font-size:6.8px!important}
  html body.ddz-site-page #hand.hand .qily-card-theme>strong{font-size:13.5px!important;line-height:1.02!important}
  html body.ddz-site-page #hand.hand .qily-card-theme>b{font-size:10.8px!important;line-height:1.07!important}
  html body.ddz-site-page #hand.hand .qily-card-theme>em{font-size:7.4px!important;line-height:1.1!important}
}

@media (min-width:901px) and (max-width:1180px){
  html body.ddz-site-page .game-shell.ddz-site-module{margin-top:3px!important;margin-bottom:30px!important}
  html body.ddz-site-page .ddz-page-heading{min-height:44px!important;height:44px!important;padding:3px 9px!important;margin-bottom:2px!important}
  html body.ddz-site-page .ddz-toolbar{min-height:44px!important;padding:2px 6px!important;margin-bottom:0!important}
  html body.ddz-site-page .ddz-toolbar .scoreboard{grid-template-columns:repeat(4,minmax(84px,1fr))!important}
  html body.ddz-site-page #v120-reset-stats{min-height:38px!important;height:38px!important;margin:0!important;padding:3px 6px!important;font-size:14px!important}
  html body.ddz-site-page .clean-promise{display:none!important}
  html body.ddz-site-page .table-wrap{min-height:650px!important;height:650px!important;border-radius:14px!important}
  html body.ddz-site-page .bottom-cards{min-height:94px!important;gap:6px!important}
  html body.ddz-site-page .bottom-cards>.mini-card{flex-basis:68px!important;min-width:68px!important;width:68px!important;max-width:68px!important;height:92px!important;min-height:92px!important;max-height:92px!important}
  html body.ddz-site-page .v120-play-stage{min-height:138px!important;max-height:164px!important}
  html body.ddz-site-page .v120-play-card{flex-basis:68px!important;width:68px!important;height:100px!important}
  html body.ddz-site-page .v120-play-card .qily-card--normal .qily-rank-suit-line b{font-size:22px!important}
  html body.ddz-site-page #hand.hand .qily-card--normal .qily-rank-suit-line b{font-size:27px!important}
}

/* V161｜Use the same interaction language as the live QilyLean navigation: teal hover, white type, gold focus, restrained motion. */
html body.ddz-site-page .controls .control-btn:not(:disabled){
  border:1px solid rgba(202,161,95,.72)!important;
  box-shadow:0 5px 12px rgba(15,75,90,.14)!important;
  transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,filter .15s ease,transform .15s ease!important;
  transform-origin:center!important;
  -webkit-tap-highlight-color:rgba(202,161,95,.20)!important;
}
@media (hover:hover) and (pointer:fine){
  html body.ddz-site-page .controls .control-btn:not(:disabled):hover{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    background:#0f4b5a!important;
    border-color:#0f4b5a!important;
    box-shadow:0 7px 16px rgba(15,75,90,.24)!important;
    filter:brightness(1.04)!important;
    transform:translateY(-1px)!important;
  }
}
html body.ddz-site-page .controls .control-btn:not(:disabled):active{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:#0b414d!important;
  border-color:#ffe39b!important;
  box-shadow:0 4px 10px rgba(15,75,90,.18)!important;
  filter:brightness(.96)!important;
  transform:translateY(1px) scale(.985)!important;
}
html body.ddz-site-page .controls .control-btn:not(:disabled):focus-visible{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:#0f4b5a!important;
  border-color:#caa15f!important;
  outline:3px solid rgba(202,161,95,.34)!important;
  outline-offset:2px!important;
  box-shadow:0 7px 16px rgba(15,75,90,.24)!important;
  filter:brightness(1.04)!important;
}
html body.ddz-site-page .controls .control-btn:disabled{
  opacity:.58!important;
  cursor:not-allowed!important;
  transform:none!important;
  filter:none!important;
  border-color:rgba(255,255,255,.20)!important;
  box-shadow:none!important;
}
@media (prefers-reduced-motion:reduce){
  html body.ddz-site-page .controls .control-btn{transition:none!important}
  html body.ddz-site-page .controls .control-btn:not(:disabled):hover,
  html body.ddz-site-page .controls .control-btn:not(:disabled):active{transform:none!important}
}

/* Proven mobile and both landscape implementations retain their dedicated geometry. */
html.ddz-mobile-landscape body.ddz-site-page #hand.hand .qily-card--normal .qily-rank-suit-line b{font-size:calc(19px * var(--ddz-ls,1))!important}
html.ddz-ios-virtual-landscape body.ddz-site-page #hand.hand .qily-card--normal .qily-rank-suit-line b{font-size:19px!important}


/* V163｜Header-aligned round meta + dedicated timer + full selected-card visibility｜2026-09-03
 * Desktop moves round/base/multiplier into the title row through the existing visual runtime.
 * Mobile keeps the meta inside the table because the title strip is intentionally hidden in landscape.
 * The timer reuses QilyLean capsule language and selected cards must remain fully visible.
 */
@media (min-width:1181px){
  html:not(.ddz-mobile-landscape):not(.ddz-mobile-portrait):not(.ddz-ios-virtual-landscape) body.ddz-site-page .ddz-page-heading>div{
    grid-template-columns:auto auto auto minmax(0,1fr)!important;
    grid-template-areas:"eyebrow title round copy"!important;
    column-gap:12px!important;
  }
  html:not(.ddz-mobile-landscape):not(.ddz-mobile-portrait):not(.ddz-ios-virtual-landscape) body.ddz-site-page .ddz-page-heading .round-meta{
    grid-area:round!important;
    position:relative!important;
    z-index:6!important;
    transform:none!important;
    margin:0!important;
    align-self:center!important;
    justify-self:center!important;
    flex-wrap:nowrap!important;
    gap:5px!important;
    white-space:nowrap!important;
  }
  html:not(.ddz-mobile-landscape):not(.ddz-mobile-portrait):not(.ddz-ios-virtual-landscape) body.ddz-site-page .ddz-page-heading .round-meta span{
    padding:3px 8px!important;
    min-height:24px!important;
    display:inline-flex!important;
    align-items:center!important;
    border:1px solid rgba(15,75,90,.28)!important;
    background:#eef7f5!important;
    color:#0f4b5a!important;
    -webkit-text-fill-color:#0f4b5a!important;
    font-size:12px!important;
    line-height:1!important;
  }
  html:not(.ddz-mobile-landscape):not(.ddz-mobile-portrait):not(.ddz-ios-virtual-landscape) body.ddz-site-page .ddz-page-heading .round-meta b{color:#0f4b5a!important;-webkit-text-fill-color:#0f4b5a!important}
  html body.ddz-site-page .ddz-toolbar .top-actions .v163-turn-timer{
    position:absolute!important;
    right:calc(100% + 18px)!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:148px!important;
    height:34px!important;
    padding:3px 14px!important;
    border:1px solid rgba(255,227,155,.48)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.075)!important;
    color:#ffe39b!important;
    -webkit-text-fill-color:#ffe39b!important;
    box-shadow:0 4px 12px rgba(0,0,0,.12)!important;
    font-size:14px!important;
    font-weight:950!important;
    line-height:1!important;
    white-space:nowrap!important;
    pointer-events:none!important;
  }
  html body.ddz-site-page .ddz-toolbar .top-actions .v163-turn-timer.active{
    border-color:#ffe39b!important;
    background:#0f4b5a!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    box-shadow:0 6px 16px rgba(15,75,90,.24)!important;
  }
  html body.ddz-site-page #me-panel.me-player,
  html body.ddz-site-page #hand.hand{overflow:visible!important}
  html body.ddz-site-page #hand.hand .card.selected{
    z-index:30!important;
    transform:translateY(-24px) scale(1.02)!important;
    box-shadow:0 14px 24px rgba(0,0,0,.28)!important;
  }
}
@media (min-width:901px) and (max-width:1180px){
  html body.ddz-site-page .ddz-toolbar .top-actions .v163-turn-timer{
    position:absolute!important;right:calc(100% + 8px)!important;top:50%!important;transform:translateY(-50%)!important;
    display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:104px!important;height:32px!important;padding:3px 9px!important;
    border:1px solid rgba(255,227,155,.48)!important;border-radius:999px!important;background:rgba(255,255,255,.075)!important;color:#ffe39b!important;-webkit-text-fill-color:#ffe39b!important;font-size:12px!important;font-weight:950!important;white-space:nowrap!important;pointer-events:none!important;
  }
  html body.ddz-site-page .ddz-toolbar .top-actions .v163-turn-timer.active{background:#0f4b5a!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#ffe39b!important}
  html body.ddz-site-page #me-panel.me-player,html body.ddz-site-page #hand.hand{overflow:visible!important}
  html body.ddz-site-page #hand.hand .card.selected{z-index:30!important;transform:translateY(-20px) scale(1.02)!important}
}
html.ddz-mobile-landscape body.ddz-site-page .ddz-toolbar .top-actions .v163-turn-timer{
  position:static!important;transform:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-width:calc(58px * var(--ddz-ls,1))!important;height:calc(30px * var(--ddz-ls,1))!important;padding:2px calc(5px * var(--ddz-ls,1))!important;
  border:1px solid rgba(255,227,155,.5)!important;border-radius:999px!important;background:rgba(255,255,255,.07)!important;color:#ffe39b!important;-webkit-text-fill-color:#ffe39b!important;font-size:calc(10px * var(--ddz-ls,1))!important;font-weight:950!important;white-space:nowrap!important;pointer-events:none!important;
}
html.ddz-mobile-landscape body.ddz-site-page .ddz-toolbar .top-actions .v163-turn-timer.active{background:#0f4b5a!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
html.ddz-mobile-landscape body.ddz-site-page #hand.hand .card.selected{z-index:30!important;transform:translateY(calc(-4px * var(--ddz-ls,1))) scale(1.01)!important}
html.ddz-ios-virtual-landscape body.ddz-site-page .ddz-toolbar .top-actions .v163-turn-timer{
  position:static!important;transform:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:52px!important;height:26px!important;padding:2px 4px!important;border:1px solid rgba(255,227,155,.5)!important;border-radius:999px!important;background:rgba(255,255,255,.07)!important;color:#ffe39b!important;-webkit-text-fill-color:#ffe39b!important;font-size:9px!important;font-weight:950!important;white-space:nowrap!important;pointer-events:none!important;
}
html.ddz-ios-virtual-landscape body.ddz-site-page .ddz-toolbar .top-actions .v163-turn-timer.active{background:#0f4b5a!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
html.ddz-ios-virtual-landscape body.ddz-site-page #hand.hand .card.selected{z-index:30!important;transform:translateY(-3px) scale(1.01)!important}


/* V164｜Independent timer + larger top typography + mobile card readability｜2026-09-03
 * Screenshot closure: the timer is a true toolbar grid item, never overlaid on “清零”.
 * Top-fold typography is enlarged without changing the approved QilyLean VI language.
 * Mobile landscape bottom cards and played cards prioritize rank/suit and knowledge readability.
 */
@media (min-width:1181px){
  html body.ddz-site-page .ddz-page-heading{height:46px!important;min-height:46px!important;padding:4px 12px!important}
  html body.ddz-site-page .ddz-page-heading .ddz-eyebrow{font-size:11.5px!important}
  html body.ddz-site-page .ddz-page-heading h1{font-size:24px!important}
  html body.ddz-site-page .ddz-page-heading>div>p:last-child{font-size:13px!important}
  html:not(.ddz-mobile-landscape):not(.ddz-mobile-portrait):not(.ddz-ios-virtual-landscape) body.ddz-site-page .ddz-page-heading .round-meta span{min-height:28px!important;padding:4px 10px!important;font-size:14px!important;font-weight:950!important}

  html body.ddz-site-page .ddz-toolbar{
    grid-template-columns:minmax(580px,640px) minmax(150px,1fr) auto!important;
    min-height:48px!important;height:48px!important;gap:10px!important;padding:2px 7px!important;
  }
  html body.ddz-site-page .ddz-toolbar .scoreboard{grid-column:1!important;grid-template-columns:repeat(4,minmax(116px,1fr))!important;gap:7px!important}
  html body.ddz-site-page .ddz-toolbar .scoreboard div,
  html body.ddz-site-page #v120-reset-stats{min-height:40px!important;height:40px!important;padding:2px 9px!important}
  html body.ddz-site-page .ddz-toolbar .scoreboard small{font-size:14px!important;font-weight:900!important}
  html body.ddz-site-page .ddz-toolbar .scoreboard strong{font-size:22px!important;font-weight:950!important}
  html body.ddz-site-page #v120-reset-stats{font-size:17px!important;letter-spacing:.02em!important}
  html body.ddz-site-page .ddz-toolbar>.v163-turn-timer.v164-independent-timer{
    grid-column:2!important;grid-row:1!important;position:static!important;right:auto!important;top:auto!important;transform:none!important;
    justify-self:center!important;align-self:center!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
    min-width:160px!important;height:40px!important;padding:4px 18px!important;border:1px solid rgba(255,227,155,.62)!important;border-radius:999px!important;
    background:rgba(255,255,255,.075)!important;color:#ffe39b!important;-webkit-text-fill-color:#ffe39b!important;box-shadow:0 5px 14px rgba(0,0,0,.14)!important;
    font-size:17px!important;font-weight:950!important;line-height:1!important;white-space:nowrap!important;pointer-events:none!important;
  }
  html body.ddz-site-page .ddz-toolbar>.v163-turn-timer.v164-independent-timer.active{background:#0f4b5a!important;border-color:#ffe39b!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:0 7px 18px rgba(15,75,90,.28)!important}
  html body.ddz-site-page .ddz-toolbar .top-actions{grid-column:3!important;justify-self:end!important;position:relative!important}
  html body.ddz-site-page .ddz-toolbar :is(#audio-toggle,#help-open,#settings-open,#v120-landscape-toggle,.start-btn){height:40px!important;min-height:40px!important;padding:5px 13px!important;font-size:16px!important;font-weight:950!important}
}

@media (min-width:901px) and (max-width:1180px){
  html body.ddz-site-page .ddz-page-heading h1{font-size:22px!important}
  html body.ddz-site-page .ddz-page-heading .ddz-eyebrow{font-size:10.5px!important}
  html body.ddz-site-page .ddz-page-heading>div>p:last-child{font-size:12px!important}
  html body.ddz-site-page .ddz-toolbar{grid-template-columns:minmax(390px,1.15fr) minmax(105px,.45fr) auto!important;min-height:48px!important;gap:6px!important}
  html body.ddz-site-page .ddz-toolbar .scoreboard{grid-column:1!important;grid-template-columns:repeat(4,minmax(84px,1fr))!important}
  html body.ddz-site-page .ddz-toolbar .scoreboard small{font-size:12.5px!important}
  html body.ddz-site-page .ddz-toolbar .scoreboard strong{font-size:19px!important}
  html body.ddz-site-page #v120-reset-stats{font-size:15px!important}
  html body.ddz-site-page .ddz-toolbar>.v163-turn-timer.v164-independent-timer{grid-column:2!important;grid-row:1!important;position:static!important;transform:none!important;justify-self:center!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:108px!important;height:36px!important;padding:3px 10px!important;border:1px solid rgba(255,227,155,.56)!important;border-radius:999px!important;background:rgba(255,255,255,.075)!important;color:#ffe39b!important;-webkit-text-fill-color:#ffe39b!important;font-size:14px!important;font-weight:950!important;white-space:nowrap!important;pointer-events:none!important}
  html body.ddz-site-page .ddz-toolbar>.v163-turn-timer.v164-independent-timer.active{background:#0f4b5a!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#ffe39b!important}
  html body.ddz-site-page .ddz-toolbar .top-actions{grid-column:3!important;justify-self:end!important}
  html body.ddz-site-page .ddz-toolbar :is(#audio-toggle,#help-open,#settings-open,#v120-landscape-toggle,.start-btn){font-size:14.5px!important;font-weight:950!important}
}

html.ddz-mobile-landscape body.ddz-site-page .ddz-toolbar{
  grid-template-columns:minmax(calc(245px * var(--ddz-ls,1)),calc(330px * var(--ddz-ls,1))) auto minmax(0,1fr)!important;
  gap:3px!important;
}
html.ddz-mobile-landscape body.ddz-site-page .ddz-toolbar .scoreboard{grid-column:1!important;grid-template-columns:repeat(4,minmax(calc(55px * var(--ddz-ls,1)),1fr))!important;gap:2px!important}
html.ddz-mobile-landscape body.ddz-site-page .ddz-toolbar .scoreboard div,
html.ddz-mobile-landscape body.ddz-site-page #v120-reset-stats{min-height:calc(32px * var(--ddz-ls,1))!important;height:calc(32px * var(--ddz-ls,1))!important;padding:2px calc(4px * var(--ddz-ls,1))!important}
html.ddz-mobile-landscape body.ddz-site-page .ddz-toolbar .scoreboard small{font-size:calc(11.5px * var(--ddz-ls,1))!important}
html.ddz-mobile-landscape body.ddz-site-page .ddz-toolbar .scoreboard strong{font-size:calc(17px * var(--ddz-ls,1))!important}
html.ddz-mobile-landscape body.ddz-site-page #v120-reset-stats{font-size:calc(12px * var(--ddz-ls,1))!important}
html.ddz-mobile-landscape body.ddz-site-page .ddz-toolbar>.v163-turn-timer.v164-independent-timer{grid-column:2!important;grid-row:1!important;position:static!important;transform:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:calc(68px * var(--ddz-ls,1))!important;height:calc(31px * var(--ddz-ls,1))!important;padding:2px calc(6px * var(--ddz-ls,1))!important;border:1px solid rgba(255,227,155,.56)!important;border-radius:999px!important;background:rgba(255,255,255,.075)!important;color:#ffe39b!important;-webkit-text-fill-color:#ffe39b!important;font-size:calc(11.5px * var(--ddz-ls,1))!important;font-weight:950!important;white-space:nowrap!important;pointer-events:none!important}
html.ddz-mobile-landscape body.ddz-site-page .ddz-toolbar>.v163-turn-timer.v164-independent-timer.active{background:#0f4b5a!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#ffe39b!important}
html.ddz-mobile-landscape body.ddz-site-page .ddz-toolbar .top-actions{grid-column:3!important;grid-row:1!important;justify-self:end!important}
html.ddz-mobile-landscape body.ddz-site-page .ddz-toolbar :is(#audio-toggle,#help-open,#settings-open,.start-btn){font-size:calc(12.5px * var(--ddz-ls,1))!important;font-weight:950!important}

html.ddz-mobile-landscape body.ddz-site-page .bottom-cards{min-height:calc(76px * var(--ddz-ls,1))!important;gap:4px!important}
html.ddz-mobile-landscape body.ddz-site-page .bottom-cards>.mini-card{flex:0 0 calc(52px * var(--ddz-ls,1))!important;min-width:calc(52px * var(--ddz-ls,1))!important;width:calc(52px * var(--ddz-ls,1))!important;max-width:calc(52px * var(--ddz-ls,1))!important;height:calc(72px * var(--ddz-ls,1))!important;min-height:calc(72px * var(--ddz-ls,1))!important;max-height:calc(72px * var(--ddz-ls,1))!important;padding:3px 4px!important;margin:2px!important}
html.ddz-mobile-landscape body.ddz-site-page .bottom-cards>.qily-mini-business b{font-size:calc(17px * var(--ddz-ls,1))!important;line-height:1!important}
html.ddz-mobile-landscape body.ddz-site-page .bottom-cards>.qily-mini-business small{font-size:calc(7.4px * var(--ddz-ls,1))!important;line-height:1.05!important;font-weight:850!important}
html.ddz-mobile-landscape body.ddz-site-page .v120-play-stage{min-height:calc(108px * var(--ddz-ls,1))!important;max-height:calc(132px * var(--ddz-ls,1))!important}
html.ddz-mobile-landscape body.ddz-site-page .v120-play-card{flex:0 0 calc(58px * var(--ddz-ls,1))!important;width:calc(58px * var(--ddz-ls,1))!important;height:calc(84px * var(--ddz-ls,1))!important;margin-left:calc(-5px * var(--ddz-ls,1))!important}
html.ddz-mobile-landscape body.ddz-site-page .v120-play-card .qily-card-corner{left:3px!important;top:3px!important}
html.ddz-mobile-landscape body.ddz-site-page .v120-play-card .qily-card--normal .qily-rank-suit-line b{font-size:calc(18px * var(--ddz-ls,1))!important;line-height:.95!important}
html.ddz-mobile-landscape body.ddz-site-page .v120-play-card .qily-card-theme{inset:27px 3px 7px!important;gap:1px!important}
html.ddz-mobile-landscape body.ddz-site-page .v120-play-card .qily-card-theme>small{font-size:calc(5.5px * var(--ddz-ls,1))!important}
html.ddz-mobile-landscape body.ddz-site-page .v120-play-card .qily-card-theme>strong{font-size:calc(10px * var(--ddz-ls,1))!important;line-height:1.02!important}
html.ddz-mobile-landscape body.ddz-site-page .v120-play-card .qily-card-theme>b{font-size:calc(7px * var(--ddz-ls,1))!important;line-height:1.05!important}
html.ddz-mobile-landscape body.ddz-site-page .v120-play-card .qily-card-theme>em{font-size:calc(5.4px * var(--ddz-ls,1))!important;line-height:1.05!important}

html.ddz-ios-virtual-landscape:root:root body.ddz-site-page .ddz-toolbar{grid-template-columns:250px 62px minmax(0,1fr)!important;gap:3px!important}
html.ddz-ios-virtual-landscape:root:root body.ddz-site-page .ddz-toolbar .scoreboard{grid-column:1!important;grid-template-columns:repeat(4,minmax(54px,1fr))!important;gap:2px!important}
html.ddz-ios-virtual-landscape:root:root body.ddz-site-page .ddz-toolbar .scoreboard small{font-size:10.5px!important}
html.ddz-ios-virtual-landscape:root:root body.ddz-site-page .ddz-toolbar .scoreboard strong{font-size:15.5px!important}
html.ddz-ios-virtual-landscape:root:root body.ddz-site-page #v120-reset-stats{font-size:11px!important;min-height:29px!important;height:29px!important}
html.ddz-ios-virtual-landscape:root:root body.ddz-site-page .ddz-toolbar>.v163-turn-timer.v164-independent-timer{grid-column:2!important;grid-row:1!important;position:static!important;transform:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:60px!important;height:28px!important;padding:2px 4px!important;border:1px solid rgba(255,227,155,.56)!important;border-radius:999px!important;background:rgba(255,255,255,.075)!important;color:#ffe39b!important;-webkit-text-fill-color:#ffe39b!important;font-size:10px!important;font-weight:950!important;white-space:nowrap!important;pointer-events:none!important}
html.ddz-ios-virtual-landscape:root:root body.ddz-site-page .ddz-toolbar>.v163-turn-timer.v164-independent-timer.active{background:#0f4b5a!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#ffe39b!important}
html.ddz-ios-virtual-landscape:root:root body.ddz-site-page .ddz-toolbar .top-actions{grid-column:3!important;grid-row:1!important;justify-self:end!important}
html.ddz-ios-virtual-landscape:root:root body.ddz-site-page .bottom-cards{min-height:66px!important;gap:3px!important}
html.ddz-ios-virtual-landscape:root:root body.ddz-site-page .bottom-cards>.mini-card{flex:0 0 48px!important;min-width:48px!important;width:48px!important;max-width:48px!important;height:66px!important;min-height:66px!important;max-height:66px!important;padding:3px!important;margin:2px!important}
html.ddz-ios-virtual-landscape:root:root body.ddz-site-page .bottom-cards>.qily-mini-business b{font-size:15px!important;line-height:1!important}
html.ddz-ios-virtual-landscape:root:root body.ddz-site-page .bottom-cards>.qily-mini-business small{font-size:6.7px!important;font-weight:850!important}
html.ddz-ios-virtual-landscape:root:root body.ddz-site-page .v120-play-stage{min-height:96px!important;max-height:118px!important}
html.ddz-ios-virtual-landscape:root:root body.ddz-site-page .v120-play-card{flex:0 0 54px!important;width:54px!important;height:78px!important;margin-left:-4px!important}
html.ddz-ios-virtual-landscape:root:root body.ddz-site-page .v120-play-card .qily-card--normal .qily-rank-suit-line b{font-size:17px!important;line-height:.95!important}
html.ddz-ios-virtual-landscape:root:root body.ddz-site-page .v120-play-card .qily-card-theme{inset:25px 3px 7px!important;gap:1px!important}
html.ddz-ios-virtual-landscape:root:root body.ddz-site-page .v120-play-card .qily-card-theme>small{font-size:5.2px!important}
html.ddz-ios-virtual-landscape:root:root body.ddz-site-page .v120-play-card .qily-card-theme>strong{font-size:9.2px!important;line-height:1.02!important}
html.ddz-ios-virtual-landscape:root:root body.ddz-site-page .v120-play-card .qily-card-theme>b{font-size:6.5px!important}
html.ddz-ios-virtual-landscape:root:root body.ddz-site-page .v120-play-card .qily-card-theme>em{font-size:5px!important}

/* ===== played-table-v169.css */
/* Persistent, synchronous played cards in the open area between the status and hand. */
html body.ddz-site-page #ddz-played-table {
  position:absolute;z-index:8;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;box-sizing:border-box;padding:0;min-width:0;
}
html body.ddz-site-page #ddz-played-table[hidden]{display:none!important}
#ddz-played-table .ddz-player-play {
  min-width:0;min-height:0;display:flex;flex-direction:column;box-sizing:border-box;
  padding:12px;border:1px solid rgba(231,221,181,.28);border-radius:16px;
  background:rgba(3,49,51,.48);color:#fff;overflow:hidden;
}
#ddz-played-table .ddz-player-play.is-current {
  border:2px solid #f6cf6b;padding:11px;background:rgba(5,63,62,.78);
  box-shadow:0 0 0 3px rgba(246,207,107,.10);
}
#ddz-played-table .ddz-play-heading {display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:clamp(14px,1.3vw,22px);line-height:1.3;white-space:nowrap}
#ddz-played-table .ddz-play-heading strong{color:#fff;-webkit-text-fill-color:#fff}
#ddz-played-table .ddz-play-heading small{font-size:.66em;font-weight:600;color:#cee6df;-webkit-text-fill-color:#cee6df}
#ddz-played-table .ddz-play-badge {border-radius:999px;background:rgba(224,243,235,.12);color:#e0f3eb;-webkit-text-fill-color:#e0f3eb;padding:3px 8px;font-size:.63em;font-weight:800}
#ddz-played-table .is-current .ddz-play-badge {color:#123d43;-webkit-text-fill-color:#123d43;background:#f6cf6b}
#ddz-played-table .ddz-play-description{font-size:clamp(11px,1vw,16px);line-height:1.5;color:#dfebe4;-webkit-text-fill-color:#dfebe4;margin:3px 0 8px}
#ddz-played-table .ddz-play-cards {flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:4px}
#ddz-played-table .ddz-play-row {display:flex;align-items:center;justify-content:center;min-width:0;width:100%}
#ddz-played-table .ddz-play-card {
  flex:0 0 var(--played-w,64px);width:var(--played-w,64px);height:var(--played-h,94px);
  margin-left:var(--played-overlap,0);box-sizing:border-box;padding:5px 3px;border:1px solid #cbd6d1;
  border-radius:7px;background:linear-gradient(135deg,#fff,#edf6f2);color:#172f32;-webkit-text-fill-color:#172f32;
  box-shadow:-2px 2px 5px rgba(0,0,0,.2);display:flex;flex-direction:column;align-items:flex-start;
  font-family:Arial,'PingFang SC',sans-serif;line-height:1;overflow:hidden;
}
#ddz-played-table .ddz-play-card:first-child{margin-left:0}
#ddz-played-table .ddz-play-card b {font-size:var(--played-rank,26px);font-weight:900;letter-spacing:-.06em;line-height:1}
#ddz-played-table .ddz-play-card i {font-size:var(--played-rank,26px);font-style:normal;line-height:1.1}
#ddz-played-table .ddz-play-card.is-red{color:#c92533;-webkit-text-fill-color:#c92533}
#ddz-played-table .ddz-play-card.is-joker b{font-size:calc(var(--played-rank,26px) * .7);writing-mode:vertical-rl;letter-spacing:0}
#ddz-played-table .ddz-play-empty{align-self:center;color:#d1e8df;-webkit-text-fill-color:#d1e8df;font-size:14px}
html body.ddz-site-page #ddz-played-table.is-compact{gap:5px}
#ddz-played-table.is-compact .ddz-player-play{padding:5px;border-radius:8px}
#ddz-played-table.is-compact .ddz-player-play.is-current{padding:4px}
#ddz-played-table.is-compact .ddz-play-heading{font-size:12px;line-height:15px}
#ddz-played-table.is-compact .ddz-play-badge{padding:1px 4px;font-size:9px}
#ddz-played-table.is-compact .ddz-play-description{font-size:10px;line-height:12px;margin:0 0 3px}
#ddz-played-table.is-compact .ddz-play-heading small{display:none}
#ddz-played-table.is-compact .ddz-play-card{padding:2px;border-radius:4px}
#ddz-played-table.is-compact .ddz-play-empty{font-size:11px}

/* Keep the bottom cards and narration side by side on short mobile tables. */
html:root:root:is(.ddz-mobile-landscape,.ddz-ios-virtual-landscape,.ddz-short-table) body.ddz-site-page .center-area {
  width:calc(100% - 196px)!important;max-width:none!important;padding-inline:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)!important;
  grid-template-rows:auto auto!important;align-items:center!important;gap:2px 6px!important;
}
html:root:root:is(.ddz-mobile-landscape,.ddz-ios-virtual-landscape,.ddz-short-table) body.ddz-site-page .center-area .round-meta{display:none!important}
html:root:root:is(.ddz-mobile-landscape,.ddz-ios-virtual-landscape,.ddz-short-table) body.ddz-site-page .bottom-zone{grid-column:1!important;grid-row:1/3!important;margin:0!important}
html:root:root:is(.ddz-mobile-landscape,.ddz-ios-virtual-landscape,.ddz-short-table) body.ddz-site-page .bottom-label{font-size:9px!important;line-height:11px!important}
html:root:root:is(.ddz-mobile-landscape,.ddz-ios-virtual-landscape,.ddz-short-table) body.ddz-site-page #bottom-cards{gap:3px!important;min-height:44px!important;height:44px!important;margin:2px 0 0!important}
html:root:root:is(.ddz-mobile-landscape,.ddz-ios-virtual-landscape,.ddz-short-table) body.ddz-site-page #bottom-cards>.mini-card,
html:root:root:is(.ddz-mobile-landscape,.ddz-ios-virtual-landscape,.ddz-short-table) body.ddz-site-page #bottom-cards>.bottom-back{flex:0 0 32px!important;min-width:32px!important;width:32px!important;max-width:32px!important;height:44px!important;min-height:44px!important;max-height:44px!important;margin:0!important;padding:2px!important;transform:none!important;border-radius:5px!important}
html:root:root:is(.ddz-mobile-landscape,.ddz-ios-virtual-landscape,.ddz-short-table) body.ddz-site-page #bottom-cards b{font-size:14px!important;line-height:1!important}
html:root:root:is(.ddz-mobile-landscape,.ddz-ios-virtual-landscape,.ddz-short-table) body.ddz-site-page #bottom-cards small{font-size:6px!important}
html:root:root:is(.ddz-mobile-landscape,.ddz-ios-virtual-landscape,.ddz-short-table) body.ddz-site-page #status{grid-column:2!important;grid-row:1!important;min-width:0!important;min-height:22px!important;width:100%!important;margin:0!important;padding:3px!important;font-size:12px!important;line-height:16px!important}
html:root:root:is(.ddz-mobile-landscape,.ddz-ios-virtual-landscape,.ddz-short-table) body.ddz-site-page #center-play{grid-column:2!important;grid-row:2!important;min-width:0!important;align-self:start!important}
html:root:root:is(.ddz-mobile-landscape,.ddz-ios-virtual-landscape,.ddz-short-table) body.ddz-site-page #center-play :is(.play-owner,.center-tip){font-size:10px!important;line-height:13px!important;white-space:normal!important;margin:0!important;padding:1px 3px!important}

/* Portrait keeps normal page scrolling and gives each player a full-width row. */
html:root:root.ddz-mobile-portrait:not(.ddz-ios-virtual-landscape) body.ddz-site-page .table-wrap:has(#ddz-played-table:not([hidden])){height:980px!important;min-height:980px!important;max-height:none!important}
html body.ddz-site-page #ddz-played-table.is-stacked{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(3,minmax(0,1fr));gap:8px}
#ddz-played-table.is-stacked .ddz-player-play{padding:6px 10px;border-radius:10px}
#ddz-played-table.is-stacked .ddz-player-play.is-current{padding:5px 9px}
#ddz-played-table.is-stacked .ddz-play-heading{font-size:14px;line-height:18px}
#ddz-played-table.is-stacked .ddz-play-description{font-size:11px;line-height:13px;margin:0 0 4px}
html:root:root.ddz-mobile-portrait:not(.ddz-ios-virtual-landscape) body.ddz-site-page #center-play .play-owner{max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;font-size:12px!important;line-height:16px!important}

#ddz-played-table.is-tight .ddz-play-description{display:none}
#ddz-played-table.is-tight .ddz-play-heading{margin-bottom:3px}
#ddz-played-table.is-tight .ddz-play-heading strong:after{content:attr(data-count);font-size:9px;font-weight:600}

@media (max-height:350px) and (orientation:landscape){
  html:root:root.ddz-mobile-landscape body.ddz-site-page .bottom-label{display:none!important}
  html:root:root.ddz-mobile-landscape body.ddz-site-page #bottom-cards{height:34px!important;min-height:34px!important;margin:0!important}
  html:root:root.ddz-mobile-landscape body.ddz-site-page #bottom-cards>.mini-card{height:34px!important;min-height:34px!important;max-height:34px!important}
  html:root:root.ddz-mobile-landscape body.ddz-site-page #bottom-cards small{display:none!important}
  html:root:root.ddz-mobile-landscape body.ddz-site-page #center-play .play-owner{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;font-size:9px!important;line-height:10px!important}
  html:root:root.ddz-mobile-landscape body.ddz-site-page #status{min-height:18px!important;padding:1px!important;line-height:14px!important;font-size:10px!important}
  #ddz-played-table.is-tight .ddz-play-card{padding:1px}
  #ddz-played-table.is-tight .ddz-player-play{padding:3px}
  #ddz-played-table.is-tight .ddz-player-play.is-current{padding:2px}
}
