:root{color:#080d2b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f3f5fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button,.file-loader{cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:.55rem;min-height:2.7rem;padding:.7rem 1rem;font-weight:700;transition:box-shadow .16s,transform .16s,background .16s;display:inline-flex}button:active,.file-loader:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,p{margin-top:0}h1{color:#080d2b;margin-bottom:.35rem;font-size:clamp(1.65rem,3vw,2.15rem);line-height:1.08}h2{color:#080d2b;margin-bottom:1.25rem;font-size:1.45rem;line-height:1.15}.app-frame{gap:1.35rem;min-height:100vh;padding:1rem;display:flex}.sidebar{color:#fff;background:radial-gradient(circle at 20% 10%,#7161da73,#0000 28rem),linear-gradient(155deg,#11194a 0%,#171f58 55%,#10164b 100%);border-radius:8px;flex-direction:column;flex:0 0 270px;min-height:calc(100vh - 2rem);padding:2.1rem .9rem 1.25rem;display:flex;position:sticky;top:1rem;overflow:hidden;box-shadow:0 18px 45px #141d533d}.sidebar-brand{align-items:center;gap:1rem;margin-bottom:3rem;padding:0 1rem;display:flex}.brand-icon{border:4px solid #fffffff2;border-radius:8px;justify-content:center;align-items:center;width:3.7rem;height:3.7rem;display:inline-flex}.sidebar-brand span{font-size:1.85rem;font-weight:900;line-height:1.12;display:block}.side-nav{gap:.75rem;display:grid}.nav-item{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:flex-start;align-items:center;gap:.55rem;width:100%;min-height:4rem;padding:.9rem 1rem;font-size:1rem;font-weight:700;text-decoration:none;transition:box-shadow .16s,background .16s;display:inline-flex}.nav-item:hover,.nav-item.active{background:#7c74de9e;box-shadow:inset 0 1px #ffffff2e}.main-stage{flex:1;min-width:0}.top-card,.surface-card,.twist-card{background:#ffffffeb;border:1px solid #d9deeb;border-radius:8px;box-shadow:0 10px 28px #171e4517}.top-card{justify-content:space-between;align-items:center;gap:1rem;min-height:6.75rem;margin-bottom:1.35rem;padding:1.45rem 1.5rem;display:flex}.top-card p{color:#59617f;margin-bottom:0;font-size:1rem;line-height:1.4}.calculator-grid{grid-template-columns:minmax(340px,.9fr) minmax(460px,1.3fr);gap:1.35rem;display:grid}.left-stack{gap:1.2rem;display:grid}.surface-card{padding:1.65rem}.transaction-card{min-height:0}.amount-field{gap:.65rem;margin-bottom:1.35rem;display:grid}.amount-field>span{color:#080d2b;font-size:1rem;font-weight:700}.input-shell{background:#fff;border:1px solid #d8ddea;border-radius:8px;align-items:center;gap:.75rem;min-height:3.6rem;padding:0 1.05rem;display:flex}.paid-input-shell{padding-right:.45rem}.input-shell:focus-within{border-color:#6f5bd7;box-shadow:0 0 0 4px #6f5bd721}.input-shell span{color:#707894;font-size:1.35rem;font-weight:600}.input-shell input{color:#080d2b;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:1.35rem;font-weight:700}.currency-select{color:#303852;cursor:pointer;background:0 0;border:0;border-left:1px solid #e3e7f0;border-radius:0;flex:none;min-height:2.65rem;padding:0 .35rem 0 .9rem;font-weight:800}.currency-select:focus{outline:0}.base-currency-select{color:#080d2b;cursor:pointer;background:0 0;border:0;outline:0;flex:1;min-width:0;font-weight:800}.currency-equivalent{color:#59617f;font-size:.85rem;font-weight:800}.calculate-button{color:#fff;background:linear-gradient(#765ce0,#5b45c4);width:100%;min-height:3.85rem;margin-top:.1rem;font-size:1rem;box-shadow:0 10px 22px #5b45c433}.calculate-button:hover{background:linear-gradient(#8168e6,#5b45c4);box-shadow:0 16px 30px #5b45c457}.secondary-actions{grid-template-columns:1fr 1fr;align-items:center;gap:.75rem;margin-top:1.25rem;display:grid}.file-loader,.ghost-button,.view-button{color:#4e3cc7;background:#fbfcff;border:1px solid #d9deeb}.file-loader:hover,.ghost-button:hover,.view-button:hover{box-shadow:0 8px 20px #5b45c41f}.file-loader{position:relative}.file-loader input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.sample-download-text{color:#59617f;text-align:center;margin:.8rem 0 0;font-size:.88rem;line-height:1.35}.sample-download-text a{color:#4e3cc7;font-weight:800;text-decoration:none}.sample-download-text a:hover{text-decoration:underline}.twist-card{color:#3b4261;justify-content:space-between;align-items:center;min-height:6.25rem;padding:1.1rem 1.35rem;display:flex;position:relative;overflow:hidden}.twist-card:after{content:"";background:radial-gradient(circle,#7760e024,#0000 70%);width:10rem;height:10rem;position:absolute;top:-3rem;right:-4rem}.twist-title{color:#4e3cc7;align-items:center;gap:.45rem;margin-bottom:.35rem;display:flex}.twist-title h2{color:#4e3cc7;margin-bottom:0;font-size:1rem}.twist-card p{max-width:30rem;margin-bottom:0;line-height:1.35}.dice-art{color:#6b5ad0;z-index:1;flex:none;position:relative}.result-card{min-height:36rem}.result-empty{color:#59617f;text-align:center;border:1px dashed #cfd5e4;border-radius:8px;justify-content:center;align-items:center;min-height:22rem;font-weight:700;display:flex}.result-head{justify-content:space-between;align-items:flex-start;display:flex}.money-art{color:#16814f;background:linear-gradient(145deg,#66d395,#33a96d);border-radius:8px;justify-content:center;align-items:center;width:5.6rem;height:4rem;margin-top:.35rem;font-size:1.35rem;font-weight:900;display:inline-flex;transform:rotate(-13deg);box-shadow:10px 12px 18px #1c6b4b33,inset 0 0 0 9px #1a764c29}.money-art span{background:#ffffff59;border-radius:999px;justify-content:center;align-items:center;width:1.8rem;height:1.8rem;display:inline-flex}.change-total{color:#1d9662;margin-bottom:.55rem;font-size:clamp(2.7rem,6vw,3.85rem);font-weight:900;line-height:1}.status-chip{color:#09854b;background:#d9f5e5;border-radius:8px;padding:.48rem .7rem;font-size:.88rem;font-style:normal;font-weight:700;line-height:1;display:inline-flex}.status-chip.random{color:#5a45d3;background:#eeeaff}.status-chip.shortfall{color:#ae321f;background:#fff0ed}.status-chip.compact{vertical-align:middle;border:0;align-items:center;min-height:0;margin-left:.55rem;padding:.38rem .55rem;font-size:.74rem}.reroll-chip{cursor:pointer;gap:.35rem}.reroll-chip:hover{box-shadow:0 8px 18px #5a45d32e}.denomination-list{border:1px solid #d9deeb;border-radius:8px;margin-top:1.1rem;overflow:hidden}.denomination-row{background:#fff;border-top:1px solid #e3e7f0;grid-template-columns:minmax(11rem,1fr) 5rem 4rem 6rem;align-items:center;gap:1rem;min-height:5rem;padding:.8rem 1.35rem;display:grid}.denomination-row:first-child{border-top:0}.denomination-head{color:#6b728c;text-transform:uppercase;background:#fbfcff;min-height:2.55rem;padding-top:.55rem;padding-bottom:.55rem;font-size:.78rem;font-weight:900}.denomination-type{align-items:center;gap:1rem;min-width:0;display:flex}.denomination-row strong{font-size:1rem}.denomination-row>span{color:#6b728c}.denomination-row b{font-size:1.45rem}.row-total{color:#118752;text-align:right;justify-self:end}.money-token{justify-content:center;align-items:center;width:3.1rem;height:3.1rem;display:inline-flex}.token-bill{background:linear-gradient(145deg, var(--token-primary,#66d395), var(--token-secondary,#2aa869));border:1px solid var(--token-accent,#bee9cf);color:var(--token-text,#0c663c);letter-spacing:0;border-radius:8px;width:4.25rem;height:2.55rem;font-size:1rem;font-weight:900;box-shadow:inset 0 0 0 2px #ffffff38,0 7px 12px #161a2c1f}.coin-svg{--coin-edge:var(--token-primary,#868b95);--coin-face:var(--token-secondary,#d7dbe1);--coin-highlight:var(--token-accent,#f7f8fb);--coin-line:var(--token-text,#626976);filter:drop-shadow(0 7px 8px #161a2c29);border-radius:999px;flex:none;overflow:visible}.coin-svg-tight{width:2.75rem;height:2.75rem}.coin-shadow{fill:#0d122b29}.coin-rim{fill:var(--coin-edge);stroke:#ffffff80;stroke-width:1.4px}.coin-ridge{stroke:#ffffff73;stroke-linecap:round;stroke-width:1.2px}.coin-face{fill:var(--coin-face);stroke:#ffffff8c;stroke-width:1.6px}.coin-inner-ring{fill:none;stroke:#ffffff85;stroke-width:1.2px}.coin-value-plate{fill:var(--coin-highlight);opacity:.42;stroke:#ffffff6b;stroke-width:1px}.coin-text{fill:var(--coin-line);letter-spacing:0;font-size:13px;font-weight:900}.coin-text-tight{font-size:10px}.empty-breakdown{color:#6b728c;background:#fff;padding:1.25rem}.total-strip{color:#118752;background:#eafaf2;border:1px solid #bcebd1;border-radius:8px;justify-content:space-between;align-items:center;min-height:4.1rem;margin-top:1.9rem;padding:.9rem 1.15rem;display:flex}.shortfall-strip{color:#ae321f;background:#fff0ed;border:1px solid #ffc7bc;border-radius:8px;align-items:center;gap:.65rem;margin-top:1rem;padding:.9rem 1rem;font-weight:800;line-height:1.35;display:flex}.total-strip span{align-items:center;gap:.65rem;font-size:1rem;font-weight:800;display:inline-flex}.total-strip strong{font-size:1.4rem}.error-state{color:#ae321f;background:#fff0ed;border:1px solid #ffc7bc;border-radius:8px;align-items:center;gap:.75rem;min-height:4rem;padding:1rem;font-weight:800;display:flex}.history-card{margin-top:1.35rem}.history-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.history-head h2{margin-bottom:0;font-size:1.05rem}.history-actions{align-items:center;gap:.75rem;display:flex}.mini-stats{color:#6b728c;flex-wrap:wrap;gap:.6rem;font-size:.82rem;font-weight:700;display:flex}.mini-stats span{background:#f3f5fb;border-radius:999px;padding:.35rem .6rem}.view-button{min-height:2.4rem;padding:.5rem .75rem}.compact-view-button{white-space:nowrap;min-height:2.15rem;padding:.42rem .6rem}.danger-button{color:#ae321f;background:#fff0ed;border-color:#ffc7bc}.danger-button:hover{box-shadow:0 8px 20px #ae321f1f}.full-history-card{min-height:35rem}.settings-layout{grid-template-columns:1fr;align-items:start;gap:1.35rem;width:100%;max-width:none;display:grid}.denominations-page-layout{gap:1.35rem;max-width:900px;display:grid}.settings-panel{min-width:0}.denominations-panel{padding-bottom:1.25rem}.denominations-toolbar{flex-wrap:wrap;gap:.75rem;display:flex}.settings-section{gap:1.15rem;display:grid}.settings-section h2{margin-bottom:.35rem;font-size:1.25rem}.settings-section p{color:#59617f;margin-bottom:0;line-height:1.45}.about-section h3{color:#080d2b;margin:0 0 .55rem;font-size:1rem}.about-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.9rem;display:grid}.about-card{background:#fbfcff;border:1px solid #d9deeb;border-radius:8px;padding:1rem}.about-card ul{color:#59617f;gap:.45rem;margin:0;padding-left:1.1rem;line-height:1.4;display:grid}.about-code-list{border:1px solid #d9deeb;border-radius:8px;display:grid;overflow:hidden}.about-code-list div{background:#fff;border-top:1px solid #e3e7f0;gap:.25rem;padding:.85rem 1rem;display:grid}.about-code-list div:first-child{border-top:0}.about-code-list strong,.about-check-command strong{color:#080d2b}.about-code-list span,.about-check-command span{color:#59617f;line-height:1.4}.about-check-command{background:#f7f8fc;border:1px solid #d9deeb;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem;display:flex}.about-check-command code{color:#fff;background:#080d2b;border-radius:6px;padding:.4rem .55rem;font-weight:800}.settings-field{max-width:13rem;margin-bottom:0}.settings-field .input-shell{max-width:11rem}.settings-field input{text-align:left}.settings-save-button{max-width:13rem}.settings-divider{background:#e3e7f0;width:100%;height:1px}.settings-currencies-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.settings-currencies-row>div{flex:1;min-width:0}.settings-currencies-row p{color:#6b7280;margin:2px 0 0;font-size:13px}.settings-denomination-list{background:#e8ecf6;border:1px solid #d9deeb;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1px;display:grid;overflow:hidden}.settings-denomination-toggle{background:#fff;justify-content:space-between;align-items:center;gap:1rem;min-width:0;padding:.95rem 1rem;display:flex}.settings-denomination-toggle.unavailable{background:#f8f9fd}.settings-denomination-info{align-items:center;gap:.8rem;min-width:0;display:flex}.settings-denomination-info>span:last-child{gap:.2rem;min-width:0;display:grid}.settings-denomination-info strong{color:#080d2b}.settings-denomination-info em{color:#6b728c;font-size:.82rem;font-style:normal;font-weight:800}.reset-software-section{background:#fff8f6;border:1px solid #ffc7bc;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.reset-software-button{flex:none}.currency-settings-list{border:1px solid #d9deeb;border-radius:8px;display:grid;overflow:hidden}.currency-setting-row,.denomination-setting-row{background:#fff;border-top:1px solid #e3e7f0;align-items:center;gap:1rem;padding:.9rem 1rem;display:grid}.currency-setting-row{grid-template-columns:minmax(8rem,1fr) minmax(9rem,12rem)}.currency-setting-row-custom{grid-template-columns:minmax(8rem,1fr) minmax(9rem,12rem) auto}.add-currency-button{color:#4b5474;background:#f7f8fb;border-top:1px solid #e3e7f0;justify-content:center;align-items:center;gap:.4rem;width:100%;min-height:2.6rem;padding:.6rem 1rem;font-size:.88rem;font-weight:600;display:flex}.add-currency-button:hover{color:#080d2b;background:#eef0f7}.new-currency-form{background:#f7f8fb;border-top:1px solid #e3e7f0;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.9rem 1rem;display:flex}.new-currency-input{background:#fff;border:1.5px solid #d9deeb;border-radius:6px;width:9rem;min-width:0;padding:.45rem .6rem;font-size:.9rem}.new-currency-input:focus{border-color:#6c7ae0;outline:none}.new-currency-actions{gap:.5rem;display:flex}.currency-setting-row:first-child,.denomination-setting-row:first-child{border-top:0}.currency-setting-row>span,.denomination-setting-row>span{gap:.2rem;display:grid}.currency-setting-row strong,.denomination-setting-row strong{color:#080d2b}.currency-setting-row em,.denomination-setting-row em{color:#6b728c;font-size:.82rem;font-style:normal;font-weight:800}.denomination-settings-list{border:1px solid #d9deeb;border-radius:12px;display:grid;overflow:hidden}.denomination-setting-row{grid-template-columns:minmax(0,1fr);min-height:4.2rem}.denomination-setting-row:first-child{border-top:0}.availability-toggle input{accent-color:#5b45c4;cursor:pointer;width:1.1rem;height:1.1rem}.denomination-card{background:#fff;border-top:1px solid #e8ecf6;display:grid}.denomination-card:first-child{border-top:0}.denomination-card-main{grid-template-columns:auto 1fr auto;align-items:start;gap:1rem;padding:1.25rem 1.25rem .85rem;display:grid}.denomination-preview{background:#f4f5fb;border:1px solid #e3e7f0;border-radius:10px;justify-content:center;align-items:center;width:5.5rem;height:5.5rem;display:flex}.denomination-fields-grid{grid-template-columns:1fr 1fr minmax(6rem,.55fr);gap:.75rem;display:grid}.denomination-visual-grid{border-top:1px solid #f0f2f9;grid-template-columns:minmax(7rem,1.2fr) minmax(5rem,.8fr) repeat(4,minmax(3rem,1fr));gap:.75rem;padding:.85rem 1.25rem 1.25rem 7.75rem;display:grid}.denomination-card-actions{flex-direction:column;align-items:flex-end;gap:.5rem;padding-top:1.55rem;display:flex}.setting-mini-field{gap:.35rem;min-width:0;display:grid}.setting-mini-field span,.availability-toggle span{color:#6b728c;text-transform:uppercase;font-size:.76rem;font-weight:900}.setting-mini-field input,.setting-mini-field select{color:#080d2b;font:inherit;background:#fff;border:1px solid #d9deeb;border-radius:8px;width:100%;min-width:0;min-height:2.65rem;padding:.55rem .65rem;font-size:.94rem;font-weight:750}.setting-mini-field input:focus,.setting-mini-field select:focus{border-color:#5b45c4;outline:none;box-shadow:0 0 0 3px #5b45c421}.color-field input[type=color]{cursor:pointer;border-radius:6px;width:100%;height:2.65rem;padding:.2rem .25rem}.denomination-row-actions{place-items:stretch end;gap:.65rem;display:grid}.availability-toggle{background:#f7f8fc;border:1px solid #e3e7f0;border-radius:8px;align-items:center;gap:.5rem;min-height:2.65rem;padding:.55rem .65rem;display:inline-flex}.compact-availability-toggle{flex:none;min-height:2.35rem;padding:.45rem .55rem}.rate-shell{min-height:3rem}.rate-shell input:disabled{color:#6b728c}.settings-message{border-radius:8px;padding:.85rem 1rem;font-weight:800}.settings-message.success{color:#118752;background:#eafaf2;border:1px solid #bcebd1}.settings-message.error{color:#ae321f;background:#fff0ed;border:1px solid #ffc7bc}.history-table{border:1px solid #d9deeb;border-radius:8px;overflow:auto}.history-row{background:#fff;border-top:1px solid #e3e7f0;grid-template-columns:7.5rem 7.5rem 7.5rem minmax(20rem,1fr) 12rem 6rem;align-items:center;gap:1rem;min-width:960px;padding:.95rem 1.25rem;display:grid}.history-row:first-child{border-top:0}.history-header{color:#4f5875;background:#fbfcff;padding-top:.65rem;padding-bottom:.65rem;font-size:.82rem;font-weight:800}.history-result{min-width:0}.history-actions-cell{justify-self:end}.empty-history{color:#6b728c;background:#fff;min-width:960px;padding:1rem 1.25rem}@media (width<=1120px){.app-frame{flex-direction:column}.sidebar{flex:none;min-height:auto;position:static}.sidebar-brand{margin-bottom:1.4rem}.side-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.nav-item{justify-content:center}}@media (width<=920px){.calculator-grid{grid-template-columns:1fr}.settings-layout{grid-template-columns:1fr;max-width:none}.result-card{min-height:auto}.top-card{flex-direction:column;align-items:stretch}}@media (width<=680px){.app-frame{padding:.7rem}.sidebar{padding:1.2rem .75rem}.sidebar-brand span{font-size:1.35rem}.side-nav{grid-template-columns:1fr 1fr}.top-card,.surface-card,.twist-card{padding:1rem}.secondary-actions,.history-head,.history-actions{flex-direction:column;align-items:stretch}.file-loader,.ghost-button,.view-button{width:100%}.currency-setting-row,.settings-denomination-list{grid-template-columns:1fr}.reset-software-section{flex-direction:column;align-items:stretch}.reset-software-button{width:100%}.denomination-card-main{grid-template-rows:auto auto;grid-template-columns:auto 1fr}.denomination-card-actions{flex-direction:row;grid-column:1/-1;padding-top:0}.denomination-fields-grid{grid-template-columns:1fr 1fr}.denomination-visual-grid{grid-template-columns:1fr 1fr repeat(4,minmax(2.5rem,1fr));padding-left:1.25rem}.denomination-row{grid-template-columns:minmax(8rem,1fr) 3.5rem 2.6rem 4.5rem;gap:.6rem;padding:.8rem}.denomination-type{gap:.55rem}.money-art{display:none}.total-strip{flex-direction:column;align-items:flex-start;gap:.5rem}}
