:root{color:#243d32;font-synthesis:none;background:#faf9f6;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif;font-size:14px}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,summary{font:inherit}select{font:inherit;color:#42543f;background:#fff;border:1px solid #d9ddd2;border-radius:5px;padding:6px}button{color:#33463b;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #dedfd7;border-radius:7px;padding:10px 15px;transition:background .15s,box-shadow .15s}button:hover:enabled{background:#f0f3ed;box-shadow:0 2px 7px #22362c0b}button:disabled{opacity:.4;cursor:default}button:focus-visible,summary:focus-visible,input:focus-visible{outline-offset:3px;outline:2px solid #4f8068}button.primary{color:#fff;background:#315e49;border-color:#315e49}button.primary:hover:enabled{background:#244b39}button.text-button{background:0 0;border-color:#0000}.topbar{border-bottom:1px solid #e6e6dc;justify-content:space-between;align-items:center;max-width:1340px;height:78px;margin:auto;padding:0 42px;display:flex}.brand{color:#284c38;letter-spacing:-.8px;align-items:center;gap:12px;font-family:Georgia,serif;font-size:27px;text-decoration:none;display:flex}.brand-mark{place-items:center;width:32px;height:36px;font-size:32px;display:grid}.brand-sub{letter-spacing:1px;color:#849084;border-left:1px solid #d9ded5;margin-left:5px;padding-left:16px;font:12px -apple-system,sans-serif}.local-badge{color:#718173;align-items:center;gap:7px;font-size:12px;display:flex}.local-badge span{background:#7b9e85;border-radius:50%;width:6px;height:6px}main{max-width:1260px;margin:auto;padding:40px 42px 0}.intro{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.eyebrow{letter-spacing:2.5px;color:#9b9d83;margin:0 0 13px;font-size:10px}h1{letter-spacing:1px;margin:0 0 12px;font-family:Songti SC,Noto Serif CJK SC,Georgia,serif;font-size:32px;font-weight:500}.intro p:last-child{color:#849083;margin:0;font-size:13px;line-height:1.8}.prototype{color:#8b907c;border:1px solid #e0e1d6;border-radius:30px;padding:6px 12px;font-size:11px}.controls{background:#f2f2eb;border:1px solid #e7e7de;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;padding:14px;display:flex}.actions,.settings{align-items:center;gap:7px;display:flex}.divider{background:#dddfd4;width:1px;height:20px;margin:0 5px}.settings{color:#7b8578;gap:14px;font-size:12px}.settings input[type=number]{color:#42543f;background:#fff;border:1px solid #d9ddd2;border-radius:5px;width:53px;margin:0 3px;padding:7px 3px 7px 7px}.meter-label{border-left:1px solid #d9ddd2;padding-left:14px}.options{position:relative}.options summary{cursor:pointer}.options-panel{z-index:2;background:#fff;border:1px solid #e1e3d7;border-radius:10px;width:290px;padding:20px;line-height:1.7;position:absolute;top:28px;right:0;box-shadow:0 10px 35px #223d3118}.options-panel label{align-items:center;gap:8px;display:flex}.options-panel input{accent-color:#315e49;width:110px}.options-panel input[type=checkbox]{width:auto}.status-strip{color:#7e8c7f;justify-content:space-between;align-items:center;gap:16px;min-height:53px;padding:9px 3px;font-size:12px;display:flex}.status-strip>div:first-child{align-items:center;gap:9px;line-height:1.6;display:flex}.indicator{background:#b6bcad;border-radius:50%;flex:0 0 6px;width:6px;height:6px}.indicator.active{background:#4e8c64;box-shadow:0 0 0 4px #4e8c6412}.indicator.error{background:#bc7058}.record-info{font-variant-numeric:tabular-nums;align-items:center;gap:15px;display:flex}.level-track{background:#e4e8dd;border-radius:3px;width:68px;height:4px;overflow:hidden}#level{background:#68987c;width:0;height:100%;transition:width .12s}.paper{background:#fff;border:1px solid #e4e5dc;border-radius:4px;box-shadow:0 5px 24px #24392b05}.paper-heading{justify-content:space-between;align-items:center;gap:15px;padding:30px 36px 20px;display:flex}.paper-heading p{color:#a7aa97;letter-spacing:2px;margin:0 0 7px;font:9px Georgia,serif}h2{margin:0;font-family:Songti SC,Georgia,serif;font-size:23px;font-weight:500}.paper-heading>div:last-child{gap:5px;display:flex}.paper-heading button{padding:8px 10px;font-size:12px}.score-scroll{max-height:68vh;padding:0 24px;overflow:auto}#score{min-width:740px}#score svg{display:block}.paper-footer{color:#9a9e8e;border-top:1px solid #f0f0e9;justify-content:space-between;gap:16px;padding:15px 36px;font-size:11px;display:flex}#playback-notes{color:#b86828;font-variant-numeric:tabular-nums;font-weight:600}#score .is-playing path,#score .is-playing text{fill:#c47a32!important;stroke:#c47a32!important}#score .is-playing{filter:drop-shadow(0 0 3px #efb76c66)}.calibration-panel{background:#f4f7f1;border:1px solid #dbe4d7;border-radius:10px;margin:0 0 20px;padding:20px 24px}.calibration-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.calibration-heading h2{font-size:20px}#calibration-steps{color:#99a391;flex-wrap:wrap;gap:8px 24px;margin:16px 0 22px;padding-left:20px;font-size:12px;display:flex}#calibration-steps .current{color:#315e49;font-weight:600}#calibration-steps .done{color:#729070}#calibration-prompt{color:#315e49;margin-bottom:10px;font-size:16px}#calibration-detail{color:#6b7f66;min-height:40px;font-size:13px;line-height:1.8}.calibration-actions{flex-wrap:wrap;gap:8px;display:flex}.calibration-tip{color:#929b85;margin-bottom:0;font-size:11px;line-height:1.8}#calibration-summary{margin-top:4px}.analysis-panel{border-top:1px solid #e2e4d9;justify-content:space-between;gap:20px;padding:18px 0;display:flex}.analysis-panel p{color:#88957e;max-width:650px;margin:4px 0;font-size:11px;line-height:1.8}.analysis-actions{flex-wrap:wrap;align-content:flex-start;align-items:center;gap:8px;max-width:340px;display:flex}.analysis-actions button{padding:8px 10px;font-size:11px}#library-count{color:#9a9e8d;width:100%;font-size:10px}.details-grid{justify-content:space-between;align-items:center;gap:22px;margin:22px 0 28px;display:flex}.hint{align-items:center;gap:14px;display:flex}.hint-icon{color:#9cad99;width:28px;font-size:32px}h3{color:#687b67;margin:0 0 7px;font-size:12px;font-weight:500}.hint p{color:#98a18f;max-width:470px;margin:0;font-size:11px;line-height:1.8}.metrics{gap:30px;display:flex}.metrics div{gap:6px;display:grid}.metrics span{color:#9a9e8d;font-size:10px}.metrics strong{font-variant-numeric:tabular-nums;color:#667a62;font-size:15px;font-weight:500}.event-details{color:#73826d;border-top:1px solid #e2e4d9;padding:18px 0;font-size:12px}.event-details summary{cursor:pointer}.event-details summary span{color:#a2a898;margin-left:12px;font-size:10px}.event-details p{color:#949d89;line-height:1.8}.table-scroll{max-height:340px;overflow:auto}table{border-collapse:collapse;background:#fff;width:100%}th,td{text-align:left;border-bottom:1px solid #ebeee4;padding:8px 12px}th{font-weight:500}td input{border:1px solid #dfe5d7;border-radius:5px;width:94px;max-width:100%;padding:6px}td button{padding:5px 10px;font-size:11px}footer{color:#a9ae9e;border-top:1px solid #e6e6dc;justify-content:space-between;gap:15px;padding:24px 0 28px;font-size:10px;display:flex}footer a{color:inherit;text-underline-offset:3px}@media (width<=1000px){.topbar{padding:0 24px}main{padding:28px 24px 0}.details-grid{align-items:flex-start}.metrics,.controls{gap:15px}.actions{flex-wrap:wrap}}@media (width<=650px){.analysis-panel{flex-direction:column;gap:10px}.analysis-actions{max-width:100%}.calibration-panel{padding:16px}.paper-footer{flex-wrap:wrap}.topbar{height:66px;padding:0 18px}.brand-sub{display:none}main{padding:26px 14px 0}h1{font-size:26px}.intro{align-items:flex-start;gap:15px}.prototype{margin-top:8px;padding:5px 8px;font-size:10px}.local-badge{font-size:10px}.intro p:last-child{font-size:12px}.controls{padding:10px}.actions{gap:5px}.actions button{padding:9px 10px;font-size:12px}.settings{padding:2px 3px}.paper-heading{flex-wrap:wrap;padding:24px 16px 14px}h2{font-size:20px}.score-scroll{max-height:58vh;padding:0 6px}.paper-footer{padding:13px 16px;font-size:10px}.record-info .level-track{display:none}.status-strip{font-size:11px}.details-grid{flex-direction:column;gap:18px}.metrics{justify-content:space-between;width:100%;padding:0 2px}footer{flex-wrap:wrap}th,td{padding:8px}td input{width:78px}}
