:root{
  --bg:#07070b;--c:#121119;--c2:#181421;--line:#302a39;
  --txt:#faf8fc;--mut:#9b94a4;--p:#994cff;--p2:#c87cff;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--txt);font-family:Segoe UI,Arial,sans-serif}
button{font:inherit;color:inherit;touch-action:manipulation}
input[type=range]{accent-color:var(--p);touch-action:pan-x}
.app{
  height:100vh;padding:20px 28px 18px;
  display:grid;grid-template-rows:130px minmax(0,1fr) 100px;gap:14px;
  background:radial-gradient(circle at 75% 0,rgba(153,76,255,.15),transparent 30%),var(--bg);
}
header{display:flex;justify-content:space-between;align-items:flex-start}
.brand{font-size:15px;letter-spacing:.25em;color:var(--mut)}
.time{display:flex;align-items:baseline;gap:24px;margin-top:2px}
.time b{font-size:56px;line-height:1}
#date{font-size:15px;color:var(--mut);text-transform:uppercase;margin-top:5px}
.weatherButton{display:flex;align-items:baseline;gap:8px;border:0;background:transparent;padding:0}
.weatherButton strong{font-size:30px;color:var(--p2)}
.weatherButton small{font-size:11px;color:var(--mut);font-weight:800;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.actions{display:flex;gap:10px}
.actions button{width:66px;height:60px;border:1px solid var(--line);background:var(--c);border-radius:18px;font-size:26px}
.closeTop{color:#ffb8c3}
main{min-height:0;overflow:hidden}
.page{display:none;height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;padding-bottom:10px}
.page::-webkit-scrollbar{display:none}
.page.active{display:block}
.grid{
  min-height:0;height:100%;display:grid;grid-template-columns:1fr 1fr;
  grid-template-rows:minmax(210px,1fr) minmax(185px,.88fr) minmax(120px,.62fr) minmax(130px,.68fr);
  gap:12px
}
.card{border:1px solid var(--line);background:linear-gradient(145deg,var(--c2),var(--c));border-radius:24px;padding:18px;min-width:0}
.head{display:flex;justify-content:space-between;font-size:18px;font-weight:850;color:var(--mut)}
.head em{font-style:normal;color:var(--p2)}
.big{font-size:68px;font-weight:900;line-height:1;margin:8px 0}
.big small{font-size:.3em;color:var(--mut)}
.bar{height:11px;border-radius:999px;background:#2b2731;overflow:hidden}
.bar i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--p),var(--p2))}
.foot{display:flex;justify-content:space-between;color:var(--mut);font-size:13px;margin-top:11px}
.foot b{color:white}
.mid{font-size:43px;font-weight:850;margin:16px 0}
.net{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:15px}
.net b{display:block;font-size:34px;color:var(--p2)}
.net small{display:block;color:var(--mut);font-size:12px}
.storage{grid-column:1/-1;padding:17px 20px}
.disks{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:10px}
.diskTop{display:flex;justify-content:space-between;font-size:14px;font-weight:800;margin-bottom:6px}
.diskMeta{font-size:11px;color:var(--mut);margin-top:6px}

/* HOME SPOTIFY: play fixo à direita */
.music{
  grid-column:1/-1;
  display:grid!important;
  grid-template-columns:86px minmax(0,1fr) 64px!important;
  gap:14px!important;
  align-items:center!important;
  position:relative;
}
.cover{width:86px;height:86px;border-radius:16px;background:#251a31;display:grid;place-items:center;overflow:hidden}
.cover img,.album img{width:100%;height:100%;object-fit:cover;display:none}
.cover span{font-size:42px;color:#68438c}
.track{min-width:0}
.track em{font-style:normal;color:var(--p2);font-weight:900;letter-spacing:.1em}
.track b,.track span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.track b{font-size:23px;margin:5px 0}
.track span{font-size:14px;color:var(--mut)}
.round{
  width:58px;height:58px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--p),var(--p2));border:0;font-size:23px;
  justify-self:end!important;align-self:center!important;margin:0!important;position:static!important;
}
.homeOpenMusic{cursor:pointer}

/* NAV */
nav{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.nav{border:1px solid var(--line);background:var(--c);border-radius:20px;color:var(--mut);font-size:25px;font-weight:850;min-height:78px}
.nav span{display:block;font-size:14px}
.nav.active{background:linear-gradient(135deg,var(--p),#6c2bc2);color:white}

/* SPOTIFY PLAYER */
.player{height:auto;min-height:100%;max-width:660px;margin:auto;display:flex;flex-direction:column;align-items:center;padding-bottom:14px}
.playerTop{width:100%;display:flex;justify-content:space-between;align-items:center;color:var(--p2);font-size:17px;font-weight:900}
.playerTop button{height:48px;padding:0 16px;border:1px solid var(--line);background:var(--c);border-radius:15px;font-weight:800}
.album{width:min(320px,27vh);max-width:58vw;aspect-ratio:1;border-radius:28px;background:#24182f;display:grid;place-items:center;overflow:hidden;margin-top:8px}
.album span{font-size:120px;color:#67438a}
.player h1{width:100%;font-size:31px;line-height:1.08;margin:12px 0 2px;white-space:normal}
.player p{width:100%;font-size:17px;color:var(--mut);margin:3px 0}
.player>em{width:100%;font-style:normal;color:var(--p2);font-size:13px}
.seek,.vol{width:100%;display:grid;grid-template-columns:52px 1fr 52px;gap:10px;align-items:center;color:var(--mut);margin-top:8px;font-size:13px}
.seek input,.vol input{width:100%;height:30px}
.controls{display:flex;gap:12px;align-items:center;margin:8px 0}
.controls button{width:58px;height:54px;border:1px solid var(--line);background:var(--c);border-radius:17px;font-size:24px}
.controls .play{width:78px;height:70px;border:0;background:linear-gradient(135deg,var(--p),var(--p2))}
.controls .enabled{color:var(--p2);border-color:var(--p)}
.auth{display:flex;gap:8px;margin-top:5px}
.auth button{height:44px;padding:0 16px;border-radius:14px;font-weight:850}
#login{border:0;background:linear-gradient(135deg,var(--p),var(--p2))}
#logout{display:none;border:1px solid var(--line);background:var(--c);color:var(--mut)}
#msg{color:var(--mut);font-size:12px;margin-top:6px;text-align:center}
.spotifyQuickActions{
  width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px
}
.spotifyQuickActions button{
  height:44px;border:1px solid var(--line);background:var(--c);border-radius:14px;color:var(--mut);font-weight:850
}

/* SYSTEM */
.page h2{color:var(--p2);letter-spacing:.06em}
.details{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.detail{border:1px solid var(--line);background:var(--c);border-radius:20px;padding:18px}
.detail span{display:block;color:var(--mut)}
.detail b{display:block;font-size:42px;margin:7px 0}
.detail em{font-style:normal;color:var(--p2)}
.hwDetail{font-size:11px;color:var(--mut);margin-top:8px}
.setting{margin-bottom:12px}
.setting p{color:var(--mut)}
.setting button,.wideAction,#devrefresh,.jamCard button{height:46px;border:1px solid var(--p);background:#28143c;border-radius:14px;padding:0 16px;font-weight:850}

/* FLOATING OVERLAYS */
.floatingModal,#modal,#weatherModal{
  display:none;position:fixed;inset:0;background:rgba(0,0,0,.78);
  align-items:center;justify-content:center;z-index:60;padding:18px;backdrop-filter:blur(7px)
}
.floatingModal.open,#modal.open,#weatherModal.open{display:flex}
.floatingSheet,.sheet,.weatherSheet{
  width:min(720px,94vw);max-height:76vh;background:#0d0d13;border:1px solid var(--line);
  border-radius:26px;padding:20px;box-shadow:0 28px 90px rgba(0,0,0,.7)
}
.sheethead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.sheethead b{display:block;color:var(--p2);font-size:20px}
.sheethead span{display:block;color:var(--mut);font-size:12px;margin-top:4px}
.sheethead button,.closeFloating{width:48px;height:44px;border:1px solid var(--line);background:var(--c);border-radius:14px}
.spotifyList,#devlist{display:grid;gap:8px;max-height:52vh;overflow-y:auto;scrollbar-width:none;margin:14px 0}
.spotifyList::-webkit-scrollbar,#devlist::-webkit-scrollbar{display:none}
.spotifyRow,.dev{
  display:grid;grid-template-columns:46px 1fr auto;gap:10px;align-items:center;
  padding:9px;border:1px solid #27232f;background:#0d0d13;border-radius:13px
}
.spotifyThumb{width:46px;height:46px;border-radius:8px;object-fit:cover;background:#21172b}
.spotifyRowText{min-width:0}
.spotifyRowText b,.spotifyRowText span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spotifyRowText span{font-size:11px;color:var(--mut)}
.spotifyRow button,.dev button{height:32px;border:1px solid var(--p);background:#27143b;border-radius:9px;padding:0 9px;font-size:10px;font-weight:800}
.dev{grid-template-columns:1fr auto}
.dev b{font-size:15px}.dev small{display:block;color:var(--mut)}
.activeDev{color:var(--p2);font-weight:850}
.wideAction,#devrefresh{width:100%}
.jamCard p{color:var(--mut);line-height:1.45}
.cityGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.cityOption{min-height:50px;border:1px solid var(--line);background:var(--c);border-radius:14px;padding:0 14px;text-align:left;font-weight:800}
#useLocation{width:100%;color:var(--p2)}

@media(max-width:820px){
  .app{padding:16px 24px 14px;grid-template-rows:118px minmax(0,1fr) 92px;gap:12px}
  .time b{font-size:50px}.weatherButton strong{font-size:28px}.weatherButton small{max-width:90px}
  .grid{grid-template-rows:minmax(200px,1fr) minmax(180px,.9fr) minmax(120px,.6fr) minmax(125px,.64fr)}
  .card{padding:16px}.big{font-size:64px}.mid{font-size:40px}
  .details{grid-template-columns:1fr 1fr}
}


/* ===== v5.8 STABLE / SYSTEM FIT ===== */
#system.page{
  overflow:hidden !important;
  padding-bottom:0 !important;
}
#system h2{
  font-size:16px;
  margin:8px 0 10px;
}
#system .details{
  grid-template-columns:repeat(5,1fr);
  gap:10px;
}
#system .detail{
  padding:14px;
  border-radius:18px;
  min-height:0;
}
#system .detail b{
  font-size:32px;
  margin:5px 0;
}
#system .detail em{
  font-size:14px;
}
#system .hwDetail{
  font-size:10px;
  line-height:1.3;
}

#systemStorage,
#allDisks{
  grid-template-columns:repeat(3,1fr) !important;
  gap:10px !important;
}
#allDisks .detail{
  padding:12px 14px;
}
#allDisks .diskTop{
  font-size:13px;
}
#allDisks .diskMeta{
  font-size:10px;
}

