:root{--bg:#faf7f2;--surface:#fff;--surface-raised:#fff;--surface-overlay:#fff;--surface-sunk:#f1ebe1;--accent:#b85c38;--accent-deep:#934423;--accent-tint:#f6e7dd;--accent-glow:#b85c382e;--purple:#cc7a45;--purple-glow:#cc7a452e;--pine:#3f6b57;--pine-tint:#e6ede8;--text:#23201b;--text-muted:#6b6357;--text-dim:#a79e8e;--border-subtle:#23201b0f;--border-medium:#23201b1a;--border-strong:#23201b29;--border-accent:#b85c3859;--page-max:1440px;--font:"Inter", "SF Pro Display", system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;--nav-h:72px;--nav-bg:#faf7f2d1;--nav-blur:20px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:32px;--shadow-sm:0 1px 2px #3c32260d, 0 2px 8px #3c32260d;--shadow-md:0 6px 18px #3c322614;--shadow-lg:0 18px 48px #3c32261f;--shadow-accent:0 10px 28px #b85c382e;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--transition-fast:.2s var(--ease-in-out);--transition-normal:.3s var(--ease-in-out);--muted:var(--text-muted);--soft:var(--text-muted);--dim:var(--text-dim)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0}#root{min-height:100vh}::selection{color:var(--text);background:#b85c382e}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}.home,.cv-brand{--bg:#f7faff;--surface:#fff;--surface-raised:#fff;--surface-overlay:#fff;--surface-sunk:#edf3fc;--accent:#2463eb;--accent-deep:#1d4eb8;--accent-tint:#eaf2ff;--accent-glow:#2463eb2e;--purple:#8b70e8;--purple-glow:#8b70e82e;--pine:#3f6b57;--pine-tint:#e6ede8;--text:#182238;--text-muted:#63718a;--text-dim:#7c899e;--border-subtle:#23201b0f;--border-medium:#23201b1a;--border-strong:#23201b29;--border-accent:#2463eb59;--page-max:1440px;--font:"Inter", "SF Pro Display", system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;--nav-h:72px;--nav-bg:#f7faffd1;--nav-blur:20px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:32px;--shadow-sm:0 1px 2px #425b910d, 0 2px 8px #425b910d;--shadow-md:0 6px 18px #425b9114;--shadow-lg:0 18px 48px #425b911f;--shadow-accent:0 10px 28px #2463eb2e;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--transition-fast:.2s var(--ease-in-out);--transition-normal:.3s var(--ease-in-out);--muted:var(--text-muted);--soft:var(--text-muted);--dim:var(--text-dim)}:root{--sg-h-sm:32px;--sg-h-md:40px;--sg-h-lg:48px;--sg-h-xl:56px;--sg-px-sm:12px;--sg-px-md:18px;--sg-px-lg:24px;--sg-fs-xs:12px;--sg-fs-sm:13px;--sg-fs-md:14px;--sg-fs-lg:16px;--sg-fs-xl:18px;--sg-space-1:4px;--sg-space-2:8px;--sg-space-3:12px;--sg-space-4:16px;--sg-space-5:20px;--sg-space-6:24px;--sg-space-7:32px;--sg-space-8:40px;--sg-space-9:56px;--sg-space-10:72px;--sg-danger:#ff5c5c;--sg-danger-glow:#ff5c5c52;--sg-success:#4ade80;--sg-warning:#fbbf24;--sg-ease:cubic-bezier(.22, .61, .36, 1);--sg-ease-spring:cubic-bezier(.34, 1.56, .64, 1);--sg-dur-fast:.14s;--sg-dur:.22s;--sg-dur-slow:.36s;--sg-ring:0 0 0 3px #b85c3847;--sg-ring-danger:0 0 0 3px #ff5c5c47}.adm-root{--sg-h-sm:28px;--sg-h-md:36px;--sg-h-lg:42px;--sg-h-xl:48px;--sg-px-sm:10px;--sg-px-md:14px;--sg-px-lg:20px;--sg-fs-md:13px;--sg-fs-lg:14px}.sg-btn{--_h:var(--sg-h-md);--_px:var(--sg-px-md);--_fs:var(--sg-fs-md);--_radius:10px;--_fg:var(--text,#f5f5f7);--_bg:transparent;--_bd:transparent;--_shadow:none;height:var(--_h);padding:0 var(--_px);font-family:inherit;font-size:var(--_fs);letter-spacing:.01em;color:var(--_fg);background:var(--_bg);border:1px solid var(--_bd);border-radius:var(--_radius);box-shadow:var(--_shadow);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:transform var(--sg-dur-fast) var(--sg-ease), background var(--sg-dur) var(--sg-ease), border-color var(--sg-dur) var(--sg-ease), box-shadow var(--sg-dur) var(--sg-ease), color var(--sg-dur) var(--sg-ease), filter var(--sg-dur) var(--sg-ease);justify-content:center;align-items:center;gap:8px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex;position:relative}.sg-btn:focus{outline:none}.sg-btn:focus-visible{box-shadow:var(--sg-ring), var(--_shadow)}.sg-btn--sm{--_h:var(--sg-h-sm);--_px:var(--sg-px-sm);--_fs:var(--sg-fs-sm);--_radius:8px}.sg-btn--md{--_h:var(--sg-h-md);--_px:var(--sg-px-md);--_fs:var(--sg-fs-md);--_radius:10px}.sg-btn--lg{--_h:var(--sg-h-lg);--_px:var(--sg-px-lg);--_fs:var(--sg-fs-lg);--_radius:12px;gap:10px}.sg-btn--xl{--_h:var(--sg-h-xl);--_px:28px;--_fs:var(--sg-fs-xl);--_radius:14px;font-weight:700}.sg-btn--block{width:100%}.sg-btn--primary{--_fg:#fff;--_bg:linear-gradient(135deg, #b85c38 0%, #cc7a45 60%, #934423 100%);--_bd:transparent;--_shadow:0 1px 0 #ffffff2e inset, 0 6px 14px -6px #b85c3880;text-shadow:0 1px #ffffff40}.sg-btn--primary:hover:not([disabled]):not(.sg-is-loading){--_shadow:0 1px 0 #ffffff38 inset, 0 12px 24px -8px #b85c38a6, 0 0 0 1px #b85c3840;filter:brightness(1.06)saturate(1.08);transform:translateY(-1px)}.sg-btn--primary:active:not([disabled]){filter:brightness(.94);transform:translateY(0)}.sg-btn--secondary{--_fg:var(--text,#f5f5f7);--_bg:#23201b0a;--_bd:#23201b1f;--_shadow:0 1px 0 #23201b0a inset}.sg-btn--secondary:hover:not([disabled]):not(.sg-is-loading){--_bg:#b85c3814;--_bd:#b85c386b;--_fg:#ccf6ff;transform:translateY(-1px)}.sg-btn--secondary:active:not([disabled]){--_bg:#b85c380a;transform:translateY(0)}.sg-btn--text{--_fg:var(--accent,#b85c38);--_bg:transparent;--_bd:transparent;padding:0 8px;font-weight:500}.sg-btn--text:hover:not([disabled]){--_bg:#b85c3814}.sg-btn--text:active:not([disabled]){--_bg:#b85c3824}.sg-btn--icon{width:var(--_h);--_fg:var(--text-muted,#86868b);--_bg:transparent;--_bd:transparent;padding:0}.sg-btn--icon:hover:not([disabled]){--_fg:var(--text,#f5f5f7);--_bg:#23201b0f}.sg-btn--icon:active:not([disabled]){--_bg:#23201b1a}.sg-btn--danger{--_fg:#fff;--_bg:linear-gradient(135deg, #ff7373 0%, #ff5c5c 60%, #e04545 100%);--_bd:transparent;--_shadow:0 1px 0 #ffffff2e inset, 0 6px 14px -6px var(--sg-danger-glow)}.sg-btn--danger:hover:not([disabled]){filter:brightness(1.05);--_shadow:0 1px 0 #ffffff38 inset, 0 12px 24px -8px var(--sg-danger-glow);transform:translateY(-1px)}.sg-btn--danger:active:not([disabled]){filter:brightness(.94);transform:translateY(0)}.sg-btn--danger:focus-visible{box-shadow:var(--sg-ring-danger), var(--_shadow)}.sg-btn--danger-ghost{--_fg:var(--sg-danger);--_bg:#ff5c5c0f;--_bd:#ff5c5c52}.sg-btn--danger-ghost:hover:not([disabled]){--_bg:#ff5c5c1f;--_bd:#ff5c5c8c}.sg-btn[disabled]:not(.sg-is-loading),.sg-btn[aria-disabled=true]:not(.sg-is-loading){cursor:not-allowed;filter:grayscale(.2);animation:1.6s ease-in-out infinite sg-btn-disabled-pulse;box-shadow:none!important;transform:none!important}.sg-btn[disabled].sg-is-loading,.sg-btn[aria-disabled=true].sg-is-loading{cursor:progress;filter:grayscale(.1);box-shadow:none!important;transform:none!important}@keyframes sg-btn-disabled-pulse{0%,to{opacity:.42}50%{opacity:.62}}@media (prefers-reduced-motion:reduce){.sg-btn[disabled]:not(.sg-is-loading),.sg-btn[aria-disabled=true]:not(.sg-is-loading){opacity:.45;animation:none}}.sg-btn.sg-is-loading{cursor:progress;pointer-events:none;text-shadow:none;color:#0000!important}.sg-btn.sg-is-loading:after{content:"";width:16px;height:16px;color:var(--_fg);border:2px solid;border-top-color:#0000;border-radius:50%;animation:.7s linear infinite sg-spin;position:absolute}@keyframes sg-spin{to{transform:rotate(360deg)}}.sg-btn-group{flex-wrap:wrap;gap:8px;display:inline-flex}.sg-btn-group--attached{gap:0}.sg-btn-group--attached .sg-btn{border-radius:0}.sg-btn-group--attached .sg-btn:first-child{border-top-left-radius:10px;border-bottom-left-radius:10px}.sg-btn-group--attached .sg-btn:last-child{border-top-right-radius:10px;border-bottom-right-radius:10px}.sg-btn-group--attached .sg-btn+.sg-btn{border-left:1px solid #23201b0f}.sg-field{flex-direction:column;gap:6px;min-width:0;display:flex}.sg-field--row{flex-direction:row;align-items:center;gap:12px}.sg-label{font-size:var(--sg-fs-sm);color:var(--text-muted,#86868b);letter-spacing:.02em;font-weight:500}.sg-label--required:after{content:"*";color:var(--sg-danger);margin-left:4px}.sg-help{font-size:var(--sg-fs-xs);color:var(--text-dim,#424245);line-height:1.5}.sg-error{font-size:var(--sg-fs-xs);color:var(--sg-danger);line-height:1.5}.sg-input,.sg-textarea,.sg-select{width:100%;height:var(--sg-h-md);font-family:inherit;font-size:var(--sg-fs-md);color:var(--text,#f5f5f7);transition:background var(--sg-dur) var(--sg-ease), border-color var(--sg-dur) var(--sg-ease), box-shadow var(--sg-dur) var(--sg-ease);box-sizing:border-box;background:#23201b08;border:1px solid #23201b1a;border-radius:10px;outline:none;padding:0 14px;line-height:1.4}.sg-textarea{height:auto;min-height:calc(var(--sg-h-md) * 2.6);resize:vertical;padding:12px 14px;line-height:1.6}.sg-select{appearance:none;color:var(--text,#f5f5f7);background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:right 16px center,right 11px center;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:36px}.sg-input::placeholder,.sg-textarea::placeholder{color:var(--text-dim,#424245)}.sg-input:hover,.sg-textarea:hover,.sg-select:hover{background:#23201b0d;border-color:#ffffff2e}.sg-input:focus,.sg-textarea:focus,.sg-select:focus{border-color:var(--accent,#b85c38);box-shadow:var(--sg-ring);background:#b85c380a}.sg-input:disabled,.sg-textarea:disabled,.sg-select:disabled{cursor:not-allowed;opacity:.5;background:#23201b05}.sg-input--invalid,.sg-textarea--invalid,.sg-select--invalid,.sg-field--invalid .sg-input,.sg-field--invalid .sg-textarea,.sg-field--invalid .sg-select{border-color:var(--sg-danger);background:#ff5c5c0a}.sg-field--invalid .sg-input:focus,.sg-field--invalid .sg-textarea:focus,.sg-field--invalid .sg-select:focus{box-shadow:var(--sg-ring-danger)}.sg-input-wrap{align-items:center;display:flex;position:relative}.sg-input-wrap .sg-input{padding-left:40px}.sg-input-wrap__prefix,.sg-input-wrap__suffix{width:40px;height:100%;color:var(--text-muted,#86868b);pointer-events:none;font-size:var(--sg-fs-sm);justify-content:center;align-items:center;display:flex;position:absolute}.sg-input-wrap__prefix{left:0}.sg-input-wrap__suffix{right:0}.sg-input-wrap--has-suffix .sg-input{padding-left:14px;padding-right:40px}.sg-input-wrap--has-suffix:not(.sg-input-wrap--has-prefix) .sg-input{padding-left:14px}.sg-check{font-size:var(--sg-fs-md);color:var(--text,#f5f5f7);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:inline-flex}.sg-check input[type=checkbox],.sg-check input[type=radio]{appearance:none;cursor:pointer;width:16px;height:16px;transition:background var(--sg-dur) var(--sg-ease), border-color var(--sg-dur) var(--sg-ease);background:#23201b0a;border:1px solid #fff3;border-radius:4px;margin:0;position:relative}.sg-check input[type=radio]{border-radius:50%}.sg-check input[type=checkbox]:checked,.sg-check input[type=radio]:checked{background:var(--accent,#b85c38);border-color:var(--accent,#b85c38)}.sg-check input[type=checkbox]:checked:after{content:"";box-sizing:border-box;border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:45%;left:50%;transform:translate(-50%,-55%)rotate(45deg)}.sg-check input[type=radio]:checked:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:3px}.sg-check:focus-within input{box-shadow:var(--sg-ring)}.sg-switch{--_w:36px;--_h:20px;width:var(--_w);height:var(--_h);flex-shrink:0;display:inline-block;position:relative}.sg-switch input{opacity:0;width:0;height:0}.sg-switch__track{cursor:pointer;transition:background var(--sg-dur) var(--sg-ease);background:#23201b1f;border-radius:999px;position:absolute;inset:0}.sg-switch__track:before{content:"";width:calc(var(--_h) - 4px);height:calc(var(--_h) - 4px);transition:transform var(--sg-dur) var(--sg-ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0000004d}.sg-switch input:checked+.sg-switch__track{background:var(--accent,#b85c38)}.sg-switch input:checked+.sg-switch__track:before{transform:translateX(calc(var(--_w) - var(--_h)))}.sg-switch input:focus-visible+.sg-switch__track{box-shadow:var(--sg-ring)}.sg-card{--_pad:var(--sg-space-6);background:linear-gradient(180deg, #23201b05 0%, #fff0 100%), var(--surface,#fff);border:1px solid var(--border-medium,#23201b14);padding:var(--_pad);transition:border-color var(--sg-dur) var(--sg-ease), box-shadow var(--sg-dur) var(--sg-ease), transform var(--sg-dur) var(--sg-ease);border-radius:16px;box-shadow:inset 0 1px #23201b08,0 4px 12px -4px #3c32261f}.sg-card--raised{box-shadow:inset 0 1px #23201b0a,0 12px 32px -12px #3c32261f}.sg-card--interactive{cursor:pointer}.sg-card--interactive:hover{border-color:var(--border-strong,#23201b1f);transform:translateY(-2px);box-shadow:0 16px 40px -12px #3c32261f,0 0 0 1px #b85c382e}.sg-card--flat{box-shadow:none}.sg-card--accent{border-color:#b85c384d;box-shadow:inset 0 0 0 1px #b85c382e,0 12px 32px -12px #b85c3847}.sg-card--compact{--_pad:var(--sg-space-4)}.sg-card--spacious{--_pad:var(--sg-space-7);border-radius:20px}.sg-card__header{margin-bottom:var(--sg-space-4);justify-content:space-between;align-items:center;gap:12px;display:flex}.sg-card__title{font-size:var(--sg-fs-lg);color:var(--text,#f5f5f7);letter-spacing:.01em;margin:0;font-weight:600}.sg-card__subtitle{font-size:var(--sg-fs-sm);color:var(--text-muted,#86868b);margin-top:4px}.sg-card__footer{margin-top:var(--sg-space-5);padding-top:var(--sg-space-4);border-top:1px solid var(--border-subtle,#23201b0a);justify-content:flex-end;gap:8px;display:flex}.sg-divider{background:var(--border-subtle,#23201b0f);height:1px;margin:var(--sg-space-5) 0;border:0}.sg-divider--vertical{vertical-align:middle;width:1px;height:16px;margin:0 var(--sg-space-3);display:inline-block}.sg-modal-backdrop{-webkit-backdrop-filter:blur(14px)saturate(1.1);z-index:9000;opacity:0;animation:sg-fade var(--sg-dur) var(--sg-ease) forwards;background:#0202049e;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}@keyframes sg-fade{to{opacity:1}}.sg-modal{background:var(--surface,#fff);border:1px solid var(--border-medium,#23201b14);opacity:0;width:100%;max-width:480px;max-height:calc(100vh - 96px);animation:sg-pop var(--sg-dur-slow) var(--sg-ease-spring) forwards;border-radius:18px;flex-direction:column;display:flex;position:relative;transform:translateY(12px)scale(.98);box-shadow:0 32px 80px -24px #3c32261f,0 0 0 1px #23201b0a}@keyframes sg-pop{to{opacity:1;transform:translateY(0)scale(1)}}.sg-modal--sm{max-width:360px}.sg-modal--lg{max-width:720px}.sg-modal--xl{max-width:960px}.sg-modal__header{border-bottom:1px solid var(--border-subtle,#23201b0a);justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.sg-modal__title{font-size:var(--sg-fs-xl);margin:0;font-weight:600}.sg-modal__close{color:var(--text-muted,#86868b)}.sg-modal__body{flex:1;padding:20px 24px;overflow-y:auto}.sg-modal__footer{border-top:1px solid var(--border-subtle,#23201b0a);justify-content:flex-end;gap:8px;padding:16px 24px 20px;display:flex}.sg-drawer{background:var(--surface,#fff);border-left:1px solid var(--border-medium);z-index:9000;width:100%;max-width:420px;transition:transform var(--sg-dur-slow) var(--sg-ease);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.sg-drawer.sg-is-open{transform:translate(0)}.sg-tag{height:22px;font-size:var(--sg-fs-xs);color:var(--text-muted,#86868b);border:1px solid var(--border-medium,#23201b14);letter-spacing:.04em;background:#23201b0a;border-radius:6px;align-items:center;gap:4px;padding:0 8px;font-weight:500;display:inline-flex}.sg-tag--accent{color:var(--accent,#b85c38);background:#b85c3814;border-color:#b85c3852}.sg-tag--purple{color:#d6a8ff;background:#cc7a451a;border-color:#cc7a4552}.sg-tag--success{color:var(--sg-success);background:#4ade801a;border-color:#4ade804d}.sg-tag--warning{color:var(--sg-warning);background:#fbbf241a;border-color:#fbbf244d}.sg-tag--danger{color:var(--sg-danger);background:#ff5c5c1a;border-color:#ff5c5c52}.sg-tag--solid{color:#fff;background:var(--accent,#b85c38);border-color:#0000;font-weight:600}.sg-badge{color:#fff;background:var(--sg-danger);border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.sg-banner{color:var(--text,#f5f5f7);font-size:var(--sg-fs-md);background:#b85c380f;border:1px solid #b85c3847;border-radius:12px;align-items:flex-start;gap:12px;padding:14px 16px;line-height:1.55;display:flex}.sg-banner--success{background:#4ade800f;border-color:#4ade804d}.sg-banner--warning{background:#fbbf240f;border-color:#fbbf244d}.sg-banner--danger{background:#ff5c5c0f;border-color:#ff5c5c52}.sg-tabs{border:1px solid var(--border-subtle,#23201b0f);background:#23201b08;border-radius:12px;gap:0;padding:4px;display:inline-flex}.sg-tab{height:32px;font-size:var(--sg-fs-sm);color:var(--text-muted,#86868b);cursor:pointer;transition:color var(--sg-dur) var(--sg-ease), background var(--sg-dur) var(--sg-ease);background:0 0;border:0;border-radius:8px;padding:0 14px;font-weight:500}.sg-tab:hover{color:var(--text,#f5f5f7)}.sg-tab.sg-is-active{color:var(--text,#f5f5f7);background:#23201b0f;box-shadow:inset 0 1px #23201b0a}.sg-tabs--line{gap:var(--sg-space-6);border:0;border-bottom:1px solid var(--border-subtle,#23201b0f);background:0 0;border-radius:0;padding:0;display:flex}.sg-tabs--line .sg-tab{border-radius:0;height:44px;padding:0;position:relative;background:0 0!important}.sg-tabs--line .sg-tab.sg-is-active:after{content:"";background:var(--accent,#b85c38);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.sg-stack{flex-direction:column;display:flex}.sg-stack--gap-2{gap:var(--sg-space-2)}.sg-stack--gap-3{gap:var(--sg-space-3)}.sg-stack--gap-4{gap:var(--sg-space-4)}.sg-stack--gap-5{gap:var(--sg-space-5)}.sg-stack--gap-6{gap:var(--sg-space-6)}.sg-stack--gap-7{gap:var(--sg-space-7)}.sg-row{align-items:center;display:flex}.sg-row--gap-2{gap:var(--sg-space-2)}.sg-row--gap-3{gap:var(--sg-space-3)}.sg-row--gap-4{gap:var(--sg-space-4)}.sg-row--between{justify-content:space-between}.sg-row--end{justify-content:flex-end}.sg-text-muted{color:var(--text-muted,#86868b)}.sg-text-dim{color:var(--text-dim,#424245)}.sg-text-accent{color:var(--accent,#b85c38)}@media (prefers-reduced-motion:reduce){.sg-btn,.sg-input,.sg-textarea,.sg-select,.sg-card,.sg-modal,.sg-drawer,.sg-switch__track:before,.sg-tab{transition-duration:.001ms!important;animation-duration:.001ms!important}.sg-btn:hover,.sg-card--interactive:hover{transform:none}}
