/* Knockout Dolls 7.7 · Desktop lobby layout */
#menu.kd77-menu{display:block;position:fixed;inset:0;padding:0;overflow:hidden;background:transparent;isolation:isolate;}
.kd77-vignette{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#0b1725fb 0%,#0c1924eb 21%,#12202a26 36%,#101d2700 62%,#0b1826c7 78%,#0b1725f5 100%),linear-gradient(0deg,#0a1826e8 0%,transparent 25%,transparent 79%,#0b1725b0 100%);}
.kd77-top{height:84px;position:absolute;top:0;left:0;right:0;padding:18px 2.5% 12px;z-index:5;display:flex;align-items:center;gap:34px;background:linear-gradient(180deg,#0b1622e0,#0c182400);}
.kd77-brand{display:flex;align-items:center;gap:11px;color:#f5f4de;text-decoration:none;}
.kd77-logo{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--lime);color:#1a2b33;transform:rotate(-7deg);font:bold italic 40px Arial;letter-spacing:-9px;padding-right:10px;box-shadow:0 8px 30px #0004;}
.kd77-logo span{font-size:23px;}
.kd77-brand>span:last-child{display:flex;flex-direction:column;gap:0;letter-spacing:2px;}
.kd77-brand b{font-size:11px;line-height:1.2;}.kd77-brand strong{font-size:21px;line-height:1;letter-spacing:2.7px;}.kd77-brand small{font:8px var(--mono);letter-spacing:1.5px;color:#a5bbc2;margin-top:6px;}
.kd77-edition{font:9px var(--mono);letter-spacing:1.5px;color:#b3c7c6}.kd77-edition i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 14px #d3f3766b;margin-right:6px}.kd77-edition em{color:#5b7585;font-style:normal}
.kd77-top-actions{margin-left:auto;display:flex;gap:10px}.kd77-top-actions button{padding:10px 13px;border-radius:10px;background:#1a2b3ada;border:1px solid #8da6ae50;color:#e2ebdf;font:800 10px Arial,sans-serif;min-width:40px}.kd77-top-actions button:hover{border-color:var(--lime);background:#243847}.kd77-top-actions .kd77-help{border-radius:50%;width:39px;height:39px;min-width:39px;font-size:17px}
.kd77-layout{position:absolute;inset:82px 0 35px;display:grid;grid-template-columns:minmax(280px,25%) minmax(300px,1fr) minmax(345px,27%);gap:0;padding:0 clamp(18px,2.6vw,54px);pointer-events:none;}
.kd77-layout button,.kd77-layout input,.kd77-layout select{pointer-events:auto}
.kd77-left{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(36px,7vh,94px) 0 30px;min-width:0;}
.kd77-overline{display:flex;align-items:center;gap:9px;color:#c3d6d0;letter-spacing:2.5px;font:9px var(--mono);}.kd77-overline i{width:7px;height:7px;background:var(--lime);border-radius:50%}
.kd77-intro h1{font-size:clamp(65px,6.8vw,122px);line-height:.85;letter-spacing:-6px;margin:24px 0 30px;max-width:470px;text-shadow:0 8px 18px #0006}
.kd77-intro h1 em{display:inline;color:var(--lime)}.kd77-intro h1 .spark{font-size:.48em;right:6%;top:-14px;color:var(--red);letter-spacing:normal}
.kd77-intro p{font-size:clamp(12px,1vw,15px);line-height:1.65;color:#d0d9d8;max-width:325px;margin:0 0 28px}
.kd77-features{display:flex;flex-wrap:wrap;gap:7px;max-width:330px}.kd77-features span{padding:9px 10px;border:1px solid #9fb9aa58;border-radius:6px;background:#132532b5;color:#cbded1;font:8px var(--mono);letter-spacing:1px}
.kd77-records{max-width:370px;padding-top:17px;border-top:1px solid #8b9ca04d}.kd77-sectionlabel{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#d4e4e0;font:9px var(--mono);letter-spacing:1.9px;margin-bottom:14px}.kd77-sectionlabel span{color:#86a0a9;font:7px var(--mono);letter-spacing:.9px;white-space:nowrap}
.kd77-recordgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.kd77-recordgrid>div{border:1px solid #7690954d;border-radius:12px;background:#132531ca;padding:16px 12px;min-height:90px;display:flex;flex-direction:column;justify-content:space-between}.kd77-recordgrid strong{font-size:clamp(23px,2vw,32px);font-weight:900;letter-spacing:-1.5px;color:#f5f5e1}.kd77-recordgrid span{font:8px var(--mono);color:#b5c9c2;letter-spacing:1px}.kd77-records p{color:#7e99a7;font-size:9px;line-height:1.5;margin:12px 0 0}
.kd77-stage{position:relative;min-width:0;z-index:0;pointer-events:none}.kd77-stage-top{position:absolute;top:62px;left:50%;transform:translateX(-50%);font:8px var(--mono);white-space:nowrap;letter-spacing:1.5px;color:#b4cac3;text-shadow:0 2px 8px #000}.kd77-stage-top span{color:var(--lime);margin:0 6px}
.kd77-stage-bottom{position:absolute;bottom:12.6%;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;white-space:nowrap;text-shadow:0 3px 12px #000}.kd77-stage-bottom i{width:124px;height:4px;background:linear-gradient(90deg,transparent,var(--lime),transparent);box-shadow:0 0 18px #d3f376a9;margin-bottom:10px}.kd77-stage-bottom strong{font:bold italic clamp(22px,2.7vw,34px) Arial;letter-spacing:-.6px;line-height:1}.kd77-stage-bottom small{font:8px var(--mono);letter-spacing:2px;color:#b6d0c4}
.kd77-right{display:flex;flex-direction:column;gap:18px;padding:20px 0 18px;min-width:0;max-height:100%;overflow-y:auto;pointer-events:auto;scrollbar-width:thin;scrollbar-color:#48616a transparent;}
.kd77-fighter-panel,.kd77-party,.kd77-play-panel{border:1px solid #8ca1a959;border-radius:18px;background:linear-gradient(145deg,#10202fee,#0a1521f5);padding:20px;backdrop-filter:blur(7px);box-shadow:0 18px 46px #0007;}
.kd77-fighter-name{letter-spacing:-.8px;font:bold italic clamp(25px,2.45vw,42px) Arial;letter-spacing:-1.4px;line-height:1;margin-bottom:14px;overflow-wrap:anywhere}
.kd77-character-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:13px}.kd77-character-stats div{padding:10px 8px;background:#0b1b27c4;border-radius:8px;border:1px solid #69818b3b;display:flex;flex-direction:column;gap:6px}.kd77-character-stats span{font:7px var(--mono);color:#98b0b8;letter-spacing:.8px}.kd77-character-stats strong{font-size:clamp(11px,1vw,15px);white-space:nowrap;color:#eef1e7}
.kd77-edit{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(180deg,#2b4350,#243a47);border:1px solid #9dc48b63;border-radius:11px;font-size:11px;font-weight:900;letter-spacing:.5px;color:#efffd0;box-shadow:inset 0 1px 0 #ffffff10}.kd77-edit span{font-size:19px}.kd77-edit:hover{background:linear-gradient(180deg,#334d5b,#29414d);border-color:var(--lime)}
.kd77-party-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.kd77-party-row button{padding:15px 8px;font-weight:900;font-size:11px;border-radius:10px;background:linear-gradient(180deg,#27404f,#203748);color:#e3ece4;border:1px solid #7795a05a;box-shadow:inset 0 1px 0 #ffffff0d}.kd77-party-row button:first-child{color:#d6f78d;border-color:#d3f37686}.kd77-party-row button:hover{background:linear-gradient(180deg,#325061,#294452)}
.kd77-party .kd-online-panel{max-width:100%;margin:11px 0 0;padding:12px;max-height:min(48vh,430px);overflow-y:auto;pointer-events:auto}
.kd77-party .kd-online-panel[hidden]{display:none!important}
.kd77-play-panel{margin-top:auto;background:linear-gradient(160deg,#182a36ee,#0d1c29f0);border-color:#adc3aa78;}
.kd77-play-panel .match-options{display:flex;flex-direction:column;align-items:stretch;gap:9px;margin:0}.kd77-play-panel .opponents{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:3px;padding:4px;background:#0a1b27}.kd77-play-panel .opponents button{padding:11px 1px;font-size:9px;letter-spacing:.1px;text-align:center;white-space:nowrap}.kd77-play-panel .opponents button.selected{background:#d3f376;color:#18272d;font-weight:900}.kd77-play-panel .difficulty-label{justify-content:space-between}.kd77-play-panel #modeHint{font-size:10px;margin:11px 0;color:#aabfbd;line-height:1.5}
.kd77-play{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;min-height:98px;padding:14px 22px;background:linear-gradient(180deg,#e7ff90 0%,#d3f376 55%,#c3e65e 100%);color:#14222b;border:2px solid #efffb5;border-radius:19px;box-shadow:0 9px 0 #74973a,0 20px 34px #0009,inset 0 1px 0 #ffffffe8;transition:transform .15s,background .15s,box-shadow .15s,font-size .15s;font-size:clamp(31px,3.8vw,58px);font-weight:1000;font-style:italic;letter-spacing:-2.7px;text-shadow:none}.kd77-play strong{font:inherit}.kd77-play:hover{background:linear-gradient(180deg,#f0ffae 0%,#def886 58%,#c9eb66 100%);transform:translateY(-2px);box-shadow:0 11px 0 #74973a,0 24px 38px #0009,inset 0 1px 0 #fffffff0}.kd77-play:active{transform:translateY(5px);box-shadow:0 2px 0 #74973a,0 8px 18px #0007}.kd77-play-icon{display:inline-grid;place-items:center;font-size:17px;background:#172835;color:#ddff9b;width:40px;height:40px;border-radius:50%;font-style:normal;letter-spacing:0;box-shadow:inset 0 1px 0 #ffffff15}.kd77-play-arrow{margin-left:auto;font-size:29px;font-style:normal;letter-spacing:0}
.kd77-play-foot{margin-top:15px;display:flex;align-items:center;justify-content:space-between;gap:10px}.kd77-play-foot>div{display:flex;flex-direction:column;gap:3px}.kd77-play-foot b{font:7px var(--mono);color:#9fb4b7;letter-spacing:1px}.kd77-play-foot strong{font-size:15px;font-style:italic;letter-spacing:.4px}.kd77-play-foot .pieces{font-size:9px}
.mode-ghost{position:absolute!important;width:0!important;height:0!important;padding:0!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}
.kd77-footer{position:absolute;bottom:0;left:0;right:0;padding:0 2.6% 17px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;color:#78959d;font:8px var(--mono);letter-spacing:1.5px}
@media(max-width:1360px) and (min-width:901px){.kd77-layout{grid-template-columns:minmax(225px,26%) minmax(220px,1fr) minmax(300px,30%);padding:0 2.2vw}.kd77-intro h1{font-size:clamp(61px,7vw,99px)}.kd77-right{gap:9px;padding:8px 0}.kd77-fighter-panel,.kd77-party,.kd77-play-panel{padding:13px}.kd77-play{min-height:75px;font-size:38px}.kd77-intro p{max-width:260px}.kd77-top{height:70px;padding-top:12px}.kd77-layout{top:70px}}
@media(max-height:800px) and (min-width:901px){.kd77-top{height:64px;padding-top:9px}.kd77-layout{top:64px;bottom:27px}.kd77-left{padding-top:24px}.kd77-intro h1{margin:15px 0 20px;font-size:clamp(58px,6vw,94px)}.kd77-intro p{font-size:11px;margin-bottom:17px}.kd77-right{padding:5px 0;gap:8px}.kd77-fighter-panel,.kd77-party,.kd77-play-panel{padding:12px;border-radius:11px}.kd77-play{min-height:70px;font-size:35px}.kd77-fighter-name{letter-spacing:-.8px;font-size:28px;margin-bottom:10px}.kd77-sectionlabel{margin-bottom:10px}.kd77-character-stats{margin-bottom:9px}.kd77-edit{padding:9px 11px}.kd77-party-row button{padding:10px 5px}.kd77-recordgrid>div{min-height:70px;padding:11px}.kd77-footer{padding-bottom:9px}}
/* Preserve a functional, compact mobile menu; the desktop lobby is the focus. */
@media(max-width:900px){#menu.kd77-menu{overflow-y:auto;overflow-x:hidden;touch-action:pan-y}.kd77-vignette{background:linear-gradient(90deg,#0d1926f8,#0d1926bb 65%,#0d1926aa)}.kd77-top{position:relative;height:55px;padding:8px 15px}.kd77-brand .kd77-logo{width:32px;height:32px;font-size:24px;letter-spacing:-5px;border-radius:7px}.kd77-logo span{font-size:13px}.kd77-brand b{font-size:7px}.kd77-brand strong{font-size:12px}.kd77-brand small,.kd77-edition,.kd77-top-actions button span{display:none}.kd77-top-actions button{font-size:9px;padding:7px;min-width:25px}.kd77-top-actions .kd77-help{width:27px;height:27px;min-width:27px;font-size:12px}.kd77-layout{position:relative;inset:auto;display:grid;grid-template-columns:minmax(180px,1fr) minmax(210px,1fr);padding:6px 20px 20px;gap:15px;min-height:calc(100dvh - 75px)}.kd77-left{padding:8px 0}.kd77-intro h1{font-size:clamp(42px,7vw,58px);letter-spacing:-3px;margin:12px 0}.kd77-intro p{font-size:9px;max-width:280px;margin-bottom:10px}.kd77-overline{font-size:7px}.kd77-features{display:none}.kd77-records{margin-top:auto}.kd77-recordgrid{gap:5px}.kd77-recordgrid>div{padding:8px;min-height:53px}.kd77-recordgrid strong{font-size:17px}.kd77-recordgrid span,.kd77-records p,.kd77-sectionlabel{font-size:6px}.kd77-stage{display:none}.kd77-right{padding:0;gap:6px;max-height:none}.kd77-fighter-panel,.kd77-party,.kd77-play-panel{padding:9px;border-radius:10px}.kd77-fighter-name{letter-spacing:-.8px;font-size:21px;margin-bottom:8px}.kd77-character-stats div{padding:5px}.kd77-character-stats span{font-size:5px}.kd77-character-stats strong{font-size:8px}.kd77-edit{padding:8px;font-size:8px}.kd77-party-row button{font-size:8px;padding:8px 2px}.kd77-play-panel .opponents button{font-size:7px;padding:7px 0}.kd77-play-panel #modeHint{font-size:8px;margin:4px 0}.kd77-play{min-height:47px;border-radius:9px;font-size:25px;box-shadow:0 4px 0 #74973a;gap:8px;letter-spacing:-1px}.kd77-play-icon{width:25px;height:25px;font-size:12px}.kd77-play-arrow{font-size:16px}.kd77-play-foot{margin-top:9px}.kd77-play-foot strong{font-size:10px}.kd77-play-foot .pieces{font-size:7px}.kd77-footer{position:relative;padding:5px 15px 10px;font-size:5px}}
@media(max-height:470px) and (max-width:900px) and (orientation:landscape){.kd77-intro h1{font-size:40px}.kd77-records{display:none}.kd77-layout{padding:0 15px 12px}.kd77-left{justify-content:center}.kd77-right{max-height:calc(100dvh - 58px)}.kd77-fighter-panel .kd77-character-stats{display:none}.kd77-play{min-height:42px;font-size:23px}.kd77-party .kd-online-panel{max-height:200px}}
/* Keep Play reachable in phone landscape while desktop is the redesigned lobby. */
@media(max-width:900px) and (max-height:470px) and (orientation:landscape){
 .kd77-right .kd77-play-panel{order:-1}
 .kd77-right .kd77-party{order:0}
 .kd77-right .kd77-fighter-panel{order:1}
 .kd77-right{overflow-y:auto;scrollbar-width:none}
}

/* V7.8: character showcase / cleaner title / hidden duplicated online tab */
.kd78-brand-title{display:flex;flex-direction:column;align-items:flex-start;gap:0;max-width:100%;font-weight:1000;font-style:italic;letter-spacing:-.055em;line-height:.92!important;margin:24px 0 23px!important;font-size:clamp(47px,4.35vw,88px)!important;text-shadow:0 10px 28px #0008;}
.kd78-brand-title>span{display:block;font-size:.94em;white-space:nowrap;letter-spacing:-.065em;}
.kd78-brand-title em{font-style:italic;color:var(--lime);font-size:1.22em;white-space:nowrap;letter-spacing:-.068em;}
.kd78-title-dot{color:#ff997a;}
.kd77-intro p{max-width:360px;margin-bottom:22px;}
.kd77-stage{pointer-events:auto;cursor:grab;touch-action:pan-y;user-select:none;filter:saturate(1.10) contrast(1.10) brightness(.92);}
.kd77-stage:active{cursor:grabbing;}
.kd77-stage-top,.kd77-stage-bottom{pointer-events:none;}
.kd78-rotation-reset{pointer-events:auto;cursor:pointer;border:1px solid #a4bcc866;color:#e5efd8;background:#12212bda;border-radius:18px;font:8px var(--mono);letter-spacing:.7px;margin-top:8px;padding:9px 13px;}
.kd78-rotation-reset:hover{background:#243845;border-color:var(--lime);}
.kd78-rotation-reset{min-width:176px;text-align:center;box-shadow:inset 0 1px 0 #ffffff0f;}

.kd77-play-panel .opponents{grid-template-columns:repeat(3,minmax(0,1fr));}
.kd77-play-panel .opponents [data-opponent="online"]{display:none!important;}
.kd77-vignette{background:linear-gradient(90deg,#02070ffb 0%,#040c16ee 18%,#03101a26 37%,#03101a00 63%,#050d18d1 79%,#02070ffa 100%),linear-gradient(0deg,#02060ee0 0%,transparent 23%,transparent 76%,#02060ee0 100%);}
@media(max-width:1360px) and (min-width:901px){.kd78-brand-title{font-size:clamp(44px,4.2vw,66px)!important;}}
@media(max-width:900px){.kd78-brand-title{font-size:clamp(37px,6vw,55px)!important;margin:10px 0!important}.kd77-stage{display:none}.kd77-intro p{margin-bottom:10px;}}

/* V7.8.3: black-box cinematic lighting. Stage remains free of CSS filters so the white key light stays white. */
@media(min-width:901px){.kd77-stage{filter:none!important}}
.kd77-vignette{background:linear-gradient(90deg,#000205fa 0%,#01050bfa 19%,#01040812 36%,#01030700 64%,#01050cdb 79%,#000205fa 100%),linear-gradient(0deg,#000205ed 0%,transparent 23%,transparent 74%,#000205ee 100%)}

/* V7.8.7 — accurate 3D character axis: shared by all showcase labels */
@media(min-width:901px){
 #kd78ShowcaseControl .kd77-stage-top,
 #kd78ShowcaseControl .kd77-stage-bottom{
  left:var(--kd-model-axis,50%)!important;
  transform:translateX(-50%)!important;
  text-align:center;
  width:max-content;
  max-width:92%;
 }
 #kd78ShowcaseControl .kd77-stage-top{top:var(--kd-model-top,24px)!important;}
 #kd78ShowcaseControl .kd77-stage-bottom{top:var(--kd-model-bottom,auto)!important;bottom:auto!important;
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;
 }
 #kd78ShowcaseControl .kd77-stage-bottom>strong,
 #kd78ShowcaseControl .kd77-stage-bottom>small,
 #kd78ShowcaseControl .kd78-rotation-reset{display:block;margin-left:auto!important;margin-right:auto!important;text-align:center!important;}
 #kd78ShowcaseControl .kd77-stage-bottom i{margin-left:auto;margin-right:auto;}
}