/* if there are only 3 drives, all fit in one row */
@media(max-width:900px){
  #system .details{
    grid-template-columns:repeat(3,1fr);
  }
  #allDisks{
    grid-template-columns:repeat(3,1fr) !important;
  }
}

/* v6.0 themes */
html[data-theme="light"]{--bg:#eef0f5;--c:#fff;--c2:#f7f7fb;--line:#d8dbe4;--txt:#171821;--mut:#6f7380}
html[data-theme="light"] body,html[data-theme="light"] .app{background:radial-gradient(circle at 75% 0,var(--header-glow,rgba(153,76,255,.10)),transparent 30%),var(--bg)!important}
html[data-theme="light"] .card,html[data-theme="light"] .detail,html[data-theme="light"] .nav,html[data-theme="light"] .controls button,html[data-theme="light"] .playerTop button,html[data-theme="light"] .spotifyQuickActions button,html[data-theme="light"] .sheet,html[data-theme="light"] .floatingSheet,html[data-theme="light"] .weatherSheet,html[data-theme="light"] .cityOption,html[data-theme="light"] .spotifyRow,html[data-theme="light"] .dev{background:linear-gradient(145deg,var(--c2),var(--c))!important;color:var(--txt)}
html[data-theme="light"] .bar{background:#e2e4eb}
html[data-accent="purple"]{--p:#994cff;--p2:#c87cff;--header-glow:rgba(153,76,255,.15)}
html[data-accent="blue"]{--p:#3d7cff;--p2:#76a3ff;--header-glow:rgba(61,124,255,.15)}
html[data-accent="cyan"]{--p:#14c8ff;--p2:#68dcff;--header-glow:rgba(20,200,255,.15)}
html[data-accent="green"]{--p:#24d17e;--p2:#72e7aa;--header-glow:rgba(36,209,126,.15)}
html[data-accent="orange"]{--p:#ff8a34;--p2:#ffb06c;--header-glow:rgba(255,138,52,.15)}
html[data-accent="pink"]{--p:#ff4fa3;--p2:#ff8cc3;--header-glow:rgba(255,79,163,.15)}
.app{background:radial-gradient(circle at 75% 0,var(--header-glow,rgba(153,76,255,.15)),transparent 30%),var(--bg)}
.nav.active,#login,.controls .play,.round{background:linear-gradient(135deg,var(--p),var(--p2))!important}.bar i{background:linear-gradient(90deg,var(--p),var(--p2))!important}
.settingsGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settingsGrid .setting{margin:0}.themeToggle{display:grid;grid-template-columns:1fr 1fr;gap:10px}.themeChoice{min-height:58px;border:1px solid var(--line);background:var(--c);border-radius:16px;font-weight:850;color:var(--mut)}.themeChoice.active{border-color:var(--p);color:var(--txt)}
.accentGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.accentChoice{min-height:54px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--c);border-radius:14px;padding:0 10px;color:var(--mut);font-weight:800}.accentChoice i{width:20px;height:20px;border-radius:50%;background:var(--swatch)}.accentChoice.active{border-color:var(--p);color:var(--txt)}.customAccentRow{display:flex;justify-content:space-between;align-items:center;margin-top:12px;color:var(--mut);font-size:12px;font-weight:800}#customAccent{width:54px;height:36px;border:1px solid var(--line);border-radius:10px;background:transparent}
@media(max-width:820px){.settingsGrid{grid-template-columns:1fr}.accentGrid{grid-template-columns:repeat(2,1fr)}}

/* v6.1 startup */
.switchRow,.selectRow{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--txt)}
.switchRow input{width:22px;height:22px;accent-color:var(--p)}
.selectRow select{min-width:180px;height:42px;border:1px solid var(--line);border-radius:12px;background:var(--c);color:var(--txt);padding:0 10px}
.startupSetting p{margin-bottom:6px}


/* ===== v6.1.2 — tema claro e legibilidade ===== */

/* Light mode gets its own softer purple palette */
html[data-theme="light"][data-accent="purple"]{
  --p:#a86cff;
  --p2:#7b35df;
  --header-glow:rgba(168,108,255,.17);
}

html[data-theme="light"]{
  --bg:#f2f3f8;
  --c:#ffffff;
  --c2:#fafafe;
  --line:#cfd3de;
  --txt:#161821;
  --mut:#555b69;
}

html[data-theme="light"] .brand,
html[data-theme="light"] #date,
html[data-theme="light"] .head,
html[data-theme="light"] .foot,
html[data-theme="light"] .net small,
html[data-theme="light"] .diskMeta,
html[data-theme="light"] .track span,
html[data-theme="light"] .player p,
html[data-theme="light"] #msg,
html[data-theme="light"] .setting p,
html[data-theme="light"] .customAccentRow,
html[data-theme="light"] .spotifyRowText span,
html[data-theme="light"] .dev small{
  color:#4f5563 !important;
}

html[data-theme="light"] .card,
html[data-theme="light"] .detail,
html[data-theme="light"] .nav,
html[data-theme="light"] .setting{
  box-shadow:0 1px 0 rgba(255,255,255,.8),0 3px 12px rgba(30,35,50,.06);
}

html[data-theme="light"] .themeChoice,
html[data-theme="light"] .accentChoice,
html[data-theme="light"] .setting button,
html[data-theme="light"] .wideAction,
html[data-theme="light"] #devrefresh,
html[data-theme="light"] .jamCard button{
  color:#20232c !important;
  background:#f8f5ff !important;
  border-color:#cfc4e8 !important;
}

html[data-theme="light"] .themeChoice.active,
html[data-theme="light"] .accentChoice.active{
  color:#ffffff !important;
  background:linear-gradient(135deg,var(--p),var(--p2)) !important;
  border-color:transparent !important;
}

html[data-theme="light"] .nav{
  color:#4a4f5d !important;
}

html[data-theme="light"] .nav.active{
  color:#ffffff !important;
}

html[data-theme="light"] .playerTop button,
html[data-theme="light"] .spotifyQuickActions button,
html[data-theme="light"] .controls button{
  color:#242630 !important;
}

html[data-theme="light"] .controls .play{
  color:#ffffff !important;
}

html[data-theme="light"] .closeTop{
  color:#c42d4d !important;
}

html[data-theme="light"] input[type="range"]{
  accent-color:var(--p);
}

/* Settings controls more obvious */
.themeChoice,
.accentChoice{
  font-size:13px;
  letter-spacing:.02em;
}
.setting h3{
  color:var(--txt);
}
.setting p{
  line-height:1.4;
}

/* Hardware fallback status */
.hwUnavailable{
  color:var(--mut);
  font-size:11px;
  margin-top:4px;
}


/* ===== v6.2.2 diagnóstico ===== */
.diagnosticsSheet{
  width:min(980px,96vw)!important;
  max-height:88vh!important;
}
.diagActions{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:14px 0;
}
.diagActions button{
  height:42px;
  border:1px solid var(--p);
  background:var(--accent-deep,#28143c);
  color:var(--txt);
  border-radius:12px;
  font-weight:850;
}
.diagSummary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-bottom:10px;
}
.diagBadge{
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px;
  background:var(--c);
  color:var(--mut);
}
.diagBadge b{
  display:block;
  color:var(--txt);
  font-size:18px;
  margin-top:3px;
}
.diagOutput{
  margin:0;
  max-height:56vh;
  overflow:auto;
  white-space:pre-wrap;
  word-break:break-word;
  border:1px solid var(--line);
  border-radius:14px;
  background:#08080d;
  color:#e8e6ee;
  padding:14px;
  font:12px/1.45 Consolas,monospace;
  scrollbar-width:none;
}
.diagOutput::-webkit-scrollbar{display:none}
html[data-theme="light"] .diagOutput{
  background:#f7f8fb;
  color:#20232b;
}
@media(max-width:820px){
  .diagActions,.diagSummary{grid-template-columns:1fr}
}


/* ===== v7.0 RC ===== */
.homeToolbar{
  display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px
}
.winVolume{display:grid;grid-template-columns:38px 150px 46px;align-items:center;gap:7px}
.winVolume button{height:36px;border:1px solid var(--line);background:var(--c);border-radius:11px}
.winVolume input{width:100%}
.winVolume span{font-size:12px;color:var(--mut)}
.historyCard{cursor:pointer}
.historyCard.alert{box-shadow:inset 0 0 0 2px #ff5268,0 0 22px rgba(255,82,104,.18)!important}
.historySheet{width:min(940px,96vw)!important}
#historyCanvas{
  width:100%;height:320px;border:1px solid var(--line);background:var(--c);border-radius:16px;margin:14px 0
}
.selectRow input[type=number]{
  width:90px;height:40px;border:1px solid var(--line);background:var(--c);color:var(--txt);
  border-radius:10px;padding:0 10px
}
.screensaver{
  display:none;position:fixed;inset:0;z-index:100;background:radial-gradient(circle at 50% 20%,rgba(153,76,255,.16),transparent 38%),#050507;
  color:white;align-items:center;justify-content:center;flex-direction:column;gap:16px
}
.screensaver.active{display:flex}
.ssClock{font-size:min(18vw,180px);font-weight:900;line-height:.9}
.ssWeather{font-size:30px;color:var(--p2)}
.ssMusic{display:flex;align-items:center;gap:16px;margin-top:16px}
.ssMusic img{width:86px;height:86px;border-radius:16px;object-fit:cover;display:none}
.ssMusic b,.ssMusic span{display:block}.ssMusic span{color:#aaa;margin-top:5px}
.onboardingSheet{max-width:600px}
.onboardingSteps{padding:18px 0;color:var(--mut)}
.onboardingSteps button{width:100%;height:52px;border:0;border-radius:14px;background:linear-gradient(135deg,var(--p),var(--p2));font-weight:900}
@media(max-width:820px){
  .homeToolbar{align-items:flex-start;flex-direction:column}
  .winVolume{width:100%;grid-template-columns:38px 1fr 46px}
}

/* v7.0 RC2 — navegação simplificada */
.homeToolbar{
  justify-content:flex-end!important;
}
@media(max-width:820px){
  .homeToolbar{align-items:center!important;flex-direction:row!important}
}


/* ===== v1.1.0 DEV ===== */
::view-transition-old(root){animation:pageOut .18s ease both}
::view-transition-new(root){animation:pageIn .22s cubic-bezier(.2,.8,.2,1) both}
@keyframes pageIn{from{opacity:.35;transform:translateX(calc(var(--page-dir,1)*26px))}to{opacity:1;transform:none}}
@keyframes pageOut{from{opacity:1}to{opacity:.3}}

.remoteLinkRow{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:center;margin:10px 0}
.remoteLinkRow input{min-width:0;width:100%;height:42px;border:1px solid var(--line);background:var(--c);color:var(--txt);border-radius:12px;padding:0 12px}
.settingHint{display:block;color:var(--mut);line-height:1.35;margin-top:10px}
.sheetTools{display:flex;gap:8px}
.sheetTools button{height:42px;border:1px solid var(--line);background:var(--c);border-radius:12px;padding:0 14px;font-weight:800}
.spotifyRow{cursor:pointer}
.spotifyRow:hover{border-color:var(--p)}
.spotifyRow .rowPlay{min-width:72px}

@media(max-width:700px){
  html,body{overflow:auto}
  .app{
    min-height:100dvh;height:auto;
    padding:12px 12px 10px;
    display:grid;
    grid-template-rows:auto minmax(0,1fr) 76px;
  }
  header{min-height:92px}
  .brand{font-size:10px}
  .time{gap:10px}.time b{font-size:38px}.weatherButton strong{font-size:22px}
  #date{font-size:10px}
  .actions button{width:46px;height:44px;border-radius:14px}
  main{overflow:visible}
  .page{height:auto;min-height:calc(100dvh - 190px);overflow:visible}
  .grid{
    height:auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:none;
    gap:9px
  }
  .card{border-radius:18px;padding:12px}
  .big{font-size:48px}.mid{font-size:30px}
  .head{font-size:13px}
  .foot{font-size:9px;gap:8px}
  .storage,.music{grid-column:1/-1}
  .disks{grid-template-columns:1fr;gap:8px}
  .music{grid-template-columns:64px minmax(0,1fr) 52px!important}
  .cover{width:64px;height:64px}.round{width:48px;height:48px}
  .track b{font-size:17px}
  nav{position:sticky;bottom:0;z-index:20;gap:7px;background:var(--bg);padding-top:6px}
  .nav{min-height:64px;border-radius:16px;font-size:20px}.nav span{font-size:10px}
  .player{padding:0 8px 16px}
  .album{width:min(70vw,310px);max-width:none}
  .settingsGrid{grid-template-columns:1fr!important}
  #system.page{overflow:visible!important}
  #system .details{grid-template-columns:1fr 1fr}
  #allDisks{grid-template-columns:1fr!important}
  .floatingSheet{width:96vw!important;max-height:90dvh}
  .spotifyList{max-height:66dvh}
  .remoteLinkRow{grid-template-columns:1fr}
}

.remoteClient .localOnly{display:none!important}

.remoteAccessCard{display:grid;gap:14px}
.remoteSection{border:1px solid var(--line);border-radius:16px;padding:14px;background:color-mix(in srgb,var(--c) 85%,transparent)}
.remoteSectionTitle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.remoteSectionTitle b{color:var(--p2)}
.remoteSectionTitle span{font-size:11px;color:var(--mut)}
.remoteActions{display:flex;gap:8px;flex-wrap:wrap}
.remoteActions button{min-height:42px}
.internetSection{box-shadow:inset 0 0 28px color-mix(in srgb,var(--p) 8%,transparent)}


/* v1.1.2 — browser companion hides PC-only controls */
.remoteClient .localDesktopSetting,
.remoteClient .startupSetting,
.remoteClient .screensaverSetting{
  display:none!important;
}

/* Spotify session belongs to the PC. Remote clients use its short-lived access session. */
.remoteClient #logout{
  display:none!important;
}
.remoteClient #login{
  display:none!important;
}


/* =========================================================
   v1.2.0 EXPERIMENTAL — visual lab
   ========================================================= */
:root{
  --surface-glass:color-mix(in srgb,var(--c) 88%,transparent);
}
.card{
  border-color:color-mix(in srgb,var(--line) 72%,transparent);
  background:
    linear-gradient(145deg,color-mix(in srgb,var(--c2) 94%,var(--p) 2%),var(--c));
  box-shadow:0 9px 28px rgba(0,0,0,.16),inset 0 1px rgba(255,255,255,.018);
  transition:transform .2s cubic-bezier(.2,.8,.2,1),border-color .2s,box-shadow .2s;
}
.card:hover{border-color:color-mix(in srgb,var(--p) 32%,var(--line))}
.card:active{transform:scale(.992)}
.big{letter-spacing:-.055em}
.head{letter-spacing:.06em}
.homeToolbar{display:flex;align-items:center;gap:10px;justify-content:flex-end}
.homeLayoutSwitch,.homeTools{display:flex;gap:7px}
.homeLayoutSwitch button,.homeTools button{
  height:36px;padding:0 12px;border:1px solid var(--line);border-radius:12px;
  background:var(--c);color:var(--mut);font-size:10px;font-weight:900;
}
.homeLayoutSwitch button.active{color:white;border-color:var(--p);background:color-mix(in srgb,var(--p) 24%,var(--c))}
.spark{display:block;width:100%;height:42px;margin:-3px 0 4px;opacity:.82}
.smallSpark{height:30px}
.spark + .bar{height:5px}

/* Preset: Minimal */
body[data-home-layout="minimal"] #home .hero{
  min-height:0;
}
body[data-home-layout="minimal"] #home .grid{
  grid-template-columns:1fr 1fr;
  grid-template-rows:1.15fr .82fr;
}
body[data-home-layout="minimal"] #home .storage,
body[data-home-layout="minimal"] #home .historyCard[data-history="ram"]{
  display:none;
}
body[data-home-layout="minimal"] #home .music{
  grid-column:1/-1;
}
body[data-home-layout="minimal"] #home .hero .big{font-size:clamp(54px,7vw,86px)}

/* Preset: Performance */
body[data-home-layout="performance"] #home .grid{
  grid-template-columns:1fr 1fr;
  grid-template-rows:minmax(0,1.35fr) minmax(0,.72fr);
}
body[data-home-layout="performance"] #home .hero{
  min-height:0;
}
body[data-home-layout="performance"] #home .storage,
body[data-home-layout="performance"] #home .music{
  display:none;
}
body[data-home-layout="performance"] #home .hero .big{font-size:clamp(68px,9vw,110px)}
body[data-home-layout="performance"] #home .spark{height:62px;opacity:1}

