@font-face{font-family:LayerPlayful;src:url(/fonts/layer-playful-home.ttf)format("truetype");font-display:swap}*{box-sizing:border-box}html{color:#2f3e32;background:#f7f8f5;font:15px/1.65 -apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft Yahei,sans-serif}body{margin:0}button,input,select,textarea{font:inherit}button,.button{color:#344a37;cursor:pointer;background:#fff;border:1px solid #dce3d8;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:8px 15px;line-height:1.4;text-decoration:none;display:inline-flex}button:disabled{opacity:.45;cursor:not-allowed}button[aria-pressed=true],.button[aria-current=page]{color:#405b2e;background:#e8efdf;border-color:#789061}button.primary,.button.primary{color:#fff;background:#586f42;border-color:#586f42}button.primary:hover{background:#435934}a{color:#526e40;text-underline-offset:4px}input:not([type=range]):not([type=checkbox]),select,textarea{color:#2f3e32;background:#fff;border:1px solid #dce3d8;border-radius:8px;max-width:100%;min-height:44px;padding:8px 10px}input[type=range]{accent-color:#647e4b;cursor:pointer;min-width:0;min-height:35px}input[type=checkbox]{accent-color:#647e4b;width:18px;height:18px}label{flex-direction:column;gap:5px;display:flex}form{flex-direction:column;gap:16px;display:flex}form.row{flex-direction:row}h1,h2,h3,p{margin:0 0 12px}h1{letter-spacing:-.7px;font-size:32px;line-height:1.35}h2{font-size:18px;line-height:1.5}h3{font-size:15px}small,.muted{color:#82917d;font-size:13px}.error{color:#ac443a}.eyebrow{letter-spacing:2px;color:#82917d;font-size:10px;font-weight:600}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.card{background:#fff;border:1px solid #e5e9df;border-radius:15px;margin:0 0 22px;padding:24px;box-shadow:0 3px 15px #32432603}.section-heading,.page-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.page-heading{margin:30px 0}.page-heading p{margin:6px 0 0}.badge{color:#8b7948;background:#f2eddd;border-radius:20px;flex-shrink:0;align-items:center;padding:5px 11px;font-size:11px;display:inline-flex}.file-name{overflow-wrap:anywhere;word-break:break-word}.link-button{text-underline-offset:4px;background:0 0;border:0;min-height:44px;padding:5px 0;text-decoration:underline}.app-shell{min-height:100vh}.sidebar{z-index:10;background:#fff;border-right:1px solid #e5e9df;flex-direction:column;width:225px;padding:32px 24px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:11px;font-size:24px;font-weight:700;line-height:1.25;text-decoration:none;display:flex}.brand img{object-fit:contain;width:42px;height:42px}.brand small{letter-spacing:1px;margin-top:5px;font-size:8px;display:block}.nav-caption{color:#9ba493;margin:50px 10px 10px;font-size:11px}.sidebar nav{flex-direction:column;gap:8px;display:flex}.sidebar nav a{color:#72816a;border-radius:9px;padding:12px 14px;text-decoration:none}.sidebar nav a.router-link-exact-active{color:#4e683b;background:#edf2e7;font-weight:600}.sidebar-bottom{color:#82917d;margin-top:auto;padding:25px 8px 0;font-size:13px}.sidebar-bottom p{margin-bottom:25px;font-size:19px;line-height:1.8}.sidebar-bottom .link-button{margin-left:10px}.main-content{max-width:1700px;margin-left:225px;padding:0 40px 45px}.topbar{color:#8b9784;border-bottom:1px solid #e4e8df;justify-content:space-between;align-items:center;height:70px;font-size:12px;display:flex}.mobile-brand,.mobile-nav{display:none}.hero{min-height:490px;padding:70px 0;position:relative;overflow:hidden}.hero h1{margin-top:18px;font-size:45px}.hero p{margin:18px 0 30px;font-size:21px;line-height:1.9}.hero-image{object-fit:contain;z-index:0;width:46%;height:360px;position:absolute;top:45px;right:0}.hero>:not(img){z-index:1;position:relative}.feature-grid,.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-card{max-width:470px;margin:55px auto}.auth-card form{margin-top:25px}.track-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:20px 0;display:grid}.track-card{border:1px solid #e5e9df;border-radius:10px;min-width:0;padding:15px}.track-card h3{color:var(--track);align-items:center;gap:9px;display:flex}.track-card h3 i{background:var(--track);border-radius:50%;width:8px;height:8px}.track-card.quiet{opacity:.65}.track-card button{min-height:38px;padding:5px 14px;font-size:12px}.volume-label{flex-direction:row;align-items:center;gap:8px;margin-top:9px;font-size:12px;display:flex}.volume-label input{width:100%;max-width:190px}.playback-row{margin:22px 0 10px}.play-button{min-width:88px}.clock{font-variant-numeric:tabular-nums;margin-left:12px;font-size:22px}.seek-slider{width:100%}.transport details{border-top:1px solid #edf0e8;padding-top:12px}.transport summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.check{flex-direction:row;align-items:center;gap:6px;font-size:12px;display:flex}.timeline-card{padding-bottom:12px}.timeline-scroll{border:1px solid #e5e9df;border-radius:8px;overflow:auto hidden}.timeline-canvas{touch-action:pan-x;background:#fdfefc;outline:none;min-width:100%;position:relative}.timeline-canvas svg{position:absolute;inset:0}.loop-overlay{pointer-events:none;background:#9fbd7121;border:1px solid #93ad6c;position:absolute;top:31px;bottom:0}.loop-overlay.off{opacity:.3}.playhead{pointer-events:none;background:#42633c;width:2px;position:absolute;top:0;bottom:0}.playhead:before{content:"";border:5px solid #0000;border-top-color:#42633c;position:absolute;top:0;left:-4px}.loop-handle{touch-action:none;z-index:2;background:#f0f4e7;border-radius:5px;min-width:44px;min-height:30px;padding:0 7px;font-size:11px;position:absolute;top:1px;transform:translate(-50%)}.timeline-card>.muted{margin:10px 0 0}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;background:#20311d70;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{width:640px;max-width:100%;max-height:90dvh;margin:0;overflow-y:auto;box-shadow:0 20px 90px #14250d40}.modal form{gap:12px}.clip-preview{background:#172019;border-radius:9px;width:100%;max-height:320px}.file-picker{position:relative;overflow:hidden}.file-picker input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.list-row{border-top:1px solid #edf0e8;align-items:center;gap:8px;padding:12px 0;display:flex}.bookmark-open{text-align:left;overflow-wrap:anywhere;border:0;flex-direction:column;flex:1;align-items:flex-start;min-width:0;display:flex}.bookmark-open span{color:#84917e;font-size:12px}.media-record{border-bottom:1px solid #e8ece2;padding:24px 0}.job-list{margin:14px 0 0;padding:0;list-style:none}.job-list li{justify-content:space-between;gap:15px;padding:8px 0;font-size:13px;display:flex}.empty-state{text-align:center;color:#89967f;padding:40px 0}.toast{color:#fff;z-index:200;background:#2f432b;border-radius:10px;align-items:center;gap:15px;max-width:min(90vw,640px);padding:12px 16px;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #20311d30}.toast button{color:#fff;background:0 0;border:0;min-height:30px;padding:0 8px}.video-stage{background:#172019;border-radius:10px;flex-direction:column;align-items:center;display:flex;position:relative;overflow:hidden}.video-stage video{object-fit:contain;width:100%;max-height:520px;display:block}.video-controls{color:#fff;background:#172019;flex-wrap:wrap;align-items:center;gap:8px;width:100%;padding:10px;font-size:12px;display:flex}.video-controls button,.video-controls select{color:#fff;background:#293a2b;border-color:#465540;min-height:36px}.video-controls input{width:100%}.video-panel.pinned .video-stage{z-index:80;width:340px;max-width:90vw;position:fixed;bottom:20px;right:20px;box-shadow:0 10px 40px #0005}.video-panel.pinned video{max-height:260px}.video-close{z-index:2;background:#ffffffd9;position:absolute;top:8px;right:8px}.video-stage:fullscreen{border-radius:0;justify-content:center;width:100%;height:100%}.video-stage:fullscreen video{max-height:calc(100vh - 100px)}:focus-visible{outline-offset:3px;outline:2px solid #6c8c53}@media (min-width:1500px){.main-content{padding-left:65px;padding-right:65px}}@media (max-width:1100px){.sidebar{width:190px;padding:25px 16px}.main-content{margin-left:190px;padding:0 24px 35px}.hero h1{font-size:36px}.hero-image{opacity:.5}.feature-grid{gap:18px}}@media (max-width:768px){html{font-size:14px}.sidebar{display:none}.main-content{padding:0 16px calc(90px + env(safe-area-inset-bottom));max-width:100vw;margin:0}.topbar{height:58px}.mobile-brand{font-size:21px;font-weight:700;text-decoration:none;display:block}.mobile-nav{padding:8px 5px calc(8px + env(safe-area-inset-bottom));z-index:90;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-top:1px solid #e2e7dc;justify-content:space-around;display:flex;position:fixed;inset:auto 0 0}.mobile-nav a{color:#8b9683;border-radius:8px;flex:1;justify-content:center;align-items:center;min-height:44px;font-size:12px;text-decoration:none;display:flex}.mobile-nav a.router-link-exact-active{color:#4c683b;background:#edf2e7}.card{border-radius:13px;margin-bottom:16px;padding:18px}.page-heading{margin:25px 0 20px}.page-heading h1{font-size:26px}.hero{min-height:510px;padding:40px 0 180px}.hero h1{font-size:33px}.hero p{font-size:18px}.hero-image{opacity:.9;width:85%;height:240px;top:auto;bottom:0;right:-20px}.feature-grid,.settings-grid{grid-template-columns:1fr;gap:12px}.auth-card{margin:28px 0}.track-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.track-card{padding:12px}.track-card h3{font-size:14px}.track-card .muted{min-height:32px;font-size:10px}.track-card .volume-label{flex-wrap:wrap}.track-card .volume-label input{flex:1;width:65%}.mode-row{gap:7px}.mode-row button{padding:8px 10px;font-size:12px}.clock{margin-left:0;font-size:19px}.playback-row{justify-content:space-between;gap:6px}.playback-row button{padding:8px 10px}.playback-row .clock{text-align:center;width:100%;margin-top:8px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-backdrop{padding:10px}.modal{max-height:94dvh}.modal .row{gap:8px}.timeline-card{padding:15px 10px}.timeline-card .section-heading{padding:0 6px}.timeline-card .row{gap:8px}.list-row{flex-wrap:wrap}.bookmark-open{min-width:50%;padding:4px}.job-list li{flex-wrap:wrap}.video-panel.pinned .video-stage{right:10px;bottom:calc(82px + env(safe-area-inset-bottom));width:270px}.video-panel.pinned video{max-height:190px}.video-panel.pinned .video-controls{gap:5px;padding:6px}.video-panel.pinned .video-controls button,.video-panel.pinned .video-controls select{padding:4px 7px;font-size:10px}.toast{bottom:calc(85px + env(safe-area-inset-bottom));width:max-content;max-width:92vw}.volume-label{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.event-list{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.timeline-card details{margin-top:12px}.timeline-card summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.music-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:20px;display:grid}.music-card{flex-direction:column;margin:0;display:flex}.music-card>.row{margin-top:auto}.quota-strip{flex-wrap:wrap;align-items:center;gap:12px 24px;display:flex}.quota-strip p{width:100%;margin:0}.target-options{flex-wrap:wrap;gap:10px;margin:14px 0;display:flex}.target-group{margin-top:24px}.submit-summary{border-top:1px solid #e5e9df;margin-top:28px;padding-top:20px}.target-status-list{margin:0;padding:0;list-style:none}.target-status-list li{border-top:1px solid #edf0e8;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;display:flex}.target-status-list li strong{min-width:90px}.danger{color:#a7463e;border-color:#e5c7c2}.admin-tabs{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.admin-tabs a{background:#fff;border:1px solid #e5e9df;border-radius:8px;padding:10px 16px;text-decoration:none}.admin-tabs a.router-link-active{color:#405b2e;background:#e8efdf;border-color:#789061}.admin-user{border-bottom:1px solid #edf0e8;padding:22px 0}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;display:grid}.metric-grid .card{flex-direction:column;gap:12px;display:flex}.metric-grid strong{font-variant-numeric:tabular-nums;font-size:28px}.grow{flex:1;min-width:0}fieldset{border:1px solid #e5e9df;border-radius:10px;padding:18px}legend{padding:0 8px}audio{max-width:100%;margin:12px 0}.modal textarea{overflow-wrap:anywhere;width:100%}.target-status-list .error{overflow-wrap:anywhere}.form-grid label{min-width:0}.list-row>span{overflow-wrap:anywhere;min-width:0}.admin-user p{overflow-wrap:anywhere}@media (max-width:768px){.admin-tabs{gap:6px}.admin-tabs a{padding:9px 12px}.music-grid{gap:14px}.quota-strip{gap:8px 18px}.target-options button{flex-grow:1}.admin-user .row button{padding:8px 10px}.form-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.transport .row>label{max-width:100%}.track-card button{min-height:44px}}.target-timeline{margin:20px 0 8px}.target-timeline svg{cursor:pointer;background:#fafcf7;border:1px solid #e5e9df;border-radius:8px;width:100%;max-height:280px;display:block}.admin-daily{max-height:220px;margin-top:15px;font-size:12px;overflow:auto}.admin-daily p{margin:4px 0}.admin-sidebar{overflow-y:auto}.admin-sidebar nav{margin-top:24px}.admin-sidebar nav a{min-height:44px;padding-top:9px;padding-bottom:9px}.admin-shell .admin-tabs{display:none}.admin-shell .admin-login-content{max-width:1100px;margin:0 auto}.admin-login-card{margin-top:64px}.admin-topbar>a{font-weight:600;text-decoration:none}.admin-topbar .row{gap:12px}@media (max-width:768px){.admin-shell .main-content{padding-bottom:32px}.admin-shell .admin-tabs{display:flex}.admin-login-card{margin-top:32px}}:root{--brand:#b63850;--accent:#f07888;--violet:#9885b6;--blue:#7a8ac1;--ink:#29272c;--muted:#817a85;--line:#ece8ee;--soft:#fff1f3}html{color:var(--ink);background:#f7f6f8}a{color:#a33f58}small,.muted,.eyebrow{color:var(--muted)}button,.button,input:not([type=range]):not([type=checkbox]),select,textarea{color:#51494f;border-color:#e6e2e7}button.primary,.button.primary{background:var(--accent);border-color:var(--accent);color:#401820}button.primary:hover,.button.primary:hover{background:#e76b80}button:hover,.button:hover{border-color:#d88c9c}button[aria-pressed=true],.button[aria-current=page]{background:var(--soft);color:#a93349;border-color:#edb8c2}input[type=range],input[type=checkbox]{accent-color:var(--brand)}:focus-visible{outline-color:var(--accent)}.card,.track-card,fieldset,.sidebar,.topbar{border-color:var(--line)}.sidebar nav a,.nav-caption,.sidebar-bottom,.topbar{color:var(--muted)}.sidebar nav a.router-link-exact-active{background:var(--soft);color:var(--brand)}.toast{background:#4c3d50}.target-timeline svg{border-color:var(--line);background:#fdfcfe;max-height:none}.badge.analysis{color:#7b648f;background:#f1edf7}.badge{color:#a35a70;background:#f7edf0}.loop-overlay{background:#f0788815;border-color:#dc8fa0}.playhead{background:var(--brand)}.playhead:before{border-top-color:var(--brand)}.timeline-canvas{background:#fff}.loop-handle{background:var(--soft);color:var(--brand)}.modal-backdrop{background:#29212e70}.danger{color:#b63850}.admin-tabs a.router-link-active{background:var(--soft);color:var(--brand);border-color:#e9bac5}.original-home{flex-direction:column;max-width:820px;min-height:calc(100dvh - 115px);margin:auto;padding:38px 12px 0;display:flex}.home-intro .mini-kicker{letter-spacing:1.2px;color:#81727b;font-family:LayerPlayful,KaiTi,cursive;font-size:13px}.home-intro h1{letter-spacing:1px;margin:18px 0 0;font-family:LayerPlayful,KaiTi,cursive;font-size:36px;font-weight:400;line-height:1.6}.home-story{max-width:420px;padding-top:68px}.home-story:before{content:"";background:var(--accent);width:24px;height:2px;margin-bottom:20px;display:block}.home-story p{letter-spacing:.5px;color:#929095;margin:0;font-family:LayerPlayful,KaiTi,cursive;font-size:16px;line-height:2}.home-story p+p{margin-top:16px}.home-illustration{aspect-ratio:1;object-fit:contain;flex:none;align-self:flex-end;width:52%;max-width:350px;height:auto;margin:56px 0 10px auto;display:block}.profile-page{max-width:600px;margin:0 auto}.profile-hero{flex-direction:column;justify-content:center;align-items:center;gap:12px;height:290px;display:flex}.profile-avatar{color:#bc5267;background:#fff0f2;border-radius:50%;place-items:center;width:76px;height:76px;font-size:45px;display:grid}.profile-name{color:var(--ink);font-size:19px;font-weight:600;text-decoration:none}.profile-name span{color:#a79eaa;margin-left:16px}.profile-hero p{color:#a29aa5;margin:0;font-size:12px}.profile-menu{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.profile-menu a{min-height:60px;color:var(--ink);border-bottom:1px solid #f2eff4;align-items:center;gap:16px;padding:0 20px;text-decoration:none;display:flex}.profile-menu a:last-child{border-bottom:0}.profile-menu a span:first-child{color:#c4485e;width:20px}.profile-menu a span:last-child{color:#b4acb9;margin-left:auto}.profile-quota{justify-content:space-evenly;padding:0 12px 24px;display:flex}.profile-quota div{text-align:center;flex-direction:column;display:flex}.profile-quota strong{color:#8d6c96;font-size:22px}.profile-quota span{color:var(--muted);font-size:12px}.import-studio,.practice-workspace{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:22px;display:grid}.import-studio{padding:18px}.import-stage{background:#242226;border-radius:10px;justify-content:center;align-items:center;min-height:400px;display:flex;position:relative;overflow:hidden}.import-stage video{object-fit:contain;width:100%;height:100%;max-height:580px}.import-stage audio{width:90%}.stage-filename{color:#eee;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;font-size:12px;position:absolute;top:12px;left:16px;right:16px;overflow:hidden}.video-empty{text-align:center;color:#eee9ed;flex-direction:column;align-items:center;padding:35px 16px;display:flex}.video-empty>span{color:var(--accent);font-size:58px}.video-empty strong{margin:8px 0;font-size:16px}.video-empty p{color:#aaa1ab;font-size:12px}.import-actions{flex-direction:column;justify-content:center;gap:12px;display:flex}.import-actions label{font-size:12px}.song-stats{justify-content:space-around;gap:12px;padding:14px 0;display:flex}.song-stats div{text-align:center;flex-direction:column;min-width:0;display:flex}.song-stats strong{color:#8f7a97;overflow-wrap:anywhere;font-size:21px}.song-stats span{color:#aaa1ab;font-size:11px}.text-link{text-align:center;font-size:12px}.clip-range{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:18px;display:grid}.session-link{color:var(--ink);text-decoration:none}.session-link span{color:var(--muted);font-size:12px}.practice-workspace{align-items:stretch;margin-bottom:22px}.practice-workspace>.card{margin:0}.practice-workspace .video-panel{flex-direction:column;min-width:0;padding:14px;display:flex}.practice-workspace .video-panel>.section-heading{margin-bottom:10px}.practice-workspace .video-panel h2{font-size:14px}.practice-workspace .video-panel>.muted{margin:7px 0 0;font-size:10px}.practice-workspace .video-stage{background:#242226;flex:1;justify-content:center;min-height:370px}.practice-workspace .video-stage video{height:100%;max-height:570px}.practice-options{min-width:0;padding:22px 18px}.practice-options .section-heading{gap:8px}.practice-options h2{font-size:16px}.bpm-readout{color:#8a7796;flex-direction:column;font-size:21px;display:flex}.bpm-readout small{font-size:9px}.sound-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.sound-buttons button{min-width:0;padding:7px 4px;font-size:12px}.compact-note{margin:10px 0;font-size:11px}.practice-options .playback-row{justify-content:center;margin:16px 0 7px}.practice-options .playback-row button{padding:8px 10px}.practice-clock{text-align:center;color:#76667f;font-variant-numeric:tabular-nums;font-size:20px}.practice-options>.row{justify-content:space-between;gap:10px}.practice-options>.row>label{flex:1;min-width:0;font-size:11px}.practice-options select{width:100%;font-size:12px}.expand-tracks{width:100%;color:var(--brand);background:#fff7f9;border-color:#e8ccd6;margin-top:16px}.practice-bottom-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.practice-bottom-grid .row{margin-bottom:12px}.practice-bottom-grid h2 small{color:#c099aa;margin-right:8px}.loop-inputs label{flex:1;min-width:0}.loop-inputs input{width:100%}.bass-tools{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:16px;padding-top:16px;display:flex}.audio-stage{text-align:center;background:linear-gradient(145deg,#faf6fc,#fff5f6);flex-direction:column;justify-content:center;align-items:center;min-height:310px;display:flex}.audio-stage>span{color:#ba93b5;font-size:70px}.audio-stage h2{font-size:20px}.audio-stage p{color:#978b9d;font-size:13px}.target-scroll{overflow-x:auto}.target-scroll svg{min-height:100px}.tracks-expanded .target-timeline{margin-top:10px}.video-controls{opacity:0;pointer-events:none;background:linear-gradient(#0000,#242226ee);padding:28px 12px 12px;transition:opacity .15s;position:absolute;bottom:0;left:0;right:0}.controls-visible>.video-controls,.video-stage:focus-within>.video-controls{opacity:1;pointer-events:auto}.video-controls button,.video-controls select{color:#fff;background:#39303c;border-color:#67596d}.video-controls input{accent-color:var(--accent)}.video-panel.pinned .video-stage{min-height:0;bottom:28px}.video-panel.pinned video{height:auto}.video-panel.pinned .video-controls{font-size:10px}.video-panel.pinned .video-controls button,.video-panel.pinned .video-controls select{padding:4px 6px;font-size:10px}.video-stage:fullscreen{min-height:100dvh}.video-stage:fullscreen video{height:100%;max-height:100dvh}.practice-options .seek-slider{margin:8px 0}@media (max-width:900px) and (min-width:769px){.import-studio,.practice-workspace{grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr)}.sound-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-options{padding:16px}}@media (max-width:768px){html{background:#f7f6f8}.app-shell:not(.admin-shell){background:#fff;max-width:480px;min-height:100dvh;margin:auto}.main-content{padding-left:16px;padding-right:16px}.topbar{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;position:sticky;top:0}.topbar>span{display:none}.mobile-brand{color:var(--ink);align-items:center;gap:8px;font-size:19px;line-height:1.1;display:flex}.mobile-brand img{object-fit:contain;width:34px;height:34px}.mobile-brand small{letter-spacing:2px;margin-top:4px;font-size:9px;display:block}.mobile-nav{border-color:var(--line);max-width:480px;height:calc(64px + env(safe-area-inset-bottom));padding:5px 12px calc(5px + env(safe-area-inset-bottom));margin:auto}.mobile-nav a{color:#929096;flex-direction:column;gap:2px;font-size:10px;background:0 0!important}.mobile-nav a>span{font-size:23px;line-height:1}.mobile-nav a.router-link-exact-active{color:var(--brand)}.original-home{min-height:calc(100svh - 146px);padding:24px 6px 0}.home-intro h1{white-space:nowrap;font-size:28px}.home-story{max-width:none;padding-top:clamp(36px,8svh,68px)}.home-story p{font-size:14px}.home-illustration{width:72%;max-width:250px;margin-top:clamp(28px,6svh,56px)}.profile-hero{height:31svh;min-height:200px;max-height:300px}.profile-menu a{min-height:56px;font-size:15px}.page-heading{margin:22px 0 18px}.page-heading h1{font-size:24px}.page-heading p{font-size:12px}.import-studio{grid-template-columns:minmax(0,2fr) minmax(100px,1fr);gap:10px;padding:10px}.import-stage{min-height:300px}.import-stage video{max-height:450px}.import-actions{gap:9px}.import-actions .button{min-height:46px;padding:6px 4px;font-size:11px}.import-actions label select{padding:6px 4px;font-size:10px}.song-stats{flex-direction:column;gap:10px;padding:0}.song-stats strong{font-size:16px}.song-stats span{font-size:9px}.import-actions .text-link{font-size:10px}.video-empty strong{font-size:13px}.video-empty p{font-size:10px}.clip-range{gap:12px}.practice-workspace{grid-template-columns:1fr;gap:10px}.practice-workspace .video-panel{padding:10px}.practice-workspace .video-stage{height:clamp(280px,48svh,440px);min-height:0}.practice-workspace .video-stage video{max-height:100%}.practice-workspace .video-panel>.section-heading{margin-bottom:7px}.practice-workspace .video-panel>.section-heading button{min-height:34px;padding:5px 9px;font-size:11px}.practice-options{padding:15px}.practice-options .section-heading{margin-bottom:10px}.sound-buttons{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.sound-buttons button{min-height:38px;font-size:11px}.practice-options .compact-note{margin-bottom:6px}.practice-options .playback-row{vertical-align:middle;width:55%;margin:8px 0;display:inline-flex}.practice-clock{width:43%;font-size:16px;display:inline-block}.practice-clock small{font-size:10px}.practice-options .playback-row .play-button{min-width:75px}.practice-options .playback-row button{min-height:38px;padding:6px 8px}.practice-options>.row>label{flex-direction:row;align-items:center;gap:6px;font-size:10px}.practice-options select{flex:1;width:auto;min-height:36px;padding:5px;font-size:11px}.expand-tracks{min-height:38px;margin-top:12px}.practice-bottom-grid{grid-template-columns:1fr;gap:0}.practice-bottom-grid .row button{padding:7px 10px;font-size:11px}.video-panel.pinned .video-stage{right:max(12px,50vw - 228px);bottom:calc(78px + env(safe-area-inset-bottom));width:245px;height:auto;min-height:100px}.video-panel.pinned video{max-height:200px}.video-controls{gap:6px;padding:22px 8px 8px}.video-controls button,.video-controls select{min-height:34px;padding:4px 6px;font-size:10px}.video-controls span{font-size:10px}.audio-stage{min-height:220px}.card{box-shadow:none}.profile-quota strong{font-size:20px}.original-home{padding:48px 10px 0}.home-story p{text-wrap:balance}.home-story p+p{max-width:288px}}.target-canvas{min-width:100%;position:relative}.target-canvas svg{width:100%}.target-handle{color:#fff;z-index:3;background:#b63850;min-width:36px;min-height:36px;padding:4px;top:0;transform:translate(-50%)}.target-handle:first-of-type{transform:translate(0)}.target-handle:last-of-type{transform:translate(-100%)}@media (max-width:768px){.practice-workspace .video-panel{border:0;padding-top:0;padding-bottom:0;position:relative}.practice-workspace .video-panel>.section-heading{z-index:2;pointer-events:none;position:absolute;top:10px;left:20px;right:20px}.practice-workspace .video-panel>.section-heading h2{color:#fff;text-shadow:0 1px 3px #000}.practice-workspace .video-panel>.section-heading .row{pointer-events:auto}.practice-workspace .video-panel>.section-heading button{background:#fffd}.practice-workspace .video-stage{height:clamp(330px,52svh,500px)}.practice-workspace .video-panel>.muted{display:none}.practice-workspace .video-panel.pinned .video-stage{height:auto}.practice-options .compact-note{display:none}.practice-options .expand-tracks{margin-top:8px}.practice-options{padding:12px}.practice-options .section-heading{margin-bottom:8px}}.subpage-heading{min-width:0;margin:24px 0}.subpage-toolbar{border-bottom:1px solid var(--line);grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:8px;min-height:52px;padding-bottom:12px;display:grid}.subpage-toolbar h1{text-align:center;overflow-wrap:anywhere;margin:0;font-size:26px;line-height:1.4}.subpage-edge{align-items:center;min-width:0;min-height:44px;display:flex}.subpage-edge-right{justify-content:flex-end}.subpage-back{width:44px;min-height:44px;color:var(--ink);border-radius:9px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.subpage-back:hover{background:var(--soft)}.subpage-description{text-align:center;color:var(--muted);overflow-wrap:anywhere;margin:12px 0 0;font-size:13px}.subpage-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:420px;margin-top:18px;margin-left:auto;display:grid}.subpage-actions>*{text-align:center;min-width:0;min-height:44px;margin:0}.action-grid{align-items:stretch;gap:10px;min-width:0;display:grid}.action-grid>*{text-align:center;min-width:0;min-height:44px;margin:0}.two-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.three-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.recording-card{border-top:1px solid var(--line);gap:14px;min-width:0;padding:20px 0;display:grid}.recording-card:first-of-type{border-top:0;padding-top:8px}.recording-info{min-width:0}.recording-info strong{font-size:16px;line-height:1.6;display:block}.recording-info p{font-variant-numeric:tabular-nums;margin:5px 0 0}.recording-actions{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:10px;width:100%;max-width:520px;display:grid}.recording-actions>*{text-align:center;min-width:0;min-height:44px;padding:8px;line-height:1.4}.load-more{width:100%;margin-top:16px}.list-row.stacked-session{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:5px;min-width:0;display:flex}.stacked-session strong,.stacked-session span{overflow-wrap:anywhere}.stacked-session strong{font-size:15px}.bookmark-record{grid-template-columns:minmax(0,1fr) 160px;align-items:center;gap:14px;display:grid}.bookmark-record .bookmark-open{overflow-wrap:anywhere;text-align:left;justify-content:flex-start;min-width:0;max-width:100%}.bookmark-record .bookmark-open strong,.bookmark-record .bookmark-open span{overflow-wrap:anywhere;max-width:100%}.import-actions .button,.import-actions .clip-entry{text-align:center;flex-direction:row;width:100%;min-height:46px;line-height:1.4}.import-actions .is-disabled{opacity:.45;cursor:not-allowed}.import-hint{margin:0;font-size:11px}.clip-summary{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.clip-summary p{font-variant-numeric:tabular-nums;margin:4px 0 0}.clip-summary>.error{grid-column:1/-1}.clip-summary strong{white-space:nowrap}.clip-summary>button{min-height:44px}.clip-editor{scroll-margin-top:90px}.clip-editor .section-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.clip-editor .section-heading h2{margin:4px 0 0}.clip-duration{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:20px}.clip-range{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.clip-range label{font-variant-numeric:tabular-nums;min-width:0}.clip-range input{width:100%}.clip-input-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 12px;display:grid}.clip-input-grid label{min-width:0}.clip-input-grid input{width:100%;min-width:0}.clip-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:10px;display:grid}.clip-action-grid button{min-width:0;min-height:44px;padding:8px;line-height:1.4}.clip-validation{min-height:24px;margin:12px 0 8px;font-size:12px}.target-options{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));align-items:stretch;display:grid}.target-options button{min-width:0;height:100%;min-height:44px;margin:0}.practice-clock,.practice-options .practice-clock,.video-controls span{font-variant-numeric:tabular-nums}.practice-options>.row:not(.playback-row){grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.practice-options>.row>label{width:100%;min-width:0}.practice-options>.row>label select{width:100%;min-width:0;min-height:44px}.practice-options .playback-row{grid-template-columns:44px minmax(90px,1fr) 44px;align-items:stretch;gap:10px;width:100%;margin:12px 0;display:grid}.practice-options .playback-row button{min-width:0;min-height:44px}.practice-options .playback-row .play-button{min-width:0}.practice-options .practice-clock{text-align:center;width:100%;min-height:35px;margin:0;line-height:35px;display:block}.practice-options .sound-buttons{align-items:stretch}.practice-options .sound-buttons button{height:100%;min-height:44px;line-height:1.4}.practice-bottom-grid .loop-panel>.row:not(.loop-inputs){grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:8px;display:grid}.practice-bottom-grid .loop-panel>.row button{min-width:0;min-height:44px;padding:8px}.practice-bottom-grid .loop-inputs{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);align-items:end;gap:10px;display:grid}.practice-bottom-grid .loop-inputs label,.practice-bottom-grid .loop-inputs input{width:100%;min-width:0}.practice-bottom-grid .loop-inputs>span{text-align:center;padding-bottom:9px}.practice-bottom-grid .correction-panel>.row{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:8px;display:grid}.practice-bottom-grid .correction-panel>.row:has(>label){grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}.practice-bottom-grid .correction-panel>.row>label{min-width:0}.practice-bottom-grid .correction-panel>.row>button{min-width:0;min-height:44px;padding:8px}@media (max-width:768px){.subpage-heading{margin:14px 0 22px}.subpage-toolbar h1{font-size:22px}.subpage-toolbar{padding-bottom:10px}.subpage-description{font-size:12px}.subpage-actions{max-width:none}.studio-heading{align-items:stretch}.studio-heading>.action-grid{width:100%}.recording-card{gap:12px;padding:17px 0}.recording-actions{gap:8px}.recording-actions>*{font-size:12px}.bookmark-record{grid-template-columns:minmax(0,1fr);align-items:stretch}.bookmark-record .bookmark-open{width:100%;min-height:44px;padding:8px 0}.bookmark-record>.action-grid{width:100%}.clip-summary{gap:8px;padding:14px}.clip-summary p{font-size:12px}.clip-summary>.button,.clip-summary>button{padding:8px 10px;font-size:12px}.clip-summary strong{display:inline-block}.clip-summary .muted{display:block}.clip-editor .section-heading{grid-template-columns:minmax(0,1fr) auto}.clip-editor .section-heading h2,.clip-duration{font-size:16px}.clip-input-grid{gap:10px}.clip-input-grid label,.clip-range label{font-size:12px}.clip-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.clip-action-grid button{font-size:12px}.clip-action-grid button:last-child{grid-column:1/-1}.clip-validation{min-height:40px}.target-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.target-options button{font-size:13px}.practice-options>.row>label{flex-direction:column;align-items:stretch;gap:5px;font-size:12px}.practice-options>.row>label select{min-height:44px;font-size:12px}.practice-options .playback-row{grid-template-columns:44px minmax(90px,1fr) 44px;width:100%;margin:10px 0;display:grid}.practice-options .playback-row button{min-height:44px;padding:8px}.practice-options .practice-clock{width:100%;font-size:18px;display:block}.practice-options .sound-buttons{gap:6px}.practice-options .sound-buttons button{min-height:44px;padding:6px 4px;font-size:11px}.practice-bottom-grid .loop-panel>.row button,.practice-bottom-grid .correction-panel>.row>button{min-height:44px;font-size:11px}}
