@charset "UTF-8";
:root{--forest:#123e34;--deep:#102f28;--gold:#c6a86b;--ink:#173d34;--muted:#728078;--line:#dfe4d9;--paper:#f7f7f0;--cream:#f0ecd9;--blue:#4d8a9b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;font-size:15px;line-height:1.65}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{cursor:wait;opacity:.55}input,select{color:var(--ink);background:#fffefa;border:1px solid var(--line);border-radius:9px;min-height:43px;padding:8px 12px;max-width:100%;font-size:15px}input:focus,select:focus,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}input[type=checkbox]{accent-color:var(--forest);min-height:auto;width:18px;height:18px;padding:0}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.site-header{height:88px;background:var(--forest);color:#eee8d6;padding:0 max(4vw,24px);display:flex;align-items:center;gap:24px}.brand{display:flex;gap:12px;align-items:center;font-weight:700;font-size:22px;letter-spacing:1px}.brand small{display:block;font-size:9px;letter-spacing:2.5px;font-weight:400;color:#b2c0ae}.brand-symbol{color:#d9ba78;font-size:40px}.edition{margin-left:auto;color:#b7c7b6;letter-spacing:1px;font-size:11px}.outline-light{border:1px solid #79938766;border-radius:8px;padding:9px 15px;color:#f3efd9;font-size:13px;display:flex;justify-content:center;gap:18px;align-items:center}.outline-light:hover{background:#ffffff0b}main{max-width:1420px;margin:auto;padding:0 44px}.intro{display:flex;justify-content:space-between;align-items:center;padding:48px 0 35px;gap:20px}.eyebrow{font-size:10px;letter-spacing:2px;color:#87917c;margin:0 0 8px;font-weight:600}.intro h1{font-size:clamp(26px,3.4vw,44px);letter-spacing:-1px;line-height:1.4;margin:0;font-weight:650}.intro h1 em{font-style:normal;color:#7b8f6c}.intro-note{font-size:13px;margin:12px 0;color:var(--muted)}.intro-stamp{display:flex;flex-direction:column;border-left:1px solid #d4d6bd;padding:0 26px;color:#a8ad8a}.intro-stamp span{font-size:9px;letter-spacing:4px}.intro-stamp strong{font-size:23px;letter-spacing:3px;line-height:1.2;font-weight:400}.intro-stamp i{font-style:normal;font-size:10px;letter-spacing:2px;margin-top:12px}.tabs{display:flex;gap:34px;border-bottom:1px solid var(--line);margin-bottom:30px}.tabs button{padding:15px 0;position:relative;font-size:16px;color:#8a9485}.tabs small{font-size:9px;margin-left:8px;letter-spacing:1px}.tabs button.active{color:var(--forest);font-weight:650}.tabs button.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--forest)}.builder-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:35px;align-items:start}.builder-main{min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 18px}.section-heading h2{margin:0;font-size:21px;letter-spacing:.5px}.inline-actions{display:flex;gap:16px;align-items:center}.text-button,.file-button{color:#76806b;font-size:12px;cursor:pointer;padding:5px 0}.text-button:hover,.file-button:hover{color:var(--forest);text-decoration:underline}.name-row{display:flex;gap:12px;align-items:center;margin-bottom:18px}.name-row label{font-size:12px;color:var(--muted);white-space:nowrap}.name-row input{min-width:0;flex:1;background:transparent;border-top:0;border-left:0;border-right:0;border-radius:0;padding-left:0}.secondary{background:#e9edde;border:1px solid #d8dfcf;padding:9px 14px;border-radius:8px;font-size:12px;white-space:nowrap}.equipment-card{background:#fffefa;border:1px solid var(--line);padding:20px;border-radius:14px;margin-bottom:12px;display:flex;gap:16px;position:relative;overflow:hidden}.part-mark{width:45px;height:45px;flex-shrink:0;display:grid;place-content:center;border-radius:12px;color:#809374;background:#edf0e6;font-size:19px}.equipment-content{min-width:0;flex:1;position:relative}.equipment-header{display:flex;justify-content:space-between;gap:12px}.part-label{font-size:10px;letter-spacing:1px;color:#8b977f}.gear-choice{display:block;text-align:left;font-size:17px;font-weight:650;padding:3px 0;max-width:100%;word-break:break-word}.gear-choice.empty{font-weight:400;color:#9da88e}.gear-choice span{margin-left:10px;color:#9da88e;font-weight:400}.remove{font-size:11px;color:#9da491;align-self:start;flex-shrink:0}.gear-meta{font-size:11px;color:#8b9383;margin:3px 0 9px}.skills-tags{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.tag{background:#f2eee0;color:#927a45;border-radius:5px;padding:3px 8px;font-size:11px}.tag.set{background:#edf0e5;color:#5f755b}.jewel-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.jewel{background:#f1f5f0;border:1px dashed #d1dbcd;border-radius:7px;color:#789078;padding:7px 9px;font-size:11px;display:flex;gap:7px;align-items:center}.jewel.filled{border-style:solid;color:#437b89;background:#edf5f4}.socket{border:1px solid #b1c6b6;border-radius:4px;padding:0 5px;font-size:10px;color:#567b64}.upgrade-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:9px}.upgrade{border-radius:6px;border:1px solid #d4dcc7;background:#f2f4e9;font-size:11px;padding:5px 10px;color:#7c8869}.upgrade.active{background:#1d5545;color:#e1edd5;border-color:#1d5545}.subtle{font-size:11px;color:#8c9682}.affix-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:12px}.affix-grid label{display:flex;font-size:11px;align-items:center;justify-content:space-between;gap:5px}.affix-grid select{font-size:12px;min-height:29px;width:60px;padding:2px 7px}.inheritance{display:flex;align-items:center;gap:7px;font-size:11px;margin-top:10px}.inheritance select{flex:1;min-width:0;min-height:33px;font-size:12px}.inheritance button{color:#9a9e88}.settings-section{margin-top:34px}.form-card{border:1px solid var(--line);background:#fffefa;border-radius:14px;padding:20px;margin-bottom:14px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 14px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>span,.field>label{font-size:11px;color:#839078}.field.full{grid-column:1/-1}.field input,.field select{width:100%}.field .input-unit{display:flex;align-items:center;gap:8px}.input-unit input{min-width:0}.input-unit small{font-size:12px;color:var(--muted)}.check-row{display:flex;gap:20px;flex-wrap:wrap;align-items:center;margin-top:16px}.check-row label{display:flex;gap:7px;align-items:center;font-size:12px}.buffs{display:flex;flex-wrap:wrap;gap:9px 17px}.buffs label{font-size:12px;display:flex;gap:6px;align-items:center}.small-heading{font-size:12px;font-weight:600;margin:0 0 12px;color:#6b7c61}.small-heading.spaced{margin-top:20px}.field-help{font-size:11px;color:#97a18c;margin-top:12px}.form-card details summary{font-size:12px;cursor:pointer;color:#7b896f}.form-card details[open] summary{margin-bottom:18px}.results-column{position:sticky;top:24px;min-width:0}.dps-card{background:var(--forest);color:var(--cream);border-radius:18px;padding:28px 26px 24px;position:relative;overflow:hidden;box-shadow:0 12px 35px #173d3410}.dps-card:before{content:"✦";position:absolute;color:#ffffff05;font-size:230px;right:-10px;top:28px;line-height:1;pointer-events:none}.dps-top{display:flex;justify-content:space-between;font-size:13px;position:relative}.status-dot{font-size:10px;color:#adbea1}.status-dot:before{content:"";display:inline-block;background:#a4b991;width:5px;height:5px;border-radius:50%;margin-right:5px}.dps-number{font-size:70px;font-weight:500;line-height:1.25;letter-spacing:-3px;margin-top:9px;font-variant-numeric:tabular-nums;position:relative}.result-hint{color:#95ad98;font-size:11px;margin:8px 0 23px}.split-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin:10px 0;color:#b6c6ad}.split-row strong{font-size:15px;font-weight:500;font-variant-numeric:tabular-nums;color:#ead295}.split-row.element strong{color:#93c5c2}.split-bar{height:4px;background:#8ebdbc;border-radius:3px;margin:15px 0 22px;overflow:hidden}.split-bar>span{display:block;background:#d9bc7e;height:100%}.result-actions{display:flex;flex-direction:column;gap:10px;position:relative}.primary-gold{color:#293e2e;background:#dfc58b;border-radius:8px;font-weight:600;padding:12px 17px;display:flex;justify-content:space-between;align-items:center;font-size:13px}.primary-gold:hover{background:#e9d09c}.result-actions .outline-light{min-height:43px}.stat-card{border:1px solid var(--line);border-radius:14px;padding:8px 20px;margin-top:14px;background:#fdfdf6}.stat-row{display:flex;justify-content:space-between;gap:10px;padding:13px 0;border-bottom:1px solid #e8eadf;font-size:11px;color:#84917b}.stat-row:last-child{border:0}.stat-row strong{font-size:14px;color:#355344;font-weight:500;font-variant-numeric:tabular-nums}.local-note{display:flex;gap:10px;align-items:start;color:#96a189;font-size:10px;margin:17px 10px 0;line-height:1.9}.local-note>span{font-size:20px;color:#a8ae8b}.local-note p{margin:0}.export-backup{display:block;margin:12px auto;color:#95a087;font-size:10px}.legend{font-size:10px;display:flex;gap:5px;align-items:center;color:#87957c}.dot{height:6px;width:6px;border-radius:2px;display:inline-block;margin-left:7px}.gold{background:#c6a86b}.blue{background:#6da6ac}.skill-card{border:1px solid var(--line);background:#fffefa;border-radius:10px;padding:15px 17px;margin-bottom:8px}.skill-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.skill-name{font-weight:600;font-size:13px}.skill-level{font-size:11px;color:#9b844f}.skill-card.inactive{opacity:.65}.coverage-control{display:flex;align-items:center;gap:7px;font-size:10px;color:#8c9882}.coverage-control input{width:58px;min-height:32px;padding:3px 7px;font-size:12px;text-align:right}.coverage-control button{font-size:10px;padding:4px;color:#899379}.skill-sources{font-size:10px;color:#a6a897;margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}.skill-sources .equipment-source{color:#a58a4d}.skill-sources .jewel-source{color:#538c98}.skill-source-legend{font-size:11px;color:#8d987e;margin:9px 0 15px}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.category{text-align:left;border:1px solid var(--line);border-radius:12px;background:#fffefa;padding:19px 22px;display:flex;flex-direction:column;gap:4px}.category span{color:#aaa98b;font-size:10px;letter-spacing:1px}.category strong{font-size:20px;font-weight:550}.category small{font-size:10px;color:#8e9884}.category.active{background:var(--forest);border-color:var(--forest);color:#f0edd7}.category.active span,.category.active small{color:#a3b69a}.search-line{display:flex;align-items:center;gap:20px;margin:15px 0 24px}.search-line input{flex:1;min-width:0;max-width:580px;background:transparent}.search-line span{font-size:11px;color:#8d977f}.catalog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.catalog-card{border:1px solid var(--line);background:#fffefa;border-radius:12px;padding:20px;text-align:left;min-width:0}.catalog-card .card-name{font-size:16px;font-weight:600;line-height:1.5}.catalog-card .card-type{font-size:10px;color:#929b84;margin:5px 0 10px}.catalog-card:hover{border-color:#b7c1a4}.card-numbers{font-size:12px;color:#7a886c;margin-top:10px;display:flex;gap:16px;flex-wrap:wrap}.card-slots{color:#68876f;font-size:11px;margin-top:8px}.load-more{border:1px solid var(--line);border-radius:10px;display:block;margin:25px auto;padding:9px 28px;font-size:12px}.empty-state,.loading-card{color:#8c987e;padding:35px;border:1px dashed var(--line);border-radius:12px;text-align:center;font-size:13px;grid-column:1/-1}.loading-card{background:#fffefa}.notice{border:1px solid #e1d4a6;background:#f7f1dc;border-radius:10px;padding:12px 16px;color:#87703b;font-size:12px;margin-bottom:20px}.details-section{margin-top:35px;border-top:1px solid var(--line);padding-top:20px}.details-section>details>summary{font-size:14px;cursor:pointer;display:flex;justify-content:space-between;padding:10px 0;list-style:none}.table-scroll{overflow:auto;-webkit-overflow-scrolling:touch;margin-top:20px;border:1px solid var(--line);border-radius:10px}table{border-collapse:collapse;width:100%;font-size:11px;background:#fffefa;white-space:nowrap}th,td{text-align:left;padding:11px 13px;border-bottom:1px solid #e7e9de}th{color:#6d7c61;background:#edf0e5;font-weight:500}tbody tr:last-child td{border-bottom:0}.model-note{color:#859178;font-size:11px;max-width:900px;margin:26px 0}.model-note h3{font-size:13px;font-weight:600;color:#536a50}.matrix .equipment-source{color:#ad8a3d}.matrix .jewel-source{color:#4a90a1}.matrix .manual-source{color:#9776a9}.warning-list{color:#a0814e;font-size:11px;padding:15px 18px;background:#f3eddc;border-radius:10px}.warning-list p{margin:4px 0}footer{display:flex;align-items:center;gap:25px;justify-content:space-between;border-top:1px solid var(--line);margin-top:36px;padding:25px 0;font-size:10px;color:#9aa08a}footer>span:first-child{color:#7d8d71}footer p{margin:0}dialog{padding:25px;border:1px solid #d6dfca;border-radius:18px;background:var(--paper);color:var(--ink);max-width:850px;width:calc(100% - 40px);max-height:88vh;box-shadow:0 20px 100px #102f2833;overflow:auto}dialog::backdrop{background:#102f2870;backdrop-filter:blur(4px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;position:sticky;top:-25px;background:var(--paper);padding:8px 0 20px;z-index:1}.modal-heading h2{font-size:21px;margin:0}.close-button{border-radius:50%;background:#e6edde;width:35px;height:35px;font-size:25px;line-height:1}.modal-search{position:sticky;top:60px;background:var(--paper);padding-bottom:14px;z-index:1;display:flex;gap:8px}.modal-search input{width:100%;min-width:0}.modal-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-footer{display:flex;justify-content:center;gap:12px;margin:18px 0 0}.modal-paragraph{font-size:13px;color:#7b8970;line-height:1.9}.detail-description{font-size:13px;color:#7c876e;margin:15px 0}.detail-line{display:flex;justify-content:space-between;gap:20px;font-size:12px;padding:12px 0;border-bottom:1px solid var(--line)}.detail-line span:last-child{white-space:pre-wrap;text-align:right;max-width:70%;word-break:break-word}.primary{background:var(--forest);color:#f3efd9;padding:11px 18px;border-radius:9px;font-size:13px}.share-code{padding:20px;border:1px solid #cbd7bc;border-radius:12px;background:#fffefa;text-align:center;font-family:ui-monospace,monospace;letter-spacing:2px;font-size:19px;overflow-wrap:anywhere;color:#365c46;user-select:all;margin:20px 0}.share-url{font-size:11px;overflow-wrap:anywhere;color:#899578;padding:10px 0}.code-input{width:100%;font-family:ui-monospace,monospace;font-size:15px}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);padding:12px 22px;border-radius:10px;background:#163c33ef;color:#f6f1dc;font-size:13px;z-index:20;box-shadow:0 6px 30px #0002;max-width:90vw}.image-preview{width:100%;border-radius:9px;display:block}.small-actions{display:flex;gap:12px;margin-top:14px}.small-actions button{font-size:11px}.danger{color:#a37962}.charm-custom{padding-top:10px}.charm-skill{display:flex;gap:8px;margin:8px 0}.charm-skill select{flex:1;min-width:0;font-size:12px}.charm-skill input{width:65px}.custom-socket{display:flex;gap:8px;font-size:11px;align-items:center;margin:8px 0}.custom-socket select{min-height:32px;font-size:12px}.warning-inline{font-size:10px;color:#a48a54}.info-chip{background:#ecefdf;color:#7c8b6c;font-size:10px;padding:3px 8px;border-radius:20px}.result-tools{font-size:11px;color:#89967a}.form-card select option{color:#173d34;background:#fffefa}
@media(min-width:1500px){main{max-width:1450px}.builder-layout{grid-template-columns:minmax(0,1fr) 380px;gap:45px}.dps-number{font-size:80px}}
@media(max-width:1000px){main{padding:0 26px}.builder-layout{grid-template-columns:minmax(0,1fr) 290px;gap:23px}.dps-card{padding:23px 20px}.dps-number{font-size:59px}.brand{font-size:19px}.intro-stamp{padding-right:0}.category{padding:17px 14px}.category strong{font-size:18px}}
@media(max-width:760px){body{font-size:14px}.site-header{height:74px;padding:0 18px;gap:10px}.brand{font-size:17px;gap:8px;letter-spacing:0}.brand-symbol{font-size:31px}.brand small{font-size:7px;letter-spacing:1.4px}.edition{display:none}.site-header>.outline-light{margin-left:auto;font-size:11px;padding:8px 10px;gap:6px}.site-header>.outline-light span{display:none}main{padding:0 17px}.intro{padding:28px 0 20px}.intro h1{font-size:27px;letter-spacing:-.5px}.intro h1 em{display:block}.intro-note{font-size:11px;max-width:240px;line-height:1.8}.intro-stamp{border:0;padding:0}.intro-stamp strong{font-size:14px;letter-spacing:2px}.intro-stamp span{font-size:8px}.intro-stamp i{display:none}.eyebrow{font-size:8px;letter-spacing:1.4px}.tabs{gap:25px;margin-bottom:23px}.tabs button{font-size:14px;padding:12px 0}.tabs small{font-size:8px;margin-left:5px}.builder-layout{display:flex;flex-direction:column;gap:24px}.builder-main,.results-column{width:100%}.results-column{position:static;order:-1;display:grid;grid-template-columns:1fr;gap:0}.dps-card{padding:20px 22px;border-radius:15px}.dps-number{font-size:59px;margin-top:2px}.dps-top{font-size:12px}.result-hint{margin:2px 0 13px;font-size:10px}.split-row{margin:6px 0;font-size:11px}.split-row strong{font-size:13px}.split-bar{margin:10px 0 14px}.result-actions{flex-direction:row}.result-actions>*{flex:1;min-width:0;font-size:11px;min-height:39px;padding:9px 11px}.stat-card{display:grid;grid-template-columns:1fr 1fr;padding:8px 14px;margin-top:10px;gap:0 17px}.stat-row{padding:9px 0;font-size:10px}.stat-row strong{font-size:12px}.stat-row:nth-last-child(-n+2){border:0}.local-note,.export-backup{display:none}.section-heading{margin-bottom:14px}.section-heading h2{font-size:19px}.inline-actions{gap:13px}.text-button,.file-button{font-size:10px}.name-row{gap:9px;flex-wrap:wrap}.name-row label{font-size:10px}.name-row input{font-size:14px}.name-row .secondary{font-size:10px;padding:8px 10px}.equipment-card{padding:16px 13px;gap:12px;border-radius:12px;margin-bottom:9px}.part-mark{width:35px;height:35px;border-radius:9px;font-size:16px}.gear-choice{font-size:15px;line-height:1.6}.part-label{font-size:9px}.gear-meta{font-size:10px}.tag{font-size:10px;padding:2px 7px}.jewel{font-size:10px;padding:6px 8px}.jewel-list{gap:6px}.upgrade{font-size:10px;padding:4px 8px}.upgrade-row .subtle{font-size:9px}.affix-grid{gap:8px 10px}.affix-grid label{font-size:10px}.affix-grid select{width:48px;font-size:11px}.inheritance{font-size:10px}.inheritance select{font-size:11px}.settings-section{margin-top:27px}.form-card{padding:17px 15px}.field-grid{gap:14px 11px}.field>span{font-size:10px}.field input,.field select{font-size:14px;min-height:42px}.buffs{gap:12px}.buffs label{font-size:11px}.skill-card{padding:13px}.skill-top{align-items:start}.skill-name{font-size:12px}.skill-level{display:block;font-size:10px}.coverage-control{gap:4px;white-space:nowrap}.coverage-control input{font-size:12px;width:52px}.skill-sources{font-size:9px;gap:7px}.coverage-control button{font-size:9px}.category-grid{grid-template-columns:1fr 1fr;gap:10px}.category{padding:16px 17px}.category strong{font-size:18px}.category small{font-size:9px}.catalog-grid,.modal-list{grid-template-columns:1fr}.catalog-card{padding:17px}.catalog-card .card-name{font-size:15px}.search-line{gap:10px}.search-line input{font-size:13px}.search-line span{font-size:10px;white-space:nowrap}dialog{width:100%;max-width:none;max-height:92dvh;margin:auto 0 0;border-radius:20px 20px 0 0;padding:21px 17px 28px;inset:0;top:auto}.modal-heading{top:-21px;padding:5px 0 17px}.modal-heading h2{font-size:19px}.modal-search{top:54px}.modal-search input{font-size:14px}.share-code{font-size:16px;letter-spacing:1px;padding:17px 10px}.details-section{margin-top:27px}.details-section>details>summary{font-size:13px}footer{gap:10px;flex-wrap:wrap;padding-bottom:25px;font-size:9px}footer p{display:none}th,td{padding:10px;font-size:10px}.toast{bottom:20px;font-size:12px}.detail-line{font-size:11px}.info-chip{font-size:9px}.notice{font-size:11px}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s,border-color .15s,color .15s}.dps-card{animation:appear .45s ease-out}@keyframes appear{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:none}}}

.equipment-card:after{content:"轻弩互助学习小组";position:absolute;right:18px;top:48%;font-size:15px;letter-spacing:2px;color:#123e3408;transform:rotate(-18deg);pointer-events:none}.gear-meta{position:relative;z-index:1}

.reserve-card{border-color:#cad8d4;background:#f5f8f5}.reserve-card .part-label{color:#59766a}.reserve-card .gear-meta{font-size:13px;line-height:1.7}

.reserve-details summary{cursor:pointer;color:#486b5c;font-weight:600;padding:6px 0}.reserve-details[open] summary{margin-bottom:14px}
