:root{--t-strong: rgba(255, 255, 255, .92);--t-body: rgba(255, 255, 255, .82);--t-sub: rgba(255, 255, 255, .62);--t-muted: rgba(255, 255, 255, .52);--bg0: #0d0d16;--bg1: #17172a;--surface: rgba(18, 18, 28, .46);--surface-2: rgba(255, 255, 255, .035);--surface-3: rgba(255, 255, 255, .055);--line: rgba(255, 255, 255, .1);--line-strong: rgba(255, 255, 255, .14);--line-soft: rgba(255, 255, 255, .06);--line-focus: rgba(108, 99, 255, .55);--primary: #6c63ff;--primary-weak: rgba(108, 99, 255, .55);--primary-glow: rgba(108, 99, 255, .14);--r-lg: 18px;--r-md: 14px;--r-sm: 12px;--shadow-main: 0 18px 55px rgba(0, 0, 0, .3);--shadow-soft: 0 8px 28px rgba(0, 0, 0, .25);--shadow-focus: 0 0 0 1px rgba(108, 99, 255, .25), 0 18px 60px rgba(0, 0, 0, .35);--space-xs: 6px;--space-sm: 10px;--space-md: 14px;--space-lg: 20px;--fz-page: 22px;--fz-section: 16px;--fz-cardTitle: 14px;--fz-body: 13px;--fz-muted: 12px;--font: ui-rounded, ui-sans-serif, system-ui, -apple-system, "SF Pro Rounded", "SF Pro Display", "PingFang SC", "HarmonyOS Sans", "Microsoft YaHei", Arial, sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font);color:var(--t-body);background:radial-gradient(1200px 700px at 20% 10%,rgba(108,99,255,.18),transparent 62%),radial-gradient(900px 500px at 70% 20%,rgba(79,195,247,.1),transparent 58%),linear-gradient(135deg,var(--bg0),var(--bg1))}#root{height:100%}.fx-app{min-height:100vh;position:relative;color:var(--t-body)}.fx-bg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(1000px 600px at 50% 0%,rgba(108,99,255,.12),transparent 62%);opacity:.95}.fx-container{position:relative;max-width:1200px;margin:0 auto;padding:28px 22px 40px}.fx-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.fx-brand{display:flex;align-items:center;gap:12px;min-width:0}.fx-brandMark{width:36px;height:36px;border-radius:999px;border:1px solid var(--line);background:radial-gradient(circle at 30% 30%,#6c63ff73,#12121c1a);box-shadow:0 0 20px #6c63ff1a}.fx-brandText{min-width:0}.fx-kicker{font-size:12px;color:var(--t-muted);letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fx-title{font-size:20px;color:var(--t-strong);font-weight:680;margin-top:2px;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fx-tabs{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.fx-tab{padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:#ffffff08;color:#ffffffad;font-size:13px;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform 80ms ease}.fx-tab:hover{background:#ffffff0d;border-color:#ffffff24}.fx-tab:active{transform:translateY(1px)}.fx-h1{font-size:var(--fz-page);color:var(--t-strong);font-weight:720;letter-spacing:.2px}.fx-h2{font-size:var(--fz-section);color:var(--t-strong);font-weight:680;letter-spacing:.2px}.fx-h3{font-size:var(--fz-cardTitle);color:var(--t-strong);font-weight:660;margin-bottom:6px}.fx-sub{color:var(--t-sub);font-size:var(--fz-body);margin-top:4px;line-height:1.55}.fx-body{color:var(--t-body);font-size:var(--fz-body);line-height:1.7}.fx-muted{color:var(--t-muted);font-size:var(--fz-muted);line-height:1.55}.fx-footerNote{margin-top:14px;color:var(--t-muted);font-size:12px}.fx-pageTitle{font-size:var(--fz-page);font-weight:720;letter-spacing:.2px;color:var(--t-strong)}.fx-sectionTitle{font-size:var(--fz-section);font-weight:680;letter-spacing:.2px;color:var(--t-strong)}.fx-cardTitle{font-size:var(--fz-cardTitle);font-weight:660;color:var(--t-strong)}.fx-card{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.fx-main{padding:18px;min-height:560px;box-shadow:var(--shadow-main)}.fx-layout{display:grid;grid-template-columns:1fr 420px;gap:18px}.fx-right{display:flex;flex-direction:column;gap:16px}@media(max-width:980px){.fx-layout{grid-template-columns:1fr}}.fx-card--content{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-soft)}.fx-card--focus{border:1px solid var(--line-focus);box-shadow:var(--shadow-focus)}.fx-card--utility{border:1px solid var(--line-soft);background:var(--surface-2);box-shadow:none}.fx-cardHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:14px}.fx-stack-lg{display:grid;gap:var(--space-lg)}.fx-stack-md{display:grid;gap:var(--space-md)}.fx-stack-sm{display:grid;gap:var(--space-sm)}.fx-btn{border:1px solid var(--line);background:#ffffff0a;color:var(--t-body);border-radius:999px;padding:10px 14px;font-size:13px;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform 80ms ease}.fx-btn:hover{background:#ffffff0f}.fx-btn:active{transform:translateY(1px)}.fx-btnGhost{background:#ffffff08;border:1px solid rgba(255,255,255,.1)}.fx-btnGhost:hover{background:#ffffff0d}.fx-btnPrimary{border-color:#6c63ff80;background:radial-gradient(circle at 20% 20%,#8a7cffd9,#6c63ff99);box-shadow:0 10px 26px #6c63ff29;color:var(--t-strong);font-weight:680}.fx-btnPrimary.is-disabled{opacity:.55;cursor:not-allowed}.fx-btnSoft{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:10px;background:#ffffff14;border:1px solid rgba(139,92,246,.28);color:#a78bfafa;font-weight:800;letter-spacing:.2px;box-shadow:0 10px 26px #00000047;transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease;cursor:pointer}.fx-btnSoft:hover{background:#8b5cf629;border-color:#8b5cf673;box-shadow:0 16px 40px #00000059;transform:translateY(-1px)}.fx-btnSoft:active{transform:translateY(0);box-shadow:0 10px 26px #00000047}.fx-chip{border:1px solid var(--line);background:#ffffff08;border-radius:999px;padding:6px 10px}.fx-chip--focus{border-color:var(--line-focus);box-shadow:0 0 0 4px var(--primary-glow)}.fx-empty{margin-top:10px;padding:16px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2)}.fx-mods{padding:18px}.fx-modItem{margin-top:12px;padding:14px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2)}.fx-modTitle{font-size:14px;color:var(--t-strong);font-weight:660}.fx-modDesc{margin-top:6px;font-size:12px;color:var(--t-sub);line-height:1.6}.fx-wizardCard{padding:18px;box-shadow:var(--shadow-main)}.fx-step{font-size:12px;color:var(--t-muted);letter-spacing:.2px;margin-bottom:6px}.fx-grid{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:720px){.fx-grid{grid-template-columns:1fr}}.fx-typeCard{text-align:left;width:100%;padding:14px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);color:var(--t-body);cursor:pointer;display:flex;gap:12px;align-items:flex-start;box-shadow:none}.fx-typeCard.is-active{border-color:var(--line-focus);box-shadow:0 0 0 4px var(--primary-glow)}.fx-typeCard.is-static{cursor:default}.fx-dot{width:10px;height:10px;border-radius:999px;margin-top:6px;box-shadow:0 0 18px #6c63ff1a}.fx-dot-learning{background:#4fc3f7}.fx-dot-work{background:#6c63ff}.fx-dot-life{background:#81c784}.fx-dot-project{background:#ff9800}.fx-typeTitle{font-size:14px;color:var(--t-strong);font-weight:660}.fx-typeEn{color:var(--t-muted);font-weight:600;font-size:12px;margin-left:6px}.fx-typeDesc{margin-top:6px;font-size:12px;color:var(--t-sub);line-height:1.6}.fx-wizardFooter{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center;gap:12px}.fx-input,.fx-textarea,select.fx-input{width:100%;border:1px solid var(--line-strong);outline:none;background:var(--surface-3);color:var(--t-strong);font-size:14px;line-height:1.5;border-radius:var(--r-md);padding:12px 14px;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.fx-textarea{resize:vertical;min-height:96px}.fx-input::placeholder,.fx-textarea::placeholder{color:#fff6}.fx-input:focus,.fx-textarea:focus,select.fx-input:focus{border-color:var(--primary-weak);box-shadow:0 0 0 4px var(--primary-glow);background:#ffffff12}.fx-input[type=date],.fx-input[type=number],.fx-input[type=text]{color-scheme:dark}.fx-visionCard{padding:16px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-lg)}.fx-visionCard.is-active{border-color:var(--line-focus);box-shadow:0 0 0 4px var(--primary-glow)}.fx-visionTop{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.fx-visionType{display:flex;align-items:center;gap:10px;min-width:0}.fx-visionTypeText{color:var(--t-muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fx-badge{font-size:12px;color:#ffffffe0;padding:4px 10px;border-radius:999px;background:#6c63ff29;border:1px solid rgba(108,99,255,.22)}.fx-visionTitle{font-size:16px;font-weight:720;color:var(--t-strong);letter-spacing:.2px;line-height:1.25}.fx-visionMeta{margin-top:8px;font-size:12px;color:var(--t-sub)}.fx-visionActions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}.fx-typeCard.fx-stack{display:flex;flex-direction:column;align-items:stretch;gap:14px;cursor:default}.fx-ytdHero{font-weight:720;letter-spacing:.2px}.fx-ytdMeta{color:var(--t-muted);font-size:12px}.fx-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;line-height:1;border:1px solid var(--line);background:#ffffff0a;color:#ffffffdb;white-space:nowrap}.fx-pill-neutral{background:#ffffff08;border-color:#ffffff1a;color:#ffffffb8}.fx-pill-primary{background:#6c63ff29;border-color:#6c63ff42;color:#ffffffeb}.fx-pill-info{background:#4fc3f724;border-color:#4fc3f73d}.fx-pill-ok{background:#81c78424;border-color:#81c7843d}.fx-pill-warn{background:#ff980024;border-color:#ff98003d}.fx-pill-danger{background:#f443361f;border-color:#f4433638}.fx-centerScreen{display:grid;place-items:center;min-height:100vh}.fx-welcomeCard{width:min(860px,92vw);padding:22px}.fx-welcomeHead{display:flex;gap:14px;align-items:center;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:16px}.fx-avatarPh{width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;flex:0 0 auto}.fx-welcomeTitle{margin-top:2px;font-size:22px;font-weight:760;color:var(--t-strong);letter-spacing:.2px}.fx-welcomeFocus{margin-top:16px;padding:16px;border-radius:var(--r-lg);border:1px solid rgba(255,255,255,.12);background:#ffffff08;box-shadow:0 18px 55px #00000040}.fx-welcomeFocusTop{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:10px}.fx-welcomeTextarea{min-height:120px}.fx-welcomeRow{margin-top:16px;display:grid;grid-template-columns:160px 1fr;gap:12px;align-items:center}@media(max-width:720px){.fx-welcomeRow{grid-template-columns:1fr}}.fx-welcomeLabel{color:var(--t-sub);font-size:13px;font-weight:650}.fx-welcomeActions{margin-top:18px;display:flex;gap:10px;justify-content:flex-end;align-items:center}.fx-reviewGrid{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}@media(max-width:980px){.fx-reviewGrid{grid-template-columns:1fr}}.fx-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:980px){.fx-grid2{grid-template-columns:1fr}}.fx-panel{background:var(--surface)}.fx-panelHeader{display:flex;align-items:center;gap:10px}.fx-panelHeader .fx-h3{line-height:1.2}.fx-reviewHero{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}@media(max-width:980px){.fx-reviewHero{flex-direction:column;align-items:stretch}}.fx-reviewTitle{font-size:18px;font-weight:720;color:var(--t-strong);letter-spacing:.2px;line-height:1.25;word-break:break-word}.fx-reviewMeta{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.fx-reviewActions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.fx-kv{display:grid;gap:10px}.fx-kvRow{border:1px solid var(--line);background:var(--surface-2);border-radius:var(--r-md);padding:12px}.fx-kvKey{color:var(--t-sub);font-size:12px;display:flex;align-items:center;gap:8px}.fx-kvVal{margin-top:8px;color:var(--t-strong);font-size:13px;line-height:1.65;white-space:pre-wrap}.fx-milestoneList{display:grid;gap:10px}.fx-milestoneItem{border:1px solid var(--line);background:var(--surface-2);border-radius:var(--r-md);padding:12px}.fx-milestoneHead{display:flex;align-items:center;justify-content:space-between;gap:10px}.fx-statGrid{display:grid;gap:10px}.fx-stat{border:1px solid var(--line);background:var(--surface-2);border-radius:var(--r-md);padding:12px}.fx-statVal{margin-top:6px;font-size:18px;font-weight:720;color:var(--t-strong)}.fx-riskList{display:grid;gap:10px}.fx-riskItem{border:1px solid var(--line);background:var(--surface-2);border-radius:var(--r-md);padding:12px}.fx-riskHead{display:flex;align-items:center;gap:10px}.fx-fieldTag{margin-right:8px}.fx-qBlock{border:1px solid rgba(255,255,255,.1);background:#ffffff08;border-radius:16px;padding:14px}.fx-qTop{display:flex;align-items:center;gap:10px;margin-bottom:10px}.fx-qPill{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.2px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#ffffffdb;white-space:nowrap}.fx-qPill-q1{border-color:#6c63ff59;background:#6c63ff24}.fx-qPill-q2{border-color:#4fc3f759;background:#4fc3f724}.fx-qPill-q3{border-color:#ff980059;background:#ff980024}.fx-qPill-q4{border-color:#81c78459;background:#81c78424}.fx-qTitle{font-size:14px;font-weight:700;color:#ffffffeb}.fx-qHint{margin-top:6px;font-size:12px;color:#fff9;line-height:1.55}@media(max-width:720px){.fx-container{padding:22px 16px 34px}.fx-title{font-size:18px}.fx-btn{padding:9px 12px}}:root{--fx-font: ui-rounded, system-ui, -apple-system, "SF Pro Rounded", "SF Pro Display", "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", Arial, sans-serif;--fx-text: rgba(255,255,255,.88);--fx-text-2: rgba(255,255,255,.72);--fx-muted: rgba(255,255,255,.52);--fx-border: rgba(255,255,255,.14);--fx-surface: rgba(255,255,255,.06);--fx-surface-2: rgba(255,255,255,.08);--fx-focus: rgba(145,113,255,.55);--fx-focus-glow: rgba(145,113,255,.18)}html,body{font-family:var(--fx-font);color:var(--fx-text)}.fx-sub{color:var(--fx-text-2)}.fx-muted{color:var(--fx-muted)}
