:root{--bg: #f3f5f7;--card: #ffffff;--ink: #1c222c;--ink-soft: #68717f;--line: #dde2e8;--line-soft: #eceff3;--accent: #9d6c18;--accent-soft: #f7f1e4;--accent-hover: #faf7f0;--row-hover: rgba(33, 43, 58, .055);--accent-line: #e4d8bd;--accent-border: #c8b17c;--accent-border-strong: #a77a2b;--accent-ring: rgba(157, 108, 24, .16);--accent-bright: #d8b45f;--ok: #3f6b4f;--warn: #b07a1f;--bad: #a83b2a;--radius: 10px;--shadow: 0 1px 2px rgba(22, 30, 42, .05), 0 8px 24px rgba(22, 30, 42, .055);--fs-micro: 10px;--fs-xs: 11px;--fs-sm: 12px;--fs-base: 13px;--fs-md: 14px;--fs-lg: 15px;--fs-xl: 17px;--fs-2xl: 18px;--fs-3xl: 19px;--fs-4xl: 20px;--fs-display: 30px;--fs-hero: 38px;--lh-tight: 1.25;--lh-normal: 1.4;--lh-loose: 1.6;--control-h: 34px;--control-h-sm: 30px;--row-h: 26px;--pad-page: 14px;--pad-card: 13px;--pad-group: 11px;--field: #fbfcfd;--field-disabled: #f1f3f6;--track: #e8ecf1;--chip: #f2f4f7;--knob-off: #c7ced8;--knob-dot: #ffffff;--on-accent: #fffef9;--accent-strong: #7e560e;--danger-line: #e3bdb6;--danger-bg: #fbf1f0;--header-bg: rgba(243, 245, 247, .92);--scroll-thumb: rgba(28, 34, 44, .17);--scroll-thumb-hover: rgba(28, 34, 44, .32);--mask: rgba(10, 14, 20, .44);--stat-bar-alpha: .42;--stat-gain-head: rgba(160, 66, 52, .14);--stat-gain-line: rgba(160, 66, 52, .28);--stat-loss-head: rgba(48, 108, 70, .14);--stat-loss-line: rgba(48, 108, 70, .28);--equip-gold-bg: linear-gradient(0, #ffb058 0%, #ffeed6 38%, #fff4dd 100%);--equip-gold-line: #dcc397;--equip-purple-bg: linear-gradient(0, #9885ff 0%, #f5ebff 38%, #ffffff 100%);--equip-purple-line: #d6c7ee;--equip-gold-fg: #9a6a12;--equip-purple-fg: #7a45c0;--equip-text: #1c222c;--equip-muted: #68717f;--equip-border: #dde2e8;--equip-divider: #eceff3;--equip-field: #fbfcfd;--equip-panel: #ffffff;--equip-chip: #f2f4f7;--equip-accent: #9d6c18;--equip-accent-strong: #7e560e;--equip-accent-soft: #f7f1e4;--equip-accent-hover: #faf7f0;--equip-accent-line: #e4d8bd;--equip-accent-border: #c8b17c;--equip-accent-border-strong: #a77a2b;--equip-ring: rgba(157, 108, 24, .16);--equip-row-hover: rgba(33, 43, 58, .055);--equip-on-accent: #fffef9;--equip-mask: rgba(10, 14, 20, .34);--equip-surface: #ffffff;--equip-surface-raised: #ffffff;--equip-slot-surface: #fbfcfd;--equip-inset-line: rgba(255, 255, 255, .9);--equip-sheen: rgba(194, 148, 48, .16);--equip-edge-glow: rgba(194, 148, 48, .045);--equip-edge-glow-strong: rgba(194, 148, 48, .09);--equip-edge-line: rgba(194, 148, 48, .04);--equip-edge-line-strong: rgba(194, 148, 48, .12);--equip-idle-edge-opacity: .34;--equip-shadow: 0 0 18px -10px var(--equip-edge-glow), 0 1px 2px rgba(22, 30, 42, .035), 0 16px 36px -22px rgba(22, 30, 42, .2);--equip-shadow-hover: 0 0 26px -12px var(--equip-edge-glow-strong), 0 3px 8px rgba(22, 30, 42, .055), 0 26px 52px -22px rgba(22, 30, 42, .26);--equip-slot-shadow: inset 0 1px 0 var(--equip-inset-line), 0 10px 24px -20px rgba(22, 30, 42, .22);--equip-glow-gold: rgba(194, 148, 48, .12);--equip-glow-purple: rgba(122, 69, 192, .1);--equip-backdrop: rgba(243, 245, 247, .72)}:root[data-theme=dark]{color-scheme:dark;--bg: #0a0d12;--card: #11141a;--ink: #edf0f5;--ink-soft: #98a2b2;--line: #262b35;--line-soft: #1a1f27;--accent: #e0b55b;--accent-soft: #1c1b17;--accent-hover: #1a1e26;--row-hover: rgba(209, 217, 230, .065);--accent-line: #3d3729;--accent-border: #5c4e2f;--accent-border-strong: #8a7039;--accent-ring: rgba(224, 181, 91, .16);--accent-bright: #f0cb78;--ok: #6fbd8b;--warn: #e2b45c;--bad: #f08a76;--field: #0d1016;--field-disabled: #161a21;--track: #1e232c;--chip: #171b22;--knob-off: #3e4652;--knob-dot: #e7ebf1;--on-accent: #171209;--accent-strong: #f1d187;--danger-line: #6b3a33;--danger-bg: #33211e;--header-bg: rgba(10, 13, 18, .94);--scroll-thumb: rgba(223, 230, 240, .2);--scroll-thumb-hover: rgba(223, 230, 240, .38);--mask: rgba(0, 0, 0, .72);--stat-bar-alpha: .88;--stat-gain-head: rgba(150, 52, 42, .42);--stat-gain-line: rgba(198, 96, 82, .45);--stat-loss-head: rgba(38, 96, 62, .42);--stat-loss-line: rgba(94, 158, 116, .45);--shadow: 0 1px 2px rgba(0, 0, 0, .32), 0 8px 24px rgba(0, 0, 0, .28);--equip-gold-bg: linear-gradient(0, #ffb058 0%, #ffeed6 38%, #fff4dd 100%);--equip-gold-line: #8a7350;--equip-purple-bg: linear-gradient(0, #9885ff 0%, #f5ebff 38%, #ffffff 100%);--equip-purple-line: #6f5c94;--equip-gold-fg: #e0b55b;--equip-purple-fg: #b39ce8;--equip-text: #edf0f5;--equip-muted: #98a2b2;--equip-border: #262b35;--equip-divider: #1a1f27;--equip-field: #0d1016;--equip-panel: #11141a;--equip-chip: #171b22;--equip-accent: #e0b55b;--equip-accent-strong: #f1d187;--equip-accent-soft: #1c1b17;--equip-accent-hover: #1a1e26;--equip-accent-line: #3d3729;--equip-accent-border: #5c4e2f;--equip-accent-border-strong: #8a7039;--equip-ring: rgba(224, 181, 91, .16);--equip-row-hover: rgba(209, 217, 230, .065);--equip-on-accent: #171209;--equip-mask: rgba(0, 0, 0, .76);--equip-surface: #11141a;--equip-surface-raised: #141820;--equip-slot-surface: #0f1218;--equip-inset-line: rgba(235, 241, 250, .045);--equip-sheen: rgba(224, 181, 91, .2);--equip-edge-glow: rgba(224, 181, 91, .05);--equip-edge-glow-strong: rgba(224, 181, 91, .1);--equip-edge-line: rgba(224, 181, 91, .05);--equip-edge-line-strong: rgba(224, 181, 91, .14);--equip-idle-edge-opacity: .42;--equip-shadow: 0 0 22px -12px var(--equip-edge-glow), 0 16px 38px -24px rgba(0, 0, 0, .9), 0 0 28px -24px rgba(224, 181, 91, .2);--equip-shadow-hover: 0 0 30px -10px var(--equip-edge-glow-strong), 0 30px 60px -24px rgba(0, 0, 0, .94), 0 0 36px -22px rgba(224, 181, 91, .24);--equip-slot-shadow: inset 0 1px 0 var(--equip-inset-line), 0 10px 24px -18px rgba(0, 0, 0, .9), 0 0 22px -18px rgba(224, 181, 91, .16);--equip-glow-gold: rgba(224, 181, 91, .1);--equip-glow-purple: rgba(179, 156, 232, .11);--equip-backdrop: rgba(8, 11, 16, .78)}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0;overflow:hidden;background:var(--bg);color:var(--ink);font-family:PingFang SC,Microsoft YaHei,Hiragino Sans GB,system-ui,sans-serif;font-size:var(--fs-md);line-height:var(--lh-loose);-webkit-font-smoothing:antialiased}html,*{scrollbar-gutter:stable}#app{height:100%}a{color:inherit;text-decoration:none}*::-webkit-scrollbar{width:3px;height:3px;background:transparent}*::-webkit-scrollbar-track{background:transparent;border:none}*::-webkit-scrollbar-thumb{background:transparent;border:none;border-radius:3px;transition:background-color .5s ease}*::-webkit-scrollbar-thumb:hover{background:transparent}.is-scrolling::-webkit-scrollbar-thumb,.is-scrolling::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb);transition:background-color .08s ease}*::-webkit-scrollbar-corner{display:none;background:transparent}*::-webkit-scrollbar-button,*::-webkit-scrollbar-button:single-button,*::-webkit-scrollbar-button:double-button,*::-webkit-scrollbar-button:vertical,*::-webkit-scrollbar-button:horizontal,*::-webkit-scrollbar-button:start,*::-webkit-scrollbar-button:end,*::-webkit-scrollbar-button:increment,*::-webkit-scrollbar-button:decrement,*::-webkit-scrollbar-button:vertical:start,*::-webkit-scrollbar-button:vertical:end,*::-webkit-scrollbar-button:vertical:increment,*::-webkit-scrollbar-button:vertical:decrement,*::-webkit-scrollbar-button:horizontal:start,*::-webkit-scrollbar-button:horizontal:end,*::-webkit-scrollbar-button:horizontal:increment,*::-webkit-scrollbar-button:horizontal:decrement,*::-webkit-scrollbar-button:single-button:vertical:start,*::-webkit-scrollbar-button:single-button:vertical:end,*::-webkit-scrollbar-button:double-button:vertical:start,*::-webkit-scrollbar-button:double-button:vertical:end{display:none;width:0;height:0;background:transparent}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}}button{font-family:inherit;font-size:var(--fs-md);cursor:pointer}input,select{font-family:inherit;font-size:var(--fs-md);color:var(--ink)}h1,h2,h3{margin:0;font-weight:600;letter-spacing:.02em}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.tag{padding:2px 10px;border-radius:999px;background:var(--accent-soft);border:1px solid var(--line);font-size:var(--fs-sm);color:var(--ink-soft)}.btn{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:8px;padding:9px 16px;transition:background .15s ease,border-color .15s ease}.btn:hover{background:var(--accent-hover);border-color:var(--accent-border)}.panel{padding:13px 14px 14px;margin-bottom:14px}.panel-title{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line);font-size:var(--fs-md);font-weight:600;letter-spacing:.04em}.panel-title .dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.input{width:100%;min-width:0;height:var(--control-h);padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--field);outline:none;transition:border-color .15s ease,box-shadow .15s ease;font-variant-numeric:tabular-nums}.input:focus{border-color:var(--accent-border-strong);box-shadow:0 0 0 3px var(--accent-ring)}.input-readonly{display:flex;align-items:center;color:var(--ink-soft);cursor:default;-webkit-user-select:none;user-select:none;font-family:inherit;font-size:var(--fs-md)}.unit{font-size:var(--fs-md);color:var(--ink-soft);flex:none;width:18px}.select{width:100%;height:var(--control-h);padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--field);outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}textarea{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.select:disabled{color:var(--ink);background:var(--field-disabled);cursor:default}.switch{position:relative;width:40px;height:22px;padding:0;border:none;border-radius:999px;background:var(--knob-off);flex:none;cursor:pointer;transition:background .15s ease}.switch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--knob-dot);transition:transform .15s ease}.switch.on{background:var(--accent)}.switch.on:after{transform:translate(18px)}.btn-ghost{background:transparent}.btn-sm{padding:6px 12px;font-size:var(--fs-md);margin-left:auto}.raw-value{margin-right:5px;font-size:var(--fs-xs);font-weight:400;color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.app-shell{height:100vh;height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:20;background:var(--header-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.app-header-inner{max-width:1920px;margin:0 auto;padding:8px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px}.app-header-inner>.app-tabs{justify-self:center}.app-header-inner>.header-actions{justify-self:end}.brand{display:flex;align-items:baseline;gap:10px}.brand-title{font-size:var(--fs-2xl);font-weight:700;letter-spacing:.06em;color:var(--ink)}.brand-sub{font-size:var(--fs-sm);color:var(--ink-soft);letter-spacing:.12em}.main{flex:1;min-height:0;overflow:hidden;width:100%;padding:12px 0 16px 16px}.app-page{display:flex;flex-direction:column;width:100%;height:100%;min-height:0}.app-diy{min-width:0;min-height:0;display:flex;flex:1}.app-diy>.diy-calc{flex:1;min-width:0}.diy-calc .patch-badge{display:inline-block;margin-left:4px;padding:0 6px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--ink-soft);font-size:var(--fs-sm);line-height:18px;vertical-align:1px;cursor:help}.app-tabs{display:flex;gap:4px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--field)}.app-tab{border:none;background:transparent;color:var(--ink-soft);padding:5px 16px;border-radius:7px;font:inherit;font-size:var(--fs-base);cursor:pointer;transition:background .15s ease,color .15s ease}.app-tab:hover{color:var(--ink)}.app-tab.is-active{background:var(--card);color:var(--accent);font-weight:600;box-shadow:var(--shadow)}.modal.school-calc-modal{width:100%;max-width:none;height:calc(100dvh - 40px);max-height:calc(100dvh - 40px)}.school-calc-modal .modal-sub{margin-left:10px;margin-right:auto;font-size:var(--fs-sm);font-weight:400;color:var(--ink-soft)}.school-calc-modal .school-calc-body{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);padding:14px;overflow:hidden;color:var(--ink);font-size:var(--fs-md);line-height:1.6}.school-calc-modal .manual-page{height:100%;min-height:0;display:flex;flex-direction:column}@media(max-width:1024px){.modal.school-calc-modal{width:100%;height:auto;max-height:84dvh}}.manual-page{gap:12px}.calc-root{transition:opacity .12s ease}.calc-root.is-switching{opacity:.55;pointer-events:none}.switching-hint{margin-left:10px;font-size:var(--fs-sm);font-weight:400;color:var(--ink-soft)}.school-switch-card{margin-bottom:0}.school-switch-card .panel-title{margin-bottom:8px}.school-switch-select{height:var(--control-h);font:inherit;font-size:var(--fs-md)}.school-config-card{margin-bottom:0}.school-config-card .panel-title{margin-bottom:10px}.school-config-card .field-list{gap:8px}.manual-aside .school-config-card .field-row{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:10px}.manual-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:16px;align-items:stretch}.manual-body-tri{grid-template-columns:370px minmax(0,1fr) 370px}.manual-main{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:4px}.manual-aside{min-height:0;overflow-y:auto;overscroll-behavior:contain}.manual-aside .calc-aside{position:static}.manual-aside>.calc-aside+.calc-aside{margin-top:16px}.manual-page .page-head{margin-bottom:18px}.calc-layout.calc-layout-solo{grid-template-columns:minmax(0,1fr)}.manual-page .field-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.manual-page .calc-tables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.manual-page .calc-tables .card.panel{min-width:0;margin-bottom:0;overflow-x:auto}@media(max-width:1280px){.manual-page .calc-tables{grid-template-columns:minmax(0,1fr)}}@media(max-width:1024px){.manual-body{grid-template-columns:minmax(0,1fr);align-items:start}.manual-main,.manual-aside{overflow:visible}}.calc-layout{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:24px;align-items:start}.calc-aside{position:sticky;top:92px;display:flex;flex-direction:column;gap:16px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:24px;flex-wrap:wrap}.page-head h2{font-size:var(--fs-3xl);letter-spacing:.04em}.page-head .sub{margin-top:6px;font-size:var(--fs-base);color:var(--ink-soft)}.rate-card{margin-bottom:0}.rate-value{margin-top:2px;font-size:var(--fs-hero);font-weight:700;line-height:1.1;color:var(--accent);font-variant-numeric:tabular-nums}.rate-value small{font-size:var(--fs-3xl);font-weight:500;margin-left:2px}.rate-diff{margin-top:8px;font-size:var(--fs-base);color:var(--ink-soft)}.rate-diff.negative{color:var(--bad)}.rate-diff.positive{color:var(--ok)}.rate-bar{margin-top:14px;height:8px;border-radius:999px;background:var(--track);overflow:hidden}.rate-bar-fill{height:100%;border-radius:999px;background:var(--accent);transition:width .25s ease}.rate-foot{margin-top:12px;display:flex;justify-content:space-between;font-size:var(--fs-base);color:var(--ink-soft)}.output-list{margin-top:16px;display:grid;gap:10px}.output-row{display:flex;justify-content:space-between;font-size:var(--fs-md);padding-top:10px;border-top:1px solid var(--line-soft)}.output-row span{color:var(--ink-soft)}.output-row b{font-weight:600;font-variant-numeric:tabular-nums}.field-list{display:grid;gap:10px}.field-list[data-group=team],.field-list[data-group=items]{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}.field-list[data-group=items] .field-row.is-full-row{grid-column:1 / -1}@media(max-width:720px){.field-list[data-group=team],.field-list[data-group=items]{grid-template-columns:minmax(0,1fr)}}.field-row{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:14px}.field-label{min-width:0;font-size:var(--fs-md);line-height:1.5;color:var(--ink-soft);white-space:normal;overflow-wrap:anywhere}.field-control{display:flex;align-items:center;gap:8px;min-width:0}.field-row>.switch,.pair-field>.switch{justify-self:end}.field-row.field-row-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.field-row.field-row-pair .pair-field{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:10px;min-width:0}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin:24px 0 12px}.section-head h3{font-size:var(--fs-xl)}.section-head .hint{font-size:var(--fs-base);color:var(--ink-soft)}.attr-table{width:100%;border-collapse:collapse;font-size:var(--fs-md)}.attr-table th{text-align:left;font-weight:500;font-size:var(--fs-base);color:var(--ink-soft);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.attr-table td{padding:11px 12px;border-bottom:1px solid var(--line-soft);font-variant-numeric:tabular-nums}.attr-table td.num{text-align:right}.attr-table .name{color:var(--ink)}.mini-bar{height:6px;border-radius:999px;background:var(--track);overflow:hidden;min-width:60px}.mini-bar>i{display:block;height:100%;border-radius:999px;background:var(--ok)}.mini-bar.low>i{background:var(--warn)}.mini-bar.bad>i{background:var(--bad)}.group-chips{display:grid;gap:10px;margin-bottom:16px}.group-chip{display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:12px;font-size:var(--fs-md)}.group-chip .title{color:var(--ink-soft)}.group-chip .val{color:var(--ink-soft);min-width:52px;text-align:right;white-space:nowrap}.final-panel-card{margin-bottom:0;padding:14px}.final-panel-card .panel-title{margin-bottom:0;padding-bottom:8px;border-bottom:0;font-size:var(--fs-md);font-weight:600;letter-spacing:.06em;color:var(--ink)}.fp-group+.fp-group{margin-top:6px;padding-top:8px;border-top:1px solid var(--line-soft)}.fp-group-title{padding:0 0 4px;font-size:var(--fs-base);font-weight:600;line-height:1.35;letter-spacing:.04em;color:var(--ink-soft)}.fp-grid{display:grid;grid-template-columns:minmax(0,1fr)}.fp-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;min-height:var(--control-h);border-bottom:1px solid var(--line-soft)}.fp-row.is-note-row{border-bottom:none}.final-panel-card .fp-row.is-sub-row .fp-cell{min-height:calc(var(--control-h) - 6px);padding-left:10px}.final-panel-card .fp-row.is-sub-row .fp-label{font-size:var(--fs-sm)}.final-panel-card .fp-row.is-sub-row .fp-label:before{content:"·";margin-right:6px}.final-panel-card .fp-row.is-sub-row .fp-value{font-size:var(--fs-sm)}.fp-cell{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.fp-label{flex:1 1 auto;min-width:0;font-size:var(--fs-md);line-height:1.5;color:var(--ink-soft);white-space:normal;overflow-wrap:anywhere}.fp-value{flex:0 0 auto;font-size:var(--fs-md);line-height:1.5;font-weight:400;color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.fp-overflow{margin-left:4px;font-style:normal;font-weight:400;color:var(--ink-faint, var(--ink-soft))}.final-panel-card .fp-cell.is-note{padding-left:10px;min-height:calc(var(--control-h) - 4px)}.final-panel-card .fp-cell.is-note .fp-label{flex:0 0 auto;white-space:nowrap;font-size:var(--fs-sm)}.final-panel-card .fp-cell.is-note .fp-value{font-size:var(--fs-sm)}.final-panel-card .fp-cell.is-note.tone-good .fp-value{color:var(--ok)}.final-panel-card .fp-cell.is-note.tone-bad .fp-value{color:var(--bad)}.final-panel-card .note{margin-top:10px;font-size:var(--fs-base);line-height:1.7}.attainment-below{margin-top:16px}.skill-table{width:100%;border-collapse:collapse;font-size:var(--fs-md)}.skill-table th{text-align:left;font-size:var(--fs-base);font-weight:500;color:var(--ink-soft);padding:10px 12px;border-bottom:1px solid var(--line)}.skill-table td{padding:10px 12px;border-bottom:1px solid var(--line-soft);font-variant-numeric:tabular-nums}.skill-table td.num{text-align:right}.skill-share{display:flex;align-items:center;gap:8px;justify-content:flex-end}.skill-share .mini-bar{width:90px}.panel-row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr) 168px;gap:16px;align-items:start}.panel-attack{grid-column:1}.panel-right{grid-column:2 / 4;min-width:0;display:grid;grid-template-columns:minmax(0,2fr) 168px;grid-template-areas:"judge team" "other other";gap:16px;align-items:start}.panel-judge{grid-area:judge}.panel-team{grid-area:team}.panel-other{grid-area:other}@media(max-width:1100px){.panel-row{grid-template-columns:minmax(0,1fr)}.panel-attack,.panel-right{grid-column:1}}@media(max-width:700px){.panel-right{grid-template-columns:minmax(0,1fr);grid-template-areas:"judge" "team" "other"}}.panel-wide{margin-bottom:0;min-width:0}.panel-team .field-list[data-group=team]{grid-template-columns:minmax(0,1fr);gap:8px}.panel-team .field-row{grid-template-columns:max-content minmax(0,1fr)}.pf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px}.pf-inputs{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;min-width:0}.pf-inputs.is-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-inputs.is-pair .unit{display:none}.panel-other .pf-grid{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:860px){.pf-grid,.panel-other .pf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.panel-grid{display:grid;gap:12px}.pf-row{display:grid;grid-template-columns:max-content repeat(4,minmax(0,1fr));align-items:center;gap:8px 14px}.pf-elem{font-size:var(--fs-md);font-weight:600;color:var(--accent);white-space:nowrap}.pf-cell{display:grid;gap:4px;min-width:0}.pf-label{font-size:var(--fs-sm);line-height:1.4;color:var(--ink-soft);white-space:nowrap}@media(max-width:860px){.pf-row{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-row .pf-elem{grid-column:1 / -1}}.modal.opt-modal{width:min(1080px,100%);max-height:calc(100dvh - 40px)}.opt-body{display:flex;flex-direction:column;gap:14px;overflow:auto;color:var(--ink);font-size:var(--fs-md)}.opt-intro{margin:0;font-size:var(--fs-base);line-height:1.8;color:var(--ink-soft)}.opt-actions{display:flex;flex-wrap:wrap;gap:10px}.opt-run{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.opt-run:hover{background:var(--accent);border-color:var(--accent);filter:brightness(1.06)}.opt-run:disabled{opacity:.7;cursor:default}.opt-options{display:flex;flex-wrap:wrap;gap:10px 20px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--field)}.opt-check{display:flex;align-items:center;gap:8px;font-size:var(--fs-base);color:var(--ink-soft);cursor:pointer}.opt-check input[type=checkbox]{width:14px;height:14px;margin:0;flex:none;accent-color:var(--accent);cursor:pointer}.opt-limit-badge{margin-left:6px;padding:0 6px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:var(--fs-micro);line-height:16px;display:inline-block;vertical-align:1px}.opt-limit-active{margin:0;font-size:var(--fs-sm);color:var(--ink-soft)}.modal-mask.opt-limits-mask{z-index:75}.modal.opt-limits{width:min(600px,100%)}.opt-limits-body{display:grid;gap:12px}.opt-limits-body .opt-limits-hint{margin:0;padding:12px 14px;border:1px solid var(--accent-border);border-radius:8px;background:var(--field);font-size:var(--fs-sm);line-height:1.7;color:var(--ink-soft)}.opt-limit-card{display:grid;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card)}.opt-limit-title{display:flex;align-items:center;gap:8px;font-size:var(--fs-base);font-weight:600;color:var(--ink)}.opt-limit-title:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--accent);flex:none}.opt-limit-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.opt-limit-label{font-size:var(--fs-sm);color:var(--ink-soft)}.opt-limit-input{width:118px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);font-size:var(--fs-base);line-height:1.4}.opt-limit-input::placeholder{color:var(--ink-soft);opacity:.65}.opt-limit-input:focus{outline:none;border-color:var(--accent-border)}.opt-limit-unit{font-size:var(--fs-sm);color:var(--ink-soft)}.opt-limits-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px 18px;border-top:1px solid var(--line)}.btn.opt-limits-save{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.btn.opt-limits-save:hover{background:var(--accent);border-color:var(--accent);filter:brightness(1.06)}.opt-result{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.opt-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.opt-result-title{font-size:var(--fs-lg);font-weight:600;letter-spacing:.02em}.opt-result-tools{display:flex;align-items:center;gap:8px}.opt-nav{width:34px;height:30px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);font-size:var(--fs-lg);line-height:1;cursor:pointer}.opt-nav:disabled{opacity:.4;cursor:default}.opt-apply{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600;padding:6px 14px}.opt-result-desc{margin:0;font-size:var(--fs-base);color:var(--ink-soft)}.opt-metrics{display:flex;flex-wrap:wrap;gap:10px 28px;padding:10px 0 2px;border-top:1px solid var(--line-soft)}.opt-metric{display:flex;align-items:baseline;gap:8px}.opt-metric-label{font-size:var(--fs-base);color:var(--ink-soft)}.opt-metric-value{font-size:var(--fs-2xl);font-weight:600;font-variant-numeric:tabular-nums}.opt-metric-value.is-accent{color:var(--accent)}.opt-pieces{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.opt-piece{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--field);min-width:0}.opt-piece-head{display:flex;align-items:center;gap:8px;min-width:0}.opt-piece-figure{flex:none;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--chip);overflow:hidden}.opt-piece-img{max-width:100%;max-height:100%;object-fit:contain}.opt-piece-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.opt-piece-slot{font-size:var(--fs-sm);color:var(--ink-soft)}.opt-piece-name{font-size:var(--fs-base);font-weight:600;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.opt-piece-tag{margin-left:6px;padding:0 6px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:var(--fs-xs);font-weight:400}.opt-piece-stats{display:flex;flex-direction:column}.opt-stat{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:var(--fs-sm);line-height:1.7}.opt-stat-label{color:var(--ink-soft);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.opt-stat-value{flex:none;font-variant-numeric:tabular-nums}.opt-stat.is-low .opt-stat-label,.opt-stat.is-low .opt-stat-value{color:var(--bad)}.opt-piece-empty{font-size:var(--fs-sm);color:var(--ink-soft)}.opt-foot{margin:0;font-size:var(--fs-sm);color:var(--ink-soft)}@media(max-width:1000px){.opt-pieces{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.opt-pieces{grid-template-columns:minmax(0,1fr)}}.modal.stat-priority-modal{width:min(1000px,100%);max-height:calc(100dvh - 40px)}.stat-priority-body{display:flex;flex-direction:column;gap:12px;overflow:auto;color:var(--ink);font-size:var(--fs-md)}.stat-priority-intro{margin:0;font-size:var(--fs-base);line-height:1.8;color:var(--ink-soft)}.stat-priority-body .stat-priority-intro,.stat-priority-body .stat-priority-loading{margin:0}.stat-priority-intro b{color:var(--ink);font-weight:600}.stat-priority-rate{font-variant-numeric:tabular-nums;color:var(--accent)}.stat-priority-loading{margin:0;padding:22px;border:1px dashed var(--line);border-radius:10px;font-size:var(--fs-sm);color:var(--ink-soft);text-align:center}.stat-priority-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat-priority-card{display:flex;flex-direction:column;gap:8px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--field)}.stat-priority-title{padding:9px 12px;border-radius:8px;font-size:var(--fs-sm);font-weight:600;color:var(--ink)}.stat-priority-card.is-gain .stat-priority-title{background:var(--stat-gain-head);box-shadow:inset 0 0 0 1px var(--stat-gain-line)}.stat-priority-card.is-loss .stat-priority-title{background:var(--stat-loss-head);box-shadow:inset 0 0 0 1px var(--stat-loss-line)}.stat-priority-list{display:flex;flex-direction:column;gap:4px;max-height:min(58vh,560px);padding-right:4px;overflow-y:auto}.stat-priority-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:32px;padding:4px 10px;border-radius:7px;background:var(--track);overflow:hidden;font-size:var(--fs-sm)}.stat-priority-bar{position:absolute;inset:0 auto 0 0;border-radius:7px;pointer-events:none}.stat-priority-label,.stat-priority-value{position:relative;z-index:1}.stat-priority-label{color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-priority-value{flex:none;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}@media(max-width:760px){.stat-priority-cols{grid-template-columns:minmax(0,1fr)}}.diy-calc{display:flex;flex:1;flex-direction:column;height:100%;min-width:0;min-height:0}.diy-calc-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:minmax(0,1fr);gap:16px}.diy-main{min-height:0;display:grid;grid-template-rows:auto auto;overflow-y:auto;overscroll-behavior:contain;gap:16px}.diy-fields{display:flex;flex-direction:column;gap:12px}.diy-field-group{min-width:0}.diy-group-title{margin-bottom:8px;font-size:var(--fs-md);letter-spacing:.06em;color:var(--ink-soft)}.field-list.compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:0}.field-list.compact[data-group=config]{gap:10px}.heart-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.heart-card{position:relative;transform-origin:50% 50%;display:flex;flex-direction:column;min-width:0;border-radius:6px;transition:transform .28s cubic-bezier(.22,1,.36,1),filter .28s ease,box-shadow .28s ease,outline-color .28s ease}.heart-card:not(.is-locked){outline:2px solid var(--accent-border-strong);outline-offset:2px}@media(hover:hover)and (pointer:fine){.heart-card:hover{transform:translateY(-4px) scale(1.02);filter:drop-shadow(0 10px 18px rgba(0,0,0,.45));z-index:2}.heart-card:not(.is-locked):hover{outline-color:var(--accent)}.heart-card:hover .heart-art{filter:brightness(1.08) saturate(1.06)}.heart-card:hover .heart-name{background:var(--accent-soft);color:var(--accent)}}.heart-card:focus-within{outline:2px solid var(--accent-border-strong);outline-offset:2px}.heart-art{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none;pointer-events:none;transition:filter .28s ease}.heart-placeholder{display:block;aspect-ratio:112 / 191;border-radius:4px 4px 0 0;background:var(--chip)}.heart-name{display:block;padding:2px 4px;border-radius:0 0 4px 4px;background:var(--mask);color:#fff;font-size:var(--fs-sm);line-height:1.5;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .24s ease,color .24s ease}.heart-select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.heart-select:disabled,.heart-card.is-locked .heart-select{cursor:default}.diy-calc .field-row{grid-template-columns:max-content minmax(0,1fr);gap:10px;min-height:var(--control-h)}.diy-calc .field-row-pair{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.diy-calc .field-list.compact .field-row:not(.field-row-pair){grid-column:1 / -1}.diy-calc .field-row-pair .pair-field{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:10px;min-width:0}.diy-calc .field-list.compact .field-row:has(.field-static){grid-column:1 / -1}.diy-calc .field-static-pair{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.diy-calc .pair-row{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;border-bottom:1px solid var(--line-soft)}.diy-calc .pair-row.pair-last{border-bottom:none}.diy-calc .pair-cell{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:var(--control-h);min-width:0}.diy-calc .pair-cell:only-child{grid-column:1 / -1}.diy-calc .pair-row-sub .pair-cell{min-height:calc(var(--control-h) - 6px);padding-left:10px}.diy-calc .pair-row-sub .field-label{font-size:var(--fs-sm)}.diy-calc .pair-row-sub .field-label:before{content:"·";margin-right:6px}.diy-calc .pair-row-sub .field-static{font-size:var(--fs-sm)}.diy-calc .output-pairs{display:grid;grid-template-columns:minmax(0,1fr)}.diy-calc .field-label{flex:1 1 auto;min-width:0;white-space:normal;overflow-wrap:anywhere;font-size:var(--fs-md);line-height:1.5}.diy-calc .input,.diy-calc .select{height:var(--control-h);padding:0 10px;font-size:var(--fs-md);border-radius:7px}.diy-calc .field-control{gap:8px}.diy-calc .field-static:has(.panel-inline){color:var(--ink)}.diy-calc .panel-inline{font-size:var(--fs-md);color:var(--ink-soft);font-variant-numeric:tabular-nums}.diy-calc .field-static{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;padding:0;color:var(--ink-soft);font-size:var(--fs-md);line-height:1.5;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.diy-calc .field-empty{grid-column:1 / -1;padding:11px;font-size:var(--fs-md);color:var(--ink-soft)}.diy-calc .unit{width:18px;font-size:var(--fs-md)}.diy-calc{--diy-equip-fs: var(--fs-md);--diy-equip-row: calc(var(--control-h) - 4px);--diy-equip-gap: 10px;--diy-equip-list-gap: 18px}.diy-calc .panel{padding:13px 14px 14px;margin-bottom:0}.diy-calc .panel-title{margin-bottom:10px;padding-bottom:8px;font-size:var(--fs-md)}.loan-tune-actions{display:flex;align-items:center;gap:8px}.loan-tune-edit{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:4px 15px;font-size:var(--fs-md);line-height:1.2}.loan-tune-values{display:flex;flex-wrap:wrap;gap:4px 16px;font-variant-numeric:tabular-nums}.loan-tune-values.off{color:var(--ink-soft)}.loan-tune-stat{display:inline-flex;align-items:baseline;gap:6px}.loan-tune-stat i{font-style:normal;font-size:var(--fs-sm);color:var(--ink-soft)}.loan-tune-stat b{font-weight:600}.modal.loan-tune-modal{width:min(560px,100%)}.loan-tune-fields{display:grid;gap:14px}.loan-tune-modal-actions .loan-fill{margin-right:auto}.diy-equipment,#diy-equip-slots-target,#diy-equip-stats-target{--ink: var(--equip-text);--ink-soft: var(--equip-muted);--line: var(--equip-border);--line-soft: var(--equip-divider);--field: var(--equip-field);--field-disabled: var(--equip-accent-soft);--card: var(--equip-panel);--chip: var(--equip-chip);--accent: var(--equip-accent);--accent-strong: var(--equip-accent-strong);--accent-soft: var(--equip-accent-soft);--accent-hover: var(--equip-accent-hover);--accent-line: var(--equip-accent-line);--accent-border: var(--equip-accent-border);--accent-border-strong: var(--equip-accent-border-strong);--accent-ring: var(--equip-ring);--row-hover: var(--equip-row-hover);--on-accent: var(--equip-on-accent);--mask: var(--equip-mask);color:var(--equip-text)}.diy-equipment{display:flex;flex-direction:column;gap:14px;min-height:0;overflow:hidden;scrollbar-gutter:auto}.equip-toolbar{display:flex;align-items:center;justify-content:safe center;width:100%;gap:10px;flex-wrap:nowrap;min-width:0;padding:1px 0;--equip-toolbar-gold-hi: #f4dda4;--equip-toolbar-gold: #d9b069;--equip-toolbar-gold-lo: #a97f3c;--equip-toolbar-shine: rgba(255, 255, 255, .6);--accent-hover: var(--equip-toolbar-gold);--accent-border: var(--equip-toolbar-gold-lo)}.equip-toolbar-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.equip-filter-row{flex:0 1 auto;min-width:0;display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--field);box-shadow:inset 0 1px 2px #00000047,inset 0 -1px 0 var(--equip-inset-line);overflow:clip;scrollbar-width:none}.equip-filter-row::-webkit-scrollbar{display:none}.filter-btn{flex:none;position:relative;isolation:isolate;padding:6px 14px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--ink-soft);font-size:var(--diy-equip-fs, 15px);line-height:1.4;white-space:nowrap;transition:color .2s ease,background .2s ease,border-color .2s ease,box-shadow .24s ease}.filter-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;border-radius:inherit;background:transparent;transition:background .24s ease}.filter-btn:after{content:"";position:absolute;top:-60%;bottom:-60%;left:-60%;width:46%;z-index:-1;background:linear-gradient(100deg,transparent 0%,var(--equip-toolbar-shine) 50%,transparent 100%);opacity:0;transform:translate(0) skew(-18deg);pointer-events:none;transition:opacity .18s ease}.filter-btn:hover:after{opacity:.55;animation:equip-filter-shine .62s cubic-bezier(.4,0,.2,1)}@keyframes equip-filter-shine{0%{transform:translate(0) skew(-18deg)}to{transform:translate(420%) skew(-18deg)}}.filter-btn:hover{color:var(--ink-soft)}.filter-btn.active,.filter-btn.active:before{background:linear-gradient(160deg,var(--equip-toolbar-gold-hi) 0%,var(--equip-toolbar-gold) 52%,var(--equip-toolbar-gold-lo) 100%);border-color:var(--equip-toolbar-gold-lo);color:var(--equip-on-accent);font-weight:600;box-shadow:inset 0 1px #ffffff73,inset 0 -1px #00000029,0 6px 16px -10px #0000008c,0 10px 26px -16px var(--equip-toolbar-gold);text-shadow:0 1px 0 rgba(255,255,255,.22);animation:equip-filter-pop .34s cubic-bezier(.34,1.56,.64,1) both}@keyframes equip-filter-pop{0%{scale:.94}to{scale:1}}.equip-add{flex:0 0 auto;margin-left:0;position:relative;overflow:hidden;scrollbar-gutter:auto;padding:8px 14px;font-size:var(--fs-md);border:1px solid var(--equip-toolbar-gold-lo);border-radius:999px;background-color:var(--equip-toolbar-gold);background-image:linear-gradient(160deg,var(--equip-toolbar-gold-hi) 0%,var(--equip-toolbar-gold) 52%,var(--equip-toolbar-gold-lo) 100%);color:var(--equip-on-accent);font-weight:600;box-shadow:0 0 0 1px var(--equip-toolbar-gold-lo),inset 0 1px #ffffff73,inset 0 -1px #00000029,0 10px 22px -14px var(--equip-toolbar-gold);text-shadow:0 1px 0 rgba(255,255,255,.22)}.equip-toolbar .btn.equip-add:hover{background-color:var(--equip-toolbar-gold);background-image:linear-gradient(160deg,var(--equip-toolbar-gold-hi) 0%,var(--equip-toolbar-gold) 52%,var(--equip-toolbar-gold-lo) 100%);border-color:var(--equip-toolbar-gold-lo);color:var(--equip-on-accent)}.equip-add:after{content:"";position:absolute;top:-60%;bottom:-60%;left:-60%;width:46%;z-index:0;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.45) 50%,transparent 100%);opacity:0;pointer-events:none;transition:opacity .18s ease}.equip-add:hover:after{opacity:1;animation:equip-filter-shine .7s cubic-bezier(.4,0,.2,1)}@media(prefers-reduced-motion:reduce){.filter-btn,.filter-btn:before,.filter-btn:after,.equip-add,.equip-add:after{animation:none!important;transition:none}}.equip-slots{flex:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1fr);gap:9px;margin:12px 0}.equip-slot-grid{grid-column:1 / 5;grid-row:1 / 3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.equip-bow-slot{grid-column:5;grid-row:1}.equip-suit-slot{grid-column:5;grid-row:2}.diy-slot-card .equip-slots{margin:0}.diy-group-total{font-size:var(--fs-base);color:var(--ink-soft);font-variant-numeric:tabular-nums}.equip-stat-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px;font-size:var(--fs-base)}.equip-stat-count{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0;padding:4px 8px;border:1px solid var(--line-soft);border-radius:8px;background:var(--field)}.equip-stat-count-name{font-size:var(--fs-base);overflow-wrap:anywhere}.equip-stat-count-num{flex:none;font-size:var(--fs-base);color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.equip-slot-content{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;min-width:0}.equip-slot-figure{flex:1 1 auto;width:100%;min-height:0;display:flex;align-items:center;justify-content:center;padding:0;overflow:visible}.equip-slot-img{width:100%;height:100%;object-fit:cover;border-radius:13px 13px 0 0;-webkit-user-select:none;user-select:none;pointer-events:none;transition:filter .35s ease}.equip-slot-figure.is-gold,.equip-slot-figure.is-purple{background:transparent}.equip-slot{position:relative;transform-origin:50% 50%;display:block;aspect-ratio:4 / 5;min-width:0;padding:0;overflow:hidden;scrollbar-gutter:auto;border:1px solid var(--line);border-radius:14px;background:var(--equip-slot-surface);text-align:center;line-height:1.35;outline:none;box-shadow:var(--equip-slot-shadow);isolation:isolate;will-change:transform,translate,scale;transition:translate .24s cubic-bezier(.2,.8,.2,1),scale .24s cubic-bezier(.2,.8,.2,1),transform .24s cubic-bezier(.2,.8,.2,1),border-color .24s ease,background .24s ease,box-shadow .24s ease,filter .28s ease}.equip-slot:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(180deg,var(--equip-inset-line) 0%,transparent 42%);opacity:.55;pointer-events:none}.equip-slot:hover{z-index:2;translate:0 -4px!important;scale:1.02!important;border-color:var(--accent-border);background:var(--equip-slot-surface);filter:drop-shadow(0 10px 18px rgba(0,0,0,.45));box-shadow:var(--equip-slot-shadow),0 16px 30px -20px var(--accent-ring)}.equip-slot:not(.worn){box-shadow:var(--shadow)}.equip-slot:not(.worn):before{display:none}.equip-slot:not(.worn):not(.equip-slot-card-select):hover{--btn-weight: 0em;border-color:var(--line);translate:0 0!important;scale:1!important;filter:none;box-shadow:var(--shadow)}.equip-slot:hover .equip-slot-img{filter:brightness(1.08) saturate(1.06)}.equip-slot:hover .equip-slot-item{background:var(--accent-soft);color:var(--accent)}.equip-slot:active{translate:0 0!important;scale:.985!important}.equip-slot.worn{background:var(--equip-slot-surface)}.equip-slot-item{flex:none;display:block;width:100%;padding:4px 6px;border-top:1px solid var(--line-soft);background:var(--chip);font-size:var(--fs-sm);line-height:1.3;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .24s ease,color .24s ease}.equip-slot-empty{position:relative;flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:6px;font-size:var(--fs-sm);line-height:1.4;letter-spacing:.04em;color:var(--ink-soft);overflow-wrap:anywhere}.equip-slot-empty:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px dashed var(--line);border-radius:10px;opacity:.8;pointer-events:none}.equip-slot-item{font-weight:600;color:var(--ink)}.equip-slot-card-select{position:relative;cursor:pointer;isolation:isolate}.equip-slot-card-value{display:flex;align-items:center;justify-content:center}.equip-slot-card-text{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;height:100%;min-width:0;padding:8px 12px}.equip-suit-slot{background:var(--equip-surface-raised)}.equip-slot-card-caption{font-size:var(--fs-xs);letter-spacing:.08em;color:var(--ink-soft)}.equip-slot-card-text-value{max-width:100%;font-size:var(--fs-md);font-weight:600;line-height:1.3;color:var(--ink);text-shadow:0 1px 0 var(--equip-inset-line);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}.equip-slot-card-native-select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;outline:none;cursor:pointer}.equip-list-wrap{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding-right:6px}.equip-list{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--diy-equip-list-gap, 18px);align-content:start;padding:16px 14px 20px}.equip-list-item{position:relative;min-width:0}@media(max-width:1450px){.equip-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:980px){.equip-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.equip-list{grid-template-columns:minmax(0,1fr)}}.equip-card{position:relative;transform-origin:50% 50%;min-width:0;padding:13px 13px 12px;border:1px solid var(--line);border-radius:16px;background:var(--equip-surface);background-clip:padding-box;font-size:var(--diy-equip-fs, 15px);overflow:hidden;scrollbar-gutter:auto;cursor:pointer;isolation:isolate;box-shadow:var(--equip-shadow);transition:border-color .24s ease,background .24s ease,box-shadow .24s ease,opacity .24s ease}.equip-card:before{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;z-index:0;border-radius:15px;opacity:0;background:radial-gradient(circle at var(--ptr-x, 50%) var(--ptr-y, 50%),var(--equip-sheen) 0%,transparent 48%);pointer-events:none;transition:opacity .3s ease}.equip-card:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;z-index:0;border-radius:15px;background:radial-gradient(ellipse 65% 32% at 50% -2%,var(--equip-edge-glow) 0%,transparent 70%),radial-gradient(ellipse 65% 32% at 50% 102%,var(--equip-edge-glow) 0%,transparent 70%),radial-gradient(ellipse 34% 80% at -2% 50%,var(--equip-edge-glow) 0%,transparent 70%),radial-gradient(ellipse 34% 80% at 102% 50%,var(--equip-edge-glow) 0%,transparent 70%),radial-gradient(circle at 88% 8%,var(--equip-card-aura, transparent) 0%,transparent 24%);box-shadow:inset 0 0 18px -12px var(--equip-edge-glow-strong);opacity:var(--equip-idle-edge-opacity);pointer-events:none;transition:opacity .3s ease,box-shadow .3s ease}.equip-card>*{position:relative;z-index:1}.equip-card.quality-gold{--equip-card-aura: var(--equip-glow-gold)}.equip-card.quality-purple{--equip-card-aura: var(--equip-glow-purple)}.equip-card:hover,.equip-card.is-pointer-active{border-color:var(--accent-border);box-shadow:var(--equip-shadow-hover)}.equip-card.is-pointer-active:before{opacity:1}.equip-card:hover:after,.equip-card.is-pointer-active:after{box-shadow:inset 0 0 24px -12px var(--equip-edge-glow-strong)}.equip-card:focus-visible{outline:2px solid var(--accent-ring);outline-offset:3px}.equip-card.worn{background:var(--equip-surface);border-color:var(--accent-border-strong)}.equip-card:not(.worn){box-shadow:var(--shadow)}.equip-card:not(.worn):after{display:none}.equip-card:not(.worn):hover,.equip-card:not(.worn).is-pointer-active{border-color:var(--line);box-shadow:var(--shadow)}.equip-card:not(.worn):hover:after,.equip-card:not(.worn).is-pointer-active:after{display:none}.equip-card.dim{opacity:.52;filter:saturate(.72)}.equip-card.disabled:not(.worn){cursor:not-allowed}.equip-card-icon{box-sizing:border-box;width:var(--control-h);height:var(--control-h);padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink-soft);box-shadow:inset 0 1px 0 var(--equip-inset-line);transition:transform .18s ease,color .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.equip-card-icon svg{width:16px;height:16px;display:block;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.equip-card-icon:hover{transform:translateY(-1px);border-color:var(--accent-border);background:var(--accent-hover);color:var(--ink);box-shadow:inset 0 1px 0 var(--equip-inset-line),0 8px 16px -14px var(--accent-ring)}.equip-card-icon:active{transform:translateY(0) scale(.94)}.equip-card-icon:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.equip-card-remove{margin-right:auto}.equip-card-drag{cursor:grab;touch-action:none}.equip-card-drag:active{cursor:grabbing}.equip-card-drag svg{fill:currentColor;stroke:none}.equip-card-drag:hover{color:var(--accent);border-color:var(--accent-border);background:var(--accent-hover)}.equip-card.is-dragging{opacity:.55;border-color:var(--accent-border)}.equip-card.equip-drag-ghost{position:fixed;z-index:1500;margin:0;pointer-events:none;opacity:.96;transition:none;box-shadow:0 2px 6px #0000003d,0 26px 48px -20px #0000008c;will-change:transform}.equip-card-remove:hover{color:var(--bad);border-color:var(--bad)}.equip-card-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.equip-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.equip-card-figure{flex:none;width:58px;height:58px;display:flex;align-items:center;justify-content:center;overflow:visible;box-shadow:0 8px 20px -16px #26221d7a}.equip-card-head.is-gold .equip-card-figure,.equip-card-head.is-purple .equip-card-figure{background:transparent;box-shadow:none}.equip-card-img{width:100%;height:100%;object-fit:cover;border-radius:13px;-webkit-user-select:none;user-select:none;pointer-events:none;transition:filter .4s ease}.equip-card:hover .equip-card-img{filter:saturate(1.06)}.equip-card-name{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.4;font-size:calc(var(--diy-equip-fs, 15px) + 1px);font-weight:600;letter-spacing:.005em}.equip-card-slot{font-size:var(--fs-md);color:var(--ink-soft)}.equip-badge{flex:none;padding:0 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:var(--fs-sm);line-height:22px;box-shadow:inset 0 0 0 1px var(--accent-line)}.equip-badge-pending{background:var(--chip);color:var(--ink-soft)}.equip-innate{display:grid;margin:0 0 8px;padding:0;background:transparent}.equip-innate-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:baseline;gap:10px;min-width:0}.equip-innate-cell{display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;gap:6px;min-width:0;white-space:nowrap}.equip-innate-cell.is-single{grid-column:1 / -1}.equip-innate-name{min-width:0;max-width:100%;color:var(--ink-soft);font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.equip-innate-value{flex:none;font-size:var(--fs-md);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.equip-stat{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:26px;min-width:0;margin:0 -6px;padding:2px 6px;border-radius:7px}.equip-stat-name{flex:1 1 auto;min-width:0;color:var(--ink-soft);white-space:normal;overflow-wrap:anywhere;line-height:1.4}.equip-stat-value{flex:0 0 auto;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}.equip-stat-main{font-weight:600}.equip-stat-sub .equip-stat-name:before{content:"·";margin-right:6px}.equip-stat-main .equip-stat-name{color:var(--ink)}.equip-stat.is-gold .equip-stat-name,.equip-stat.is-gold .equip-stat-value{color:var(--equip-gold-fg)}.equip-stat.is-purple .equip-stat-name,.equip-stat.is-purple .equip-stat-value{color:var(--equip-purple-fg)}.equip-stat-empty{color:var(--ink-soft);opacity:.45}.equip-stat-tune{margin-top:3px;padding-top:5px;border-top:1px solid var(--line-soft)}.equip-card-meta{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.equip-card-pct{padding:0 9px;border:1px solid var(--equip-gold-line);border-radius:999px;background:var(--field);color:var(--equip-gold-fg);font-size:var(--fs-sm);line-height:20px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;box-shadow:inset 0 1px 0 var(--equip-inset-line)}.equip-card-head.is-purple .equip-card-pct{border-color:var(--equip-purple-line);color:var(--equip-purple-fg)}.equip-card-foot{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:11px;padding-top:10px;border-top:1px solid var(--line-soft)}.equip-editor-mask{background:var(--mask);-webkit-backdrop-filter:blur(9px) saturate(1.08);backdrop-filter:blur(9px) saturate(1.08);animation:equip-mask-in .24s ease both}.modal.equip-editor{flex:0 1 auto;width:min(1180px,100%);min-width:0;overflow:hidden;border-radius:20px;background:var(--equip-surface-raised);box-shadow:inset 0 1px 0 var(--equip-inset-line),0 32px 90px -30px #1c191594}.equip-editor .modal-head{padding:16px 20px;border-bottom-color:var(--line-soft);background:linear-gradient(180deg,var(--card) 0%,var(--equip-surface-raised) 100%)}.equip-editor .modal-head h3{display:flex;align-items:center;gap:10px;letter-spacing:.02em}.equip-editor .modal-head h3:before{content:"";width:4px;height:18px;border-radius:999px;background:linear-gradient(180deg,var(--accent),var(--accent-border));box-shadow:0 0 14px var(--accent-ring)}.equip-editor .modal-close{width:32px;height:32px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:9px;background:transparent;transition:transform .18s ease,color .18s ease,border-color .18s ease,background .18s ease}.equip-editor .modal-close:hover{transform:rotate(4deg) scale(1.04);border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.equip-editor .modal-body{max-height:min(78vh,760px);overflow:auto;padding:16px 20px 20px;line-height:1.55}.equip-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.62fr);gap:16px;align-items:start}.equip-editor-layout>.equip-form{min-width:0}@media(max-width:1040px){.equip-editor-layout{grid-template-columns:minmax(0,1fr)}.modal.equip-editor{width:min(720px,100%)}}.equip-form-top{display:flex;gap:14px;align-items:center;padding:12px;border:1px solid var(--line-soft);border-radius:14px;background:var(--equip-surface);box-shadow:inset 0 1px 0 var(--equip-inset-line)}.equip-form-top.is-open{position:relative;z-index:3}.equip-editor-aside{flex:none;width:124px;aspect-ratio:1;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:6px;border:1px solid var(--line-soft);border-radius:15px;background:var(--card);box-shadow:inset 0 1px 0 var(--equip-inset-line),0 12px 26px -20px #26221d66}.equip-editor-aside.is-gold{background:radial-gradient(circle at 50% 100%,var(--equip-glow-gold),transparent 58%),var(--card)}.equip-editor-aside.is-purple{background:radial-gradient(circle at 50% 100%,var(--equip-glow-purple),transparent 58%),var(--card)}.equip-editor-aside-placeholder{visibility:hidden}.equip-form-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}.equip-form-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.equip-form-split.is-weapon{grid-template-columns:repeat(3,minmax(0,1fr))}.equip-form-split.is-weapon .equip-form-row{grid-template-columns:40px minmax(0,1fr);gap:8px}.equip-editor-figure{display:block;width:100%;height:100%;object-fit:contain;border-radius:12px;-webkit-user-select:none;user-select:none;pointer-events:none}.equip-form{display:flex;flex-direction:column;gap:14px}.equip-form-row{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:14px;font-size:var(--fs-md)}.equip-form-block{display:flex;flex-direction:column;gap:10px;padding:11px 12px 12px;border:1px solid var(--line-soft);border-radius:13px;background:var(--field)}.equip-block-title{display:flex;align-items:center;gap:8px;font-size:var(--fs-md);font-weight:600;letter-spacing:.04em;color:var(--ink)}.equip-block-title:before{content:"";width:3px;height:14px;flex:none;border-radius:999px;background:var(--accent);opacity:.72}.equip-stat-line{display:grid;grid-template-columns:minmax(0,1fr) 108px 22px 54px 46px;align-items:center;gap:10px}.equip-stat-line .select,.equip-stat-line .input{height:var(--control-h);padding:4px 8px;font-size:var(--fs-md);border-radius:9px;background:var(--card);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.equip-stat-line .select:focus,.equip-stat-line .input:focus{border-color:var(--accent-border-strong);box-shadow:0 0 0 3px var(--accent-ring)}.equip-select-wrap{position:relative;min-width:0}.equip-select-wrap .select{width:100%;min-width:0;padding-right:10px}.equip-select-wrap .ui-select-value{padding-right:12px}.select-clear{position:absolute;right:28px;top:50%;transform:translateY(-50%);width:16px;height:16px;padding:0;border:1px solid var(--accent-line);border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:var(--fs-xs);line-height:1;display:inline-flex;align-items:center;justify-content:center;visibility:hidden;opacity:0;transition:opacity .15s ease,transform .15s ease,background .15s ease,border-color .15s ease}.equip-select-wrap:hover .select-clear,.equip-select-wrap:focus-within .select-clear{visibility:visible;opacity:1}.select-clear:hover{transform:translateY(-50%) scale(1.08);background:var(--accent-hover);border-color:var(--accent-border)}.select-clear.is-empty{display:none}.equip-unit{font-size:var(--fs-md);color:var(--ink-soft)}.equip-stat-pct{font-size:var(--fs-md);color:var(--ink-soft);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.equip-stat-fill{height:32px;padding:0 6px;font-size:var(--fs-sm);white-space:nowrap}.equip-stat-fill:disabled{opacity:.45;cursor:not-allowed}.equip-stat-fill:disabled:hover{background:var(--card);border-color:var(--line)}.equip-flag-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.equip-flag{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 10px;border:1px solid var(--line-soft);border-radius:8px;background:var(--card);cursor:pointer;color:var(--ink);font-size:var(--fs-md);line-height:1.2;transition:border-color .18s ease,background .18s ease,transform .18s ease}.equip-flag:hover{transform:translateY(-1px);border-color:var(--accent-line);background:var(--accent-hover)}.equip-flag input,.equip-school-option input{flex:none;width:14px;height:14px;margin:0;accent-color:var(--accent)}.equip-fill-btn{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:4px 14px;font-size:var(--fs-md);line-height:1.2;border-radius:8px}.equip-fill-btn:disabled{opacity:.55;cursor:not-allowed}.equip-fill-btn:disabled:hover{background:var(--card);border-color:var(--line)}.equip-stat-line .input:disabled{background:var(--accent-soft);color:var(--ink-soft);cursor:not-allowed}.equip-school-select{position:relative;flex:none;font-size:var(--fs-md)}.equip-form-block.is-open{position:relative;z-index:3;background:var(--equip-surface-raised)}.equip-school-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;height:var(--control-h);padding:4px 10px;font-size:var(--fs-md);border:1px solid var(--line);border-radius:9px;background:var(--card);cursor:pointer;list-style:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.equip-flag-row .equip-school-trigger{min-width:108px;height:32px;min-height:32px;padding:4px 10px;font-size:var(--fs-md);white-space:nowrap}.equip-school-trigger:hover,.equip-school-select[open] .equip-school-trigger{border-color:var(--accent-border);background:var(--accent-hover);box-shadow:0 0 0 3px var(--accent-ring)}.equip-school-trigger::-webkit-details-marker{display:none}.equip-school-arrow{flex:none;width:7px;height:7px;margin-right:2px;border-right:1.5px solid var(--ink-soft);border-bottom:1.5px solid var(--ink-soft);transform:translateY(-2px) rotate(45deg);transform-origin:50% 50%;transition:transform .24s cubic-bezier(.2,.8,.2,1),border-color .18s ease}.equip-school-trigger:hover .equip-school-arrow{border-color:var(--accent)}.equip-school-select[open] .equip-school-arrow{border-color:var(--accent);transform:translateY(2px) rotate(225deg)}.equip-school-panel{position:absolute;z-index:2;top:calc(100% + 4px);right:0;left:auto;width:min(440px,calc(100vw - 40px));max-height:260px;overflow:auto;display:flex;align-items:stretch;gap:6px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--equip-surface-raised);box-shadow:inset 0 1px 0 var(--equip-inset-line),0 20px 46px -22px #26221d7a;animation:equip-panel-in .18s ease both}.equip-school-column{display:flex;flex:1 1 0;flex-direction:column;min-width:0;gap:1px}.equip-school-column-head{padding:3px 10px 5px;margin-bottom:3px;border-bottom:1px solid var(--line);color:var(--ink-soft);font-size:var(--fs-sm);letter-spacing:.08em;white-space:nowrap}.equip-school-option{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:7px;color:var(--ink);cursor:pointer;transition:background .16s ease}.equip-school-option:hover{background:var(--accent-hover)}.equip-editor-foot{display:flex;justify-content:flex-end;gap:12px;padding:12px 20px 18px;border-top:1px solid var(--line-soft);background:linear-gradient(180deg,transparent 0%,var(--equip-surface-raised) 100%)}.equip-editor-foot .btn{padding:9px 18px;font-size:var(--fs-md);border-radius:9px;transition:transform .18s ease,background .18s ease,border-color .18s ease}.equip-editor-foot .btn:hover{transform:translateY(-1px)}.equip-editor-foot .btn:active{transform:translateY(0) scale(.98)}.equip-save{background:linear-gradient(135deg,var(--card) 0%,var(--accent-soft) 100%);border-color:var(--accent-border);color:var(--accent);font-weight:600;box-shadow:inset 0 1px 0 var(--equip-inset-line),0 10px 22px -16px var(--accent-ring)}.equip-save:hover{background:var(--accent-soft);border-color:var(--accent-border-strong)}@keyframes equip-mask-in{0%{opacity:0}to{opacity:1}}@keyframes equip-panel-in{0%{opacity:0;transform:translateY(-4px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:640px){.equip-editor-mask{padding:0}.equip-editor-mask .modal.equip-editor{margin:10px}.modal.equip-editor{width:min(720px,100%);max-height:min(84dvh,calc(100dvh - 20px));border-radius:16px}.equip-editor .modal-body{padding:12px}.equip-editor-layout{grid-template-columns:minmax(0,1fr)}.equip-form-top{align-items:stretch}.equip-editor-aside{width:96px}.equip-form-split,.equip-form-split.is-weapon{grid-template-columns:minmax(0,1fr)}.equip-stat-line{grid-template-columns:minmax(0,1fr) 92px 20px 48px 44px;gap:7px}}@media(prefers-reduced-motion:reduce){.equip-editor-mask,.equip-school-panel{animation:none}.filter-btn,.equip-add,.equip-slot,.equip-card,.equip-card-icon,.equip-stat-count,.equip-editor .modal-close,.equip-flag,.equip-school-trigger,.equip-editor-foot .btn{transition:none}.filter-btn:hover,.equip-add:hover,.equip-slot:hover,.equip-slot.ui-button:not(:disabled):hover,.equip-card-icon:hover,.equip-flag:hover,.equip-editor-foot .btn:hover{transform:none;translate:none!important;scale:none!important;filter:none}.equip-editor .modal-close:hover{transform:none}.equip-card:before,.equip-card:after{transition:none}}.modal.equip-ocr{width:min(820px,100%)}.equip-ocr-body{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:18px;align-items:start}.equip-ocr-left,.equip-ocr-right{display:grid;gap:10px;min-width:0}.equip-ocr-drop{position:relative;display:grid;place-items:center;min-height:250px;padding:10px;border:1px dashed var(--line);border-radius:12px;background:var(--field);cursor:pointer;overflow:hidden;transition:border-color .2s ease,background .2s ease}.equip-ocr-drop:hover,.equip-ocr-drop.is-drag{border-color:var(--accent-border);background:var(--accent-hover)}.equip-ocr-drop.has-image{border-style:solid}.equip-ocr-drop.is-disabled{cursor:not-allowed;opacity:.55}.equip-ocr-drop.is-disabled:hover{border-color:var(--line);background:var(--field)}.equip-ocr-preview{display:block;max-width:100%;max-height:300px;object-fit:contain;border-radius:8px;-webkit-user-select:none;user-select:none}.equip-ocr-placeholder{display:grid;gap:6px;justify-items:center;text-align:center;padding:16px}.equip-ocr-placeholder-title{color:var(--ink);font-size:var(--fs-lg);font-weight:600}.equip-ocr-placeholder-hint,.equip-ocr-tip{color:var(--ink-soft);font-size:var(--fs-sm);line-height:1.6}.equip-ocr-tip{margin:0}.equip-ocr-file{display:none}.equip-ocr-actions{display:flex;gap:8px}.equip-ocr-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.equip-ocr-field{display:grid;gap:5px;min-width:0;color:var(--ink-soft);font-size:var(--fs-sm)}.equip-ocr-progress{display:grid;gap:6px}.equip-ocr-progress-head{display:flex;justify-content:space-between;gap:8px;color:var(--ink-soft);font-size:var(--fs-sm)}.equip-ocr-progress-track{height:5px;border-radius:999px;background:var(--field-disabled);overflow:hidden}.equip-ocr-progress-bar{height:100%;border-radius:inherit;background:var(--accent);transition:width .25s ease}.equip-ocr-error{margin:0;color:var(--danger, #c14a4a);font-size:var(--fs-sm);line-height:1.6}.equip-ocr-result{display:grid;gap:8px}.equip-ocr-result-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;color:var(--ink);font-weight:600}.equip-ocr-confidence{color:var(--ink-soft);font-size:var(--fs-sm);font-weight:400}.equip-ocr-parsed{display:grid;border:1px solid var(--line);border-radius:10px;overflow:hidden}.equip-ocr-marks{display:flex;flex-wrap:wrap;gap:6px}.equip-ocr-mark{padding:2px 8px;border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);font-size:var(--fs-sm);line-height:1.6}.equip-ocr-mark.is-active{border-color:var(--accent);color:var(--accent)}.equip-ocr-parsed-row{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:8px;align-items:baseline;padding:6px 10px;font-size:var(--fs-sm)}.equip-ocr-parsed-row+.equip-ocr-parsed-row{border-top:1px solid var(--line)}.equip-ocr-parsed-kind{color:var(--ink-soft)}.equip-ocr-parsed-name{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.equip-ocr-parsed-value{color:var(--accent);font-variant-numeric:tabular-nums}.equip-ocr-crops{display:grid;gap:6px;max-height:240px;padding:8px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--field)}.equip-ocr-crops-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 8px;color:var(--ink);font-size:var(--fs-sm);font-weight:600}.equip-ocr-crops-hint{color:var(--ink-soft);font-size:var(--fs-xs);font-weight:400}.equip-ocr-crop-row{display:grid;grid-template-columns:18px minmax(0,1fr);gap:6px;align-items:start}.equip-ocr-crop-index{color:var(--ink-soft);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;line-height:1.6;text-align:right}.equip-ocr-crop-body{display:grid;gap:4px;min-width:0}.equip-ocr-crop-line{display:block;max-width:100%;max-height:52px;width:auto;height:auto;border:1px solid var(--line);border-radius:4px}.equip-ocr-crop-line.is-meta{max-height:140px}.equip-ocr-crop-tag{justify-self:start;padding:1px 6px;border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);font-size:var(--fs-xs);line-height:1.5}.equip-ocr-crop-parts{display:flex;flex-wrap:wrap;gap:4px 6px}.equip-ocr-crop-part{display:grid;gap:2px;margin:0;min-width:0}.equip-ocr-crop-part img{display:block;max-width:100%;max-height:40px;width:auto;height:auto;border:1px solid var(--line);border-radius:4px}.equip-ocr-crop-part figcaption{color:var(--ink-soft);font-size:var(--fs-xs);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.equip-ocr-raw-details summary{color:var(--ink-soft);font-size:var(--fs-sm);cursor:pointer}.equip-ocr-raw{max-height:170px;margin:6px 0 0;padding:10px 12px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--field);color:var(--ink);font-size:var(--fs-sm);line-height:1.65;white-space:pre-wrap;word-break:break-word;-webkit-user-select:text;user-select:text}.equip-ocr-empty{padding:10px;border:1px dashed var(--line);border-radius:10px;color:var(--ink-soft);font-size:var(--fs-sm);text-align:center}.equip-ocr-empty-large{padding:28px 16px}.equip-ocr-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--line)}.equip-ocr-apply:not(:disabled){border-color:var(--accent-border-strong);background:var(--accent-soft);color:var(--accent);font-weight:600}.equip-ocr-embed{display:flex;min-width:0}.equip-ocr-panel{display:flex;flex-direction:column;width:100%;min-width:0;border:1px solid var(--line-soft);border-radius:14px;background:var(--equip-surface);box-shadow:inset 0 1px 0 var(--equip-inset-line);overflow:hidden}.equip-ocr-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line-soft);background:var(--card)}.equip-ocr-heading{display:flex;align-items:center;gap:8px;min-width:0}.equip-ocr-help-trigger{width:22px;height:22px;flex:none;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--line);border-radius:999px;background:var(--field);color:var(--ink-soft);font-size:12px;font-weight:600;line-height:1;cursor:help;transition:color .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.equip-ocr-help-trigger:hover,.equip-ocr-help-trigger:focus-visible{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.equip-ocr-help-popover{position:fixed;z-index:4000;max-height:calc(100dvh - 24px);padding:14px;overflow:auto;border:1px solid var(--line);border-radius:14px;background:var(--equip-surface-raised, var(--card));box-shadow:inset 0 1px 0 var(--equip-inset-line, transparent),0 24px 60px -18px #12100d8c;color:var(--ink-soft);font-size:var(--fs-sm);line-height:1.55;animation:equip-ocr-help-in .18s ease both}.equip-ocr-help-title{margin:0 0 10px;color:var(--ink);font-size:var(--fs-md);font-weight:600;letter-spacing:.02em}.equip-ocr-help-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:12px}.equip-ocr-help-grid figure{min-width:0;margin:0}.equip-ocr-help-figure{height:168px;display:flex;align-items:center;justify-content:center;padding:6px;border:1px solid var(--line-soft);border-radius:10px;background:var(--field)}.equip-ocr-help-figure img{display:block;max-width:100%;max-height:100%;border-radius:6px;object-fit:contain}.equip-ocr-help-grid figcaption{margin-top:6px;color:var(--ink-soft);font-size:var(--fs-xs);line-height:1.5}.equip-ocr-help-grid figcaption strong{display:block;margin-bottom:1px;color:var(--ink);font-weight:600}.equip-ocr-help-note{margin:10px 0 0;padding-top:9px;border-top:1px solid var(--line-soft);color:var(--ink-soft);font-size:var(--fs-xs)}@keyframes equip-ocr-help-in{0%{opacity:0;transform:translateY(-4px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.equip-ocr-panel-title h4{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--fs-lg);font-weight:600;letter-spacing:.04em;color:var(--ink)}.equip-ocr-panel-title h4:before{content:"";width:3px;height:14px;flex:none;border-radius:999px;background:var(--accent);opacity:.72}.equip-ocr-panel .equip-ocr-panel-title p{margin:3px 0 0 11px;color:var(--ink-soft);font-size:var(--fs-sm);line-height:1.5}.equip-ocr-panel-body{display:grid;gap:10px;padding:12px;min-width:0;font-size:var(--fs-md);color:var(--ink-soft)}.equip-ocr-panel-body .equip-ocr-drop{min-height:170px}.equip-ocr-panel-body .equip-ocr-tip{margin:0}.equip-ocr-panel-body .equip-ocr-preview{max-height:220px}.equip-ocr-panel-body .equip-ocr-empty-large{padding:18px 12px}.equip-ocr-compact-status{margin:0;padding:10px 12px;border:1px solid var(--line-soft);border-radius:10px;background:var(--field);color:var(--ink-soft);font-size:var(--fs-sm);text-align:center}.equip-ocr-compact-status.is-done{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.equip-ocr-panel-body .equip-ocr-crop-part img{max-height:34px}.equip-ocr-panel-foot{display:flex;justify-content:flex-end;gap:8px;padding:10px 12px 12px;border-top:1px solid var(--line-soft)}.equip-ocr-panel-foot .btn{padding:8px 14px;font-size:var(--fs-md);border-radius:9px}@media(max-width:720px){.equip-ocr-help-grid{grid-template-columns:minmax(0,1fr)}.equip-ocr-help-figure{height:140px}.equip-ocr-body{grid-template-columns:minmax(0,1fr)}.equip-ocr-drop{min-height:180px}.equip-ocr-fields{grid-template-columns:minmax(0,1fr)}}.diy-calc .diy-result-stack{display:flex;flex-direction:column;gap:12px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 8px 0 12px;margin:-12px 0 0 -12px}.diy-calc .diy-panel-card{flex:none;display:flex;flex-direction:column;padding:0;margin-bottom:0;overflow:visible}.diy-calc .diy-panel-card .tab-body{flex:none;overflow:visible;padding-top:8px}.diy-calc .diy-rate-card{flex:none;display:block;width:100%;box-sizing:border-box;margin:0;color:inherit;font:inherit;text-align:left;text-decoration:none;transition:border-color .15s ease,background .15s ease}.diy-rate-tilt{position:relative;transform-style:preserve-3d;transform-origin:50% 50%;will-change:transform}.diy-calc button.diy-rate-card:hover{border-color:var(--accent-border);background:var(--accent-hover)}.diy-rate-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:4px}.diy-rate-title{font-size:var(--fs-md);font-weight:600;letter-spacing:.06em;color:var(--ink)}.diy-calc .diy-panel-card .diy-card-title{margin:0;padding:var(--pad-page, 14px) var(--pad-page, 14px) 0;font-size:var(--fs-md);font-weight:600;letter-spacing:.06em;color:var(--ink)}.diy-rate-name{font-size:var(--fs-sm);color:var(--ink-soft);white-space:nowrap}.diy-rate-value{margin-top:2px;font-size:var(--fs-display);font-weight:700;line-height:1.15;color:var(--accent);font-variant-numeric:tabular-nums}.diy-rate-value small{margin-left:2px;font-size:var(--fs-xl);font-weight:500}.diy-rate-pending{font-size:var(--fs-3xl);color:var(--ink-soft)}.diy-rate-note{margin-top:4px;font-size:var(--fs-sm);line-height:1.5;color:var(--ink-soft)}.diy-rate-stats{display:flex;align-items:baseline;gap:4px 18px;margin-top:8px}.diy-rate-stat{display:flex;align-items:baseline;gap:6px}.diy-rate-stat-label{font-size:var(--fs-sm);color:var(--ink-soft)}.diy-rate-stat-value{font-size:var(--fs-md);font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.tab-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:14px}.diy-calc .attr-table{width:100%;border-collapse:collapse;font-size:var(--fs-md)}.diy-calc .attr-table th{padding:8px 10px;font-size:var(--fs-base);font-weight:500;color:var(--ink-soft);text-align:left;border-bottom:1px solid var(--line)}.diy-calc .attr-table th.num{text-align:right}.diy-calc .attr-table td{padding:5px 10px;border-bottom:1px solid var(--line-soft);font-variant-numeric:tabular-nums}.diy-calc .attr-table td.name{color:var(--ink-soft)}.diy-calc .attr-table td.num{text-align:right}.diy-panel-card .note{margin-top:10px;font-size:var(--fs-base);line-height:1.7}.output-group-title{padding:0 0 4px;font-size:var(--fs-base);font-weight:600;line-height:1.35;letter-spacing:.04em;color:var(--ink-soft)}.output-group-title.is-toggle{display:flex;align-items:center;gap:6px;width:100%;background:none;border:none;text-align:left;cursor:pointer;transition:color .16s ease}.output-group-title.is-toggle:hover{color:var(--ink)}.output-group-caret{display:inline-block;font-size:var(--fs-sm);line-height:1;color:var(--ink-soft);transition:transform .15s ease}.output-group-title.is-collapsed .output-group-caret{transform:rotate(-90deg)}.output-group+.output-group{margin-top:6px;padding-top:8px;border-top:1px solid var(--line-soft)}.header-btn{flex:none;height:var(--control-h);padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink-soft);font-size:var(--fs-md);line-height:1;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;transition:border-color .18s ease,color .18s ease,background .18s ease}.header-btn:hover{border-color:var(--accent-border);color:var(--accent)}.info-btn{flex:none;width:var(--control-h);height:var(--control-h);border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink-soft);font-size:var(--fs-lg);line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:border-color .18s ease,color .18s ease,background .18s ease}.info-btn:hover{border-color:var(--accent-border);color:var(--accent)}.theme-btn{padding:0;cursor:pointer}.theme-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;display:block}.settings-btn{padding:0;cursor:pointer}.settings-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;display:block}.modal.settings-modal{width:min(520px,100%)}.settings-body{display:grid;gap:12px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--line-soft);border-radius:12px;background:var(--field)}.settings-copy{display:grid;gap:4px;min-width:0}.settings-title{color:var(--ink);font-size:var(--fs-md);font-weight:600}.settings-desc{color:var(--ink-soft);font-size:var(--fs-sm);line-height:1.6}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--mask);display:flex;align-items:stretch;justify-content:flex-start;padding:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior:contain;scrollbar-gutter:auto}.modal{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;height:fit-content;max-height:calc(100dvh - 40px);width:min(680px,100%);display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 60px #1c191547}.modal,.modal *{scrollbar-gutter:auto}.modal-mask:has(.modal){width:100%;height:100dvh}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}.modal-head h3{font-size:var(--fs-3xl)}.modal-close{border:none;background:none;font-size:var(--fs-4xl);line-height:1;color:var(--ink-soft);transition:color .18s ease}.modal-close:hover{color:var(--accent)}.modal-body{padding:16px 18px 18px;overflow:auto;overscroll-behavior:contain;font-size:var(--fs-md);line-height:1.7;color:var(--ink-soft)}.modal-body p{margin:0 0 14px}.modal-body ul{margin:0 0 14px;padding-left:22px;display:grid;gap:10px;color:var(--ink)}.modal-foot{margin:0;font-size:var(--fs-base)}.header-actions{display:flex;align-items:center;gap:6px;flex:none}.app-page .diy-calc-body{grid-template-columns:370px minmax(0,1fr) 370px;grid-template-rows:minmax(0,1fr);gap:0}.app-page .diy-main{display:contents}.app-page .diy-calc .panel.diy-fields{min-height:0;overflow:auto;overscroll-behavior:contain;gap:12px;padding:0 8px 0 0;background:transparent;border:0;border-radius:0;box-shadow:none}.app-page .diy-field-group,.overlay-sections .diy-field-group{flex:none;padding:13px 14px 14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.app-page .diy-group-title,.overlay-sections .diy-group-title{margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--line);font-size:var(--fs-md);font-weight:600;letter-spacing:.04em;line-height:1.5;color:var(--ink)}.overlay-sections{gap:14px}.overlay-sections.diy-calc{height:auto}.overlay-sections .field-row,.overlay-sections .pair-cell{min-height:var(--control-h)}.overlay-sections .pair-row{gap:10px 16px}.overlay-sections .input,.overlay-sections .select{height:var(--control-h);font-size:var(--fs-md)}.overlay-sections .field-static{min-height:var(--control-h);font-size:var(--fs-md);line-height:1.5}.modal-mask.source-mask{z-index:70}.modal.diy-overlay-modal{width:min(760px,100%);min-width:0}.modal.diy-overlay-modal .modal-body{min-width:0;overflow-x:auto}.modal.diy-overlay-modal .attr-table{width:auto;min-width:100%}.modal.diy-overlay-modal .attr-table th:first-child,.modal.diy-overlay-modal .attr-table td:first-child{padding-left:0}.modal.diy-overlay-modal .attr-table th:last-child,.modal.diy-overlay-modal .attr-table td:last-child{padding-right:0}.app-page .diy-equipment{min-width:0;padding:0 0 0 8px}.app-page .field-list.compact{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.app-page .diy-calc .field-row,.app-page .diy-calc .pair-cell{min-height:var(--control-h)}.app-page .diy-calc .pair-row{gap:10px 16px}.app-page .diy-panel-card .pair-cell{min-height:var(--row-h)}.app-page .diy-panel-card .pair-row{gap:0 12px}.app-page .diy-panel-card .field-label,.app-page .diy-panel-card .field-static,.app-page .diy-panel-card .panel-inline{font-size:var(--fs-base);line-height:1.4}.app-page .diy-calc .input,.app-page .diy-calc .select{height:var(--control-h);font-size:var(--fs-md)}.app-page .diy-calc .field-static{font-size:var(--fs-md);line-height:1.5}.app-page .diy-calc .diy-result-stack{margin-left:8px;padding-right:6px}.app-page .tab-body{padding:var(--pad-page)}.app-page .diy-calc .attr-table{font-size:var(--fs-md)}.loading,.error-box{padding:28px;text-align:center;color:var(--ink-soft)}.error-box{color:var(--bad);border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:var(--radius)}.note{font-size:var(--fs-base);color:var(--ink-soft);margin-top:12px;line-height:1.7}.hint-inline{margin:0;font-size:var(--fs-sm);line-height:1.6;color:var(--ink-soft)}@media(max-width:1180px){html,body{height:auto;overflow:auto}#app{height:auto}.app-shell{height:auto;min-height:100vh;overflow:visible}.main{overflow:visible}.app-page{height:auto;min-height:0}.diy-calc-body,.app-page .diy-calc-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto}.diy-main{grid-template-rows:auto auto;overflow:visible}.diy-result-stack{height:auto;margin-top:12px}.app-page .diy-calc .panel.diy-fields{overflow:visible}.app-page .diy-equipment{min-height:340px}.app-page .diy-equipment .equip-list-wrap{flex:none;overflow:visible}.app-page .diy-result-stack{height:auto;margin-top:0;margin-left:0}.app-page .diy-calc .diy-panel-card .tab-body{flex:none;overflow:visible}}@media(max-width:980px){.calc-layout{grid-template-columns:minmax(0,1fr)}.calc-aside{position:static;order:-1}.main{padding:20px 16px 48px}.app-header-inner{grid-template-columns:minmax(0,1fr) auto;row-gap:8px}.app-header-inner>.header-actions{grid-column:1 / -1;justify-self:end}.field-row{grid-template-columns:minmax(84px,120px) minmax(0,1fr)}}.role-btn{gap:8px;max-width:250px}.role-btn-prefix{font-size:var(--fs-sm);color:var(--ink-soft)}.role-btn-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-btn-caret{font-size:var(--fs-xs);color:var(--ink-soft)}.modal.role-modal{width:min(500px,100%)}.role-note{margin:0 0 14px;font-size:var(--fs-md);color:var(--ink-soft)}.role-list{position:relative;display:flex;flex-direction:column;gap:10px}.role-row{position:relative;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;transition:border-color .16s ease,background .16s ease,opacity .16s ease}.role-drag{flex:none;display:inline-flex;align-items:center;justify-content:center;width:18px;height:26px;margin-left:-4px;color:var(--ink-soft);font-size:var(--fs-sm);letter-spacing:-1px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;opacity:.55;transition:opacity .16s ease,color .16s ease}.role-row:hover .role-drag{opacity:.9;color:var(--accent)}.role-drag:active{cursor:grabbing}.role-row.is-dragging{opacity:.35;border-color:var(--accent-border)}.role-row.role-drag-ghost{position:fixed;z-index:1500;margin:0;pointer-events:none;opacity:.97;background:var(--card);transition:none;box-shadow:0 2px 6px #0003,0 22px 44px -18px #00000080;will-change:transform}.role-row.active{border-color:var(--accent-line);background:var(--accent-soft)}.role-pick{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:4px 8px;border:none;background:none;color:var(--ink);font-size:var(--fs-md);text-align:left}.role-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.role-tag{flex:none;padding:2px 9px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:var(--fs-sm);line-height:1.5}.role-row-actions{flex:none;display:flex;gap:6px}.role-action{padding:5px 8px;border:none;border-radius:6px;background:none;color:var(--ink-soft);font-size:var(--fs-base);transition:background .16s ease,color .16s ease}.role-action:hover{background:var(--accent-hover);color:var(--accent)}.role-action-danger:hover{color:var(--bad)}.role-input{flex:1;min-width:0}.role-confirm{display:flex;flex-direction:column;gap:10px;margin-top:14px;padding:12px 14px;border:1px solid var(--accent-line);border-radius:8px;background:var(--accent-soft);color:var(--ink);font-size:var(--fs-md)}.role-confirm-actions{display:flex;gap:8px;justify-content:flex-end}.role-danger-btn{color:var(--bad);border-color:var(--accent-line)}.role-create{display:flex;gap:10px;margin-top:16px}.role-error{margin:10px 0 0;font-size:var(--fs-md);color:var(--bad)}.diy-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.diy-group-head .diy-group-title{margin-bottom:0}.diy-source-btn{flex:none;padding:2px 10px;border:1px solid var(--line);border-radius:999px;background:none;color:var(--ink-soft);font-size:var(--fs-sm);line-height:1.7;transition:border-color .18s ease,color .18s ease,background .18s ease}.diy-source-btn:hover{border-color:var(--accent-line);color:var(--accent)}.modal.source-modal{width:min(1800px,100%)}.source-body{padding:0 20px 20px;line-height:1.65}.source-lead{margin:16px 0 12px;color:var(--ink-soft);font-size:var(--fs-sm)}.source-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,2.1fr) minmax(0,1fr);gap:16px;align-items:start}.source-column{display:flex;flex-direction:column;gap:10px;min-width:0}.source-card-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px;min-width:0}.source-column-head{padding:0 2px}.source-column-head h4{margin:0;color:var(--ink);font-size:var(--fs-md);font-weight:600}.source-column-head p{margin:2px 0 0;color:var(--ink-soft);font-size:var(--fs-sm);line-height:1.5}.source-card{border:1px solid var(--line);border-radius:8px;background:var(--field);overflow:hidden}.source-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--accent-hover);font-size:var(--fs-base)}.source-card-head b{min-width:0;color:var(--accent);font-weight:600;overflow-wrap:anywhere}.source-card-head span{color:var(--ink-soft);font-size:var(--fs-sm);white-space:nowrap}.source-list{display:flex;flex-direction:column}.source-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 12px;border-top:1px solid var(--line-soft)}.source-row:first-child{border-top:0}.source-name{min-width:0;color:var(--ink-soft);font-size:var(--fs-base);overflow-wrap:anywhere}.source-stats{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:2px 10px;min-width:0;text-align:right}.source-stat{color:var(--ink);font-size:var(--fs-base);font-weight:500;font-variant-numeric:tabular-nums}.source-stat em{color:var(--ink-soft);font-style:normal;font-size:var(--fs-sm)}.source-empty{padding:12px;color:var(--ink-soft);font-size:var(--fs-base)}@media(max-width:960px){.source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.source-grid{grid-template-columns:minmax(0,1fr)}}.plan-control{display:flex;flex-direction:column;gap:6px;min-width:0}.plan-control-main{display:flex;align-items:center;gap:6px;min-width:0}.plan-select{flex:1;min-width:0}.plan-action{flex:none;padding:4px 9px;border:1px solid var(--accent-line);border-radius:6px;background:var(--card);color:var(--accent);font-size:var(--fs-sm);line-height:1.5;transition:background .15s ease,border-color .15s ease}.plan-action:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-border)}.plan-action.plan-icon{width:var(--control-h);height:var(--control-h);padding:0;display:inline-flex;align-items:center;justify-content:center}.plan-action.plan-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;display:block}.plan-action:disabled{color:var(--ink-soft);border-color:var(--line);opacity:.7;cursor:default}.plan-action.plan-danger{color:var(--bad);border-color:var(--danger-line)}.plan-action.plan-danger:hover:not(:disabled){background:var(--danger-bg)}.plan-confirm{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:var(--fs-base);color:var(--ink-soft)}.plan-hint,.plan-error{margin:0;font-size:var(--fs-sm);color:var(--warn)}.plan-error{color:var(--bad)}.plan-modal-field{display:grid;gap:8px}.plan-modal-field>span{font-size:var(--fs-md);color:var(--ink-soft)}.plan-modal-actions{margin-top:16px;display:flex;justify-content:flex-end;gap:10px}.plan-primary{border-color:var(--accent-border-strong);background:var(--accent);color:var(--on-accent)}.plan-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.modal.plan-modal{width:min(440px,100%)}@keyframes ui-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ui-rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes ui-scale-in{0%{opacity:0;transform:scale(.98) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes ui-soft-pulse{0%,to{opacity:.78}50%{opacity:1}}@keyframes ui-modal-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.app-header{animation:ui-fade-in .42s ease both}.app-page .diy-fields,.app-page .diy-equipment,.app-page .diy-result-stack,.app-page .diy-fields>*,.app-page .diy-result-stack>*,.manual-page,.manual-page .page-head,.manual-main>.card.panel,.manual-main .panel-right>.card.panel,.manual-aside .card.panel,.calc-aside>.card.panel,.calc-root .page-head,.calc-root .panel-row>.card.panel,.calc-root .panel-right>.card.panel,.calc-root .calc-tables>.card.panel,.modal-body>*,.overlay-sections>*{animation:ui-rise-in .5s cubic-bezier(.22,1,.36,1) both}.app-page .diy-equipment{animation-delay:.06s}.app-page .diy-result-stack,.app-page .diy-fields>*:nth-child(2),.app-page .diy-result-stack>*:nth-child(2),.manual-main .panel-right>.card.panel,.manual-aside .card.panel:nth-child(2),.calc-aside>.card.panel:nth-child(2),.modal-body>*:nth-child(2),.overlay-sections>*:nth-child(2){animation-delay:.12s}.app-page .diy-fields>*:nth-child(3),.app-page .diy-result-stack>*:nth-child(3),.manual-aside .card.panel:nth-child(3),.calc-aside>.card.panel:nth-child(3),.modal-body>*:nth-child(3),.overlay-sections>*:nth-child(3){animation-delay:.18s}.modal-mask{animation:ui-fade-in .2s ease both}.modal:not(.equip-editor){animation:ui-modal-in .3s cubic-bezier(.22,1,.36,1) both}.app-tab.is-active{animation:ui-soft-pulse 3.6s ease-in-out infinite}button,input,select,textarea,.card:not(.equip-card),.panel:not(.equip-card),.modal,.tag,.input,.select,.switch,.diy-field-group,.diy-panel-card,.diy-rate-card,.overlay-sections>*,.header-btn,.info-btn,.app-tab,.modal-close,.equip-badge,.equip-card-icon,.filter-btn,.equip-add,.equip-editor-foot .btn,.equip-flag,.equip-school-trigger,.equip-school-option,.plan-icon{transition:transform .22s cubic-bezier(.22,1,.36,1),border-color .22s ease,background-color .22s ease,box-shadow .22s ease,color .22s ease,filter .22s ease,opacity .22s ease}@media(hover:hover)and (pointer:fine){.card:not(.equip-card):hover,.panel:hover,.diy-field-group:hover,.diy-panel-card:hover,.diy-rate-card:hover,.overlay-sections>*:hover{border-color:var(--accent-border);box-shadow:var(--shadow),0 14px 32px -26px var(--accent-ring)}.app-tab:hover,.modal-close:hover,.equip-badge:hover,.tag:hover{filter:brightness(1.025)}.app-tab:active,.modal-close:active{filter:brightness(.98)}.input:hover,.select:hover,textarea:hover{border-color:var(--accent-border)}.input:focus,.select:focus,textarea:focus{transform:translateY(-1px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--btn-scale: 1;--btn-weight: 0em}:root[data-theme=dark]{--btn-scale: 1}.ui-button{position:relative;transform-origin:50% 50%;overflow:hidden;scrollbar-gutter:auto;text-shadow:var(--btn-weight) 0 0 currentColor;backface-visibility:hidden;scale:var(--btn-scale, 1);translate:0 0;-webkit-tap-highlight-color:transparent}.ui-button,.ui-button:not(:disabled):hover,.ui-button:not(:disabled):active{transition:scale .16s ease-out,translate .12s ease-out,transform .2s cubic-bezier(.22,1,.36,1),color .18s ease-out,filter .18s ease-out,border-color .16s ease-out,background .16s ease-out,background-color .16s ease-out,box-shadow .2s ease-out,text-shadow .18s ease-out,opacity .18s ease-out!important}.ui-button.select-clear{position:absolute}.ui-button:not(:disabled):hover{--btn-scale: 1.02;--btn-weight: .055em;border-color:var(--accent-border);translate:0 -1px}.ui-button:not(:disabled):active{--btn-scale: .98;translate:0 0}.ui-button:focus-visible,.ui-button:focus-within{outline:2px solid var(--accent-ring);outline-offset:2px}.ui-button:disabled{filter:saturate(.7);opacity:.62;cursor:not-allowed}.btn-ghost.ui-button,.modal-close.ui-button,.role-action.ui-button,.equip-card-icon.ui-button,.switch.ui-button,.output-group-title.ui-button{box-shadow:none}.btn-ghost.ui-button:not(:disabled):hover,.modal-close.ui-button:not(:disabled):hover,.role-action.ui-button:not(:disabled):hover,.equip-card-icon.ui-button:not(:disabled):hover,.switch.ui-button:not(:disabled):hover,.output-group-title.ui-button:not(:disabled):hover{box-shadow:none}.equip-slot.ui-button,.equip-slot.ui-button:not(:disabled):hover,.equip-slot.ui-button:not(:disabled):active{--btn-scale: 1;transition:translate .26s cubic-bezier(.22,1,.36,1),scale .26s cubic-bezier(.22,1,.36,1),transform .26s cubic-bezier(.22,1,.36,1),border-color .24s ease,background .24s ease,box-shadow .26s ease,filter .26s ease,color .24s ease,text-shadow .24s ease,opacity .24s ease!important}.equip-slot.ui-button{scale:1;translate:0 0}.equip-slot.worn.ui-button:not(:disabled):hover,.equip-slot-card-select.ui-button:not(:disabled):hover{translate:0 -4px!important;scale:1.02!important}.equip-slot.worn.ui-button:not(:disabled):active,.equip-slot-card-select.ui-button:not(:disabled):active{translate:0 0!important;scale:.985!important}.equip-slot:not(.worn):not(.equip-slot-card-select).ui-button:not(:disabled):hover{border-color:var(--line);box-shadow:var(--shadow);translate:0 0!important;scale:1!important}.equip-card:not(.worn) .ui-button:not(:disabled):hover{border-color:var(--line);box-shadow:none}@media(prefers-reduced-motion:reduce){.ui-button,.ui-button:not(:disabled):hover,.ui-button:not(:disabled):active{--btn-scale: 1;transition:none}}:root{--ui-select-panel: var(--card);--ui-select-line: var(--line);--ui-select-option-hover: var(--accent-soft)}:root[data-theme=dark]{--ui-select-panel: var(--equip-surface-raised, #14181f);--ui-select-line: var(--line);--ui-select-option-hover: var(--accent-soft)}.ui-select,.ui-select.field-control{position:relative;display:block;min-width:0}.ui-select-trigger{display:flex;align-items:center;gap:8px;width:100%;height:var(--control-h);min-width:0;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);font:inherit;font-size:inherit;line-height:1.4;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.ui-select-trigger:hover:not(:disabled){border-color:var(--accent-border)}.ui-select--open .ui-select-trigger:not(:disabled){border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-ring)}.ui-select-trigger:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px}.ui-select-trigger:disabled{color:var(--ink);background:var(--field-disabled);cursor:default}.ui-select--open .ui-select-trigger:disabled{box-shadow:none}.ui-select-value{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;user-select:none}.ui-select-caret{flex:none;width:12px;height:12px;color:var(--ink-soft);opacity:.85;transition:transform .18s ease}.ui-select--open .ui-select-caret{transform:rotate(180deg)}.ui-select--card{position:absolute;top:0;right:0;bottom:0;left:0}.ui-select--card .ui-select-trigger{width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent}.ui-select--card .ui-select-trigger:hover:not(:disabled),.ui-select--card.ui-select--open .ui-select-trigger:not(:disabled){border:0;background:transparent;box-shadow:none}.ui-select--card .ui-select-caret{display:none}.ui-select--card .ui-select-trigger:disabled{background:transparent}.ui-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.ui-select--bare .ui-select-trigger{height:auto;padding:0;border:0;background:transparent}.ui-select-panel{z-index:1200;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:auto;padding:5px;border:1px solid var(--ui-select-line);border-radius:12px;background:var(--ui-select-panel);color:var(--ink);box-shadow:0 1px 2px #0000002e,0 22px 48px -22px #0000009e;animation:ui-select-in .16s ease-out both}.ui-select-panel--up{transform-origin:50% 100%}.ui-select-panel--columns{display:flex;align-items:stretch;gap:6px;padding:8px}.ui-select-column{display:flex;flex-direction:column;gap:1px;min-width:92px;flex:1 1 auto}.ui-select-column-head{padding:3px 10px 5px;margin-bottom:3px;border-bottom:1px solid var(--ui-select-line);color:var(--ink-soft);font-size:var(--fs-sm);letter-spacing:.08em;white-space:nowrap}@keyframes ui-select-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ui-select-option{display:flex;align-items:center;width:100%;min-height:30px;padding:6px 10px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:var(--fs-md);line-height:1.4;text-align:left;white-space:nowrap;cursor:pointer;transition:background .2s ease-out,color .2s ease-out,text-shadow .2s ease-out}.ui-select-option.is-selected{color:var(--accent);font-weight:600}.ui-select-option.is-active:not(.is-disabled){background:var(--accent);color:var(--on-accent);text-shadow:.045em 0 0 currentColor}.ui-select-option.is-active:not(.is-disabled).is-selected{color:var(--on-accent)}.ui-select-option.is-disabled{color:var(--ink-soft);cursor:default;opacity:.6}@media(prefers-reduced-motion:reduce){.ui-select-panel{animation:none}}.pair-cell,.fp-row,.output-row,.group-chip,.source-row,.stat-priority-row,.opt-stat,.opt-metric,.diy-rate-stat{border-radius:6px;transition:background-color .18s ease-out}.attr-table tbody td,.skill-table tbody td{transition:background-color .18s ease-out}.pair-cell:hover,.fp-row:hover,.output-row:hover,.group-chip:hover,.source-row:hover,.stat-priority-row:hover,.opt-stat:hover,.opt-metric:hover,.diy-rate-stat:hover{background-color:var(--row-hover)}.attr-table tbody tr:hover>td,.skill-table tbody tr:hover>td{background-color:var(--row-hover)}@supports selector(:has(*)){.field-row:not(.field-row-pair){border-radius:6px;transition:background-color .18s ease-out}.field-row:not(.field-row-pair):not(:has(input,select,textarea,button,.input,.select,.switch,[contenteditable])):hover{background-color:var(--row-hover)}}