/* Mixer */
.mixerSheet{width:min(920px,96vw)!important}
.mixerList{display:grid;gap:9px;margin-top:12px;max-height:68vh;overflow:auto}
.mixerRow{
  display:grid;grid-template-columns:minmax(140px,1fr) minmax(170px,2fr) 64px 54px;
  gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:15px;background:var(--c)
}
.mixerName{min-width:0}.mixerName b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mixerName span{font-size:10px;color:var(--mut)}
.mixerPct{font-weight:900;color:var(--p2);text-align:right}
.mixerMute{height:38px;border:1px solid var(--line);border-radius:11px;background:var(--c2)}
.mixerMute.active{border-color:#ff5268;color:#ff7185}

/* Quick actions */
.quickGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.quickGrid button{
  min-height:110px;border:1px solid var(--line);border-radius:18px;background:var(--c);
  color:var(--txt);font-size:28px;display:grid;place-items:center;align-content:center;gap:8px
}
.quickGrid button b{font-size:10px;letter-spacing:.04em}
.quickGrid button:active{transform:scale(.97);border-color:var(--p)}

/* Spotify Search */
.spotifySearchBar{display:grid;grid-template-columns:1fr 110px;gap:9px;margin:12px 0}
.spotifySearchBar input{
  height:46px;border:1px solid var(--line);border-radius:13px;background:var(--c);color:var(--txt);padding:0 14px
}

/* Wider Xeneon-style screens */
@media(min-aspect-ratio:2/1) and (min-width:1200px){
  .app{padding:12px 18px 10px}
  header{min-height:82px}
  .time b{font-size:44px}
  #home .grid{
    grid-template-columns:1.15fr 1.15fr .8fr .8fr 1.15fr;
    grid-template-rows:1fr;
    gap:10px;
  }
  #home .storage{grid-column:auto}
  #home .music{grid-column:auto;grid-template-columns:58px 1fr 48px}
  #home .cover{width:58px;height:58px}
  #home .card{min-width:0}
  #home .hero .big{font-size:54px}
  #home .spark{height:32px}
  #home .foot{font-size:9px}
  nav{max-width:760px;margin:8px auto 0}
  .player{grid-template-columns:minmax(170px,260px) 1fr;grid-template-rows:auto;column-gap:28px}
  .album{grid-row:1/8;width:min(22vw,260px)}
}

