.paper{position:relative;flex:none;max-width:100%;font-variant-numeric:tabular-nums}
.paper .calc-grid{position:absolute;top:var(--paper-top);left:16px;grid-template-columns:var(--op-width) repeat(var(--columns),var(--pitch));grid-template-rows:var(--row) var(--row) 8px 36px var(--row)}
.paper .digit{font-size:58px;line-height:1;letter-spacing:normal;font-weight:500}.paper .operator{font-size:46px}.paper .answer{font-size:56px;font-weight:500}
.margin-anchor{position:absolute;transform:translate(-50%,-50%);padding:0;border:0;background:transparent;border-radius:8px;display:grid;place-items:center;touch-action:manipulation;z-index:2;color:#454541;font-variant-numeric:tabular-nums}
.margin-anchor span{font-size:24px;line-height:1;letter-spacing:normal;min-width:26px;padding:2px 3px}.margin-anchor .multidigit{font-size:22px}
.margin-anchor.debug{outline:1px dashed #b8b8b2;background:#ebebe630}.margin-anchor.active span{outline:1px dashed #b8b8b2;border-radius:6px;background:#fff}.margin-anchor:not(.occupied):not(.debug):not(.active):focus{outline:0}
.margin-pad{position:fixed;z-index:20;width:186px;padding:10px;border:1px solid var(--line);background:#fff;border-radius:18px;box-shadow:0 12px 30px #00000012}
.margin-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.margin-pad button{border:0;border-radius:10px;background:var(--soft);font-size:18px;min-height:44px;padding:0}.margin-pad .small-action{font-size:13px}.margin-pad .margin-done{display:block;width:100%;background:transparent;color:var(--muted);font-size:14px;margin-top:6px}
#calc .progress{margin-bottom:0}#calc .nav{margin-top:12px}
@media(max-width:560px){.paper .digit{font-size:52px}.paper .operator{font-size:42px}.paper .answer{font-size:50px}.margin-anchor span{font-size:22px}.margin-anchor .multidigit{font-size:20px}#calc .nav{margin-top:8px}body:has(#calc.active) main{padding-top:28px}.editing:has(#calc.active) main{padding-top:8px}}
