:root{color:#1d3430;font-synthesis:none;background:#f5f5ef;font-family:Hiragino Sans,Yu Gothic,system-ui,sans-serif;font-size:14px;font-weight:400;line-height:1.7}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer;color:#24403b;background:#fffef8;border:1px solid #d5dcd4;border-radius:8px;padding:10px 16px;transition:background .15s}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #bd7027}button.primary{color:#fff;background:#244c40;border-color:#244c40;padding:12px 22px}h1,h2,h3,p{margin:0 0 14px}h1{letter-spacing:.035em;font-size:clamp(30px,3.8vw,56px);line-height:1.5}h2{font-size:25px;line-height:1.55}h3{font-size:18px}small{color:#687a72;font-size:.85em}label{color:#52655d;font-size:.92em;display:block}input:not([type=checkbox]):not([type=range]),select{color:#1d3430;background:#fffef9;border:1px solid #cfd9d1;border-radius:6px;max-width:100%;min-height:42px;padding:9px 12px;display:block}input[type=number]{width:120px}input[type=checkbox]{accent-color:#315a45;flex:none;width:17px;height:17px}input[type=range]{accent-color:#315a45;width:130px;display:block}.app{min-height:100vh;display:flex}.large-type{font-size:18px}.sidebar{color:#e9efe3;z-index:5;background:#172f2c;flex-direction:column;width:238px;padding:38px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:inherit;letter-spacing:.1em;align-items:center;gap:13px;margin-bottom:58px;font-weight:600;text-decoration:none;display:flex}.brand span:not(.brand-mark){color:#adc0ad;letter-spacing:.3em;font-size:10px;display:block}.brand-mark{color:#dfbd76;text-align:center;border:1px solid #79876c;border-radius:50%;width:43px;height:43px;font-size:32px;line-height:38px;transform:rotate(18deg)}.sidebar-label{letter-spacing:.15em;color:#8da798;margin-bottom:17px;padding-left:15px;font-size:9px}nav{gap:8px;display:grid}nav button{color:#c1d0c6;text-align:left;background:0 0;border:0;gap:14px;padding:13px 15px;font-size:13px;display:flex}nav button span{width:20px;font-size:20px;line-height:22px}nav button.nav-active{color:#faf8db;background:#314b40}nav button:hover{background:#2a433a}.sidebar-bottom{color:#c4d2c1;border-top:1px solid #365047;margin-top:auto;padding:20px 12px 0;font-size:11px}.sidebar-bottom p{color:#99ae9e;font-size:10px}.status-dot{background:#d8c086;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.workspace{flex:1;min-width:0;margin-left:238px}.topbar{border-bottom:1px solid #e1e4d9;justify-content:space-between;align-items:center;height:80px;padding:0 48px;display:flex}.topbar>span{letter-spacing:.2em;color:#768676;font-size:10px}.topbar>div{align-items:center;gap:8px;display:flex}.topbar button{background:0 0;border:none;font-size:11px}.mode-tag{color:#586b5d;border:1px solid #d4dccd;border-radius:20px;padding:4px 10px;font-size:11px}main{max-width:1500px;margin:auto;padding:26px 48px 0}.page-top{color:#7c8b7d;letter-spacing:.08em;justify-content:space-between;margin-bottom:28px;font-size:10px;display:flex}.page-top span:last-child{letter-spacing:.16em;font-size:9px}.hero{grid-template-columns:1.25fr 1fr;align-items:center;gap:20px;min-height:420px;padding:35px 0 50px;display:grid}.eyebrow{color:#8c7852;letter-spacing:.16em;margin-bottom:16px;font-size:10px;font-weight:600;display:block}.hero h1 em{color:#678263;font-style:normal}.hero p{color:#697b6c;margin-top:20px;margin-bottom:28px;font-size:13px;line-height:2.1}.hero .controls{margin-bottom:15px}.hero .primary span{margin-left:30px}.hero small{font-size:10px}.drum-illustration{background:radial-gradient(#e3e8d7 0%,#f0f1e4 65%,#0000 66%);border-radius:50%;width:320px;height:320px;margin:auto;position:relative;transform:rotate(-8deg)}.drum-illustration>div{justify-content:center;align-items:center;font-size:24px;display:flex;position:absolute;box-shadow:0 14px 16px #203e3020}.drum-illustration small{white-space:nowrap;color:inherit;font-size:9px;position:absolute;top:66%}.cymbal{color:#766337;background:radial-gradient(#c3aa6b,#e5d5a0);border:8px double #b2965b;border-radius:50%;width:134px;height:94px;top:30px;left:2px}.snare{color:#748376;background:#f6f4e9;border:9px double #7c9382;border-radius:50%;width:120px;height:104px;top:108px;right:25px}.kick{color:#eef0d9;background:#6b8064;border:12px double #465d4c;border-radius:50%;width:140px;height:120px;bottom:12px;left:45px}.drum-illustration .stick{z-index:1;background:#b78e58;border-radius:12px;width:130px;height:7px}.stick.a{top:124px;left:115px;transform:rotate(30deg)}.stick.b{top:126px;left:93px;transform:rotate(-40deg)}.orbit{letter-spacing:.18em;color:#8b9b83;font-size:8px;position:absolute;bottom:-25px;left:35px}.welcome-bottom{grid-template-columns:1.1fr 1fr;gap:24px;display:grid}.card{background:#fdfdf7;border:1px solid #dde2d4;border-radius:14px;margin-bottom:24px;padding:28px;box-shadow:0 3px 8px #31422c02}.card h2{font-size:21px}.card p{color:#687b6d;font-size:.94em}.journey{gap:14px;padding:0;font-size:12px;list-style:none;display:grid}.journey li{align-items:flex-start;gap:15px;display:flex}.journey span{color:#a28c57;white-space:nowrap;font-family:monospace}.check{color:#405747;align-items:flex-start;gap:9px;margin:12px 0;display:flex}.inline{margin-right:20px;display:inline-flex}.controls{flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0;display:flex}.section-heading{max-width:780px;padding:18px 0 20px}.practice-title{font-size:34px}.practice-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.segmented{background:#edf0e5;border-radius:9px;gap:2px;padding:4px;display:flex}.segmented button{background:0 0;border:0;font-size:12px}.segmented .selected{background:#fffef7;box-shadow:0 2px 4px #1d352018}.performance-display{text-align:center;border-block:1px solid #e5e8dc;margin-top:24px;padding:25px;display:grid}.performance-display>span{letter-spacing:.08em;color:#74856a;font-size:11px}.performance-display strong{letter-spacing:.12em;font-variant-numeric:tabular-nums;font-size:48px;font-weight:500;line-height:1.7}.performance-display small{font-size:11px}.pad-row{justify-content:center;gap:20px;margin-top:26px;display:flex}.pad-row.left{flex-direction:row-reverse}.pad{background:#e8ecd9;border:4px double #aaba97;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:115px;height:95px;font-size:12px;display:flex}.pad b{font-size:19px}.pad:disabled{opacity:1;color:#486343}.left .drum-illustration,.drum-illustration.left,.drum-illustration.left small{transform:scaleX(-1)}.hit-status{text-align:center;min-height:30px;margin-top:17px;font-size:11px!important}.muted{color:#7b887a!important;font-size:11px!important}.score{margin-top:28px}.score-bar{border:1px solid #e1e5d7;border-radius:8px;margin-bottom:12px;padding:12px}.bar-label{color:#869079;margin-bottom:8px;font-size:10px}.score-scroll{overflow-x:auto}.score-row{align-items:center;min-width:510px;font-size:10px;display:grid}.score-row>span{justify-content:center;align-items:center;height:29px;display:flex}.score-row>span:first-child{color:#6e7d69;justify-content:flex-start;font-size:11px}.cell{color:#c5cdb8;background:#f3f4ec;border-bottom:1px solid #e7eadd;border-right:1px solid #e7eadd}.cell.beat{border-left:1px solid #c7d1bb}.cell.cursor{background:#d8e3b8}.note{color:#48673a;font-size:19px;font-weight:600}.note.soft{font-size:12px}.tree-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.tree-title{border-bottom:1px solid #dfe4d6;gap:14px;margin-bottom:20px;display:flex}.skill{border-bottom:1px solid #eaede0;padding:16px 0}.skill b{font-size:13px}.skill p{margin:7px 0;font-size:11px}.skill small{font-size:10px;display:block}.skill button{margin-top:10px;font-size:11px}.metrics{gap:40px;margin:20px 0;display:flex}.metrics>div{display:grid}.metrics strong{font-size:38px;font-weight:500;line-height:1.2}.metrics strong small{font-size:15px}.metrics span{color:#728368;font-size:11px}.notice{color:#546547;background:#edf1e3;border:1px solid #d4ddbf;border-radius:8px;margin-bottom:18px;padding:15px 20px;font-size:12px}.error{color:#814b28;background:#f6eadf;border:1px solid #d7ac88;border-radius:8px;margin-bottom:18px;padding:15px 20px}.settings{max-width:900px}.settings button{margin:4px}.settings label{margin:10px 0}.settings li{font-size:12px}.settings li button{padding:2px 7px}details summary{cursor:pointer;color:#4c664a}details[open] summary{margin-bottom:16px}.history-list{grid-template-columns:1fr 1fr;gap:20px;margin-top:24px;display:grid}.history-list .card{margin:0}.history-list h3{font-size:16px}.next-branches{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}footer{color:#89947e;border-top:1px solid #dee3d4;justify-content:space-between;margin-top:60px;padding:24px 0;font-size:10px;display:flex}.skip-link{z-index:100;background:#fff;padding:10px;position:fixed;top:-100px;left:10px}.skip-link:focus{top:0}@media (width>=1600px){main{padding-inline:70px}}@media (width<=1100px){.sidebar{width:195px;padding-inline:13px}.workspace{margin-left:195px}main,.topbar{padding-inline:28px}.hero{grid-template-columns:1.3fr 1fr}.drum-illustration{margin-left:-20px;transform:scale(.8)}.hero h1{font-size:37px}.hero .controls{gap:7px}.hero button{padding:10px;font-size:12px}.welcome-bottom{grid-template-columns:1fr 1fr}.card{padding:22px}}@media (width<=760px){.sidebar{width:auto;padding:15px 18px;display:block;position:static}.app{display:block}.brand{margin:0 0 16px;font-size:12px}.brand-mark{width:34px;height:34px;font-size:24px;line-height:28px}.sidebar-label,.sidebar-bottom{display:none}nav{gap:4px;display:flex;overflow-x:auto}nav button{white-space:nowrap;gap:4px;padding:8px;font-size:11px}nav button span{width:16px;font-size:15px}.workspace{margin-left:0}.topbar{height:58px;padding:0 18px}.topbar>span{font-size:8px}.topbar>div{gap:2px}.topbar button{padding:7px;font-size:10px}.mode-tag{padding:3px 6px;font-size:9px}main{padding:22px 18px 0}.page-top{margin-bottom:10px}.hero{grid-template-columns:1fr;gap:0;padding:28px 0 30px}.hero h1{font-size:38px}.hero p{font-size:12px}.drum-illustration{height:280px;margin:0 auto;transform:scale(.9)}.drum-illustration .kick{bottom:0}.welcome-bottom,.tree-grid,.history-list{grid-template-columns:1fr}.card{padding:20px}.performance-display strong{font-size:36px}.practice-title{font-size:27px}.metrics{gap:23px}.metrics strong{font-size:30px}.pad-row{gap:10px}.pad{width:90px;height:80px}.segmented button{padding:8px;font-size:10px}.practice-toolbar,.controls{gap:8px}.controls button{font-size:12px}footer{gap:20px;margin-top:35px}footer span{max-width:120px}.large-type .sidebar{font-size:inherit}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.pad.received{outline-offset:3px;outline:3px solid #879e55}.drum-illustration.left .orbit{transform:scaleX(-1)}:root{color:#10234e;--navy:#10234e;--teal:#0796a6;--yellow:#ffb41e;--blue:#329bfa;--pink:#fc657b;background:#f6f5f2}body{background:linear-gradient(130deg,#fafaf9,#f1f3f4)}.app{background:#fffefb;border:1px solid #e5e6e7;border-radius:20px;min-height:calc(100vh - 24px);margin:12px;overflow:hidden;box-shadow:0 2px 12px #10234e08}.sidebar{color:var(--navy);background:#fff;border-right:1px solid #e8ebee;border-radius:18px 0 0 18px;width:212px;padding:26px 16px;inset:13px auto 13px 13px}.brand{letter-spacing:0;text-align:center;flex-direction:column;gap:7px;margin-bottom:34px;font-size:16px;line-height:1.5;display:flex}.brand>div:after{content:"アカデミー"}.brand>div>span{display:none!important}.drum-logo{width:72px;height:48px}.sidebar-label{display:none}nav{gap:12px}nav button{color:#17365c;border-radius:11px;align-items:center;gap:15px;padding:14px 13px;font-size:14px;font-weight:650}nav button.nav-active,nav button:hover{color:#08758d;background:#eaf7fa}.icon{vertical-align:middle;flex:none;width:23px;height:23px}.primary .icon{fill:currentColor;width:20px;height:20px;margin-right:9px}.sidebar-bottom{color:#526782;border-color:#e8edf2;padding:20px 6px;font-size:11px}.sidebar-bottom p,.sidebar-bottom small{color:#788496}.status-dot{background:#8195a3}.workspace{margin-left:212px}.topbar{border-color:#edf0f3;height:66px;padding:0 30px}.topbar>span{color:#708097;letter-spacing:.1em}.topbar button{color:#455977}.mode-tag{color:#31536d;background:#f1f5f5;border:0;align-items:center;gap:7px;padding:7px 13px;display:inline-flex}.mode-tag i{background:#8292a0;border-radius:50%;width:9px;height:9px}.mode-tag.connected i{background:#399d42}main{max-width:1700px;padding:24px 30px 0}.page-top{display:none}.section-heading{padding:0 0 18px}.section-heading .eyebrow{color:#658098;margin-bottom:6px;font-size:11px}.section-heading p{color:#29486b}.practice-title{letter-spacing:.02em;margin-bottom:3px;font-size:34px;line-height:1.4}h1,h2,h3{color:var(--navy)}button{color:#18375e;background:#fff;border-color:#dce2e7;border-radius:11px;font-weight:600}button:hover{background:#eef8fa}button.primary{color:#fff;background:linear-gradient(120deg,#08a4b1,#07899f);border-color:#0794a6;justify-content:center;align-items:center;padding:12px 23px;font-weight:750;display:inline-flex;box-shadow:inset 0 1px #ffffff25}button.primary:hover{background:#087f94}input:not([type=checkbox]):not([type=range]),select{color:#18375e;background:#fff;border-color:#dce3eb}input[type=checkbox],input[type=range]{accent-color:#0398a6}.card{box-shadow:none;background:#fffefd;border-color:#e3e6e9;border-radius:16px;padding:24px}.card p{color:#4c6382}.notice{color:#2c5670;background:#edf8fa;border-color:#d0e7ed}.error{color:#8b3538;background:#fff0ef;border-color:#f2c9c7}.check{color:#2a466b}.muted{color:#677b92!important}.eyebrow{color:#6885a2}.home-heading{justify-content:space-between;align-items:center;gap:18px;margin:2px 0 22px;display:flex}.home-heading h1{letter-spacing:.02em;margin-bottom:2px;font-size:34px;line-height:1.45}.home-heading p{color:#61738d;margin:0;font-size:13px}.interest-switch{background:#f3f4f7;border-radius:13px;flex:none;padding:4px;display:flex}.interest-switch button{background:0 0;border:0;padding:8px 17px;font-size:12px}.interest-switch .selected{background:var(--teal);color:#fff;border-radius:10px}.recommendation{background:linear-gradient(120deg,#fffdf7,#fff);grid-template-columns:1.2fr 1fr;align-items:center;min-height:290px;padding:25px 28px;display:grid;position:relative;overflow:hidden}.recommendation h2{margin:13px 0 6px;font-size:29px;line-height:1.45}.recommendation-copy>p{margin-bottom:13px}.recommendation-tag{color:#774700;background:#ffcb5d;border-radius:10px;padding:5px 15px;font-size:12px;font-weight:700;display:inline-block}.recommendation .lesson-duration{color:#647890;font-size:12px}.kit-visual{align-self:center;width:100%;min-width:0;position:relative}.kit-visual img{object-fit:contain;width:100%;height:auto;max-height:370px;display:block}.kit-visual.left img{transform:scaleX(-1)}.kit-label{white-space:nowrap;border:1px solid;border-radius:8px;padding:3px 9px;font-size:12px;font-weight:750;line-height:1.7;position:absolute;box-shadow:0 2px 4px #10234e0a}.kit-label:before{content:"";background:currentColor;width:20px;height:1px;position:absolute;top:50%;left:-20px;transform:rotate(-25deg)}.kit-label.hhClosed{background:#fff2bf;border-color:#ffbd29;top:20%;left:0}.kit-label.snare{background:#def2ff;border-color:#72b9fa;top:55%;left:40%}.kit-label.kick{background:#ffe4e5;border-color:#fc98a1;top:79%;left:60%}.kit-label.received{outline-offset:3px;outline:3px solid #08a0ab}.kit-visual.left .hhClosed{left:auto;right:0}.kit-visual.left .snare{left:15%}.kit-visual.left .kick{left:20%}.recommendation .kit-visual{padding:0 10px}.recommendation .kit-visual:before{content:"";background:radial-gradient(#fff0d6,#0000 70%);position:absolute;inset:24% -5% 0}.recommendation .kit-visual img{max-height:280px;position:relative}.song-banner{text-align:left;background:linear-gradient(100deg,#fff 45%,#fff1dc);border:1px solid #e3e6e9;border-radius:15px;align-items:center;gap:20px;width:100%;margin-bottom:20px;padding:20px 24px;display:flex;position:relative;overflow:hidden}.song-icon{color:#5340ba;background:#eee9ff;border-radius:12px;flex:none;place-items:center;width:60px;height:60px;display:grid}.song-icon .icon{width:33px;height:33px}.song-banner>span:nth-child(2){z-index:1;line-height:1.5;display:grid;position:relative}.song-banner strong{font-size:23px}.song-banner small{color:#2b4873;font-size:12px}.song-banner>span:last-child{margin-left:auto;font-size:30px}.song-scenery{opacity:.8;width:34%;position:absolute;bottom:0;right:0}.song-scenery svg{width:100%;display:block}.achievement-card{align-items:center;gap:20px;display:flex}.achievement-card h3{margin:2px 0;font-size:20px}.achievement-card p{margin:0;font-size:12px}.achievement-symbol{color:#139d67;background:#e2f8ed;border-radius:50%;flex:none;place-items:center;width:50px;height:50px;display:grid}.achievement-symbol .icon{width:29px;height:29px}.welcome-bottom{gap:20px}.welcome-bottom h2{font-size:20px}.journey span{color:#0a8b9e}.practice-card{box-shadow:none;background:0 0;border:0;padding:0}.practice-toolbar{align-items:center;padding:0 0 18px}.segmented{background:0 0;flex:1;gap:6px;padding:0}.segmented button{color:#18375e;text-align:center;box-shadow:none;background:#f0f2f5;border-radius:12px;flex:1;padding:13px 16px;font-size:13px}.segmented .selected{color:#fff;box-shadow:none;background:#078f9f}.practice-card>.controls:first-of-type{background:#f9fafb;border:1px solid #edf0f4;border-radius:12px;margin-top:0;padding:12px 16px}.practice-card>.controls label{font-size:11px}.practice-card>details:not(.full-score){background:#f9fafb;border:1px solid #e5eaf0;border-radius:10px;margin-bottom:14px;padding:10px 15px}.practice-stage{grid-template-columns:minmax(360px,1.6fr) minmax(230px,1fr) minmax(150px,.6fr);align-items:center;gap:18px;margin:14px 0 20px;display:grid}.practice-stage .score{margin:0}.compact-score .score-bar{border:0;border-radius:0;padding:0}.compact-score .bar-label{color:#61738c;margin-bottom:5px;font-size:11px}.compact-score .score-row{min-width:360px;font-size:17px;grid-template-columns:100px repeat(var(--steps,8), minmax(20px, 1fr))!important}.compact-score .score-row>span{height:66px}.compact-score .score-row>span:first-child{background:#f5f7f9;border-radius:10px 0 0 10px;justify-content:center;font-size:14px;font-weight:750}.compact-score .score-row:first-child>span{height:40px}.compact-score .score-row:first-child>span:first-child{background:0 0;font-size:0}.compact-score .count-cell:nth-child(odd){font-size:13px}.compact-score .cell{background:#fff;border:1px solid #e6e9ed;border-right:0;position:relative}.compact-score .cell:last-child{border-right:1px solid #e6e9ed}.compact-score .cell.cursor{background:#e1f7f0}.compact-score .cell.cursor:after{content:"";z-index:0;background:#069ca6;width:3px;position:absolute;top:-1px;bottom:-1px;left:50%}.compact-score .note{color:#fff;z-index:1;border:2px solid #fff;border-radius:50%;place-items:center;width:33px;height:33px;font-size:27px;line-height:1;display:grid;position:relative;box-shadow:0 1px 3px #18273f18}.compact-score .note.soft{width:25px;height:25px;font-size:18px}.rest-dot{z-index:1;background:#e7e9eb;border-radius:50%;width:9px;height:9px}.part-hhClosed .note{background:var(--yellow)}.part-snare .note{background:var(--blue)}.part-kick .note{background:var(--pink)}.compact-score .part-hhClosed>span:first-child{background:#fff0c6}.compact-score .part-snare>span:first-child{background:#def2ff}.compact-score .part-kick>span:first-child{background:#ffe5e4}.score-row:not(.part-hhClosed):not(.part-snare):not(.part-kick) .note{color:#18375e}.compact-score .score-row:not(.part-hhClosed):not(.part-snare):not(.part-kick) .note{color:#fff;background:#ad9af1}.practice-guidance{flex-direction:column;justify-content:center;align-self:stretch;gap:14px;display:flex}.practice-tip{background:#fffaf0;border:1px solid #eee5d5;border-radius:14px;padding:16px}.practice-tip>span{color:#ffb51e;float:left;margin-right:8px;font-size:28px;line-height:1.2}.practice-tip h3{margin-bottom:8px;font-size:15px;line-height:1.6}.practice-tip p{color:#425d7b;margin:0;font-size:12px}.practice-guidance .performance-display{text-align:left;background:#fff;border:1px solid #e0e4e9;border-radius:13px;min-height:125px;margin:0;padding:12px 13px}.performance-display>span{color:#55728b;font-size:11px}.practice-guidance .performance-display strong{letter-spacing:.02em;font-size:22px;line-height:1.8}.performance-display small{color:#637b94;font-size:10px}.practice-guidance progress{accent-color:#0babb3;border:0;border-radius:9px;align-self:center;width:100%;max-width:85%;height:12px;margin-top:-36px;margin-bottom:21px;overflow:hidden}.practice-guidance progress::-webkit-progress-bar{background:#e6ebf0}.practice-guidance progress::-webkit-progress-value{background:#08aab4;border-radius:9px}.practice-guidance .performance-display{padding-bottom:35px}.practice-card>.controls{border-top:1px solid #e4e9ee;gap:16px;margin-top:8px;padding-top:18px}.practice-card>.controls>.primary{min-width:230px;min-height:52px;font-size:18px}.pad-row{gap:16px;margin-top:12px}.pad{background:#f7faff;border:1px solid;border-radius:12px;width:100px;height:68px}.pad-hhClosed{background:#fff3cf;border-color:#f7ce73}.pad-snare{background:#e5f3ff;border-color:#9bceff}.pad-kick{background:#ffe9ec;border-color:#f4b6c0}.pad:disabled{color:var(--navy)}.hit-status{min-height:20px;margin:10px 0}.full-score{padding:12px 0}.full-score>summary{color:#5a728c;font-size:12px}.score-bar{border-color:#e5e9ee}.score-row .cell{background:#fafbfd}.note{color:#197dab}.current-bar{border-color:#25a7b2}.tree-tabs{flex-wrap:wrap;gap:10px;margin:0 0 20px;display:flex}.tree-tab{white-space:nowrap;border:0;flex:1;justify-content:center;align-items:center;gap:7px;padding:12px 10px;font-size:12px;display:flex}.tree-B{color:#b77709;background:#fff1c9}.tree-F{color:#137cca;background:#e1f2ff}.tree-R{color:#c74370;background:#ffe4ee}.tree-E{color:#3a7b28;background:#edf7df}.tree-S{color:#633fb2;background:#ece5ff}.tree-W{color:#1878b7;background:#dff2ff}.tree-tab.selected{outline-offset:2px;outline:2px solid}.branch-overview{text-align:center;padding:28px}.branch-root{color:#087e62;z-index:1;background:#f4fffb;border:1px solid #14bd9a;border-radius:13px;align-items:center;gap:13px;padding:14px 20px;display:inline-flex;position:relative}.branch-root span{color:#5f7d74;padding-left:7px;font-size:11px}.branch-connector{border:2px solid #18a6c2;border-bottom:0;border-radius:14px 14px 0 0;width:66%;height:38px;margin:auto;position:relative;transform:rotate(180deg)}.branch-connector:before{content:"";background:#18a6c2;width:2px;height:38px;position:absolute;top:0;left:50%}.branch-options{grid-template-columns:repeat(3,1fr);gap:25px;margin:0 0 20px;display:grid}.branch-option button{border-width:1.5px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:66px;display:flex}.branch-option p{margin:9px 0 3px;font-size:12px}.branch-option small{font-size:10px}.branch-0 button{background:#fffdf6;border-color:#f4b83e}.branch-1 button{background:#f9fdff;border-color:#48acfa}.branch-2 button{background:#fdfbff;border-color:#a087ed}.branch-option button:disabled{opacity:1;color:#677b91;background:#f5f6f7;border-color:#d9dfe6}.branch-footnote{font-size:12px;color:#54754d!important;margin:24px 0 0!important}.tree-title>span{color:#3988a2}.tree-title{border-color:#e5ebf0}.skill{border-color:#e9eef3}.skill.planned{color:#718197}.skill small{color:#6b8094}footer{color:#7a8b9c;border-color:#e4e9ee;margin-top:35px}@media (width>=1500px){main{padding:28px 34px 0}.practice-title{font-size:39px}.practice-stage{gap:22px}.compact-score .score-row>span{height:74px}}@media (width<=1200px){.practice-stage{grid-template-columns:minmax(350px,1.5fr) minmax(230px,1fr)}.practice-guidance{grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid;position:relative}.practice-guidance progress{width:42%;max-width:none;margin:0 0 15px;position:absolute;bottom:0;right:3%}.practice-guidance .performance-display{padding-bottom:33px}.practice-tip{padding:13px 16px}.sidebar{width:185px}.workspace{margin-left:185px}main{padding-inline:24px}.brand{font-size:14px}.branch-options{gap:14px}.branch-option strong{font-size:12px}.recommendation h2{font-size:25px}.home-heading h1{font-size:30px}.tree-tab{min-width:110px}}@media (width<=760px){.app{border-radius:14px;min-height:calc(100vh - 12px);margin:6px}.sidebar{border:0;border-bottom:1px solid #e4e9ee;border-radius:14px 14px 0 0;width:auto;padding:13px 14px;position:static}.brand{flex-direction:row;justify-content:flex-start;gap:12px;margin-bottom:13px;font-size:14px}.drum-logo{width:44px;height:33px}.brand>div:after{content:"アカデミー"}.sidebar-bottom{display:none}nav{gap:4px}nav button{gap:5px;padding:9px;font-size:10px}.icon{width:18px;height:18px}.workspace{margin-left:0}.topbar{height:52px;padding:0 13px}.topbar>span{font-size:8px}.mode-tag{padding:4px 7px;font-size:9px}main{padding:19px 14px 0}.home-heading{margin-bottom:18px;display:block}.home-heading h1{font-size:28px}.home-heading p{font-size:11px}.interest-switch{margin-top:14px;display:inline-flex}.interest-switch button{padding:7px 18px;font-size:11px}.recommendation{grid-template-columns:1fr;min-height:0;padding:20px}.recommendation h2{font-size:25px}.recommendation .kit-visual{grid-row:2;max-width:300px;margin:10px auto 0}.recommendation .kit-visual img{max-height:210px}.song-banner{gap:13px;padding:16px}.song-icon{width:44px;height:44px}.song-banner strong{font-size:20px}.song-banner small,.song-banner>span:nth-child(2)>span{font-size:11px}.song-scenery{opacity:.5;width:40%}.achievement-card{gap:12px;padding:18px}.achievement-card h3{font-size:16px}.achievement-symbol{width:40px;height:40px}.practice-title{font-size:28px}.practice-toolbar{align-items:stretch}.segmented{flex:none;gap:4px;width:100%}.segmented button{padding:11px 8px;font-size:10px}.practice-toolbar>label{width:100%;font-size:11px}.practice-toolbar select{width:100%}.practice-stage{flex-direction:column;align-items:stretch;gap:15px;display:flex}.compact-score .score-row{min-width:345px;grid-template-columns:80px repeat(var(--steps,8), minmax(29px, 1fr))!important}.compact-score .score-row>span{height:55px}.compact-score .score-row>span:first-child{font-size:12px}.compact-score .note{width:27px;height:27px;font-size:22px}.practice-stage .kit-visual{width:80%;max-width:340px;margin:auto}.kit-label{font-size:11px}.practice-guidance{grid-template-columns:1fr 1fr;gap:10px;display:grid}.practice-guidance .performance-display{padding:10px 10px 30px}.practice-guidance .performance-display strong{font-size:17px}.practice-guidance progress{width:40%;right:4%}.practice-tip{padding:10px}.practice-tip h3{font-size:12px}.practice-tip p{font-size:10px}.practice-card>.controls>.primary{width:100%;font-size:17px}.branch-overview{padding:20px 12px}.branch-root{gap:7px;padding:11px;font-size:13px}.branch-root span{font-size:9px}.branch-options{gap:7px}.branch-option button{justify-items:center;gap:4px;padding:9px 5px;display:grid}.branch-option strong,.branch-option p{font-size:10px}.branch-option small{font-size:9px}.tree-tabs{gap:7px}.tree-tab{min-width:90px;padding:9px;font-size:11px}.card{padding:19px}.welcome-bottom{grid-template-columns:1fr}.full-score .score-scroll{overflow-x:auto}.topbar button{padding:6px}}.kit-visual .kit-label{color:#10234e;border-style:solid;border-width:1px;border-radius:8px;justify-content:normal;align-items:normal;width:auto;height:auto;display:block;bottom:auto;right:auto;box-shadow:0 2px 4px #10234e0a}.compact-score .part-snare .note,.compact-score .part-kick .note{color:#0000}.pwa-controls{color:#647b91;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:18px;font-size:11px;display:flex}.pwa-controls button{padding:5px 10px;font-size:11px}.pwa-controls p{background:#f1f8fb;border-radius:9px;flex-basis:100%;margin:0;padding:12px}.midi-fallback{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.midi-fallback button{flex:none}@media (width<=760px){.sidebar nav{scrollbar-width:thin}.sidebar nav button,button{min-height:44px}.pwa-controls{font-size:10px}.pwa-controls button{min-height:36px}.practice-card .controls>label{min-width:0}.tree-tabs{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.tree-tab{min-width:0}.practice-score-panel{width:100%;min-width:0}.compact-score .score-scroll{max-width:100%;overflow-x:auto}}
