@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}*{margin:0}input,button,select{font:inherit;color:inherit}button,select,summary{cursor:pointer}input,button,select,summary{touch-action:manipulation}img{max-width:100%}:focus-visible{outline:.125rem solid var(--cc-accent);outline-offset:.125rem}[hidden]{display:none!important}:root{--cc-accent: #b08d57;--cc-accent-strong: #8a6d3b;--cc-accent-soft: #f5f2ea;--cc-danger: #b4472e;--cc-danger-strong: #8f3521;--cc-surface: #ffffff;--cc-surface-muted: #faf8f3;--cc-page-bg: #f3efe6;--cc-text: #3a352c;--cc-text-muted: #6b6457;--cc-text-faint: #a39c8c;--cc-border: #ece7dc;--cc-border-strong: #e0d9ca;--cc-radius-sm: .375rem;--cc-radius: .625rem;--cc-radius-lg: .875rem;--cc-shadow-sm: 0 1px 2px rgba(58, 45, 20, .06);--cc-shadow: 0 6px 20px rgba(58, 45, 20, .07);--cc-shadow-pop: 0 10px 30px rgba(58, 45, 20, .13);--cc-gap: .5rem;--cc-side-pad: 1rem;--cc-key-height: 2.85rem;--cc-key-width: 5.05rem}html{font-size:clamp(.8125rem,.75rem + .4vw,.9375rem);color-scheme:light;-webkit-text-size-adjust:100%}body{height:100vh;height:100svh;display:flex;flex-direction:column;overflow:hidden;font-family:system-ui,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.4;background:var(--cc-page-bg);color:var(--cc-text);overscroll-behavior-y:none}.container{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;width:100%;max-width:52rem;margin:0 auto;padding:1.5rem var(--cc-side-pad) 1rem}.touch-mode .container{padding-bottom:0}.app-col{display:flex;flex-direction:column;flex:0 1 auto;min-height:0;width:100%;max-width:52rem}.touch-mode .app-col{flex:1 1 auto}.calc-table{display:flex;flex-direction:column;flex:0 1 auto;min-height:0}@media(min-width:74rem){.container{max-width:76rem;flex-direction:row;justify-content:center;gap:2rem}.app-col{flex:0 1 52rem;min-width:0}.touch-mode .app-col{flex:1 1 52rem}#shortcuts-region{flex:0 0 18rem;align-self:flex-start;margin-top:0}}h1{font-size:1.6rem;font-weight:700;letter-spacing:-.01em;margin-bottom:.15rem}p{font-size:1rem;margin-bottom:.75rem}.header-container{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:0 1rem;margin-bottom:1.25rem}.title-section{flex:1}.title-section h1{color:var(--cc-text)}.title-section #app-description{margin:0;font-size:.95rem;color:var(--cc-text-muted)}.header-logo{max-height:56px;width:auto;margin-right:.75rem}.calc-header{flex:none;background:var(--cc-surface);border:.07rem solid var(--cc-border);border-bottom:none;border-radius:var(--cc-radius-lg) var(--cc-radius-lg) 0 0;box-shadow:var(--cc-shadow)}.calc-body{background:var(--cc-surface);border-inline:.07rem solid var(--cc-border);box-shadow:var(--cc-shadow);overflow-y:auto;overflow-x:hidden;min-height:6.5rem;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--cc-text-faint) transparent}.calc-header,.calc-footer{position:relative;z-index:2}.calc-table.can-scroll-up .calc-header:after,.calc-table.can-scroll-down .calc-footer:before{content:"";position:absolute;left:0;right:0;height:.75rem;pointer-events:none}.calc-table.can-scroll-up .calc-header:after{top:100%;background:linear-gradient(rgba(58,45,20,.16),transparent)}.calc-table.can-scroll-down .calc-footer:before{bottom:100%;background:linear-gradient(transparent,#3a2d1429)}.calc-footer{flex:none;background:var(--cc-surface-muted);border:.07rem solid var(--cc-border);border-radius:0 0 var(--cc-radius-lg) var(--cc-radius-lg);box-shadow:var(--cc-shadow)}.calc-row.footer{padding-top:.5rem;padding-bottom:.5rem;border-bottom:none;border-radius:0 0 var(--cc-radius-lg) var(--cc-radius-lg)}.calc-row.footer .calc-cell{flex:1;justify-content:flex-end;gap:.5rem}.calc-row{display:flex;align-items:center;padding:.25rem 1rem;border-bottom:.07rem solid var(--cc-border);gap:var(--cc-gap);transition:background-color .15s ease}.calc-body .calc-row:last-child{border-bottom:none}.calc-body .calc-row:hover{background:var(--cc-surface-muted)}.calc-cell{display:flex;align-items:center;padding:0 .3125rem;font-size:1.125rem}.calc-cell.move-handle{flex:0 0 2.25rem;justify-content:center;cursor:grab;color:var(--cc-text-faint);font-size:1rem;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:color .15s ease}.calc-row:hover .calc-cell.move-handle:not(.disabled){color:var(--cc-text-muted)}.calc-cell.operator{flex:0 0 3.75rem;justify-content:flex-start}.calc-cell.operator.first-operator:before{content:"BASE";font-size:.7rem;font-weight:700;letter-spacing:.08em;color:var(--cc-text-faint);padding-left:.4rem}.calc-cell.value{flex:1 1 0;min-width:0;justify-content:flex-end}.calc-cell.value input{width:100%;height:var(--cc-key-height);text-align:right;padding:0 .6rem;font-size:1.05rem;font-variant-numeric:tabular-nums;border:.07rem solid var(--cc-border-strong);border-radius:var(--cc-radius-sm);background:var(--cc-surface);transition:border-color .15s ease,box-shadow .15s ease}.calc-cell.value input:hover{border-color:var(--cc-accent)}.calc-cell.value input:focus,.calc-cell.value input:focus-visible{outline:none;border-color:var(--cc-accent);box-shadow:0 0 0 3px var(--cc-accent-soft)}.calc-cell.cumulative{flex:1 1 0;min-width:0;overflow:hidden;justify-content:flex-end;padding-right:1rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--cc-text)}.calc-cell.delete{flex:0 0 2.5rem;justify-content:center}.calc-cell.delete button{border:none;background:none;padding:.35rem;border-radius:var(--cc-radius-sm);cursor:pointer;font-size:1.05rem;line-height:1;opacity:.55;transition:opacity .15s ease,background-color .15s ease}.calc-cell.delete button:hover{opacity:1;background:#fee2e2}.calc-cell.delete button:active{background:#fecaca}.no-reorder .calc-row.header .calc-cell.move-handle,.no-delete .calc-row.header .calc-cell.delete{display:none}select{width:100%;max-width:3.5rem;height:var(--cc-key-height);padding:0 .35rem;font-size:1rem;font-weight:600;color:var(--cc-accent-strong);border:.07rem solid var(--cc-border-strong);border-radius:var(--cc-radius-sm);background-color:var(--cc-accent-soft);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}select:hover{border-color:var(--cc-accent)}select:focus,select:focus-visible{outline:none;border-color:var(--cc-accent);box-shadow:0 0 0 3px var(--cc-accent-soft)}.calc-row.header{padding-top:.6rem;padding-bottom:.6rem;border-bottom:.07rem solid var(--cc-border);background:var(--cc-surface-muted);border-radius:var(--cc-radius-lg) var(--cc-radius-lg) 0 0}.calc-row.header .calc-cell{justify-content:center;font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--cc-text-muted);min-width:3rem}.calc-row.header .calc-cell.operator{justify-content:flex-start;padding-left:.4rem}.calc-row.header .calc-cell.value{justify-content:flex-end;padding-right:.6rem}.calc-row.header .calc-cell.cumulative{justify-content:flex-end;padding-right:1rem}#add-row-button{min-height:var(--cc-key-height);padding:.25rem .9rem;font-size:.95rem;font-weight:600;color:var(--cc-accent-strong);background:var(--cc-surface);border:.07rem solid var(--cc-border-strong);border-radius:var(--cc-radius);box-shadow:var(--cc-shadow-sm);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease}#add-row-button:hover:not(:disabled){border-color:var(--cc-accent);color:var(--cc-accent)}#add-row-button:focus-visible{outline:none;box-shadow:0 0 0 3px #b08d5740}#add-row-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}#clear-button{min-height:var(--cc-key-height);width:var(--cc-key-width);padding:.25rem;font-size:.95rem;font-weight:600;color:var(--cc-danger);background:var(--cc-surface);border:.07rem solid var(--cc-border-strong);border-radius:var(--cc-radius);box-shadow:var(--cc-shadow-sm);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}#clear-button:hover:not(:disabled){background:#fef2f2;border-color:var(--cc-danger);color:var(--cc-danger-strong)}#clear-button:focus-visible{outline:none;box-shadow:0 0 0 3px #dc26262e}#clear-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.options-menu{position:relative;margin-left:1rem}.options-menu>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:.25rem;font-size:1.4rem;line-height:1;color:var(--cc-accent-strong);background:none;border:none;border-radius:var(--cc-radius-sm);transition:color .15s ease,background-color .15s ease}.options-menu>summary:hover{color:var(--cc-accent);background:var(--cc-accent-soft)}.options-menu>summary::-webkit-details-marker{display:none}.options-menu[open]>summary{color:var(--cc-accent)}.options-menu-list{position:absolute;right:0;top:calc(100% + .4rem);z-index:200;min-width:12rem;padding:.4rem;background:var(--cc-surface);border:.07rem solid var(--cc-border);border-radius:var(--cc-radius);box-shadow:var(--cc-shadow-pop);display:flex;flex-direction:column}.options-menu-list button{display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;background:none;border:none;border-radius:var(--cc-radius-sm);padding:.5rem .6rem;font-size:.92rem;color:var(--cc-text);cursor:pointer;transition:background-color .12s ease}.options-menu-list button:hover{background:var(--cc-accent-soft)}.options-menu-list button:before{content:"";display:inline-block;width:1rem;flex:0 0 1rem;color:var(--cc-accent);font-weight:700}.options-menu-list button[aria-checked=true]:before{content:"✓"}.options-version{margin:0;padding:.3rem .6rem .2rem;font-size:.72rem;color:var(--cc-text-faint);text-align:right}.options-menu-list hr{margin:.3rem 0;border:none;border-top:.07rem solid var(--cc-border)}#shortcuts-region{flex:none;margin-top:1.75rem;padding:1.25rem 1.5rem;background:var(--cc-surface);border:.07rem solid var(--cc-border);border-radius:var(--cc-radius-lg);box-shadow:var(--cc-shadow-sm)}#keyboard-shortcuts-heading{font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--cc-text-muted);margin-bottom:.9rem}.shortcuts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 2rem;margin:0;padding:0;list-style:none}.shortcut{display:flex;align-items:center;gap:.65rem}.shortcut span{font-size:.92rem;color:var(--cc-text-muted)}.shortcut kbd{font-family:IBM Plex Mono,ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.8rem;font-weight:500;white-space:nowrap;color:var(--cc-text-muted);background:var(--cc-accent-soft);border:.07rem solid var(--cc-border-strong);border-bottom-width:.14rem;border-radius:var(--cc-radius-sm);padding:.15rem .5rem;box-shadow:none}@media(max-width:30rem){.shortcuts-grid{grid-template-columns:1fr;gap:.6rem}}.no-delete [data-shortcut=delete],.no-reorder [data-shortcut=reorder]{opacity:.4}.no-delete [data-shortcut=delete] span,.no-reorder [data-shortcut=reorder] span{text-decoration:line-through}#tips-popover,#install-popover{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#3a2d1459}.tips-popover-inner{width:100%;max-width:22rem;padding:1.25rem 1.5rem calc(1.5rem + env(safe-area-inset-bottom));background:var(--cc-surface);border-radius:var(--cc-radius-lg);box-shadow:var(--cc-shadow-pop)}.tips-popover-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.tips-popover-head h2{margin:0;font-size:1.2rem}#tips-popover-close,#install-popover-close{border:none;background:none;padding:.4rem;font-size:1.1rem;line-height:1;color:var(--cc-text-muted);cursor:pointer;border-radius:var(--cc-radius-sm)}#tips-popover-close:hover,#install-popover-close:hover{background:var(--cc-accent-soft)}.tips-list{display:flex;flex-direction:column;gap:.9rem;margin:0;padding:0;list-style:none}.tip{display:flex;align-items:center;gap:.75rem}.tip span:last-child{font-size:1rem;color:var(--cc-text)}.tip-gesture{flex:0 0 1.75rem;font-size:1.4rem;text-align:center;color:var(--cc-accent-strong)}.install-steps{display:flex;flex-direction:column;gap:.9rem;margin:0;padding-left:1.4rem;font-size:1rem;color:var(--cc-text)}.share-glyph{width:1.05em;height:1.05em;vertical-align:-.15em;color:var(--cc-accent-strong)}.install-body{margin:0;font-size:1rem;color:var(--cc-text)}.install-note{margin:.9rem 0 0;font-size:.88rem;color:var(--cc-text-muted)}.calc-row.dragging{background-color:var(--cc-accent-soft);outline:.125rem solid var(--cc-accent);outline-offset:-.125rem;box-shadow:0 4px 14px #b08d574d;position:relative;z-index:100;cursor:grabbing}.calc-row.reorder-shift{transition:transform .15s ease}.calc-cell.move-handle{touch-action:none}.calc-cell.move-handle:active{cursor:grabbing}.calc-cell.move-handle.disabled{opacity:.3;cursor:not-allowed!important;touch-action:auto}input[type=number]{appearance:textfield;-webkit-appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}@media(pointer:coarse){.calc-cell.value input,select{font-size:max(16px,1.15rem)}}.touch-mode .calc-row{padding-top:.5rem;padding-bottom:.5rem}.touch-mode .calc-cell.move-handle{flex:0 0 3.15rem;font-size:1.2rem}.touch-mode .calc-cell.value input{min-height:3.15rem;caret-color:transparent}.touch-mode .calc-cell.operator{flex:0 0 4.5rem}.touch-mode select{min-height:3.15rem;max-width:4.25rem}.touch-mode .calc-cell.delete{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.touch-mode .options-menu>summary{padding:.55rem;font-size:1.6rem}.touch-mode .options-menu-list button{padding:.8rem .6rem}.swipe-delete-action{display:none}.touch-mode .calc-row{position:relative;overflow:hidden;touch-action:pan-y}.touch-mode .calc-row .calc-cell{transition:transform .18s ease}.touch-mode .calc-row .calc-cell:not(.move-handle),.touch-mode .calc-cell.value input{touch-action:pan-y}.touch-mode .calc-cell.move-handle{touch-action:none}.touch-mode .calc-cell.move-handle.disabled{touch-action:auto}.touch-mode .swipe-delete-action{display:flex;align-items:center;justify-content:center;position:absolute;top:0;bottom:0;right:0;width:6rem;transform:translate(100%);transition:transform .18s ease;border:none;border-radius:0;background:var(--cc-danger);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.touch-mode .swipe-delete-action:active{background:var(--cc-danger-strong)}.touch-mode .calc-row.swipe-open .swipe-delete-action{transform:translate(0)}.touch-mode .calc-row.swipe-open .calc-cell{transform:translate(-6rem)}#keypad{display:none}.touch-mode #keypad{display:flex;justify-content:center;gap:.4rem;margin-top:auto;margin-inline:calc(-1 * var(--cc-side-pad));padding:.5rem .75rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom));background:var(--cc-surface-muted);border-top:.07rem solid var(--cc-border);box-shadow:0 -6px 20px #3a2d1414}.keypad-digits{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;flex:1 1 auto;max-width:16rem}.keypad-ops{display:grid;grid-template-rows:repeat(4,1fr);gap:.4rem;flex:0 0 4rem}#keypad button{min-height:var(--cc-key-height);font-size:1.2rem;font-weight:600;color:var(--cc-text);background:var(--cc-surface);border:.07rem solid var(--cc-border-strong);border-bottom-width:.16rem;border-radius:var(--cc-radius);box-shadow:var(--cc-shadow-sm);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:background-color .1s ease,transform .05s ease}#keypad button:active{background:var(--cc-accent-soft);transform:translateY(.05rem)}#keypad button.op{color:var(--cc-accent-strong);background:var(--cc-accent-soft);font-size:1.35rem}@media(max-width:30rem){:root{--cc-side-pad: .5rem}.container{padding-top:1rem}.calc-row{padding:.4rem .6rem}.header-container{padding:0 .6rem;gap:.5rem;margin-bottom:.85rem}.header-logo{max-height:40px;margin-right:.5rem}.title-section h1{font-size:1.25rem}.title-section #app-description{font-size:.85rem}.calc-cell.cumulative{padding-right:.5rem}.calc-cell.move-handle{flex:0 0 1.75rem}}#rotate-hint{display:none}@media(orientation:landscape)and (max-height:30rem){#rotate-hint{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;align-items:center;justify-content:center;padding:1.5rem;background:var(--cc-page-bg);text-align:center}.rotate-hint-inner{display:flex;flex-direction:column;align-items:center;gap:.75rem;max-width:22rem}.rotate-hint-icon{font-size:2.5rem;color:var(--cc-accent-strong)}#rotate-hint p{margin:0;font-size:1.05rem;font-weight:600;color:var(--cc-text)}}
