/* Shared visual rhythm for the player app. */
:root{--ui-card-radius:20px;--ui-control-radius:13px;--ui-muted:#b2c1b8}
html[data-theme="light"]{--ui-muted:#52675a}
.page>.page-title{font-size:28px;line-height:1.15;letter-spacing:-.035em;margin:8px 0 10px}
.page>.page-sub{font-size:13px;line-height:1.6;color:var(--ui-muted);margin:0 0 20px;max-width:48ch}
.page>.eyebrow{font-size:10px;letter-spacing:.12em;margin-top:8px}
.app .profile-card,.app .routine-card,.app .stat,.app .feed-card{border-radius:var(--ui-card-radius)}
.app .profile-card{padding:18px}
.app .section-head{gap:12px}.app .section-head h3{font-size:17px;line-height:1.3}
.app .small,.app .routine-desc{line-height:1.55}
.app .plan-cta,.app .finish,.app .start{min-height:44px;border-radius:var(--ui-control-radius);font-size:13px;line-height:1.35;font-weight:750;padding:12px 16px}
.app .text-button{min-height:40px;padding:10px 8px;font-size:12px;line-height:1.4}
.app .question-select,.app .auth-field,.app .question-textarea{min-height:44px;border-radius:12px;font-size:14px;line-height:1.4}
.app .question-select:focus-visible,.app .question-textarea:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
#home .hero{padding:22px;border-radius:26px;min-height:0}
#home .hero h2{font-size:27px;line-height:1.12;letter-spacing:-.035em;margin:20px 0 10px;max-width:20ch}
#home .hero p{font-size:13px;line-height:1.5;max-width:42ch}
#home .hero .pill{font-size:10px;line-height:1.3;padding:7px 10px}
#home .hero-bottom{gap:12px;flex-wrap:wrap;margin-top:20px}
#home .hero-meta{line-height:1.5;flex-wrap:wrap}
#home .home-plan-shortcut{margin-top:14px;padding:18px}
#home .home-plan-shortcut .section-head h3{font-size:17px}
#home #homePlanProgress{font-size:12px;color:var(--ui-muted);line-height:1.5}
#home .home-plan-shortcut>.plan-cta{background:var(--panel2);color:var(--ink);border:1px solid var(--line);box-shadow:none}
#home .home-plan-shortcut>.plan-cta:hover{border-color:var(--lime)}
#home .home-plan-shortcut>.text-button{margin-top:4px!important;color:var(--ui-muted)}
.sheet,.feedback-card,.profile-quick-sheet,#applauseOverlay .applause-modal{border-color:var(--line);background:var(--panel);color:var(--ink)}
.sheet,.feedback-card{border-radius:24px 24px 0 0}
.sheet h2,.feedback-card h2,.profile-quick-sheet h2,.cp-dialog h2,.beta-feedback-dialog h2{font-size:23px;line-height:1.2;letter-spacing:-.03em}
.sheet .sheet-sub,.feedback-card .small,.cp-dialog p{line-height:1.55}
.feedback-select,.feedback-text,.feedback-photo-input{background:var(--panel2);color:var(--ink);border-color:var(--line);border-radius:12px;font-size:13px;min-height:44px}
.beta-feedback-fab{min-height:40px;padding:7px 12px;gap:7px;background:var(--panel);color:var(--ink);border:1px solid var(--line);box-shadow:0 3px 10px #0003;bottom:calc(96px + env(safe-area-inset-bottom))}
.beta-feedback-fab:hover{background:var(--panel2);border-color:var(--lime)}
.beta-feedback-fab-mark{width:24px;height:24px;background:var(--panel2);color:var(--lime);font-size:12px}
.beta-feedback-fab-kicker{font-size:9px;letter-spacing:.08em;line-height:1.3}
.beta-feedback-fab-label{display:none}
.beta-feedback-dialog{background:var(--panel);color:var(--ink);border-color:var(--line);border-radius:24px 24px 14px 14px}
.beta-feedback-dialog .beta-feedback-field{color:var(--ink);font-size:12px;gap:6px}
.beta-feedback-dialog .beta-feedback-field input,.beta-feedback-dialog .beta-feedback-field select,.beta-feedback-dialog .beta-feedback-field textarea,.beta-feedback-dialog .beta-feedback-file{background:var(--panel2);color:var(--ink);border-color:var(--line);font-size:13px;border-radius:12px}
.beta-feedback-intro,.beta-feedback-privacy,.beta-feedback-files{color:var(--ui-muted);line-height:1.55}
.beta-feedback-close{background:var(--panel2);color:var(--ink);border-color:var(--line)}
.beta-feedback-fab:focus-visible,.beta-feedback-dialog :is(button,input,select,textarea):focus-visible{outline:2px solid var(--lime);outline-offset:3px}
html[data-theme="light"] .beta-feedback-fab-mark{color:#4c6d17}
@media(min-width:700px){.beta-feedback-fab{bottom:28px}.beta-feedback-dialog{border-radius:24px}}
@media(max-width:360px){#home .hero{padding:18px}#home .hero h2{font-size:25px}.app .profile-card{padding:16px}.beta-feedback-fab{bottom:calc(92px + env(safe-area-inset-bottom))}}