/* Remote: hide Windows mixer/quick actions */
.remoteClient #openMixer,.remoteClient #openQuickActions{display:none!important}

@media(max-width:700px){
  .homeLayoutSwitch{overflow:auto;max-width:100%}
  .homeLayoutSwitch button{white-space:nowrap}
  .homeToolbar{flex-wrap:wrap;justify-content:flex-start}
  .homeTools{order:3}
  .quickGrid{grid-template-columns:1fr 1fr}
  .mixerRow{grid-template-columns:1fr 1fr}
  .mixerRow input{grid-column:1/-1}
}

/* FIX1 */
.spotifySearchBar{
  display:flex!important;
  align-items:stretch;
  gap:8px!important;
  width:100%;
  min-width:0;
}
.spotifySearchBar input{
  flex:1 1 auto;
  min-width:0;
  width:auto!important;
  box-sizing:border-box;
}
.spotifySearchBar button{
  flex:0 0 92px;
  width:92px;
  min-width:92px;
  height:46px;
  padding:0 8px;
  border:1px solid var(--p);
  border-radius:12px;
  background:color-mix(in srgb,var(--p) 30%,var(--c));
  color:var(--txt);
  font-size:10px;
  font-weight:900;
  cursor:pointer;
}
.spotifySearchBar button:disabled{opacity:.65;cursor:wait}
.homeTools #openMixer{padding:0 15px}


/* v1.2.1 — SOMENTE os quatro atalhos abaixo do Spotify */
.spotifyQuickActions121{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px 12px !important;
  width:min(760px,calc(100% - 48px)) !important;
  margin:12px auto 0 !important;
}
.spotifyQuickActions121 > button{
  width:100% !important;
  min-width:0 !important;
  height:44px !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.spotifyQuickActions121 > #openLibraryModal{
  grid-column:2 !important;
}
/* botão de tela cheia do topo */
.topActions{position:absolute;right:18px;top:18px;display:flex;gap:8px}
.topActions #full{width:48px;height:48px;border:1px solid var(--line);background:var(--c);color:var(--txt);border-radius:15px;font-size:22px}
