:root{--indigo-500:#6366f1;--indigo-700:#4338ca;--indigo-800:#3730a3;--indigo-100:#e0e7ff;--indigo-200:#c7d2fe;--indigo-300:#a5b4fc;--amber-500:#f59e0b;--amber-600:#d97706;--amber-700:#b45309;--amber-800:#92400e;--amber-100:#fef3c7;--amber-200:#fde68a;--amber-400:#fbbf24;--gray-800:#1f2937;--gray-500:#6b7280;--violet-50:#f5f3ff;--ink:var(--gray-800);--ink-soft:var(--gray-500);--bg:var(--violet-50);--card:#fff;--border-soft:#eceaf5;--shadow-soft:0 8px 24px -10px #4338ca2e;--shadow-pop:0 4px 0 #1f29370f;--radius-card:20px;--radius-key:14px;color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px}*{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0;padding:0}body{background:var(--bg);background-image:radial-gradient(circle at 0 0,#6366f114 0%,#0000 40%),radial-gradient(circle at 100% 100%,#f59e0b12 0%,#0000 40%);background-attachment:fixed;overflow-x:hidden}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}h1,h2,h3{margin:0;font-weight:600}ul{margin:0;padding:0;list-style:none}.app{flex-direction:column;align-items:center;min-height:100vh;padding:32px 16px 48px;display:flex;position:relative}@media (width<=480px){.app{padding:16px 12px 32px}}.landing{z-index:1;text-align:center;width:100%;max-width:880px;position:relative}.landing-logo{width:100%;max-width:460px;height:auto;margin:8px auto 12px;display:block}.landing-subtitle{color:var(--ink-soft);max-width:440px;margin:0 auto 36px;font-size:16px;line-height:1.5}.landing-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}@media (width<=600px){.landing-logo{max-width:320px}.landing-subtitle{margin-bottom:24px;font-size:15px}.landing-card{padding:22px 18px}.card-icon{width:52px;height:52px}}.landing-card{background:var(--card);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);text-align:center;border:2px solid var(--border-soft);padding:28px 24px;transition:transform .18s,box-shadow .18s,border-color .18s}.landing-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px -12px #4338ca47}.landing-card:active{transform:translateY(-1px)}.card-icon{width:64px;height:64px;margin:0 auto 14px;display:block}.landing-card h2{letter-spacing:-.2px;margin-bottom:8px;font-size:20px}.landing-card p{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.5}.card-percentage h2{color:var(--amber-600)}.card-percentage:hover{border-color:var(--amber-200)}.card-calculator h2{color:var(--indigo-700)}.card-calculator:hover{border-color:var(--indigo-200)}.view-wrapper{z-index:1;flex-direction:column;align-items:stretch;width:100%;max-width:420px;display:flex;position:relative}.back-btn{background:var(--card);color:var(--ink);box-shadow:var(--shadow-soft);border-radius:999px;align-self:flex-start;margin-bottom:14px;padding:8px 16px;font-size:14px;font-weight:600;transition:transform .15s,box-shadow .15s}.back-btn:hover{transform:translate(-3px);box-shadow:0 12px 24px -10px #4338ca4d}.calculator,.pct-calc{z-index:1;background:var(--card);border-radius:var(--radius-card);width:100%;box-shadow:var(--shadow-soft);padding:24px 22px 28px;position:relative}@media (width<=480px){.calculator,.pct-calc{padding:18px 14px 22px}}.title{letter-spacing:-.3px;color:var(--ink);align-items:center;gap:10px;margin-bottom:18px;font-size:20px;display:flex}.title-icon{flex-shrink:0;width:28px;height:28px}.screen{background:var(--violet-50);border:1px solid var(--border-soft);text-align:right;border-radius:14px;flex-direction:column;justify-content:center;gap:6px;min-height:92px;margin-bottom:18px;padding:18px 20px;display:flex}.expression{color:var(--ink);word-break:break-all;min-height:32px;font-size:26px;font-weight:600;line-height:1.2}.placeholder{color:#b5b1c8;font-size:16px;font-weight:400}.live-result{color:var(--indigo-700);min-height:22px;font-size:16px;font-weight:600}.keypad{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.keypad-numpad{grid-template-columns:repeat(3,1fr)}.key{border-radius:var(--radius-key);height:56px;color:var(--ink);border:1px solid var(--border-soft);box-shadow:var(--shadow-pop);-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#fff;font-size:18px;font-weight:600;transition:transform 80ms,box-shadow 80ms,background .15s}@media (width<=480px){.key{height:52px;font-size:17px}.keypad{gap:8px}}.key:hover{transform:translateY(-2px)}.key:active{transform:translateY(2px);box-shadow:0 1px #1f29370f}.key-num,.key-dot{background:#fff}.key-op{background:var(--indigo-700);color:#fff;border-color:var(--indigo-800)}.key-back{background:var(--gray-800);color:#fff;border-color:#111827}.key-clear{background:var(--amber-600);color:#fff;border-color:var(--amber-700)}.key-equals{background:var(--amber-500);color:var(--ink);border-color:var(--amber-600)}.key-wide{grid-column:span 2}.history{border-top:1px dashed var(--border-soft);margin-top:22px;padding-top:18px}.history-title{text-transform:uppercase;letter-spacing:1.2px;color:var(--ink-soft);text-align:center;margin-bottom:12px;font-size:12px;font-weight:700}.history-empty{text-align:center;color:var(--ink-soft);margin:0;font-size:13px}.history-empty kbd{background:var(--amber-600);color:#fff;border-radius:6px;padding:1px 7px;font-family:inherit;font-size:12px;font-weight:600}.history-list{flex-direction:column;gap:8px;max-height:220px;display:flex;overflow-y:auto}.history-item{background:var(--violet-50);border:1px solid var(--border-soft);border-radius:12px;align-items:center;gap:10px;padding:10px 14px;font-size:15px;display:flex}.h-expr{color:var(--ink-soft);word-break:break-all;flex:1}.h-eq{color:var(--indigo-700);font-weight:700}.h-result{color:var(--ink);font-weight:700}.pct-input-screen{background:var(--violet-50);border:1px solid var(--border-soft);border-radius:14px;min-height:76px;margin-bottom:18px;padding:14px 20px}.pct-input-label{text-transform:uppercase;letter-spacing:1.2px;color:var(--ink-soft);margin-bottom:4px;font-size:11px;font-weight:700}.pct-input-value{color:var(--ink);text-align:right;min-height:40px;font-size:30px;font-weight:700;line-height:1.1}.pct-input-value .placeholder{font-size:18px}.pct-results{border-top:1px dashed var(--border-soft);margin-top:22px;padding-top:18px}.custom-pct-form{gap:8px;margin-bottom:10px;display:flex}.custom-pct-input{font:inherit;border:1px solid var(--border-soft);background:var(--card);color:var(--ink);border-radius:10px;outline:none;flex:1;padding:10px 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}.custom-pct-input:focus{border-color:var(--indigo-500);box-shadow:0 0 0 3px #6366f12e}.custom-pct-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.custom-pct-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.custom-pct-input{-moz-appearance:textfield}.btn-sm{padding:8px 14px;font-size:13px}.custom-pct-chips{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.custom-pct-chip{align-items:center;gap:6px;padding-right:4px;display:inline-flex}.custom-pct-remove{color:#ffffffd9;background:#0000002e;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;font-size:14px;line-height:1;display:inline-flex}.custom-pct-remove:hover{color:#fff;background:#00000052}.pct-results-title{text-transform:uppercase;letter-spacing:1.2px;color:var(--ink-soft);text-align:center;margin-bottom:12px;font-size:12px;font-weight:700}.pct-grid{flex-direction:column;gap:8px;display:flex}.pct-card{color:#fff;width:100%;box-shadow:var(--shadow-pop);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;padding:14px 18px;transition:transform 80ms,box-shadow .15s;display:flex}.pct-card:hover{transform:translateY(-1px);box-shadow:0 8px 20px -10px #1f293766}.pct-card:active{transform:translateY(1px)}.pct-card .pct-pct{letter-spacing:.3px;font-size:16px;font-weight:700}.pct-card .pct-val{font-size:22px;font-weight:700;line-height:1}.pct-70{background:var(--amber-700);border-color:var(--amber-800)}.pct-75{background:var(--amber-600);border-color:var(--amber-700)}.pct-80{background:var(--indigo-800);border-color:var(--indigo-800)}.pct-85{background:var(--indigo-700);border-color:var(--indigo-800)}.pct-90{background:var(--indigo-500);border-color:var(--indigo-700)}.pct-chip{color:#fff;letter-spacing:.3px;border-radius:999px;justify-content:center;align-items:center;min-width:54px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.pct-chip-70{background:var(--amber-700)}.pct-chip-75{background:var(--amber-600)}.pct-chip-80{background:var(--indigo-800)}.pct-chip-85{background:var(--indigo-700)}.pct-chip-90{background:var(--indigo-500)}.saved-offers{border-top:1px dashed var(--border-soft);margin-top:22px;padding-top:18px}.saved-offers-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.saved-offers-title{margin:0}.saved-offers-clear{color:var(--ink-soft);text-transform:uppercase;letter-spacing:1px;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:600}.saved-offers-clear:hover{color:var(--amber-700)}.saved-offers-list{flex-direction:column;gap:8px;display:flex}.saved-offer{background:var(--violet-50);border:1px solid var(--border-soft);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.saved-offer-body{flex:1;min-width:0}.saved-offer-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.saved-offer-meta{color:var(--ink);margin-top:2px;font-size:13px;font-weight:600}.saved-offer-meta .muted{color:var(--ink-soft);font-weight:500}.saved-offer-delete{width:28px;height:28px;color:var(--ink-soft);background:0 0;border-radius:999px;flex-shrink:0;font-size:18px;line-height:1}.saved-offer-delete:hover{color:var(--amber-700);background:var(--amber-100)}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;background:#1f293773;justify-content:center;align-items:center;padding:16px;animation:.12s ease-out fade-in;display:flex;position:fixed;inset:0}.modal{background:var(--card);border-radius:var(--radius-card);width:100%;max-width:380px;padding:22px 22px 20px;animation:.16s ease-out pop-in;box-shadow:0 24px 60px -20px #1f293766}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.modal-header h2{letter-spacing:-.2px;font-size:18px}.modal-close{width:30px;height:30px;color:var(--ink-soft);border-radius:999px;font-size:22px;line-height:1}.modal-close:hover{background:var(--violet-50);color:var(--ink)}.modal-summary{background:var(--violet-50);border:1px solid var(--border-soft);border-radius:12px;flex-direction:column;gap:8px;margin-bottom:16px;padding:12px 14px;display:flex}.modal-summary-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-summary-label{color:var(--ink-soft);font-size:13px;font-weight:600}.modal-summary-value{color:var(--ink);font-size:16px;font-weight:600}.modal-summary-value.strong{font-size:22px;font-weight:700}.modal-form{flex-direction:column;display:flex}.modal-label{text-transform:uppercase;letter-spacing:1.2px;color:var(--ink-soft);margin-bottom:6px;font-size:12px;font-weight:700}.modal-label:not(:first-of-type){margin-top:12px}.modal-label-optional{text-transform:none;letter-spacing:0;color:var(--ink-soft);opacity:.75;font-weight:500}.saved-offer-party{color:var(--ink-soft);font-weight:500}.modal-input{font:inherit;border:1px solid var(--border-soft);background:var(--card);color:var(--ink);border-radius:10px;outline:none;padding:12px 14px;font-size:16px;transition:border-color .15s,box-shadow .15s}.modal-input:focus{border-color:var(--indigo-500);box-shadow:0 0 0 3px #6366f12e}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.btn{font:inherit;border:1px solid #0000;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:600;transition:background .15s,transform 80ms,opacity .15s}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{color:var(--ink-soft);border-color:var(--border-soft);background:0 0}.btn-ghost:hover{background:var(--violet-50);color:var(--ink)}.btn-primary{background:var(--indigo-700);color:#fff;border-color:var(--indigo-800)}.btn-primary:hover:not(:disabled){background:var(--indigo-800)}
