:root{--color-primary: #1E40AF;--color-primary-hover: #1D4ED8;--color-accent: #EA580C;--color-accent-hover: #C2410C;--color-bg: #F1F5F9;--color-bg-card: #FFFFFF;--color-surface-subtle: #F8FAFC;--color-text: #0F172A;--color-text-muted: #64748B;--color-text-faint: #94A3B8;--color-border: #E2E8F0;--color-success: #16A34A;--color-warning: #D97706;--color-danger: #DC2626;--color-info: #0284C7;--color-warning-bg: #FEF3C7;--color-warning-bg-soft: #FFFBEB;--color-warning-border: #FDE68A;--color-warning-fg-soft: #B45309;--color-warning-fg: #92400E;--color-warning-fg-strong: #78350F;--color-danger-bg: #FEE2E2;--color-danger-bg-soft: #FEF2F2;--color-danger-border: #FECACA;--color-danger-fg: #991B1B;--color-danger-fg-strong: #7F1D1D;--color-success-bg: #DCFCE7;--color-success-bg-soft: #F0FDF4;--color-success-border: #A7F3D0;--color-success-fg: #166534;--color-success-fg-strong: #047857;--color-info-bg: #DBEAFE;--color-info-bg-soft: #EFF6FF;--color-info-fg-soft: #0369A1;--color-info-fg: #075985;--color-info-fg-strong: #0C4A6E;--color-primary-bg: #EFF6FF;--color-primary-fg: #1E40AF;--color-neutral-bg: #F1F5F9;--color-neutral-fg: #475569;--color-indigo-bg: #E0E7FF;--color-indigo-fg: #3730A3;--color-scrim: rgba(15, 23, 42, .45);--color-chart-violet: #7C3AED;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .8125rem;--text-md: .875rem;--text-lg: 1rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-chart: 9px;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.25;--leading-normal: 1.45;--leading-relaxed: 1.65;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--spacing-xs: var(--space-1);--spacing-sm: var(--space-2);--spacing-md: var(--space-4);--spacing-lg: var(--space-6);--spacing-xl: var(--space-8);--control-h-xs: 1.75rem;--control-h-sm: 2rem;--control-h-md: 2.25rem;--control-h-lg: 2.75rem;--card-pad: var(--space-4);--card-pad-sm: var(--space-3);--radius-sm: 3px;--radius-md: 6px;--radius-lg: 8px;--radius-pill: 999px;--shadow-card: 0 1px 2px rgba(15, 23, 42, .04);--shadow-overlay: 0 -8px 24px rgba(15, 23, 42, .12);--duration-fast: .15s;--duration-base: .25s;--z-raised: 1;--z-sticky: 20;--z-share-footer: 50;--z-sidebar: 90;--z-header: 100;--z-overlay: 200;--z-dialog: 220;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--header-height: 57px;--sidebar-width: 180px}@media(max-width:767px){:root{--header-height: 52px}}@media(max-width:639px){:root{--control-h-sm: var(--control-h-lg);--control-h-md: var(--control-h-lg);--card-pad: var(--space-3)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-family);font-size:var(--text-sm);line-height:var(--leading-normal);background:var(--color-bg);color:var(--color-text);min-height:100vh;min-height:100dvh}h1,h2,h3,h4{font-weight:var(--weight-semibold);line-height:var(--leading-tight)}h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-md)}h4{font-size:var(--text-sm)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.blast-muted{color:var(--color-text-muted)}.blast-hint{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-normal)}.blast-num{font-variant-numeric:tabular-nums}.blast-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-3);min-height:var(--control-h-md);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration-fast);touch-action:manipulation}.blast-btn--primary{background:var(--color-primary);color:#fff}.blast-btn--primary:hover{background:var(--color-primary-hover)}.blast-btn--accent{background:var(--color-accent);color:#fff}.blast-btn--accent:hover{background:var(--color-accent-hover)}.blast-btn--ghost{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.blast-btn--danger{background:var(--color-danger);color:#fff}.blast-btn:disabled{opacity:.5;cursor:not-allowed}.blast-btn--sm{min-height:var(--control-h-sm);padding:0 var(--space-2);font-size:var(--text-xs)}.blast-input,.blast-select,.blast-textarea{width:100%;padding:0 var(--space-3);min-height:var(--control-h-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:inherit;color:var(--color-text);background:var(--color-bg-card)}.blast-input:focus-visible,.blast-select:focus-visible,.blast-textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:-1px}.blast-input:disabled,.blast-select:disabled,.blast-textarea:disabled{opacity:.55;background:var(--color-bg)}.blast-input--sm,.blast-select--sm{min-height:var(--control-h-sm);font-size:var(--text-xs)}.blast-textarea{min-height:5rem;padding:var(--space-2) var(--space-3);line-height:var(--leading-relaxed);resize:vertical}.blast-label{display:block;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted);margin-bottom:var(--space-1)}.blast-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--card-pad)}.blast-card__group{border-top:1px solid var(--color-border);margin-top:var(--space-3);padding-top:var(--space-3)}.blast-card__title{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-muted);margin-bottom:var(--space-2)}.blast-badge{display:inline-block;padding:0 var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-2xs);font-weight:var(--weight-medium);line-height:1.6}.blast-badge--pending{background:var(--color-warning-bg);color:var(--color-warning-fg)}.blast-badge--accepted{background:var(--color-info-bg);color:var(--color-primary-fg)}.blast-badge--completed{background:var(--color-success-bg);color:var(--color-success-fg)}.blast-badge--rejected,.blast-badge--cancelled{background:var(--color-danger-bg);color:var(--color-danger-fg)}.blast-badge--awaiting{background:var(--color-indigo-bg);color:var(--color-indigo-fg)}.blast-badge--default{background:var(--color-neutral-bg);color:var(--color-neutral-fg)}.blast-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.blast-table th,.blast-table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--color-border)}.blast-table th{font-weight:var(--weight-semibold);font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-surface-subtle);white-space:nowrap}.blast-table tr:hover td{background:var(--color-surface-subtle)}.blast-table td{vertical-align:middle}.blast-table .blast-btn{min-height:var(--control-h-xs);padding:0 var(--space-2);font-size:var(--text-xs);white-space:nowrap}.blast-form__group{margin-bottom:var(--space-3)}.blast-form__error{color:var(--color-danger);font-size:var(--text-xs);margin-top:var(--space-1)}.blast-note{border:1px solid transparent;border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);line-height:var(--leading-normal)}.blast-note--info{background:var(--color-primary-bg);border-color:var(--color-info-bg);color:var(--color-info-fg)}.blast-note--warning{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning-fg)}.blast-note--danger{background:var(--color-danger-bg-soft);border-color:var(--color-danger-border);color:var(--color-danger-fg)}.blast-note--success{background:var(--color-success-bg-soft);border-color:var(--color-success-border);color:var(--color-success-fg-strong)}.blast-note--muted{background:var(--color-surface-subtle);border-color:var(--color-border);color:var(--color-text-muted)}.blast-alert{padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:var(--radius-md);margin-bottom:var(--space-3);font-size:var(--text-sm)}.blast-alert--error{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-fg)}@media(max-width:639px){.blast-table{font-size:var(--text-xs)}.blast-table th,.blast-table td{padding:var(--space-2)}.blast-input,.blast-select,.blast-textarea{font-size:16px}}
