.runner-module{--runner-green: #28594b;--runner-line: #e0e8d6}.runner-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.runner-heading h1{font-size:26px;letter-spacing:1px}.runner-heading input.runner-title{font-size:25px;font-weight:650;border:1px solid transparent;background:none;padding:4px 0;border-radius:5px;width:min(500px,100%)}.runner-heading input.runner-title:hover{border-color:#dce5d0}.runner-heading p{font-size:11px;color:#819174;margin-top:7px}.runner-heading p span{font-size:10px;color:#9aa58b}.runner-heading-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.runner-stage-card{background:#fffefa;border:1px solid var(--runner-line);border-radius:14px;overflow:hidden}.runner-stage-top{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #edf0e6;gap:12px;flex-wrap:wrap}.runner-stage-tag{display:flex;align-items:center;gap:8px;font-size:12px;color:#6d8158}.runner-view-options{display:flex;gap:12px;align-items:center}.runner-view-options label{display:flex;align-items:center;gap:5px;font-size:10px;color:#849576;white-space:nowrap}.runner-view-options select{width:auto;font-size:10px;padding:5px 7px}.runner-view-options .runner-check{gap:3px}.runner-check input,.runner-global-controls input[type=checkbox],.runner-part-mutes input{accent-color:#648654}.runner-stage{position:relative;background:#fafcf5;padding-top:31px;overflow:hidden;--position: var(--resting-position, 0);--beat-spacing: 120px;--playhead: 35%}.runner-lane{position:relative;height:190px;border-bottom:1px solid #e6eddb;overflow:hidden}.runner-lane-name{position:absolute;top:9px;left:15px;z-index:6;display:flex;align-items:center;gap:7px;background:#fafcf5e8;padding:4px 8px;border-radius:6px;font-size:12px;color:#687f52}.runner-lane-name b{border:1px solid #cedbbb;border-radius:4px;padding:2px 5px;font-size:10px}.runner-lane-name span{font-size:9px;color:#b29365}.runner-time{position:absolute;left:22px;top:77px;font-family:Georgia,serif;font-size:27px;line-height:.9;color:#778b63;z-index:4;background:transparent;padding:0 7px;display:flex;flex-direction:column;gap:5px}.runner-rails{position:absolute;left:0;right:0;top:104px;display:flex;flex-direction:column;gap:11px}.runner-rails>i{height:1px;background:#cbd8be;width:100%}.runner-belt{position:absolute;left:var(--playhead);top:0;height:100%;width:1px;transform:translate3d(calc(-1 * var(--position) * var(--beat-spacing)),0,0);will-change:transform}.runner-event{position:absolute;top:60px;width:86px;transform:translate(-50%);text-align:center;color:#5d774a}.runner-symbol{height:76px;display:flex;justify-content:center;align-items:center}.runner-symbol>img{height:76px;width:76px;object-fit:contain;filter:drop-shadow(0 3px 2px #4e603714)}.runner-symbol>img.small-note{height:62px;width:62px}.runner-event strong{display:block;margin-top:5px;font-size:14px;font-family:Georgia,serif;font-style:italic;letter-spacing:1px}.runner-glyph{width:58px;height:76px;fill:currentColor;color:#58714a}.runner-symbol .runner-glyph{background:transparent}.runner-event.rest-event{color:#9c947a}.runner-cue{position:absolute;top:-35px;left:28px;width:30px;height:32px;object-fit:contain}.runner-event.at-hit .runner-symbol{background:transparent;box-shadow:none}.runner-event.at-hit .runner-cue{animation:runner-cue-bounce .28s ease-out}.runner-event.at-hit strong{color:#315d36}.runner-hit-zone{position:absolute;left:var(--playhead);top:29px;bottom:0;width:34px;margin-left:-17px;background:#adc68725;border-left:1px solid #b9cd9a55;border-right:1px solid #b9cd9a55;z-index:5;pointer-events:none}.runner-hit-zone>i{position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:2px;background:#6b9255}.runner-hit-zone>span{position:absolute;top:-25px;left:50%;transform:translate(-50%);background:#e3ecd6;color:#5b784a;font-size:10px;white-space:nowrap;padding:4px 12px;border-radius:5px}.runner-stage-footer{padding:11px 19px;display:flex;justify-content:space-between;gap:15px;color:#819273;font-size:10px}.runner-stage-footer>span:first-child{display:flex;align-items:center;gap:6px}.runner-transport{display:flex;align-items:center;gap:22px;margin-top:15px;background:#fff;border:1px solid var(--runner-line);border-radius:12px;padding:16px 20px}.runner-transport>.play-btn{flex:0 0 180px}.runner-tempo{display:flex;align-items:center;gap:8px}.runner-tempo>button{border:1px solid #dfe7d5;border-radius:6px;background:#fafcf6;width:30px;height:30px;color:#7b8f65}.runner-tempo>label{display:flex;align-items:center;flex-direction:column}.runner-tempo label input{width:67px!important;text-align:center;font-size:24px!important;padding:0!important;border:0!important;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;font-family:Georgia,serif;background:transparent!important}.runner-tempo input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.runner-tempo label span{font-size:8px;letter-spacing:1px;color:#a1ac94}.runner-global-controls{display:flex;align-items:center;gap:17px;flex:1;justify-content:flex-end}.runner-global-controls label{display:flex;align-items:center;font-size:11px;color:#7c8f69;white-space:nowrap;gap:4px}.runner-global-controls label:has(input[type=range]){width:100px}.runner-global-controls input[type=range]{width:75px}.runner-part-mutes{display:flex;gap:17px;align-items:center;margin:14px 0 22px}.runner-part-mutes label{display:flex;gap:8px;align-items:center;font-size:11px;color:#70825d;background:#f0f4e8;padding:7px 12px;border-radius:8px}.runner-clock-note{font-size:10px;color:#a0ac93;margin-left:auto}.runner-composer{background:#fff;border:1px solid var(--runner-line);border-radius:13px;padding:23px}.runner-composer-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.runner-composer-head h2{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600}.runner-composer-head p{font-size:10px;line-height:1.8;color:#94a083;margin-top:7px}.runner-composer-actions{display:flex;align-items:center;gap:7px}.runner-part-editor{display:flex;align-items:center;gap:13px;margin-bottom:20px}.runner-part-editor>input{width:140px!important;font-size:11px!important;padding:8px!important;margin-left:auto}.runner-part-editor>select{width:100px;font-size:11px;padding:8px}.runner-tools{display:flex;gap:8px;margin-bottom:15px;flex-wrap:wrap}.runner-tools>button{display:flex;align-items:center;gap:6px;padding:9px 12px;background:#fafcf6;border:1px solid #e2e8d9;border-radius:8px;font-size:11px;color:#83946e}.runner-tools>button.selected{background:#eef4e2;border-color:#96ae74;color:#506e3d;box-shadow:0 0 0 1px #b6c99a33}.runner-tools .runner-glyph{height:28px;width:24px}.runner-tools small{font-size:9px;margin-left:3px;color:#a1ad91}.runner-materials{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-bottom:17px;border-bottom:1px solid #e9eedf;margin-bottom:21px}.runner-materials>button:not(.text-btn){display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #e3e9d9;border-radius:7px;padding:5px 9px;font-size:10px;color:#7b8e65}.runner-materials>button.selected{background:#f1f6e7;border-color:#9bb280}.runner-materials>button>img{width:27px;height:29px;object-fit:contain}.runner-cue-select{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:10px;color:#8a9a78}.runner-cue-select>select{width:130px;font-size:10px;padding:7px}.runner-bars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.runner-edit-bar{min-width:0}.runner-edit-bar-title{display:flex;justify-content:space-between;margin-bottom:8px;font-size:11px;color:#70845b}.runner-edit-bar-title small{font-size:9px;color:#a6b095}.runner-edit-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:83px;position:relative;border:1px solid #dfe7d4;border-radius:8px;overflow:visible;background:#fbfcf8}.runner-empty-slot{grid-row:1;background:none;border:0;border-right:1px dashed #e1e8d6;color:#b6c3a4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:5px}.runner-empty-slot:nth-child(2n){background:#f1f5e92e}.runner-empty-slot small{font-size:9px;align-self:flex-start}.runner-empty-slot:hover:not(:disabled){background:#eaf2dc}.runner-edit-note{grid-row:1;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;border:1px solid #d7e2c8;border-radius:6px;margin:3px 2px;background:#f5f8ec;color:#7a8e63;min-width:0;padding:3px 0;gap:2px;z-index:2}.runner-edit-note:hover:not(:disabled){border-color:#9bb97a;background:#edf5df}.runner-edit-note.is-rest{background:#f7f4ed;border-color:#e9e1cf}.runner-edit-note>img,.runner-pair{height:47px;max-width:90%;width:80%;object-fit:contain}.runner-pair{display:flex;align-items:center;justify-content:center;gap:3px}.runner-pair img{height:43px;width:45%;object-fit:contain}.runner-pair.snow-pair{position:relative}.runner-pair.snow-pair img{position:absolute;height:35px;width:35px;left:calc(50% - 17.5px);top:16px}.runner-pair.snow-pair img:last-child{top:-1px}.runner-edit-note>small{font-family:Georgia,serif;font-style:italic;font-size:11px}.runner-edit-note>img.runner-edit-cue{position:absolute;width:21px;height:21px;right:2px;top:-12px;z-index:3}.runner-editor-status{display:flex;align-items:center;gap:7px;font-size:11px;color:#ad9264;margin-top:20px}.runner-editor-status.ready{color:#789363}.presentation .runner-heading{margin-bottom:18px}.presentation .runner-stage-top{padding:16px 22px}.presentation .runner-stage-tag{font-size:15px}.presentation .runner-lane{height:220px}.presentation .runner-event{top:76px}.presentation .runner-rails{top:120px}.presentation .runner-time{top:92px;font-size:33px}.presentation .runner-lane-name{font-size:14px}.presentation .runner-event strong{font-size:20px}.presentation .runner-symbol{height:85px}.presentation .runner-symbol>img{height:85px;width:85px}.presentation .runner-symbol>img.small-note{height:72px;width:72px}.presentation .runner-transport{max-width:1100px;margin:16px auto 0}.presentation .runner-part-mutes{max-width:1100px;margin:14px auto}.presentation .runner-heading h1{font-size:27px}.presentation .runner-module{max-width:1700px;margin:auto}@keyframes runner-cue-bounce{0%{transform:translateY(0)}40%{transform:translateY(-9px)}to{transform:translateY(0)}}@media(max-width:1250px){.runner-heading input.runner-title{font-size:22px;width:320px}.runner-heading-actions .btn{font-size:10px;padding:9px}.runner-transport{gap:13px;padding:13px}.runner-transport>.play-btn{flex-basis:150px}.runner-global-controls{gap:8px}.runner-global-controls label{font-size:10px}.runner-global-controls label:has(input[type=range]){width:65px}.runner-global-controls input[type=range]{width:45px}.runner-part-editor{flex-wrap:wrap}.runner-part-editor>input{margin-left:0}.runner-cue-select{margin-left:0}.runner-tools>button{padding:8px;font-size:10px}.runner-composer{padding:18px}}@media(max-width:1024px){.runner-heading{align-items:flex-start}.runner-heading-actions{max-width:280px}.runner-heading input.runner-title{font-size:20px;max-width:260px}.runner-stage-top{padding:12px 15px}.runner-stage-tag{font-size:11px}.runner-view-options{gap:7px}.runner-view-options label{font-size:9px}.runner-view-options select{padding:5px;font-size:9px}.runner-transport{flex-wrap:wrap}.runner-global-controls{flex:1;justify-content:flex-start}.runner-bars{grid-template-columns:1fr}.runner-part-mutes{flex-wrap:wrap;gap:10px}.runner-clock-note{font-size:9px}.runner-composer-head{align-items:flex-start;flex-wrap:wrap}.runner-composer-head p{font-size:9px}.runner-composer-actions{margin-left:auto}.runner-stage-footer{font-size:9px}.runner-stage-footer>span:last-child{white-space:nowrap}}@media(max-width:760px){.runner-heading{flex-wrap:wrap;gap:14px}.runner-heading input.runner-title{max-width:95vw}.runner-heading-actions{max-width:100%;gap:5px}.runner-heading-actions .btn{font-size:9px;padding:8px}.runner-heading p{font-size:10px}.runner-stage-top{gap:10px}.runner-stage-tag{font-size:10px}.runner-view-options{flex-wrap:wrap}.runner-view-options label,.runner-view-options select{font-size:8px}.runner-event{width:64px}.runner-symbol>img{height:60px;width:60px}.runner-symbol>img.small-note{height:49px;width:49px}.runner-symbol{height:64px}.runner-event strong{font-size:11px}.runner-time{left:8px;font-size:23px}.runner-stage-footer{font-size:8px;padding:10px;line-height:1.8}.runner-stage-footer>span:first-child{align-items:flex-start}.runner-transport{gap:10px}.runner-transport>.play-btn{flex:1 0 150px;font-size:11px}.runner-tempo label input{font-size:23px!important;width:55px!important}.runner-global-controls{flex-basis:100%;gap:13px;justify-content:space-between}.runner-global-controls label{font-size:9px}.runner-part-mutes label{font-size:9px;padding:6px 8px;gap:6px}.runner-clock-note{margin:0}.runner-composer{padding:14px}.runner-composer-head h2{font-size:14px}.runner-composer-actions .btn{font-size:9px;padding:8px}.runner-part-editor{gap:8px}.runner-part-editor>input{width:110px!important;font-size:10px!important}.runner-part-editor>select{font-size:10px;width:100px}.runner-tools{gap:6px}.runner-tools>button{font-size:9px;padding:7px;gap:3px}.runner-tools small{display:none}.runner-tools .runner-glyph{height:24px;width:19px}.runner-materials{gap:6px}.runner-materials>button:not(.text-btn){font-size:9px;padding:4px 6px}.runner-materials>button>img{width:24px;height:25px}.runner-cue-select>select{font-size:9px}.runner-empty-slot small{font-size:8px}.runner-edit-note>img,.runner-pair{height:39px}.runner-pair img{height:34px}.runner-edit-grid{grid-template-rows:74px}.runner-edit-note>small{font-size:9px}.runner-pair.snow-pair img{height:29px;width:29px;left:calc(50% - 14.5px);top:13px}.runner-pair.snow-pair img:last-child{top:-1px}.runner-editor-status{font-size:10px}.presentation .runner-heading h1{font-size:22px}.presentation .runner-view-options label{font-size:9px}.presentation .runner-stage-tag{font-size:12px}.presentation .runner-lane{height:190px}.presentation .runner-event{top:62px}.presentation .runner-symbol>img{height:67px;width:67px}.presentation .runner-symbol>img.small-note{height:54px;width:54px}.presentation .runner-event strong{font-size:15px}.presentation .runner-rails{top:105px}.presentation .runner-time{top:78px;font-size:28px}}@media(prefers-reduced-motion:reduce){.runner-event.at-hit .runner-cue{animation:none}}.runner-library-preview{display:flex;align-items:center;justify-content:center;gap:10px;flex:1;color:#799763;flex-wrap:wrap}.runner-library-preview>span{font-size:14px;font-weight:600}.runner-library-preview>strong{font-size:10px;font-weight:400;flex-basis:100%}.runner-module .runner-stage-tag svg{color:#849d66}.runner-module input[type=checkbox]{width:13px;height:13px;accent-color:#6b8d57}.runner-barline{position:absolute;top:38px;height:138px;width:1px;pointer-events:none;color:#9cad89}.runner-barline>i{position:absolute;top:16px;bottom:0;left:0;width:1px;background:#c4d2b4}.presentation .runner-barline{top:46px;height:159px}@media(min-width:1100px)and (max-height:850px){.presentation .runner-heading{margin-bottom:12px}.presentation .runner-heading h1{font-size:24px}.presentation .runner-stage-top{padding:11px 18px}.presentation .runner-lane{height:174px}.presentation .runner-event{top:52px}.presentation .runner-rails{top:97px}.presentation .runner-time{top:70px}.presentation .runner-barline{top:31px;height:132px}.presentation .runner-stage-footer{padding:9px 17px}.presentation .runner-transport{padding:11px 16px;margin-top:12px}.presentation .runner-part-mutes{margin-top:10px;margin-bottom:0}}.runner-time .time-signature-art{width:29px;height:62px;object-fit:contain}.runner-symbol{position:relative}.runner-symbol>img.music-symbol-art{width:58px;height:76px;object-fit:contain;filter:none}.runner-linked-glyph{position:absolute;left:50%;pointer-events:none}.runner-linked-half{position:absolute;top:0;overflow:hidden}.runner-linked-half>img{position:absolute;left:0;top:0;max-width:none}.runner-linked-beam{position:absolute;background:#000}.runner-status-star{width:20px;height:20px;object-fit:contain}.runner-tools .runner-cue-tool{height:24px;width:26px;object-fit:contain}.runner-cue-preview{height:32px;width:34px;object-fit:contain}.runner-cue{width:36px;height:36px}.runner-beat-cell{position:absolute;top:44px;bottom:13px;width:calc(var(--beat-spacing) - 6px);border:0;border-radius:7px;background:#eaf0e1;pointer-events:none}.runner-stage.notation-mode .runner-symbol{height:76px}.runner-stage.notation-mode .runner-symbol>.runner-glyph{height:76px;width:58px}.runner-event.at-hit strong{text-shadow:0 0 5px #8fae6e55}.runner-event .runner-symbol>img,.runner-event .runner-symbol>svg,.runner-linked-half,.runner-linked-beam{opacity:.4}.runner-event strong{opacity:.5}.runner-event.at-hit .runner-symbol>img,.runner-event.at-hit .runner-symbol>svg,.runner-linked-half.is-active,.runner-linked-beam.is-active,.runner-event.at-hit strong{opacity:1}.runner-event.at-hit strong{color:#172e19;text-shadow:none}.runner-event.at-hit .runner-symbol>svg{color:#172e19}.runner-beat-cell.alternate{background:#f0f4e9}.runner-beat-cell.is-current{background:#d6e6c3}.runner-barline>i{display:none}.runner-stage-card[data-full] .runner-stage .runner-lane{height:656px}.runner-stage-card[data-full] .runner-stage .runner-event{top:116px}.runner-stage-card[data-full] .runner-stage .runner-beat-cell{top:96px;bottom:20px;border-radius:20px}.runner-stage-card[data-full] .runner-stage .runner-symbol,.runner-stage-card[data-full] .runner-stage.notation-mode .runner-symbol{height:var(--runner-symbol-height, 416px)}.runner-stage-card[data-full] .runner-stage .runner-symbol>img{width:var(--runner-symbol-height, 416px);height:var(--runner-symbol-height, 416px)}.runner-stage-card[data-full] .runner-stage.notation-mode .runner-symbol>.runner-glyph{width:calc(var(--runner-symbol-height, 416px) * .764);height:var(--runner-symbol-height, 416px)}.runner-stage-card[data-full] .runner-stage .runner-event strong{font-size:50px;margin-top:16px}.runner-stage-card[data-full] .runner-stage .runner-cue{width:96px;height:96px;left:calc(50% - 48px);top:-108px}.runner-stage-card[data-full] .runner-stage .runner-rails{top:228px}.runner-stage .runner-time{top:86px;height:42px;width:auto;aspect-ratio:var(--meter-aspect, 648 / 1630);padding:0;display:block;overflow:hidden}.runner-stage-card[data-full] .runner-stage .runner-time{top:50%;transform:translateY(-50%);height:min(415px,35.2vw);width:auto;aspect-ratio:var(--meter-aspect, 648 / 1630);padding:0;display:block;overflow:hidden;background:transparent}.runner-stage .time-signature-art{position:absolute;left:var(--meter-left);top:var(--meter-top);width:var(--meter-width);height:var(--meter-height);max-width:none;object-fit:contain}@media(max-width:700px){.runner-stage-card[data-full] .runner-stage .runner-time{left:8px}.runner-stage-card[data-full] .runner-stage .runner-lane{height:380px}.runner-stage-card[data-full] .runner-stage .runner-event{top:108px}.runner-stage-card[data-full] .runner-stage .runner-event strong{font-size:42px}.runner-stage-card[data-full] .runner-stage .runner-cue{width:80px;height:80px;left:calc(50% - 40px);top:-92px}}.runner-stage .runner-event{width:var(--beat-spacing)}.runner-stage .runner-event.eighth-event:not(.rest-event){width:calc(var(--beat-spacing) / 2)}.runner-stage .runner-symbol{overflow:visible}.runner-stage .runner-symbol>img{flex:0 0 auto;max-width:none}.runner-stage .runner-symbol,.runner-stage.notation-mode .runner-symbol{height:var(--runner-symbol-height, 76px)}.runner-stage .runner-symbol>img{width:var(--runner-symbol-height, 76px);height:var(--runner-symbol-height, 76px)}.runner-stage.notation-mode .runner-symbol>.runner-glyph{width:calc(var(--runner-symbol-height, 76px) * .764);height:var(--runner-symbol-height, 76px)}.runner-stage .runner-cue{left:calc(50% - 18px)}.runner-stage-card[data-full] .runner-stage .runner-cue{left:calc(50% - 48px)}@media(max-width:700px){.runner-stage-card[data-full] .runner-stage .runner-cue{left:calc(50% - 40px)}}.runner-count-cell{display:grid;place-items:center;color:#344d35;font-size:clamp(24px,calc(var(--runner-symbol-height) * .65),140px);font-weight:700;font-variant-numeric:tabular-nums}.runner-stage .runner-event.eighth-event:not(.rest-event) .runner-symbol{align-items:flex-end}.runner-stage .eighth-event:not(.rest-event) .runner-symbol>:is(img.small-note,svg.runner-glyph){width:calc(var(--runner-symbol-height) / 2);height:calc(var(--runner-symbol-height) / 2);object-fit:contain}.runner-stage-card:not([data-full]) .runner-lane{height:calc(var(--workbench-note-height) + 125px)}.runner-stage-card:not([data-full]) .runner-event{top:58px}.runner-natural-pair{position:absolute;bottom:0;display:block}.runner-natural-pair img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;opacity:.4}.runner-natural-pair img.is-active{opacity:1}.runner-stage-card[data-full]{display:flex;flex-direction:column;width:100%;height:100%;border:0;border-radius:0}.runner-stage-card[data-full] .runner-stage{flex:1;display:flex;flex-direction:column;min-height:0}.runner-stage-card[data-full] .runner-stage .runner-lane{flex:1;min-height:0;height:auto}.runner-stage-card[data-full] .runner-stage .runner-event{top:19%}.runner-stage-card[data-full] .runner-stage .runner-event strong{font-size:clamp(16px,calc(var(--runner-symbol-height) * .13),54px);margin-top:2px}.runner-stage-card[data-full] .runner-stage .runner-cue{width:calc(var(--runner-symbol-height) * .2);height:calc(var(--runner-symbol-height) * .2);left:calc(50% - var(--runner-symbol-height) * .1);top:calc(var(--runner-symbol-height) * -.21)}.runner-stage-card[data-full] .runner-stage .runner-beat-cell{top:14%;bottom:3%}.runner-stage-card[data-full] .runner-stage .runner-time{height:var(--runner-symbol-height)}.runner-stage-card[data-full] .runner-view-options{flex-wrap:wrap}.runner-stage-card[data-full] .runner-stage-footer{display:none}.runner-stage-card[data-full]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000}body:has(.runner-stage-card[data-full]){overflow:hidden}:root{font-family:PingFang TC,Microsoft JhengHei,Noto Sans TC,system-ui,sans-serif;color:#303e36;background:#f8f9f5;font-synthesis:none;font-weight:400;--green: #28594b;--green-soft: #edf3eb;--muted: #899087;--line: #e7eae2;--cream: #fff9ed;--orange: #e7a751}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a7ba87;outline-offset:3px}button{color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}input,select{min-width:0}input:not([type=checkbox]):not([type=range]),select{border:1px solid #dfe4da;background:#fff;border-radius:8px;padding:11px 12px;color:#35473b;width:100%;outline-offset:2px}input::placeholder{color:#a4aaa0}input[type=range]{accent-color:var(--green);cursor:pointer}form>label,.form-grid>label{display:flex;flex-direction:column;gap:9px;font-size:13px;font-weight:600;margin-top:19px}label select{font-weight:400}svg{flex-shrink:0}button{transition:background .15s,box-shadow .15s,transform .15s}button:active:not(:disabled){transform:translateY(1px)}.app{display:flex;min-height:100vh}.sidebar{width:232px;flex-shrink:0;background:#fffefb;border-right:1px solid var(--line);padding:29px 20px 0;position:fixed;inset:0 auto 0 0;z-index:10;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;font-size:20px;font-weight:750;letter-spacing:1px;white-space:nowrap}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:5px;font-weight:600;color:#8e978a}.brand-mark{position:relative;display:flex;align-items:center;justify-content:center;width:43px;height:43px;background:var(--green);color:#fff4d7;border-radius:14px 14px 14px 5px;flex-shrink:0}.brand-mark i{width:8px;height:8px;position:absolute;right:-3px;top:0;background:#e4af57;border:2px solid #fffefb;border-radius:50%}.workspace-label{font-size:10px;letter-spacing:1.2px;color:#94998e;margin:22px 4px 34px;display:flex;justify-content:space-between;align-items:center}.workspace-label span{font-size:9px;letter-spacing:0;background:#f1f2eb;border-radius:4px;padding:3px 5px;color:#8f978a}.nav-section{font-size:10px;color:#9a9f94;letter-spacing:1.5px;margin:0 11px 13px}.sidebar nav>button{border:0;background:none;display:flex;align-items:center;text-align:left;gap:13px;width:100%;padding:14px 15px;margin-bottom:7px;color:#737d72;font-size:13px;border-radius:9px}.sidebar nav>button.selected{color:var(--green);background:#edf3e9;font-weight:650}.sidebar nav>button:hover{background:#f2f5ed}.sidebar nav .nav-section{margin-top:30px}.nav-dot{margin-left:auto;background:var(--green);border-radius:50%;width:5px;height:5px}.sidebar-bottom{margin-top:auto;padding-top:36px}.teacher-note{background:#f5f2e7;border:1px solid #ece8d8;border-radius:12px;position:relative;padding:16px 13px;margin:0 3px 22px;overflow:hidden}.tiny-sun{color:#ae975a;margin-bottom:13px;display:block}.teacher-note strong{display:block;font-size:11px;color:#737451;white-space:nowrap}.teacher-note p{font-size:10px;line-height:1.9;color:#929279;margin-top:9px}.note-line{position:absolute;right:-18px;bottom:0;border:1px solid #e3ddc7;border-radius:50%;width:85px;height:85px}.profile{border:0;border-top:1px solid var(--line);background:none;padding:18px 2px;display:flex;align-items:center;gap:10px;text-align:left;width:100%;font-size:12px;font-weight:600}.profile small{display:block;color:#98a08e;font-size:9px;margin-top:5px;font-weight:400}.profile>svg{margin-left:auto;color:#969e91}.avatar{display:flex;justify-content:center;align-items:center;flex-shrink:0;border-radius:50%;width:35px;height:35px;background:#e9eee0;color:#687454;font-size:14px;font-weight:600}.avatar.large{width:62px;height:62px;font-size:22px}.main-shell{margin-left:232px;width:calc(100% - 232px);min-width:0}.topbar{height:68px;border-bottom:1px solid var(--line);background:#fffefb;display:flex;align-items:center;justify-content:space-between;padding:0 38px;font-size:11px}.topbar>div{display:flex;align-items:center;gap:13px}.topbar strong{font-weight:500}.breadcrumb{color:#9aa194}.topbar svg{color:#99a18f}.connection{font-size:10px;color:#8c9789;display:flex;align-items:center;gap:7px;margin-right:13px}.connection i{width:5px;height:5px;background:#82956a;border-radius:50%}main{max-width:1600px;margin:0 auto;padding:31px 38px 18px}.page-intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;gap:20px}.eyebrow{display:flex;align-items:center;gap:6px;font-size:9px;letter-spacing:1.6px;color:#8e9b7c;margin-bottom:10px;font-weight:550}.page-intro h1{font-size:29px;letter-spacing:1.1px;line-height:1.6;font-weight:650;color:#344a3b}.page-intro h1>span{color:#d4a357}.page-intro p{color:#92998e;font-size:11px;margin-top:5px;letter-spacing:.4px}.btn{border:1px solid transparent;border-radius:8px;padding:11px 17px;font-weight:550;font-size:12px;display:inline-flex;gap:8px;align-items:center;justify-content:center;white-space:nowrap}.btn.primary{background:var(--green);color:#fffef2}.btn.primary:hover{background:#1d493c}.btn.light{background:#eef1e7;color:#65745a;border-color:#e5e9dc}.btn.outline{background:#fff;border-color:#dfe5d9;color:#617258}.btn.small{font-size:10px;padding:9px 12px}.btn.danger{color:#b4594e;background:#fff2ed;border-color:#f1dad3}.text-btn{display:inline-flex;gap:6px;align-items:center;justify-content:center;font-size:10px;border:0;background:none;padding:5px 0;color:#87927b;white-space:nowrap}.text-btn.green{color:var(--green);font-weight:550}.text-btn:hover{color:#254f3e}.activity-tabs{display:flex;gap:8px;align-items:center;margin-bottom:19px}.activity-tabs>button{border:1px solid transparent;background:none;color:#8e9786;display:flex;align-items:center;gap:9px;padding:11px 18px;border-radius:8px;font-size:12px;font-weight:550;white-space:nowrap}.activity-tabs>button.active{background:var(--green);color:#fffef5;box-shadow:0 3px 8px #28594b12}.tab-tag{font-size:8px;margin-left:9px;opacity:.5;font-weight:400}.tabs-tail{display:flex;align-items:center;gap:8px;color:#a5ad9c;font-size:10px;letter-spacing:.4px;margin-left:auto;white-space:nowrap}.board-panel{background:#fff;border:1px solid #e3e7de;border-radius:13px;box-shadow:0 4px 20px #43523803;overflow:hidden}.board-header{display:flex;justify-content:space-between;align-items:center;padding:22px 25px 17px;border-bottom:1px solid #f0f1ec;gap:15px}.board-header>div:first-child{display:flex;gap:11px;align-items:center;min-width:0}.mini-tag{font-size:9px;padding:5px 8px;background:#f1f4eb;border-radius:5px;color:#82916b;white-space:nowrap}.board-header input.title-input{font-size:15px;letter-spacing:.4px;font-weight:650;border:1px solid transparent;padding:4px;width:220px;max-width:100%;color:#3e4d3d;background:transparent;border-radius:4px}.board-header input.title-input:hover,.board-header input.title-input:focus{border-color:#e2e7d9}.save-status{font-size:9px;color:#a2ac99;white-space:nowrap;display:flex;align-items:center;gap:5px}.save-status i{height:4px;width:4px;background:#a5b28e;border-radius:50%}.save-status.unsaved{color:#b89c65}.save-status.unsaved i{background:#cba66a}.board-actions{display:flex;gap:8px}.board-tools{display:flex;justify-content:space-between;align-items:center;padding:13px 25px 0;gap:12px}.board-hint{display:flex;gap:7px;align-items:center;font-size:10px;color:#9ca493}.hint-dot{width:5px;height:5px;border:1px solid #b7c19e;border-radius:50%}.tool-group{display:flex;align-items:center;gap:7px}.icon-btn{padding:6px;border:0;background:transparent;color:#8c987e;border-radius:6px;display:inline-flex;align-items:center;justify-content:center}.icon-btn:hover:not(:disabled){background:#eef2e8}.divider{height:14px;width:1px;background:var(--line);margin:0 5px}.toggle-label{display:inline-flex;align-items:center;gap:7px;position:relative;font-size:10px;color:#87917c;white-space:nowrap;cursor:pointer}.toggle-label>input{position:absolute;opacity:0;width:30px;height:20px;left:0;margin:0;cursor:pointer}.toggle-label>input:focus-visible+.switch{outline:3px solid #afbf98;outline-offset:3px}.switch{width:25px;height:14px;background:#e3e8df;border-radius:20px;position:relative;flex-shrink:0;pointer-events:none}.switch:after{content:"";width:10px;height:10px;left:2px;top:2px;background:#fff;border-radius:50%;position:absolute;box-shadow:0 1px 3px #172c1a10;transition:transform .15s}.toggle-label input:checked+.switch{background:#6f8e62}.toggle-label input:checked+.switch:after{transform:translate(11px)}.toggle-label>span:last-child{display:inline-flex;align-items:center;gap:4px;pointer-events:none}.toggle-label.disabled{opacity:.45}.rhythm-board{padding:21px 23px 17px}.rhythm-row{display:flex;align-items:center;gap:21px}.time-signature{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:32px;flex-shrink:0;color:#4f6148;margin-top:12px}.time-signature strong{font-family:Georgia,serif;font-size:38px;font-weight:700;line-height:.9}.time-signature strong:first-child{padding-bottom:7px;border-bottom:0}.beats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;flex:1;min-width:0}.beat-number{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#a1aa97;margin-bottom:9px;padding:0 3px}.beat-number>span{font-family:Georgia,serif;font-size:14px;font-style:italic;color:#b4bda9}.beat-cell{position:relative;border:1px solid #e7e9df;border-radius:11px;min-height:185px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fcfcf8;transition:border-color .1s,box-shadow .1s}.beat-wrap:nth-child(2n) .beat-cell{background:#fdfaf4;border-color:#eee7dc}.beat-cell:before{content:"";position:absolute;top:11px;left:11px;width:5px;height:5px;border:1px solid #d5ddc8;border-radius:50%}.beat-cell.active{border-color:#68845b!important;box-shadow:0 0 0 3px #8ba56b40;background:#f1f7e9!important}.beat-cell.empty{border-style:dashed;background:#fafbf7}.beat-target{border:0;background:none;display:flex;align-items:center;justify-content:center;width:100%;min-height:140px;padding:10px 7px 0;color:inherit}.beat-target:disabled{opacity:1}.note{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;flex:1;border-radius:7px;padding:2px 0;transition:background .08s}:root{--workbench-note-height: 104px}.note img{width:100%;height:var(--workbench-note-height);object-fit:contain;filter:drop-shadow(0 4px 4px #684c1510)}.quarter img{max-width:145px}.note-label{font-size:10px;font-weight:500;letter-spacing:1px;color:#ad8c5e;margin-top:4px}.eighth .note-label{color:#b18b7f;font-size:9px;letter-spacing:.5px}.eighths{display:flex;align-items:stretch;gap:3px;width:100%;height:131px}.eighths .note{width:50%}.eighth img{height:94px}.note.highlight{background:#e0ebce77}.pending{border:1px dashed #d9d8c3;margin:7px 3px 10px;gap:10px;font-size:9px;color:#b3af97;background:#f9f9f0}.pending span{font-size:9px;white-space:nowrap}.beat-value{color:#b0b59f;font-size:9px;letter-spacing:.5px;margin:12px 0 16px;display:flex;align-items:center;gap:3px}.beat-value>span{font-size:10px;color:#8e9b7a}.beat-value.incomplete{color:#b99a63}.clear-beat{position:absolute;right:7px;top:6px;border:0;background:transparent;color:#b5bca9;z-index:2;border-radius:5px;display:flex;padding:4px}.clear-beat:hover{background:#e9eee0;color:#667b54}.bar-end{align-self:stretch;display:flex;align-items:center;gap:4px;margin-top:27px;opacity:.5}.bar-end i{height:167px;width:1px;background:#9ead90}.bar-end i:last-child{width:3px}.empty-hint{display:flex;align-items:center;justify-content:center;flex-direction:column;color:#bac5aa;gap:11px;min-height:110px}.empty-hint span{font-size:11px;letter-spacing:1px}.empty-hint small{font-size:9px;color:#b8beac}.board-footer{background:#fcfdf9;border-top:1px solid #f1f3eb;padding:14px 25px;display:flex;align-items:center;justify-content:space-between;gap:10px}.readiness{font-size:10px;display:flex;gap:7px;align-items:center;color:#a4aa98}.readiness.complete{color:#83956e}.status-orb{width:17px;height:17px;background:#f0f3e9;color:#8da276;border-radius:50%;display:flex;align-items:center;justify-content:center}.board-footer-actions{display:flex;align-items:center;gap:22px}.bottom-grid{display:grid;grid-template-columns:1fr 1.14fr;gap:18px;margin-top:18px}.materials-panel,.playback-panel{border:1px solid #e4e8dd;background:#fff;border-radius:12px;padding:18px 21px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px}.section-top h2{font-size:12px;font-weight:600;display:flex;align-items:center;gap:8px;letter-spacing:.3px}.step-label{width:20px;height:20px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:#f0f3e8;color:#8a9b70;font-family:Georgia,serif;font-size:11px}.material-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.material-card{display:flex;align-items:center;border:1px solid #e7e9e1;border-radius:8px;background:#fff;padding:12px 9px;gap:5px;text-align:left;position:relative;min-width:0}.material-card.selected{background:#f8faef;border-color:#b2c28d;box-shadow:0 0 0 1px #c2cfaa22}.material-card>img{width:49px;height:55px;object-fit:contain}.material-card strong{font-size:12px;display:block;font-weight:600;color:#627151}.material-card div>span{display:block;font-size:8px;white-space:nowrap;margin-top:6px;color:#a0a58e}.material-card .note-svg{margin-left:auto;width:22px;height:25px;color:#899779;fill:currentColor}.selected-check{position:absolute;top:-1px;right:-1px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;background:#91a66c;border-radius:0 7px;color:#fff}.material-tip{font-size:9px;color:#a6ad9a;margin-top:14px;white-space:nowrap}.material-tip>span{color:#8d9e78;margin-right:6px}.bpm-caption{font-size:8px;letter-spacing:1.5px;color:#a7b29a}.transport-row{display:flex;align-items:center;gap:20px}.play-btn{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--green);color:#fffef2;border:1px solid var(--green);border-radius:8px;padding:14px 20px;flex:1;font-size:13px;font-weight:550;letter-spacing:1px;box-shadow:0 3px 9px #28594b10;white-space:nowrap}.play-btn:hover{background:#1e483a}.play-btn.is-playing{background:#e9eee2;color:var(--green);border-color:#cdd8bb}.tempo-control{display:flex;align-items:center;gap:7px}.tempo-control>button{display:flex;align-items:center;justify-content:center;border:1px solid #e4e8dc;width:28px;height:29px;border-radius:6px;background:#fff;color:#8f9b7d;font-size:15px}.tempo-control label{display:flex;flex-direction:column;align-items:center;gap:0}.tempo-control input[type=number]{width:62px;text-align:center;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield;font-size:26px;font-family:Georgia,serif;border:0;padding:0;font-weight:400;background:none;color:#546448}.tempo-control input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.tempo-control label>span{font-size:8px;letter-spacing:1.5px;color:#a7b099;margin-top:4px}.playback-options{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:19px}.playback-options .toggle-label{font-size:9px;gap:5px}.playback-options .switch{width:23px;height:13px}.playback-options .switch:after{width:9px;height:9px}.playback-options input:checked+.switch:after{transform:translate(10px)}.volume-row{border-top:1px solid #f0f2eb;padding-top:12px;margin-top:14px;display:flex;align-items:center;gap:11px;color:#a9b29c}.volume-row>label{font-size:8px;display:flex;align-items:center;gap:5px;flex:1;white-space:nowrap}.volume-row input{width:100%;min-width:20px;height:3px;margin-left:2px;opacity:.75}.page-footer{display:flex;align-items:center;justify-content:space-between;margin-top:21px;color:#a8b29e;font-size:9px;letter-spacing:.4px}.page-footer span:first-child{display:flex;gap:6px;align-items:center}.notation{height:29px;margin-top:3px}.note-svg{height:31px;width:45px;fill:currentColor;color:#687956}.notation+.beat-value{margin-top:4px;margin-bottom:11px}.ice-wrap .ice-cell{min-height:160px}.ice-cell .note img{height:90px}.ice-cell .eighth img{height:78px}.ice-cell .eighths{height:110px}.cone-art{display:block;width:85px;height:72px;object-fit:fill;margin:-2px auto 0}.ice-cell .beat-value{margin:7px 0 11px}.ice-cell .beat-target{min-height:120px}.part-heading{display:flex;align-items:center;gap:10px;margin-bottom:11px;padding-left:55px}.part-badge{display:inline-flex;width:25px;height:25px;align-items:center;justify-content:center;border-radius:7px;background:#e9eedf;color:#73865e;font-size:12px;font-weight:600;flex-shrink:0}.part-badge.b{background:#f3eadf;color:#b48b58}.part-heading>input{width:160px!important;font-size:12px;font-weight:600;padding:5px 8px!important;border-color:transparent!important}.part-spacer{flex:1}.part-heading>select{width:100px;font-size:10px;padding:5px 8px}.ensemble-board .part-row+.part-row{border-top:1px dashed #e2e7d7;margin-top:20px;padding-top:20px}.ensemble-board .beat-cell{min-height:141px}.ensemble-board .beat-target{min-height:104px;padding-top:5px}.ensemble-board .note img{height:76px}.ensemble-board .note-label{font-size:9px}.ensemble-board .eighths{height:93px}.ensemble-board .beat-value{margin:7px 0 10px}.ensemble-board .beat-number{display:none}.ensemble-board .time-signature,.ensemble-board .bar-end{margin-top:0}.ensemble-board .bar-end i{height:131px}.ensemble-board .cone-art{height:50px;width:58px}.ensemble-board .ice-cell .eighths{height:88px}.reference-block{margin:16px 25px 0;padding:12px 15px;background:#f7f9f2;border:1px solid #e8eddf;border-radius:9px}.row-caption{display:flex;justify-content:space-between;align-items:center;color:#8a9979;font-size:10px;margin-bottom:7px}.compact .time-signature{width:25px}.compact .time-signature strong{font-size:24px}.compact .beat-cell{min-height:99px;border-color:#e4e8da!important}.compact .beat-target{min-height:70px}.compact .note img{height:50px}.compact .eighths{height:67px}.compact .note-label{font-size:8px;margin-top:0}.compact .beat-value{font-size:8px;margin:3px 0 8px}.compact .beat-number{display:none}.compact .beat-cell:before{display:none}.compact .notation{display:none}.matching-results{padding:13px 25px;display:flex;justify-content:space-between;gap:10px;background:#fbfcf8}.matching-results>span{font-size:11px;border-radius:6px;padding:8px 14px;flex:1;text-align:center}.good{color:#5d7b4d;background:#edf4e5}.try{color:#ad8a4f;background:#fbf1da}.count-in{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;justify-content:center;z-index:35;width:175px;height:175px;border-radius:50%;background:#28594bf5;color:#fff9e6;box-shadow:0 0 0 14px #28594b15;pointer-events:none}.count-in small{font-size:12px;letter-spacing:2px}.count-in strong{font-family:Georgia,serif;font-size:80px;line-height:1.2}.count-in>span{font-size:10px;color:#bfd1b5}.presentation .main-shell{margin:0;width:100%;background:#f5f7f0}.presentation main{max-width:1800px;padding:28px 38px}.presentation .board-header h1{font-size:25px}.presentation .save-status,.presentation .board-header .mini-tag{display:none}.presentation .beat-cell{min-height:290px}.presentation .beat-target{min-height:225px}.presentation .note img{height:190px;max-width:230px}.presentation .eighth img{height:170px}.presentation .eighths{height:215px}.presentation .note-label{font-size:18px}.presentation .beat-number{font-size:15px}.presentation .beat-number>span{font-size:22px}.presentation .beat-value{font-size:14px}.presentation .rhythm-row{gap:30px}.presentation .time-signature{width:50px}.presentation .time-signature strong{font-size:60px}.presentation .rhythm-board{padding:30px}.presentation .board-footer{justify-content:center}.presentation .bottom-grid{display:block;max-width:520px;margin:20px auto 0}.presentation .playback-panel{padding:15px 22px}.presentation .section-top,.presentation .tempo-control,.presentation .playback-options,.presentation .volume-row{display:none}.presentation .ice-wrap .cone-art{height:110px;width:120px}.presentation .ensemble-board .beat-cell{min-height:205px}.presentation .ensemble-board .beat-target{min-height:155px}.presentation .ensemble-board .note img{height:135px}.presentation .ensemble-board .eighths{height:155px}.presentation .ensemble-board .beat-value{font-size:11px}.presentation .ensemble-board .note-label{font-size:12px}.presentation .ensemble-board .part-heading{padding-left:80px}.presentation .ensemble-board .cone-art{height:55px;width:60px}.presentation .reference-block .beat-cell{min-height:110px}.presentation .reference-block .beat-target{min-height:75px}.presentation .reference-block .note img{height:55px}.presentation .reference-block .eighths{height:75px}.presentation .reference-block .note-label,.presentation .reference-block .beat-value{font-size:9px}.presentation .reference-block .time-signature strong{font-size:27px}.presentation .reference-block .time-signature{width:26px}.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.search-field{display:flex;gap:10px;align-items:center;width:310px;background:#fff;border:1px solid #e0e6d8;border-radius:9px;padding:0 13px;color:#9aa68b}.search-field input{border:0!important;background:transparent!important;font-size:12px;padding:12px 0!important}.segmented{display:flex;padding:4px;background:#edf1e7;border-radius:9px;gap:4px}.segmented button{background:transparent;border:0;color:#8a967c;font-size:11px;padding:9px 13px;border-radius:6px;display:flex;align-items:center;gap:7px}.segmented button.active{background:#fff;box-shadow:0 1px 5px #43503b0a;color:#436044}.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.work-card{border:1px solid #e1e7d9;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 3px 12px #34472b03}.work-preview{display:flex;align-items:center;gap:6px;width:100%;height:140px;background:#f2f5e9;border:0;padding:18px 17px}.work-preview.iceCream{background:#faf0e3}.mini-time{font-family:Georgia,serif;font-size:23px;line-height:.9;font-weight:700;margin-right:5px;color:#8d9d75}.mini-beat{flex:1;display:flex;align-items:center;justify-content:center;min-width:0;min-height:60px;border:1px solid #dfe6d2;background:#fffffc99;border-radius:7px;color:#b0bda1}.mini-beat img{width:50%;height:51px;object-fit:contain}.mini-beat img:only-child{width:85%}.work-info{padding:19px}.work-info h3{font-size:16px;font-weight:600;margin:12px 0 8px}.work-info>p{font-size:10px;color:#a0aa94}.work-card-actions{display:flex;align-items:center;gap:4px;border-top:1px solid #eff1e9;margin-top:19px;padding-top:10px}.work-card-actions>button:first-child{margin-right:auto}.empty-state{padding:70px 20px;text-align:center;color:#9eac90;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;font-size:13px}.assets-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.asset-card{border:1px solid #e3e8dc;border-radius:12px;overflow:hidden;background:#fff}.asset-preview{height:180px;display:flex;align-items:center;justify-content:center;background-color:#fafbf7;background-image:linear-gradient(45deg,#eef1e799 25%,transparent 25%),linear-gradient(-45deg,#eef1e799 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eef1e799 75%),linear-gradient(-45deg,transparent 75%,#eef1e799 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;position:relative}.asset-preview>img{max-width:85%;max-height:85%;object-fit:contain}.asset-visibility{position:absolute;top:12px;left:12px;font-size:9px;padding:5px 8px;border-radius:5px;color:#94a47f;background:#fff;border:1px solid #e4eada}.asset-visibility.private{color:#b89e76}.asset-info{padding:17px}.asset-info h3{font-size:14px;margin-bottom:9px}.asset-info p{font-size:10px;color:#9aa78b;display:flex;justify-content:space-between;gap:5px}.asset-info p>span{font-size:9px;color:#b3bbaa}.asset-actions{display:flex;align-items:center;gap:15px;border-top:1px solid #edf0e7;margin-top:15px;padding-top:10px}.asset-actions .icon-btn{margin-left:auto}.asset-notice{padding:14px 18px;border:1px solid #e1e8d8;background:#f0f5e9;border-radius:8px;margin-bottom:23px;color:#8a9c77;display:flex;gap:10px;align-items:center;font-size:11px}.disabled-label{position:absolute;bottom:12px;right:12px;background:#9a9d8e;color:#fff;font-size:10px;border-radius:5px;padding:5px 10px}.disabled-asset .asset-preview>img{opacity:.45}.settings-card{background:#fff;border:1px solid #e1e7da;padding:29px;border-radius:13px;max-width:660px}.account-info{display:flex;align-items:center;gap:20px;margin-bottom:25px}.account-info h2{font-size:20px;font-weight:600}.account-info p{color:#97a089;font-size:12px;margin-top:8px}.password-form{max-width:460px}.password-form .btn{margin-top:25px}.field-hint{font-weight:400;color:#a1a78e;font-size:10px}.settings-card hr{margin:30px 0;border:0;border-top:1px solid #e9eddf}.table-panel{background:#fff;border:1px solid #e0e6d7;border-radius:11px;overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px;white-space:nowrap}thead{background:#f5f8f0;color:#98a389}th{font-size:10px;font-weight:500;letter-spacing:.5px;padding:15px 20px}td{padding:17px 20px;border-top:1px solid #edf0e6;color:#78876a}.table-name{display:flex;align-items:center;gap:12px;color:#4c6244}.status-pill{font-size:10px;border-radius:5px;padding:5px 9px}.status-pill.off{background:#f3ebe1;color:#ae8f66}.must-change{margin-left:9px;font-size:9px;color:#b19b71}.target-id{display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis;color:#a4af98;font-size:10px}.table-note{font-size:10px;color:#9aa88a;padding:15px 20px;border-top:1px solid #e9eedd}.audit-detail{display:block;color:#aeb59e;font-size:9px;margin-top:5px}.admin-tip{display:flex;align-items:center;gap:9px;font-size:11px;color:#9bab89;margin-top:24px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#243a2b55;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:50;display:flex;align-items:center;justify-content:center;padding:25px;overflow:auto}.modal{background:#fffefa;border:1px solid #e3e8d9;border-radius:17px;box-shadow:0 20px 80px #19342122;padding:25px;width:480px;max-width:100%;max-height:calc(100dvh - 50px);overflow:auto}.modal.wide{width:720px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.modal-head h2{font-size:20px;font-weight:600;color:#3b553f;letter-spacing:.4px}.modal-copy{font-size:13px;line-height:1.9;color:#8a987c}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:25px;flex-wrap:wrap}.muted{font-size:11px;color:#9aa78c;line-height:1.9}.modal .muted{margin-bottom:6px}.new-choices{display:flex;flex-direction:column;gap:12px}.new-choices>button{border:1px solid #e5e9db;border-radius:10px;padding:18px 14px;display:flex;align-items:center;gap:15px;background:#fbfcf6;text-align:left;color:#8c9e74}.new-choices>button:hover{background:#f1f6e6;border-color:#bbcda0}.new-choices>button>span{flex:1}.new-choices strong{font-size:14px;font-weight:550;color:#5c7551;display:block}.new-choices small{font-size:11px;display:block;color:#a0ae8e;margin-top:7px}.new-choices .part-badge{flex:0 0 30px}.help-content p{font-size:12px;line-height:1.9;color:#8d9c7f;margin-top:20px}.help-content b{color:#657e56;font-weight:550}.help-content .muted{font-size:10px;padding:12px;background:#f0f4e8;border-radius:7px}.mapping-group{margin-top:22px}.mapping-group h3{font-size:12px;color:#718765;padding-bottom:11px;border-bottom:1px solid #e9eddf}.mapping-row{display:flex;align-items:center;gap:15px;margin-top:10px;font-size:11px;color:#86997a}.mapping-row img{width:45px;height:45px;object-fit:contain}.mapping-row>span{flex-shrink:0;width:130px}.mapping-row select{flex:1;font-size:11px}.upload-zone{border:1px dashed #bdcba7;border-radius:10px;background:#f5f8ed;color:#93a47d;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:170px;gap:10px!important;cursor:pointer;position:relative}.upload-zone input{position:absolute;width:100%;height:100%;opacity:0;top:0;right:0;bottom:0;left:0;cursor:pointer}.upload-zone>img{height:150px;max-width:100%;object-fit:contain}.upload-zone strong{font-size:12px;font-weight:500}.upload-zone span{font-size:9px;font-weight:400}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 17px}.upload-form .muted{margin-top:20px}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);z-index:100;display:flex;align-items:center;gap:12px;max-width:min(90vw,760px);background:#fffef8;box-shadow:0 5px 30px #233d2622;border:1px solid #cfddbe;padding:15px 18px;border-radius:10px;color:#71855e;font-size:12px;line-height:1.7}.toast.error{border-color:#e8c3ab;color:#b27c57;background:#fffaf2}.toast.info{color:#998659;border-color:#dfd1ab}.toast>button{border:0;background:none;color:inherit;display:flex;align-items:center;margin-left:8px}.loading-screen{height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:25px;color:#8b9f75;font-size:12px;background:#f8faf3}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-error{font-size:12px;line-height:1.7;color:#b17a58;background:#fcf1e7;padding:11px;border-radius:6px;margin-top:15px}.login-page{min-height:100dvh;display:grid;grid-template-columns:1.08fr 1fr;background:#fffefa}.login-art{background:#ecf0e2;position:relative;padding:40px 55px;overflow:hidden;display:flex;flex-direction:column}.login-art .brand{position:relative;z-index:2}.login-story{position:relative;z-index:2;max-width:480px;margin:auto 0;padding:45px 0}.login-story .eyebrow{color:#8a9b6e;font-size:10px;letter-spacing:2px}.login-story h1{font-size:52px;letter-spacing:3px;line-height:1.6;font-weight:550;color:#3f5c43;margin-top:20px}.login-story em{font-style:normal;color:#ba984b;position:relative}.login-story em:after{content:"";height:8px;border-radius:50%;border-bottom:2px solid #c3a665;position:absolute;left:0;right:0;bottom:-6px}.login-story>p{font-size:13px;line-height:2.1;color:#8c9d79;letter-spacing:.5px;margin-top:23px}.login-fruits{display:flex;gap:12px;margin-top:32px;transform:rotate(-3deg);max-width:410px}.login-fruits>span{background:#fffdf2d9;border:1px solid #e5e6d4;position:relative;border-radius:16px;min-width:0;width:33%;height:132px;display:flex;align-items:center;justify-content:center;box-shadow:0 7px 15px #5b67390a}.login-fruits>span:nth-child(2){transform:translateY(12px) rotate(7deg)}.login-fruits img{height:95px;width:82%;object-fit:contain}.login-fruits img:not(:only-of-type){width:50%;height:75px}.login-fruits i{position:absolute;bottom:8px;left:50%;font-size:18px;font-style:normal;color:#9cae83;transform:translate(-50%)}.login-footer{font-size:10px;color:#9daa8b;display:flex;align-items:center;gap:9px;position:relative;z-index:2}.decor-ring{width:500px;height:500px;border:1px solid #dde3cb;border-radius:50%;position:absolute;right:-330px;top:50%;box-shadow:0 0 0 70px #e4ead520,0 0 0 71px #dde3cb,0 0 0 140px #e4ead520,0 0 0 141px #dde3cb}.decor-star{position:absolute;top:100px;right:70px;font-size:80px;color:#c4ceab;opacity:.5;transform:rotate(10deg)}.login-form-side{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:65px}.login-form{width:100%;max-width:350px}.login-greeting{display:flex;align-items:center;gap:10px;color:#b49d64;font-size:12px;letter-spacing:1px;margin-bottom:19px}.login-form h2{font-size:28px;font-weight:550;color:#3f5642;letter-spacing:1px}.login-form>p{font-size:12px;color:#9da58e;margin-top:12px;margin-bottom:35px}.login-form form>label{font-size:12px;font-weight:500;color:#7f9070;margin-top:23px}.login-form form>label>input{padding:14px;border-radius:8px;background:#fffefa;border-color:#e0e5d6;font-size:13px}.login-submit{width:100%;margin-top:28px;padding:14px;justify-content:space-between}.login-note{border-top:1px solid #e8ebdf;margin-top:33px;padding-top:20px;display:flex;gap:10px;color:#a1ac93;font-size:10px;line-height:1.9}.login-note>svg{margin-top:2px}.login-copyright{font-size:9px;letter-spacing:1px;position:absolute;bottom:30px;color:#b0b8a2}@media(min-width:1550px){main{padding:38px 55px 25px}.page-intro{margin-bottom:35px}.page-intro h1{font-size:34px}.activity-tabs{margin-bottom:25px}.board-header{padding:25px 30px}.board-header input.title-input{width:270px}.beat-cell{min-height:255px}:root{--workbench-note-height: 155px}.note img{height:var(--workbench-note-height)}.quarter img{max-width:175px}.beat-target{min-height:185px}.eighths{height:180px}.eighth img{height:145px}.note-label{font-size:13px}.eighth .note-label{font-size:11px}.beat-value{font-size:11px;margin-top:18px}.beats-grid{gap:23px}.rhythm-board{padding:28px}.board-tools{padding:16px 30px 0}.bar-end i{height:230px}.materials-panel,.playback-panel{padding:24px}.bottom-grid{gap:23px;margin-top:23px}.material-card{padding:15px}.material-card>img{height:67px;width:60px}.material-card strong{font-size:14px}.material-card div>span{font-size:10px}.section-top h2{font-size:14px}.play-btn{padding:18px}.playback-options .toggle-label{font-size:11px}.material-tip{font-size:11px;margin-top:19px}.playback-panel .section-top{margin-bottom:20px}.ensemble-board .beat-cell{min-height:195px}.ensemble-board .beat-target{min-height:140px}.ensemble-board .note img{height:115px}.ensemble-board .eighths{height:138px}}@media(max-width:1250px){.sidebar{width:203px;padding-left:15px;padding-right:15px}.brand{font-size:17px;gap:9px}.brand-mark{width:37px;height:39px}.brand small{font-size:7px;letter-spacing:1.8px}.main-shell{margin-left:203px;width:calc(100% - 203px)}main{padding:27px 25px 18px}.topbar{padding:0 25px}.board-header{padding:18px}.board-header>div:first-child{flex-wrap:wrap;gap:7px}.board-header input.title-input{width:190px;font-size:14px}.save-status{font-size:8px}.board-hint{font-size:9px}.board-tools{padding:12px 18px 0}.rhythm-board{padding:20px 15px 17px}.rhythm-row{gap:13px}.beats-grid{gap:10px}.board-footer{padding:12px 18px}.board-footer-actions{gap:15px}.board-footer .text-btn{font-size:9px}.tabs-tail{display:none}.bottom-grid{gap:13px;grid-template-columns:1fr 1.1fr}.materials-panel,.playback-panel{padding:15px}.material-card{padding:12px 6px;gap:1px}.material-card>img{width:38px}.material-card strong{font-size:11px}.material-card div>span{font-size:7px}.material-card .note-svg{width:16px}.transport-row{gap:10px}.play-btn{padding:14px 12px;font-size:12px}.tempo-control{gap:3px}.tempo-control input[type=number]{width:51px;font-size:23px}.tempo-control>button{width:24px;height:26px}.playback-options{gap:6px}.playback-options .toggle-label{font-size:8px;gap:4px}.volume-row{gap:6px}.volume-row>label{font-size:7px}.teacher-note strong{font-size:10px}.board-header .btn.small{padding:8px 9px;font-size:9px}.works-grid,.assets-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-art{padding:35px}.login-story h1{font-size:44px}.login-form-side{padding:45px}.time-signature{width:26px}.time-signature strong{font-size:33px}.section-top h2{font-size:11px}.section-top .text-btn{font-size:9px}}@media(max-width:1024px){.sidebar{width:170px;padding:24px 12px 0}.brand{font-size:14px;gap:7px;letter-spacing:.5px}.brand small{font-size:6px;letter-spacing:1px}.brand-mark{width:32px;height:35px;border-radius:10px}.brand-mark>svg{width:21px}.workspace-label{font-size:8px;margin-top:19px}.nav-section{font-size:9px}.sidebar nav>button{font-size:11px;gap:9px;padding:12px 10px}.sidebar nav>button svg{width:17px}.teacher-note{padding:12px 9px}.teacher-note strong{font-size:8px}.teacher-note p{font-size:9px}.main-shell{margin-left:170px;width:calc(100% - 170px)}main{padding:24px 20px}.topbar{padding:0 20px;height:60px}.topbar .connection{display:none}.page-intro h1{font-size:25px}.page-intro p{font-size:10px}.page-intro .btn{padding:10px 12px;font-size:10px}.activity-tabs>button{padding:10px 13px;font-size:11px;gap:7px}.tab-tag{margin-left:4px}.board-header>div:first-child{gap:4px}.board-header input.title-input{width:176px;font-size:13px}.save-status{flex-basis:100%;margin-left:4px;margin-top:3px}.board-tools{flex-wrap:wrap;padding-top:10px}.tool-group{margin-left:auto}.beat-cell{min-height:170px}:root{--workbench-note-height: 88px}.note img{height:var(--workbench-note-height)}.eighth img{height:81px}.eighths{height:118px}.beat-target{min-height:125px}.note-label{font-size:9px}.eighth .note-label,.beat-value,.beat-number{font-size:8px}.board-footer{padding:12px 14px;flex-wrap:wrap}.readiness{font-size:9px}.bottom-grid{grid-template-columns:1fr 1.05fr;gap:12px}.material-options{gap:7px}.materials-panel,.playback-panel{padding:13px 11px}.section-top{margin-bottom:13px}.section-top h2{font-size:10px;gap:5px}.material-card{flex-direction:column;justify-content:center;text-align:center;padding:10px 4px}.material-card>img{width:40px;height:40px}.material-card .note-svg{display:none}.material-card div>span{font-size:7px;margin-top:5px}.material-card strong{font-size:10px}.material-tip{font-size:8px;white-space:normal;line-height:1.7;margin-top:9px}.transport-row{gap:8px}.play-btn{font-size:11px;padding:12px 9px;gap:5px}.play-btn svg{width:15px}.tempo-control input[type=number]{font-size:22px;width:42px}.tempo-control>button{width:20px;font-size:12px}.playback-options{display:grid;grid-template-columns:1fr 1fr;gap:12px 8px;margin-top:14px}.volume-row{margin-top:11px;padding-top:9px;flex-wrap:wrap;gap:6px}.volume-row>svg{display:none}.volume-row>label{font-size:7px}.page-footer{font-size:8px;gap:10px}.profile{font-size:11px;gap:7px}.profile small{font-size:8px}.profile .avatar{width:30px;height:30px}.teacher-note{margin-bottom:12px}.table-panel table{font-size:11px}.table-panel th,.table-panel td{padding:12px 15px}.list-toolbar{gap:10px}.search-field{width:260px}.segmented button{font-size:10px;padding:8px 10px}.login-story h1{font-size:39px}.login-fruits>span{height:107px}.login-fruits img{height:78px}.login-fruits img:not(:only-of-type){height:63px}.login-form-side{padding:35px}.login-form h2{font-size:25px}.login-story>p{font-size:11px}.presentation main{padding:20px}.presentation .note img{height:145px}.presentation .eighth img{height:130px}.presentation .eighths{height:175px}.presentation .beat-target{min-height:190px}.presentation .beat-cell{min-height:240px}.presentation .note-label{font-size:13px}}@media(max-width:760px){.sidebar{position:static;width:100%;padding:14px 18px;border-right:0;border-bottom:1px solid var(--line);display:flex;flex-direction:row;align-items:center;justify-content:space-between}.sidebar .workspace-label,.sidebar .nav-section,.sidebar-bottom{display:none}.sidebar .brand{font-size:15px}.sidebar nav{display:flex;gap:4px}.sidebar nav>button{width:auto;margin:0;padding:10px}.sidebar nav>button>span,.sidebar nav>button:nth-of-type(4),.sidebar nav>button:nth-of-type(5){display:none}.sidebar nav>button{font-size:0;gap:0}.sidebar nav>button svg{width:18px}.app{display:block}.main-shell{margin:0;width:100%}.topbar{height:47px;padding:0 17px;font-size:10px}.topbar .text-btn{font-size:9px}main{padding:22px 16px}.page-intro{gap:10px;margin-bottom:20px}.page-intro h1{font-size:22px;letter-spacing:0}.page-intro .eyebrow{font-size:7px;letter-spacing:1px}.page-intro p{font-size:9px;line-height:1.8}.page-intro .btn{font-size:9px;padding:8px}.activity-tabs{gap:2px;margin-bottom:14px}.activity-tabs>button{padding:9px 11px;font-size:10px}.tab-tag{display:none}.activity-tabs>button svg{width:15px}.board-header{padding:13px;gap:6px}.board-header .mini-tag{font-size:8px;padding:4px}.board-header input.title-input{width:145px;font-size:12px}.board-actions{gap:5px}.board-header .btn.small{padding:7px 6px;font-size:8px;gap:3px}.board-header .btn.small svg{width:13px}.board-tools{padding:10px 12px 0;gap:4px}.board-hint{font-size:8px}.tool-group{gap:3px}.tool-group .icon-btn{padding:4px}.tool-group .icon-btn svg{width:15px}.tool-group .toggle-label{font-size:9px}.rhythm-row{gap:7px}.rhythm-board{padding:14px 9px}.time-signature{width:18px}.time-signature strong{font-size:25px}.time-signature strong:first-child{padding-bottom:5px}.beats-grid{gap:5px}.beat-number{font-size:7px;margin-bottom:5px;padding:0}.beat-number>span{font-size:11px}.beat-cell{min-height:137px;border-radius:7px}.beat-target{min-height:103px;padding:7px 2px 0}:root{--workbench-note-height: 65px}.note img{height:var(--workbench-note-height)}.eighth img{height:52px}.eighths{height:91px;gap:0}.note-label{font-size:8px;letter-spacing:0}.eighth .note-label{font-size:7px;letter-spacing:0}.beat-cell:before{display:none}.beat-value{font-size:7px;letter-spacing:0;margin:7px 0 11px}.beat-value>span{font-size:8px}.clear-beat{right:1px;top:2px;padding:2px}.clear-beat svg{width:11px;height:11px}.bar-end{gap:2px;margin-top:18px}.bar-end i{height:116px}.bar-end i:last-child{width:2px}.board-footer{padding:10px 12px;gap:7px}.readiness{font-size:8px;gap:5px}.board-footer-actions{margin-left:auto;gap:14px}.board-footer .text-btn{font-size:8px}.bottom-grid{grid-template-columns:1fr;gap:12px;margin-top:12px}.materials-panel,.playback-panel{padding:15px}.section-top h2{font-size:12px}.section-top .text-btn{font-size:10px}.material-card{flex-direction:row;text-align:left;gap:9px;padding:10px}.material-card>img{width:45px;height:45px}.material-card .note-svg{display:block;width:25px}.material-card strong{font-size:12px}.material-card div>span{font-size:8px}.material-tip{font-size:9px}.transport-row{gap:20px}.play-btn{font-size:13px;padding:15px}.tempo-control{gap:6px}.tempo-control input[type=number]{font-size:27px;width:55px}.tempo-control>button{width:27px;height:30px}.playback-options{display:flex;gap:10px;margin-top:17px}.playback-options .toggle-label{font-size:9px}.volume-row{margin-top:14px;padding-top:12px}.volume-row>label{font-size:9px}.page-footer{font-size:7px;justify-content:center}.page-footer span:last-child{display:none}.empty-hint{min-height:80px;gap:7px}.empty-hint span{font-size:8px;letter-spacing:0}.empty-hint small{font-size:7px}.pending{margin:5px 1px;font-size:6px;gap:5px}.pending span{font-size:6px}.pending svg{width:14px}.ice-cell .note img{height:60px}.ice-cell .eighth img{height:50px}.ice-cell .eighths{height:80px}.ice-wrap .ice-cell{min-height:126px}.ice-cell .beat-target{min-height:97px}.cone-art{width:65px;height:57px}.part-heading{padding-left:25px;gap:5px;flex-wrap:wrap}.part-heading>input{width:100px!important;font-size:11px}.part-heading>select{width:75px;font-size:9px}.part-heading .toggle-label{font-size:9px}.ensemble-board .beat-cell{min-height:117px}.ensemble-board .beat-target{min-height:88px}.ensemble-board .note img{height:57px}.ensemble-board .eighths{height:78px}.ensemble-board .note-label{font-size:7px}.ensemble-board .bar-end i{height:105px}.reference-block{margin:12px 12px 0;padding:9px}.compact .rhythm-row{gap:5px}.compact .note img{height:39px}.compact .eighths{height:62px}.compact .note-label,.compact .beat-value{font-size:6px}.matching-results{padding:10px;gap:5px}.matching-results>span{font-size:8px;padding:7px 3px}.works-grid,.assets-grid{grid-template-columns:1fr 1fr;gap:12px}.work-info{padding:13px}.work-info h3{font-size:13px}.work-preview{height:107px;padding:12px 9px;gap:3px}.mini-time{font-size:18px;margin-right:2px}.mini-beat{min-height:48px}.mini-beat img{height:39px}.work-info>p{font-size:8px}.work-card-actions{gap:1px;margin-top:12px}.work-card-actions .text-btn{font-size:9px}.work-card-actions .icon-btn{padding:5px}.work-card-actions .icon-btn svg{width:14px}.list-toolbar{flex-wrap:wrap;gap:13px}.search-field{width:100%}.asset-notice{font-size:9px;padding:12px}.asset-preview{height:140px}.asset-info{padding:12px}.asset-info h3{font-size:13px}.asset-info p{font-size:8px;flex-wrap:wrap}.asset-actions{gap:10px;flex-wrap:wrap}.asset-actions .text-btn{font-size:9px}.asset-info p>span{font-size:8px}.asset-visibility{font-size:8px;top:8px;left:8px}.settings-card{padding:20px}.table-panel td,.table-panel th{padding:12px;font-size:10px}.table-panel .avatar{width:27px;height:27px;font-size:11px}.table-name{gap:7px}.admin-tip{font-size:9px;line-height:1.8;align-items:flex-start}.modal{padding:20px;border-radius:13px}.modal-backdrop{padding:15px}.modal-head h2{font-size:18px}.modal-copy{font-size:12px}.modal-actions .btn{font-size:10px;padding:10px}.mapping-row{flex-wrap:wrap;gap:8px}.mapping-row select{flex:1 0 100%;font-size:10px}.mapping-row img{width:32px;height:32px}.mapping-row>span{width:auto;font-size:11px}.toast{bottom:18px;width:max-content;font-size:11px;padding:12px 14px;max-width:92vw}.login-page{grid-template-columns:1fr;min-height:100vh}.login-art{padding:22px 25px;min-height:215px}.login-story{padding:24px 0 0;display:flex;align-items:center;gap:20px;max-width:none}.login-story h1{font-size:25px;line-height:1.7;margin:0;white-space:nowrap;letter-spacing:1px}.login-story .eyebrow,.login-story>p,.login-footer,.decor-star{display:none}.login-fruits{gap:7px;width:52%;margin:0 0 0 auto}.login-fruits>span{height:80px;border-radius:10px}.login-fruits img{height:62px;width:90%}.login-fruits img:not(:only-of-type){height:48px}.login-fruits i{font-size:12px;bottom:2px}.login-form-side{padding:35px 30px 70px;min-height:500px}.login-form h2{font-size:24px}.login-form>p{margin-bottom:25px}.login-greeting{font-size:11px;margin-bottom:13px}.login-form form>label{margin-top:18px}.login-copyright{bottom:24px}.login-note{margin-top:25px}.decor-ring{top:0}.presentation main{padding:13px}.presentation .board-header{align-items:flex-start}.presentation .board-header h1{font-size:16px}.presentation .board-actions .btn{font-size:9px}.presentation .rhythm-board{padding:18px 10px}.presentation .rhythm-row{gap:10px}.presentation .time-signature{width:22px}.presentation .time-signature strong{font-size:32px}.presentation .beat-number{font-size:8px}.presentation .beat-number>span{font-size:13px}.presentation .beat-cell{min-height:160px}.presentation .beat-target{min-height:120px}.presentation .note img{height:80px}.presentation .eighth img{height:65px}.presentation .eighths{height:110px}.presentation .note-label{font-size:9px}.presentation .beat-value{font-size:8px}.presentation .ice-wrap .cone-art{height:65px;width:70px}.presentation .ensemble-board .beat-cell{min-height:139px}.presentation .ensemble-board .beat-target{min-height:100px}.presentation .ensemble-board .note img{height:67px}.presentation .ensemble-board .eighths{height:91px}.presentation .ensemble-board .note-label{font-size:8px}.presentation .ensemble-board .part-heading{padding-left:35px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.page-intro p,.board-hint,.readiness,.toggle-label,.material-tip,.page-footer,.beat-number,.connection,.save-status,.bpm-caption,.workspace-label,.nav-section{color:#727f67}.note-label{color:#876b40}.eighth .note-label{color:#986e60}.beat-value,.beat-value>span{color:#768365}.material-card div>span{color:#778565}.material-tip>span{color:#6b7f53}.pending,.pending span{color:#8c805e}.empty-hint{color:#8b9c76}.empty-hint small{color:#849374}.sidebar nav>button{color:#66735e}.teacher-note p{color:#797c60}.profile small,.login-form>p,.login-note,.login-form form>label,.login-copyright,.login-story>p,.login-footer{color:#778669}.bpm-caption select{font-size:10px;padding:5px 7px;border-color:#e4e9da;max-width:85px}.board-header .icon-btn{padding:5px}.cone-art{object-fit:contain}@media(min-width:1100px)and (max-height:850px){.topbar{height:55px}main{padding:20px 32px 12px}.page-intro{margin-bottom:17px}.eyebrow{font-size:8px;margin-bottom:6px}.page-intro h1{font-size:26px;line-height:1.4}.page-intro p{font-size:10px;margin-top:4px}.activity-tabs{margin-bottom:13px}.activity-tabs>button{padding:9px 16px}.board-header{padding:13px 23px}.board-header input.title-input{font-size:14px}.board-tools{padding:7px 23px 0}.board-tools .icon-btn{padding:4px}.rhythm-board{padding:15px 20px 13px}.beat-cell{min-height:150px}.beat-target{min-height:112px;padding-top:5px}:root{--workbench-note-height: 82px}.note img{height:var(--workbench-note-height)}.eighth img{height:77px}.eighths{height:106px}.note-label{font-size:10px;margin-top:2px}.eighth .note-label{font-size:9px}.beat-value{margin:8px 0 11px}.beat-number{margin-bottom:6px}.bar-end{margin-top:22px}.bar-end i{height:137px}.board-footer{padding:9px 23px}.bottom-grid{margin-top:13px;gap:15px}.materials-panel,.playback-panel{padding:15px 19px}.section-top{margin-bottom:13px}.material-card{padding:10px 8px}.material-card>img{height:45px}.material-tip{margin-top:11px}.play-btn{padding:12px 20px}.playback-options{margin-top:14px}.volume-row{margin-top:12px;padding-top:10px}.page-footer{margin-top:12px;font-size:8px}.ice-wrap .ice-cell{min-height:138px}.ice-cell .beat-target{min-height:108px}.ice-cell .eighths{height:97px}.ice-cell .note img{height:76px}.ice-cell .eighth img{height:70px}.cone-art{height:60px;width:70px}.ensemble-board .beat-cell{min-height:120px}.ensemble-board .beat-target{min-height:90px}.ensemble-board .note img{height:62px}.ensemble-board .eighths{height:81px}.ensemble-board .beat-value{margin:5px 0 7px}.ensemble-board .part-row+.part-row{margin-top:13px;padding-top:13px}.ensemble-board .part-heading{margin-bottom:6px}.ensemble-board .bar-end i{height:110px}.presentation main{padding:20px 32px}.presentation .board-header{padding:15px 23px}.presentation .beat-cell{min-height:260px}.presentation .beat-target{min-height:200px}.presentation .note img{height:165px}.presentation .eighth img{height:155px}.presentation .eighths{height:190px}.presentation .ensemble-board .beat-cell{min-height:177px}.presentation .ensemble-board .beat-target{min-height:137px}.presentation .ensemble-board .note img{height:108px}.presentation .ensemble-board .eighths{height:131px}.presentation .bar-end i{height:245px}.presentation .ensemble-board .bar-end i{height:160px}}.fruit-palette{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.fruit-choice{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:100px;padding:9px 4px;border:1px solid #e2e8d8;background:#fcfdf8;border-radius:10px;color:#526a43}.fruit-choice:hover:not(:disabled){background:#f2f6e8;border-color:#a5ba85}.fruit-choice.selected{background:#f0f5e3;border-color:#8ea76a;box-shadow:0 0 0 2px #b0c48d33}.fruit-choice .selected-check{width:18px;height:18px;border-radius:0 9px 0 8px}.choice-art{height:45px;display:flex;align-items:center;justify-content:center;gap:5px;width:90%}.choice-art img{height:100%;max-width:85%;object-fit:contain}.split-choice .choice-art img{max-width:44%;width:44%}.fruit-choice strong{font-size:12px;font-weight:600;letter-spacing:1px}.choice-value{font-size:8px;white-space:nowrap;letter-spacing:0;color:#768761}.palette-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px}.palette-footer p{font-size:9px;line-height:1.8;color:#728461;max-width:70%}.palette-footer .toggle-label{font-size:9px}.student-palette{background:#fffefa;border:1px solid #dfe7d4;border-radius:12px;padding:18px 24px;margin-top:17px}.student-palette .section-top{margin-bottom:13px}.student-palette .section-top h2{font-size:16px}.student-palette .step-label{width:27px;height:27px}.student-palette .fruit-palette{grid-template-columns:repeat(8,minmax(0,1fr));gap:11px}.student-palette .fruit-choice{min-height:119px;padding:10px 5px;gap:5px}.student-palette .choice-art{height:65px}.student-palette .fruit-choice strong{font-size:16px;letter-spacing:2px}.student-palette .choice-value{font-size:9px}.student-palette .palette-footer p{font-size:12px;max-width:70%}.student-actions{display:flex;align-items:center;gap:10px}.student-actions .btn.small{font-size:11px}.theme-picker{background:#edf2e4}.theme-picker button{font-size:12px;padding:8px 15px}.student-mode .beat-target:not(:disabled){cursor:pointer}.student-mode .beat-target:not(:disabled):hover{background:#eaf2db66;border-radius:10px}.student-mode .beat-cell:has(.beat-target:focus-visible){outline:3px solid #91a76f;outline-offset:3px}.student-mode .beat-cell:has(.beat-target:focus-visible) .beat-target{outline:none}.presentation.student-mode .main-shell{padding-bottom:10px}.student-mode .board-footer .readiness{font-size:11px}.student-mode .matching-results{padding-top:9px;padding-bottom:9px}.student-mode .matching-results>span{font-size:12px}.expanded-materials .section-top{margin-bottom:12px}@media(min-width:1100px)and (max-height:850px){.student-mode .rhythm-board{padding:17px 24px}.student-mode .beat-cell{min-height:200px}.student-mode .beat-target{min-height:153px}.student-mode .note img{height:123px}.student-mode .eighth img{height:118px}.student-mode .eighths{height:147px}.student-mode .beat-value{margin:7px 0 10px}.student-mode .note-label{font-size:16px}.student-mode .ice-wrap .cone-art{height:65px;width:75px}.student-mode .student-palette{padding:13px 20px;margin-top:12px}.student-mode .student-palette .fruit-choice{min-height:102px}.student-mode .student-palette .choice-art{height:51px}.student-mode .student-palette .section-top{margin-bottom:10px}.student-mode .student-palette .section-top h2{font-size:14px}.student-mode .palette-footer{margin-top:9px}.student-mode .student-palette .palette-footer p{font-size:10px}.student-mode .bottom-grid{margin-top:12px}.student-mode .ensemble-board .beat-cell{min-height:140px}.student-mode .ensemble-board .beat-target{min-height:105px}.student-mode .ensemble-board .note img{height:80px}.student-mode .ensemble-board .eighths{height:100px}.student-mode .ensemble-board .note-label{font-size:12px}}@media(max-width:1100px){.fruit-palette{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.fruit-choice{min-height:91px;padding:7px 3px}.fruit-choice strong{font-size:11px}.choice-value{font-size:7px}.choice-art{height:39px}.palette-footer{flex-wrap:wrap}.palette-footer p{max-width:100%;font-size:8px}.student-palette .fruit-palette{grid-template-columns:repeat(4,minmax(0,1fr))}.student-palette .fruit-choice{min-height:98px}.student-palette .choice-art{height:47px}.student-palette .fruit-choice strong{font-size:14px}.student-palette .palette-footer p{font-size:10px}.student-palette .section-top h2{font-size:13px}.student-palette .theme-picker button{font-size:10px;padding:8px 10px}.student-actions .btn.small{font-size:10px}}@media(max-width:760px){.fruit-palette{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.fruit-choice{min-height:91px}.fruit-choice strong{font-size:11px}.choice-value{font-size:7px}.palette-footer p{max-width:100%;font-size:9px}.student-palette{padding:15px}.student-palette .section-top{flex-wrap:wrap;gap:12px}.student-palette .fruit-palette{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.student-palette .choice-art{height:44px}.student-palette .fruit-choice{min-height:95px}.student-palette .fruit-choice strong{font-size:13px}.student-palette .choice-value{font-size:7px}.student-palette .palette-footer{align-items:flex-start;flex-direction:column}.student-palette .palette-footer p{max-width:100%;font-size:10px}.student-mode .board-header .board-actions{flex-wrap:wrap;justify-content:flex-end}.presentation .board-header .btn.small{padding:7px;font-size:8px}.student-actions{width:100%;justify-content:flex-end}}.expanded-materials .fruit-palette{max-height:225px;overflow-y:auto;padding:2px 5px 2px 2px;scrollbar-width:thin;scrollbar-color:#bdcba9 transparent}@media(min-width:1100px)and (max-height:850px){.student-mode .beat-cell{min-height:160px}.student-mode .beat-target{min-height:118px}.student-mode .note img{height:94px}.student-mode .eighth img{height:90px}.student-mode .eighths{height:117px}.student-mode .note-label{font-size:14px}.student-mode .rhythm-board{padding-top:13px;padding-bottom:12px}.student-mode .student-palette .fruit-choice{min-height:83px;padding:7px 4px}.student-mode .student-palette .choice-art{height:36px}.student-mode .student-palette .fruit-choice strong{font-size:13px}.student-mode .student-palette .choice-value{font-size:8px}.student-mode .student-palette .fruit-palette{gap:8px}.student-mode .student-palette .section-top{margin-bottom:9px}.student-mode .student-palette .palette-footer{margin-top:8px}}.beat-reading{font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:20px;font-weight:650;letter-spacing:1px;line-height:1.2;color:#45633c;margin:0 0 11px;min-height:24px}.rhythm-board .ice-cell{min-height:276px;justify-content:flex-start}.rhythm-board .ice-cell .beat-target{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;min-height:205px;padding:8px 5px 0;gap:0}.rhythm-board .ice-cell .quarter{height:100px;flex:none;padding:0;width:100%;position:relative;z-index:2}.rhythm-board .ice-cell .quarter img{height:130px;max-width:145px;width:100%;filter:drop-shadow(0 3px 2px #8c653b12)}.rhythm-board .ice-cell .eighths{height:100px;max-width:165px;width:100%;gap:0;flex:none;position:relative;z-index:2;align-items:center}.rhythm-board .ice-cell .eighth{height:100px;flex:1;padding:0}.rhythm-board .ice-cell .eighth img{height:104px;width:100%;object-fit:contain;filter:drop-shadow(0 3px 2px #8c653b10)}.rhythm-board .ice-cell .note-label{display:none}.rhythm-board .ice-cell .cone-art{height:134px;width:145px;max-width:85%;margin:-42px auto 0;display:block;position:relative;z-index:1;object-fit:contain;flex:none}.flavour-label{color:#967447;font-size:10px;letter-spacing:.5px;margin:0 0 1px}.rhythm-board .ice-cell .beat-value{margin:4px 0 7px}.rhythm-board .ice-cell .empty-hint{height:100px;min-height:100px;flex:none;gap:6px;z-index:2}.presentation .beat-reading{font-size:28px;margin:1px 0 13px;min-height:32px}.presentation .flavour-label{font-size:13px}.presentation .tool-group .toggle-label{font-size:11px}.board-header .board-actions>.toggle-label{margin-right:9px}.rhythm-board .ice-cell .pending{margin:0 2px 8px;height:83px}.presentation .rhythm-board .ice-cell .beat-value{font-size:11px}.presentation .student-palette .section-top{display:flex}@media(min-width:1100px)and (max-height:850px){.student-mode .beat-reading{font-size:21px;min-height:25px;margin:0 0 9px}.student-mode .rhythm-board .ice-cell{min-height:276px}.student-mode .rhythm-board .ice-cell .beat-target{min-height:205px}.student-mode .rhythm-board .ice-cell .quarter img{height:130px}.student-mode .rhythm-board .ice-cell .eighths{height:100px}.student-mode .rhythm-board .ice-cell .eighth img{height:104px}.student-mode .rhythm-board .ice-cell .cone-art{height:134px;width:145px;margin-top:-42px}.student-mode .flavour-label{font-size:11px}.student-mode .rhythm-board .ice-cell .note-label{display:none}}@media(max-width:760px){.beat-reading{font-size:17px;min-height:20px;margin-bottom:8px}.presentation .beat-reading{font-size:20px;min-height:23px}.rhythm-board .ice-cell{min-height:220px}.rhythm-board .ice-cell .beat-target{min-height:158px;padding:8px 2px 0}.rhythm-board .ice-cell .quarter{height:75px}.rhythm-board .ice-cell .quarter img{height:95px;max-width:95px}.rhythm-board .ice-cell .eighths{height:75px;max-width:100px}.rhythm-board .ice-cell .eighth,.rhythm-board .ice-cell .eighth img{height:75px}.rhythm-board .ice-cell .cone-art{height:100px;width:105px;max-width:95%;margin-top:-31px}.rhythm-board .ice-cell .empty-hint{height:75px;min-height:75px}.flavour-label,.presentation .flavour-label{font-size:8px}.board-header .board-actions>.toggle-label{font-size:8px;margin-right:3px}}.rhythm-board .ice-cell.ice-stack{min-height:318px}.rhythm-board .ice-cell.ice-stack .beat-target{min-height:247px;padding-top:50px}.rhythm-board .ice-cell.ice-stack .eighths{height:100px;width:100%;max-width:165px;display:block;position:relative}.rhythm-board .ice-cell.ice-stack .eighth{position:absolute;left:50%;transform:translate(-50%);width:110px;height:110px;margin:0;flex:none}.rhythm-board .ice-cell.ice-stack .eighth:first-child{top:4px;z-index:3}.rhythm-board .ice-cell.ice-stack .eighth:last-child{top:-44px;z-index:2}.rhythm-board .ice-cell.ice-stack .eighth img{width:110px;height:110px;max-width:none}.rhythm-board .ice-cell.ice-stack .pending{width:80px;height:70px;margin:15px 0 0}.ice-choice.split-choice .choice-art{position:relative}.ice-choice.split-choice .choice-art img{position:absolute;left:50%;transform:translate(-50%);width:80%;max-width:80%;height:80%}.ice-choice.split-choice .choice-art img:first-child{top:30%;z-index:2}.ice-choice.split-choice .choice-art img:last-child{top:-10%;z-index:1}@media(max-width:760px){.rhythm-board .ice-cell.ice-stack{min-height:250px}.rhythm-board .ice-cell.ice-stack .beat-target{min-height:188px;padding-top:38px}.rhythm-board .ice-cell.ice-stack .eighths{height:75px;max-width:100px}.rhythm-board .ice-cell.ice-stack .eighth{width:80px;height:80px}.rhythm-board .ice-cell.ice-stack .eighth:first-child{top:4px}.rhythm-board .ice-cell.ice-stack .eighth:last-child{top:-30px}.rhythm-board .ice-cell.ice-stack .eighth img{width:80px;height:80px}.rhythm-board .ice-cell.ice-stack .pending{width:52px;height:50px;margin-top:10px}}.work-preview.iceCream .mini-beat:has(img:nth-child(2)){position:relative}.work-preview.iceCream .mini-beat:has(img:nth-child(2)) img{position:absolute;width:80%;height:41px;left:10%;object-fit:contain}.work-preview.iceCream .mini-beat:has(img:nth-child(2)) img:first-child{top:15px;z-index:2}.work-preview.iceCream .mini-beat:has(img:nth-child(2)) img:last-child{top:-3px;z-index:1}.time-signature>.time-signature-art{display:block;width:100%;height:68px;object-fit:contain}.presentation .time-signature>.time-signature-art{height:94px}.music-symbol-art{object-fit:contain}img.note-svg{display:inline-block;object-fit:contain}.meter-selector{display:inline-flex;align-items:center;gap:7px;font-size:12px}.meter-selector select{padding:6px 8px;border:1px solid #dbe3d2;border-radius:8px;background:#fff;color:#43583c}.rhythm-row .time-signature{position:relative;display:block;height:44px;width:auto;aspect-ratio:var(--meter-aspect, 648 / 1630);overflow:hidden}.presentation .rhythm-row .time-signature{height:64px}.rhythm-row .time-signature>.time-signature-art{position:absolute;left:var(--meter-left);top:var(--meter-top);width:var(--meter-width);height:var(--meter-height);max-width:none;object-fit:contain}.presentation .rhythm-board .beat-cell{min-height:calc(180px * var(--classroom-scale))}.presentation .rhythm-board .beat-target{min-height:calc(132px * var(--classroom-scale))}.presentation .rhythm-board .note img{height:calc(94px * var(--classroom-scale));max-width:100%}.presentation .rhythm-board .quarter img{max-width:min(100%,calc(145px * var(--classroom-scale)))}.presentation .rhythm-board .eighths{height:calc(117px * var(--classroom-scale))}.presentation .rhythm-board .note-label,.presentation .rhythm-board .eighth .note-label{font-size:calc(14px * var(--classroom-scale))}.presentation .rhythm-board .beat-reading{font-size:calc(21px * var(--classroom-scale));min-height:1.2em;margin:0 0 14px}.presentation .rhythm-board .beat-value,.presentation .rhythm-board .beat-value>span{font-size:calc(10px * var(--classroom-scale))}.presentation .rhythm-board .time-signature{height:calc(64px * var(--classroom-scale))}.presentation .rhythm-board .notation{height:calc(31px * var(--classroom-scale));margin:8px 0}.presentation .rhythm-board .notation .note-svg{height:calc(31px * var(--classroom-scale));width:calc(45px * var(--classroom-scale))}.presentation .rhythm-board .bar-end i{height:calc(160px * var(--classroom-scale))}.presentation .rhythm-board .ice-cell.ice-stack{min-height:calc(318px * var(--classroom-scale))}.presentation .rhythm-board .ice-cell.ice-stack .beat-target{min-height:calc(247px * var(--classroom-scale));padding-top:calc(50px * var(--classroom-scale))}.presentation .rhythm-board .ice-cell.ice-stack .quarter{height:calc(100px * var(--classroom-scale))}.presentation .rhythm-board .ice-cell.ice-stack .quarter img{height:calc(130px * var(--classroom-scale));max-width:min(100%,calc(145px * var(--classroom-scale)))}.presentation .rhythm-board .ice-cell.ice-stack .eighths{height:calc(100px * var(--classroom-scale));max-width:calc(165px * var(--classroom-scale))}.presentation .rhythm-board .ice-cell.ice-stack .eighth{width:calc(110px * var(--classroom-scale));height:calc(110px * var(--classroom-scale))}.presentation .rhythm-board .ice-cell.ice-stack .eighth:first-child{top:calc(4px * var(--classroom-scale))}.presentation .rhythm-board .ice-cell.ice-stack .eighth:last-child{top:calc(-44px * var(--classroom-scale))}.presentation .rhythm-board .ice-cell.ice-stack .eighth img{width:100%;height:100%;max-width:none}.presentation .rhythm-board .ice-cell.ice-stack .cone-art{height:calc(134px * var(--classroom-scale));width:calc(145px * var(--classroom-scale));margin-top:calc(-42px * var(--classroom-scale));max-width:90%}.presentation .rhythm-board .ice-cell.ice-stack .empty-hint{height:calc(100px * var(--classroom-scale));min-height:calc(100px * var(--classroom-scale))}.presentation .rhythm-board .flavour-label{font-size:calc(11px * var(--classroom-scale))}.work-preview .mini-time{position:relative;height:36px;width:auto;aspect-ratio:var(--meter-aspect, 648 / 1630);overflow:hidden;flex-shrink:0}.work-preview .mini-time .time-signature-art{position:absolute;left:var(--meter-left);top:var(--meter-top);width:var(--meter-width);height:var(--meter-height);max-width:none}@media(max-width:760px){.presentation .rhythm-board{--classroom-scale: 1}.presentation .board-actions{flex-wrap:wrap;gap:8px}}.meter-selector{flex-shrink:0;white-space:nowrap}.board-panel[data-full]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;width:100%;height:100%;overflow:auto;background:#fffefa;border:0;border-radius:0}.board-panel[data-full]~.bottom-grid{display:none}body:has(.board-panel[data-full]){overflow:hidden}.board-panel[data-full] .rhythm-board{--classroom-scale: inherit}.board-panel[data-full] .board-header{position:sticky;top:0;z-index:5;background:#fffefa}.fullscreen-bpm{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.fullscreen-bpm input{width:5em;padding:5px;font:inherit}.toast{z-index:11000}
