:root{
  --bg:#02101f;
  --panel:#051b33;
  --panel-2:#08162a;
  --line:#0f4573;
  --line-soft:rgba(45,133,208,.32);
  --blue:#13b8ff;
  --blue-2:#0f73ff;
  --steam:#0a2d57;
  --purple:#8b33ff;
  --orange:#ff7a17;
  --green:#20df9a;
  --text:#f3f7fb;
  --muted:#9db5cb;
  --danger:#ff4d5e;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:radial-gradient(circle at 50% 20%,#073566 0%,#031223 50%,#020913 100%);font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);overflow:hidden}
body{padding:14px}
button{font:inherit}
.window-frame{
  height:calc(100vh - 28px); border-radius:24px; overflow:hidden; position:relative;
  display:grid; grid-template-columns:315px 1fr; background:linear-gradient(180deg,#03172d 0%,#071427 100%);
  border:1px solid rgba(75,202,255,.82);
  box-shadow:0 0 0 2px rgba(39,177,255,.15), 0 0 24px rgba(0,149,255,.45), inset 0 0 28px rgba(0,153,255,.09);
}
.window-frame::before{
  content:""; position:absolute; inset:10px; border-radius:18px; pointer-events:none; border:1px solid rgba(34,124,193,.42);
}
.sidebar{
  position:relative; padding:22px 18px 12px; background:linear-gradient(180deg,#020f1f 0%,#030b15 100%); border-right:1px solid rgba(27,102,158,.42); display:flex; flex-direction:column;
}
.brand-block{display:flex;align-items:center;gap:18px;padding:6px 8px 30px 10px}
.gamepad-logo{position:relative;width:110px;height:88px;flex:0 0 auto}
.pad-body{
  position:absolute;left:4px;right:12px;bottom:6px;height:58px;border-radius:26px 26px 32px 32px/22px 22px 28px 28px;
  background:linear-gradient(180deg,#27d5ff,#0ba9ff); box-shadow:0 0 0 1px rgba(255,255,255,.08), 0 16px 34px rgba(7,174,255,.2);
}
.pad-body::before,.pad-body::after{content:"";position:absolute;top:14px;width:20px;height:20px;border-radius:50%;background:#06294e}
.pad-body::before{left:18px;box-shadow:13px 0 0 #06294e,6.5px -6.5px 0 0 #06294e,6.5px 6.5px 0 0 #06294e}
.pad-body::after{right:18px;width:7px;height:7px;box-shadow:0 0 0 0 #06294e, 12px -8px 0 0 #06294e, 14px 5px 0 0 #06294e, 2px 11px 0 0 #06294e}
.pad-wire{position:absolute;left:52px;top:-4px;width:4px;height:34px;background:linear-gradient(180deg,#2ce0ff,#0da9ff);border-radius:12px}
.pad-wire::before{content:"";position:absolute;top:-18px;left:-28px;width:64px;height:30px;border:4px solid #17c9ff;border-bottom:0;border-radius:24px 24px 0 0;opacity:.96}
.brand-name{font-size:34px;line-height:.94;font-weight:800;letter-spacing:-.05em;color:#fff}
.brand-name span{display:block;color:#1bc0ff}
.brand-tagline{font-size:12px;font-weight:700;letter-spacing:.05em;color:#f6fbff;margin-top:10px}
.side-nav{display:flex;flex-direction:column;gap:6px;padding:4px}
.nav-item{
  min-height:48px;height:auto;border-radius:15px;border:1px solid transparent;background:transparent;color:#f4fbff;display:flex;align-items:center;gap:10px;padding:9px 10px;font-size:18px;font-weight:600;cursor:pointer;transition:.18s ease;
}
.nav-item .nav-icon{font-size:31px;line-height:1;display:grid;place-items:center;width:38px;flex:0 0 38px}
.nav-item:hover{background:rgba(15,86,150,.18)}
.nav-item.active{background:linear-gradient(90deg,#118ff7,#1765f6);border-color:rgba(120,214,255,.18);box-shadow:0 10px 25px rgba(8,111,224,.28)}
.side-footer{margin-top:auto;display:flex;align-items:center;gap:9px;padding:10px 6px 4px;border-top:1px solid rgba(28,88,138,.34);font-size:15px;color:#eef8ff}
.side-footer .version{margin-left:auto;color:#cfe8fb}
.content-shell{position:relative;padding:26px 28px 18px 22px;display:flex;flex-direction:column;min-width:0;background:radial-gradient(circle at 55% 0%,rgba(6,55,110,.25),transparent 38%),linear-gradient(180deg,#04152a 0%,#04101f 100%)}
.window-controls{position:absolute;top:18px;right:22px;display:flex;gap:8px;z-index:7}
.window-controls button{width:38px;height:32px;border:0;background:transparent;color:#fff;font-size:22px;cursor:pointer;border-radius:8px}
.window-controls button:hover{background:rgba(255,255,255,.08)}
.view{display:none;flex-direction:column;min-height:0;flex:1}.view.active{display:flex}

.home-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;min-height:110px;padding:18px 4px 10px 8px}
.home-header h1{margin:0;font-size:66px;line-height:.92;letter-spacing:-.055em;font-weight:900}
.home-header p{margin:10px 0 0;color:#d8e5f2;font-size:22px}
.system-status{display:flex;align-items:center;border:1px solid var(--line-soft);border-radius:16px;background:rgba(2,23,45,.52);padding:12px 16px;min-width:470px;box-shadow:inset 0 0 12px rgba(255,255,255,.02)}
.status-card{display:flex;align-items:center;gap:12px;min-width:200px}
.status-card strong{display:block;font-size:20px;font-weight:700}
.status-card span{display:block;font-size:16px;margin-top:3px}
.status-card .ok{color:var(--green)}.status-card .blue{color:#0fb8ff}
.status-icon{font-size:38px;line-height:1}.status-icon.drive{color:var(--green)}.status-icon.laptop{color:#10baff}.status-divider{width:1px;height:52px;background:#174065;margin:0 16px}
.hd-status{min-width:250px}
.wifi-chip{margin-left:auto;position:relative;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(5,35,64,.88);border:1px solid rgba(43,115,176,.4)}
.wifi-symbol{font-size:22px;line-height:1;filter:grayscale(1) brightness(1.5)}
.wifi-chip.online .wifi-symbol{filter:none;color:#1bbcff}
.wifi-chip.offline .wifi-symbol{filter:grayscale(1) brightness(1.1)}
.wifi-slash{display:none}
.wifi-chip.offline .wifi-slash{display:block;position:absolute;width:28px;height:3px;background:var(--danger);transform:rotate(-45deg);border-radius:4px;box-shadow:0 0 8px rgba(255,77,94,.45)}

.platform-grid{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1.05fr;grid-template-rows:1fr 1fr;gap:12px;padding:0 2px}
.platform-card{
  position:relative;overflow:hidden;border-radius:18px;border:1px solid rgba(25,131,214,.76);cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,filter .16s ease;min-height:0;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
}
.platform-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,10,24,.18),transparent 35%);pointer-events:none}
.platform-card:hover{transform:translateY(-2px)}
.platform-card.focused{
  border-color:#76e6ff; box-shadow:0 0 0 2px rgba(92,232,255,.42),0 0 20px rgba(26,175,255,.55),0 0 45px rgba(26,175,255,.32), inset 0 0 0 1px rgba(255,255,255,.12); transform:translateY(-2px) scale(1.004); filter:saturate(1.08);
}
.platform-card.ps2{background:radial-gradient(circle at 68% 42%,#0e4bb7 0%,#082d78 30%,#041b44 72%)}
.platform-card.gamecube{background:radial-gradient(circle at 70% 44%,#7b1fe6 0%,#50158c 38%,#261052 76%);border-color:rgba(134,49,255,.85)}
.platform-card.dreamcast{background:radial-gradient(circle at 70% 42%,#ff6612 0%,#c73505 43%,#6c1707 85%);border-color:#d7470d}
.platform-card.steam{background:radial-gradient(circle at 70% 44%,#08345d 0%,#062746 32%,#031322 78%);border-color:#174d82}
.card-copy{position:relative;z-index:5;height:100%;padding:22px 22px 18px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;width:55%}
.platform-card p{font-size:24px;line-height:1.22;margin:14px 0 12px;color:#fff;text-shadow:0 1px 3px #000}
.platform-brand,.steam-brand{display:flex;align-items:center;gap:9px;font-size:43px;font-weight:700;letter-spacing:-.04em;white-space:nowrap}
.ps-symbol{font-weight:900;color:#ff2445;font-size:55px;text-shadow:13px 12px 0 #19d358,5px 8px 0 #f4ca00}
.platform-title{font-size:53px;font-weight:800;line-height:1.04;letter-spacing:-.04em}
.nintendo-pill{font-size:33px;line-height:1;font-weight:900;color:#df0f1b;background:white;border:6px solid #f11d3a;border-radius:999px;padding:5px 18px;margin-bottom:10px}
.sega-logo{font-size:68px;line-height:.85;font-weight:1000;color:#fff;-webkit-text-stroke:3px #0068ce;text-shadow:0 0 2px #fff;letter-spacing:-.08em}
.steam-dot{font-size:44px}.steam-brand{font-size:50px}
.open-button{margin-top:auto;border:0;border-radius:13px;color:white;font-weight:800;background:linear-gradient(90deg,#0399e8,#009cfe);padding:16px 22px;min-width:175px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;box-shadow:0 12px 24px rgba(0,0,0,.18);font-size:26px}
.gamecube-button{background:linear-gradient(90deg,#7f2df2,#9d39ff)}
.dreamcast-button{background:linear-gradient(90deg,#ff6a17,#ff8a0f)}
.steam-button{background:linear-gradient(90deg,#063a72,#0a65ad)}
.platform-art{position:absolute;right:0;top:0;width:58%;height:100%;z-index:2;overflow:hidden}
.platform-art::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,var(--fade-color,#092b68) 0%,rgba(0,0,0,0) 34%)}
.platform-card.ps2{--fade-color:#0a347b}.platform-card.gamecube{--fade-color:#531694}.platform-card.dreamcast{--fade-color:#c73e0b}.platform-card.steam{--fade-color:#052441}
.platform-art img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(1.08) contrast(1.03)}
.ps-shapes{position:absolute;right:40%;top:7%;font-size:58px;line-height:1.08;color:rgba(20,125,255,.76);z-index:3;font-weight:700;text-align:center}
.cube-mark{position:absolute;right:28%;top:6%;z-index:3;font-size:140px;line-height:1;color:rgba(122,43,255,.56)}
.dreamcast-swirl{position:absolute;right:23%;top:1%;z-index:3;font-size:150px;color:rgba(255,127,46,.53)}
.home-footer{height:42px;display:flex;justify-content:flex-end;align-items:center;gap:16px;font-size:18px;color:#eef6ff;padding:10px 2px 0}.home-footer strong{color:var(--green);font-weight:700}.footer-separator{height:22px;width:1px;background:#8396aa}.ready-dot{width:12px;height:12px;background:var(--green);border-radius:50%;box-shadow:0 0 10px rgba(25,229,163,.6)}

.library-header{min-height:90px;display:flex;align-items:center;justify-content:space-between;padding:6px 6px 12px}
.library-header h1{margin:0;font-size:42px;letter-spacing:-.04em}
.library-platforms{display:flex;gap:8px;flex-wrap:wrap;margin:0 6px 12px;flex-shrink:0}
.library-platforms button{border:1px solid #164c78;background:#031a31;color:#b8d0e5;border-radius:12px;padding:9px 14px;font-size:14px;font-weight:700;cursor:pointer}
.library-platforms button:hover{border-color:#26d3ff;color:#fff}
.library-platforms button[aria-pressed="true"]{background:linear-gradient(90deg,#07578b,#103f78);border-color:#26d3ff;color:#fff}
.library-platforms button:focus-visible{outline:2px solid #fff;outline-offset:3px}
#libraryView .library-feature{flex-shrink:1;min-height:210px}
.library-header p{margin:7px 0 0;color:#b8cadc;font-size:18px}
.back-link{border:0;background:transparent;color:#19bdff;padding:0 0 8px;font-weight:800;cursor:pointer;font-size:16px}
.library-meta-right{display:flex;gap:10px;align-items:center}
.library-badge{border:1px solid #164c78;background:#031a31;border-radius:12px;padding:12px 16px;font-size:15px;color:#b8d0e5}
.library-badge.emphasis{background:#08223e;color:#dff5ff}
.library-feature{position:relative;height:38vh;min-height:250px;max-height:390px;border:1px solid rgba(18,113,194,.55);border-radius:18px;overflow:hidden;background:#082447;margin-bottom:16px}
.feature-art{position:absolute;inset:0;background:linear-gradient(135deg,#20133c,#0a4d70)}
.feature-art::after{content:attr(data-watermark);position:absolute;right:6%;top:12%;font-size:110px;font-weight:900;color:rgba(255,255,255,.06);letter-spacing:-.08em;text-transform:uppercase;white-space:nowrap}
.feature-shadow{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,10,25,.98) 0%,rgba(2,10,25,.9) 38%,rgba(2,10,25,.12) 76%),linear-gradient(0deg,rgba(2,10,25,.58),transparent 45%)}
.feature-copy{position:relative;z-index:3;height:100%;display:flex;flex-direction:column;justify-content:center;width:62%;padding:32px 36px}.feature-kicker{font-size:12px;color:#22c8ff;letter-spacing:.18em;font-weight:800}.feature-copy h2{font-size:52px;line-height:1;margin:7px 0 10px;letter-spacing:-.05em}.feature-copy p{font-size:16px;line-height:1.5;color:#c7d5e6;margin:0 0 12px;max-width:650px}.feature-meta{display:flex;gap:8px;color:#87a1bb;font-size:13px;margin-bottom:18px;flex-wrap:wrap}.feature-play,.modal-back{border:0;border-radius:12px;padding:14px 18px;font-weight:800;display:inline-flex;align-items:center;gap:10px;width:max-content;cursor:pointer;font-size:18px}.feature-play{background:linear-gradient(90deg,#00b8ff,#1a71ff);color:white}.keycap{width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;background:rgba(0,0,0,.25);font-size:12px}.keycap.secondary{background:rgba(255,255,255,.12)}
.games-viewport{min-height:190px;overflow:hidden;flex:1;padding:4px 2px 8px}.games-row{height:100%;display:flex;align-items:stretch;gap:14px;transition:transform .25s ease;will-change:transform}.game-card{flex:0 0 170px;min-width:170px;position:relative;border-radius:14px;overflow:hidden;border:2px solid transparent;background:#0a1a30;opacity:.78;transform:scale(.97);transition:.15s}.game-card.focused{border-color:#26d3ff;opacity:1;transform:scale(1);box-shadow:0 0 0 2px rgba(38,211,255,.14),0 12px 24px rgba(0,0,0,.35)}.game-card-art{position:absolute;inset:0}.game-card-art::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,10,24,.98) 0%,rgba(2,10,24,.2) 54%,transparent 80%)}.game-card-copy{position:absolute;z-index:2;left:12px;right:12px;bottom:11px}.game-card-title{font-size:16px;font-weight:800;line-height:1.05}.game-card-genre{font-size:10px;color:#d2deea;margin-top:4px}.game-card-class{display:inline-block;margin-top:7px;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.12);font-size:10px;color:#f1fbff}
.control-help{height:38px;display:flex;align-items:center;justify-content:center;gap:22px;color:#91a8bf;font-size:12px}.control-help span{display:flex;align-items:center;gap:6px}.keycap.small{width:18px;height:18px;font-size:8px}.controller-state{margin-left:auto}.controller-state i{width:8px;height:8px;background:#6b7788;border-radius:50%}.controller-state.connected{color:#cffff0}.controller-state.connected i{background:var(--green);box-shadow:0 0 8px rgba(25,229,163,.8)}

.simple-view{align-items:center;justify-content:center;padding:18px 0}.simple-card{width:min(980px,92%);padding:38px 40px;border:1px solid #174973;border-radius:24px;background:linear-gradient(145deg,#051a31,#071428);box-shadow:0 20px 60px rgba(0,0,0,.35)}.simple-card .big-icon{font-size:44px;color:#18baff}.simple-card h1{font-size:42px;margin:10px 0 12px}.simple-card p{color:#aebed0;line-height:1.6}.simple-action{border:0;border-radius:12px;background:#078eee;color:#fff;font-weight:700;padding:14px 22px;cursor:pointer;font-size:16px;margin-top:22px}
.support-intro{margin-bottom:18px}
.tips-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}
.tip-item{padding:16px 16px 14px;border-radius:16px;background:rgba(8,31,54,.72);border:1px solid rgba(26,92,146,.48);display:flex;flex-direction:column;gap:6px}
.tip-item strong{font-size:16px}.tip-item span{font-size:14px;color:#c8d6e3;line-height:1.45}
.support-note{margin-top:18px;padding:18px;border-radius:16px;background:rgba(13,43,68,.76);border:1px solid rgba(43,124,190,.35);display:flex;flex-direction:column;gap:8px;color:#d8e7f2}
.settings-list{margin-top:22px;display:flex;flex-direction:column;gap:12px}
.setting-row{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:16px;background:rgba(8,31,54,.72);border:1px solid rgba(26,92,146,.48);gap:12px}
.setting-row span{font-size:16px;font-weight:600}.setting-row-note small{color:#b5cbdd}
.ghost-button{border:1px solid rgba(83,162,225,.48);background:rgba(10,55,93,.62);color:#eef9ff;border-radius:12px;padding:10px 16px;cursor:pointer;font-weight:700}

.game-modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center}.game-modal.hidden{display:none}.modal-backdrop{position:absolute;inset:0;background:rgba(0,5,14,.84);backdrop-filter:blur(8px)}.modal-panel{position:relative;z-index:2;width:min(930px,86vw);min-height:420px;border:1px solid #1d669b;border-radius:18px;overflow:hidden;background:#06152a;display:grid;grid-template-columns:40% 60%;box-shadow:0 28px 90px rgba(0,0,0,.58),0 0 28px rgba(0,120,255,.16)}.modal-art{min-height:420px;background:linear-gradient(145deg,#163169,#552044)}.modal-copy{padding:44px 40px;display:flex;flex-direction:column;justify-content:center}.modal-copy h2{font-size:40px;margin:7px 0 9px}.modal-copy p{color:#adc0d4;line-height:1.55;font-size:16px;margin:0 0 22px}.modal-actions{display:flex;gap:9px;flex-wrap:wrap}.modal-back{color:#fff;background:#0e2742;border:1px solid #235278}.launch-status{margin-top:13px;min-height:18px;color:#7fcef8;font-size:13px}
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);z-index:80;background:#061a2f;border:1px solid #1a6ca4;border-radius:9px;padding:12px 18px;color:#e7f6ff;font-size:13px;box-shadow:0 13px 40px rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}

@media (max-width:1450px){
  .window-frame{grid-template-columns:260px 1fr}
  .brand-name{font-size:29px}.home-header h1{font-size:52px}.home-header p{font-size:20px}
  .platform-brand,.steam-brand{font-size:34px}.platform-title{font-size:40px}.platform-card p{font-size:19px}.open-button{font-size:22px;padding:13px 18px;min-width:150px}.sega-logo{font-size:54px}.nintendo-pill{font-size:27px}.ps-shapes{font-size:44px}
}
@media (max-height:820px){
  .sidebar{padding-top:26px}.brand-block{padding-bottom:20px}.nav-item{height:56px;font-size:16px}.window-frame{height:calc(100vh - 24px)}
  .content-shell{padding-top:24px}.home-header{min-height:92px}.home-header h1{font-size:50px}.home-header p{font-size:18px}
  .platform-grid{gap:10px}.platform-card p{font-size:18px}.platform-brand,.steam-brand{font-size:34px}.platform-title{font-size:41px}.nintendo-pill{font-size:26px}.sega-logo{font-size:52px}.open-button{padding:12px 16px;font-size:21px;min-width:148px}.ps-shapes{font-size:44px}.cube-mark{font-size:110px}.dreamcast-swirl{font-size:120px}.home-footer{font-size:15px;height:36px}
  .feature-copy h2{font-size:44px}.games-viewport{min-height:172px}
}

/* v0.4 enhancements */
.game-card{background:linear-gradient(180deg,#0e2440,#07192f)}
.game-card-art{padding:10px;display:flex;flex-direction:column;justify-content:space-between}
.game-card-top{display:flex;justify-content:space-between;align-items:flex-start;position:relative;z-index:1}
.game-card-tag,.game-card-weight{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.game-card-tag{background:rgba(255,255,255,.14);color:#f5fbff;border:1px solid rgba(255,255,255,.08)}
.game-card-weight{background:rgba(2,10,24,.42);color:#d5ecff;border:1px solid rgba(255,255,255,.12)}
.game-card-watermark{position:absolute;inset:auto 10px 54px 10px;font-size:34px;font-weight:900;letter-spacing:-.08em;color:rgba(255,255,255,.10);line-height:.95;text-transform:uppercase;white-space:pre-line;z-index:1}
.game-card-copy{backdrop-filter:blur(1px)}
.game-card-copy::before{content:"";position:absolute;left:-10px;right:-10px;bottom:-12px;top:-16px;background:linear-gradient(0deg,rgba(2,10,24,.94) 22%,rgba(2,10,24,.36) 70%,transparent 100%);z-index:-1;border-radius:10px}

.settings-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.monitoring-columns{grid-template-columns:1fr}
.settings-panel{padding:18px;border-radius:18px;background:rgba(7,26,46,.62);border:1px solid rgba(24,96,151,.4)}
.settings-panel h3{margin:0 0 10px;font-size:22px;letter-spacing:-.02em}
.compact-list{gap:10px}
.setting-row{position:relative}
.setting-row strong{display:block}
.setting-row small{display:block;color:#b5cbdd;line-height:1.4;margin-top:4px}
.switch-row input[type="checkbox"]{width:22px;height:22px;accent-color:#11b7ff}
.form-row input{min-width:240px;background:#07192b;border:1px solid rgba(61,135,196,.38);color:#f3fbff;border-radius:12px;padding:12px 14px;font-size:15px;outline:none}
.form-row input:focus{border-color:#35c7ff;box-shadow:0 0 0 2px rgba(53,199,255,.15)}
.threshold-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mini-row{padding-right:14px}
.mini-row input{min-width:0;width:100px;text-align:center}
.settings-actions{display:flex;gap:10px;flex-wrap:wrap}
.ghost-button.secondary{background:rgba(53,18,18,.55);border-color:rgba(203,86,86,.3)}
.monitoring-note{padding:14px 16px;border-radius:14px;background:rgba(10,45,74,.58);border:1px solid rgba(69,145,206,.25);color:#d5e9f8;line-height:1.5}
.wide-panel{width:100%}

@media (max-width:1450px){
  .settings-columns{grid-template-columns:1fr}
}

/* v0.5 - imagens fornecidas pelo usuário, encaixe sem corte e busca nas bibliotecas */
.gamepad-logo{
  width:122px;
  height:96px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.gamepad-logo img{
  width:118px;
  height:118px;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 0 8px rgba(22,190,255,.5)) drop-shadow(0 0 18px rgba(0,116,255,.2));
}
.gamepad-logo .pad-body,.gamepad-logo .pad-wire{display:none!important}

.hd-status{min-width:270px}
.wifi-chip{
  order:-2;
  margin-left:0;
  margin-right:2px;
  width:46px;
  height:46px;
  background:rgba(4,25,46,.42);
  border-color:rgba(45,149,213,.26);
  box-shadow:inset 0 0 12px rgba(9,134,207,.08);
}
.wifi-symbol{
  width:32px;
  height:32px;
  object-fit:contain;
  display:block;
  transition:.18s ease;
}
.wifi-chip.online .wifi-symbol{
  filter:drop-shadow(0 0 7px rgba(24,185,255,.7));
  opacity:1;
}
.wifi-chip.offline .wifi-symbol{
  filter:grayscale(1) brightness(.95);
  opacity:.62;
}
.wifi-chip.offline .wifi-slash{
  width:30px;
  height:3px;
  background:#ff4c59;
  transform:rotate(-42deg);
  box-shadow:0 0 7px rgba(255,76,89,.65);
}

.platform-art{
  width:58%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding:8px 12px 8px 4px;
}
.platform-art::before{
  background:linear-gradient(90deg,var(--fade-color,#092b68) 0%,rgba(0,0,0,0) 24%);
}
.platform-art img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:right center;
  transform:none;
  max-width:100%;
  max-height:100%;
}
.platform-card.ps2 .platform-art img{
  width:92%;
  height:94%;
  filter:brightness(.98) contrast(1.08) saturate(1.06) drop-shadow(0 0 10px rgba(14,106,255,.24));
}
.platform-card.gamecube .platform-art img{
  width:94%;
  height:92%;
  filter:brightness(.98) contrast(1.06) saturate(1.08) drop-shadow(0 0 10px rgba(123,55,255,.22));
}
.platform-card.dreamcast .platform-art img{
  width:95%;
  height:92%;
  filter:brightness(.98) contrast(1.05) saturate(.98) drop-shadow(0 0 10px rgba(255,110,36,.2));
}
.platform-card.steam .platform-art{
  justify-content:center;
  padding:16px 20px 16px 8px;
}
.platform-card.steam .platform-art img{
  width:72%;
  height:82%;
  object-position:center;
  filter:brightness(.92) contrast(1.08) saturate(1.02) drop-shadow(0 0 12px rgba(0,154,255,.4));
}

.library-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  min-width:390px;
}
.library-search{
  height:46px;
  min-width:280px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 10px 0 13px;
  border-radius:13px;
  background:rgba(3,25,48,.9);
  border:1px solid rgba(37,118,181,.55);
  box-shadow:inset 0 0 10px rgba(0,132,212,.04);
}
.library-search:focus-within{
  border-color:#2ac7ff;
  box-shadow:0 0 0 2px rgba(42,199,255,.12),0 0 18px rgba(23,151,232,.12);
}
.search-icon{font-size:23px;color:#1abfff;line-height:1}
.library-search input{
  flex:1;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:#f5fbff;
  font-size:15px;
}
.library-search input::placeholder{color:#7793aa}
.clear-search{
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#7798b1;
  font-size:18px;
  cursor:pointer;
  opacity:.72;
}
.clear-search:hover{background:rgba(255,255,255,.07);color:#e9f7ff;opacity:1}
.library-badge{white-space:nowrap}
.games-empty{
  height:100%;
  min-width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#8ea9be;
  font-size:15px;
}

@media (max-width:1450px){
  .gamepad-logo{width:100px;height:82px}.gamepad-logo img{width:102px;height:102px}
  .library-tools{min-width:330px}.library-search{min-width:230px}
}
@media (max-height:820px){
  .gamepad-logo{width:92px;height:75px}.gamepad-logo img{width:94px;height:94px}
  .library-search{height:42px}
}

/* Apresentação independente da Home e das integrações de jogos. */
.settings-card{max-height:calc(100vh - 160px);overflow-y:auto}
.audio-panel{margin-top:18px;text-align:left}
.audio-panel p{font-size:13px;color:#b5cbdd}
.audio-row input{width:min(48%,340px);accent-color:#11b7ff}
.audio-panel input:focus-visible{outline:2px solid #35c7ff;outline-offset:6px}
.audio-row output{color:#b5cbdd;font-size:14px}


/* Catálogo: metadados locais, separado da biblioteca executável. */
.catalog-toolbar,.catalog-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.catalog-toolbar [aria-pressed="true"]{border-color:#35c7ff;background:#103b5f}
.catalog-header h1{font-size:38px;margin:12px 0 5px}.catalog-header p,.catalog-message{color:#aebed0;font-size:14px}
.catalog-toolbar .library-search{flex:1;min-width:200px}.catalog-toolbar input{width:100%}
.catalog-grid{overflow-y:auto;min-height:0;flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:16px;align-content:start;padding:4px 8px 14px 4px}
.catalog-card{background:linear-gradient(145deg,#081f38,#071428);border:1px solid #174973;border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:10px}
.catalog-card h3{margin:0;font-size:20px}.catalog-card p{color:#aebed0;font-size:14px;line-height:1.45;margin:0;flex:1}
.catalog-art{height:90px;border-radius:12px;display:grid;place-items:center;font-size:52px;color:#c4eaff;background:linear-gradient(135deg,#0c304b,#1674a0)}
.catalog-art-arcade{background:linear-gradient(135deg,#241c48,#66308b)}.catalog-art-adventure{background:linear-gradient(135deg,#163b39,#176d69)}
.catalog-platform{color:#91b9d7}.catalog-status{font-size:13px;color:#72d6ff}.catalog-actions{margin-top:6px}
.catalog-view button:focus-visible,.catalog-view input:focus-visible{outline:2px solid #35c7ff;outline-offset:3px}


/* Foco explícito por regiões e teclado local, sem alterar as telas existentes. */
.nav-focused{outline:3px solid #55d8ff!important;outline-offset:3px;box-shadow:0 0 0 5px rgba(19,184,255,.18)!important}
.nav-item.nav-focused{background:#103b5f}.game-card.nav-focused{opacity:1}
.virtual-keyboard-overlay{position:fixed;inset:0;z-index:15000;background:rgba(0,6,17,.9);display:grid;place-items:center;padding:20px}
.virtual-keyboard{width:min(960px,96vw);max-height:94vh;overflow:auto;border:1px solid #35c7ff;border-radius:24px;background:linear-gradient(145deg,#071f38,#050f20);padding:24px;box-shadow:0 20px 80px #000;color:#f3f7fb}
.virtual-keyboard h2{margin:0 0 14px}.keyboard-value{display:block;white-space:pre-wrap;overflow-wrap:anywhere;background:#020c19;border:1px solid #174973;border-radius:12px;min-height:50px;padding:12px;margin-bottom:18px;font-size:22px}
.keyboard-row{display:flex;gap:8px;margin:8px 0}.keyboard-row button{flex:1;min-width:0;min-height:46px;border-radius:10px;border:1px solid #245478;background:#10283f;color:#f3f7fb;font-size:16px;font-weight:700;cursor:pointer}
.keyboard-row .keyboard-selected,.keyboard-row button:focus-visible{outline:3px solid #55d8ff;background:#096ca1;outline-offset:1px}.virtual-keyboard p{font-size:13px;color:#b5cbdd}

.nav-item:focus-visible,.view button:focus-visible{outline:3px solid #55d8ff;outline-offset:3px}

/* Identidade v1: controle original com fio; tipografia nítida e separada da imagem. */
.brand-block{justify-content:center;padding:0 0 20px}.brand-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;text-align:center;flex-shrink:0}
.brand-mark img{width:150px;height:120px;object-fit:contain;filter:drop-shadow(0 0 7px rgba(0,183,245,.16))}
.brand-central{font-size:12px;font-weight:600;letter-spacing:.38em;margin:8px 0 4px;padding-left:.38em;color:#b7ccd9}
.brand-retro{font-size:38px;font-weight:850;letter-spacing:.035em;color:#eefaff;text-shadow:0 0 15px rgba(33,193,255,.22)}
.home-welcome{display:flex;align-items:center;gap:18px}
.startup-intro{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;pointer-events:none;background:#01050c;isolation:isolate}
.startup-intro[hidden]{display:none}.startup-intro::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,rgba(4,75,109,.27),transparent 58%);opacity:0}
.intro-playing{animation:intro-screen 2.95s linear both}.intro-playing::before{animation:intro-glow 1.6s .2s ease both}
.intro-brand img{width:min(310px,55vw);height:255px}.intro-brand .brand-central{font-size:19px;letter-spacing:.48em;margin-top:16px}.intro-brand .brand-retro{font-size:clamp(56px,7vw,84px);margin-top:8px}
.intro-playing .intro-brand img{animation:brand-arrive .65s .5s ease both}.intro-playing .brand-central{animation:brand-arrive .3s 1.1s ease both}.intro-playing .brand-retro{animation:brand-arrive .4s 1.4s ease both}
@keyframes intro-screen{0%,81.356%{opacity:1}100%{opacity:0}}
@keyframes intro-glow{from{opacity:0}to{opacity:1}}
@keyframes brand-arrive{from{opacity:0;filter:blur(5px);transform:scale(.99)}to{opacity:1;filter:blur(0);transform:scale(1)}}
@media(max-height:780px){.brand-mark-sidebar img{width:125px;height:96px}.brand-mark-sidebar .brand-retro{font-size:32px}.brand-block{padding-bottom:14px}}
@media(prefers-reduced-motion:reduce){.intro-playing{animation-duration:.15s}.intro-playing .intro-brand img,.intro-playing .brand-central,.intro-playing .brand-retro,.intro-playing::before{animation-duration:.01s;animation-delay:0s}}

/* Saída pelo mesmo fluxo regional, com captura modal exclusiva. */
.side-nav{min-height:0;overflow-y:auto}.side-nav .nav-item{flex-shrink:0}.exit-nav{margin-top:0}
.exit-overlay{position:fixed;inset:0;z-index:16000;display:grid;place-items:center;padding:24px;background:rgba(0,6,17,.9)}
.exit-dialog{width:min(560px,94vw);background:linear-gradient(145deg,#071f38,#050f20);border:1px solid #35c7ff;border-radius:24px;padding:32px;color:#f3f7fb;box-shadow:0 20px 80px #000}.exit-dialog h2{font-size:25px;line-height:1.4;margin:0 0 25px}.exit-actions{display:flex;gap:16px}.exit-actions button{flex:1;border-radius:12px;padding:15px 20px;border:1px solid #245478;background:#10283f;color:#fff;font:inherit;cursor:pointer}.exit-actions button:disabled{opacity:.5;cursor:default}

/* Refinamento de leitura e hierarquia; mantém fonte e ícones do menu. */
.nav-item{text-align:left;line-height:1.25}.nav-item>span:last-child{min-width:0;overflow-wrap:normal}
.home-header h1{font-size:30px;line-height:1.15;letter-spacing:-.025em;font-weight:700}.home-header p{font-size:18px;line-height:1.4;margin-top:7px}
.brand-mark-sidebar img{height:114px;width:155px}.brand-block{padding-bottom:14px}
.control-help,.home-footer{height:auto;min-height:42px;flex-shrink:0;flex-wrap:wrap;gap:10px 20px;padding:10px 14px;border:1px solid rgba(74,147,196,.3);border-radius:12px;background:rgba(0,7,18,.82);color:#e3f2ff;font-size:14px;line-height:1.4}
.control-help .keycap.small{width:23px;height:23px;font-size:16px}.home-footer{margin-top:10px}
.catalog-search-region{margin:12px 0 4px;display:flex}.catalog-search-region .library-search{width:min(620px,100%)}.catalog-search-region input{width:100%}
.virtual-keyboard p{font-size:15px;line-height:1.7;color:#eef8ff;padding:10px 14px;margin:16px 0 0;background:rgba(0,7,18,.85);border:1px solid #245478;border-radius:10px}
@media(max-height:700px){.sidebar{padding-top:14px}.brand-mark-sidebar img{height:85px}.brand-block{padding-bottom:10px}.side-nav{gap:4px}.nav-item{padding-top:7px;padding-bottom:7px}.side-footer{padding-top:8px}}

.sidebar{min-height:0}.side-nav .nav-item{height:auto}.side-nav{overflow-x:hidden}

/* Logo oficial integral, mesma fonte na sidebar e na intro. */
.brand-mark-sidebar img{width:min(210px,100%);height:172px;object-fit:contain;filter:none}.intro-brand{opacity:0}.intro-playing .intro-brand{opacity:1}.intro-brand img{width:min(440px,70vw);height:min(440px,70vh);object-fit:contain}.intro-playing .intro-brand img{animation:brand-arrive .65s .45s ease both}
@media(max-height:780px){.brand-mark-sidebar img{width:165px;height:145px}.sidebar{padding-top:16px}.brand-block{padding-bottom:8px}}
.controller-hints{display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px}.controller-hints>span{display:inline-flex;align-items:center;gap:9px}.hint-button{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 7px;border:2px solid #9eb4cb;border-radius:8px;font-size:14px;line-height:1;background:#071321;color:#eaf6ff}.hint-cross,.hint-circle{border-radius:50%;font-size:20px}.hint-cross{color:#36cdff;border-color:#36cdff}.hint-circle{color:#ff718f;border-color:#e25b79}.keyboard-hints{padding:12px;background:#030d1b;border:1px solid #245478;border-radius:10px;margin-top:14px;color:#e3effb;font-size:14px}
.catalog-detail-view{overflow-y:auto;padding:20px 0 0;gap:18px}.detail-layout{display:grid;grid-template-columns:minmax(220px,30%) minmax(0,1fr);gap:30px;align-items:start}.detail-cover img{width:100%;aspect-ratio:400/580;object-fit:contain;border:1px solid #248ac2;border-radius:14px;box-shadow:0 18px 40px #0008}.detail-content{min-width:0}.detail-content h1{font-size:clamp(30px,3.5vw,58px);margin:0 0 12px;line-height:1.08}.detail-heading-meta{display:flex;gap:24px;align-items:center;margin-bottom:20px;font-size:21px}.performance-badge{display:inline-block;border:2px solid currentColor;border-radius:999px;padding:7px 13px;white-space:nowrap;font-size:18px}.performance-medium{color:#ffcb37}.performance-light{color:#5fdc9b}.performance-heavy{color:#ff6c80}.detail-gallery{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(100px,1fr);gap:12px}.detail-gallery>.detail-image{width:100%;height:100%;aspect-ratio:16/9;object-fit:contain;border:1px solid #299fdb;border-radius:9px;background:#04111f;filter:contrast(1.03) saturate(1.03)}.detail-thumbnails{display:grid;gap:12px;grid-template-rows:1fr 1fr}.detail-thumbnail{padding:0;min-width:0;background:#04111f;border:1px solid #299fdb;border-radius:9px;overflow:hidden;cursor:pointer}.detail-thumbnail img{width:100%;height:100%;aspect-ratio:16/9;object-fit:contain;display:block}.detail-description{color:#c2d5e8;line-height:1.6;font-size:17px;margin:18px 0}.detail-metadata{display:flex;gap:20px;color:#e1edfa;font-size:16px}.detail-bottom{display:flex;gap:25px;align-items:center;border:1px solid #174b70;border-radius:16px;padding:20px;background:#041426;flex-shrink:0}.detail-performance{display:grid;grid-template-columns:auto 1fr;gap:8px 24px;flex:1;align-items:center}.detail-performance small{grid-column:1;color:#a5c7e4;font-weight:700}.detail-performance .performance-badge{grid-column:1;grid-row:2;border:0;padding:0}.detail-performance p{grid-column:2;grid-row:1/3;border-left:1px solid #195577;padding-left:22px;line-height:1.5;color:#c8dcef;margin:0}.detail-request{border:1px solid #1fd5ff;border-radius:14px;padding:20px 28px;background:linear-gradient(90deg,#009fea,#0055ff);color:#fff;font:inherit;font-weight:700;cursor:pointer}.detail-request:disabled{background:#11283c;border-color:#34546c;color:#bacfe0;cursor:default}.detail-back{font-size:14px;margin-bottom:12px}.catalog-art[role=button]{cursor:pointer}
@media(max-width:1250px){.detail-layout{gap:18px;grid-template-columns:minmax(170px,26%) minmax(0,1fr)}.detail-bottom{padding:14px;gap:14px}.detail-request{padding:16px}.detail-description{font-size:15px}.detail-heading-meta{font-size:17px}}

/* Reduz movimento sem cortar a intro e o WAV para 150 ms. */
@keyframes brand-opacity{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.intro-playing{animation-duration:2.95s}.intro-playing .intro-brand img{animation:brand-opacity .55s .45s ease both}}

/* Margem real para outline/sombra: nenhum botão encosta no recorte do scroller. */
.side-nav{padding:9px 10px;margin:0;box-sizing:border-box;scrollbar-gutter:stable;overflow-x:hidden}.side-nav .nav-item{width:100%;max-width:100%;min-width:0;padding:8px 9px;gap:9px}.nav-item .nav-icon{flex:0 0 34px;width:34px}.nav-item.nav-focused,.nav-item:focus-visible{outline-offset:1px;box-shadow:0 0 0 3px rgba(19,184,255,.16)!important}.sidebar{padding-left:14px;padding-right:14px}
/* Badges geométricos iguais em todos os contextos; evita diferenças de fonte. */
.hint-button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;line-height:1;min-width:32px;height:32px;padding:0 7px;flex-shrink:0;text-align:center}.hint-cross,.hint-circle,.hint-direction{width:32px;min-width:32px;flex:0 0 32px;padding:0;font-size:0}.hint-cross::before{content:'';display:block;width:14px;height:14px;background:linear-gradient(45deg,transparent 43%,currentColor 43% 57%,transparent 57%),linear-gradient(-45deg,transparent 43%,currentColor 43% 57%,transparent 57%)}.hint-circle::before{content:'';display:block;width:14px;height:14px;border:2px solid currentColor;border-radius:50%;box-sizing:border-box}.hint-direction::before{content:'';width:18px;height:18px;background:#d0e6f9;clip-path:polygon(35% 0,65% 0,65% 35%,100% 35%,100% 65%,65% 65%,65% 100%,35% 100%,35% 65%,0 65%,0 35%,35% 35%)}.exit-actions button{display:flex;align-items:center;justify-content:center;gap:12px}.exit-actions button .hint-button{pointer-events:none}.modal-actions button,.feature-play{align-items:center;gap:10px}
.catalog-art.has-cover{height:160px;padding:0;overflow:hidden;border:1px solid #247ca1;cursor:pointer}.catalog-cover{width:100%;height:100%;object-fit:contain;display:block}.catalog-detail-label{color:#9fddff;font-size:14px}.content-shell{padding-top:20px}

.brand-mark,.brand-mark img{background:transparent;border:0;border-radius:0;box-shadow:none}.brand-mark img{padding:0}

/* Ficha God of War II: hero e três miniaturas locais, sem afetar outras telas. */
.catalog-detail-view .detail-thumbnails{grid-template-rows:repeat(3,minmax(0,1fr));min-height:0}.catalog-detail-view .detail-thumbnail{min-height:0}.catalog-detail-view .detail-image{background:#04111f;box-shadow:0 8px 24px #0005}.catalog-detail-view .detail-gallery>.detail-image{object-fit:contain;display:block;min-height:0}.catalog-detail-view .detail-cover{border-radius:14px;background:radial-gradient(ellipse at center,#10314a,#04111f);overflow:hidden}.detail-performance-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;flex-shrink:0}.detail-performance-guide h2{grid-column:1/-1;font-size:17px;line-height:1.4;color:#cce3f3;margin:0}.performance-guide-item{padding:15px;border:1px solid #194466;border-radius:12px;background:#06182a}.performance-guide-item.is-current{border-color:#c4a234;background:#1b2030}.performance-guide-item .performance-badge{font-size:14px;padding:5px 9px}.performance-guide-item p{font-size:14px;line-height:1.5;color:#bad0e3;margin:12px 0 0}.performance-guide-item small{display:block;color:#ffda71;margin-top:9px}@media(max-width:1150px){.detail-performance-guide{grid-template-columns:1fr}.performance-guide-item{display:flex;align-items:center;gap:15px}.performance-guide-item p{margin:0;flex:1}}

/* Fullscreen: ficha com corpo rolável e instruções sempre fora da rolagem. */
#catalogDetailView{overflow:hidden;padding:4px 0 0;gap:10px;min-height:0}#catalogDetailView .detail-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scroll-padding:12px;padding:5px 12px 10px 4px;display:flex;flex-direction:column;gap:14px}#catalogDetailView .detail-body>*{flex-shrink:0}#catalogDetailView>.control-help{flex-shrink:0;margin:0}
#catalogDetailView .detail-layout{grid-template-columns:clamp(160px,20vw,290px) minmax(0,1fr);gap:22px}#catalogDetailView .detail-cover{align-self:start;justify-self:center;background:#04111f}#catalogDetailView .detail-cover img{display:block;width:auto;height:auto;max-width:100%;max-height:49vh;aspect-ratio:auto;object-fit:contain;filter:none}#catalogDetailView .detail-content h1{font-size:clamp(28px,3vw,44px);margin:0 0 8px}#catalogDetailView .detail-heading-meta{font-size:17px;gap:14px;margin-bottom:12px}#catalogDetailView .detail-back,#catalogDetailView .detail-reset-hero{margin:0 18px 8px 0;font-size:13px}
#catalogDetailView .detail-gallery{grid-template-columns:minmax(0,1fr) clamp(100px,11vw,150px);gap:14px;align-items:start}#catalogDetailView .detail-gallery>.detail-image{width:auto;height:auto;max-width:100%;max-height:36vh;aspect-ratio:auto;object-fit:contain;justify-self:center;filter:none;background:#04111f}#catalogDetailView .detail-thumbnails{display:flex;flex-direction:column;gap:8px;min-height:0}#catalogDetailView .detail-thumbnail{width:100%;height:clamp(68px,10vh,110px);min-height:0;padding:0;background:#030d19;flex-shrink:0}#catalogDetailView .detail-thumbnail img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;filter:none}#catalogDetailView .detail-thumbnail.image-selected{border-color:#8ae9ff;box-shadow:inset 0 0 0 2px #45cfff}#catalogDetailView .detail-thumbnail.nav-focused{outline:3px solid #e8fbff!important;outline-offset:2px}
#catalogDetailView .detail-description{font-size:15px;line-height:1.5;margin:12px 0 8px}#catalogDetailView .detail-metadata{font-size:14px;margin:8px 0;line-height:1.5}#catalogDetailView .detail-performance-guide{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}#catalogDetailView .performance-guide-item{display:block;padding:10px}#catalogDetailView .performance-guide-item p{font-size:13px;line-height:1.4;margin-top:8px}#catalogDetailView .performance-guide-item small{font-size:11px;margin-top:7px}#catalogDetailView .detail-bottom{padding:12px 16px;gap:18px}#catalogDetailView .detail-performance p{font-size:14px}#catalogDetailView .detail-request{padding:15px 24px}
.catalog-art.has-cover{height:240px;border-radius:12px;background:#04111f}.catalog-cover{height:100%;width:auto;max-width:100%;object-fit:contain;margin:auto;filter:none}.catalog-toolbar{gap:7px}.catalog-toolbar>.ghost-button{font-size:14px;padding:8px 11px}.catalog-toolbar>[aria-pressed=true]{border-color:#47cfff;background:#10436a}
.library-hero{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:right center;filter:none;background:#04111f}.library-game-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#04111f}.game-card .game-card-copy{z-index:2}#libraryView .library-header{min-height:78px}#libraryView .library-feature{height:30vh;min-height:180px;max-height:320px}#libraryView .feature-copy{padding:20px 28px}#libraryView .feature-copy h2{font-size:clamp(30px,3vw,46px)}
@media(max-height:760px){#catalogDetailView .detail-cover img{max-height:44vh}#catalogDetailView .detail-gallery>.detail-image{max-height:32vh}#catalogDetailView .detail-body{gap:10px}#catalogDetailView .detail-description{font-size:14px}#catalogDetailView .performance-guide-item p{font-size:12px}}@media(max-width:1150px){#catalogDetailView .detail-layout{grid-template-columns:160px minmax(0,1fr);gap:14px}#catalogDetailView .detail-performance-guide{grid-template-columns:1fr}#catalogDetailView .performance-guide-item{display:grid;grid-template-columns:100px 1fr;gap:8px;align-items:center}#catalogDetailView .performance-guide-item p{margin:0}#catalogDetailView .performance-guide-item small{grid-column:2;margin:0}}

/* UX/media: dimensões invariáveis por filtro e papéis de imagem independentes. */
.cursor-hidden,.cursor-hidden *{cursor:none!important}
.catalog-grid{grid-template-columns:repeat(auto-fill,260px);grid-auto-rows:580px;justify-content:start;align-items:stretch}
.catalog-card{box-sizing:border-box;width:260px;height:580px;min-width:0;overflow:hidden;padding:14px;gap:8px}
.catalog-card .catalog-art{height:220px;min-height:220px;flex:none}
.catalog-card h3{font-size:18px;line-height:22px;height:44px;overflow:hidden;flex:none}
.catalog-card>p{font-size:14px;line-height:20px;max-height:40px;overflow:hidden;flex:none}
.catalog-card .catalog-platform{font-size:12px;line-height:16px;min-height:16px}
.catalog-card .catalog-status{font-size:13px;line-height:18px;min-height:36px}
.catalog-card .catalog-actions{margin-top:auto;display:flex;flex-direction:column;align-items:stretch;gap:6px;min-height:72px}
.catalog-actions button{font-size:13px;min-height:33px;padding:6px 10px}.catalog-cover{object-fit:contain}
#libraryView .games-viewport{min-height:276px;flex:1;overflow:hidden;padding:8px 2px 12px}
#libraryView .games-row{align-items:flex-start}
#libraryView .game-card{flex:0 0 180px;min-width:180px;width:180px;max-width:180px;height:250px;min-height:250px;max-height:250px;aspect-ratio:18/25;box-sizing:border-box;transform:none}
#libraryView .game-card-copy{backdrop-filter:none}.library-game-cover{object-fit:contain}.library-hero{object-fit:contain;object-position:right center}
/* Banner com arte inteira à direita e texto à esquerda: sem crop ou preenchimento borrado. */
#libraryView .library-feature{height:clamp(250px,30vh,320px);min-height:250px;flex-shrink:0;background:#04111f}
#libraryView .feature-art{background:#04111f!important}
#libraryView .library-hero{left:auto;right:0;width:68%;height:100%;background:transparent}
#libraryView .feature-art::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#04111f 0%,#04111f 30%,rgba(4,17,31,.85) 40%,transparent 58%)}
#libraryView .feature-copy{width:48%;padding:18px 24px}
#libraryView .feature-copy h2{font-size:clamp(26px,2.7vw,40px)}
#libraryView .feature-copy p{font-size:14px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#libraryView .feature-meta{font-size:12px;margin-bottom:10px}
#libraryView .game-card.focused{transform:none}
#libraryView .game-card-title{line-height:1.15}
#libraryView .game-card-copy{left:10px;right:10px;bottom:12px}
#libraryView .games-row{gap:14px}
@media(max-height:850px){#libraryView .library-header{min-height:64px}#libraryView .library-feature{height:200px;min-height:200px}#libraryView .feature-copy{padding:12px 20px}#libraryView .feature-copy h2{font-size:28px}#libraryView .feature-kicker{font-size:10px}#libraryView .feature-play{padding:10px 15px;font-size:16px}#libraryView .games-viewport{min-height:270px}}
.exit-overlay{background:#020916;isolation:isolate}.exit-dialog{background:#07192b;background-image:none}.exit-dialog-open .window-frame{visibility:hidden}
.exit-symbol{font:48px/1 sans-serif;color:#50d6ff;text-align:center;margin-bottom:20px}

#libraryView .game-card-watermark{display:none}

/* Em telas baixas, compactar cabeçalho/banner; nunca redimensionar os cards. */
@media(max-height:850px){
#libraryView .library-header{padding:4px 6px;min-height:60px}
#libraryView .library-header h1{font-size:28px;line-height:32px}
#libraryView .library-header p{font-size:13px;line-height:16px;margin-top:3px}
#libraryView .library-platforms{margin-bottom:8px}
#libraryView .library-platforms button{padding:7px 12px}
#libraryView>.control-help{font-size:12px;gap:8px 12px;padding:8px}
#libraryView>.control-help .hint-button{height:26px;min-width:26px}
}
@media(max-height:700px){
#libraryView .library-feature{height:156px;min-height:156px}
#libraryView .feature-copy{padding:8px 20px}
#libraryView .feature-copy h2{font-size:24px;margin:4px 0}
#libraryView .feature-copy p{font-size:12px;line-height:17px;margin:0 0 4px;-webkit-line-clamp:1}
#libraryView .feature-kicker{font-size:9px}
#libraryView .feature-meta{font-size:11px;margin-bottom:6px}
#libraryView .feature-play{font-size:14px;padding:8px 12px}
}

/* Catálogo: um foco por jogo, sem alterar as dimensões do padrão congelado. */
#catalogGrid .catalog-card{cursor:pointer;outline:none}
#catalogGrid .catalog-card.nav-focused,#catalogGrid .catalog-card:focus-visible{outline:3px solid #55d8ff;outline-offset:-3px;border-color:#55d8ff;box-shadow:0 0 18px rgba(19,184,255,.2)}
#catalogGrid .catalog-card .catalog-art.has-cover{cursor:inherit}
#catalogGrid .catalog-card button:focus-visible{outline:none}
/* Regressão: display:inline-flex do botão não pode anular o atributo hidden. */
.modal-actions button[hidden],#steamFeaturePrice[hidden],#steamModalPrice[hidden]{display:none!important}
/* Mesmo shell panorâmico em todas as plataformas; nenhuma mídia é modificada. */
#libraryView .library-hero{inset:0 0 0 auto;width:auto;max-width:100%;height:100%;object-fit:contain;object-position:var(--library-banner-position,right center);background:transparent;mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.45) 24%,#000 52%)}
#libraryView .feature-art::before{background:linear-gradient(90deg,#04111f 0%,rgba(4,17,31,.95) 22%,rgba(4,17,31,.6) 43%,rgba(4,17,31,.12) 72%,transparent)}
/* Capa inteira dentro de área vertical. Largura fixa preservada em busca/filtros. */
#catalogGrid{grid-auto-rows:680px}
#catalogGrid .catalog-card{height:680px;gap:6px}
#catalogGrid .catalog-card .catalog-art.has-cover{width:100%;height:auto;min-height:0;aspect-ratio:720/1000;display:block;flex:none;background:#04111f;overflow:hidden}
#catalogGrid .catalog-cover{display:block;width:100%;height:100%;max-width:100%;max-height:100%;min-height:0;object-fit:contain;object-position:center;margin:0}
#catalogHelp{min-height:54px;gap:8px 16px}
#catalogHelp .catalog-confirm-hint{min-width:215px}
#catalogFavoriteHint{min-width:190px}
#catalogDetailView .detail-performance-guide[data-basic]{display:block;padding:20px;border:1px solid #194466;border-radius:14px;background:#06182a}
#catalogDetailView .detail-performance-guide[data-basic] h1{font-size:32px;margin:0 0 16px}

/* Hints do Catálogo: conter a grade e manter o contexto dentro da moldura. */
.content-shell:has(> #catalogView.active){min-height:0;overflow:hidden}
#catalogView.active{overflow:hidden}
#catalogView>#catalogGrid{flex:1 1 0;min-height:0}
#catalogView>#catalogHelp{flex:0 0 88px;height:88px;min-height:88px;max-height:88px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:32px 32px;gap:6px 16px;padding:8px 14px;align-content:center;position:relative;z-index:1}
#catalogHelp>span{min-width:0;white-space:nowrap}
#catalogHelp>span:first-child{grid-column:1;grid-row:1}
#catalogHelp>span:last-child{grid-column:2;grid-row:1;justify-self:end}
#catalogHelp>.catalog-confirm-hint{grid-column:1;grid-row:2;min-width:0}
#catalogHelp>#catalogFavoriteHint{grid-column:2;grid-row:2;min-width:0}

#catalogGrid .catalog-card small[data-steam-price]{flex:none;min-height:18px;max-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Preserve the entire dedicated panoramic artwork; no source crop or stretching. */
#libraryView .feature-art::after{content:none}
#catalogGrid .catalog-card .catalog-actions{margin-top:6px;min-height:0}
#catalogGrid .catalog-card .catalog-status{min-height:18px}

/* Steam source covers are 600x900: match the container, not a 720x1000 letterbox. */
#catalogGrid .catalog-card[data-platform="steam"]{gap:4px}
#catalogGrid .catalog-card[data-platform="steam"] .catalog-art.has-cover{aspect-ratio:2/3}
#catalogGrid .catalog-card[data-platform="steam"] .catalog-cover{object-fit:cover}

/* Dedicated Steam library art fills the approved 180x250 card without letterboxing. */
#libraryView .library-game-cover[data-platform="steam"]{object-fit:cover;object-position:center 35%;background:transparent}
