:root{--blue:#1a73e8;--ink:#333;--line:#ddd;--bar:#f8f8f8;-webkit-text-size-adjust:100%;font-family:-apple-system,Hiragino Sans,Noto Sans JP,sans-serif}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{color:var(--ink);overscroll-behavior:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-touch-callout:none;background:#fff}button{font:inherit;color:inherit}[hidden]{display:none!important}.screen{flex-direction:column;height:100dvh;display:flex}.topbar{padding:6px 12px;padding-top:max(6px, env(safe-area-inset-top));border-bottom:1px solid var(--line);background:#f2f2f2;align-items:center;gap:8px;display:flex}.topbar .title{text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:700;overflow:hidden}.badge{white-space:nowrap;background:#fff3c4;border:1px solid #f0d078;border-radius:8px;padding:4px 8px;font-size:12px}.linkbtn{background:0 0;border:none;min-width:44px;min-height:44px;padding:8px;font-size:16px}.score{-webkit-overflow-scrolling:touch;flex:1;padding:4px 8px;overflow:auto}.score.selecting{outline:3px solid var(--blue);outline-offset:-3px}#osmd{min-height:200px}.ctl{padding:8px;padding-bottom:max(8px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bar);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn{white-space:nowrap;background:#fafafa;border:1.5px solid #888;border-radius:12px;justify-content:center;align-items:center;gap:4px;min-height:44px;padding:8px 10px;font-weight:700;display:inline-flex}.btn.big{padding:10px 18px;font-size:18px}.btn[aria-pressed=true]{background:var(--blue);color:#fff;border-color:var(--blue)}.btn:disabled{opacity:.4}.tempo{background:#fff;border:1.5px solid #888;border-radius:12px;align-items:center;gap:4px;padding:2px 6px;display:inline-flex}.tempo b{text-align:center;min-width:44px;font-size:20px}.tempo button{background:#fafafa;border:1px solid #888;border-radius:8px;min-width:44px;min-height:44px;padding:2px 6px;font-size:16px}.seg{border:1.5px solid #888;border-radius:12px;display:inline-flex;overflow:hidden}.seg button{white-space:nowrap;background:#fafafa;border:none;flex:1 1 0;min-height:44px;padding:8px 12px;font-weight:700}.seg button[aria-pressed=true]{background:var(--blue);color:#fff}.status{color:#666;width:100%;height:30px;font-size:14px;line-height:30px}.status.count{color:var(--blue);font-size:22px;font-weight:700}.list{flex-direction:column;gap:12px;padding:12px;display:flex;overflow:auto}.card{text-align:left;background:#fafafa;border:1.5px solid #888;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:18px 16px;font-size:18px;display:flex}.card .sub{color:#666;font-size:13px;font-weight:400}.card.broken{color:#b71c1c;border-color:#e57373}.msg{text-align:center;padding:24px;font-size:18px}.help{padding:16px;padding-top:max(16px, env(safe-area-inset-top));z-index:10;-webkit-user-select:text;user-select:text;background:#fff;position:fixed;inset:0;overflow:auto}.help h2{margin:8px 0 12px}.help li{margin:8px 0;font-size:17px;line-height:1.5}.help .close{float:right;position:sticky;top:0}.help small{color:#666}@media (orientation:portrait){.ctl .btn,.ctl .seg{flex:auto}}
