:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17191c;background:#f5f6f8;font-synthesis:none;text-rendering:optimizeLegibility;--paper:#fff;--ink:#17191c;--muted:#6b7280;--line:#e5e7eb;--soft:#f3f4f6;--accent:#111827;--dark:#111827;--green:#15803d;--greenbg:#ecfdf3;--blue:#1d4ed8;--bluebg:#eff6ff;--good:#ecfdf3;--good-ink:#15803d;--warn:#fff7ed;--warn-ink:#9a3412;--danger:#b91c1c}body{margin:0;min-width:320px;background:#f5f6f8}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:30;height:68px;background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:0 26px;gap:24px}.brand{border:0;background:none;display:flex;align-items:center;gap:9px;font-weight:800;font-size:16px;white-space:nowrap}.brand svg{width:24px;height:24px;fill:none;stroke:#111;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.topbar nav{display:flex;justify-content:center;gap:2px;min-width:0}.topbar nav button{border:0;background:transparent;padding:9px 10px;border-radius:9px;color:#4b5563;font-size:14px;white-space:nowrap}.topbar nav button:hover,.topbar nav button.active{background:#f3f4f6;color:#111}.top-actions{display:flex;align-items:center;gap:10px}.ghost-link{border:0;background:transparent;color:#6d6963;font-size:13px}.time-pill{background:#111827;color:#fff;border-radius:11px;padding:7px 11px;display:flex;align-items:baseline;gap:7px;white-space:nowrap}.time-pill strong{font-size:14px}.time-pill span{font-size:10px;opacity:.7}.page-wrap{max-width:1220px;margin:0 auto;padding:34px 28px 70px}.page-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:24px}.page-head h1{font-size:31px;margin:4px 0 7px;letter-spacing:-.04em}.page-head p{color:var(--muted);margin:0;max-width:760px;line-height:1.7}.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#6b7280;font-weight:800}.btn{border:1px solid #e5e7eb;background:#fff;border-radius:9px;padding:9px 14px;font-weight:650}.btn.primary:hover{background:#333}.btn.small{padding:6px 10px;font-size:12px}.btn.danger{border-color:#fecaca;color:#b91c1c}.btn.danger-soft{border-color:#fee2e2;color:#b91c1c;background:snow}.btn.full{width:100%}.icon-btn{border:0;background:#f3f1ec;width:34px;height:34px;border-radius:50%;font-size:22px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.between{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.muted,small{color:var(--muted)}.panel,.hero-card,.skill-card,.project-hero,.role-hero,.practice-card,.list-panel{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 2px 12px #28231c06}.panel{padding:22px}.panel h2{margin:3px 0 8px}.panel h3{margin:8px 0}.panel p{color:var(--muted);line-height:1.65}.clickable{cursor:pointer}.clickable:hover{border-color:#bdb8af;transform:translateY(-1px)}.home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.hero-card{padding:23px;min-height:225px;display:flex;flex-direction:column}.hero-card h2{font-size:21px;margin:13px 0 10px}.hero-card p{color:var(--muted);line-height:1.65;margin:0;flex:1}.card-kicker{font-size:12px;color:#6b7280;font-weight:800}.card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.progress{height:7px;background:#eef1f4;border-radius:999px;overflow:hidden;margin-top:16px}.progress span{display:block;height:100%;background:#17191c;border-radius:999px}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.home-bottom{margin-top:16px}.line-list{display:grid;gap:13px;margin-top:18px}.line-list>div{display:flex;justify-content:space-between;border-top:1px solid #f3f4f6;padding-top:12px}.action-strip{margin-top:16px;background:#111827;color:#fff;border-radius:14px;padding:18px 20px;display:flex;justify-content:space-between;align-items:center}.action-strip div{display:flex;flex-direction:column;gap:4px}.action-strip span{opacity:.7}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800;letter-spacing:.04em;background:#f3f4f6;color:#4b5563}.badge.good{background:var(--good);color:var(--good-ink)}.badge.warn{background:var(--warn);color:var(--warn-ink)}.segmented{display:inline-flex;background:#e9e6df;border-radius:10px;padding:3px;margin-bottom:20px}.segmented button{border:0;background:transparent;padding:8px 14px;border-radius:8px;font-weight:650;color:#4b5563}.segmented button.active{background:#fff;color:#111;box-shadow:0 1px 4px #00000014}.segmented.small{margin:0}.segmented.small button{padding:6px 9px;font-size:12px}.project-toolbar{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:14px}.project-toolbar label{display:grid;gap:5px;color:#6b7280;font-size:12px}.project-toolbar select{min-width:260px}.project-hero,.role-hero{padding:24px;display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.project-hero h1,.role-hero h2{margin:6px 0}.project-hero p,.role-hero p{color:var(--muted);max-width:760px}.project-progress{width:240px}.project-progress>strong{font-size:28px}.project-progress>span{font-size:11px;color:var(--muted)}.milestone-track{display:flex;gap:8px;overflow-x:auto;padding:14px 2px 4px}.milestone-node{min-width:150px;border:1px solid #e5e7eb;background:#f8fafc;border-radius:12px;padding:12px;text-align:left;display:grid;grid-template-columns:22px 1fr;column-gap:7px;row-gap:4px}.milestone-node .dot{width:18px;height:18px;border:2px solid #94a3b8;border-radius:50%;display:grid;place-items:center;font-size:10px}.milestone-node strong,.milestone-node small{grid-column:2}.milestone-node.active{border-color:#111827;background:#fff}.milestone-node.done .dot{background:#111827;border-color:#111827;color:#fff}.task-list{display:grid;margin-top:15px}.task-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f3f4f6;padding:13px 2px}.task-row label{display:flex;gap:10px;align-items:flex-start}.task-row label span{display:grid;gap:3px}.task-row.done strong{text-decoration:line-through;color:#999}.text-btn{border:0;background:none;padding:4px;color:#6b7280;font-size:12px}.danger-text{color:#b91c1c}.filterbar{display:flex;gap:10px;margin-bottom:16px}.filterbar input{flex:1}.filterbar select{min-width:150px}.filterbar input,.filterbar select,.search-small,input,textarea,select{border:1px solid #e5e7eb;background:#fff;border-radius:9px;padding:9px 11px;outline:none}.filterbar input:focus,input:focus,textarea:focus,select:focus{border-color:#94a3b8;box-shadow:0 0 0 3px #504a420f}.list-panel{padding:0 20px}.list-row{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #f3f4f6}.list-row:last-child{border-bottom:0}.list-main{min-width:0}.list-main h3{margin:8px 0}.list-main p{color:var(--muted);margin:6px 0}.list-main small{display:block;margin-top:5px}.actions{justify-content:flex-end}.pager{display:flex;align-items:center;justify-content:center;gap:12px;padding:18px}.cards-list{display:grid;gap:12px}.card-grid{display:grid;gap:14px}.card-grid.three{grid-template-columns:repeat(3,1fr)}.skill-card{padding:18px;display:flex;flex-direction:column;min-height:230px}.skill-card h3{font-size:18px;margin:10px 0 5px}.skill-card p{color:var(--muted);line-height:1.55;margin:0 0 12px}.formula{background:#f3f4f6;border-radius:10px;padding:11px 12px;font-size:12px;line-height:1.6}.formula.large{font-size:14px}.card-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:12px}.category-bar,.role-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}.category-bar button,.role-tabs button{border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:7px 12px;font-size:12px}.category-bar button.active,.role-tabs button.active{background:#111827;color:#fff;border-color:#111827}.category-bar .add-cat{font-size:16px}.detail-hero{display:flex;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid #f3f4f6}.detail-hero h2{margin:7px 0}.detail-hero p{color:var(--muted)}.detail-metrics{display:grid;grid-template-columns:auto auto;gap:3px 8px;align-content:start}.detail-metrics strong{font-size:20px}.detail-metrics span{font-size:11px;color:var(--muted)}.detail-section{margin-top:20px}.detail-section h3{margin:0 0 8px}.battle-list{display:grid}.battle-list button{width:100%;border:0;border-top:1px solid #f3f4f6;background:transparent;padding:13px 2px;text-align:left;display:flex;justify-content:space-between;gap:18px}.battle-list button>span:first-child{display:grid;gap:4px}.battle-list.compact button:first-child{border-top:0}.practice-card{padding:24px}.practice-row{display:grid;grid-template-columns:45px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid #f3f4f6}.practice-row .number{font-size:12px;color:#9ca3af;font-weight:800}.practice-content label{display:grid;gap:7px;font-weight:700}.big-input{font-size:22px;font-weight:800;border:0!important;padding-left:0!important}.practice-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 57px}.practice-meta label,.form label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#4b5563}.practice-actions{display:flex;justify-content:center;gap:10px;margin-top:20px}.note{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:11px 13px;color:#6b7280;font-size:12px;line-height:1.6;margin-top:14px}.relation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:12px}.relation-grid fieldset,.check-grid{border:1px solid #e5e7eb;border-radius:10px;padding:12px}.relation-grid label,.check-grid label{display:flex;align-items:center;gap:7px;font-size:12px;margin:6px 0}.relation-grid label span{flex:1}.relation-grid select{padding:4px 6px;font-size:11px}.role-tabs{margin-bottom:14px}.scene-list{display:grid;gap:10px}.scene-row{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center}.scene-index{font-size:18px;font-weight:800;color:#b3aea5}.scene-row h3{margin:0 0 4px}.scene-row p{margin:0 0 8px;color:var(--muted)}.scene-actions{display:flex;gap:7px;align-items:center}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.metric-grid>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.metric-grid span{display:block;color:var(--muted);font-size:12px}.metric-grid strong{display:block;font-size:25px;margin-top:6px}.timeline{display:grid;gap:15px;margin-top:16px}.timeline>div{border-left:2px solid #e5e7eb;padding-left:13px}.timeline span{font-size:11px;color:var(--muted)}.timeline strong{display:block;margin:3px 0}.timeline p{margin:2px 0}.rank-list{display:grid;gap:11px;margin-top:16px}.rank-list>div{display:flex;justify-content:space-between;border-bottom:1px solid #f3f4f6;padding-bottom:9px}.search-small{max-width:230px}.weight-entry-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin-top:18px}.weight-entry-row label{display:grid;gap:6px;font-size:12px}.weight-table{margin-top:10px}.weight-tr{display:grid;grid-template-columns:1.2fr 1fr 1fr 80px;gap:12px;align-items:center;padding:11px 0;border-top:1px solid #f3f4f6}.weight-tr.head{font-size:11px;color:var(--muted);font-weight:800}.chart-wrap{height:290px;margin-top:14px}.chart-wrap svg{width:100%;height:100%;overflow:visible}.chart-wrap .axis{stroke:#d8d3ca;stroke-width:1}.chart-wrap .weight-line{fill:none;stroke:#111827;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.chart-wrap circle{fill:#fff;stroke:#111827;stroke-width:2}.chart-wrap .goal-line{stroke:#9f8a60;stroke-width:1.5;stroke-dasharray:7 5}.chart-wrap text{font-size:10px;fill:#8c867d}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#18161373;z-index:100;display:grid;place-items:center;padding:24px}.modal{width:min(620px,96vw);max-height:90vh;background:#fff;border-radius:18px;box-shadow:0 24px 80px #0003;display:flex;flex-direction:column}.modal.wide{width:min(1030px,96vw)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #f3f4f6}.modal-head h2{margin:0;font-size:19px}.modal-body{padding:20px;overflow:auto}.form{display:grid;gap:14px}.form.two-col,.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form textarea{resize:vertical;line-height:1.55}.md-editor{min-height:390px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.65}.editor-tabs{display:flex;border-bottom:1px solid #e5e7eb}.editor-tabs button{border:0;background:none;padding:8px 12px;color:#777}.editor-tabs button.active{color:#111;border-bottom:2px solid #111}.markdown-preview{min-height:390px;border:1px solid #e0dbd3;border-radius:10px;padding:20px;background:#fff}.modal-actions{display:flex;align-items:center;gap:8px;margin-top:8px}.inline-label{display:flex!important;flex-direction:row!important;align-items:center;gap:7px!important}.parking-head{margin-bottom:12px}.parking-head p{color:var(--muted);max-width:700px}.parking-list{display:grid;gap:10px}.parking-item{border:1px solid #e5e7eb;border-radius:12px;padding:15px;display:flex;justify-content:space-between;gap:15px}.parking-item h3{margin:7px 0}.parking-item p{color:var(--muted);margin:0;line-height:1.5}.battle-detail-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid #f3f4f6;padding-bottom:12px}.battle-detail-head h1{margin:7px 0;font-size:28px}.battle-markdown{padding-top:14px}.link-chips{display:flex;gap:6px;flex-wrap:wrap;border-top:1px solid #f3f4f6;padding-top:14px;margin-top:20px}.battle-browser{display:grid;grid-template-columns:260px 1fr;min-height:520px}.battle-browser aside{border-right:1px solid #f3f4f6;padding-right:15px;display:flex;flex-direction:column;gap:6px}.battle-browser aside>button:not(.btn){border:1px solid #e5e7eb;background:#f8fafc;border-radius:10px;padding:10px;text-align:left;display:grid;gap:4px}.battle-browser aside>button.active{border-color:#111827;background:#fff}.battle-browser section{padding-left:22px}.level-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.level-picker button{border:1px solid #e5e7eb;background:#fff;border-radius:10px;padding:12px;font-weight:800}.level-picker button.active{background:#111827;color:#fff}.markdown{line-height:1.75;color:#2b2926}.markdown h1{font-size:28px;margin:1.2em 0 .45em}.markdown h2{font-size:20px;border-bottom:1px solid #ece7e0;padding-bottom:7px;margin:1.5em 0 .55em}.markdown h3{font-size:16px;margin:1.3em 0 .5em}.markdown p{white-space:pre-wrap;margin:.7em 0}.markdown ul,.markdown ol{padding-left:1.5em}.markdown blockquote{border-left:3px solid #cbd5e1;margin:1em 0;padding:.2em 0 .2em 1em;color:#6b7280}.markdown code{background:#f3f4f6;border-radius:5px;padding:2px 5px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.markdown pre{background:#111827;color:#f6f2ea;padding:14px;border-radius:10px;overflow:auto}.markdown pre code{background:none;padding:0}.markdown.empty{color:#aaa}.empty-state{border:1px dashed #d1d5db;border-radius:12px;padding:30px;text-align:center;color:#6b7280;background:#fff6}.loading-screen{min-height:100vh;display:grid;place-items:center;font-size:18px}.loading-screen.error{align-content:center;gap:15px}.global-error{position:fixed;top:78px;left:50%;transform:translate(-50%);z-index:80;background:#fff4f4;color:#8e2b2b;border:1px solid #ebc6c6;border-radius:10px;padding:10px 14px;display:flex;gap:14px;align-items:center;box-shadow:0 10px 30px #00000014}.global-error button{border:0;background:none}.toast{position:fixed;right:24px;bottom:24px;z-index:120;background:#111827;color:#fff;border-radius:10px;padding:11px 15px;box-shadow:0 10px 30px #0003}.saving{position:fixed;left:24px;bottom:24px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:12px;z-index:120}details{margin-top:14px}details summary{cursor:pointer;font-weight:700;color:#5f5a53}fieldset{border:1px solid #e5e7eb;border-radius:10px;padding:11px}legend{font-size:11px;font-weight:800;color:#7c766e}.check-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.check-grid label{font-weight:400}.auto-text{overflow:hidden;resize:vertical}.relation-grid fieldset{max-height:320px;overflow:auto}.relation-grid fieldset>label{font-weight:400;color:#333}.chart-wrap+.note{margin-top:0}@media(max-width:1050px){.topbar{grid-template-columns:auto 1fr}.top-actions{display:none}.topbar nav{justify-content:flex-end;overflow:auto}.home-grid,.card-grid.three,.metric-grid{grid-template-columns:repeat(2,1fr)}.scene-row{grid-template-columns:40px 1fr}.scene-actions{grid-column:2}.relation-grid{grid-template-columns:1fr}.check-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.topbar{height:auto;display:block;padding:12px 14px}.brand{margin-bottom:8px}.topbar nav{justify-content:flex-start;overflow-x:auto}.topbar nav button{padding:7px 9px}.page-wrap{padding:22px 14px 60px}.page-head{display:block}.page-head>.btn,.page-head>.row{margin-top:12px}.home-grid,.card-grid.three,.split-grid,.metric-grid{grid-template-columns:1fr}.project-hero,.role-hero,.list-row,.parking-item{display:block}.project-progress{width:100%;margin-top:15px}.project-toolbar{display:block}.project-toolbar .row{margin-top:10px}.scene-row{grid-template-columns:1fr}.scene-index{display:none}.scene-actions{grid-column:1}.practice-row{grid-template-columns:1fr}.practice-row .number{display:none}.practice-meta{grid-template-columns:1fr;margin:15px 0}.practice-actions{flex-wrap:wrap}.weight-entry-row{grid-template-columns:1fr}.weight-tr{grid-template-columns:1fr 1fr}.weight-tr>*:nth-child(3),.weight-tr>*:nth-child(4){text-align:right}.battle-browser{grid-template-columns:1fr}.battle-browser aside{border-right:0;border-bottom:1px solid #f3f4f6;padding:0 0 12px;max-height:180px;overflow:auto}.battle-browser section{padding:16px 0 0}.form.two-col,.two-col{grid-template-columns:1fr}.span2{grid-column:1}.modal-backdrop{padding:8px}.modal{max-height:96vh}.check-grid{grid-template-columns:1fr}}.reality-confirm{display:flex!important;grid-template-columns:auto 1fr;align-items:flex-start!important;gap:10px!important;background:#f6f4ef;border:1px solid #e5e7eb;border-radius:10px;padding:11px 12px}.reality-confirm>span{display:grid;gap:2px}.reality-confirm small{font-weight:400;line-height:1.5}.toggle-line{display:inline-flex!important;align-items:center;gap:8px!important;font-size:13px;color:var(--muted);white-space:nowrap}.toggle-line input{width:auto!important;margin:0}.row.wrap{flex-wrap:wrap}.suggestion-box{margin:14px 0;padding:14px 16px;border:1px dashed var(--line);border-radius:14px;background:var(--soft);display:grid;gap:10px}.suggestion-box>div:first-child{display:grid;gap:3px}.suggestion-box small{color:var(--muted)}.review-links fieldset{max-height:260px;overflow:auto}.review-links label{align-items:flex-start!important}.review-links input[type=checkbox]{margin-top:3px}.role-progress{margin:16px 0 20px}.role-progress .metric-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.role-progress .metric-mini>div{padding:12px 14px;border:1px solid var(--line,#e5e7eb);border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.role-progress .metric-mini span{font-size:13px;color:var(--muted,#64748b)}.role-progress .metric-mini strong{font-size:17px}.role-progress .progress{margin-top:12px}@media(max-width:760px){.role-progress .metric-mini{grid-template-columns:1fr}.role-progress .between{align-items:flex-start}}.adopt-action,.pending-result{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line,#e5e7eb);border-radius:12px;background:#fff}.adopt-action>div,.pending-result>span{display:flex;flex-direction:column;gap:2px;flex:1}.adopt-action small,.pending-result small{color:var(--muted,#64748b)}.adopt-action select{min-width:220px}.pending-result{margin-top:12px;cursor:pointer}.pending-result input{width:auto}@media(max-width:760px){.adopt-action{align-items:stretch;flex-direction:column}.adopt-action select{min-width:0;width:100%}}body{background:#f5f6f8;color:#17191c}.topbar{background:#f5f6f8f0;border-bottom:0;padding-top:8px;padding-bottom:8px;height:76px}.topbar nav{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:6px;gap:4px}.topbar nav button{color:#4b5563;font-weight:650;border-radius:9px}.topbar nav button:hover{background:#f3f4f6;color:#111827}.topbar nav button.active{background:#111827;color:#fff}.brand{color:#111827}.brand svg{stroke:#111827}.time-pill{background:#fff;color:#111827;border:1px solid #e5e7eb;font-weight:800}.time-pill span{opacity:1;color:#6b7280}.page-wrap{max-width:1320px;padding-top:26px}.panel,.hero-card,.skill-card,.project-hero,.role-hero,.practice-card,.list-panel{border-color:#e5e7eb;box-shadow:0 4px 18px #00000008}.btn{border-color:#e5e7eb;border-radius:10px}.btn.primary{background:#111827;border-color:#111827}.badge{background:#f3f4f6;color:#4b5563}.badge.good{background:#ecfdf3;color:#15803d}.badge.warn{background:#fff7ed;color:#9a3412}.badge.dark{background:#111827;color:#fff}.segmented{background:transparent;border:0;padding:0;gap:7px}.segmented button{background:#fff;border:1px solid #e5e7eb;border-radius:999px;color:#4b5563}.segmented button.active{background:#111827;color:#fff;border-color:#111827;box-shadow:none}.category-bar button,.role-tabs button{border-color:#e5e7eb}.category-bar button.active,.role-tabs button.active{background:#111827;border-color:#111827}.formula{background:#fff;border:1px solid #e5e7eb;color:#334155}.note{background:#f9fafb;border-color:#e5e7eb;color:#6b7280}.plain-note{background:transparent;border:0;padding:0;margin:5px 0 0}input:not([type=checkbox]):not([type=radio]),textarea,select,.filterbar input,.filterbar select,.search-small{border-color:#e5e7eb;border-radius:10px}input:not([type=checkbox]):not([type=radio]):focus,textarea:focus,select:focus,.filterbar input:focus{border-color:#94a3b8;box-shadow:0 0 0 3px #1d4ed80f}.progress{background:#eceff2}.markdown h2{border-color:#e5e7eb}.markdown blockquote{border-color:#cbd5e1;color:#6b7280}.markdown code{background:#f3f4f6}.markdown pre{background:#111827;color:#fff}.mainline-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.project-select{display:flex;align-items:center;gap:8px;font-size:12px;color:#6b7280}.project-select select{min-width:230px}.mainline-project-card{margin-bottom:14px}.mainline-project-card h1{font-size:28px;margin:7px 0 9px}.mainline-pills{margin-top:12px}.mainline-progress{margin-top:14px}.mainline-milestones-card{padding:18px}.milestone-track-v16{display:flex;align-items:center;gap:0;overflow-x:auto;padding:10px 2px 16px}.mstep-segment{display:flex;align-items:center;min-width:max-content}.mstep{min-width:155px;border:1px solid #e5e7eb;border-radius:14px;padding:12px;cursor:pointer;background:#fff;position:relative;text-align:left;display:block}.mstep.done{background:#ecfdf3;border-color:#86efac;color:#166534}.mstep.active{background:#eff6ff;border-color:#93c5fd;color:#1e40af}.mstep .name{display:block;font-weight:800;font-size:13px;padding-right:18px}.mstep .meta{display:block;font-size:10px;margin-top:4px;opacity:.8}.milestone-detail-v16{border:1px solid #e5e7eb;border-radius:14px;padding:14px;margin-top:4px}.small-copy{font-size:12px}.task-v16-list{margin-top:10px}.task-v16{display:flex;gap:8px;align-items:flex-start;padding:8px 4px;border-top:0}.task-v16 input{margin-top:4px}.task-v16 .txt{flex:1;font-size:14px;display:grid;gap:3px}.task-v16 .txt.done strong{text-decoration:line-through;color:#9ca3af}.task-v16 .task-actions{margin-left:auto}.task-more{min-width:34px}.task-source{padding:12px 14px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;color:#6b7280;font-size:12px;line-height:1.6}.event-choice{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.event-choice .btn{width:100%}.new-project-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:16px}.outline-field{display:grid;gap:6px;font-size:12px;font-weight:700;color:#4b5563}.outline-textarea{min-height:370px;font-family:ui-monospace,Consolas,monospace;line-height:1.6}.outline-preview{margin-top:12px;border:1px solid #e5e7eb;border-radius:12px;padding:14px;background:#f8fafc;display:grid;gap:12px;font-size:13px}.outline-preview>div{display:grid;gap:5px}.outline-preview span{color:#64748b}.form-caption{font-size:12px;font-weight:750;margin-bottom:6px}.sort-task-list{display:grid;gap:7px}.sort-row{display:flex;gap:6px;align-items:center}.sort-row input{flex:1}.mentor-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.mentor-tabs button{border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:7px 11px;cursor:pointer;display:flex;gap:7px;align-items:baseline}.mentor-tabs button strong{font-size:12px}.mentor-tabs button span{font-size:10px;color:#6b7280}.mentor-tabs button.active{background:#111827;border-color:#111827;color:#fff}.mentor-tabs button.active span{color:#cbd5e1}.mentor-caption{display:flex;align-items:center;gap:8px;margin:4px 0 14px;font-size:12px;color:#6b7280}.mentor-caption span{padding-left:8px;border-left:1px solid #e5e7eb}@media(max-width:760px){.mainline-toolbar{align-items:stretch}.mainline-toolbar-right,.project-select{width:100%}.project-select{display:grid}.project-select select{min-width:0;width:100%}.new-project-grid,.event-choice{grid-template-columns:1fr}.mentor-tabs{display:grid;grid-template-columns:1fr 1fr}.mentor-tabs button{border-radius:12px;justify-content:flex-start;flex-direction:column;align-items:flex-start}}:root{--paper:#fff;--ink:#17191c;--muted:#6b7280;--line:#e5e7eb;--soft:#f3f4f6;--accent:#111827;--dark:#111827;--green:#15803d;--greenbg:#ecfdf3;--blue:#2563eb;--bluebg:#eff6ff;--warn:#fff7ed;--warn-ink:#9a3412}html,body,#root{min-height:100%}body{background:#f5f6f8;color:var(--ink)}.shell{max-width:1320px;margin:0 auto;padding:18px}.v16-page-host{display:block;min-height:calc(100vh - 104px)}.top-navline{position:sticky;top:12px;z-index:40;display:grid;grid-template-columns:210px minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:16px;padding:10px 12px;background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:16px;box-shadow:0 4px 18px #0f172a0a}.top-system-name{border:0;background:transparent;padding:0 4px;display:flex;align-items:center;gap:9px;font-weight:850;font-size:15px;white-space:nowrap}.brand-growth-icon{width:29px;height:29px;border:1px solid #dbe1e8;background:#f8fafc;border-radius:9px;display:grid;place-items:center}.brand-growth-icon svg{width:18px;height:18px;fill:none;stroke:#111827;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.nav{display:flex;justify-content:center;align-items:center;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav button{border:0;background:transparent;color:#64748b;padding:8px 9px;border-radius:9px;font-size:13px;white-space:nowrap}.nav button:hover,.nav button.active{background:#f1f5f9;color:#111827}.top-nav-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}.top-time-badge{display:inline-flex;align-items:center;background:#111827;color:#fff;border-radius:10px;padding:8px 11px;font-size:12px;font-weight:800}.export-btn{padding:7px 9px}.card,.panel,.hero-card,.skill-card,.project-hero,.role-hero,.practice-card,.list-panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 2px 12px #0f172a06}.card{padding:22px;margin-bottom:14px}.page-head{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 2px 12px #0f172a06;padding:22px;margin-bottom:14px}.page-head h1,.card h1{font-size:28px;line-height:1.25;margin:6px 0 7px;letter-spacing:-.035em}.page-head p,.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#64748b;font-weight:850}.btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 12px;font-weight:680;box-shadow:none}.btn:hover{background:#f8fafc}.btn.primary{background:#111827;border-color:#111827;color:#fff}.btn.small{padding:6px 9px;font-size:12px}.input,.textarea,.select,.form input:not([type=checkbox]):not([type=radio]),.form textarea,.form select,.search-small{width:100%;border:1px solid #dce1e8;background:#fff;border-radius:9px;padding:9px 10px;outline:none}.input:focus,.textarea:focus,.select:focus,.form input:not([type=checkbox]):not([type=radio]):focus,.form textarea:focus,.form select:focus,.search-small:focus{border-color:#94a3b8;box-shadow:0 0 0 3px #94a3b81f}.textarea,.form textarea{resize:vertical;line-height:1.65}.field{display:grid;gap:6px}.field label,.form label{font-size:12px;font-weight:760;color:#475569}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.note{font-size:12px;line-height:1.65;color:var(--muted)}.grid2,.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.span2{grid-column:1/-1}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:800}.pill.blue{background:#eff6ff;color:#1d4ed8}.pill.ok{background:#ecfdf3;color:#15803d}.pill.warn{background:#fff7ed;color:#9a3412}.home-workbench{min-height:0}.home-focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.home-focus-card{border:1px solid var(--line);border-radius:15px;padding:16px;min-height:196px;display:flex;flex-direction:column;background:#fff}.home-focus-card.primary-focus{background:#f8fafc;border-color:#cbd5e1}.home-focus-label{font-size:11px;font-weight:850;color:#64748b}.home-focus-title{font-size:19px;font-weight:850;line-height:1.35;margin-top:10px}.home-focus-body{color:#64748b;line-height:1.65;margin-top:8px;flex:1}.reclaim-strip{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:12px;padding:13px 14px;border:1px dashed #cbd5e1;background:#fafafa;border-radius:13px}.reclaim-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.reclaim-item{display:inline-flex;padding:5px 8px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:11px;color:#475569}.home-hidden-action{display:none}.grid-main>aside .card{position:sticky;top:92px}.list-tools{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:14px 0 10px}.list-search{max-width:520px}.issue{border:1px solid var(--line);border-radius:13px;padding:13px;cursor:pointer;background:#fff}.issue:hover{background:#fafafa;border-color:#cbd5e1}.issue-title{font-weight:780}.issue-meta,.event-meta{font-size:11px;color:var(--muted);margin-top:5px}.event-step{padding:7px 10px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:11px;font-weight:850}.event-step.current{background:#111827;color:#fff}.event-step.done{background:#ecfdf3;color:#15803d}.event-stage{display:block}.event-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fafafa;margin-top:10px}.event-card .field{margin-top:10px}.recommend-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}.recommend-box{padding:10px;border:1px solid var(--line);border-radius:11px;background:#fff}.issue-current-selection{margin-top:9px}.compact-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.selection-link{border:0;background:transparent;padding:0;color:#2563eb;font:inherit;font-weight:800;cursor:pointer}.selection-link:hover{text-decoration:underline}.category-manager-list{display:grid;gap:8px}.category-manager-row{padding:10px 0;border-bottom:1px solid #eef2f6}.battle-quick-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #eef2f6}.battle-quick-row small{color:var(--muted);white-space:nowrap}.quiet-box strong{display:block;font-size:17px;margin:5px 0}.growth-output>div{padding:11px;border:1px solid var(--line);border-radius:11px;background:#fff;display:grid;gap:4px}.growth-output span{color:#64748b;line-height:1.6}.leverage-form{margin-top:10px}.reviews-card{min-height:650px}.mini-tabs,.skill-tabs,.role-tabs{display:flex;gap:7px;margin:13px 0 12px;flex-wrap:wrap}.mini-tabs button,.skill-tabs button,.role-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;color:#475569}.mini-tabs button.active,.skill-tabs button.active,.role-tabs button.active{background:#111827;color:#fff;border-color:#111827}.review-list-pane{border:1px solid var(--line);border-radius:14px;padding:10px;min-height:520px;max-height:650px;overflow:auto;background:#fafafa}.review-item:hover{border-color:#d8dee6}.review-item strong{display:block;line-height:1.45}.review-preview-pane{border:1px solid var(--line);border-radius:14px;padding:24px;min-height:520px;background:#fff;overflow:auto}.review-md{margin-top:18px}.empty-preview{display:grid;place-items:center;min-height:140px;color:#94a3b8;text-align:center}.full-editor-react{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#f8fafc;overflow:auto;padding:18px}.full-editor-react .editor-wrap{max-width:1000px;min-height:calc(100vh - 36px);margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 12px 45px #0f172a14}.editor-head{margin-bottom:14px}.review-title-input{font-size:22px;font-weight:800;margin-bottom:12px}.editor-text{width:100%;min-height:62vh;border:1px solid var(--line);border-radius:12px;padding:18px;font:14px/1.75 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;resize:vertical;outline:none}.preview-body{min-height:62vh;border:1px solid var(--line);border-radius:12px;padding:26px;background:#fff}.review-meta-panel{margin-top:12px;border:1px solid var(--line);border-radius:12px;padding:11px;background:#fafafa}.review-extra{margin-top:12px}.review-editor-footer{display:flex;gap:12px;align-items:center;margin-top:12px}.review-editor-footer .inline-label{margin-left:auto}.adopt-action{display:grid;grid-template-columns:1fr minmax(220px,320px) auto;align-items:center;gap:10px;margin-top:12px;padding:12px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:12px}.adopt-action small{display:block;color:#64748b;margin-top:3px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0f172a57;display:flex;align-items:center;justify-content:center;padding:24px}.modal-backdrop .modal{width:min(820px,96vw);max-height:90vh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px #0f172a2e}.modal-backdrop .modal.wide{width:min(1040px,96vw)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px 0}.modal-head h2{margin:0;font-size:21px}.modal-body{padding:16px 20px 20px}.icon-btn{border:1px solid var(--line);background:#fff;width:34px;height:34px;border-radius:9px;font-size:20px;display:grid;place-items:center}.modal-actions{display:flex;align-items:center;gap:8px;margin-top:14px}.modal-actions>span{flex:1}.mainline-toolbar,.category-bar,.mentor-tabs,.role-tabs{background:transparent}.mainline-project-card,.mainline-milestones-card,.skill-card,.practice-card,.role-hero,.role-progress,.scene-row,.metric-grid>div{box-shadow:none}.skill-card,.scene-row{border-color:var(--line)}.formula{background:#f8fafc;border:1px solid var(--line);color:#334155}.progress{background:#e9eef3}.progress span{background:#111827}.mstep.active .num,.mstep.active{border-color:#2563eb}.mstep.active .num{background:#2563eb;color:#fff}.mstep.done .num{background:#15803d;color:#fff}.connector.done{background:#15803d}.practice-card{padding:22px}.practice-row{border-bottom:1px solid #eef2f6}.practice-row:last-of-type{border-bottom:0}.practice-meta{background:#fafafa;border:1px solid var(--line);border-radius:12px;padding:12px}.practice-actions{justify-content:center}.auto-text{overflow:hidden;min-height:110px}.role-hero{padding:20px;background:#fff}.role-progress{background:#fff}.scene-list{display:grid;gap:9px}.scene-row{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}.role-scene-v16.current-opportunity{border-color:#93c5fd;background:#eff6ff}.role-scene-v16.known-opportunity{border-color:#fed7aa;background:#fff7ed}.role-scene-v16.active-practice{box-shadow:inset 3px 0 #2563eb}.role-gap-info{margin-top:10px;padding:9px 11px;border:1px solid #fed7aa;border-radius:10px;background:#fff7ed;color:#9a3412;font-size:12px;line-height:1.6}.scene-index{color:#94a3b8;font-weight:900}.role-progress .progress span{background:#2563eb}.metric-grid>div{background:#fff;border:1px solid var(--line)}.battle-list button{background:#fff;border-color:var(--line)}.timeline>div,.rank-list>div{border-color:#eef2f6}.weight-bottom{align-items:stretch}.chart-wrap{border:1px solid var(--line);border-radius:12px;background:#fff}.weight-entry-row{align-items:end}.weight-table{border-top:1px solid var(--line)}.weight-tr{border-bottom:1px solid #eef2f6}.weight-goal-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.weight-goal-progress .progressline{margin-bottom:6px}.global-error{max-width:1284px;margin:0 auto 12px;border:1px solid #fecaca;background:#fff1f2;color:#991b1b;padding:10px 12px;border-radius:10px;display:flex;justify-content:space-between}.global-error button{border:0;background:transparent;color:inherit;font-size:18px}.toast{position:fixed;right:24px;bottom:24px;z-index:120;background:#111827;color:#fff;padding:10px 14px;border-radius:10px;box-shadow:0 10px 30px #0f172a2e}.saving{position:fixed;right:24px;top:86px;z-index:120;background:#fff;border:1px solid var(--line);padding:7px 10px;border-radius:9px;color:#64748b;font-size:12px}@media(max-width:1050px){.top-navline{grid-template-columns:auto 1fr}.top-nav-actions{grid-column:1/-1;justify-content:flex-end}.grid-main{grid-template-columns:1fr}.grid-main>aside .card{position:static}.review-workspace{grid-template-columns:1fr}.review-list-pane{min-height:0;max-height:320px}.home-focus-grid{grid-template-columns:1fr}}@media(max-width:720px){.shell{padding:10px}.top-navline{top:6px;border-radius:12px}.top-system-name{display:none}.top-navline{grid-template-columns:1fr}.top-nav-actions{justify-content:space-between}.card,.page-head{padding:16px}.grid2,.two-col,.recommend-grid,.event-choice,.adopt-action{grid-template-columns:1fr}.modal-backdrop{padding:10px}.modal-backdrop .modal,.modal-backdrop .modal.wide{width:100%}}.ability-v16-card+.ability-v16-card{margin-top:14px}.mentor-tabs-v16{margin-top:16px}.mentor-caption{display:flex;gap:8px;align-items:center;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#fafafa;margin:0 0 12px;color:#64748b;font-size:12px}.mentor-caption strong{color:#111827}.mentor-caption span{margin-left:3px}.ability-skills-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ability-skills-grid .skill-card{padding:14px;min-height:0}.ability-skills-grid .skill-card h3{margin:10px 0 5px;font-size:17px}.ability-skills-grid .skill-card p{font-size:12px;line-height:1.6;margin:0 0 10px}.case-summary{font-size:11px;color:#64748b;margin-top:9px}.category-tabs-v16{margin-top:15px}.category-tabs-note{margin:-3px 0 12px}.formula-list-v16{display:grid;gap:9px}.weapon-row-v16{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:13px;background:#fff}.weapon-main-v16 h3{margin:0}.weapon-main-v16 p{margin:6px 0 8px;color:#64748b;font-size:12px}.weapon-actions-v16{display:flex;gap:7px;align-items:center}@media(max-width:900px){.ability-skills-grid,.weapon-row-v16{grid-template-columns:1fr}.weapon-actions-v16{justify-content:flex-end}}:root{--bg:#f5f6f8;--card:#fff;--text:#17191c;--muted:#6b7280;--line:#e5e7eb;--soft:#f3f4f6;--dark:#111827;--green:#15803d;--greenbg:#ecfdf3;--blue:#1d4ed8;--bluebg:#eff6ff;--warn:#9a3412;--warnbg:#fff7ed}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}button,input,textarea,select{font:inherit}.shell{max-width:1320px;margin:auto;padding:18px}.top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.brand{font-weight:850;font-size:18px}.brand span{font-weight:500;color:var(--muted)}.nav{display:flex;gap:6px;overflow:auto;padding:6px;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:18px}.nav button{border:0;background:transparent;padding:9px 12px;border-radius:9px;cursor:pointer;white-space:nowrap;color:#4b5563;font-weight:650}.nav button.active{background:var(--dark);color:#fff}.page{display:none}.page.active{display:block}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-main{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:16px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 4px 18px #00000008}.card+.card{margin-top:14px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}h1{font-size:28px;margin:7px 0 9px}h2{font-size:20px;margin:0 0 12px}h3{font-size:15px;margin:0 0 6px}.muted,.note{color:var(--muted)}.note{font-size:12px;line-height:1.6}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.between{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.btn{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 12px;cursor:pointer;font-weight:650}.btn.primary{background:var(--dark);color:#fff;border-color:var(--dark)}.btn.small{font-size:12px;padding:5px 8px}.btn.danger{color:#b91c1c}.btn:hover{background:#f9fafb}.btn.primary:hover{background:#1f2937}.pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:var(--soft);font-size:11px;color:#4b5563}.pill.ok{background:var(--greenbg);color:var(--green)}.pill.blue{background:var(--bluebg);color:var(--blue)}.pill.warn{background:var(--warnbg);color:var(--warn)}.input,.textarea,.select{width:100%;border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:#fff;outline:none}.textarea{min-height:110px;resize:vertical}.textarea.large{min-height:370px;font-family:ui-monospace,Consolas,monospace;line-height:1.6}.form{display:grid;gap:12px}.field label{display:block;font-size:12px;font-weight:750;margin-bottom:5px}.progress{height:9px;background:#eceff2;border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--dark)}.progressline{display:flex;justify-content:space-between;font-size:12px;margin-bottom:6px}.mainline-card{cursor:pointer}.mainline-card:hover{border-color:#cbd5e1}.mainline-title{font-size:18px;font-weight:800}.mainline-meta{font-size:12px;color:var(--muted);margin-top:5px}.quest{margin-top:12px;padding:12px;background:#fafafa;border:1px solid var(--line);border-radius:12px}.private-placeholder{border:1px dashed #cbd5e1;border-radius:18px;padding:28px;text-align:center;background:#fafafa}.private-placeholder strong{display:block;font-size:16px;margin-bottom:5px}.mainline-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.mainline-toolbar-left,.mainline-toolbar-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.milestone-track{display:flex;align-items:center;gap:0;overflow-x:auto;padding:10px 2px 16px}.mstep-wrap{display:flex;align-items:center;min-width:max-content}.connector{width:38px;height:3px;background:#dbe1e8;align-self:center;flex:0 0 38px}.connector.done{background:#86efac}.mstep{min-width:155px;border:1px solid var(--line);border-radius:14px;padding:12px;cursor:pointer;background:#fff;position:relative}.mstep.done{background:var(--greenbg);border-color:#86efac;color:#166534}.mstep.active{background:var(--bluebg);border-color:#93c5fd;color:#1e40af}.mstep.future{background:#f8fafc;color:#64748b}.mstep.selected{box-shadow:0 0 0 3px #11182714}.mstep .name{font-weight:800;font-size:13px}.mstep .meta{font-size:10px;margin-top:4px;opacity:.8}.mstep .num{position:absolute;right:9px;top:8px;font-size:10px;font-weight:800}.milestone-detail{border:1px solid var(--line);border-radius:14px;padding:14px;margin-top:4px}.task{display:flex;gap:8px;align-items:flex-start;padding:7px 4px}.task input{margin-top:3px}.task .txt{flex:1;font-size:14px}.task .done{text-decoration:line-through;color:#9ca3af}.sort-row{display:flex;gap:6px;align-items:center;margin-bottom:7px}.sort-row .input{flex:1}.issue-grid{display:grid;gap:9px}.issue{border:1px solid var(--line);border-radius:13px;padding:13px;cursor:pointer}.issue:hover{background:#fafafa}.issue-title{font-weight:760}.issue-meta{font-size:11px;color:var(--muted);margin-top:5px}.mini-tabs,.skill-tabs,.role-tabs{display:flex;gap:7px;margin-bottom:12px;flex-wrap:wrap}.mini-tabs button,.skill-tabs button,.role-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;cursor:pointer}.mini-tabs button.active,.skill-tabs button.active,.role-tabs button.active{background:#111827;color:#fff}.review-workspace{display:grid;grid-template-columns:310px minmax(0,1fr);gap:14px;margin-top:12px}.review-list-pane{border:1px solid var(--line);border-radius:14px;padding:10px;max-height:650px;overflow:auto;background:#fafafa}.review-item{border:1px solid transparent;border-radius:11px;padding:11px;cursor:pointer;margin-bottom:7px;background:#fff}.review-item:hover{border-color:#cbd5e1}.review-item.active{border-color:#94a3b8;background:#f8fafc}.review-preview-pane{border:1px solid var(--line);border-radius:14px;padding:24px;min-height:520px;background:#fff}.review-preview-pane h1{font-size:27px}.review-preview-pane h2{font-size:19px;margin-top:22px}.review-preview-pane p{line-height:1.8}.empty-preview{color:var(--muted);padding:80px 20px;text-align:center}.skills{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.skill{border:1px solid var(--line);border-radius:13px;padding:13px;cursor:pointer}.skill:hover{background:#fafafa}.skill-name{font-weight:800}.skill-desc{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.5}.card-action-row{display:flex;gap:7px;align-items:center;margin-top:10px}#formulaList{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.weapon-card{border:1px solid var(--line);border-radius:13px;padding:13px;cursor:pointer;min-width:0;display:flex;flex-direction:column}.weapon-card:hover{background:#fafafa}.weapon-name{font-weight:800}.weapon-desc{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.55}.weapon-card .card-action-row{margin-top:auto;padding-top:10px}.formula{border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:8px}.formula strong{display:block;margin-bottom:4px}.case{padding:9px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.55}.case:last-child{border-bottom:0}.case-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line)}.case-row:last-child{border-bottom:0}.case-summary{flex:1;min-width:0;font-size:13px;line-height:1.55}.case-scene{display:inline-flex;margin-right:7px;padding:2px 6px;border-radius:999px;background:var(--soft);font-size:10px;color:#64748b}.case-detail-text{white-space:pre-wrap;line-height:1.85;font-size:14px}.case-modal{z-index:70}.selection-link{border:0;background:transparent;padding:0;color:var(--blue);font-weight:800;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.selection-link:hover{color:#1e40af}.level-badge.clickable{cursor:pointer}.level-badge.clickable:hover{box-shadow:0 0 0 2px #1d4ed81a}.case-editor-note{padding:10px 12px;background:#fafafa;border:1px dashed var(--line);border-radius:10px;margin-top:8px}.case-editor-text{min-height:300px}.case-editor-sections{display:grid;gap:12px;margin-top:2px}.case-editor-section{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}.case-editor-section-title{font-size:13px;font-weight:850;color:#111827;margin-bottom:7px}.case-editor-section textarea{min-height:96px;margin:0;line-height:1.75}.case-editor-extra textarea{min-height:72px}.case-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.compact-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.practice-box{border:1px solid #bfdbfe;background:#eff6ff;border-radius:14px;padding:14px}.practice-formula{font-size:17px;font-weight:800;margin:8px 0}.practice-loop{display:grid;gap:7px;margin-top:10px}.loop-step{display:grid;grid-template-columns:24px 1fr;gap:9px;align-items:start}.loop-num{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#111827;color:#fff;font-size:11px;font-weight:800}.loop-step strong{display:block;font-size:12px}.loop-step span{display:block;font-size:11px;color:var(--muted);line-height:1.5;margin-top:2px}.practice-history{display:grid;gap:7px;margin-top:10px}.practice-log{border:1px solid var(--line);border-radius:11px;padding:9px;background:#fff}.practice-log-title{font-size:12px;font-weight:800}.practice-log-meta{font-size:10px;color:var(--muted);margin-top:3px}.practice-log-result{font-size:11px;line-height:1.5;margin-top:5px}.case-draft-hint{margin-top:10px;padding:10px 12px;border:1px dashed #93c5fd;border-radius:10px;background:#fff;color:#475569;font-size:12px;line-height:1.6}.compare{display:grid;grid-template-columns:1fr 1fr;gap:10px}.compare>div{border:1px solid var(--line);border-radius:13px;padding:13px}.scene-table{display:grid;gap:8px}.scene{display:grid;grid-template-columns:1fr 140px minmax(190px,auto);gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:9px 0}.scene:last-child{border-bottom:0}.scene-action{display:flex;gap:6px;justify-content:flex-end;align-items:center}.role-guide{border:1px solid #bfdbfe;background:#eff6ff;border-radius:14px;padding:14px;margin-bottom:14px}.timeline{display:grid;gap:9px}.event{border:1px solid var(--line);border-radius:13px;padding:13px;cursor:pointer}.event:hover{background:#fafafa}.event-title{font-weight:750}.event-meta{font-size:11px;color:var(--muted);margin-top:4px}.parking-list{display:grid;gap:8px}.parking-item{border:1px solid var(--line);border-radius:12px;padding:11px;background:#fafafa}.modal-mask{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#1118277a;z-index:50;align-items:center;justify-content:center;padding:18px}.modal-mask.open{display:flex}.modal{width:min(820px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:20px}.modal.wide{width:min(1040px,100%)}.full-editor{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#f8fafc;z-index:60;padding:18px;overflow:auto}.full-editor.open{display:block}.editor-wrap{max-width:1000px;margin:auto}.editor-text{width:100%;min-height:68vh;border:1px solid var(--line);border-radius:14px;padding:16px;font-family:ui-monospace,Consolas,monospace;line-height:1.7}.preview-body{max-width:820px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px}.preview-body p{line-height:1.8}.home-focus-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;margin-top:14px}.home-focus-card{border:1px solid var(--line);border-radius:15px;padding:15px;background:#fff;min-height:150px}.home-focus-card.primary-focus{border-color:#bfdbfe;background:#f8fbff}.home-focus-label{font-size:11px;font-weight:800;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.home-focus-title{font-size:17px;font-weight:820;margin-top:7px;line-height:1.35}.home-focus-body{font-size:13px;color:var(--muted);line-height:1.6;margin-top:7px}.private-strip{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px dashed #cbd5e1;border-radius:14px;padding:13px 15px;background:#fafafa;margin-top:12px}.level-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.level-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#111827;color:#fff;font-size:11px;font-weight:800}.manage-only{display:none!important}.manage-mode .manage-only{display:inline-flex!important}.skill-progress{margin-top:9px}.skill-progress .progress{height:6px}.recommend-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.recommend-box{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fafafa}.role-level-box{border:1px solid #dbeafe;background:#f8fbff;border-radius:14px;padding:14px;margin:10px 0 14px}.practice-result{margin-top:12px;border-top:1px solid #dbeafe;padding-top:12px}.time-input-row{display:grid;grid-template-columns:minmax(0,180px) 1fr;gap:10px;align-items:end;margin-top:10px}.quick-time{display:flex;gap:6px;flex-wrap:wrap}.level-guide{display:grid;gap:7px;margin-top:8px}.level-guide-item{display:grid;grid-template-columns:92px 1fr auto;gap:10px;align-items:start;border-bottom:1px solid var(--line);padding:8px 0}.level-guide-item:last-child{border-bottom:0}.level-guide-name{font-weight:800;font-size:13px}.level-guide-desc{font-size:12px;line-height:1.55;color:var(--muted)}.level-guide-gate{font-size:11px;color:var(--muted);white-space:nowrap}.time-stat{font-variant-numeric:tabular-nums}.category-manage-list{display:grid;gap:8px;margin-top:12px}.category-manage-row{display:grid;grid-template-columns:minmax(160px,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fafafa}.category-manage-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.category-add-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}.category-count{font-size:11px;color:var(--muted);white-space:nowrap}.category-manager-help{margin-top:10px;padding:10px 12px;border:1px dashed #cbd5e1;border-radius:10px;background:#fff}.category-tabs-note{margin-top:-4px;margin-bottom:10px}.mini-tabs{max-width:100%}@media(max-width:640px){.category-manage-row{grid-template-columns:1fr}.category-manage-actions{justify-content:flex-start}.category-add-row{grid-template-columns:1fr}}@media(max-width:980px){.home-focus-grid,.recommend-grid{grid-template-columns:1fr}#formulaList{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.grid-main,.grid2,.compare{grid-template-columns:1fr}.skills{grid-template-columns:1fr 1fr}.scene,.review-workspace{grid-template-columns:1fr}.review-list-pane{max-height:none}}@media(max-width:640px){.skills,#formulaList{grid-template-columns:1fr}.shell{padding:12px}.top,.mainline-toolbar{align-items:flex-start;flex-direction:column}}.reclaim-strip{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:12px;padding:12px 14px;border:1px solid #fde68a;background:#fffbeb;border-radius:13px}.reclaim-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:6px}.reclaim-item{font-size:11px;color:#92400e;background:#fff;border:1px solid #fde68a;border-radius:999px;padding:4px 8px}.task-actions{display:flex;gap:6px;align-items:center}.task-more{min-width:34px;padding:4px 8px}.event-flow{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 14px}.event-step{border:1px solid var(--line);border-radius:999px;padding:5px 9px;font-size:11px;color:var(--muted);background:#fff}.event-step.current{background:#111827;color:#fff;border-color:#111827}.event-step.done{background:var(--greenbg);color:var(--green);border-color:#bbf7d0}.event-stage{display:none}.event-stage.active{display:block}.event-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fafafa}.event-card+.event-card{margin-top:10px}.event-person{font-size:11px;font-weight:850;letter-spacing:.05em;color:#475569}.stage-title{font-size:17px;font-weight:850;margin-top:5px}.event-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.quiet-box{padding:18px;border:1px dashed #cbd5e1;border-radius:13px;background:#fafafa;text-align:center}.quiet-box strong{display:block;margin-bottom:5px}.task-source{padding:9px 11px;border-radius:10px;background:#f8fafc;border:1px solid var(--line);font-size:12px;color:#475569;margin-bottom:10px}.growth-output{display:grid;gap:8px;margin-top:10px}.growth-output>div{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}.growth-output strong{font-size:12px}.growth-output span{display:block;margin-top:4px;font-size:12px;line-height:1.6;color:var(--muted)}@media(max-width:640px){.event-choice{grid-template-columns:1fr}.reclaim-strip{align-items:flex-start;flex-direction:column}}.practice-source{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;margin-top:10px}.practice-source strong{font-size:12px}.practice-source .note{margin-top:3px}.practice-focus-box{margin-top:10px;padding:12px;border:1px solid #bfdbfe;border-radius:12px;background:#fff}.practice-focus-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:6px}.practice-focus-box label{display:block;font-size:11px;font-weight:850;color:#1e40af}.practice-focus-input{font-weight:800}.practice-focus-reason{margin-top:7px;font-size:11px;color:#64748b;line-height:1.55}.practice-focus-reason b{color:#334155}.practice-focus-recommend{white-space:nowrap}.role-opportunity{display:none;margin-top:10px;padding:10px 12px;border:1px dashed #86efac;border-radius:11px;background:#f0fdf4}.role-opportunity.show{display:block}.role-opportunity label{display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.55}.role-opportunity input{margin-top:3px}.practice-mode-chip{font-weight:800}.evidence-note{font-size:11px;color:var(--muted);margin-top:7px}.practice-result .field.hidden{display:none}.role-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 4px}.role-summary{border:1px solid var(--line);border-radius:11px;padding:10px;background:#fff}.role-summary b{display:block;font-size:18px}.role-summary span{font-size:10px;color:var(--muted)}.role-scene-list{display:grid;gap:8px}.role-scene-card{border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff}.role-scene-card.trial{border-color:#93c5fd;background:#f8fbff}.role-scene-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.role-scene-title{font-weight:800;font-size:13px}.role-scene-meta{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.55}.role-scene-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.role-battle-list{display:grid;gap:8px;margin-top:10px}.role-battle{border:1px solid var(--line);border-radius:11px;padding:10px;background:#fff}.role-battle-title{font-weight:800;font-size:12px}.role-battle-meta{font-size:10px;color:var(--muted);margin-top:3px}.role-battle-result{font-size:11px;line-height:1.55;margin-top:5px}.role-gap-box{padding:12px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff;margin-top:10px}.role-gap-box strong{display:block}.role-trial-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}@media(max-width:760px){.role-summary-grid,.role-scene-main{grid-template-columns:1fr}.role-scene-actions{justify-content:flex-start}.practice-source{flex-direction:column}}.practice-clean-card{max-width:980px;margin:0 auto}.practice-clean-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.practice-clean-head h1{margin-bottom:5px}.practice-contextbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-top:18px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fafafa}.practice-context-main{min-width:0}.practice-meta-row{margin-bottom:6px}.practice-source-label{font-size:11px;color:var(--muted);font-weight:750}.practice-skill-title{font-size:18px;font-weight:850}.practice-context-text{margin-top:4px;max-width:720px}.practice-scene-entry{margin-top:14px}.practice-scene-entry label{display:block;font-size:12px;font-weight:800;margin-bottom:6px}.practice-scene-entry .note{margin-top:5px}.practice-focus-hero{margin-top:16px;padding:18px;border:1px solid #c7d2fe;border-radius:16px;background:linear-gradient(180deg,#f8faff,#fff)}.practice-focus-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.practice-focus-caption{font-size:12px;color:#64748b;margin-top:3px}.practice-focus-editor{width:100%;border:0;background:transparent;resize:vertical;min-height:76px;padding:12px 0 6px;font-size:20px;font-weight:850;line-height:1.55;color:#172554;outline:none}.practice-explain{border-top:1px solid #e0e7ff;padding-top:9px;margin-top:5px}.practice-explain summary,.practice-formula-details summary,.practice-extra-details summary,.practice-history-clean summary{cursor:pointer;color:#64748b;font-size:12px;font-weight:750}.practice-explain>div{font-size:11px;color:#64748b;line-height:1.65;margin-top:8px}.role-opportunity-clean{display:none;margin-top:12px;padding:11px 13px;border:1px solid #bbf7d0;border-radius:12px;background:#f0fdf4}.role-opportunity-clean.show{display:block}.role-opportunity-clean label{display:flex;gap:9px;align-items:flex-start;cursor:pointer}.role-opportunity-clean input{margin-top:3px}.role-opportunity-clean strong{display:block;font-size:12px}.role-opportunity-clean .note{display:block;margin-top:2px}.practice-formula-details{margin-top:12px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#fff}.practice-formula-full{margin-top:9px;font-size:13px;line-height:1.7;color:#334155}.practice-return-panel{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.practice-return-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end}.practice-return-head h2{margin:4px 0 0}.practice-result-text{min-height:96px;margin-top:11px}.practice-extra-details,.practice-time-clean{margin-top:9px}.practice-finish-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.practice-clear{margin-left:auto;color:#6b7280}.practice-subtle-note{font-size:10px;color:#94a3b8;line-height:1.55;margin-top:8px}.practice-history-clean{max-width:980px;margin:14px auto 0}.practice-history-clean details>summary{display:flex;justify-content:space-between;align-items:center;list-style:none}.practice-history-clean details>summary::-webkit-details-marker{display:none}.practice-history-clean .practice-history{margin-top:12px}.role-principle-clean{display:flex;gap:8px;flex-wrap:wrap;align-items:baseline;margin:14px 0;padding:12px 14px;border:1px solid #dbeafe;border-radius:13px;background:#f8fbff;font-size:12px}.role-principle-clean span{color:var(--muted);line-height:1.6}.role-title-row{margin:8px 0}.role-status-legend{display:flex;gap:14px;flex-wrap:wrap;margin:12px 0;font-size:10px;color:#64748b}.role-status-legend span{display:flex;align-items:center;gap:5px}.status-dot{width:7px;height:7px;border-radius:50%;background:#cbd5e1}.status-dot.known{background:#f59e0b}.status-dot.current{background:#3b82f6}.status-dot.done{background:#94a3b8}.status-dot.strong{background:#22c55e}.role-scene-card{padding:13px 14px}.role-scene-card.known-opportunity{border-color:#fcd34d;background:#fffdf5}.role-scene-card.current-opportunity{border-color:#93c5fd;background:#f8fbff}.role-scene-actions .btn{font-weight:650}.role-gap-info{margin-top:10px;padding:10px 12px;border-radius:10px;background:#fafafa;border:1px solid var(--line);font-size:12px;line-height:1.65;color:#64748b}.role-bottom-grid{margin-top:14px}@media(max-width:760px){.practice-clean-head,.practice-contextbar,.practice-return-head{flex-direction:column}.practice-focus-editor{font-size:17px}.practice-clear{margin-left:0}.role-status-legend{gap:9px}}.role-scene-card.active-practice{border-color:#93c5fd;background:#f8fbff}.role-active-note{margin-top:6px;font-size:10px;color:#1d4ed8;font-weight:750}.role-scene-actions .role-practice-btn{border-color:#cbd5e1;background:#fff}.role-scene-actions .role-practice-btn:hover{border-color:#93c5fd;background:#eff6ff}.practice-v17-card{max-width:900px;margin:0 auto;padding:24px}.practice-v17-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.practice-v17-head h1{margin-bottom:0}.practice-v17-stack{display:grid;gap:12px;margin-top:18px}.practice-v17-block,.practice-v17-report{border:1px solid var(--line);border-radius:15px;padding:16px;background:#fff}.practice-v17-label{font-size:12px;font-weight:850;color:#475569;margin-bottom:8px}.practice-v17-context{font-size:17px;font-weight:800;line-height:1.55;color:#111827}.practice-v17-scene{margin-top:11px}.practice-v17-formula{font-size:16px;font-weight:750;line-height:1.7;color:#1f2937}.practice-v17-recommend{border-color:#bfdbfe;background:#f8fbff}.practice-v17-focus{width:100%;border:0;outline:0;resize:vertical;background:transparent;min-height:72px;padding:4px 0 0;font-size:18px;line-height:1.65;font-weight:850;color:#172554}.practice-v17-role{display:none;border:1px solid #bbf7d0;background:#f0fdf4;border-radius:12px;padding:10px 12px;font-size:12px;color:#166534}.practice-v17-role.show{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.practice-v17-role span{color:#4b5563}.practice-v17-role span:empty{display:none}.practice-v17-report textarea{min-height:100px;margin-top:0}.practice-v17-time{margin-top:12px;max-width:360px}.practice-v17-time-row{display:grid;grid-template-columns:minmax(90px,1fr) auto auto auto;gap:6px}.practice-v17-time-row .btn{min-width:42px}.practice-v17-actions{margin-top:14px}.practice-v17-compat{display:none!important}.archive-v17-hero{padding:22px}.archive-v17-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.archive-v17-stat{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fafafa}.archive-v17-stat b{display:block;font-size:24px;line-height:1.1}.archive-v17-stat span{display:block;font-size:11px;color:var(--muted);margin-top:6px}.archive-v17-grid{margin-top:14px}.archive-v17-list{display:grid;gap:8px;margin-top:10px}.archive-v17-row{border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:#fff}.archive-v17-row-title{font-weight:800;font-size:13px}.archive-v17-row-meta{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.55}.archive-v17-row-bar{height:5px;background:#eef1f4;border-radius:999px;overflow:hidden;margin-top:8px}.archive-v17-row-bar span{display:block;height:100%;background:#111827}.archive-v17-evidence{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.archive-v17-proof{border:1px solid var(--line);border-radius:13px;padding:13px;background:#fff;cursor:pointer}.archive-v17-proof:hover{background:#fafafa}.archive-v17-proof strong{display:block;font-size:13px;line-height:1.5}.archive-v17-proof p{margin:7px 0 0;font-size:11px;line-height:1.6;color:var(--muted)}.archive-v17-proof .pill{margin-top:9px}.archive-v17-empty{padding:24px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px}@media(max-width:760px){.practice-v17-head{flex-direction:column}.practice-v17-card{padding:17px}.practice-v17-context{font-size:15px}.practice-v17-focus{font-size:16px}.practice-v17-time-row{grid-template-columns:1fr auto auto auto}.archive-v17-stats{grid-template-columns:1fr 1fr}.archive-v17-evidence{grid-template-columns:1fr}}.top-navline{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin-bottom:18px;position:sticky;top:0;z-index:40;padding:8px 0;background:#f5f6f8f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.top-system-name{font-size:17px;font-weight:900;white-space:nowrap;letter-spacing:-.02em}.top-navline .nav{margin:0;min-width:0;justify-content:center}.top-time-badge{flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px;font-size:12px;font-weight:800;white-space:nowrap}.system-brandline{display:none}.list-tools{display:flex;align-items:center;gap:10px;margin:12px 0}.list-search{max-width:420px}.pager{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:12px}.pager button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 9px;cursor:pointer;font-size:12px}.pager button.active{background:#111827;color:#fff;border-color:#111827}.pager button:disabled{opacity:.35;cursor:not-allowed}.pager .pager-info{font-size:11px;color:var(--muted);margin:0 4px}.practice-v17-actions{justify-content:flex-end}.practice-end-btn{margin-left:2px}.practice-v17-focus{min-height:118px;line-height:1.75}.role-practice-btn.primary{color:#111827!important;background:#fff!important;border-color:#cbd5e1!important}.role-battle{cursor:pointer}.role-battle:hover{background:#fafafa;border-color:#cbd5e1}.archive-v17-stat-help{cursor:pointer}.archive-v17-stat-help:hover{background:#f3f4f6}.archive-searchbar{margin-top:14px}.evidence-detail-modal{width:min(820px,100%)}.evidence-case-body{white-space:pre-wrap;line-height:1.9;font-size:14px;color:#252a32;padding-top:8px}.evidence-section{border-top:1px solid var(--line);padding:15px 0 3px;line-height:1.8;font-size:14px}.evidence-section strong{display:block;margin-bottom:6px}.role-level-progress{margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}.role-level-progress .progress{height:8px}.role-level-progress .progressline{margin-bottom:7px}.strong-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.strong-help-grid>div{border:1px solid var(--line);border-radius:12px;padding:13px}.strong-help-grid b{display:block;margin-bottom:5px}.strong-help-grid span{font-size:12px;line-height:1.6;color:var(--muted)}@media(max-width:900px){.top-navline{grid-template-columns:auto 1fr}.top-navline .nav{grid-column:1/-1;grid-row:2;justify-content:flex-start}.top-time-badge{justify-self:end}.top-system-name{font-size:15px}}@media(max-width:760px){.list-tools{align-items:stretch;flex-direction:column}.list-search{max-width:none}.strong-help-grid{grid-template-columns:1fr}}.battle-detail-head h2{font-size:24px;line-height:1.35;margin:7px 0 5px;letter-spacing:-.02em}.battle-detail-meta{font-size:11px;color:var(--muted);line-height:1.6}.battle-detail-section{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.battle-detail-label{font-size:11px;font-weight:850;color:#64748b;letter-spacing:.06em;margin-bottom:8px}.battle-detail-text{white-space:pre-wrap;line-height:1.9;font-size:14px;color:#20242b}.battle-browser-modal{max-height:88vh}.battle-browser-grid{display:grid;grid-template-columns:280px minmax(0,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:14px;min-height:470px}.battle-browser-side{background:#f8fafc;border-right:1px solid var(--line);padding:12px;overflow:auto;max-height:66vh}.battle-browser-side-title{font-size:11px;font-weight:850;color:#64748b;letter-spacing:.06em;padding:4px 4px 10px}.battle-browser-item{background:#fff;border:1px solid transparent;border-radius:10px;padding:10px;cursor:pointer;margin-bottom:7px}.battle-browser-item:hover{border-color:#cbd5e1}.battle-browser-item.active{border-color:#94a3b8;background:#fff;box-shadow:0 0 0 2px #0f172a0a}.battle-browser-item-title{font-size:12px;font-weight:800;line-height:1.45}.battle-browser-item-meta{font-size:10px;color:var(--muted);margin-top:4px}.battle-browser-main{padding:24px 26px;overflow:auto;max-height:66vh;background:#fff}.battle-browser-main h3{font-size:24px;line-height:1.35;margin:0 0 6px;letter-spacing:-.02em}.battle-browser-meta{font-size:11px;color:var(--muted);line-height:1.6}.battle-browser-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.battle-browser-label{font-size:11px;font-weight:850;color:#64748b;letter-spacing:.06em;margin-bottom:8px}.battle-browser-text{font-size:14px;line-height:1.9;white-space:pre-wrap;color:#20242b}.battle-browser-empty{padding:80px 20px;text-align:center;color:var(--muted)}.role-summary b{font-variant-numeric:tabular-nums}.role-level-progress .note strong{color:#374151}.representative-badge{background:var(--greenbg);color:var(--green)}@media(max-width:760px){.battle-browser-grid{grid-template-columns:1fr}.battle-browser-side{border-right:0;border-bottom:1px solid var(--line);max-height:210px}.battle-browser-main{max-height:none;padding:18px}}.top-navline{grid-template-columns:minmax(170px,auto) minmax(0,1fr) minmax(150px,auto);gap:18px;margin:0 0 20px;padding:8px 10px;background:#ffffffeb;border:1px solid rgba(226,232,240,.96);border-radius:17px;box-shadow:0 8px 28px #0f172a0e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);top:8px}.top-system-name{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:900;letter-spacing:-.02em;padding:3px 4px;color:#111827}.top-system-name:before{content:"";width:28px;height:28px;flex:0 0 28px;border-radius:9px;background:linear-gradient(145deg,#111827,#374151);box-shadow:inset 0 0 0 1px #ffffff24,0 4px 12px #0f172a24}.top-navline .nav{justify-self:center;width:auto;max-width:100%;padding:4px;background:#f7f8fa;border-color:#edf0f3;border-radius:12px;box-shadow:none}.top-navline .nav button{padding:8px 10px;border-radius:8px;font-size:12px;color:#667085;transition:.16s ease}.top-navline .nav button:hover{background:#fff;color:#111827}.top-navline .nav button.active{background:#fff;color:#111827;box-shadow:0 1px 5px #0f172a17;font-weight:800}.top-time-badge{justify-self:end;border:0;background:#111827;color:#fff;border-radius:11px;padding:9px 12px;box-shadow:0 4px 12px #0f172a21}.home-focus-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.home-focus-card{display:flex;flex-direction:column;min-height:178px;padding:16px}.home-focus-title{min-height:46px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-focus-body{min-height:42px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-focus-card .actions{margin-top:auto;padding-top:12px}.skill,.weapon-card{display:flex;flex-direction:column;min-height:205px}.skill .card-action-row,.weapon-card .card-action-row{margin-top:auto;padding-top:12px;justify-content:flex-end;align-items:center}.skill .card-action-row .btn,.weapon-card .card-action-row .btn{flex:0 0 auto}.practice-v17-actions{justify-content:center!important;align-items:center}.practice-v17-actions .practice-end-btn{margin-left:0!important}@media(max-width:1080px){.top-navline{grid-template-columns:auto minmax(0,1fr) auto;gap:10px}.top-system-name{font-size:14px}.top-navline .nav button{padding:8px;font-size:11px}.top-time-badge{font-size:11px;padding:8px 10px}}@media(max-width:900px){.top-navline{grid-template-columns:1fr auto}.top-navline .nav{grid-column:1/-1;grid-row:2;justify-self:stretch;justify-content:flex-start;overflow:auto}.top-time-badge{justify-self:end}.home-focus-grid{grid-template-columns:1fr}.home-focus-card,.home-focus-title,.home-focus-body{min-height:0}}.top-system-name:before{content:none!important;display:none!important}.brand-growth-icon{width:30px;height:30px;flex:0 0 30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:9px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 2px 7px #0f172a0f}.brand-growth-icon svg{width:18px;height:18px;fill:none;stroke:#111827;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.case-detail-panel{margin-top:12px;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.case-detail-intro{padding:11px 16px;background:#f8fafc;border-bottom:1px solid var(--line);font-size:12px;line-height:1.65;color:#64748b}.case-detail-article{padding:4px 18px 8px}.case-detail-block{padding:17px 0;border-bottom:1px solid #eef0f3}.case-detail-block:last-child{border-bottom:0}.case-detail-heading{font-size:13px;font-weight:850;color:#111827;line-height:1.4;margin-bottom:8px;letter-spacing:.01em}.case-detail-content{font-size:14px;line-height:1.9;color:#343a43;white-space:pre-wrap}.case-detail-plain{padding:18px;font-size:14px;line-height:1.9;color:#343a43;white-space:pre-wrap}.skill,.weapon-card{min-height:0!important}.skill .card-action-row,.weapon-card .card-action-row{margin-top:12px!important;padding-top:0!important;justify-content:flex-end!important}.practice-v17-focus{min-height:96px!important;height:auto;overflow:hidden!important;resize:none!important;max-height:none!important;white-space:pre-wrap}.battle-md-preview{font-size:14px;line-height:1.85;color:#252a32;padding:2px 2px 8px}.battle-md-preview h1{font-size:25px;line-height:1.35;margin:4px 0 18px;letter-spacing:-.02em}.battle-md-preview h2{font-size:17px;line-height:1.45;margin:24px 0 9px;padding-bottom:7px;border-bottom:1px solid #eceff3}.battle-md-preview h3{font-size:14px;line-height:1.45;margin:19px 0 7px}.battle-md-preview p{margin:8px 0;line-height:1.9}.battle-md-preview ul,.battle-md-preview ol{margin:8px 0 10px;padding-left:24px}.battle-md-preview li{margin:5px 0;line-height:1.75}.battle-md-preview blockquote{margin:12px 0;padding:8px 12px;border-left:3px solid #cbd5e1;background:#f8fafc;color:#475569}.battle-md-preview code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:#f1f5f9;border-radius:5px;padding:2px 5px;font-size:.92em}.battle-md-preview pre{overflow:auto;background:#111827;color:#f8fafc;border-radius:10px;padding:13px 14px;line-height:1.65}.battle-md-preview pre code{background:transparent;padding:0;color:inherit}.battle-md-preview hr{border:0;border-top:1px solid var(--line);margin:20px 0}.battle-md-preview a{color:var(--blue);text-decoration:none}.battle-md-preview a:hover{text-decoration:underline}.battle-md-shell{margin-top:12px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:18px 20px}.battle-md-editor{min-height:430px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.7;-moz-tab-size:2;tab-size:2}.battle-md-editor-help{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:6px 0 9px;flex-wrap:wrap}.battle-md-preview-pane{display:none;border:1px solid var(--line);border-radius:14px;background:#fff;padding:18px 20px;min-height:280px}.battle-md-preview-pane.show{display:block}.battle-md-edit-pane.hidden{display:none}.battle-browser-main .battle-md-preview{padding:0}.battle-browser-main .battle-md-preview h1:first-child{margin-top:0}.battle-browser-editbar{display:flex;justify-content:flex-end;margin-bottom:12px}.weight-page{display:grid;gap:14px}.weight-hero{padding:22px}.weight-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.weight-stat{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fafafa;min-width:0}.weight-stat b{display:block;font-size:26px;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}.weight-stat span{display:block;font-size:11px;color:var(--muted);margin-top:6px}.weight-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:14px}.weight-chart-card{min-width:0}.weight-chart-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.weight-range-tabs{display:flex;gap:6px;flex-wrap:wrap}.weight-range-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 10px;cursor:pointer;font-size:11px;color:#64748b}.weight-range-tabs button.active{background:#111827;color:#fff;border-color:#111827}.weight-chart-wrap{margin-top:12px;height:310px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#fbfcfd,#fff);overflow:hidden;position:relative}.weight-chart-wrap svg{display:block;width:100%;height:100%}.weight-chart-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);font-size:12px;padding:24px}.weight-form-card .field+.field{margin-top:12px}.weight-entry-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:end}.weight-entry-row .field+.field{margin-top:0}.weight-goal-box{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.weight-goal-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.weight-goal-progress{margin-top:12px}.weight-goal-progress .progress{height:7px}.weight-history-table{width:100%;border-collapse:collapse;margin-top:8px}.weight-history-table th,.weight-history-table td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;font-size:12px}.weight-history-table th{font-size:10px;color:var(--muted);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.weight-history-table td:nth-child(2){font-weight:800;font-variant-numeric:tabular-nums}.weight-history-table td:last-child{text-align:right}.weight-history-empty{padding:28px 10px;text-align:center;color:var(--muted);font-size:12px}.weight-delta.down{color:#15803d}.weight-delta.up{color:#b45309}.weight-delta.flat{color:#64748b}.weight-chart-label{font-size:10px;fill:#94a3b8}.weight-chart-grid{stroke:#e5e7eb;stroke-width:1}.weight-chart-line{fill:none;stroke:#111827;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.weight-chart-dot{fill:#fff;stroke:#111827;stroke-width:2}.weight-chart-goal{stroke:#2563eb;stroke-width:1.5;stroke-dasharray:6 5}.weight-chart-goal-label{font-size:10px;fill:#2563eb;font-weight:800}.weight-chart-current{font-size:11px;fill:#111827;font-weight:900}@media(max-width:980px){.weight-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.weight-grid{grid-template-columns:1fr}}@media(max-width:560px){.weight-stats{grid-template-columns:1fr 1fr}.weight-entry-row{grid-template-columns:1fr}.weight-chart-wrap{height:270px}}input[type=checkbox],input[type=radio],.form input[type=checkbox],.form input[type=radio]{width:16px!important;height:16px!important;min-width:16px!important;max-width:16px!important;padding:0!important;margin:0;box-shadow:none!important;accent-color:#111827;vertical-align:middle;flex:0 0 16px}input[type=radio],.form input[type=radio]{border-radius:50%!important}.note{background:transparent!important;border:0!important;padding:0!important}.card{margin-bottom:0}.pill{font-weight:400}.issue-title-field{margin-top:10px}.compact-area{min-height:78px}.practice-report{min-height:100px!important}.role-v16-card{min-width:0}.role-level-progress-bar{margin-top:12px}.role-scene-v16{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff}.role-scene-v16+.role-scene-v16{margin-top:8px}.role-scene-v16.current-opportunity{border-color:#93c5fd;background:#f8fbff}.role-scene-v16.known-opportunity{border-color:#fcd34d;background:#fffdf5}.role-scene-v16.active-practice{box-shadow:0 0 0 2px #1d4ed80f}.role-scene-index{font-size:18px;font-weight:800;color:#94a3b8}.role-scene-badges{margin-top:7px}.archive-v17-item,.archive-evidence-row{font:inherit;color:inherit;width:100%;text-align:left;cursor:pointer}.archive-v17-item{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:#fff}.archive-v17-item:hover{background:#fafafa;border-color:#cbd5e1}.archive-v17-item strong{display:block;font-size:13px;line-height:1.5}.archive-v17-item div span{display:block;font-size:11px;color:var(--muted);margin-top:4px}.archive-evidence-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border:1px solid var(--line);border-radius:13px;padding:13px;background:#fff}.archive-evidence-row:hover{background:#fafafa;border-color:#cbd5e1}.archive-evidence-row strong{display:block;font-size:13px;line-height:1.5}.archive-evidence-row p{margin:7px 0 0;font-size:11px;line-height:1.6;color:var(--muted)}.archive-evidence-row>span{font-size:11px;color:var(--muted);white-space:nowrap}@media(max-width:760px){.role-scene-v16{grid-template-columns:34px minmax(0,1fr)}.role-scene-v16 .role-scene-actions{grid-column:1/-1;justify-content:flex-start}.archive-v17-item,.archive-evidence-row{align-items:flex-start}}.loading-screen{background:var(--bg);padding:24px}.loading-card{display:grid;justify-items:center;gap:10px;padding:24px 28px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 40px #0f172a0f}.loading-card strong{font-size:15px}.loading-card small{font-size:11px;color:var(--muted)}.loading-spinner{width:24px;height:24px;border:3px solid #e5e7eb;border-top-color:#111827;border-radius:50%;display:inline-block;animation:yongge-spin .72s linear infinite}.refresh-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:115;background:#f5f6f87a;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);display:grid;place-items:center;animation:yongge-fade-in .12s ease-out}.refresh-indicator{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 16px;box-shadow:0 12px 36px #0f172a17;font-size:12px;font-weight:750;color:#475569}.refresh-indicator .loading-spinner{width:18px;height:18px;border-width:2px}@keyframes yongge-spin{to{transform:rotate(360deg)}}@keyframes yongge-fade-in{0%{opacity:0}to{opacity:1}}.mstep{padding-right:12px}.ability-click-card{cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.ability-click-card:hover{border-color:#cbd5e1;box-shadow:0 7px 22px #0f172a0e;transform:translateY(-1px)}.ability-click-card:focus-visible{outline:2px solid #94a3b8;outline-offset:2px}.formula-list-v16{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px!important}.weapon-row-v16{display:flex!important;flex-direction:column;align-items:stretch;gap:10px!important;min-width:0;min-height:220px;padding:14px!important}.weapon-main-v16{display:flex;flex-direction:column;min-width:0;flex:1}.weapon-main-v16 .formula{margin-top:auto}.weapon-actions-v16{margin-top:auto;display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;align-items:center}@media(max-width:980px){.formula-list-v16{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:640px){.formula-list-v16{grid-template-columns:1fr!important}}.relation-grid fieldset>label{display:grid!important;grid-template-columns:16px minmax(0,1fr) 112px;gap:8px!important;align-items:center!important;min-height:34px;margin:4px 0!important;font-weight:400!important}.relation-grid fieldset>label>input[type=checkbox]{grid-column:1}.relation-grid fieldset>label>span{grid-column:2;min-width:0;line-height:1.35}.relation-grid fieldset>label>select{grid-column:3;width:112px!important;min-width:112px!important;max-width:112px!important;padding:5px 7px!important;margin:0!important;font-size:11px}@media(max-width:640px){.relation-grid fieldset>label{grid-template-columns:16px minmax(0,1fr) 100px}.relation-grid fieldset>label>select{width:100px!important;min-width:100px!important;max-width:100px!important}}.complexity-inline{display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:7px!important;white-space:nowrap!important;width:auto!important}.complexity-inline select{width:auto!important;min-width:96px!important;margin:0!important}.outline-textarea{white-space:pre;overflow:auto}.resolved-flow .event-step{opacity:1}.resolved-issue-summary{display:grid;gap:10px;margin-top:14px}.resolved-issue-summary>section{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:14px 15px;border:1px solid var(--line);border-radius:13px;background:#fff}.resolved-issue-summary>section.resolved-upgrade{border-color:#dbeafe;background:#f8fbff}.resolved-step-no{width:32px;height:32px;border-radius:10px;background:#f3f4f6;display:grid;place-items:center;font-size:11px;font-weight:900;color:#64748b}.resolved-issue-summary strong{font-size:11px;letter-spacing:.06em;color:#64748b}.resolved-issue-summary h3{font-size:17px;margin:4px 0 7px}.resolved-issue-summary p{margin:5px 0;line-height:1.65;color:#374151;white-space:pre-wrap}.resolved-issue-summary small{display:block;margin-top:5px;color:var(--muted);line-height:1.55}.role-level-head{align-items:flex-start}.role-goal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:13px}.role-goal-card{border:1px solid #e5e7eb;border-radius:13px;background:#fff;padding:12px 13px;min-width:0}.role-goal-card>span{display:block;font-size:11px;font-weight:800;color:#64748b}.role-goal-value{display:flex;align-items:baseline;gap:5px;margin-top:5px}.role-goal-value strong{font-size:24px;line-height:1;font-variant-numeric:tabular-nums}.role-goal-value small{font-size:12px;color:#94a3b8;font-weight:700}.role-goal-card p{font-size:11px;color:#94a3b8;line-height:1.45;margin:7px 0 0}.role-goal-bar{height:4px;background:#eef2f7;border-radius:999px;overflow:hidden;margin-top:10px}.role-goal-bar i{display:block;height:100%;background:#2563eb;border-radius:999px}.role-level-guide-list{display:grid;gap:8px}.role-level-guide-item{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.role-level-guide-badge{width:42px;height:42px;border-radius:11px;background:#111827;color:#fff;display:grid;place-items:center;font-weight:900}.role-level-guide-item strong{font-size:15px}.role-level-guide-item p{margin:4px 0 6px;font-size:12px;line-height:1.6;color:#475569}.role-level-guide-item small{font-size:11px;color:#94a3b8;line-height:1.5}.role-tree-editor{display:grid;gap:16px}.role-tree-root{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:start;padding:14px;border:1px solid #dbeafe;background:#f8fbff;border-radius:14px}.role-tree-node-icon{height:38px;border-radius:10px;background:#111827;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:850}.role-tree-root-fields{gap:10px}.role-tree-children{margin-left:26px;padding-left:20px;border-left:2px solid #e5e7eb}.role-tree-title{align-items:center;margin-bottom:10px}.role-tree-list{display:grid;gap:8px}.role-tree-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}.role-tree-branch{font-size:16px;color:#94a3b8;text-align:center}.role-tree-row-fields{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(220px,1.4fr);gap:8px}.role-tree-row-fields input,.role-tree-row-fields textarea{width:100%;margin:0}.role-tree-row-fields textarea{resize:vertical;min-height:42px}.markdown h2{border-bottom:0!important;padding-bottom:0!important}@media(max-width:760px){.role-goal-grid,.role-tree-root{grid-template-columns:1fr}.role-tree-node-icon{width:54px}.role-tree-children{margin-left:0;padding-left:12px}.role-tree-row{grid-template-columns:24px minmax(0,1fr)}.role-tree-row>.btn{grid-column:2;justify-self:start}.role-tree-row-fields{grid-template-columns:1fr}}.growth-dashboard-hero{padding:26px}.growth-dashboard-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.growth-dashboard-head h1{margin:4px 0 6px;font-size:29px;letter-spacing:-.035em}.growth-dashboard-head p{margin:0;color:var(--muted);line-height:1.65;max-width:680px}.growth-search{width:min(350px,100%);padding-top:3px}.growth-search .input{width:100%}.growth-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:21px}.growth-kpi{position:relative;overflow:hidden;padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:#fafafa}.growth-kpi.featured{background:#f7fbff;border-color:#bfdbfe}.growth-kpi.featured:after{content:"";position:absolute;right:-18px;top:-18px;width:58px;height:58px;border-radius:50%;background:#dbeafe;opacity:.55}.growth-kpi>span{display:block;font-size:11px;font-weight:850;color:#64748b}.growth-kpi strong{display:flex;align-items:baseline;gap:4px;margin-top:6px;font-size:28px;line-height:1;font-variant-numeric:tabular-nums}.growth-kpi strong small{font-size:13px;color:#64748b}.growth-kpi strong em{font-style:normal;font-size:12px;color:#94a3b8;font-weight:700;margin-left:2px}.growth-kpi p{margin:8px 0 0;font-size:11px;line-height:1.45;color:#94a3b8;max-width:190px}.growth-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(300px,.78fr);gap:14px;margin-top:14px}.growth-primary-panel,.growth-level-panel,.growth-battle-panel{padding:21px}.growth-section-head{align-items:flex-start}.growth-section-head h2,.growth-level-panel h2{margin:4px 0 5px}.growth-proof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}.growth-proof-card{position:relative;width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:15px;padding:15px;cursor:pointer;color:inherit;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.growth-proof-card:hover{border-color:#cbd5e1;box-shadow:0 7px 22px #0f172a0e;transform:translateY(-1px)}.growth-proof-card.lead{grid-column:1/-1;padding:18px;background:linear-gradient(135deg,#fff,#f8fbff);border-color:#dbeafe}.growth-proof-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.growth-proof-top small{font-size:11px;color:var(--muted);white-space:nowrap}.growth-proof-card>strong{display:block;margin-top:11px;font-size:15px;line-height:1.5}.growth-proof-card.lead>strong{font-size:18px;margin-top:13px}.growth-proof-card>p{margin:7px 0 0;font-size:12px;line-height:1.65;color:#64748b;min-height:40px}.growth-proof-card.lead>p{max-width:820px;font-size:13px;min-height:0}.growth-proof-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}.growth-proof-tags span{padding:4px 7px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:10px;font-weight:750}.growth-proof-card.lead .growth-proof-tags span{background:#eff6ff;color:#1d4ed8}.growth-proof-open{display:block;margin-top:13px;font-size:11px;font-weight:850;color:#334155}.growth-side-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.growth-side-head>span{font-size:10px;color:#94a3b8}.growth-level-list{display:grid;gap:0;margin-top:14px}.growth-level-item{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:start;padding:12px 0;border-bottom:1px solid #eef2f7}.growth-level-item:last-child{border-bottom:0}.growth-level-badge{width:38px;height:38px;border-radius:11px;background:#111827;color:#fff;display:grid;place-items:center;font-weight:900;font-size:12px;box-shadow:0 4px 10px #0f172a14}.growth-level-item strong{display:block;font-size:13px}.growth-level-item span{display:block;margin-top:3px;font-size:11px;color:#94a3b8}.growth-level-item p{margin:5px 0 0;font-size:11px;line-height:1.55;color:#64748b}.growth-battle-panel{margin-top:14px}.growth-battle-list{display:grid;margin-top:12px}.growth-battle-row{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:15px;align-items:center;width:100%;text-align:left;border:0;border-top:1px solid #eef2f7;background:transparent;padding:13px 7px;cursor:pointer;color:inherit;border-radius:10px}.growth-battle-row:first-child{border-top:0}.growth-battle-row:hover{background:#fafafa}.growth-battle-date{display:grid;gap:2px}.growth-battle-date strong{font-size:13px;font-variant-numeric:tabular-nums}.growth-battle-date span{font-size:10px;color:#94a3b8}.growth-battle-main>strong{display:block;font-size:13px;line-height:1.5}.growth-battle-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.growth-battle-meta span{font-size:10px;color:#64748b;padding:2px 6px;border-radius:999px;background:#f3f4f6}.growth-battle-meta span.important{background:#eff6ff;color:#1d4ed8;font-weight:750}.growth-battle-arrow{font-size:17px;color:#94a3b8}.growth-empty{grid-column:1/-1;padding:24px;border:1px dashed #d7dde5;border-radius:12px;background:#fafafa;text-align:center;color:#94a3b8;font-size:12px;line-height:1.6}.growth-empty strong{display:block;color:#64748b;font-size:13px;margin-bottom:4px}.growth-empty span{display:block}.growth-empty.compact{padding:16px}.growth-empty-proof{padding:32px 20px;background:#fbfcfd}@media(max-width:980px){.growth-dashboard-head{flex-direction:column}.growth-search{width:100%}.growth-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.growth-dashboard-grid{grid-template-columns:1fr}}@media(max-width:640px){.growth-dashboard-hero{padding:20px}.growth-kpi-grid,.growth-proof-grid{grid-template-columns:1fr}.growth-proof-card.lead{grid-column:auto}.growth-battle-row{grid-template-columns:58px minmax(0,1fr) auto;gap:10px}.growth-kpi p{max-width:none}}.review-meta-panel{padding:0!important;overflow:hidden;background:#fff!important}.review-meta-panel>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;cursor:pointer;background:#fafafa;border-radius:12px;font-weight:800;color:#374151}.review-meta-panel>summary::-webkit-details-marker{display:none}.review-meta-panel>summary:after{content:"＋";font-size:16px;color:#94a3b8;margin-left:auto}.review-meta-panel[open]>summary:after{content:"－"}.review-meta-panel>summary small{font-size:10px;font-weight:650;color:#94a3b8;margin-right:4px}.review-meta-content{display:grid;gap:12px;padding:14px;border-top:1px solid #eef2f7}.review-meta-section{border:1px solid var(--line);border-radius:13px;background:#fff;padding:14px}.review-meta-section-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:11px}.review-meta-section-head strong{display:block;font-size:13px}.review-meta-section-head span{display:block;margin-top:3px;font-size:11px;color:#94a3b8;line-height:1.5}.review-extra{margin-top:0!important;gap:10px}.review-extra label{display:grid;gap:6px;font-size:11px;font-weight:800;color:#475569}.review-extra textarea{min-height:96px;background:#fafafa}.review-links{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}.review-links fieldset{max-height:none!important;overflow:visible!important;padding:10px 11px;background:#fafafa}.review-links legend{padding:0 5px;font-size:10px;color:#64748b}.review-link-option{display:grid!important;grid-template-columns:16px minmax(0,1fr);gap:7px;align-items:start!important;padding:6px 4px;border-radius:7px}.review-link-option:hover{background:#fff}.review-link-option span{font-size:11px;line-height:1.45;color:#475569}.review-links .pager{margin-top:7px;gap:4px}.review-links .pager .btn{font-size:10px;padding:4px 6px}.review-links .pager span{font-size:10px;color:#94a3b8}.role-insight-grid{align-items:stretch}.role-insight-grid>.card{margin-top:0!important}.role-insight-card{height:100%;display:flex;flex-direction:column;min-height:158px}.role-insight-card .note{flex:1}.role-next-card{background:#fbfdff;border-color:#dbeafe}.role-next-target{margin-top:11px;padding:9px 11px;border-radius:10px;background:#eff6ff;color:#1d4ed8;font-size:11px;line-height:1.55;font-weight:700}.growth-dashboard-grid{align-items:stretch}.growth-dashboard-grid>.card{height:100%;margin-top:0!important}.growth-primary-panel,.growth-level-panel{display:flex;flex-direction:column}.growth-primary-panel .growth-proof-grid,.growth-level-panel .growth-level-list{flex:1}.growth-primary-panel>.pager,.growth-level-panel>.pager{margin-top:auto;padding-top:12px}.card>.pager{margin-bottom:0}@media(max-width:720px){.review-links{grid-template-columns:1fr!important}.review-meta-panel>summary{align-items:flex-start;flex-wrap:wrap}}.backup-link{text-decoration:none;white-space:nowrap;color:#475569;background:#fff}.practice-v17-focus{white-space:pre-wrap}.practice-history-panel{max-width:900px;margin:14px auto 0}.practice-history-list{display:grid;gap:8px;margin-top:12px}.practice-history-row{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:14px;align-items:start;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:#fff}.practice-history-time{display:grid;gap:3px}.practice-history-time strong{font-size:16px}.practice-history-time span{font-size:10px;color:#94a3b8}.practice-history-main>strong{display:block;font-size:13px}.practice-history-main p{margin:5px 0 0;font-size:12px;line-height:1.6;color:#64748b;white-space:pre-wrap}.practice-history-main small{display:block;margin-top:5px;font-size:10px;color:#94a3b8}.role-outline-editor .outline-textarea{min-height:390px}.role-outline-editor .form textarea{min-height:160px}@media(max-width:760px){.top-data-actions{justify-content:space-between;width:100%;margin-top:7px}.practice-history-row{grid-template-columns:58px minmax(0,1fr)}.practice-history-row>.pill{grid-column:2;justify-self:start}}.practice-v17-card,.practice-history-panel{max-width:none!important;width:100%;margin-left:0!important;margin-right:0!important}.practice-history-row{width:100%;text-align:left;color:inherit;cursor:pointer;font:inherit}.practice-history-row:hover{border-color:#cbd5e1;background:#fafafa}.practice-history-tail{display:grid;justify-items:end;gap:7px}.history-open{font-size:10px;font-weight:800;color:#64748b}.practice-detail{display:grid;gap:10px}.practice-detail-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid #eef2f7}.practice-detail-hero h2{margin:5px 0 3px}.practice-detail>section{padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fafafa}.practice-detail>section>strong{display:block;font-size:11px;color:#64748b;margin-bottom:6px}.practice-detail>section p{margin:0;white-space:pre-wrap;line-height:1.7;color:#374151}.practice-detail-formula{font-weight:750;color:#1f2937!important}.practice-detail-tags{display:flex;gap:6px;flex-wrap:wrap}.practice-detail-tags span{padding:5px 8px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:10px;color:#475569}.role-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 14px}.role-summary-card{min-height:112px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:#fafafa;display:flex;flex-direction:column;gap:6px}.role-summary-card.next{background:#f8fbff;border-color:#dbeafe}.role-summary-card.history{background:#fff}.role-summary-card>strong,.role-summary-card .between strong{font-size:14px;line-height:1.45}.role-summary-card>span,.role-summary-card .between span{font-size:10px;line-height:1.55;color:#94a3b8}.role-summary-card.history .between{height:100%;align-items:flex-start}.role-summary-card.history .between>div{min-width:0;display:grid;gap:6px}.role-summary-card.history strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-history-modal-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}.role-history-modal-head h2{margin:4px 0}.role-history-modal-list{max-height:54vh;overflow:auto;padding-right:2px}.top-data-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:max-content}.backup-link{white-space:nowrap;color:#475569;background:#fff}.backup-center{display:grid;gap:11px}.backup-option{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fafafa}.backup-option.restore{background:#fff}.backup-option strong{font-size:14px}.backup-option p{margin:4px 0 0;font-size:11px;line-height:1.6;color:#64748b;max-width:560px}.backup-file-button{position:relative;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:#fff;font-size:12px;font-weight:650;cursor:pointer}.backup-file-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.backup-file-status{padding:10px 12px;border-radius:10px;background:#f0fdf4;border:1px solid #bbf7d0;display:grid;gap:3px}.backup-file-status.error{background:#fef2f2;border-color:#fecaca}.backup-file-status strong{font-size:12px}.backup-file-status span{font-size:10px;color:#64748b}.backup-warning{padding:10px 12px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:11px;line-height:1.6}@media(max-width:900px){.role-summary-strip{grid-template-columns:1fr}}@media(max-width:720px){.practice-history-row{grid-template-columns:58px minmax(0,1fr)}.practice-history-tail{grid-column:2;justify-items:start}.backup-option{align-items:stretch;flex-direction:column}.backup-file-button{width:100%}}.milestone-nav-shell{display:grid;gap:8px;margin-top:8px}.milestone-nav-tools{display:flex;justify-content:flex-end;gap:6px;align-items:center}.milestone-window{overflow:visible!important;padding-bottom:10px!important}.milestone-overflow-chip{align-self:stretch;min-width:92px;border:1px dashed #cbd5e1;background:#f8fafc;color:#64748b;border-radius:12px;padding:8px 10px;font-size:11px;font-weight:750;cursor:pointer}.milestone-overflow-chip:hover{background:#f1f5f9;color:#334155}.all-milestones-list{display:grid;gap:7px;max-height:62vh;overflow:auto;padding-right:2px}.all-milestone-row{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:11px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px 12px;cursor:pointer;color:inherit}.all-milestone-row:hover{background:#fafafa;border-color:#cbd5e1}.all-milestone-row.selected{border-color:#93c5fd;background:#f8fbff}.all-milestone-index{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:11px;font-weight:900;background:#f1f5f9;color:#64748b}.all-milestone-index.done{background:#ecfdf3;color:#15803d}.all-milestone-index.active{background:#eff6ff;color:#1d4ed8}.all-milestone-main{display:grid;gap:3px}.all-milestone-main strong{font-size:13px}.all-milestone-main small{font-size:10px;color:#94a3b8}.all-milestone-open{font-size:10px;font-weight:800;color:#64748b}.practice-targets{margin-top:11px;padding:10px 11px;border:1px solid #dbeafe;border-radius:12px;background:#f8fbff}.practice-targets-label{display:block;font-size:10px;font-weight:850;color:#64748b;margin-bottom:7px}.practice-target-chips{display:flex;gap:6px;flex-wrap:wrap}.practice-target-chip{border:1px solid #dbeafe;border-radius:999px;background:#fff;padding:6px 9px;font-size:11px;font-weight:750;color:#334155;cursor:pointer}.practice-target-chip:hover{border-color:#93c5fd;background:#eff6ff}.practice-target-chip.skill{color:#1d4ed8}.practice-target-chip.ability{color:#374151}.practice-target-chip.role{color:#166534;border-color:#bbf7d0}.practice-role-detail .detail-hero{margin-bottom:0}@media(max-width:760px){.milestone-nav-tools{justify-content:stretch}.milestone-nav-tools .btn{flex:1}.milestone-window{overflow-x:auto!important}.milestone-overflow-chip{min-width:84px}.practice-target-chips{display:grid;grid-template-columns:1fr}.practice-target-chip{text-align:left}}
