:root{font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;color:#202124;background:#fff;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}#app{height:100dvh;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);overflow:hidden}#colhead{height:32px;flex-shrink:0;display:flex;background:#e5e6eb;border-bottom:1px solid #bec1c8;position:relative;z-index:2;overflow:hidden}.rownum{flex:0 0 41px;text-align:center;padding:8px 0;color:#666;border-right:1px solid #c6c6c6}#letters{display:flex;white-space:nowrap;will-change:transform}.letter{flex-shrink:0;text-align:center;padding:8px 0;border-right:1px solid #c6c6c6;font-weight:600}#sheet{flex:1;overflow:auto;overscroll-behavior:contain}#rows{min-width:max-content}.tr{display:flex;min-height:43px}.tr .num{width:41px;flex-shrink:0;position:sticky;left:0;background:#f6f7f9;border-right:1px solid #d9dce0;border-bottom:1px solid #d9dce0;text-align:center;color:#858585;padding:12px 1px;z-index:1}.cell{flex-shrink:0;border-right:1px solid #d9dce0;border-bottom:1px solid #d9dce0;padding:10px 6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;position:relative}.tr.heading{font-weight:700}.tr.heading .cell{white-space:normal;min-height:45px}.cell.selected{outline:2px solid #9b9b9b;outline-offset:-2px}.cell.active{outline:2px solid #3478f6;outline-offset:-2px}.floating{position:absolute;right:12px;top:calc(env(safe-area-inset-top) + 37px);z-index:5;pointer-events:none}.floating button{pointer-events:auto;border:1px solid #ddd;background:#fff;border-radius:50%;width:52px;height:52px;font-size:22px;box-shadow:0 3px 9px #0002}footer{flex-shrink:0;background:#fff;padding:8px 12px 4px;border-top:1px solid #e9e9e9}.controls{display:flex;gap:8px;height:56px}.controls input{min-width:0;flex:1;border:0;background:#f0f0f5;border-radius:14px;padding:0 15px;font-size:19px;outline:none}.controls button{border:0;border-radius:14px;background:#f5f5f8;width:62px;font-size:32px;color:#444}.controls button:disabled{color:#c9c9cd}footer small{display:block;padding:3px 15px;color:#999;font-size:12px}dialog{border:0;border-radius:18px;box-shadow:0 15px 45px #0004;width:min(94vw,440px);max-height:80dvh;overflow:auto;padding:20px}dialog::backdrop{background:#0005}.dialoghead{display:flex;justify-content:space-between;align-items:center;font-size:18px;margin-bottom:16px}.close{background:transparent;border:0;font-size:20px}.menuitem,dialog>button:not(.close),#sheetOptions button{display:block;width:100%;border:0;border-radius:10px;background:#f4f4f7;padding:15px;text-align:left;margin:6px 0;font-size:16px}.menuitem:disabled{opacity:.6}.menuitem small{display:block;font-size:11px}details{padding:14px 10px;border-bottom:1px solid #eee}summary{cursor:pointer;font-size:16px}.legend{display:grid;gap:10px;margin-top:12px}.legend span{display:flex;gap:10px;align-items:center}.legend i{width:15px;height:15px;border-radius:50%;border:1px solid #ddd}label{display:block;margin:15px 0;font-weight:600}label input{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #ddd;border-radius:9px;font-weight:400}.hint{color:#777;font-size:12px;line-height:1.5;margin:14px 0}#connect{background:#188038!important;color:white;text-align:center!important}#editText{width:100%;border:1px solid #ddd;border-radius:8px;padding:12px}
