/* Final visual polish: keep product hierarchy, move the surface closer to the approved mockup. */
body{background:radial-gradient(circle at 74% 3%,rgba(48,117,91,.22),transparent 30%),radial-gradient(circle at 25% 100%,rgba(14,63,49,.18),transparent 32%),linear-gradient(155deg,#07120f 0%,#050b09 62%,#030706 100%)}
.gc-sidebar{background:linear-gradient(180deg,rgba(5,16,13,.96),rgba(3,10,8,.96));box-shadow:18px 0 55px rgba(0,0,0,.18)}
.gc-brand{padding-top:12px}.gc-brand__name{font-size:27px}.gc-brand__tag{letter-spacing:.24em}.gc-sidebar__footer{font-size:13px;line-height:1.65;color:#71847c}.gc-sidebar__footer strong{color:#9cafa7;font-weight:650}
.gc-page{max-width:1260px;padding-top:34px}.gc-topbar{min-height:46px;align-items:center}.gc-account-bar{gap:9px}.gc-account-dot{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#35524a,#1a2824);border:1px solid rgba(255,255,255,.1);font-weight:800}.gc-account-label{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2);font-size:13px}
.gc-hero{min-height:235px;padding-top:8px}.gc-home-hero::before{content:"";position:absolute;right:3%;top:-30px;width:390px;height:300px;border-radius:48% 52% 45% 55%;background:radial-gradient(ellipse at 54% 50%,rgba(44,99,78,.34),rgba(15,37,30,.1) 48%,transparent 67%);filter:blur(2px);opacity:.9}.gc-home-hero::after{right:2%;top:-55px;width:min(480px,43vw);height:350px;opacity:.82;background:repeating-linear-gradient(90deg,transparent 0 34px,rgba(218,235,226,.105) 35px 36px),linear-gradient(100deg,transparent 30%,rgba(87,215,169,.12) 48%,transparent 72%),radial-gradient(ellipse at 55% 60%,rgba(89,225,176,.15),transparent 48%);transform:rotate(-7deg)}
.gc-heading{max-width:650px;font-size:clamp(44px,5.2vw,69px);text-wrap:balance}.gc-kicker{font-size:16px;color:#a8b6b0}.gc-card{border-color:rgba(203,239,226,.115);background:linear-gradient(145deg,rgba(23,39,35,.92),rgba(11,22,19,.92));box-shadow:0 18px 55px rgba(0,0,0,.23),inset 0 1px rgba(255,255,255,.02)}.gc-card--accent{background:linear-gradient(145deg,rgba(30,69,57,.94),rgba(10,30,24,.94));border-color:rgba(89,225,176,.28);box-shadow:0 20px 65px rgba(0,0,0,.28),inset 0 1px rgba(159,255,219,.06)}
.gc-home-dashboard{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(315px,.8fr);gap:16px;align-items:start;margin-top:20px}.gc-home-dashboard__side{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:16px}.gc-home-dashboard>div:first-child{height:auto;display:flex;flex-direction:column;gap:16px}.gc-home-pickup--hero{height:auto;flex:0 0 auto}.gc-home-pickup--hero .gc-card__body{padding:28px;display:grid;gap:22px}.gc-home-pickup__main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px}.gc-home-pickup--hero h2{font-size:clamp(30px,3vw,42px);margin-top:10px}.gc-home-pickup--hero .gc-primary{min-width:240px;max-width:340px;margin-top:0}.gc-home-pickup__result{margin-top:12px;display:grid;gap:4px}.gc-home-pickup__result>span,.gc-home-pickup__result>small{font-size:12px;color:var(--text-3)}.gc-home-pickup__result>strong{font-size:18px}
.gc-home-routine-feature .gc-card__body{padding:21px}.gc-home-routine-feature__head{display:flex;justify-content:space-between;gap:12px;align-items:start}.gc-home-routine-feature h3{font-size:23px;margin:10px 0 2px;letter-spacing:-.035em}.gc-home-routine-list{list-style:none;padding:13px 0 0;margin:0;display:grid;gap:8px}.gc-home-routine-list li{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:center;font-size:13px}.gc-home-routine-list li span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:rgba(89,225,176,.12);color:var(--accent);font-size:11px}.gc-home-routine-feature .gc-primary{min-height:48px;margin-top:15px;border-radius:15px}.gc-home-free-card{min-height:96px}.gc-home-free-card .gc-action-icon{width:48px;height:48px;flex-basis:48px}
.gc-context-label{display:inline-flex;margin-top:8px;padding:5px 9px;border-radius:999px;background:rgba(89,225,176,.1);border:1px solid rgba(89,225,176,.14);color:#aef0d7;font-size:11px;font-weight:700}.gc-tag--instrument{color:#b6f1dc;background:rgba(89,225,176,.10)}
.gc-routines-section{margin-top:24px}.gc-routine-quick-grid{gap:12px}.gc-recent-section{margin-top:28px}.gc-recent-card{overflow:hidden}.gc-recent-row{min-height:68px;padding:13px 18px}.gc-recent-row:hover{background:rgba(255,255,255,.025)}
.gc-instrument-context{display:flex;gap:8px;align-items:center;overflow-x:auto;scrollbar-width:none;margin:4px 0 20px;padding:2px 0}.gc-instrument-context::-webkit-scrollbar{display:none}.gc-instrument-chip{flex:0 0 auto;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.025);color:var(--text-2);cursor:pointer}.gc-instrument-chip.is-active{background:rgba(89,225,176,.14);border-color:rgba(89,225,176,.30);color:#d8fff0;font-weight:750}.gc-instrument-chip--add{width:36px;padding:0;color:var(--accent);font-size:18px}.gc-instrument-modal{max-width:520px}.gc-instrument-list{display:grid;gap:8px;margin-bottom:16px}.gc-instrument-row{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 12px;border-radius:14px;background:rgba(255,255,255,.025);border:1px solid var(--border)}.gc-instrument-dot{color:var(--accent)}.gc-instrument-presets{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.gc-instrument-form .gc-primary{margin-top:8px}
.gc-save-practice{margin-top:0}.gc-save-practice .gc-action-card{min-height:94px;width:100%;text-align:left;background:linear-gradient(145deg,rgba(21,52,43,.96),rgba(10,27,22,.96));border-color:rgba(89,225,176,.24)}.gc-save-practice .gc-action-copy strong{color:#eafff7}.gc-save-practice .gc-action-copy span{display:block;margin-top:4px;max-width:52ch}.gc-recovery-section .gc-action-card{min-height:90px}.gc-recovery-section .gc-primary{width:auto;min-width:110px;margin:0}.gc-recovery-section .gc-section__actions{display:flex;gap:8px;align-items:center}
.gc-sample-routine{width:100%;margin-top:10px}
.gc-progress-page .gc-progress-header{padding-top:12px}.gc-progress-foundation{gap:14px}.gc-progress-feature{background:linear-gradient(145deg,rgba(24,45,39,.92),rgba(10,22,18,.92))}.gc-progress-feature__value{font-size:clamp(36px,4vw,52px)}.gc-progress-insights .gc-card,.gc-progress-item-list{background:linear-gradient(145deg,rgba(20,34,30,.94),rgba(9,18,16,.94))}
.gc-practice-items-page .gc-page-head{padding-top:15px}.gc-search input{background:rgba(11,23,20,.82);box-shadow:inset 0 1px rgba(255,255,255,.02)}.gc-exercise{background:linear-gradient(145deg,rgba(23,39,35,.94),rgba(10,20,17,.94))}
@media (max-width:1000px){.gc-home-dashboard{grid-template-columns:1fr}.gc-home-dashboard__side{grid-template-columns:1fr 1fr;grid-template-rows:auto}.gc-home-routine-feature,.gc-home-free-card{min-height:100%}.gc-home-pickup__main{grid-template-columns:minmax(0,1fr) auto}}
@media (max-width:700px){.gc-page{padding:20px 17px calc(180px + env(safe-area-inset-bottom))}.gc-topbar{margin-bottom:6px}.gc-account-label{display:none}.gc-hero{min-height:165px;padding-bottom:14px}.gc-home-hero::before,.gc-home-hero::after{opacity:.45}.gc-heading{font-size:clamp(38px,12vw,53px);max-width:92%}.gc-home-dashboard{margin-top:8px}.gc-home-dashboard__side{grid-template-columns:1fr}.gc-home-pickup--hero .gc-card__body{padding:18px}.gc-home-pickup__main{grid-template-columns:1fr;gap:16px}.gc-home-pickup--hero h2{font-size:30px;margin-top:8px}.gc-home-pickup--hero .gc-primary{min-width:0;max-width:none;width:100%;min-height:58px}.gc-home-pickup__result{margin-top:10px}.gc-home-routine-feature .gc-card__body{padding:18px}.gc-home-free-card{min-height:88px}.gc-instrument-context{margin:0 0 14px}.gc-routine-quick-grid{grid-template-columns:1fr}.gc-recent-row{grid-template-columns:40px minmax(0,1fr) auto;padding:12px}.gc-save-practice .gc-action-card{min-height:88px;padding:16px}.gc-save-practice .gc-action-copy strong{font-size:16px}.gc-save-practice .gc-action-copy span{font-size:12px}.gc-recovery-section .gc-action-card{align-items:flex-start;flex-wrap:wrap}.gc-recovery-section .gc-section__actions{width:100%}.gc-recovery-section .gc-section__actions>*{flex:1}.gc-instrument-modal{width:100%;max-width:none}}

/* UX fixes: keep Home blocks separated, make instruments optional/ordered, and make tempo directly editable. */
.gc-save-practice{margin-top:20px}
.gc-instrument-modal .gc-modal__head{align-items:flex-start;padding:26px 26px 0}
.gc-instrument-modal .gc-modal__sub{max-width:360px;line-height:1.45;margin-top:7px}
.gc-instrument-body{padding:22px 26px 26px;display:grid;gap:22px}
.gc-instrument-section{display:grid;gap:10px}
.gc-instrument-section__label{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}
.gc-instrument-empty{padding:14px 16px;border:1px solid var(--border);border-radius:14px;color:var(--text-2);font-size:13px;line-height:1.5;background:rgba(255,255,255,.02)}
.gc-instrument-list{margin:0;gap:8px}
.gc-instrument-row{min-height:46px}
.gc-instrument-presets{margin:0;gap:8px}
.gc-instrument-presets .gc-pill{min-height:40px;padding:9px 13px}
.gc-instrument-form{display:grid;gap:10px;padding-top:2px}
.gc-instrument-form .gc-primary{margin-top:0;min-height:50px;border-radius:15px}
.gc-bpm-edit{display:flex;align-items:baseline;justify-content:center;gap:10px;margin-top:4px}
.gc-bpm-edit>span{color:var(--text-3);font-size:14px;font-weight:800;letter-spacing:.08em}
.gc-bpm-input{width:min(260px,62vw);border:0;background:transparent;color:var(--text);font:900 clamp(72px,16vw,120px)/.95 inherit;letter-spacing:-.07em;text-align:center;outline:none;-moz-appearance:textfield}
.gc-bpm-input::-webkit-outer-spin-button,.gc-bpm-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.gc-bpm-input:focus{background:rgba(89,225,176,.05);border-radius:16px;box-shadow:0 0 0 2px rgba(89,225,176,.16)}
.gc-practice__dock--simple{grid-template-columns:1fr 1fr}

/* Compact practice player: controls stay close to the content on desktop. */
.gc-practice__wrap{max-width:820px;min-height:0;padding:24px 24px 44px}
.gc-practice__title{margin:30px 0 4px;font-size:clamp(36px,6vw,54px)}
.gc-bpm-card{margin-top:20px;padding:22px 22px 20px}
.gc-bpm-label{font-size:10px}
.gc-bpm-input{width:190px;font-size:64px;line-height:1}
.gc-bpm-edit>span{font-size:13px}
.gc-bpm-card>[data-bpm-meta]{margin-top:4px}
.gc-bpm-controls{width:min(390px,100%);margin:14px auto 0;gap:7px}
.gc-bpm-controls button{min-height:42px;border-radius:12px;font-size:14px}
.gc-metronome{display:block;width:min(390px,100%);margin:10px auto 0;min-height:44px}
.gc-set-list{margin-top:14px}
.gc-practice__dock{position:sticky;bottom:14px;z-index:75;margin-top:20px;padding-top:0}
.gc-practice__dock button{min-height:54px}
.gc-practice__dock--simple{grid-template-columns:1fr 1fr}
.gc-reference-card{margin-top:16px}
.gc-reference-help{color:var(--text-3);font-size:12px;line-height:1.45;margin-top:-2px}

/* Instrument manager actions. */
.gc-instrument-row{justify-content:space-between;padding:0 14px}
.gc-instrument-row__name{display:flex;align-items:center;gap:10px;min-width:0}
.gc-instrument-remove{color:#d9aaa3;font-size:12px;padding:8px}
.gc-instrument-remove:hover{color:#ffd6cf}

@media (max-width:700px){
  .gc-save-practice{margin-top:16px}
  .gc-instrument-modal .gc-modal__head{padding:22px 20px 0}
  .gc-instrument-body{padding:18px 20px calc(22px + env(safe-area-inset-bottom));gap:18px}
  .gc-bpm-input{width:150px;font-size:58px}
  .gc-practice__wrap{min-height:100vh;padding:20px 17px calc(96px + env(safe-area-inset-bottom))}
  .gc-practice__title{margin-top:26px}
  .gc-bpm-card{padding:20px 16px}
  .gc-bpm-controls{width:100%}
  .gc-metronome{width:100%}
  .gc-practice__dock{position:sticky;bottom:calc(12px + env(safe-area-inset-bottom));z-index:75;margin-top:auto;padding-top:22px}
}
