:root{color-scheme:light dark;--bg:#f5f4ec;--surface:#fffef9;--text:#243d34;--muted:#637168;--line:#dedfd5;--input:#f2f2e9;--green:#183f35;--accent:#d7efae;--on-green:#f6f8ee;--receipt-muted:#c4d2c6;--error:#a32929;--shadow:0 18px 55px #233b3010}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.5}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #8aad55;outline-offset:4px}[hidden]{display:none!important}.shell{width:min(900px,100%);margin:auto;padding:35px 28px 20px}.masthead{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--text);font-weight:700;font-size:16px}.brand-icon{display:grid;place-items:center;background:var(--green);color:var(--accent);width:32px;height:32px;border-radius:10px;font-size:20px}.heading{margin:50px 0 30px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.2px;color:var(--muted)}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:48px;letter-spacing:-1.8px;line-height:1.1;margin:13px 0 0}.calculator{display:grid;grid-template-columns:1.08fr 1fr;border-radius:24px;background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--line);padding:10px;gap:10px}form{padding:25px 25px 26px;min-width:0}label,legend{font-size:14px;font-weight:700}fieldset{border:0;margin:25px 0;padding:0;min-width:0}legend{padding:0;margin-bottom:12px}.money-input{display:flex;align-items:center;gap:12px;background:var(--input);border:1px solid var(--line);border-radius:10px;margin-top:10px;padding:9px 15px}.money-input span{color:var(--muted);font-size:24px}input{color:var(--text);min-width:0}.money-input input{background:transparent;border:0;width:100%;font-size:30px;letter-spacing:-1px;padding:3px 0;outline-offset:6px;font-variant-numeric:tabular-nums}.tip-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.tip-options button{border:1px solid var(--line);color:var(--text);background:var(--surface);border-radius:8px;padding:12px 0;font-size:15px;font-weight:700}.tip-options button:hover{background:var(--input)}.tip-options button.selected{background:var(--green);color:var(--on-green);border-color:var(--green)}.custom-row{display:flex;justify-content:space-between;align-items:center;margin-top:13px}.custom-row label{font-weight:400;color:var(--muted);font-size:13px}.custom-input{display:flex;align-items:center;gap:4px;background:var(--input);border:1px solid var(--line);padding:6px 10px;border-radius:7px}.custom-input input{width:50px;text-align:right;border:0;background:transparent}.custom-input span{color:var(--muted);font-size:14px}.split-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:24px;gap:10px}.split-row p{font-size:12px;color:var(--muted);margin:3px 0 0}.stepper{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--input)}.stepper button{width:34px;height:40px;background:transparent;color:var(--text);border:0;font-size:20px}.stepper button:hover{background:var(--line)}.stepper button:disabled{opacity:.45;cursor:default}.stepper input{width:38px;text-align:center;border:0;background:transparent;font-size:14px;font-weight:700}.stepper input::-webkit-inner-spin-button,.custom-input input::-webkit-inner-spin-button{-webkit-appearance:none}input[type=number]{-moz-appearance:textfield}.receipt{border-radius:17px;background:var(--green);color:var(--on-green);padding:24px 29px;display:flex;flex-direction:column;min-width:0}.receipt-top{display:flex;align-items:center;gap:8px;letter-spacing:1.7px;font-size:9px;color:var(--receipt-muted);font-weight:700}.receipt-icon{font-size:19px;color:var(--accent)}.primary-result{padding:24px 0 25px}.primary-result h2{font-size:14px;font-weight:400;margin:0 0 3px;color:var(--on-green)}.primary-result output{font-size:52px;line-height:1.25;letter-spacing:-2px;color:var(--accent);font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.primary-result p{font-size:12px;color:var(--receipt-muted);margin:6px 0 0}.receipt-details{border-top:1px dashed #688074;padding-top:18px;font-size:13px}.receipt-details>div{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:11px}.receipt-details span{color:var(--receipt-muted)}.receipt-details output{font-variant-numeric:tabular-nums}.receipt-details .total-row{border-top:1px solid #45665b;margin-top:16px;padding-top:14px;font-weight:700}.total-row span{color:var(--on-green)}#reset{margin-top:auto;display:flex;justify-content:space-between;align-items:center;width:100%;border:1px solid #718b79;background:transparent;color:var(--on-green);border-radius:8px;padding:10px 12px;font-size:12px}#reset:hover{background:#2a5145}#rounding{font-size:11px;color:var(--receipt-muted);margin:0 0 12px}.footnote{text-align:center;font-size:11px;letter-spacing:.25px;color:var(--muted);margin-top:26px}#error,#auth-error{color:var(--error);font-size:12px;margin:15px 0 0}.login{padding:75px 0}.login p{color:var(--muted)}.login #auth-buttons{margin-top:24px}
@media(prefers-color-scheme:dark){:root{--bg:#14231e;--surface:#20362d;--text:#f1f1e5;--muted:#b4c3b5;--line:#486051;--input:#2a4236;--green:#12392d;--error:#ffb5b5;--shadow:none}.brand-icon{background:#315640}.tip-options button.selected{background:#d7efae;color:#183f35;border-color:#d7efae}}
@media(max-width:650px){.shell{padding:24px 18px}.heading{margin:35px 0 24px}h1{font-size:39px}.calculator{grid-template-columns:1fr;padding:8px;border-radius:20px;gap:0}form{padding:18px 16px 25px}.receipt{padding:23px 24px}.primary-result{padding:18px 0}.primary-result output{font-size:48px}#reset{margin-top:10px}.footnote{margin-top:20px}.masthead{align-items:flex-start}.brand{font-size:14px}}
@media(prefers-reduced-motion:no-preference){button{transition:background .15s ease}}
