:root{font-family:Inter,system-ui,'Microsoft YaHei',sans-serif;color:#eaf0f4;background:#101b24;color-scheme:dark;--muted:#a4b5c1;--accent:#98e8ce}*{box-sizing:border-box}body{margin:0}a{color:var(--accent)}button,input,select,textarea{font:inherit}button,select,input[type=number]{border:1px solid #445563;border-radius:10px;background:#243441;color:#edf5f5;padding:10px 13px;min-height:44px}button{cursor:pointer}button:disabled{opacity:.42;cursor:default}button:hover:enabled{background:#365463}button.primary{background:var(--accent);color:#102e29;border-color:var(--accent);font-weight:700}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #edbb6c;outline-offset:3px}header,main,footer{max-width:1100px;margin:auto;padding:24px}header{display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{font-size:20px;font-weight:800;letter-spacing:-.7px;color:#fff;text-decoration:none}.brand span{color:var(--accent)}header label{display:flex;gap:10px;align-items:center;font-size:13px}h1{max-width:850px;font-size:clamp(32px,5vw,52px);line-height:1.15;letter-spacing:-1.5px;margin:12px 0 18px}h2{font-size:21px}p{line-height:1.7;color:var(--muted)}.intro{max-width:780px;margin-bottom:30px;font-size:18px}.card{border:1px solid #334653;background:#172731;padding:24px;border-radius:18px;margin:20px 0}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0}.settings label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#c2d0d7}select{width:100%}input[type=number]{width:100%}.settings .row{align-items:stretch}.settings .row button{font-size:12px;padding:8px}.hint{font-size:13px;color:var(--muted);line-height:1.6}.badge{padding:7px 11px;background:#253c45;border-radius:30px;font-size:13px;color:var(--accent)}#pad{width:100%;height:155px;margin:20px 0;background:#204640;border:2px dashed #6cac9b;font-size:clamp(18px,3vw,26px);font-weight:700;touch-action:none;user-select:none}#pad.flash{background:#529d86;color:#071b13}#status{min-height:24px;color:var(--accent)}#score{overflow:auto;background:#fff;border-radius:12px;margin:18px 0;color:#172b34;min-height:96px}#score:empty::before{content:'♪';display:block;padding:22px;font-size:36px;text-align:center;color:#81999b}#score svg{display:block;width:100%;min-width:560px;height:auto}#score g.active>rect{fill:#b4ebd7}#timeline{width:100%;height:105px;display:block}.sharebox{width:100%;padding:12px;background:#102029;color:white;border:1px solid #648e89;border-radius:8px;margin-top:12px}.formats select{width:180px}.language-links{display:flex;flex-wrap:wrap;gap:12px;font-size:13px}.guides{display:grid;grid-template-columns:1fr 1fr;gap:16px}.guides details{border-top:1px solid #3a4a55;padding:18px 0}.guides summary{font-weight:650;cursor:pointer;line-height:1.5}.guides p{font-size:14px}footer{border-top:1px solid #334653;padding-bottom:42px;font-size:13px}input[type=checkbox]{accent-color:#9be7cf}noscript{display:block;padding:20px}#import-file{display:none}[hidden]{display:none!important}@media(max-width:700px){header,main,footer{padding:18px}.card{padding:18px}.settings{grid-template-columns:1fr 1fr}.guides{grid-template-columns:1fr}.row button{flex-grow:1}header{align-items:flex-start}header label{max-width:190px;flex-direction:column;align-items:flex-start}h1{letter-spacing:-.5px}}@media(max-width:420px){.settings{grid-template-columns:1fr}.formats select{width:100%}}@media print{body{background:#fff;color:#000}header,.intro,.input-card,.controls,.guides,footer,#timeline,.hint,.export-row,#status,.no-print{display:none!important}main,.card{padding:0;margin:0;border:0;background:white}h1{font-size:20px}#score{overflow:visible}#score svg{min-width:0;width:100%}#summary{color:#000}}

header label{white-space:nowrap}fieldset{border:0;padding:0;margin:0;min-width:0}.note-editor{border-top:1px solid #445563;padding-top:12px}.note-editor input{width:100%;min-width:0;background:#243441;color:#edf5f5;border:1px solid #445563;border-radius:10px;padding:10px 13px;min-height:44px}.note-editor>.row{margin-top:12px}#score g.selected>rect{stroke:#317a69;stroke-width:2}#score [data-note]:not([data-note="-1"]){cursor:pointer}@media print{#score g.selected>rect{stroke:none}}
