:root{--color-text: #232323;--color-text-dim: #7B7B7B;--color-text-muted: #7B7B7B;--color-text-highlight: #FFFFFF;--color-bg: #EEEEEE;--color-surface: #FFFFFF;--color-surface-light: #F6F6F6;--color-surface-lighter: #E4E4E4;--color-border: #E4E4E4;--color-border-light: #EEEEEE;--color-accent: #232323;--color-accent-alpha: rgba(35,35,35,.08);--color-accent-warning: #FEF991;--color-positive: #4BB956;--color-positive-alpha: rgba(75,185,86,.15);--color-negative: #FF453A;--color-negative-alpha: rgba(255,69,58,.15);--color-overlay: rgba(0,0,0,.5);--color-input-bg: rgba(35,35,35,.08);--radius-default: 6px;--spacing-margin: 12px;--spacing-card-margin: 16px;--spacing-same: 6px;--spacing-cross: 12px;--spacing-section: 24px;--font-display: "FK Grotesk Neue", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "FK Grotesk Neue", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "SF Mono", "Cascadia Code", "Fira Code", monospace}.text-vlarge-title{font-family:var(--font-display);font-size:24px;font-weight:400;letter-spacing:-.72px}.text-large-title{font-family:var(--font-display);font-size:20px;font-weight:400;letter-spacing:-.6px}.text-medium-title{font-family:var(--font-display);font-size:17px;font-weight:400;letter-spacing:-.17px}.text-medium-body{font-family:var(--font-body);font-size:17px;font-weight:300;letter-spacing:-.17px}.text-normal-title{font-family:var(--font-display);font-size:15px;font-weight:400;letter-spacing:-.15px}.text-normal-body{font-family:var(--font-body);font-size:15px;font-weight:300;letter-spacing:-.15px}.text-subtitle{font-family:var(--font-display);font-size:13px;font-weight:400;letter-spacing:-.13px}.text-detail{font-family:var(--font-display);font-size:11px;font-weight:400;letter-spacing:-.11px}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.animate-pulse-dot{animation:pulse-dot 2s ease-in-out infinite}.timer-ring-circle{transition:stroke-dashoffset .5s ease}select{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;background-image:none!important}select::-ms-expand{display:none}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0;font-family:var(--font-display, system-ui, -apple-system, "Segoe UI", sans-serif);background:var(--color-bg, #eeeeee);color:var(--color-text, #232323);-webkit-font-smoothing:antialiased}a{color:inherit}button{font-family:inherit}.bl-shell{min-height:100%;display:flex;flex-direction:column;max-width:640px;margin:0 auto;padding:20px 16px 40px}.bl-shell header.bl-topbar{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid rgba(0,0,0,.08);margin-bottom:20px}.bl-brand{font-size:20px;font-weight:500;letter-spacing:-.6px}.bl-brand .bl-brand-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--color-positive, #4bb956);margin-right:8px;vertical-align:middle}.bl-nav a{display:inline-block;padding:6px 10px;text-decoration:none;border-radius:6px;font-size:14px;color:var(--color-text-dim, #7b7b7b)}.bl-nav a.active{color:var(--color-text, #232323);background:#0000000d}.bl-card{background:var(--color-surface, #ffffff);border-radius:var(--radius-default, 6px);padding:16px;margin-bottom:12px;border:1px solid rgba(0,0,0,.06)}.bl-card h2{margin:0 0 10px;font-size:17px;font-weight:400}.bl-card p{margin:0 0 8px;font-size:14px;color:var(--color-text-dim, #7b7b7b)}.bl-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.bl-field label{font-size:13px;color:var(--color-text-dim, #7b7b7b)}.bl-field input,.bl-field select{background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:var(--radius-default, 6px);padding:10px 12px;font-size:15px;color:var(--color-text, #232323);outline:none}.bl-field input:focus,.bl-field select:focus{border-color:var(--color-accent, #232323)}.bl-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--color-accent, #232323);color:#fff;border:none;border-radius:var(--radius-default, 6px);padding:11px 16px;font-size:15px;cursor:pointer;text-decoration:none}.bl-btn:disabled{opacity:.5;cursor:not-allowed}.bl-btn.ghost{background:transparent;color:var(--color-text, #232323);border:1px solid rgba(0,0,0,.15)}.bl-btn.danger{background:var(--color-negative, #ff453a)}.bl-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.bl-items{list-style:none;padding:0;margin:0}.bl-item{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid rgba(0,0,0,.06)}.bl-item:last-child{border-bottom:none}.bl-item .bl-item-name{flex:1;font-size:15px}.bl-item .bl-item-spec{font-size:12px;color:var(--color-text-dim, #7b7b7b);margin-left:6px}.bl-item.recently .bl-item-name{text-decoration:line-through;color:var(--color-text-dim, #7b7b7b)}.bl-check{width:22px;height:22px;border:2px solid rgba(0,0,0,.25);border-radius:4px;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#fff;padding:0}.bl-check.on{background:var(--color-positive, #4bb956);border-color:var(--color-positive, #4bb956)}.bl-error{background:#ff453a1a;color:var(--color-negative, #ff453a);padding:10px 12px;border-radius:var(--radius-default, 6px);font-size:13px;margin-bottom:12px}.bl-error strong{display:block;margin-bottom:6px}.bl-error-detail{background:#0000000a;color:var(--color-text, #232323);padding:10px 12px;border-radius:var(--radius-default, 6px);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word;overflow-x:auto;margin:0}.bl-hint{font-size:12px;color:var(--color-text-dim, #7b7b7b);margin-top:4px}.bl-spin{font-size:13px;color:var(--color-text-dim, #7b7b7b)}.bl-add{display:flex;gap:8px;margin-top:12px}.bl-add input{flex:1;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:var(--radius-default, 6px);padding:10px 12px;font-size:15px;outline:none}
