:root{color-scheme:dark;font-family:Aptos,Segoe UI,sans-serif;--bg-ink: #08111f;--bg-surface: rgba(15, 29, 50, .85);--bg-elevated: rgba(20, 39, 66, .9);--accent-primary: #55b6ff;--accent-secondary: #7ef7d4;--accent-highlight: #a6ffe6;--accent-warm: #ffb457;--text: #f4f8ff;--text-muted: #b8c7e1;--card-stroke: rgba(136, 207, 255, .2);--glow-top: rgba(85, 182, 255, .28);--glow-bottom: rgba(126, 247, 212, .16);background:var(--bg-ink);color:var(--text);transition:background-color .3s ease,color .3s ease}[data-theme=cool-blue]{--bg-ink: #08111f;--bg-surface: rgba(15, 29, 50, .85);--bg-elevated: rgba(20, 39, 66, .9);--accent-primary: #55b6ff;--accent-secondary: #7ef7d4;--accent-highlight: #a6ffe6;--accent-warm: #ffb457;--text: #f4f8ff;--text-muted: #b8c7e1;--card-stroke: rgba(136, 207, 255, .2);--glow-top: rgba(85, 182, 255, .28);--glow-bottom: rgba(126, 247, 212, .16)}[data-theme=graphite]{--bg-ink: #14161c;--bg-surface: rgba(39, 44, 56, .85);--bg-elevated: rgba(50, 56, 70, .9);--accent-primary: #d4d7dd;--accent-secondary: #8fa8c6;--accent-highlight: #bfcbda;--accent-warm: #e3e7ed;--text: #f6f7f9;--text-muted: #acb1bc;--card-stroke: rgba(143, 154, 176, .22);--glow-top: rgba(143, 168, 198, .22);--glow-bottom: rgba(208, 214, 226, .12)}[data-theme=sunset]{--bg-ink: #211218;--bg-surface: rgba(73, 34, 40, .85);--bg-elevated: rgba(93, 43, 51, .9);--accent-primary: #ffb26f;--accent-secondary: #ff7a6b;--accent-highlight: #ffbc8f;--accent-warm: #ffd9a0;--text: #fff4ee;--text-muted: #e7bfb6;--card-stroke: rgba(255, 168, 132, .22);--glow-top: rgba(255, 122, 107, .25);--glow-bottom: rgba(255, 178, 111, .18)}[data-theme=mint]{--bg-ink: #0a1a18;--bg-surface: rgba(19, 53, 49, .85);--bg-elevated: rgba(26, 66, 61, .9);--accent-primary: #7ef7d4;--accent-secondary: #55b6ff;--accent-highlight: #a9d8ff;--accent-warm: #ffc97a;--text: #effffa;--text-muted: #a6dbcf;--card-stroke: rgba(148, 236, 214, .22);--glow-top: rgba(85, 182, 255, .22);--glow-bottom: rgba(126, 247, 212, .25)}[data-theme=midnight]{--bg-ink: #050811;--bg-surface: rgba(10, 16, 36, .85);--bg-elevated: rgba(16, 26, 58, .9);--accent-primary: #668cff;--accent-secondary: #8f7bff;--accent-highlight: #bfb2ff;--accent-warm: #ffd066;--text: #f4f6ff;--text-muted: #a5adc7;--card-stroke: rgba(140, 162, 255, .22);--glow-top: rgba(156, 140, 255, .25);--glow-bottom: rgba(120, 165, 255, .18)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,var(--glow-top),transparent 36%),radial-gradient(circle at bottom right,var(--glow-bottom),transparent 32%),linear-gradient(180deg,var(--bg-ink) 0%,var(--bg-surface) 100%);transition:background .3s ease}button,input,select{font:inherit}a{color:inherit}.shell{max-width:1200px;margin:0 auto;padding:32px 20px 64px}.hero{display:grid;gap:16px;margin-bottom:28px}.hero h1{font-size:clamp(2.5rem,6vw,5rem);line-height:.95;margin:0}.hero p{max-width:720px;margin:0;color:#b4c9e2;line-height:1.6}.grid{display:grid;gap:20px}.grid.columns-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.panel{background:var(--bg-surface);border:1px solid var(--card-stroke);border-radius:28px;box-shadow:0 24px 60px #00000047;padding:24px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:background .3s ease,border-color .3s ease}.panel h2,.panel h3{margin-top:0}.subtle{color:var(--text-muted)}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.stack{display:grid;gap:12px;align-content:start}.input,.select,.button{width:100%;border-radius:16px;border:1px solid var(--card-stroke);background:var(--bg-ink);color:var(--text);padding:14px 16px}.button{cursor:pointer;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:var(--bg-ink);font-weight:700;transition:transform .08s ease,filter .08s ease}.button:active{transform:scale(.97)}.button.secondary{background:#55b6ff14;color:var(--text)}.button.ghost{background:transparent;color:var(--text-muted)}.button.provider-apple,.button.provider-google{display:flex;align-items:center;justify-content:center;gap:10px;border-radius:10px;font-weight:600}.button.provider-apple{background:#000;color:#fff;border-color:#000}.button.provider-google{background:#fff;color:#1f1f1f;border-color:#dadce0}.divider{display:flex;align-items:center;gap:10px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--card-stroke)}.button:disabled{opacity:.6;cursor:not-allowed}.calc-display{padding:20px;border-radius:22px;background:var(--bg-ink);border:1px solid var(--card-stroke);position:relative}.calc-display.clickable{cursor:pointer;transition:border-color .2s ease,transform .08s ease;-webkit-user-select:none;user-select:none}.calc-display.clickable:hover{border-color:var(--accent-primary)}.calc-display.clickable:active{transform:scale(.995)}.calc-expression{color:var(--text-muted);font-size:.95rem;min-height:24px}.calc-result{font-size:clamp(2rem,5vw,3.25rem);font-weight:700;margin-top:8px;word-break:break-all;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.copy-badge{background:var(--accent-primary);color:var(--bg-ink);font-weight:700;font-size:.72rem;animation:fadeIn .15s ease-out}.sound-toggle-btn{width:auto!important;padding:6px 10px!important;font-size:1.1rem!important;border-radius:12px!important}.calc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.calc-grid button{min-height:60px;border-radius:18px;border:1px solid var(--card-stroke);background:var(--bg-elevated);color:var(--text);font-size:1rem;cursor:pointer;transition:transform .08s ease,filter .08s ease,background-color .2s ease;-webkit-user-select:none;user-select:none}.calc-grid button:active,.calc-grid button.active-press{transform:scale(.93);filter:brightness(1.3)}.calc-grid button.operator{background:#55b6ff2e;color:var(--accent-primary)}.calc-grid button.accent{background:linear-gradient(135deg,var(--accent-primary),var(--accent-warm));color:var(--bg-ink);font-weight:700}.swap-btn{transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.swap-btn:active{transform:rotate(180deg) scale(.92)}.badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#55b6ff1f;color:var(--accent-secondary);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.history-list,.plans,.policy-list{display:grid;gap:12px}.history-item,.plan-card,.policy-card{padding:16px;border-radius:18px;background:#08111f75;border:1px solid rgba(180,201,226,.14)}.history-item.interactive{display:flex;align-items:center;justify-content:space-between;gap:12px;transition:background .15s ease,border-color .15s ease}.history-item.interactive:hover{background:#14274273;border-color:#55b6ff4d}.history-content{flex:1;cursor:pointer}.history-content:focus-visible{outline:2px solid #55b6ff;border-radius:8px}.recallable{display:inline-block;color:#7ef7d4;transition:color .15s ease}.history-content:hover .recallable{color:#55b6ff;text-decoration:underline}.copy-btn{width:auto;padding:6px 14px;font-size:.8rem;border-radius:10px;flex-shrink:0}.converter-pickers{display:flex;align-items:center;gap:8px}.converter-pickers .select{flex:1}.swap-btn{width:auto;min-width:44px;height:48px;padding:0 12px;font-size:1.25rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:14px}.plan-card strong{display:block;font-size:2rem;margin:8px 0}.footer-note{margin-top:32px;color:#8fa7c4;font-size:.95rem}@media(max-width:720px){.shell{padding:24px 14px 48px}.calc-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.legal{max-width:46rem;margin:0 auto;padding:2.5rem 1.25rem 4rem;line-height:1.65}.legal-back{display:inline-block;margin-bottom:2rem;color:#b4c9e2;text-decoration:none}.legal-back:hover{color:#55b6ff}.legal-header h1{margin:0 0 .5rem;font-size:clamp(1.9rem,5vw,2.5rem);letter-spacing:-.02em}.legal-intro{margin:0 0 .75rem;font-size:1.05rem;color:#d7e4f5;max-width:40rem}.legal-section{margin-top:2.25rem}.legal-section h2{margin:0 0 .6rem;font-size:1.2rem;color:#55b6ff;letter-spacing:-.01em}.legal-section h3{margin:1.5rem 0 .35rem;font-size:1rem;color:#f4f8ff}.legal-section p,.legal-section li{color:#c4d5e9}.legal-section ul{padding-left:1.15rem;display:flex;flex-direction:column;gap:.5rem}.legal-section strong{color:#f4f8ff}.legal a,.site-footer a{color:#55b6ff}.legal-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid #2d4f77}.legal-nav{display:flex;flex-wrap:wrap;gap:1.25rem}.site-footer{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid #2d4f77;display:flex;flex-direction:column;gap:.75rem}.danger-zone{margin-top:1.25rem;padding-top:1rem;border-top:1px solid #4a2b39}.danger-zone h3{margin:0;font-size:1rem;color:#ff7380}.button.danger{background:#3a1b24;border:1px solid #ff7380;color:#ff9aa4}.button.danger:hover:not(:disabled){background:#4a2129}.consent-check{display:flex;gap:.6rem;align-items:flex-start;margin:1.5rem 0;color:#c4d5e9;cursor:pointer}.consent-check input{margin-top:.25rem;flex-shrink:0}.consent-error{color:#ff7380}.calc-expression-row{display:flex;align-items:center;justify-content:space-between;min-height:24px}.memory-badge{font-size:.72rem;padding:2px 8px;background:#7ef7d433;color:#7ef7d4;border:1px solid rgba(126,247,212,.4);font-weight:700}.memory-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.memory-btn{padding:8px 4px;font-size:.85rem;font-weight:600;border:1px solid rgba(180,201,226,.16);background:#08111f66;color:#b4c9e2;border-radius:12px}.memory-btn:hover:not(:disabled){background:#55b6ff26;color:#f4f8ff;border-color:#55b6ff59}.memory-btn:disabled{opacity:.35;cursor:not-allowed}.memory-btn.percent-btn{color:#7ef7d4}.tip-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tip-chips .button{flex:1;min-width:50px;padding:8px 12px;font-weight:600;font-size:.9rem}.tip-chips .button.active-chip{background:#55b6ff4d;border-color:#55b6ff;color:#f4f8ff}.custom-tip-input{flex:1.2;min-width:90px;text-align:center}.split-stepper{display:flex;align-items:center;gap:16px;justify-content:flex-start}.stepper-btn{width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;border-radius:14px}.split-count-label{font-size:1.1rem;font-weight:600;min-width:100px;text-align:center;color:#f4f8ff}.tip-summary-display{display:flex;flex-direction:column;gap:8px}.tip-summary-row{display:flex;justify-content:space-between;align-items:center}.summary-value{font-size:1.1rem;color:#f4f8ff}.per-person-row{padding-top:4px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.tip-round-row{margin-top:4px;padding:4px 0}.theme-swatches{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-top:10px}.theme-swatch{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:14px;border:1px solid var(--card-stroke);background:var(--bg-elevated);cursor:pointer;transition:border-color .2s ease,transform .1s ease;font-size:.85rem;color:var(--text);-webkit-user-select:none;user-select:none}.theme-swatch:hover{border-color:var(--accent-primary)}.theme-swatch.active{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary);font-weight:600}.theme-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0}.history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;text-align:center;border:1px dashed var(--card-stroke);border-radius:18px;gap:6px}.history-empty-icon{font-size:1.75rem;opacity:.6;margin-bottom:4px}.history-empty-title{font-weight:600;color:var(--text)}
