:root{--primary-100: #daedff;--primary-300: #93c6ff;--primary-400: #68a1ff;--primary-500: #457dff;--primary-600: #2554ff;--primary-700: #2048e9;--gray-50: #f7fafc;--gray-100: #edf2f7;--gray-200: #e2e8f0;--gray-300: #cbd5e0;--gray-400: #a0aec0;--gray-500: #718096;--gray-600: #4a5568;--gray-700: #2d3748;--gray-800: #1a202c;--gray-900: #171923;--red-300: #f9b5a8;--red-400: #f48975;--red-500: #ea6249;--red-600: #d7462b;--green-400: #25e2a4;--green-500: #00d395;--green-600: #00a474;--orange-300: #fdba74;--orange-400: #fb923c;--orange-500: #f97316;--bg-base: hsla(216, 12%, 25%, 1);--bg-level0: #31373f;--bg-level1: #383e47;--bg-level2: #3f4650;--bg-level3: #464d58;--bg-level4: #4c5561;--bg-level0-opacity: rgba(49, 55, 63, .96);--text-primary: #e5d3be;--text-secondary: #a0aec0;--text-tertiary: #cbd5e0;--text-disabled: #718096;--border-default: #4f5764;--border-subtle: rgba(255, 255, 255, .08);--gradient-dawn: linear-gradient( 135deg, hsla(244, 78%, 82%, 1) 0%, hsla(266, 37%, 85%, 1) 40%, hsla(0, 36%, 84%, 1) 60%, rgb(239, 148, 84) 100% );--gradient-sand: linear-gradient(90deg, #e5d3be 0%, #e6c6a0 100%);--gradient-text-special: linear-gradient( 90deg, #b3aef5 0%, #d7cbe7 25%, #e5c8c8 50%, #eaa879 100% );--gradient-warning: linear-gradient( 180deg, rgba(253, 186, 116, .2) 0%, rgba(151, 111, 69, .1) 100% );--shadow-card: 0 4px 12px rgba(0, 0, 0, .25);--shadow-font: 0px -1px 0px rgba(255, 255, 255, .3), 0px 1px 2px rgba(0, 0, 0, .2);--radius-md: 8px;--radius-lg: 12px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg-level0);color:var(--text-tertiary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5;min-height:100vh}#root{max-width:960px;margin:0 auto;padding:0 16px 64px}h1,h2,h3,h4{color:var(--text-primary);text-shadow:var(--shadow-font);font-weight:700}h1.gradient-text{background:var(--gradient-text-special);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none}a{color:var(--primary-400);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer;border:none;border-radius:var(--radius-md);padding:8px 16px;font-weight:600;transition:opacity .15s ease,filter .15s ease}button:hover:not(:disabled){filter:brightness(1.08)}button:disabled{cursor:not-allowed;opacity:.45}.btn-primary{background:var(--gradient-sand);color:var(--gray-800)}.btn-secondary{background:var(--bg-level4);color:var(--text-tertiary);border:1px solid var(--border-default)}.btn-danger{background:var(--red-600);color:#fff}input,select{font:inherit;background:var(--bg-level0);color:var(--gray-200);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:8px 12px;outline:none}input:focus,select:focus{border-color:var(--primary-500)}input::placeholder{color:var(--text-disabled)}.card{background:var(--bg-level1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:16px;margin-bottom:16px}.card-inner{background:var(--bg-level2);border-radius:var(--radius-md);padding:12px}.muted{color:var(--text-secondary);font-size:13px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.row{display:flex;align-items:center;gap:8px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:8px}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:var(--bg-level4);color:var(--text-secondary)}.badge-green{background:#00d39526;color:var(--green-400)}.badge-orange{background:#f9731626;color:var(--orange-300)}.badge-blue{background:#457dff2e;color:var(--primary-300)}.warning-box{background:var(--gradient-warning);border:1px solid rgba(253,186,116,.35);border-radius:var(--radius-md);padding:10px 12px;color:var(--orange-300);font-size:13px}.error-box{background:#d7462b1f;border:1px solid rgba(215,70,43,.4);border-radius:var(--radius-md);padding:10px 12px;color:var(--red-300);font-size:13px;word-break:break-word}table.amounts{width:100%;border-collapse:collapse;font-size:14px}table.amounts td,table.amounts th{padding:6px 8px;text-align:left;border-bottom:1px solid var(--border-subtle)}table.amounts th{color:var(--text-secondary);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border-default);border-top-color:var(--primary-400);border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}
