:root{--bg:#070b1b;--panel:#10192e;--panel2:#121d36;--stroke:rgba(139,170,241,.17);--muted:#8595b5;--light:#f2f8ff;--cyan:#55e7fa;--purple:#ad80ff;--pink:#ff5db1;--yellow:#ffe783;--radius:17px;color-scheme:dark}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--light);font-family:Inter,"Segoe UI",system-ui,-apple-system,Arial,sans-serif;font-weight:500;overscroll-behavior:none}body{touch-action:pan-y;user-select:none;-webkit-user-select:none}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}a{color:#96f8ff}.space-layer{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0;background:radial-gradient(ellipse at 46% -10%,#18254d 0,transparent 48%),linear-gradient(180deg,#080e22 0,#050912 100%)}.glow{position:absolute;width:600px;height:500px;filter:blur(70px);opacity:.15;border-radius:50%}.glow-a{background:#6b51e9;top:0;left:-290px}.glow-b{background:#0896a8;bottom:-280px;right:-160px}.starscape{position:absolute;inset:0;opacity:.5;background-image:radial-gradient(1px 1px at 8% 15%,#fff 96%,transparent),radial-gradient(1px 1px at 16% 86%,#99cfff 96%,transparent),radial-gradient(1.5px 1.5px at 37% 7%,#b1d3ff 96%,transparent),radial-gradient(1px 1px at 58% 56%,#fff 96%,transparent),radial-gradient(1px 1px at 85% 42%,#fff 96%,transparent),radial-gradient(1.5px 1.5px at 92% 91%,#cfb4ff 96%,transparent);background-size:310px 310px,400px 300px,450px 320px,500px 400px,350px 380px,420px 450px}.app-shell{position:relative;z-index:1;max-width:1310px;margin:0 auto;padding:0 24px}.site-header{min-height:95px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--stroke)}.identity{display:flex;align-items:center;gap:16px}.identity-mark{width:52px;height:52px;position:relative;filter:drop-shadow(0 0 16px #2bbbd072)}.identity-mark span{position:absolute;border:1px solid #abffff81;width:21px;height:21px;border-radius:5px;transform:rotate(9deg)}.identity-mark span:nth-child(1){left:2px;top:2px;background:linear-gradient(145deg,#9c77f9,#5339b0)}.identity-mark span:nth-child(2){left:24px;top:2px;background:linear-gradient(145deg,#59e9f6,#2279ba)}.identity-mark span:nth-child(3){left:2px;top:24px;background:linear-gradient(145deg,#55e8f9,#2788b6)}.identity-mark span:nth-child(4){left:24px;top:24px;background:linear-gradient(145deg,#ff61b5,#a63c8d)}.eyebrow{font-size:10px;letter-spacing:2.8px;color:var(--cyan);font-weight:850}.identity h1{margin:4px 0 0;font-size:clamp(18px,2.15vw,27px);font-weight:930;letter-spacing:1.15px;line-height:1.08}.identity h1 em{font-style:normal;color:#aeb3ff}.header-actions{display:flex;align-items:center;gap:10px}.header-actions button{border:1px solid var(--stroke);background:#151e32d9;color:#d9e6ff;border-radius:11px;height:42px;padding:0 14px;font-weight:750;font-size:12px;display:flex;align-items:center;gap:8px}.header-actions svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.header-actions .install-top{border-color:#6ef1eaa1;color:#091629;background:linear-gradient(120deg,#63f9e9,#82b4fa);box-shadow:0 3px 24px #3ae9e52c}.play-area{display:grid;grid-template-columns:minmax(195px,230px) minmax(300px,365px) minmax(195px,230px);align-items:start;justify-content:center;gap:26px;padding:28px 0 16px}.side-panel{min-width:0;padding-top:19px}.panel-intro{margin-bottom:21px}.panel-kicker{font-size:10px;font-weight:850;color:#83edf1;letter-spacing:2px;display:flex;align-items:center;gap:8px}.signal-dot,.green-dot{display:inline-block;width:7px;height:7px;background:#4df9be;box-shadow:0 0 11px #42fab4;border-radius:50%;flex-shrink:0}.panel-intro h2{font-size:clamp(26px,2.8vw,38px);letter-spacing:-1px;line-height:1.04;margin:17px 0 12px;font-weight:970}.panel-intro h2 strong{color:var(--cyan)}.panel-intro p{font-size:12px;font-weight:500;line-height:1.65;color:var(--muted);margin:0;max-width:180px}.score-card,.record-card,.next-card,.hold-card,.tips-card{background:linear-gradient(155deg,#172441c9,#101a30d6);border:1px solid var(--stroke);border-radius:var(--radius)}.score-card{padding:16px}.metric-label{letter-spacing:1.7px;font-size:10px;color:var(--muted);font-weight:800}.metric-value{font-size:30px;font-weight:900;font-variant-numeric:tabular-nums;margin-top:7px;letter-spacing:1px}.primary-score .metric-value{color:var(--cyan);text-shadow:0 0 21px #3cd8ee55}.micro-bar{height:3px;background:#263653;border-radius:4px;margin-top:14px;overflow:hidden}.micro-bar span{display:block;height:100%;width:16%;background:linear-gradient(90deg,#81cfff,#be79f9)}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.metric-grid .score-card{padding:16px 12px}.metric-value.small{font-size:29px}.record-card{display:flex;gap:13px;align-items:center;padding:16px;margin-top:11px}.record-card svg{width:28px;height:28px;fill:none;stroke:#ffe88e;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.record-card strong{display:block;margin-top:7px;font-size:21px;color:#ffe9a7}.panel-bottom{font-size:10px;letter-spacing:1.1px;color:#596f91;margin-top:22px;display:flex;align-items:center;gap:8px}.tiny-light{width:5px;height:5px;border-radius:50%;background:#61a9e4}.game-column{min-width:0}.game-topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:11px}.tiny-title{font-size:10px;color:#b8a3fa;font-weight:850;letter-spacing:1.75px}.status-label{display:flex;align-items:center;gap:6px;color:#c7d9f8;font-weight:850;font-size:10px;letter-spacing:1.2px;margin-top:5px}.status-label .signal-dot{width:6px;height:6px}.topbar-buttons{display:flex;gap:7px}.small-action{display:flex;align-items:center;gap:6px;justify-content:center;min-height:36px;padding:0 11px;color:#b9c6e5;font-size:12px;font-weight:750;border:1px solid var(--stroke);background:#13203a;border-radius:9px}.board-frame{width:min(100%,330px);aspect-ratio:1/2;position:relative;margin:0 auto;border-radius:12px;overflow:hidden;background:#070e20;box-shadow:0 16px 55px #010611c7,0 0 38px #4bd9ee16;border:1px solid #69c9ef70;touch-action:none}.board-edge{position:absolute;pointer-events:none;inset:0;border:4px solid #91d2fd14;border-radius:11px;z-index:3;box-shadow:inset 0 0 22px #68bffb20}.board-frame>canvas{display:block;width:100%;height:100%;touch-action:none}.message-pop{position:absolute;top:9%;right:10px;max-width:65%;font-size:13px;font-weight:950;color:#fff;letter-spacing:1px;text-align:right;text-shadow:0 2px 15px #fff9;z-index:4;opacity:0;transform:translateY(-9px);transition:opacity .13s,transform .2s;pointer-events:none}.message-pop.show{opacity:1;transform:translateY(0)}.board-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:5;padding:18px;background:linear-gradient(180deg,#080e25d7,#060b19ee);backdrop-filter:blur(7px);text-align:center}.board-overlay[hidden]{display:none}.overlay-content{max-width:300px}.overlay-super{font-size:10px;font-weight:900;letter-spacing:2px;color:#73ebff}.overlay-symbol{font-size:65px;margin:4px 0 0;color:#88eaff;text-shadow:0 0 35px #58e9ff,0 0 70px #9057f9}.overlay-content h2{font-size:clamp(23px,3vw,36px);line-height:1.08;margin:10px 0 12px;letter-spacing:-.7px;font-weight:950}.overlay-content h2 em{font-style:normal;color:#87eff7}.overlay-content p{line-height:1.58;font-size:13px;color:#a9bfd9;margin:0 auto 21px;max-width:240px}.primary-btn{display:flex;align-items:center;justify-content:space-between;gap:14px;width:min(100%,235px);margin:0 auto;min-height:49px;padding:0 18px;border:0;border-radius:10px;background:linear-gradient(110deg,#62e4ef,#a29fff);color:#061329;font-weight:950;font-size:13px;letter-spacing:.5px;box-shadow:0 8px 27px #58d8fb44}.primary-btn span{font-size:20px}.overlay-foot{display:block;font-size:8px;letter-spacing:1.1px;color:#6a80a3;margin-top:21px;font-weight:850}.touch-controls{display:flex;align-items:stretch;justify-content:space-between;gap:12px;width:min(100%,365px);margin:12px auto 0;touch-action:none}.control-group{display:flex;gap:7px}.control-btn{height:56px;min-width:52px;padding:4px 10px;background:#18253ecf;border:1px solid #4c65835e;box-shadow:inset 0 1px 0 #bbd8ff14;color:#e4f4ff;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-direction:column;touch-action:none;user-select:none;-webkit-user-select:none;transition:background .08s,transform .08s}.control-btn:active,.control-btn.is-pressed{background:#324468;transform:scale(.96)}.control-btn .glyph{font-size:25px;line-height:27px;font-weight:650}.control-btn small{font-size:8px;letter-spacing:1px;font-weight:850;color:#9cabc4}.control-btn.accent-control{border-color:#65cded70;color:#8de7ff}.control-btn.hot-control{border-color:#b29bff83;color:#d1b2ff;background:#29244de0}.control-btn.hold-control{color:#ffe098;border-color:#d2ab7673}.keyboard-tip{font-size:9px;line-height:1.5;text-align:center;color:#6b829e;margin:13px auto 0;max-width:380px;letter-spacing:.2px}.keyboard-tip b{color:#a9bfd7}.next-card,.hold-card{padding:16px;margin-bottom:13px}.side-heading{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:1.5px;font-weight:850;color:#cfe8ff}.small-badge{color:#a4c0dd;background:#273455;padding:4px 6px;border-radius:6px;font-size:10px}.next-card canvas,.hold-card canvas{width:100%;height:auto;max-height:106px;display:block;margin:7px auto}.hold-card p{font-size:11px;color:#8196b6;line-height:1.6;margin:4px 0 0}.tips-card{padding:15px}.tip-row{display:flex;justify-content:space-between;align-items:center;gap:5px;border-bottom:1px solid #ffffff0e;padding:10px 0;font-size:11px;color:#92a4c4}.tip-row:last-child{border:0}.tip-row b{color:#d9e5ff;font-size:11px}.site-footer{border-top:1px solid var(--stroke);display:flex;justify-content:space-between;padding:14px 0 19px;font-size:9px;letter-spacing:1.5px;color:#627999;font-weight:850}.site-footer span:last-child{display:flex;align-items:center;gap:9px}.mobile-dashboard{display:none}.modal-dialog{position:fixed;margin:auto;width:min(460px,calc(100vw - 28px));max-height:min(78dvh,720px);overflow-y:auto;background:linear-gradient(155deg,#152341,#090f26);border:1px solid #4a669c80;box-shadow:0 25px 85px #000d,0 0 60px #557cdd22;color:#e6f2ff;border-radius:18px;padding:0}.modal-dialog::backdrop{background:#010512bd;backdrop-filter:blur(5px)}.modal-head{position:sticky;top:0;background:#14213bec;padding:20px 24px;display:flex;align-items:start;justify-content:space-between;border-bottom:1px solid var(--stroke)}.modal-head h2{font-size:21px;margin:5px 0 0;letter-spacing:.5px}.close-btn{border:1px solid #879dc335;color:#e0ebff;width:34px;height:34px;border-radius:8px;background:#1a2843}.modal-body{padding:20px 24px 25px;font-size:13px;line-height:1.75;color:#b1c2dc}.modal-body strong{color:white}.modal-body h3{color:#7bd8ed;margin:20px 0 4px;font-size:12px;letter-spacing:1px}.modal-body p{margin-top:0}.modal-note{background:#152c49;border:1px solid #46688570;border-radius:10px;padding:13px;color:#bde4e4}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.help-grid>div{background:#162743;border:1px solid #ffffff12;padding:10px;border-radius:8px;display:flex;flex-direction:column;gap:3px}.help-grid strong{color:#85f0fe}.help-grid span{font-size:11px}.setting-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff19;padding:13px 0;gap:12px}.setting-row:first-child{padding-top:0}.setting-row p{color:#849bb7;font-size:11px;margin:3px 0 0}.setting-row strong{font-size:13px}.toggle{width:50px;height:28px;border-radius:20px;border:1px solid #6588a77c;padding:3px;background:#53627c;flex-shrink:0}.toggle span{display:block;width:20px;height:20px;border-radius:50%;background:#eaf2fd;transition:transform .18s}.toggle[aria-checked="true"]{background:linear-gradient(90deg,#199fa8,#6c77ee)}.toggle[aria-checked="true"] span{transform:translateX(21px)}.volume-setting label{font-size:12px}.volume-setting input{width:35%;accent-color:var(--cyan)}.volume-setting output{font-size:12px;color:#8fe4f3}.update-banner{position:fixed;z-index:50;bottom:20px;left:50%;transform:translateX(-50%);width:min(95vw,460px);padding:12px;gap:12px;align-items:center;background:#122544;border:1px solid #5fe2df;border-radius:12px;box-shadow:0 12px 45px #000b;font-size:12px}.update-banner:not([hidden]){display:flex}.update-banner>div{flex:1}.update-banner button{padding:9px;background:#59dfd6;border:none;border-radius:7px;color:#061a21;font-weight:800}.update-banner button:last-child{color:white;background:transparent;font-size:22px;padding:0 4px}
@media(max-width:1000px){.app-shell{padding:0 12px}.play-area{gap:16px;grid-template-columns:minmax(160px,205px) minmax(295px,335px) minmax(160px,205px)}.control-btn{min-width:46px;padding:4px 7px}.side-panel{padding-top:8px}}
@media(max-width:760px){.site-header{min-height:60px;padding:7px 0}.identity{gap:10px}.identity-mark{width:35px;height:35px;transform:scale(.7);transform-origin:left center;margin-right:-9px}.identity h1{font-size:16px;letter-spacing:.6px}.eyebrow{font-size:8px;letter-spacing:1.4px}.header-actions{gap:5px}.header-actions button{padding:0 9px;height:35px;border-radius:9px}.header-actions .icon-btn span{display:none}.header-actions .install-top{font-size:10px}.header-actions svg{width:16px}.play-area{display:block;padding:12px 0 5px}.side-panel{display:none}.game-column{max-width:460px;margin:auto}.game-topbar{margin-bottom:6px}.tiny-title{font-size:8px}.status-label{font-size:9px;margin-top:2px}.small-action{min-height:29px;padding:0 9px;font-size:11px}.mobile-dashboard{display:flex;align-items:stretch;justify-content:space-between;gap:6px;margin-bottom:8px}.mob-value,.mobile-preview{background:#111e34bc;border:1px solid #44648452;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}.mob-value{flex:1.15;padding:5px 4px}.mob-value span,.mobile-preview span{font-size:8px;letter-spacing:.6px;font-weight:850;color:#8aa3c4;white-space:nowrap}.mob-value b{font-size:clamp(11px,3.5vw,17px);font-variant-numeric:tabular-nums;white-space:nowrap}.mob-value i{font-style:normal}.mobile-preview{flex:1;padding:3px 4px}.mobile-preview canvas{height:31px;width:auto;max-width:100%;object-fit:contain}.board-frame{width:min(100%,300px,calc((100dvh - 284px)/2));min-width:145px}.touch-controls{width:min(100%,385px);margin:8px auto 0;gap:7px}.control-group{gap:5px}.control-btn{height:50px;min-width:48px;padding:4px 8px}.control-btn .glyph{font-size:24px;line-height:26px}.keyboard-tip{display:none}.site-footer{font-size:8px;letter-spacing:.7px;padding:9px 0}.overlay-content h2{font-size:clamp(22px,6vw,30px)}.overlay-symbol{font-size:50px}.overlay-content p{font-size:12px}.overlay-foot{font-size:7px}}
@media(max-width:390px){.app-shell{padding:0 9px}.identity h1{font-size:14px}.identity .eyebrow{font-size:7px}.header-actions .install-top{padding:0 8px}.control-btn{min-width:40px;padding:3px 5px}.control-group{gap:4px}.touch-controls{gap:5px}.control-btn small{font-size:7px}}
@media(max-height:560px) and (orientation:landscape) and (max-width:980px){.site-header{min-height:45px}.identity h1{font-size:14px}.site-footer{display:none}.play-area{padding:6px 0}.game-column{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:auto 1fr;max-width:100%;align-items:center;gap:6px 9px}.game-topbar{grid-column:1/-1;margin:0}.mobile-dashboard{grid-column:1;grid-row:2;flex-wrap:wrap;align-content:center;justify-content:center;max-width:180px}.mobile-dashboard>*{flex:1 1 70px;min-height:45px}.board-frame{grid-column:2;grid-row:2;width:min(38vh,205px);min-width:120px}.touch-controls{grid-column:3;grid-row:2;flex-wrap:wrap;align-content:center;justify-content:center;max-width:205px}.control-group{width:100%;justify-content:center}.control-btn{height:43px;min-width:39px;padding:2px 6px}.control-btn .glyph{font-size:20px;line-height:21px}.control-btn small{font-size:7px}.board-overlay{padding:7px}.overlay-symbol{font-size:24px;margin:0}.overlay-content h2{font-size:17px;margin:4px 0}.overlay-content p{font-size:9px;margin:3px 0 7px}.overlay-foot{display:none}.overlay-super{font-size:7px}.primary-btn{font-size:9px;min-height:30px;padding:0 8px}.board-frame{box-shadow:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:.001ms!important}}
/* Pantallas horizontales pequeñas: tablero centrado, paneles fuera de la vista */
@media(max-height:560px) and (orientation:landscape) and (max-width:980px){
  .app-shell{padding:0 9px}
  .site-header{min-height:43px;padding:3px 0}
  .identity h1{font-size:14px}
  .identity .eyebrow{font-size:7px}
  .identity-mark{transform:scale(.62);transform-origin:left center;margin-right:-12px}
  .header-actions{gap:5px}.header-actions button{height:31px;padding:0 8px}
  .header-actions .icon-btn span{display:none}
  .play-area{display:block;padding:4px 0}
  .side-panel{display:none}
  .game-column{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:28px auto;max-width:100%;align-items:center;gap:4px 9px}
  .game-topbar{grid-column:1/-1;grid-row:1;margin:0;min-height:28px}
  .tiny-title{font-size:8px}.status-label{font-size:8px;margin-top:0}
  .small-action{min-height:27px;font-size:10px}
  .mobile-dashboard{display:flex;grid-column:1;grid-row:2;flex-wrap:wrap;align-content:center;justify-content:center;max-width:180px;margin:0}
  .mobile-dashboard>*{flex:1 1 69px;min-height:43px}
  .mobile-preview canvas{height:27px}
  .board-frame{grid-column:2;grid-row:2;width:min(38vh,205px);min-width:110px;box-shadow:0 2px 12px #0006}
  .touch-controls{grid-column:3;grid-row:2;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;max-width:205px;margin:0}
  .control-group{justify-content:center;width:100%;gap:4px}
  .control-btn{height:43px;min-width:37px;padding:3px 5px;border-radius:8px}
  .control-btn .glyph{font-size:20px;line-height:21px}
  .control-btn small{font-size:7px}
  .keyboard-tip,.site-footer{display:none}
  .board-overlay{padding:5px}.overlay-super{font-size:7px;letter-spacing:.5px}.overlay-symbol{font-size:25px;margin:0}
  .overlay-content h2{font-size:17px;margin:3px 0 4px}.overlay-content p{font-size:8px;line-height:1.35;margin:3px auto 8px}
  .primary-btn{font-size:9px;min-height:30px;padding:0 8px}.overlay-foot{display:none}
}
@media(max-height:560px) and (orientation:landscape) and (max-width:980px){
 .mobile-dashboard{display:grid;grid-template-columns:1fr 1fr;gap:5px;max-width:195px;width:100%;margin:0}
 .mob-value,.mobile-preview{min-width:0;min-height:44px;background:#111e34dc;border:1px solid #44648452;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 3px}
 .mob-value span,.mobile-preview span{display:block;font-size:7px;letter-spacing:.35px;font-weight:850;color:#8aa3c4;white-space:nowrap}
 .mob-value b{display:block;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
 .mob-value i{font-style:normal}
 .mobile-preview canvas{height:23px;width:auto;max-width:96%}
}
