:root{font-family:Noto Sans KR,Arial,sans-serif;color:#22362f;background:#f6f7f3;font-synthesis:none;--green: #184c3d;--muted: #7c8881;--line: #e2e7df;--orange: #c37a42;--cream: #eff1e8}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d0a367;outline-offset:3px}button{color:inherit}input,textarea,select{border:1px solid #dce3db;background:#fff;border-radius:7px;padding:10px 12px;color:#263c32;min-height:42px}input,textarea{width:100%}textarea{resize:vertical}label{font-size:12px;font-weight:600;display:flex;flex-direction:column;gap:8px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1.5px;font-size:34px;line-height:1.5;font-weight:600}h2{font-size:20px;letter-spacing:-.5px}h3{font-size:18px}p{font-size:14px;line-height:1.8}svg{flex-shrink:0}form{display:flex;flex-direction:column;gap:22px}.muted{color:var(--muted)}.tiny{font-size:11px;line-height:1.8}.row{display:flex;align-items:center;gap:12px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#7f927c}.button{border:1px solid #d8e0d7;background:#fff;display:inline-flex;gap:9px;align-items:center;justify-content:center;border-radius:7px;padding:12px 18px;font-size:12px;font-weight:600;min-height:43px;white-space:nowrap;transition:background .15s,transform .15s}.button:hover:not(:disabled){background:#eff4eb;transform:translateY(-1px)}.primary{background:var(--green);border-color:var(--green);color:#fff}.primary:hover:not(:disabled){background:#25614e}.small{padding:8px 11px;min-height:36px;font-size:11px}.full{width:100%}.icon-button{border:0;background:transparent;width:34px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px}.icon-button:hover:not(:disabled){background:#edf1e9}.text-button{background:none;border:0;padding:8px 0;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:var(--green);font-size:12px}.app-header{height:82px;padding:0 4.2%;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);gap:20px}.logo{display:flex;align-items:center;gap:11px;font-size:20px;font-weight:800;letter-spacing:-.8px}.logo-symbol{width:36px;height:39px;background:var(--green);border-radius:10px 10px 10px 2px;display:grid;place-items:center;color:#fff}.logo-light{font-weight:400}.logo small{display:block;letter-spacing:1px;font-size:8px;color:#859087;font-weight:400;margin-top:2px}.header-right{display:flex;align-items:center;gap:20px}.role-badge{font-size:11px;background:#f0f4ec;padding:7px 12px;border-radius:20px;color:#61735d}.dashboard{max-width:1260px;margin:auto;padding:30px 46px 60px}.breadcrumb{font-size:11px;color:#879187;display:flex;align-items:center;gap:10px;margin-bottom:36px}.dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:50px;padding:12px 0 52px;border-bottom:1px solid var(--line)}.dashboard-hero h1{font-size:40px;margin:14px 0 18px;line-height:1.45}.dashboard-hero h1 span{color:#64806b}.dashboard-hero p{color:#829080;font-size:13px;margin-bottom:26px}.hero-score{width:390px;background:#fffef9;padding:26px 28px 18px;transform:rotate(-3deg);box-shadow:0 18px 35px #263e3210;border:1px solid #e8e7dc;border-radius:3px;flex-shrink:0}.hero-score-top,.hero-score-bottom{display:flex;justify-content:space-between;font-size:10px;color:#8b9787}.hero-score-top{border-bottom:1px solid #e6e8df;padding-bottom:16px}.hero-score-bottom{border-top:1px solid #e6e8df;padding-top:16px;justify-content:flex-start;align-items:center;gap:8px}.decor-staff{position:relative;height:115px;margin:28px 0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 11px,#9baa972e 11px,#9baa972e 12px,transparent 12px,transparent 23px);background-size:100% 60px;background-repeat:no-repeat;background-position:center}.decor-staff span{font-family:serif;position:absolute;top:-3px;left:4px;font-size:100px;color:#6b7d60}.decor-staff i,.decor-staff b,.decor-staff em{position:absolute;top:12px;font-family:serif;font-size:66px;font-weight:400;font-style:normal;color:#284c3c}.decor-staff i{left:32%;top:4px}.decor-staff b{left:54%;top:18px}.decor-staff em{left:80%;top:0}.round-dot{display:inline-block;width:7px;height:7px;background:#6c9773;border-radius:50%}.class-section{padding-top:30px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-heading h2{margin:0;font-size:18px}.section-heading h2 span{font-size:12px;color:#8c9989;margin-left:7px}.section-heading p{margin:0}.class-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.class-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:23px;transition:box-shadow .2s,transform .2s}.class-card:hover{box-shadow:0 10px 30px #163f350c;transform:translateY(-3px)}.class-card-top{display:flex;justify-content:space-between;align-items:center;color:#a2afa2;margin-bottom:24px}.status-pill{font-size:10px;padding:5px 9px;border-radius:4px;background:#f1f2ee;color:#889185}.status-pill.live{background:#edf3e8;color:#588450}.status-pill.live:before{content:"";width:5px;height:5px;border-radius:50%;background:#6c9857;display:inline-block;margin-right:5px}.class-card h3{margin:0 0 9px}.class-card p{font-size:11px;color:#91998f}.class-card-bottom{border-top:1px solid #eef0e9;padding-top:15px;margin-top:20px;display:flex;gap:24px;color:#84907f;font-size:10px}.class-card-bottom span{display:flex;align-items:center;gap:6px}.new-card{background:transparent;border-style:dashed;display:flex;align-items:center;justify-content:center;gap:10px;flex-direction:column;color:#8b9a82;font-size:12px}.empty-state{text-align:center;border:1px dashed #dce2d5;border-radius:12px;padding:42px 20px;color:#899780}.empty-state h3{margin:12px 0 8px;color:#50644e}.empty-state p{font-size:12px}.workflow-strip{margin-top:45px;padding:25px;background:#eef1e7;display:flex;align-items:center;justify-content:space-around;font-size:11px;color:#8b9883;border-radius:8px}.workflow-strip>svg{width:12px}.workflow-strip b{color:#a0b08f;font-size:10px;display:inline-block;margin-right:12px}.login-layout{max-width:1100px;min-height:600px;margin:auto;display:flex;align-items:center;gap:120px;padding:60px}.login-card{width:390px}.login-card h1{margin-top:18px}.login-card form{margin:28px 0 14px}.login-note{width:390px;position:relative;transform:rotate(-8deg);color:#5e7c59}.note-line{height:1px;background:#cfd8c7;margin:26px 0}.login-note>span{font-family:serif;font-size:200px;position:absolute;top:-90px}.login-note>b,.login-note>i{font-size:130px;position:absolute;font-family:serif;font-weight:400;font-style:normal;top:-20px;left:160px}.login-note>i{left:290px;top:-70px}.join-layout{max-width:1200px;min-height:650px;display:grid;grid-template-columns:1.1fr 1fr;margin:44px auto;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.join-art{background:#e9efdf;padding:64px 52px;display:flex;flex-direction:column}.join-art h1{font-size:40px;margin:25px 0}.join-art p{color:#83927a;font-size:13px}.join-art .decor-staff{margin:45px 0}.join-art-footer{font-size:9px;letter-spacing:2px;color:#8d9a7c;display:flex;justify-content:space-between;margin-top:auto}.join-art-footer span{letter-spacing:0}.join-form{padding:70px 52px}.section-number{font-size:9px;letter-spacing:1.8px;color:#a3ab9e}.join-form h2{margin-top:22px;font-size:27px}.join-form>p{font-size:12px}.join-form form{margin:30px 0 22px}.code-input{letter-spacing:4px;font-size:20px}.compose-page,.classroom-page{padding:30px 4.2% 50px;max-width:1700px;margin:auto}.page-title-row{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:25px}.back-link{font-size:11px;color:#8a9885;display:inline-flex;align-items:center;gap:6px;margin-bottom:12px}.page-title-row h1{font-size:27px;margin:0 0 6px}.page-title-row p{margin:0;font-size:12px}.file-button input{display:none}.assignment-fields{display:grid;grid-template-columns:1fr 2fr;gap:24px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 24px;margin-bottom:20px}.editor{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;position:relative}.editor-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 18px;border-bottom:1px solid var(--line)}.editor-label{display:flex;align-items:center;gap:8px;font-size:12px}.editor-label .muted{font-size:9px;padding:3px 6px;background:#f1f4ec;border-radius:4px}.editor-tools{display:flex;align-items:center;gap:5px}.editor-tools select{font-size:10px;min-height:34px;padding:7px}.zoom-value{font-size:10px;min-width:31px;text-align:center;color:#7c8977}.divider{width:1px;height:20px;background:var(--line);margin:0 8px}.score-settings{display:flex;gap:12px;align-items:center;padding:10px 18px;background:#fafbf8;border-bottom:1px solid var(--line)}.score-settings label{flex-direction:row;align-items:center;font-size:10px;gap:7px}.score-settings select{font-size:11px;padding:6px;min-height:32px}.editor-body{display:flex;min-height:380px}.parts-panel{width:177px;flex-shrink:0;border-right:1px solid var(--line);padding:18px 10px;background:#fdfefb}.panel-caption{font-size:10px;letter-spacing:1px;padding:0 8px 14px;color:#8b9984;display:flex;justify-content:space-between}.part-row{display:flex;align-items:center;border-radius:6px;margin-top:3px}.part-row.selected{background:#eff3e9}.part-button{border:0;background:transparent;display:flex;align-items:center;gap:8px;width:100%;padding:10px 7px;text-align:left;font-size:11px;border-radius:5px;line-height:1.5}.part-button:hover{background:#f0f3eb}.part-button.active{color:var(--green);background:#edf2e7}.part-button>span:not(.part-number){overflow:hidden;overflow-wrap:anywhere}.part-button small{display:block;font-size:8px;color:#95a08d;margin-top:2px}.part-number{font-size:9px;color:#a8b29f}.lock-toggle{width:23px;flex-shrink:0}.parts-panel>select{width:100%;padding:7px 4px;font-size:10px;margin-top:20px}.parts-panel>p{padding:0 6px;margin-top:12px}.parts-panel>label{padding:0 4px}.parts-panel input{font-size:11px;min-height:30px;padding:7px}.parts-panel>.text-button{width:100%;margin-top:8px;font-size:10px}.notation-area{min-width:0;width:100%;background:#f0f2ed}.score-scroll{overflow:auto;max-height:680px;padding:26px;touch-action:pan-x pan-y pinch-zoom}.score-paper{background:#fffefc;width:max-content;min-width:100%;padding:32px 28px 20px;box-shadow:0 2px 8px #213c2606;border:1px solid #e8ebe3}.paper-heading{border-bottom:1px solid #edf0e8;margin-bottom:18px;padding-bottom:18px}.paper-heading>span{font-size:7px;letter-spacing:2px;color:#9ca58e}.paper-heading h2{font-size:21px;margin:12px 0 6px;font-weight:500}.paper-heading p{font-size:9px;color:#95a08d;margin:0}.systems{display:grid;gap:22px 0}.measure{position:relative;min-width:0}.measure svg{display:block;max-width:none}.paper-footer{margin-top:20px;border-top:1px solid #edf0e8;padding-top:14px;display:flex;justify-content:space-between;color:#a2aa98;font-size:8px}.paper-footer span{font-weight:600}.input-dock{border-top:1px solid var(--line);display:flex;gap:22px;padding:17px 20px;background:#fff}.input-position{width:155px;flex-shrink:0;border-right:1px solid var(--line);padding-right:15px}.input-position .eyebrow{font-size:8px}.input-position strong{display:block;font-size:12px;margin:4px 0}.position-controls{display:flex;align-items:center;font-size:9px;white-space:nowrap;margin-left:-8px}.position-controls .icon-button{width:24px}.input-position>select{font-size:10px;padding:3px 6px;min-height:27px;width:100%}.note-controls{flex:1;min-width:0}.duration-row,.pitch-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.duration-row{margin-bottom:10px}.segmented{display:flex;background:#f2f4ed;border:1px solid #e6e9e0;border-radius:6px;padding:3px}.segmented button{background:transparent;border:0;min-width:40px;min-height:29px;border-radius:4px;font-size:10px}.segmented button.active{background:#fff;box-shadow:0 1px 4px #23452b18;color:#285b41}.button.chosen{border-color:#a0b68c;background:#eef5e7}.pitch-row>select{font-size:10px;padding:7px;min-height:36px}.accidental button{min-width:28px;font-size:19px}.pitch-keys{display:flex;gap:4px}.pitch-keys button{background:linear-gradient(#fff,#f9faf6);border:1px solid #dce2d5;border-radius:5px;box-shadow:0 2px #dce2d5;min-width:43px;min-height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.pitch-keys button:active{background:#e5eddd;transform:translateY(1px);box-shadow:none}.pitch-keys b{font-weight:500;font-size:12px}.pitch-keys small{font-size:8px;color:#a0aa96}.chord-toggle{flex-direction:row;align-items:center;font-size:10px;gap:6px;white-space:nowrap;margin-left:4px}.chord-toggle input{width:14px;height:14px;min-height:0;accent-color:var(--green)}.input-hint{font-size:9px;color:#9ba591;margin:10px 0 0}.error{border:1px solid #eccbb4;background:#fff6ef;color:#99562e;font-size:12px;padding:12px 16px;border-radius:7px;line-height:1.7;margin:12px 0;overflow-wrap:anywhere}.editor-error{margin:0;border-radius:0;display:flex;align-items:center;justify-content:space-between;gap:16px}.loading{display:flex;align-items:center;justify-content:center;gap:12px;min-height:400px;color:#7d907a;font-size:13px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.connection{font-size:10px;color:#7b9376;display:flex;gap:7px;align-items:center}.connection>span{width:6px;height:6px;background:#80a570;border-radius:50%}.connection.offline{color:#b98146}.connection.offline>span{background:#c59754}.review-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px}.submission-panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 13px;align-self:start;max-height:850px;overflow:auto}.submission-heading{display:flex;align-items:center;justify-content:space-between;padding:0 6px}.submission-heading h2{font-size:15px;margin:0}.count-badge{font-size:11px;border-radius:5px;background:#edf3e7;color:#6c8c60;padding:4px 7px}.submission-panel>p{padding:0 6px;margin-top:10px;font-size:10px}.submission-row{width:100%;display:flex;align-items:center;gap:10px;text-align:left;background:none;border:0;border-bottom:1px solid #f0f2eb;padding:13px 7px}.submission-row:disabled{opacity:.65}.submission-row.active{background:#edf3e8;border-radius:6px;border-bottom-color:transparent}.submission-row>span:nth-child(2){flex:1;min-width:0}.submission-row b{font-size:11px;font-weight:500;overflow-wrap:anywhere}.submission-row small{display:block;font-size:9px;color:#91a087;margin-top:3px}.student-avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#edf1e6;color:#7f9274;font-size:11px;flex-shrink:0}.green{color:#6b935e}.pending-dot{width:5px;height:5px;background:#c6cdbf;border-radius:50%;margin:5px}.roster-empty{text-align:center;padding:45px 0;color:#a1ac98;font-size:11px}.roster-empty p{font-size:11px;margin:12px 0}.roster-empty .text-button{font-size:10px}.review-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 16px;padding:0 2px}.review-heading h2{margin:5px 0 0;font-size:20px}.review-heading .eyebrow{font-size:8px}.review-score{min-width:0}.review-score .parts-panel{width:145px}.review-score .score-scroll{max-height:700px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#102c235e;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:grid;place-items:center;z-index:20;padding:20px}.modal{background:#fffefb;padding:36px;border-radius:14px;width:min(100%,470px);box-shadow:0 20px 70px #163b2826;max-height:90vh;overflow:auto}.modal h2{font-size:21px}.qr-modal{text-align:center}.qr-modal h2{font-size:19px;margin-top:14px}.qr-modal img{display:block;margin:20px auto 8px;max-width:100%;height:auto}.invite-code{font-size:30px;letter-spacing:6px;color:var(--green);font-weight:700;margin:16px 0}.invite-link{font-size:10px;color:#8c9b7f;display:block;overflow-wrap:anywhere;margin:14px 0}.presentation .app-header,.presentation .page-title-row,.presentation .submission-panel{display:none}.presentation .review-layout{display:block}.presentation .classroom-page{padding-top:20px;max-width:none}.presentation .score-scroll{max-height:calc(100vh - 170px)}.student-page{max-width:1400px;margin:auto;padding:32px 4% 115px}.student-assignment{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.student-assignment h1{font-size:28px;margin:12px 0}.instruction{white-space:pre-wrap;max-width:850px;font-size:13px;color:#7a8972;line-height:1.8}.student-name{display:flex;align-items:center;gap:9px;font-size:12px;white-space:nowrap}.student-status{display:flex;justify-content:space-between;font-size:10px;color:#89977e;padding:14px 2px}.student-status .row{gap:7px}.amber{background:#c59358}.submit-bar{position:fixed;bottom:0;left:0;right:0;background:#fffefcf5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:17px 5%;gap:20px;z-index:5}.submit-bar b{font-size:12px;display:block}.submit-bar small{font-size:10px;color:#8c9a80;display:block;margin-top:4px}.export-source{position:fixed;left:-20000px;top:0;pointer-events:none;opacity:0}.export-source .score-scroll{max-height:none;overflow:visible}.export-source .score-paper{min-width:0}.export-source .systems{display:block}.export-source .measure{margin-bottom:10px}@media(min-width:1600px){.score-scroll{max-height:780px}}@media(max-width:1100px){.dashboard-hero h1{font-size:33px}.hero-score{width:320px}.editor-label>b{display:none}.review-layout{grid-template-columns:200px minmax(0,1fr)}.review-score .parts-panel{width:125px}.input-dock{gap:12px;padding:14px}.input-position{width:120px;padding-right:8px}.parts-panel{width:150px}.pitch-keys button{min-width:36px}.login-layout{gap:50px}.join-layout{margin:25px}.join-art,.join-form{padding:45px 32px}.join-art h1{font-size:33px}}@media(max-width:800px){.app-header{height:68px;padding:0 20px}.logo{font-size:17px}.logo-symbol{width:31px;height:34px}.header-right{gap:10px}.role-badge{display:none}.dashboard{padding:24px}.dashboard-hero{gap:25px}.dashboard-hero h1{font-size:28px}.hero-score{width:260px;padding:20px}.class-grid{grid-template-columns:repeat(2,1fr)}.workflow-strip{padding:18px 12px;font-size:9px}.workflow-strip b{margin-right:4px}.review-layout{grid-template-columns:1fr}.submission-panel{max-height:220px}.submission-row{display:inline-flex;width:calc(50% - 6px);vertical-align:top;margin-right:6px}.roster-empty{padding:8px}.roster-empty p{display:inline;margin:0 10px}.roster-empty>svg{display:none}.review-score .parts-panel{width:145px}.page-title-row{align-items:flex-start;flex-direction:column}.assignment-fields{grid-template-columns:1fr}.login-note{display:none}.login-layout{justify-content:center;min-height:550px}.join-layout{grid-template-columns:1fr;max-width:550px}.join-art{padding:35px}.join-art .decor-staff,.join-art-footer{display:none}.join-art h1{margin:15px 0}.join-art p{margin:0}.join-form{padding:35px}.input-dock{flex-direction:column}.input-position{width:100%;border-right:0;display:flex;align-items:center;gap:12px;padding:0}.input-position .eyebrow{display:none}.input-position>select{width:auto;margin-left:auto}.input-position strong{margin:0;max-width:180px}.input-position .position-controls{margin-left:0}.pitch-keys,.pitch-keys button{flex:1}.input-hint{margin-top:8px}.student-page{padding:25px 18px 115px}.student-assignment h1{font-size:25px}.student-status{gap:20px;align-items:center}.student-status>span:last-child{font-size:9px;text-align:right}.editor-top{padding:10px}.score-scroll{padding:16px}.score-paper{padding:25px 16px}.student-name{font-size:10px}.submit-bar small{font-size:9px;max-width:230px}.compose-page,.classroom-page{padding:24px 18px}.editor-tools{gap:2px}}@media(max-width:560px){h1{font-size:29px}.dashboard{padding:22px 20px}.breadcrumb{margin-bottom:22px}.dashboard-hero{padding:5px 0 30px}.dashboard-hero h1{font-size:29px}.hero-score{display:none}.class-grid{grid-template-columns:1fr}.new-card{min-height:100px;flex-direction:row}.section-heading{align-items:flex-start;gap:12px}.section-heading p{max-width:140px;text-align:right;font-size:9px}.workflow-strip{flex-wrap:wrap;row-gap:14px}.workflow-strip>svg{display:none}.workflow-strip>span{width:50%;text-align:center}.class-card{padding:20px}.class-card-top{margin-bottom:18px}.login-layout{padding:45px 25px}.login-card{width:100%}.login-card h1{font-size:30px}.join-layout{margin:18px 14px}.join-art{padding:28px}.join-art h1{font-size:27px}.join-art .eyebrow{font-size:8px}.join-art p{font-size:11px}.join-form{padding:30px 25px}.join-form h2{font-size:24px}.page-title-row .row{width:100%;gap:8px}.page-title-row .row>*{flex:1;padding:10px;font-size:10px}.page-title-row h1{font-size:25px}.assignment-fields{padding:17px;gap:15px}.editor-body{flex-direction:column}.parts-panel,.review-score .parts-panel{width:100%;border-right:0;border-bottom:1px solid var(--line);padding:8px 10px;display:flex;overflow:auto;gap:5px;align-items:center}.parts-panel .panel-caption,.parts-panel>p,.parts-panel>label,.parts-panel>.text-button{display:none}.parts-panel>.part-button{width:auto;white-space:nowrap;font-size:10px;flex-shrink:0}.part-row{flex-shrink:0;max-width:160px;margin:0}.part-row .part-button{font-size:10px;padding:6px}.part-number,.part-button small{display:none}.parts-panel>select{width:130px;flex-shrink:0;margin:0;min-height:36px}.editor-top{flex-wrap:wrap;gap:6px}.editor-label{font-size:10px}.editor-label>svg{width:14px}.editor-label .muted{font-size:8px}.editor-tools{margin-left:auto}.editor-tools .button{font-size:9px;padding:7px}.editor-tools select{font-size:9px;padding:5px;max-width:90px}.editor-tools .divider{margin:0 3px}.editor-tools .icon-button{width:25px}.zoom-value{font-size:9px;min-width:28px}.score-settings{gap:9px;flex-wrap:wrap;padding:8px 10px}.score-settings label{font-size:9px}.score-settings select{font-size:10px}.score-scroll{max-height:450px;padding:12px}.score-paper{padding:22px 12px}.input-dock{padding:12px 10px;gap:9px}.input-position{gap:6px}.input-position strong{font-size:10px;max-width:95px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.position-controls{font-size:9px}.input-position>select{font-size:9px}.duration-row{gap:5px}.segmented button{min-width:32px;min-height:30px;font-size:9px}.duration-row>.button{padding:7px;font-size:9px}.duration-row>.icon-button{width:25px}.pitch-row{gap:6px}.pitch-row>select{font-size:9px}.pitch-row .accidental button{min-width:25px;font-size:17px}.pitch-keys{flex-basis:100%;order:2;gap:6px}.pitch-keys button{min-height:53px}.chord-toggle{margin-left:auto;font-size:10px}.input-hint{font-size:8px}.student-assignment{gap:10px}.student-assignment h1{font-size:23px}.student-assignment .eyebrow{font-size:8px}.student-name .student-avatar{display:none}.instruction{font-size:11px}.submit-bar{padding:12px 15px;gap:12px}.submit-bar b{font-size:10px}.submit-bar small{font-size:8px;max-width:170px}.submit-bar .button{font-size:10px;padding:11px}.modal{padding:25px}.qr-modal h2{font-size:17px}.invite-code{font-size:25px}.connection{font-size:8px}.review-heading h2{font-size:18px}.paper-heading h2{font-size:19px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.edit-actions{display:inline-flex;align-items:center;gap:2px}@media(max-width:560px){.duration-row .segmented button{min-height:36px;min-width:34px}.pitch-keys button{min-height:54px}.input-dock .edit-actions .icon-button{width:34px;height:36px}}body{background:#f2f6fc;color:#233953}.app-header{background:#fff;border-bottom:1px solid #dae5ef}.logo-symbol{background:#168ed5}.logo-light{color:#269ddd}.role-badge{background:#eaf5ff;color:#4888b4}.button.primary{background:#168ed5;border-color:#168ed5;color:#fff}.button.primary:hover{background:#087bc0}.notation-link{font-size:12px;color:#258fca;padding:7px 12px;border:1px solid #c4e4f7;border-radius:6px;background:#f3faff}.compose-page{max-width:none;padding:18px 24px}.compose-page .page-title-row{margin-bottom:15px}.compose-page .page-title-row h1{font-size:23px;line-height:1.2;margin:5px 0}.compose-page .back-link{font-size:10px}.compose-page .assignment-fields{padding:0;border:0;background:none;margin-bottom:14px;grid-template-columns:minmax(180px,1fr) 2fr;gap:16px}.compose-page .assignment-fields input,.compose-page .assignment-fields textarea{min-height:36px;padding:8px 10px;font-size:12px;border-color:#d3e2ef;background:#fff}.compose-page .assignment-fields textarea{height:36px}.compose-page .assignment-fields label{gap:5px;font-size:10px;color:#7e93a7}.compose-page .notation-studio{height:calc(100dvh - 245px)}.room-page .notation-studio{height:calc(100dvh - 220px)}.student-page .notation-studio{height:calc(100dvh - 240px)}.submit-bar{background:#f7fbff;border-color:#d3e3f1}.student-pill,.student-row.selected{background:#e3f2ff;color:#2678ae}.teacher-layout .notation-studio{min-height:570px}.assignment-fields{border-color:#d3e2ef}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#37a6e7}.hero-panel{background:linear-gradient(115deg,#e4f5ff,#edf0ff 65%,#fff3e5)}.eyebrow{color:#3f96c7}.workflow-strip{display:none}@media(max-width:600px){.compose-page{padding:12px 8px}.compose-page .assignment-fields{grid-template-columns:1fr;gap:7px}.compose-page .page-title-row h1{font-size:20px}.compose-page .notation-studio{height:calc(100dvh - 260px)}.room-page .notation-studio,.student-page .notation-studio{height:calc(100dvh - 210px)}}.dashboard-actions{display:flex;justify-content:flex-end;padding:18px 0 24px}.dashboard .class-section{border-top:0;padding-top:0}.dashboard .empty-state{padding:40px;color:#91a7bc}.pin-entry{min-height:70dvh;display:grid;place-items:center;padding:24px}.pin-entry form{position:relative;display:grid;grid-template-columns:1fr auto;gap:12px;width:min(340px,100%)}.pin-entry input{width:100%;font-size:32px;letter-spacing:14px;text-align:center;min-height:64px}.pin-entry .error{position:absolute;top:100%;left:0;right:0;margin:12px 0 0}.student-name input{max-width:230px;background:transparent;border:1px solid #cbdde9;min-height:36px;padding:6px 10px}.login-card>input{margin-bottom:14px}.notation-studio{--nt-blue: #168bd2;--nt-ink: #24344b;--nt-border: #dbe4ee;color:var(--nt-ink);background:#fff;border:1px solid #cfdce9;border-radius:10px;overflow:hidden;box-shadow:0 8px 35px #2c5b8220;display:flex;flex-direction:column;min-height:640px;height:calc(100dvh - 165px);font:13px/1.4 Inter,Segoe UI,Malgun Gothic,sans-serif}.nt-menubar{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:4px 14px;background:linear-gradient(115deg,#effaff,#f5f5ff 65%,#fff6ed);border-bottom:1px solid var(--nt-border);gap:12px}.nt-document{display:flex;align-items:center;gap:9px;font-weight:650;min-width:0}.nt-document>svg{color:var(--nt-blue);flex-shrink:0}.nt-document>span:first-of-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:420px}.nt-document-type{font-size:9px;color:#8298ac;letter-spacing:1.8px;font-weight:600}.nt-menu-actions{display:flex;align-items:center;gap:4px}.nt-menu-actions select{padding:4px 7px;min-height:30px;font-size:11px;border:0;background:transparent;width:94px;color:#4a6178}.nt-toolbar{display:flex;align-items:center;gap:0;flex-wrap:wrap;min-height:53px;padding:5px 8px;border-bottom:1px solid var(--nt-border);background:#fff;z-index:2}.nt-tool-group{display:flex;align-items:center;gap:2px;padding:0 8px;border-right:1px solid #e3e9f1}.nt-tool-group:last-child{border:0}.nt-tool{display:inline-flex;align-items:center;justify-content:center;width:33px;height:35px;min-width:33px;min-height:0;padding:0;border:1px solid transparent;border-radius:5px;background:transparent;color:#53657c;position:relative;transition:background .1s,color .1s}.nt-tool:hover{background:#edf6fd;color:#0879c2}.nt-tool.active{background:#d9f0ff;border-color:#a8d7f5;color:#087bc0;box-shadow:inset 0 -2px #1b9bdd}.nt-tool:disabled{opacity:.28}.nt-file{cursor:pointer;flex-direction:row}.nt-file input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;min-height:0;padding:0}.nt-dot{font-size:31px;line-height:1}.nt-music-symbol{font-family:Segoe UI Symbol,Noto Music,serif;font-size:26px}.triplet-symbol{font-family:Georgia,serif;font-size:19px}.chord-symbol{font-size:24px}.nt-voices .nt-tool{width:26px;min-width:26px;height:28px;font-size:12px}.nt-voices .nt-tool:nth-child(1){color:#168bd2}.nt-voices .nt-tool:nth-child(2){color:#aa5cba}.nt-voices .nt-tool:nth-child(3){color:#d88128}.nt-voices .nt-tool:nth-child(4){color:#229e8b}.nt-transport{margin-left:auto}.nt-transport .nt-tool{color:#189681;background:#eaf8f2}.nt-workspace{display:flex;flex:1;min-height:0;position:relative}.nt-parts{width:177px;min-width:177px;border-right:1px solid var(--nt-border);background:#f8fbff;overflow:auto;padding:14px 8px}.nt-parts-heading{display:flex;align-items:center;justify-content:space-between;padding:0 6px 12px;color:#8a9bb0;font-weight:700;font-size:10px;letter-spacing:1.3px}.nt-parts-heading select{width:29px;padding:0;min-height:26px;font-size:16px;border:0;background:#e8f3fc;color:#2f91c9;cursor:pointer}.nt-part{display:flex;align-items:center;margin-bottom:4px;border-radius:6px;min-height:40px;border:1px solid transparent}.nt-part.active{background:#e3f2fe;border-color:#c7e4f8}.nt-part>button:first-child{display:flex;gap:9px;align-items:center;flex:1;text-align:left;border:0;background:none;padding:9px 5px;font-size:12px;color:#354b63;min-width:0}.nt-part>button:first-child>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nt-part-index{font-size:9px;color:#91a7bc;font-variant-numeric:tabular-nums}.nt-part>.nt-tool{width:24px;min-width:24px;height:24px;color:#8b9dae}.nt-part>.nt-tool.active{color:#bd8029;background:#fff4d9;border-color:#f1dfb5;box-shadow:none}.nt-part-name{margin-top:16px;font-size:11px;padding:7px;min-height:30px;border:1px solid #dee8f2}.nt-add-measure{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;margin-top:15px;padding:8px;border:1px dashed #b5d2e6;border-radius:5px;font-size:11px;background:#eff8ff;color:#4085b5}.notation-viewport{position:relative;flex:1;min-width:0;overflow:auto;background:#e8eef5;background-image:radial-gradient(#cbd7e5 .7px,transparent .7px);background-size:12px 12px;overscroll-behavior:contain;padding:26px 28px 50px;scrollbar-color:#b7c9d9 #e8eef5;touch-action:pan-x pan-y pinch-zoom}.notation-scaled{position:relative;margin:0 auto}.notation-page{transform-origin:top left;background:#fff;box-shadow:0 3px 15px #29456122;min-height:700px;-webkit-user-select:none;user-select:none}.notation-page>div{background:#fff}.notation-page svg{display:block}.note-entry .notation-page{cursor:crosshair;touch-action:pinch-zoom}.selected-note path,.selected-note rect{fill:#078fe2!important;stroke:#078fe2!important}.render-indicator{position:sticky;top:0;left:50%;width:6px;height:6px;background:#299bdd;display:block;border-radius:50%;z-index:3;animation:nt-pulse .8s alternate infinite}@keyframes nt-pulse{to{opacity:.2}}.nt-status{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--nt-border);background:#f8fbff;padding:3px 12px;min-height:34px;font-size:10px;color:#7a8da2}.nt-status>div{display:flex;align-items:center;gap:10px;min-width:0}.nt-status b{color:#3a617c;font-size:10px;font-weight:600}.nt-status strong{color:#198dd0;font-size:11px}.nt-mode-dot{width:6px;height:6px;background:#a0b2c5;border-radius:50%}.nt-mode-dot.write{background:#1f9de4}.nt-status .nt-tool{height:25px;width:25px;min-width:25px}.nt-status input[type=range]{width:85px;min-height:16px;padding:0;border:0;accent-color:#299fda}.nt-status>div>span:not(.nt-mode-dot){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nt-message{padding:8px 14px;color:#81682c;background:#fff8e5;font-size:12px;display:flex;justify-content:space-between}.nt-message.error{color:#a94c57;background:#fff0f2;margin:0;border:0;border-radius:0}.nt-message button{border:0;background:none;color:inherit;font-size:18px;padding:0 4px}.nt-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#20385466;display:grid;place-items:center;z-index:50;padding:20px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.nt-new-dialog{padding:26px;background:#fff;border-radius:12px;width:min(480px,100%);box-shadow:0 20px 80px #102b5750}.nt-new-dialog h2{font-size:20px;margin-bottom:20px}.nt-new-dialog label{font-size:11px;color:#7087a0}.nt-new-dialog input,.nt-new-dialog select{border:1px solid #d4e1ec;color:#2e455c;min-width:0}.nt-dialog-fields{display:grid;grid-template-columns:1fr 1fr 1.5fr 1fr;gap:10px;margin-top:18px}.nt-dialog-fields input{width:100%}.nt-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.nt-dialog-actions button{border:1px solid #dce7ef;border-radius:6px;padding:9px 20px;background:#fff;color:#45637d}.nt-dialog-actions .primary{background:#168ed5;color:#fff;border-color:#168ed5}.standalone-shell{height:100dvh;background:#edf4fb;display:flex;flex-direction:column;padding:0 12px 12px}.standalone-header{display:flex;align-items:center;gap:18px;height:53px;padding:0 12px}.standalone-header .brand{font-size:18px;font-weight:700;letter-spacing:-.7px;color:#1d486d}.standalone-header .brand span{color:#1b9cda}.standalone-header .workspace-tag{font-size:10px;letter-spacing:2px;color:#829ab0}.standalone-header a{margin-left:auto;font-size:11px;color:#58a}.standalone-header input{max-width:280px;border:0;background:transparent;min-height:30px;padding:3px 8px;font-size:13px}.standalone-header small{font-size:10px;color:#7793a9}.standalone-shell>.notation-studio{flex:1;height:auto;min-height:0}.standalone-license{font-size:9px;color:#8498aa;padding:7px 5px 0;display:flex;justify-content:flex-end}@media(max-width:800px){.nt-toolbar{flex-wrap:nowrap;overflow-x:auto;min-height:53px;scrollbar-width:thin}.nt-tool-group{flex-shrink:0;padding:0 5px}.nt-transport{margin-left:0}.nt-parts{position:absolute;inset:0 auto 0 0;z-index:5;box-shadow:8px 0 20px #32475b20;width:170px}.nt-document-type{display:none}.nt-document>span:first-of-type{max-width:190px}.nt-status{padding:4px 6px}.nt-status>div{gap:4px}.nt-status>div:first-child>span:nth-of-type(2){max-width:160px}.nt-status input[type=range]{display:none}.notation-viewport{padding:18px 16px 40px}.nt-menubar{padding:4px 8px}.notation-studio{min-height:550px;height:calc(100dvh - 160px)}.standalone-shell{padding:0}.standalone-header{padding:0 12px;gap:10px}.standalone-header .workspace-tag{display:none}.standalone-header input{width:140px}.standalone-header small{display:none}.standalone-shell>.notation-studio{border-radius:0;border-left:0;border-right:0}.standalone-license{display:none}}@media(max-width:480px){.nt-document>span:first-of-type{max-width:105px;font-size:12px}.nt-menu-actions select{width:74px;font-size:10px}.nt-status>div:first-child>span:nth-of-type(2){max-width:115px}.nt-status>div:first-child strong{display:none}.nt-tool{height:38px;width:36px;min-width:36px}}.nt-parts{position:absolute;inset:0 auto 0 0;z-index:6;box-shadow:8px 0 24px #32475b22;width:190px;min-width:190px}.nt-inline-name{z-index:45;border:2px solid #168bd2!important;background:#fff!important;border-radius:3px;padding:3px 5px;box-shadow:0 3px 14px #2345;min-height:28px;color:#24344b}.nt-bracket-icon{font:27px Georgia,serif}.nt-groups-dialog{width:min(650px,100%);max-height:85dvh;overflow:auto}.nt-group-row{display:flex;gap:7px;align-items:center;margin-bottom:12px}.nt-group-row select{width:30%;font-size:12px;padding:6px;min-height:34px}.nt-group-row select:nth-of-type(3){width:65px;font:20px Georgia,serif}.nt-group-row label{display:flex;align-items:center;gap:2px}.nt-group-row input{width:15px;height:15px;min-height:0}.nt-group-row button{padding:3px 8px;background:transparent;border:0;font-size:20px}.nt-toolbar{flex-wrap:nowrap;overflow-x:auto;min-height:53px}.nt-tool-group{flex-shrink:0}.notation-viewport{padding:18px 18px 35px}.assignment-workspace-shell{border:1px solid #ccdfed;border-radius:8px;overflow:hidden;background:#eef5fc}.workspace-layout-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:4px 10px;background:#f7fbff}.workspace-layout-tools button,.reference-tools button{padding:5px;border:0;background:transparent;color:#3a759e;min-height:28px}.workspace-layout-tools button[aria-pressed=true]{background:#cfeaff;border-radius:4px}.workspace-layout-tools input{width:90px;min-height:20px;padding:0;accent-color:#168bd2}.assignment-workspace{display:flex;height:calc(100dvh - 230px);min-height:540px;overflow:hidden}.assignment-workspace.stack{flex-direction:column}.reference-view{display:flex;flex-direction:column;flex:0 0 var(--reference-size, 35%);min-height:0;min-width:0;background:#fff;overflow:hidden;border-bottom:3px solid #c9dfef}.assignment-workspace.side>.reference-view{border-right:3px solid #c9dfef;border-bottom:0}.reference-tools{display:flex;gap:6px;padding:3px 8px;align-items:center;border-bottom:1px solid #e4edf4;flex-shrink:0}.reference-tools select{min-height:28px;font-size:12px;padding:3px;width:100%;border:0;background:transparent}.reference-instruction{padding:8px 12px;white-space:pre-wrap;overflow:auto;max-height:110px;flex-shrink:0;font-size:13px;line-height:1.5}.reference-content{display:flex;flex:1;min-height:0;overflow:auto}.reference-content .notation-viewport{padding:8px;background:#edf3f9}.reference-content iframe{width:100%;height:100%;border:0;min-height:100px}.reference-image-scroll{width:100%;overflow:auto;padding:8px}.reference-image-scroll img{display:block;margin:auto}.answer-workspace{flex:1;min-height:0;min-width:0;overflow:auto;display:flex;flex-direction:column}.answer-workspace>.notation-studio{height:100%!important;min-height:0;flex:1;border:0;border-radius:0}.answer-text{width:100%;min-height:150px;resize:vertical;border:1px solid #cbddea;padding:14px;background:#fff;line-height:1.6}.answer-workspace>.answer-text{flex:1;margin:0;min-height:120px}.answer-workspace>.answer-text.with-score{flex:0 0 100px;min-height:75px}.material-composer{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}.material-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;background:#e4f2fe;border-radius:5px;font-size:12px}.material-chip button{border:0;background:none;padding:3px}.reference-preview{height:260px;display:flex;margin-bottom:12px}.reference-preview>.reference-view{flex:1}.submitted-text{padding:14px;white-space:pre-wrap;background:#f1f8ff;border:1px solid #d4e7f5;margin-bottom:12px}@media(max-width:700px){.assignment-workspace.side{flex-direction:column}.assignment-workspace.side>.reference-view{border-right:0;border-bottom:3px solid #c9dfef}.assignment-workspace{height:calc(100dvh - 190px);min-height:580px}.reference-instruction{max-height:85px;font-size:12px}.student-assignment{margin-bottom:8px}.student-assignment h1{font-size:19px}.reference-tools select{max-width:none}}.workspace-divider{flex:0 0 6px;background:#d1e3f0;cursor:row-resize;touch-action:none}.workspace-divider:hover,.workspace-divider:focus{background:#70b7e6}.assignment-workspace.side>.workspace-divider{cursor:col-resize}@media(max-width:700px){.assignment-workspace.side>.workspace-divider{cursor:row-resize}}.student-page{padding-top:12px}.student-assignment{margin-bottom:10px}.student-assignment h1{font-size:22px;margin:0}.student-status{margin-bottom:10px}.assignment-workspace{height:calc(100dvh - 210px)}@media(max-width:700px){.student-page{padding:10px 8px 90px}.student-assignment{gap:8px}.student-assignment h1{font-size:17px}.student-name input{max-width:150px}.assignment-workspace{min-height:530px;height:calc(100dvh - 210px)}}.assignment-workspace.stack>.text-reference{flex-basis:auto;max-height:35%;min-height:100px}.text-reference .reference-content,.text-reference .reference-tools button{display:none}
