:root{font-family:system-ui,-apple-system,Segoe UI,Noto Sans JP,sans-serif;color:#19312e;background:#f5f7f7;font-synthesis:none;line-height:1.65;font-size:16px;--accent:#24736a;--border:#d5dfdc;--muted:#5c706b}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select{cursor:pointer}button{background:#fff;border:1px solid #bccdc7;border-radius:8px;padding:9px 15px;color:inherit;font-weight:600}button:hover:not(:disabled){background:#edf5f2}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #72bcb1;outline-offset:3px}a{color:#216f65;text-underline-offset:3px}.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.primary:hover:not(:disabled){background:#185c54}header{display:flex;align-items:center;justify-content:space-between;padding:19px max(24px,calc((100% - 1180px)/2));background:#fff;border-bottom:1px solid var(--border);gap:16px}.brand{text-decoration:none;font-size:23px;font-weight:800;color:#203c35;line-height:1.25;white-space:nowrap}.brand span{display:block;font-size:10px;letter-spacing:1.9px;font-weight:600;color:var(--muted);margin-top:6px}.related{font-size:14px;white-space:nowrap}main{max-width:1180px;margin:0 auto;padding:38px 24px 44px}h1{font-size:29px;margin:0 0 8px;line-height:1.4;letter-spacing:.02em}h2{font-size:20px;margin:0}h3{font-size:18px;margin:24px 0 10px}p{margin:9px 0;color:var(--muted)}.heading{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:26px}.version{font-size:12px;border:1px solid var(--border);border-radius:20px;padding:4px 10px;white-space:nowrap;margin-top:7px}.panel{background:#fff;border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:22px}.tabs{display:flex;gap:8px;margin:20px 0 16px}.tabs button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:#eaf4f0}.dropzone{display:flex;align-items:center;gap:18px;border:1px dashed #8aafa2;background:#f8fbfa;padding:25px;border-radius:10px}.dropzone-copy{flex:1}.dropzone-description{display:block;font-size:14px;margin:2px 0 0}.dropzone strong{font-size:18px}.dropzone.drag{background:#dfefe8;border:2px solid var(--accent)}.file-icon{font-size:30px;line-height:1;width:45px;height:50px;border:2px solid #92aea5;border-radius:7px;text-align:center;padding-top:7px;color:#3d7465}.privacy{font-size:14px;margin:10px 0 16px}details{border-top:1px solid #e5ebe8;padding:14px 0 2px;margin-top:15px}summary{cursor:pointer;font-weight:600}details p{font-size:14px;margin-top:12px}.path{display:block;font-size:14px;overflow-wrap:anywhere;background:#f4f7f5;padding:12px;border-radius:6px}.section-heading{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:18px}.text-button{padding:4px;border:0;color:var(--accent);font-size:14px}label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}input,select{color:#203c35;background:#fff;border:1px solid #acbfb8;border-radius:7px;padding:10px 11px;min-width:0;width:100%;font-size:16px;min-height:45px}details label:not(.check){max-width:460px;margin-top:15px}.profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.exclude-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-height:240px;overflow:auto;margin-top:12px;gap:8px;padding:4px}.check{display:flex;flex-direction:row;align-items:center;font-weight:400;font-size:14px}.check input{width:18px;height:18px;min-height:0;accent-color:var(--accent)}.results{margin:30px 0}.count{font-size:16px;font-weight:500;color:var(--muted);margin-left:8px}.result-toolbar{display:grid;grid-template-columns:1.4fr 1fr .65fr;gap:16px;margin-bottom:16px}.rating-note{font-size:14px;margin:14px 0}.rating-note a{margin-left:10px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.charm-card{border:1px solid var(--border);border-radius:10px;background:#fff;overflow:hidden;padding:20px;min-width:0}.charm-title{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px;align-items:center}.charm-title>div:first-child{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;max-width:60%}.charm-title strong{font-size:17px}.no{font-variant-numeric:tabular-nums;color:#63786f;font-size:12px;width:100%}.rarity{font-size:11px;color:#687970}.rating{display:flex;align-items:center;gap:8px;white-space:nowrap}.rating strong{font-size:14px}.rating small{display:block;color:var(--muted);font-size:12px}.rank{font-size:24px;font-weight:750;background:#edf1f0;padding:1px 12px;border-radius:6px;color:#5a7269}.rank-S .rank{background:#e9e2c5;color:#7a5c12}.rank-A .rank{background:#deeee5;color:#286047}.rank-S{border-top:3px solid #ba9c56}.rank-A{border-top:3px solid #7aa28b}.skills{display:flex;flex-direction:column;gap:7px;margin:12px 0 16px}.skill{border:1px solid #cddbd5;background:#f4f8f6;border-radius:6px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;font-size:16px}.skill strong{font-size:14px;white-space:nowrap}.skill.unused{color:#6f7d78;background:#f6f6f6;border-color:#e3e7e5}.slot-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px}.slot-row>span:first-child{margin-right:6px;color:#687970}.slot{border:1px solid #d7dfdc;border-radius:5px;padding:2px 7px;font-size:12px;font-weight:500;background:#fafbf9}.slot.weapon{background:#fff6e8;border-color:#dbc398;color:#72531a}.compatibility{display:flex;flex-wrap:wrap;gap:5px 12px;color:#63776e;font-size:12px;margin-top:14px}.compatibility>span:first-child{color:#326e59;font-weight:600}.details-button{width:100%;margin-top:15px;border:0;border-top:1px solid #edf0ee;border-radius:0;padding:12px 0 0;text-align:right;color:var(--accent);font-size:14px}.empty{background:#fff;border:1px dashed #c7d4ce;border-radius:10px;padding:48px 24px;text-align:center;color:var(--muted)}.pagination{display:flex;align-items:center;justify-content:center;gap:22px;margin:25px 0}.progress{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:20px}.progress progress{flex-basis:100%;width:100%;height:12px;accent-color:var(--accent)}.progress span{flex:1;font-size:14px}.loaded{display:flex;align-items:center;gap:16px;justify-content:space-between;font-size:14px;margin-top:18px}.loaded strong{overflow-wrap:anywhere}.character{max-width:460px;margin-top:15px}.import-count{font-size:14px}.import-count strong{color:#24624e}.error{color:#a33434!important;font-size:14px}.manual-intro>button{margin:10px 10px 0 0}.rules{margin-top:38px}.rules>p{font-size:14px}.rules ul{font-size:14px;color:var(--muted);padding-left:24px}.rules li{margin:9px 0}.references{margin-top:20px}.references a{display:inline-block}footer{border-top:1px solid var(--border);padding:24px;text-align:center;font-size:12px;color:#65776e}dialog{width:min(650px,calc(100% - 28px));max-height:90dvh;overflow:auto;border:1px solid var(--border);border-radius:14px;padding:24px;box-shadow:0 20px 80px #19312e35;color:inherit}dialog::backdrop{background:#172d2b80}dialog .charm-card{border:0;background:#f8faf9}dialog h2{font-size:20px}dialog p{font-size:14px}.reasons{list-style:none;padding:0}.reasons li{padding:12px 0;border-bottom:1px solid var(--border)}.reasons li>div{display:flex;gap:14px;justify-content:space-between}.reasons b{white-space:nowrap;color:var(--accent)}.manual-row{display:grid;grid-template-columns:1fr 90px;gap:16px;margin:18px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:700px){header{padding:16px 20px}.brand{font-size:21px}.brand span{font-size:9px}.related{font-size:12px}main{padding:26px 16px}.heading{display:block}.heading h1{font-size:25px}.heading p{font-size:14px}.version{display:inline-block;margin-top:10px}.panel{padding:18px}.dropzone{padding:20px 16px;flex-wrap:wrap}.dropzone strong{font-size:16px}.dropzone .picker-label{width:100%;text-align:center}.file-icon{display:none}.profile-grid{grid-template-columns:1fr;gap:14px}.exclude-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-toolbar{grid-template-columns:1fr 1fr;gap:12px}.search{grid-column:1/-1}.cards{grid-template-columns:1fr}.charm-card{padding:18px}.section-heading h2{font-size:18px}.section-heading button{font-size:12px}.loaded{align-items:start;flex-direction:column}.tabs button{font-size:14px;padding:9px 10px}.reasons strong{font-size:14px}dialog{padding:18px}.rules>p{font-size:14px}}.header-actions{display:flex;align-items:center;gap:24px}.language-selector{display:flex;flex-direction:row;align-items:center;gap:9px;font-size:13px;white-space:nowrap}.language-selector select{width:130px;min-height:38px;padding:6px 9px;font-size:14px}.brand{white-space:normal}header{flex-wrap:wrap}.heading>div{min-width:0}@media(max-width:700px){.header-actions{width:100%;justify-content:space-between;gap:12px}.language-selector select{width:125px}.charm-title{align-items:flex-start}.charm-title>div:first-child{max-width:55%}.rating{white-space:normal}.rating strong{font-size:13px}.rank{font-size:20px;padding:2px 9px}.manual-row{grid-template-columns:minmax(0,1fr) 70px}}.skill-picker{min-width:0}.skill-picker>label{margin-bottom:6px}.skill-picker-input{position:relative}.skill-picker-input input{padding-right:42px}.skill-picker-clear{position:absolute;right:4px;top:4px;width:35px;height:36px;border:0;background:transparent;padding:0;font-size:23px;font-weight:400;color:#5c706b}.skill-options{margin-top:6px;border:1px solid #aebfb6;border-radius:8px;max-height:210px;overflow:auto;background:#fff;overscroll-behavior:contain}.skill-options button{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:8px;width:100%;padding:9px 11px;border:0;border-radius:0;font-weight:400;min-height:42px}.skill-options button.active,.skill-options button:hover{background:#e6f2ed}.skill-options button[aria-selected=true]{color:#1e6554;font-weight:600}.skill-no-match{padding:10px 12px;margin:0;font-size:14px}.manual-row{align-items:start}.manual-form{max-width:760px}.dropzone{width:100%;text-align:left;font-weight:400}.dropzone .picker-label{padding:9px 15px;border-radius:8px;font-weight:600}
