:root{--bg: #f3f5f7;--card: #ffffff;--text: #111827;--muted: #6b7280;--border: #d1d5db;--primary: #0f4c81;--primary-dark: #0a365c;--danger: #9f1239;--locked-bg: #eef8ef;--locked-border: #3f8f4d;--shadow: 0 8px 24px rgba(17, 24, 39, .08)}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}button,input{font:inherit}.app-header{position:sticky;top:0;z-index:10;background:var(--primary);color:#fff;text-align:center;padding:16px 20px;box-shadow:var(--shadow)}.app-header h1{margin:0;font-size:2rem;line-height:1.05;font-weight:800;letter-spacing:.03em}.app-byline{margin-top:2px;font-size:1rem;color:#ffffffe6}.signature{font-family:Brush Script MT,Segoe Script,Lucida Handwriting,cursive;font-size:1.45rem;font-style:italic}.app-main{width:min(980px,100%);margin:0 auto;padding:14px 14px 94px}.currency-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.switch-btn,.clear-btn{border-radius:12px;font-weight:700;min-height:48px;cursor:pointer}.switch-btn{background:#fff;color:var(--primary);border:1px solid var(--border)}.switch-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.clear-btn{background:#fff1f2;color:var(--danger);border:1px solid #fecdd3;padding:0 18px}.summary-card,.coin-card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.summary-card{padding:16px;margin-bottom:18px}.summary-top{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:14px}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.label{display:block;color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.summary-card strong{font-size:1.3rem}.hint,.workflow-note{color:var(--muted);line-height:1.4}.hint{margin:14px 0 0}.workflow-note{margin:0 0 12px;font-size:.94rem}.coin-section h2{margin:0 0 4px;font-size:1.18rem}.coin-grid{display:grid;grid-template-columns:1fr;gap:12px}.coin-card{position:relative;padding:14px;transition:background .2s ease,border-color .2s ease}.coin-card.locked{background:var(--locked-bg);border-color:var(--locked-border)}.coin-card-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;padding-right:42px}.coin-name{font-size:1.35rem;font-weight:800}.coin-weight{color:var(--muted);font-weight:700}.lock-button{position:absolute;top:9px;right:10px;width:38px;height:38px;border:1px solid var(--border);border-radius:999px;background:#fff;font-size:1.15rem;cursor:pointer;touch-action:none}.stepper{display:grid;grid-template-columns:76px 1fr 76px;gap:12px;align-items:center;margin-top:8px}.step-button{min-height:58px;border:1px solid var(--border);border-radius:14px;background:#fff;color:var(--primary);font-size:2rem;font-weight:800;cursor:pointer;touch-action:none;user-select:none}.step-button:active{transform:translateY(1px);background:#eef4f9}.step-button:disabled{opacity:.45;cursor:default}.step-count{text-align:center}.step-count strong{display:block;font-size:1.7rem}.result-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.result-box{border-radius:12px;background:#f9fafb;padding:10px}.coin-card.locked .result-box{background:#ffffffb3}.result-box strong{display:block;font-size:1.2rem}.warning{margin-top:10px;color:var(--danger);font-size:.88rem;font-weight:700;display:none}.warning.show{display:block}.lock-note{margin-top:10px;color:var(--muted);font-size:.84rem;font-weight:700}.coin-card.locked .lock-note{color:#166534}.hold-progress{display:none;height:5px;margin-top:8px;border-radius:999px;background:#bbf7d0;overflow:hidden}.coin-card.holding-unlock .hold-progress{display:block}.hold-progress-bar{width:0%;height:100%;background:#15803d}.coin-card.holding-unlock .hold-progress-bar{animation:holdFill 2s linear forwards}@keyframes holdFill{0%{width:0%}to{width:100%}}.app-footer{position:fixed;left:0;right:0;bottom:0;background:var(--primary-dark);color:#fff;text-align:center;padding:10px;font-size:.86rem;line-height:1.35}@media(min-width:720px){.app-main{padding-top:20px}.coin-grid{grid-template-columns:1fr 1fr}.summary-grid{grid-template-columns:repeat(4,1fr)}}body.settings-open{overflow:hidden}.settings-button{position:absolute;top:16px;right:14px;width:42px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:#ffffff1f;color:#fff;font-size:1.2rem;cursor:pointer}.settings-backdrop{position:fixed;inset:0;z-index:20;background:#1118277a}.settings-panel{position:fixed;left:0;right:0;bottom:0;z-index:30;max-height:88vh;overflow-y:auto;background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -12px 32px #11182733;padding:10px 16px 24px;transform:translateY(110%);transition:transform .22s ease}.settings-panel.open{transform:translateY(0)}.settings-handle{width:42px;height:5px;margin:2px auto 12px;border-radius:999px;background:#d1d5db}.settings-header{display:flex;justify-content:space-between;align-items:center}.settings-header h2{margin:0}.icon-button{width:40px;height:40px;border:1px solid var(--border);border-radius:999px;background:#fff;font-size:1.6rem;cursor:pointer}.settings-group{margin-top:18px;padding-top:14px;border-top:1px solid #e5e7eb}.settings-group h3{margin:0 0 12px;font-size:1rem}.settings-group>label:not(.toggle-row){display:block;margin:12px 0 6px;font-weight:700}.money-input{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;border:1px solid var(--border);border-radius:12px;padding:0 12px;background:#fff}.money-input span{font-size:1.2rem;font-weight:800}.money-input input{width:100%;min-height:48px;border:0;outline:0;font-size:1.15rem}.toggle-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:10px 0;font-weight:700}.toggle-row input{width:22px;height:22px}.settings-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.settings-actions .primary-btn{grid-column:1/-1}.primary-btn,.secondary-btn{min-height:48px;border-radius:12px;font-weight:700;cursor:pointer}.secondary-btn{border:1px solid var(--border);background:#fff;color:var(--text)}.primary-btn{border:1px solid var(--primary);background:var(--primary);color:#fff}.about-block{display:grid;gap:3px;margin-top:22px;padding-top:16px;border-top:1px solid #e5e7eb;text-align:center;color:var(--muted);font-size:.9rem}.about-block strong{color:var(--text);font-size:1.05rem}@media(min-width:720px){.settings-panel{left:50%;right:auto;width:min(520px,100%);transform:translate(-50%,110%)}.settings-panel.open{transform:translate(-50%)}}
