@tailwind base;@tailwind components;@tailwind utilities;body{min-height:100vh;margin:0}:root{--guru-mobile-page-padding-x:14px;--guru-mobile-page-padding-y:14px;--guru-mobile-card-radius:16px;--guru-mobile-gap:14px;--guru-mobile-safe-bottom:max(96px, calc(env(safe-area-inset-bottom) + 84px));--guru-mobile-action-lift:max(132px, calc(env(safe-area-inset-bottom) + 116px))}@keyframes guru-state-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.guru-state-spin{animation:1s linear infinite guru-state-spin}.auth-shell{box-sizing:border-box;background:#eaf0f5;min-height:100vh;padding:26px 28px 56px}.auth-top-card{box-sizing:border-box;background:#fff;border:1px solid #d6e0ea;border-radius:20px;align-items:center;gap:16px;width:100%;padding:20px 32px;display:flex;box-shadow:0 2px 8px #0c20380a}.auth-top-card span{color:#0788cf;font-size:28px;font-weight:800;line-height:1}.auth-grid{grid-template-columns:1fr;justify-items:center;width:min(100%,520px);margin:68px auto 0;display:grid}.auth-card{box-sizing:border-box;background:#fff;border:1px solid #d6e0ea;border-radius:24px;width:100%;padding:58px 56px;box-shadow:0 2px 8px #0c20380a}.auth-step{color:#4a83b9;letter-spacing:.08em;font-size:13px;font-weight:800}.auth-card h2{color:#1b2c43;margin:26px 0 18px;font-size:38px;font-weight:800;line-height:1.1}.auth-card p{color:#5a6f8b;max-width:430px;margin:0;font-size:20px;line-height:1.3}.auth-form{flex-direction:column;gap:16px;margin-top:58px;display:flex}.auth-form-with-notice{margin-top:28px}.auth-form label{flex-direction:column;gap:8px;display:flex}.auth-form label span{color:#5a6f8b;font-size:13px;font-weight:800}.auth-form input{color:#1b2c43;width:100%;min-height:62px;font:inherit;box-sizing:border-box;background:#f8fafc;border:1px solid #d6e0ea;border-radius:16px;outline:none;padding:0 24px;font-size:18px}.auth-form input:focus{border-color:#0788cf;box-shadow:0 0 0 3px #0788cf24}.auth-form button{color:#fff;cursor:pointer;background:#0788cf;border:0;border-radius:14px;min-height:58px;font-size:19px;font-weight:800}.auth-form button:disabled{cursor:progress;opacity:.72}.auth-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.auth-header-user,.developer-menu summary,.auth-header-actions button{white-space:nowrap;border-radius:8px;align-items:center;min-height:30px;padding:0 10px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.auth-header-user{text-overflow:ellipsis;color:#5a6f8b;background:#f4f7fa;border:1px solid #d6e0ea;max-width:220px;overflow:hidden}.developer-menu{position:relative}.developer-menu summary{color:#0788cf;cursor:pointer;background:#eef4fa;border:1px solid #b2d1f0;list-style:none}.developer-menu summary::-webkit-details-marker{display:none}.developer-menu summary:after{content:"v";margin-left:7px;font-size:10px}.developer-menu[open] summary{border-color:#0788cf;box-shadow:0 0 0 3px #0788cf1f}.developer-menu-panel{z-index:30;background:#fff;border:1px solid #d6e0ea;border-radius:12px;width:min(280px,100vw - 40px);padding:8px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 28px #0c203829}.developer-menu-item{color:#1b2c43;border-radius:8px;flex-direction:column;gap:3px;padding:10px 11px;text-decoration:none;display:flex}.developer-menu-item:hover,.developer-menu-item:focus{background:#f4f7fa;outline:none}.developer-menu-item span{font-size:13px;font-weight:800}.developer-menu-item small{color:#5a6f8b;font-size:12px;font-weight:600;line-height:1.35}.developer-menu-item-disabled{cursor:default;opacity:.62}.auth-header-actions button{color:#1b2c43;cursor:pointer;background:#fff;border:1px solid #d6e0ea}@media (max-width:720px){body>main{width:100%!important;max-width:none!important;padding:0!important}.guru-page-header-card{border-radius:var(--guru-mobile-card-radius)!important;padding:12px 14px 14px!important}.guru-page-header-row{grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:8px 10px!important;display:grid!important}.guru-page-header-logo{grid-area:1/1!important;width:32px!important;height:32px!important}.guru-page-header-brand{grid-area:1/2!important;font-size:18px!important;line-height:1.1!important}.guru-page-header-divider{display:none!important}.guru-page-header-title{grid-area:3/1/auto/-1!important;margin-top:2px!important;margin-left:0!important;font-size:17px!important;line-height:1.18!important}.guru-page-header-accessory{grid-area:2/1/auto/-1!important;justify-content:flex-end!important;gap:6px!important;width:100%!important;margin-left:auto!important}.auth-header-actions{justify-content:flex-end;gap:6px;min-width:0;max-width:100%}.auth-header-user{max-width:min(32vw,128px)}@media (max-width:430px){.auth-header-user{display:none}}.auth-header-user,.developer-menu summary,.auth-header-actions button{border-radius:7px;min-height:26px;padding:0 7px;font-size:10px}.developer-menu-panel{top:max(104px, calc(env(safe-area-inset-top) + 92px));left:var(--guru-mobile-page-padding-x);right:var(--guru-mobile-page-padding-x);border-radius:14px;width:auto;max-height:min(360px,100vh - 140px);padding:8px;position:fixed;overflow:auto}.developer-menu-item{padding:9px 10px}.developer-menu-item span{font-size:12px}.developer-menu-item small{font-size:11px;line-height:1.3}.visual-metronome-card{border-radius:var(--guru-mobile-card-radius)!important;gap:10px!important;width:100%!important;padding:14px 16px!important}.visual-metronome-title{font-size:17px!important;line-height:1.1!important}.visual-metronome-row{grid-template-columns:minmax(0,1fr) max-content!important;align-items:center!important;gap:14px!important;display:grid!important}.visual-metronome-dots{gap:10px!important}.visual-metronome-dot{flex-basis:34px!important;width:34px!important}.visual-metronome-bpm{font-size:20px!important}}.exercise-header-accessory{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-left:auto;display:flex}@media (max-width:720px){.exercise-select-page{padding:var(--guru-mobile-page-padding-y) var(--guru-mobile-page-padding-x) 28px!important;gap:var(--guru-mobile-gap)!important}.exercise-header-accessory{justify-content:flex-end;gap:6px;width:100%}.exercise-header-mode-pill{letter-spacing:.04em!important;border-radius:7px!important;min-height:26px!important;padding:0 7px!important;font-size:10px!important}.exercise-card-list{gap:12px!important;max-width:none!important}.exercise-card{border-radius:var(--guru-mobile-card-radius)!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important;padding:15px!important}.exercise-card-title{font-size:17px!important;line-height:1.22!important}.exercise-card-meta{gap:7px!important;padding-top:10px!important}.exercise-card-meta-item{border-radius:7px!important;padding:5px 9px!important;font-size:12px!important;line-height:16px!important}.exercise-card-continue{align-self:flex-end!important;margin-left:0!important;font-size:14px!important}.result-summary-block{border-radius:var(--guru-mobile-card-radius)!important;gap:12px!important;min-height:0!important;padding:18px!important}.result-summary-block>span:first-child{font-size:15px!important}.result-summary-block>p:first-of-type{font-size:24px!important;line-height:29px!important}.result-summary-block>p:nth-of-type(2){font-size:14px!important;line-height:22px!important}.result-summary-block [data-testid=result-audio-check]{align-items:flex-start!important;gap:12px!important;padding:14px!important}.result-summary-block [data-testid=result-audio-check]>span:last-child{align-self:flex-start!important}.result-summary-actions{gap:10px!important}.result-summary-actions button{flex-basis:100%!important;height:48px!important;font-size:15px!important}.auth-shell{padding:12px var(--guru-mobile-page-padding-x) 22px}.auth-top-card{border-radius:var(--guru-mobile-card-radius);gap:10px;padding:10px 14px}.auth-top-card img{width:36px;height:36px}.auth-top-card span{font-size:21px}.auth-grid{width:100%;margin-top:12px}.auth-card{border-radius:var(--guru-mobile-card-radius);padding:20px 18px}.auth-card h2{margin:0 0 8px;font-size:25px;line-height:1.14}.auth-card p{font-size:14px;line-height:1.42}.auth-form{gap:12px;margin-top:18px}.auth-form-with-notice{margin-top:14px}.auth-form label{gap:6px}.auth-form input{border-radius:13px;padding:0 16px;font-size:16px}.auth-form input,.auth-form button{min-height:48px}}
