:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#f8faf8;background:#0b110e;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid #b7ff1a;outline-offset:3px}#app{min-height:100vh}.shell{max-width:1150px;margin:auto;padding:25px 20px calc(112px + env(safe-area-inset-bottom))}.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:50px}.brand{display:flex;align-items:center;gap:9px;font-size:26px;font-weight:850;letter-spacing:-1.5px}.brand svg{width:42px;height:42px}.brand em{font-style:normal;color:#b7ff1a}.iconbtn{border:1px solid #2a382d;border-radius:14px;background:#17211a;color:#e7eee8;min-width:44px;height:44px;font-size:20px}.intro{margin-bottom:27px}.eyebrow{color:#b7ff1a;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.intro h1{font-size:clamp(32px,5vw,48px);letter-spacing:-.045em;margin:9px 0 5px;line-height:1.08}.intro p{color:#a8b5aa;margin:0;font-size:17px}.homegrid{display:grid;gap:14px;max-width:780px}.module{width:100%;background:linear-gradient(115deg,#1a281c,#131d16);border:1px solid #304132;border-radius:22px;color:inherit;text-align:left;padding:23px;min-height:130px;display:flex;align-items:center;gap:17px;transition:transform .2s,border-color .2s}.module:hover,.module:active{transform:translateY(-2px);border-color:#7cae23}.module.feature{background:linear-gradient(115deg,#253d20,#152518);border-color:#517633}.module-icon{width:55px;height:55px;border-radius:16px;background:#b7ff1a;color:#122113;display:grid;place-items:center;font-size:25px;flex:none}.module:not(.feature) .module-icon{background:#29392b;color:#b7ff1a}.module strong{display:block;font-size:19px;letter-spacing:-.025em}.module small{display:block;color:#b6c3b7;font-size:14px;margin-top:5px;line-height:1.4}.arrow{margin-left:auto;color:#b7ff1a;font-size:25px}.nav{position:fixed;bottom:0;left:0;right:0;background:#101a13ed;backdrop-filter:blur(18px);border-top:1px solid #334036;display:flex;justify-content:space-around;padding:9px max(12px,calc((100vw - 820px)/2)) calc(9px + env(safe-area-inset-bottom));z-index:5}.nav button{border:0;background:none;color:#a3b0a5;min-width:70px;min-height:51px;padding:4px 9px;display:grid;place-items:center;gap:1px;font-size:12px}.nav button b{font-size:22px;font-weight:400;line-height:1}.nav button.active{color:#b7ff1a}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:26px 0}.search{position:relative;flex:1;min-width:230px}.search input{width:100%;height:50px;border:1px solid #344639;border-radius:13px;background:#17221a;color:#fff;padding:0 17px}.search input::placeholder{color:#859688}.suggest{position:absolute;z-index:4;top:55px;left:0;right:0;background:#1b2a1e;border:1px solid #516c49;border-radius:12px;max-height:280px;overflow:auto;box-shadow:0 16px 32px #0008}.suggest button{display:block;width:100%;background:none;border:0;color:#fff;text-align:left;padding:12px 17px}.suggest button:hover{background:#2d402b}.subbtn,.action{border:1px solid #4b6545;background:#1c2b20;color:#e8f2e7;border-radius:12px;padding:12px 16px;font-weight:650;min-height:46px}.action{background:#b7ff1a;border-color:#b7ff1a;color:#142210}.action.ghost{background:#19261c;border-color:#39523a;color:#b7ff1a}.tones{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:25px}.tone{border:1px solid #405a3b;border-radius:18px;background:#1a2a1d;color:#fff;min-height:94px;font-size:30px;font-weight:780}.tone.available{color:#b7ff1a;border-color:#85b839;background:linear-gradient(135deg,#2c4722,#172619)}.tone:disabled{opacity:.65;cursor:default}.tone span{display:block;font-size:12px;font-weight:550;color:#9ea99f;margin-top:2px}.section{margin-top:42px}.section h2{font-size:23px;letter-spacing:-.03em;margin:0 0 16px}.groupgrid,.voicinggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.card{background:#17221a;border:1px solid #344637;border-radius:19px;padding:18px;min-width:0}.cardhead{display:flex;align-items:start;justify-content:space-between;gap:10px}.card h3{font-size:23px;margin:0}.meta{color:#a7b8a9;font-size:13px;margin-top:3px}.diagram{display:block;width:100%;max-width:150px;height:auto;margin:12px auto;color:#cbd8c9}.card .diagram{max-width:130px}.card .action{width:100%;margin-top:7px}.back{border:0;background:none;color:#b7ff1a;padding:4px 0;font-size:15px;margin-bottom:21px}.mode{display:flex;gap:6px;background:#18241a;border:1px solid #364b39;border-radius:13px;padding:5px;width:max-content;margin:20px 0}.mode button{border:0;border-radius:9px;background:none;color:#aeb9af;padding:9px 19px}.mode button.selected{background:#b7ff1a;color:#17230f;font-weight:750}.voicing{position:relative}.voicing h3{font-size:24px;margin:0}.voicing .diagram{max-width:220px}.voicing .controls{display:flex;gap:8px;flex-wrap:wrap}.voicing .controls button{flex:1}.heart{background:none;border:0;color:#b7ff1a;font-size:25px;line-height:1;padding:4px}.carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding-bottom:12px;scrollbar-color:#709d32 transparent}.carousel .voicing{flex:0 0 min(85vw,420px);scroll-snap-align:center}.carousel .diagram{max-width:300px}.empty{padding:35px 20px;text-align:center;border:1px dashed #476047;border-radius:18px;color:#aab7aa}.notice{color:#b7ff1a;min-height:20px;font-size:13px;margin-top:10px}.coming{max-width:520px;padding:35px;background:#17221a;border:1px solid #354b39;border-radius:24px}.coming .module-icon{margin-bottom:22px}.settings{max-width:500px}.loading{padding:30px;color:#b7ff1a}@media(min-width:800px){.shell{padding:35px 46px 130px}.top{margin-bottom:65px}.homegrid{grid-template-columns:repeat(2,1fr)}.homegrid .feature{grid-column:span 2}.tones{grid-template-columns:repeat(7,1fr)}.nav{left:50%;right:auto;transform:translateX(-50%);bottom:18px;border:1px solid #3d533e;border-radius:20px;padding:7px 15px;box-shadow:0 14px 40px #0007;width:max-content}.nav button{min-width:105px}}@media(max-width:450px){.shell{padding:20px 16px calc(110px + env(safe-area-inset-bottom))}.top{margin-bottom:42px}.tones{gap:8px}.tone{min-height:80px}.groupgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.card{padding:12px}.card h3{font-size:20px}.card .action{font-size:13px;padding:9px 4px}.card .diagram{max-width:115px}.meta{font-size:12px}.voicinggrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.voicinggrid .voicing{padding:12px}.voicinggrid .controls button{font-size:12px;padding:8px}.voicinggrid .voicing h3{font-size:19px}}
/* Tela inicial: referência visual AcordeFlow */
body{background:radial-gradient(ellipse 80% 55% at 54% 53%,#101b13 0%,#0c1512 55%,#0b110e 100%)}
.shell{max-width:1080px}.top{margin-bottom:39px;gap:14px}.brand-logo{display:block;width:auto;height:44px;max-width:min(68vw,240px);object-fit:contain;object-position:left center;flex:none}.iconbtn{display:grid;place-items:center;background:transparent;border:0;color:#aab7c6;border-radius:12px;flex:none}.iconbtn:hover{color:#b7ff1a;background:#1a281d}
.intro h1{font-size:clamp(31px,5vw,43px);letter-spacing:-.035em}.intro p{color:#aeb8c8}.homegrid{max-width:650px;grid-template-columns:1fr;gap:13px}.module,.module.feature{min-height:132px;display:flex;gap:16px;background:radial-gradient(ellipse at 40% 20%,#22302366,#121b16 75%);border:1px solid #688f26;border-radius:21px;box-shadow:inset 0 0 22px #537a1e20,0 0 19px #7cbd161a;padding:18px 18px;color:#fff;transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease}.module:hover{transform:translateY(-2px);border-color:#a2de31;box-shadow:inset 0 0 24px #80b82322,0 0 24px #94d31e35}.module:active{transform:scale(.985);border-color:#c7ff4a;box-shadow:0 0 23px #a0eb3050}.module-icon,.module:not(.feature) .module-icon{width:92px;height:86px;flex:0 0 92px;background:none;color:#b7ff1a;border-radius:0;display:grid;place-items:center}.feature-icon{width:80px;height:80px;display:block}.module[data-go="sequences"] .feature-icon{width:100px;max-width:100%}.module-copy{min-width:0;flex:1}.module strong{font-size:18px;line-height:1.25;letter-spacing:-.015em}.module small{color:#b0bdc7;font-size:14px;line-height:1.35;margin-top:6px}.arrow{color:#f4f8f5;font-size:31px;font-weight:300;line-height:1;margin-left:0;align-self:center}
.nav{background:#111a17f5;border-top:1px solid #25342b;box-shadow:0 -8px 30px #0004}.nav button{position:relative;color:#a2adbb;gap:2px}.nav button b{display:flex;justify-content:center;align-items:center;height:25px}.nav button.active{color:#b7ff1a}.nav button.active:after{content:"";position:absolute;bottom:0;width:26px;height:2px;background:#b7ff1a;border-radius:5px}
@media(min-width:800px){.shell{max-width:850px}.top{margin-bottom:48px}.brand-logo{height:50px;max-width:260px}.homegrid{max-width:690px}.module,.module.feature{min-height:139px}.nav{border:1px solid #384c3c;padding:8px 15px}.nav button.active:after{bottom:3px}}
@media(max-width:450px){.shell{padding:18px 15px calc(112px + env(safe-area-inset-bottom))}.top{margin-bottom:40px}.brand-logo{height:42px;max-width:68vw}.intro{margin-bottom:22px}.intro h1{margin:7px 0 4px}.module,.module.feature{min-height:124px;padding:14px 12px;gap:10px;border-radius:19px}.module-icon,.module:not(.feature) .module-icon{width:76px;flex-basis:76px;height:76px}.feature-icon{width:68px;height:68px}.module[data-go="sequences"] .feature-icon{width:76px}.module strong{font-size:16px}.module small{font-size:13px}.arrow{font-size:28px}.nav button{min-width:0;flex:1;padding:4px 2px;font-size:11px}}
@media(max-width:360px){.module-icon,.module:not(.feature) .module-icon{width:64px;flex-basis:64px}.feature-icon{width:60px;height:60px}.module[data-go="sequences"] .feature-icon{width:65px}.module strong{font-size:15px}.module small{font-size:12px}}
/* Ajustes pontuais da prévia mobile */
.brand-logo{width:clamp(190px,58vw,230px);height:auto;max-width:calc(100% - 60px);object-fit:contain}
@media(min-width:800px){.brand-logo{width:250px;height:auto;max-width:calc(100% - 60px)}}
.homegrid .module{background:radial-gradient(circle at 18% 50%,rgba(183,255,26,.12),transparent 43%),radial-gradient(ellipse at 94% 90%,rgba(126,214,25,.08),transparent 47%),linear-gradient(135deg,rgba(14,34,25,.98),rgba(7,18,14,.98));border:1px solid rgba(183,255,26,.55);box-shadow:inset 0 0 30px rgba(183,255,26,.07),inset 0 0 6px rgba(183,255,26,.06),0 0 22px rgba(125,220,25,.16)}
.homegrid .module-icon{filter:drop-shadow(0 0 9px rgba(183,255,26,.26))}
.homegrid .module:hover,.homegrid .module:focus-visible{border-color:rgba(183,255,26,.8);box-shadow:inset 0 0 36px rgba(183,255,26,.1),0 0 26px rgba(125,220,25,.24)}
.homegrid .module:active{transform:scale(.985);border-color:#c7ff4a;box-shadow:inset 0 0 34px rgba(183,255,26,.13),0 0 25px rgba(125,220,25,.28)}
.carousel .diagram--large{width:clamp(240px,72vw,340px);max-width:100%;height:auto;margin:22px auto 28px}
/* Estado visual de foco exclusivo da página de variações */
#app.variations-page{background:radial-gradient(circle at 50% 12%,rgba(110,190,35,.14),transparent 34%),radial-gradient(circle at 50% 55%,rgba(183,255,26,.055),transparent 40%),linear-gradient(180deg,#0b1a13 0%,#07100d 45%,#06100c 100%)}
.variations-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:2px 7px;color:#aebac0;font-size:14px;line-height:1.35;margin:0 0 16px;min-width:0}
.variations-breadcrumb button{background:transparent;border:0;color:#b5c2c3;min-height:44px;padding:7px 2px;text-align:left;border-radius:4px}
.variations-breadcrumb button:hover{color:#b7ff1a}.variations-breadcrumb [aria-current="page"]{color:#b7ff1a;font-weight:650;overflow-wrap:anywhere}
.variations-badge{display:inline-flex;width:fit-content;padding:6px 10px;border-radius:999px;color:#b7ff1a;background:rgba(183,255,26,.07);border:1px solid rgba(183,255,26,.28);font-size:12px;font-weight:650;letter-spacing:.08em;line-height:1.3}
.variations-content .intro{margin-top:13px}.variations-content .intro h1{color:#fff}.variations-content .intro p{color:#c1cbcc}
.variations-content .voicing{background:radial-gradient(circle at 50% 47%,rgba(183,255,26,.075),transparent 38%),linear-gradient(145deg,rgba(18,39,29,.98),rgba(9,22,17,.98));border:1px solid rgba(183,255,26,.38);box-shadow:inset 0 0 30px rgba(183,255,26,.035),0 12px 32px rgba(0,0,0,.26),0 0 20px rgba(135,220,30,.06);border-radius:20px}
.variations-content .carousel .voicing:not(.is-active){border-color:rgba(183,255,26,.27);box-shadow:inset 0 0 25px rgba(183,255,26,.025),0 10px 24px rgba(0,0,0,.23)}
.variations-content .carousel .voicing.is-active{border-color:rgba(183,255,26,.58);box-shadow:inset 0 0 34px rgba(183,255,26,.055),0 12px 32px rgba(0,0,0,.29),0 0 23px rgba(135,220,30,.1)}
@keyframes variationsPageEnter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.variations-content.variations-enter{animation:variationsPageEnter 320ms ease-out both}
@media(prefers-reduced-motion:reduce){.variations-content.variations-enter{animation:none}}
/* Botão de acesso às variações nos cards da tonalidade */
.groupgrid .card .action.ghost.view-variations-button{background:#b7ff1a;color:#07100d;border-color:#b7ff1a;font-weight:700;box-shadow:0 0 14px rgba(183,255,26,.18),0 6px 16px rgba(0,0,0,.22);transition:background .16s,border-color .16s,box-shadow .16s,transform .16s}
.groupgrid .card .action.ghost.view-variations-button:hover{background:#c4ff42;border-color:#c4ff42;box-shadow:0 0 20px rgba(183,255,26,.28),0 8px 18px rgba(0,0,0,.24)}
.groupgrid .card .action.ghost.view-variations-button:active{transform:scale(.98);background:#a8ed12;border-color:#a8ed12}
.groupgrid .card .action.ghost.view-variations-button:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* Convite de instalação PWA e opção em Configurações */
.install-backdrop{position:fixed;inset:0;z-index:20;background:#000b;display:flex;align-items:center;justify-content:center;padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom))}
.install-dialog{width:min(100%,390px);max-height:min(85vh,620px);overflow:auto;border:1px solid #668a29;border-radius:24px;padding:25px;background:radial-gradient(circle at 50% 0%,#25411c 0%,#15231a 48%,#0b1510 100%);box-shadow:0 0 28px #b7ff1a20,0 24px 65px #000a;text-align:center;color:#fff}
.install-dialog img{display:block;margin:0 auto 14px;border-radius:15px;object-fit:contain}
.install-dialog h2{font-size:23px;margin:0 0 9px;line-height:1.2}
.install-dialog p,.install-settings p{color:#b9c6bd;font-size:15px;line-height:1.5}
.install-dialog p{margin:0 0 22px}
.install-primary{width:100%;min-height:49px;border:1px solid #b7ff1a;border-radius:13px;background:#b7ff1a;color:#07100d;font-weight:750;box-shadow:0 0 15px #b7ff1a24}
.install-primary:hover{background:#c6ff48}.install-primary:active{transform:scale(.985)}
.install-later{display:block;min-height:45px;margin:9px auto 0;padding:8px 15px;border:0;background:transparent;color:#bdc8bf}
.install-settings{margin-top:27px;padding:20px;border:1px solid #344c37;border-radius:18px;background:#17221a}
.install-settings h2{font-size:19px;margin:0 0 7px}.install-settings p{margin:0 0 17px}.install-settings .meta{margin-bottom:0}.install-settings .install-status{color:#b7ff1a;margin-bottom:0}
@media(max-width:450px){.install-dialog{padding:22px 18px}.install-dialog h2{font-size:21px}}

/* Explorar Sequências */
.seq-hub .module-icon{color:#b7ff1a}
.seq-tone-picker{position:sticky;top:0;z-index:4;background:#101b16f7;backdrop-filter:blur(14px);border:1px solid #3e5633;border-radius:17px;padding:14px;margin:24px 0 0;box-shadow:0 8px 24px #0005}
.seq-tone-picker h2{font-size:15px;line-height:1.4;margin:0 0 10px;color:#d6dfda}
.seq-tone-options{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.seq-tone{min-height:44px;min-width:0;background:#1b2a20;color:#c5d0c9;border:1px solid #3c513b;border-radius:10px;font-weight:700}.seq-tone.selected{background:#b7ff1a;color:#07100d;border-color:#b7ff1a;box-shadow:0 0 13px #b7ff1a25}
.seq-list{display:grid;gap:20px}.seq-card{min-width:0;padding:24px;border-radius:23px;border:1px solid #536f32;background:radial-gradient(ellipse at 40% 15%,#25422244,transparent 70%),#111e17;box-shadow:inset 0 0 24px #b7ff1a08,0 6px 24px #0003}.seq-card h2{margin:0 0 18px;font-size:22px;color:#fff;letter-spacing:-.025em}.seq-card-heading{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;justify-content:space-between}.seq-tone-tag{color:#b7ff1a;font-size:13px;border:1px solid #516d32;border-radius:99px;padding:4px 9px}
.seq-flow{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:12px 0}.seq-step{display:flex;align-items:center;gap:7px;min-width:0;flex:1}.seq-arrow{flex:none;color:#738773;font-size:18px}.seq-node{display:flex;align-items:center;justify-content:center;min-width:0;flex:1;min-height:49px;padding:8px 4px;border:1px solid #617e35;border-radius:12px;color:#b7ff1a;font-size:23px;font-weight:750;background:#24371d88;overflow-wrap:anywhere}.seq-flow--chords .seq-node{color:#f5faf6;font-size:21px;background:#17271e;border-color:#3e5841}.seq-flow--chords .seq-arrow{color:#b7ff1a99}
.seq-save,.seq-remove{min-height:46px;border-radius:12px;padding:10px 15px;margin:12px 0 0;font-weight:700}.seq-save{width:100%;background:#b7ff1a;color:#07100d;border:1px solid #b7ff1a}.seq-save:hover{background:#c4ff42}.seq-save:active{transform:scale(.985)}.seq-save:disabled{background:#22351f;color:#b7ff1a;border-color:#4c6935;cursor:default}.seq-remove{background:transparent;border:1px solid #506748;color:#bdccb9}
.seq-songs{margin-top:19px;border-top:1px solid #344b33;padding-top:7px}.seq-disclosure{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:8px 0;border:0;background:none;color:#b9c7c1;text-align:left;font-size:14px;line-height:1.4}.seq-disclosure>span:last-child{color:#b7ff1a;font-size:21px}.seq-song-list{margin:6px 0 0;padding:0;list-style:none}.seq-song-list li{padding:10px 0;border-bottom:1px solid #283d2e;line-height:1.4}.seq-song-list strong{display:block;font-size:15px;font-weight:600;color:#e5ece7;overflow-wrap:anywhere}.seq-song-list span{display:block;color:#a5b5ac;font-size:14px;margin-top:2px}.seq-more{min-height:44px;margin-top:9px;padding:7px 0;border:0;background:none;color:#b7ff1a;font-weight:600}.seq-notice{color:#b7ff1a;font-size:14px;line-height:1.4;min-height:20px;margin:13px 0;overflow-wrap:anywhere}
@media(min-width:800px){.seq-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.seq-tone-options{max-width:460px}.seq-hub{max-width:690px}}
@media(max-width:450px){.seq-card{padding:18px 13px}.seq-card h2{font-size:20px}.seq-flow{gap:4px}.seq-step{gap:4px}.seq-node{font-size:21px}.seq-flow--chords .seq-node{font-size:19px}.seq-arrow{font-size:15px}.seq-tone-picker{padding:12px 10px}.seq-tone-picker h2{font-size:14px}}
.sb-button{min-height:44px;padding:10px 14px;border:1px solid #4b6345;border-radius:12px;background:#18271e;color:#dce6df;font-weight:600;line-height:1.35}.sb-button:hover{border-color:#91bf38}.sb-button:active{transform:scale(.985)}.sb-button:disabled{opacity:.45;cursor:default}.sb-primary{background:#b7ff1a;color:#07100d;border-color:#b7ff1a}.sb-danger{background:#803632;border-color:#e58a82;color:#fff}.sb-tones{max-width:540px;padding:18px;border:1px solid #3d5635;border-radius:18px;background:#14221a}.sb-tones h2{font-size:17px;margin:0 0 14px}.sb-name{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:20px;overflow-wrap:anywhere}.sb-test-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:24px}.sb-test-row strong{margin-left:9px;color:#b7ff1a}.sb-test-row>span,.sb-help{color:#b6c6bd;font-size:14px;line-height:1.5}.sb-help{margin:14px 0}.sb-track{display:flex;gap:14px;overflow-x:auto;padding:8px 6px 20px;overscroll-behavior-x:contain;scrollbar-color:#6b9133 #14221a;scrollbar-width:thin;position:relative}.sb-chord{flex:0 0 230px;min-width:0;border:1px solid #536c39;border-radius:19px;background:#14231b;padding:14px;position:relative}.sb-chord h2{font-size:23px;margin:12px 0 0;overflow-wrap:anywhere}.sb-chord .diagram{display:block;width:100%;max-width:190px;height:190px;margin:8px auto}.sb-card-top{display:flex;align-items:center;justify-content:space-between;color:#c2d1c6}.sb-handle{touch-action:none;cursor:grab;min-width:44px;min-height:44px;border:1px solid #425c3e;border-radius:10px;background:#1a2e20;color:#b7ff1a;font-size:25px}.sb-dragging{z-index:3;box-shadow:0 10px 25px #0008;border-color:#b7ff1a;cursor:grabbing}.sb-drop-target{outline:2px dashed #b7ff1a;outline-offset:3px}.sb-test{touch-action:pan-y}.sb-test:focus-visible{outline:2px solid #b7ff1a;outline-offset:2px}.sb-position-controls{display:flex;gap:5px;justify-content:space-between}.sb-position-controls .sb-button{padding:8px 10px;font-size:14px}.sb-variation-controls{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:10px}.sb-variation-controls span{font-size:13px;color:#c2d0c5}.sb-variation-controls .sb-button{font-size:23px;padding:3px 12px}.sb-add-card{flex:0 0 180px;border:1px dashed #6b9133;border-radius:19px;display:grid;place-items:center;padding:15px}.sb-add-card .sb-button{background:transparent;color:#b7ff1a}.sb-empty{border:1px dashed #466438;border-radius:18px;padding:32px 18px;margin:22px 0;text-align:center}.sb-empty p{color:#b4c2b9;font-size:15px}.sb-footer{display:flex;gap:12px;flex-wrap:wrap}.sb-saved-list{display:grid;gap:20px}.sb-saved-track{display:flex;gap:12px;overflow-x:auto;padding:12px 2px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#6b9133 #14221a}.sb-saved-chord{flex:0 0 125px;min-width:0}.sb-saved-chord strong{display:block;font-size:19px;margin:4px 0;overflow-wrap:anywhere}.sb-saved-chord small{color:#adbfb2}.sb-saved-chord .diagram{display:block;width:125px;height:140px;max-width:100%;margin:0}.sb-saved-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.sb-missing{color:#edc9ac;font-size:14px;line-height:1.5}.sb-picker,.sb-dialog{background:#101e16;color:#fff;border:1px solid #678c38;border-radius:22px;padding:22px;width:min(94vw,680px);max-height:calc(90dvh - env(safe-area-inset-bottom));box-shadow:0 20px 70px #0009;overflow-y:auto}.sb-picker::backdrop,.sb-dialog::backdrop{background:#000b}.sb-picker{padding:0}.sb-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px;background:#14231b;position:sticky;top:0;z-index:1;border-bottom:1px solid #405731}.sb-dialog-head h2{font-size:19px;margin:0}.sb-picker-content{padding:18px;display:grid;gap:12px;overflow-y:auto;max-height:70dvh}.sb-picker-content>.sb-button{text-align:left;min-height:54px}.sb-picker-content small{display:block;font-size:14px;color:#b6c7bd;font-weight:400;margin-top:5px}.sb-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sb-form{min-width:0;padding:16px 10px;border:1px solid #48643b;border-radius:17px;background:#17271e}.sb-form h3{margin:0;font-size:21px;overflow-wrap:anywhere}.sb-form .meta{font-size:14px;line-height:1.4}.sb-form .diagram{width:100%;height:190px;display:block;margin:0 auto}.sb-form .sb-button{width:100%;font-size:14px}.sb-dialog h2{font-size:21px;line-height:1.4;margin:0 0 20px}.sb-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:20px}.sb-name-field{display:grid;gap:8px;color:#c5d4c9}.sb-name-field input{width:100%;min-height:48px;padding:12px;border:1px solid #597442;border-radius:10px;background:#0a160f;color:#fff;font-size:17px}.sb-error{color:#ffc1b5;min-height:20px;font-size:14px}.sb-picker .sb-button:focus-visible,.sb-dialog .sb-button:focus-visible{outline:2px solid #b7ff1a;outline-offset:3px}
@media(max-width:360px){.sb-form-grid{grid-template-columns:1fr}.sb-chord{flex-basis:218px}.sb-dialog{padding:18px}.sb-tones{padding:14px 10px}}
@media(max-width:420px){.sb-tones .seq-tone-options{grid-template-columns:repeat(4,minmax(0,1fr))}.sb-tones .seq-tone{min-height:48px}}
/* TrocaCerta: superfície exclusiva de treino, sem estilos nos módulos existentes. */
.tc-button{min-height:46px;padding:11px 17px;border:1px solid #4a6340;border-radius:13px;background:#17291e;color:#e7f0e8;font-weight:650;line-height:1.4;transition:background .15s,border-color .15s,transform .15s}.tc-button:hover{border-color:#a5d653;background:#223822}.tc-button:active{transform:scale(.98)}.tc-button:disabled{opacity:.45;cursor:default}.tc-primary{background:#b7ff1a;color:#07100d;border-color:#b7ff1a;box-shadow:0 0 18px #b7ff1a16}.tc-primary:hover{background:#c6ff46}.tc-danger{background:#772e32;border-color:#e78687;color:#fff}.tc-hub .module-icon{color:#b7ff1a}.tc-help{color:#b6c9bd;line-height:1.5;font-size:14px}.tc-notice{color:#c3de9e;min-height:20px;line-height:1.5;font-size:14px}.tc-error{color:#ffc1b5;font-size:14px}.tc-panel{background:linear-gradient(130deg,#16291d,#0f1e16);border:1px solid #4d6935;border-radius:24px;padding:23px;margin:22px 0;box-shadow:inset 0 0 35px #b7ff1a06,0 10px 28px #0003}.tc-config-title{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.tc-config-title h2{margin:0;overflow-wrap:anywhere}.tc-preview-track{display:flex;gap:14px;overflow-x:auto;padding:18px 3px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#88aa4b #17281d}.tc-preview-chord{flex:0 0 125px;min-width:0}.tc-preview-chord small{color:#a9bcaf}.tc-preview-chord strong{display:block;font-size:20px;overflow-wrap:anywhere;margin:6px 0}.tc-preview-chord .diagram{display:block;width:125px;height:155px;max-width:100%;margin:0}.tc-preview-chord label{display:grid;gap:6px;font-size:14px;color:#c2d2c5}.tc-preview-chord select,.tc-global-bars select{min-height:44px;padding:9px;border:1px solid #58793d;border-radius:10px;background:#0e1b12;color:#eaf4e8;font:inherit}.tc-config-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;border-top:1px solid #345330;padding-top:24px}.tc-config-controls h3{font-size:17px;margin:0 0 12px}.tc-meter{display:flex;gap:10px}.tc-meter [aria-pressed=true]{background:#b7ff1a;color:#07100d;border-color:#b7ff1a}.tc-global-bars>label{display:block;font-weight:650;margin-bottom:12px}.tc-global-bars>div{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tc-bpm>label{display:block;font-size:15px;color:#b9cbbd;font-weight:650;margin-bottom:9px}.tc-bpm-row{display:flex;gap:9px;align-items:center}.tc-bpm-row .tc-button{width:46px;flex:none;font-size:22px;padding:7px}.tc-bpm-row input{width:92px;min-width:0;min-height:46px;text-align:center;font-size:27px;font-weight:750;border:1px solid #5b763f;border-radius:13px;background:#0a1710;color:#fff;padding:6px;-moz-appearance:textfield}.tc-bpm-row input::-webkit-inner-spin-button{display:none}.tc-bpm-unit{font-size:14px;color:#b9cbbd}.tc-bpm input[type=range]{width:100%;max-width:360px;accent-color:#b7ff1a;min-height:35px;margin-top:9px;cursor:pointer}.tc-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.tc-summary{display:flex;gap:16px;flex-wrap:wrap;padding:17px 0}.tc-summary>span{padding:10px 14px;border:1px solid #3e5b33;background:#182d1c;border-radius:12px;font-size:15px}.tc-summary strong{font-size:24px;color:#b7ff1a}.tc-recents{margin-top:28px;display:grid;gap:12px}.tc-recents h2{font-size:22px}.tc-recent{width:100%;min-width:0;padding:18px;border-radius:18px;border:1px solid #456537;background:#14241a;color:#eef5ee;display:flex;justify-content:space-between;gap:15px;align-items:center;text-align:left}.tc-recent strong{display:block;font-size:18px;overflow-wrap:anywhere}.tc-recent small,.tc-recent div>span{display:block;color:#adc3b4;font-size:14px;line-height:1.6;overflow-wrap:anywhere;margin-top:4px}.tc-recent>span{color:#b7ff1a;font-size:30px}.tc-dialog{background:#101f16;color:#f6fff5;border:1px solid #749945;border-radius:22px;padding:22px;max-width:650px;width:min(94vw,650px);max-height:90dvh;overflow-y:auto;box-shadow:0 25px 70px #0009}.tc-dialog::backdrop{background:#000c;backdrop-filter:blur(4px)}.tc-dialog h2{font-size:22px;line-height:1.4;margin:0 0 20px}.tc-import-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.tc-import-record{border-top:1px solid #3b5632;padding:18px 0}.tc-import-record h3{overflow-wrap:anywhere}.tc-import-record:last-child{padding-bottom:0}.tc-live-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.tc-live-status{color:#b7ff1a;font-size:17px;font-weight:750;letter-spacing:.02em}.tc-play{background:radial-gradient(ellipse at 50% 25%,#1c42281f,transparent 70%);animation:tc-enter .3s ease-out both}.tc-play-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.tc-performance{min-width:0;text-align:center}.tc-wheel-stage{position:relative;width:100%;max-width:570px;margin:0 auto;aspect-ratio:1}.tc-wheel{width:100%;height:100%;display:block;overflow:visible}.tc-slice path{fill-opacity:.82;stroke:#07100d;stroke-width:3;transition:fill-opacity .15s,filter .15s,d .15s}.tc-slice text{pointer-events:none;letter-spacing:-.025em}.tc-slice.is-active path{fill-opacity:1;stroke:#ecffc8;stroke-width:3;filter:drop-shadow(0 0 5px var(--slice-color))}.tc-slice.is-active text{font-weight:900}.tc-slice.is-next path{fill-opacity:.96;filter:drop-shadow(0 0 4px var(--slice-color));stroke:#ffffff9c}.tc-center{position:absolute;inset:24% 24%;display:grid;place-items:center;pointer-events:none;border-radius:50%;background:#0b1812}.tc-center .diagram,.tc-center .diagram--large{display:block;width:78%;max-width:210px;height:92%;max-height:none;margin:0;overflow:visible;filter:none}.tc-current{color:#e8f3e7;font-weight:750;font-size:21px;line-height:1.3;overflow-wrap:anywhere;min-height:29px;margin-top:-5px}.tc-beats{display:flex;align-items:center;justify-content:center;gap:14px;margin:16px 0 11px}.tc-dot{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:#1a2a20;color:#859e8d;border:1px solid #405a3b;font-weight:650;font-size:15px;transition:background .09s,color .09s}.tc-dot.lit{background:#b7ff1a;color:#07100d;border-color:#b7ff1a;box-shadow:0 0 17px #b7ff1a35}.tc-dot.first.lit{outline:2px solid #b7ff1a66;outline-offset:4px}.tc-measure{font-size:15px;color:#bed0c3;margin:8px 0;min-height:22px}.tc-live-stats{display:flex;justify-content:center;gap:17px;color:#8fa996;font-size:14px;margin:12px 0}.tc-live-stats>span:first-child{font-variant-numeric:tabular-nums}.tc-live-controls{align-self:start;padding:22px;border:1px solid #415e34;border-radius:23px;background:#122219}.tc-live-controls .tc-bpm input[type=range]{max-width:none}.tc-live-controls .tc-controls .tc-button{flex:1;padding-inline:12px}.tc-result{animation:tc-enter .35s ease-out both}.tc-complete-mark{width:61px;height:61px;border:1px solid #b7ff1a77;border-radius:50%;display:grid;place-items:center;color:#b7ff1a;font-size:34px;background:#b7ff1a0c;margin-bottom:18px}.tc-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}.tc-result-grid>div{display:grid;gap:6px;padding:16px;border-radius:15px;background:#0e1c13;border:1px solid #344e2d}.tc-result-grid strong{font-size:28px;color:#b7ff1a;font-variant-numeric:tabular-nums}.tc-result-grid span{font-size:14px;color:#b0c2b4}.tc-pop{animation:tc-beat-pop .22s ease-out}.tc-pulse path{animation:tc-first-pulse .26s ease-out}.tc-imminent .tc-dot.lit{background:#ffd970;color:#07100d;border-color:#ffd970;box-shadow:0 0 19px #ffd97044;animation:tc-warning .27s ease-out}.tc-focus-mode .top,.tc-focus-mode .nav{display:none}.tc-focus-mode .shell{max-width:1150px;padding:12px 18px calc(14px + env(safe-area-inset-bottom));min-height:100dvh}.tc-focus-mode .tc-live-head{margin-top:env(safe-area-inset-top)}.tc-focus-mode .tc-wheel-stage{max-width:min(65dvh,560px)}.tc-focus-mode .tc-play-layout{gap:15px}.tc-focus-mode .tc-live-stats{display:none}.tc-focus-mode .tc-live-controls{padding:14px}.tc-focus-mode .tc-notice:empty{display:none}.tc-focus-mode .tc-beats{margin-top:8px;margin-bottom:5px}.tc-focus-mode .tc-current{font-size:18px}.tc-focus-mode .tc-measure{margin:5px 0}.tc-focus-mode .tc-live-head .tc-button{min-height:40px;padding:7px 13px}
@keyframes tc-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes tc-beat-pop{from{transform:scale(1.1)}to{transform:scale(1)}}@keyframes tc-first-pulse{0%{stroke-width:5;filter:drop-shadow(0 0 9px var(--slice-color))}100%{stroke-width:3;filter:drop-shadow(0 0 5px var(--slice-color))}}@keyframes tc-warning{from{transform:scale(1.14)}to{transform:scale(1)}}
@media(min-width:900px){.tc-play-layout{grid-template-columns:minmax(0,1.4fr) minmax(280px,.85fr);align-items:center}.tc-live-controls{align-self:center}.tc-wheel-stage{max-width:540px}.tc-focus-mode .tc-wheel-stage{max-width:min(77dvh,580px)}}
@media(max-width:600px){.tc-panel{padding:18px 14px}.tc-config-controls{grid-template-columns:1fr;gap:22px}.tc-play-layout{gap:17px}.tc-live-controls{padding:18px}.tc-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-result-grid>div{padding:14px}.tc-result-grid strong{font-size:26px}.tc-live-head .tc-button{font-size:14px;padding:8px 12px}.tc-live-stats{font-size:13px;gap:13px}.tc-focus-mode .shell{padding-inline:12px}.tc-focus-mode .tc-wheel-stage{max-width:min(49dvh,440px)}.tc-focus-mode .tc-live-controls .tc-bpm{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}.tc-focus-mode .tc-live-controls .tc-bpm>label{display:none}.tc-focus-mode .tc-live-controls .tc-bpm-row input{width:65px;font-size:23px}.tc-focus-mode .tc-live-controls .tc-bpm-row .tc-button{width:40px;min-height:40px}.tc-focus-mode .tc-live-controls .tc-bpm input[type=range]{min-width:0}.tc-focus-mode .tc-controls{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.tc-play,.tc-result,.tc-pop,.tc-pulse path,.tc-imminent .tc-dot.lit{animation:none}.tc-button,.tc-slice path,.tc-dot{transition:none}}
@media(max-width:600px){.tc-focus-mode .tc-wheel-stage{max-width:min(44dvh,440px)}.tc-focus-mode .tc-live-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.tc-focus-mode .tc-live-controls .tc-bpm{grid-column:1/-1}.tc-focus-mode .tc-live-controls .tc-controls{margin:0;gap:6px;grid-column:1}.tc-focus-mode .tc-live-controls .tc-controls .tc-button{font-size:14px;padding:8px 10px;min-height:44px}.tc-focus-mode #tc-sound{grid-column:2;grid-row:2;font-size:13px;min-height:44px;padding:8px 10px}.tc-focus-mode .tc-notice{grid-column:1/-1}}
@media(max-width:360px){.tc-focus-mode .tc-live-controls{grid-template-columns:1fr}.tc-focus-mode #tc-sound{grid-column:1;grid-row:auto}.tc-focus-mode .tc-live-controls .tc-bpm-unit{display:none}}

/* Dedicated count-in; its beats are delivered by the existing audio clock. */
html.tc-precount-active,html.tc-precount-active body{overflow:hidden;overscroll-behavior:none}
.tc-precount{position:fixed;inset:0;margin:auto;width:min(90vw,420px);max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:28px 16px;border:0;background:transparent;color:#fff;text-align:center;overflow:hidden;outline:none}
.tc-precount::backdrop{background:rgba(3,10,7,.86);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.tc-precount h2{margin:0 0 8px;font-size:clamp(26px,5vw,34px);font-weight:800;letter-spacing:-.025em}
.tc-precount #tc-precount-subtitle{margin:0;color:#c4cfd0;font-size:19px}
.tc-precount-circle{position:relative;width:clamp(200px,65vw,310px);max-width:100%;margin:26px auto 20px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(183,255,26,.055),#09150f 68%);box-shadow:0 0 42px rgba(183,255,26,.075)}
.tc-precount-circle svg{display:block;width:100%;height:100%;overflow:visible}
.tc-precount-circle path{fill:none;stroke:#b7ff1a;stroke-width:9;stroke-linecap:round;opacity:.16;transition:opacity 100ms ease}
.tc-precount-circle path.is-lit{opacity:1;filter:drop-shadow(0 0 4px rgba(183,255,26,.3))}
#tc-precount-number{position:absolute;inset:0;display:grid;place-items:center;color:#b7ff1a;font-size:clamp(64px,17vw,94px);font-weight:800;font-variant-numeric:tabular-nums;line-height:1}
#tc-precount-progress{margin:0;color:#d7dfdb;font-size:16px;font-weight:600}
.tc-precount-pulse{animation:tcPrecountPulse 240ms ease-out}
html.tc-precount-active .tc-play .tc-pulse,html.tc-precount-active .tc-play .tc-pop{animation:none}
.tc-play-layout{transition:filter 140ms ease}
html.tc-precount-active .tc-play-layout{filter:blur(3px)}
@keyframes tcPrecountPulse{0%{transform:scale(1)}40%{transform:scale(1.025)}100%{transform:scale(1)}}
@media(max-height:500px){.tc-precount{padding:10px}.tc-precount-circle{width:180px;margin:12px auto}.tc-precount h2{font-size:24px}.tc-precount #tc-precount-subtitle{font-size:16px}#tc-precount-number{font-size:64px}}
@media(prefers-reduced-motion:reduce){.tc-precount-pulse{animation:none}.tc-precount-circle path,.tc-play-layout{transition:none}}

/* Fifth tab, course surfaces and installation UI. */
.nav button{flex:1;min-width:0;padding-inline:2px}.nav span{white-space:nowrap}.nav{padding-inline:max(5px,calc((100vw - 820px)/2))}
@media(max-width:450px){.nav button{font-size:11px;min-height:54px}.nav button svg{width:23px;height:23px}}
.tutorial-empty{max-width:650px;margin:28px auto;padding:36px 24px;border:1px solid #426038;border-radius:24px;background:radial-gradient(ellipse at top,#1d342044,#112019 70%);text-align:center;box-shadow:0 12px 30px #0003}
.tutorial-empty-icon{width:86px;height:86px;display:grid;place-items:center;margin:0 auto 23px;border:1px solid #b7ff1a40;border-radius:24px;background:#b7ff1a09;color:#b7ff1a}.tutorial-empty-icon svg{width:48px;height:48px}.tutorial-empty h2{font-size:23px;line-height:1.35;margin:0 0 14px}.tutorial-empty p{color:#b9c8c3;font-size:16px;line-height:1.65;margin:0 auto;max-width:480px}
.tutorial-modules{display:grid;gap:18px}.tutorial-module{background:#13221a;border:1px solid #3e5835;border-radius:20px;overflow:hidden}.tutorial-module summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:22px;min-height:72px;list-style:none}.tutorial-module summary::-webkit-details-marker{display:none}.tutorial-module summary strong{font-size:20px}.tutorial-module small{display:block;color:#b9c8c3;font-size:14px;line-height:1.5;margin-top:6px}.tutorial-chevron{color:#b7ff1a;font-size:25px}.tutorial-module[open] .tutorial-chevron{transform:rotate(180deg)}.tutorial-module summary:focus-visible{outline:2px solid #b7ff1a;outline-offset:-4px}
.tutorial-lessons{padding:0 14px 14px;display:grid;gap:9px}.tutorial-lesson{display:flex;align-items:center;gap:14px;width:100%;min-width:0;min-height:76px;padding:16px;border:1px solid #344f32;border-radius:14px;background:#0d1a13;color:#fff;text-align:left}.tutorial-lesson:hover{border-color:#b7ff1a88}.tutorial-lesson:active{transform:scale(.99)}.tutorial-order{color:#b7ff1a;font-size:15px;flex:none}.tutorial-lesson img{width:100px;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:8px}.tutorial-lesson-copy{min-width:0;flex:1;overflow-wrap:anywhere}.tutorial-lesson-copy strong{font-size:17px}.tutorial-play{color:#b7ff1a;flex:none}.tutorial-play svg{width:28px;height:28px}.tutorial-detail{max-width:850px;margin:auto}.tutorial-player{aspect-ratio:16/9;width:100%;background:#000;border-radius:18px;overflow:hidden;border:1px solid #426038}.tutorial-player iframe{width:100%;height:100%;border:0;display:block}.tutorial-description{white-space:pre-line;overflow-wrap:anywhere;font-size:16px;line-height:1.7;color:#c5d2cd}.tutorial-video-help{color:#aebfb5;font-size:14px;line-height:1.6}.tutorial-video-help a{color:#b7ff1a}.tutorial-pagination{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.tutorial-pagination button{flex:1;min-height:48px}.tutorial-pagination button:disabled{opacity:.45;cursor:default}
html.pwa-invite-open,html.pwa-invite-open body{overflow:hidden;overscroll-behavior:none}.pwa-invite{position:fixed;inset:0;margin:auto;max-height:calc(100dvh - 40px);padding:25px;width:min(calc(100vw - 32px),420px)}.pwa-invite::backdrop{background:#000b;backdrop-filter:blur(4px)}.pwa-benefits{list-style:none;padding:0;margin:0 0 23px;display:grid;gap:9px;text-align:left;color:#d1dfd5;font-size:15px}.pwa-benefits li:before{content:'✓';color:#b7ff1a;margin-right:10px}.pwa-error{color:#f2c5ad!important}.pwa-update{margin-top:20px;padding-top:18px;border-top:1px solid #344c37}
@media(max-width:600px){.pwa-invite{inset:auto 0 0;margin:0 auto;width:100%;max-width:100%;max-height:90dvh;border-radius:24px 24px 0 0;padding:25px 23px calc(22px + env(safe-area-inset-bottom))}.tutorial-lesson{padding:13px;gap:10px}.tutorial-lesson img{width:70px}.tutorial-empty{padding:30px 20px}.tutorial-empty h2{font-size:21px}}

/* Keep the approved phone navigation; distribute larger screens evenly. */
@media(min-width:600px){
 .nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding-inline:16px}
 .nav button{width:100%;min-width:0}
}
@media(min-width:800px){
 .nav{width:min(760px,calc(100vw - 40px))}
}
/* Conta: mantém intactas as telas e os diagramas existentes. */
.auth-screen{min-height:100svh;background:#07100d;display:grid;place-items:center;padding:24px 20px calc(24px + env(safe-area-inset-bottom));box-sizing:border-box}.auth-panel{width:min(100%,440px);text-align:center}.auth-logo{display:block;width:min(100%,300px);height:auto;object-fit:contain;margin:0 auto 42px}.auth-panel h1{font-size:clamp(27px,5vw,35px);line-height:1.18;color:#fff;margin:0 0 18px}.auth-panel>p{color:#b6c1ca;font-size:16px;line-height:1.6}.auth-google{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:52px;border:1px solid #b7ff1a;border-radius:14px;background:#b7ff1a;color:#07100d;padding:12px 16px;font-size:16px;font-weight:700;cursor:pointer}.auth-panel .auth-google{margin-top:28px}.auth-google svg{flex:none;background:#fff;border-radius:50%;padding:3px;box-sizing:content-box}.auth-google:disabled{opacity:.7;cursor:wait}.auth-google:focus-visible,.account-actions button:focus-visible{outline:2px solid #fff;outline-offset:4px}.auth-panel .auth-caption{font-size:14px;margin-top:22px}.auth-message{min-height:24px}.auth-opening .auth-logo{margin-bottom:32px}.auth-spinner{display:block;width:27px;height:27px;border:2px solid #b7ff1a30;border-top-color:#b7ff1a;border-radius:50%;margin:0 auto;animation:auth-spin .9s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.account-settings{background:#111e17;border:1px solid #385039;border-radius:20px;padding:20px;margin:24px 0}.account-settings h2{font-size:22px;margin:0 0 20px}.account-person{display:flex;align-items:center;gap:14px;min-width:0}.account-person>div{min-width:0}.account-person strong{font-size:17px}.account-person p{color:#b6c1ca;font-size:14px;overflow-wrap:anywhere;margin:6px 0}.account-avatar{width:48px;height:48px;object-fit:cover;border-radius:50%;flex:none}.account-avatar-fallback{display:grid;place-items:center;background:#273c27;color:#b7ff1a}.account-status{font-size:14px;line-height:1.5;color:#bdc9c1;margin:20px 0}.account-actions{display:flex;gap:10px;flex-wrap:wrap}.account-actions button{min-height:44px;flex:1;min-width:125px}.account-dialog{max-width:min(440px,calc(100vw - 40px));border:1px solid #688f26;border-radius:20px;background:#112018;color:#fff;padding:24px}.account-dialog::backdrop{background:#000b}.account-dialog p{color:#bdc8c1;line-height:1.5}.account-toast{position:fixed;bottom:calc(106px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 48px);background:#192c1d;border:1px solid #668e31;border-radius:14px;color:#eaffcd;padding:12px 18px;z-index:1000;box-sizing:border-box;font-size:14px;line-height:1.4;text-align:center}.tc-focus-mode .account-toast{bottom:20px}@media(prefers-reduced-motion:reduce){.auth-spinner{animation:none;border-color:#b7ff1a}}

/* iPhone/iPad manual installation only; no backdrop or interaction lock. */
.ios-install-guide{position:fixed;z-index:90;right:16px;bottom:calc(94px + env(safe-area-inset-bottom));width:min(380px,calc(100vw - 32px));max-height:calc(100dvh - 140px - env(safe-area-inset-bottom));overflow:auto;padding:20px;border:1px solid #b7ff1a55;border-radius:22px;background:#0e1c15;box-shadow:0 12px 35px #0008,0 0 20px #b7ff1a12;color:#fff;text-align:left;box-sizing:border-box}
.ios-install-heading{display:flex;align-items:center;gap:10px}.ios-install-guide h2{margin:0;font-size:19px;line-height:1.3}.ios-install-guide p{color:#bfcbc5;font-size:14px;line-height:1.5;margin:12px 0}.ios-install-guide svg{width:26px;height:26px;flex-shrink:0;fill:none;stroke:#b7ff1a;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ios-install-guide ol{padding:0;list-style:none;display:grid;gap:13px;margin:16px 0}.ios-install-guide li{display:flex;align-items:center;gap:12px;font-size:14px;line-height:1.45}.ios-install-check{width:26px;flex-shrink:0;text-align:center;color:#b7ff1a;font-size:24px}.ios-install-actions{display:flex;gap:10px}.ios-install-actions button{min-height:44px;padding:10px 14px;border-radius:12px;font:inherit;font-weight:600;cursor:pointer}.ios-install-actions button:first-child{background:#b7ff1a;color:#07100d;border:1px solid #b7ff1a;flex:1}.ios-install-actions button:last-child{background:transparent;color:#c1cdc6;border:1px solid #536658}.ios-install-actions button:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:400px){.ios-install-guide{padding:16px;right:12px;width:calc(100vw - 24px)}.ios-install-guide h2{font-size:18px}}
