:root{--ink:#202a32;--muted:#68747b;--line:#e3e6e5;--paper:#fafbf9;--accent:#9b632c;--match:#ffebcc;--two:#ffe0b2;--three:#f8c477}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.65 -apple-system,BlinkMacSystemFont,"Noto Sans JP",sans-serif}header{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#fff}a{color:inherit;text-decoration:none}.brand{font-size:22px;font-weight:850;letter-spacing:-1px}.brand span{font-size:11px;letter-spacing:2px;margin-left:12px;color:var(--muted)}nav{display:flex;gap:24px;font-size:12px}main{max-width:1560px;margin:auto;padding:0 4%}.hero{padding:44px 0 30px}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--accent);font-weight:700}h1{font-size:clamp(26px,4vw,38px);letter-spacing:-1px;margin:8px 0}h2{font-size:16px;margin:0}small,.hint{color:var(--muted);font-size:11px}.hero>p:not(.eyebrow){color:var(--muted);margin:4px 0 12px}.comparison,.searchpanel{border:1px solid var(--line);background:white;border-radius:12px;padding:20px;margin-bottom:20px}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}h2 small{margin-left:8px}button,select,input,summary{font:inherit}button,select,input{border:1px solid #d9deda;border-radius:6px;background:#fff;color:var(--ink);padding:8px 10px}button,summary{cursor:pointer}button:hover{background:#f2f3ef}button:disabled{opacity:.4;cursor:default}input{width:100%}.quiet{font-size:11px}.comparegrid{display:grid;gap:8px}.comparecard{border:1px solid var(--line);border-radius:8px;padding:10px;display:flex;gap:12px;align-items:center;overflow:auto}.comparename{min-width:175px;max-width:175px;font-size:12px;font-weight:650}.remove{border:0;padding:2px 6px;margin-left:5px;color:#667}.comparetag{flex:0 0 142px;min-height:40px}.emptystate{border:1px dashed var(--line);border-radius:8px;text-align:center;color:#8c9699;padding:20px}.tag{padding:5px 7px;min-width:140px;font-size:12px;line-height:1.5;border-radius:4px;white-space:nowrap}.tag .tagname{display:block;font-size:11px;font-weight:400}.tag .tageffect{display:block;font-weight:700;color:#333}.match{background:var(--match)!important}.two{background:var(--two)!important}.three{background:var(--three)!important}.selectedtag{background:#eaedf0}.filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.filters label{font-size:12px;font-weight:600;display:block}.filters label input{margin-top:6px;font-weight:400}.filterbox{position:relative}.filterhead{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;margin-bottom:6px}.filterhead select{font-size:10px;padding:2px 4px;border:0;background:#f4f5f2}.filterbox details>summary{border:1px solid #d9deda;border-radius:6px;padding:8px 10px;font-size:12px;list-style:none}.filterbox details>summary:after{content:'⌄';float:right}.options{position:absolute;z-index:4;top:72px;min-width:250px;width:100%;background:white;box-shadow:0 10px 35px #182b3220;border:1px solid var(--line);border-radius:8px;padding:10px}.options input[type=search]{font-size:12px;margin-bottom:8px}.optionlist{max-height:260px;overflow:auto}.optionlist label{display:flex;gap:8px;align-items:center;font-size:12px;font-weight:400;padding:5px 2px;cursor:pointer}.optionlist input{width:15px;margin:0}.category{width:100%;margin-bottom:8px;font-size:12px}.resultline{display:flex;justify-content:space-between;margin-top:20px;padding-top:12px;border-top:1px solid var(--line);font-size:12px}.resultline span{color:var(--muted)}.results{border:1px solid var(--line);border-radius:10px;background:white;overflow:hidden}.tablescroll{overflow:auto;max-height:65vh}table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}th{position:sticky;top:0;background:#e9ede8;z-index:2;text-align:left;font-size:11px;padding:10px 8px;white-space:nowrap;border-bottom:1px solid #d9ded7}td{border-bottom:1px solid #edf0ed;padding:6px 8px;vertical-align:middle;line-height:1.5}tbody tr:hover{background:#fcfcf8}td:nth-child(1){font-size:10px;color:var(--muted)}td:nth-child(3){min-width:165px;font-weight:600}td:nth-child(4){min-width:145px}td:nth-child(5){min-width:190px}td:nth-child(6){min-width:160px;font-size:11px}.pick{white-space:nowrap;font-size:11px;padding:4px 8px}.pick.active{background:#303e40;color:white;border-color:#303e40}.pages{display:flex;align-items:center;justify-content:center;gap:24px;padding:16px;font-size:12px}.prose{max-width:800px;margin:40px 0}.prose h2{margin-bottom:16px}.prose p{color:#59676d;font-size:13px}.prose details{margin-top:12px;border-bottom:1px solid var(--line);padding-bottom:12px}.legend{display:flex;gap:8px;flex-wrap:wrap}.legend span{padding:4px 12px;border-radius:4px;font-size:11px}footer{border-top:1px solid var(--line);padding:28px 5%;font-size:11px;letter-spacing:1px}footer span{float:right;color:var(--muted)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#25383c;color:white;border-radius:8px;padding:10px 20px;display:none;z-index:10}@media(max-width:760px){header{height:60px;padding:0 5%}nav{gap:12px;font-size:10px}.brand span{display:none}.hero{padding-top:25px}.comparison,.searchpanel{padding:14px}.filters{grid-template-columns:1fr 1fr}.filters>label{grid-column:1/-1}.comparecard{display:block}.comparename{max-width:none;margin-bottom:8px}.comparecard .tagstrip{display:flex;gap:6px}.comparecard{overflow:auto}.tagstrip{display:contents}.sectionhead select{max-width:160px;font-size:11px}.options{min-width:240px}.filterbox:nth-child(odd) .options{right:0}.hint{line-height:1.8}.prose{margin:30px 0}}

.basiscontrol{display:grid;gap:5px;max-width:420px}.basiscontrol label{font-size:12px;font-weight:650}.basiscontrol select{width:100%}.basiscontrol small{font-size:11px;line-height:1.6}.comparison>.sectionhead{align-items:start}@media(max-width:760px){.comparison>.sectionhead{flex-wrap:wrap}.basiscontrol{width:100%;max-width:none}.basiscontrol select{max-width:none}}

.sortrow{margin-top:18px;padding-top:16px;border-top:1px solid var(--line,#e5e8e6)}.sortrow .basiscontrol{max-width:420px}.sortrow .basiscontrol select{max-width:none}

#noSort{font:inherit;font-weight:700;padding:0;border:0;background:transparent;white-space:nowrap}#noSort:hover{text-decoration:underline}#noSort:focus-visible{outline:2px solid var(--ink);outline-offset:4px}

/* Fit each column to its contents; preserve explicit line breaks only. */
main{max-width:none;padding-left:2%;padding-right:2%}.results{width:fit-content;max-width:100%}.results table{table-layout:auto;width:max-content;min-width:0;font-size:11px}.results th{padding:7px 4px;font-size:10px}.results td{padding:5px 4px;white-space:nowrap;overflow-wrap:normal;word-break:normal;min-width:0}.results td:nth-child(3),.results td:nth-child(4),.results td:nth-child(5),.results td:nth-child(6){min-width:0;white-space:nowrap;overflow-wrap:normal}.results td:nth-child(6){font-size:10px}.results .pick{font-size:10px;padding:3px 5px}.results .tag{min-width:0;padding:3px 2px;font-size:11px;line-height:1.45;white-space:nowrap}.results .tag .tagname{font-size:10px}.results td.medaltag{padding:4px 2px}.results .tablescroll{max-width:100%}
@media(max-width:760px){main{padding-left:2%;padding-right:2%}}

/* Keep the earlier compact frame, including all eight tag positions. */
main{width:1453px;max-width:calc(100% - 32px);padding-left:0;padding-right:0;margin-left:auto;margin-right:auto}.comparison,.searchpanel,.results{width:100%;max-width:100%;box-sizing:border-box}.results table{table-layout:auto;width:1451px;min-width:1451px}.results th,.results td{white-space:nowrap}.comparecard .tagstrip{display:flex;flex-wrap:nowrap;align-items:center;gap:6px}.comparetag{flex:0 0 auto;min-width:108px}.comparecard{display:flex}.comparename{flex:0 0 175px}.comparison .tag{min-width:0}.tablescroll{width:100%}
@media(max-width:760px){main{max-width:calc(100% - 20px);padding-left:0;padding-right:0}.comparecard{display:flex}.comparename{margin-bottom:0}.comparecard .tagstrip{display:flex}}

/* Compact search: six fields stay on one row within the existing frame. */
.searchpanel{padding:10px 12px;margin-bottom:12px}
.searchpanel>.sectionhead{margin-bottom:8px;min-height:24px}
.searchpanel h2{font-size:14px}
.searchpanel #reset{padding:3px 8px}
.searchpanel .filters{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.searchpanel .filters>label{grid-column:auto;min-width:0}
.searchpanel .filterhead{gap:3px;font-size:11px;margin-bottom:4px;height:19px;white-space:nowrap}
.searchpanel .filterhead select{font-size:10px;padding:1px 2px;min-width:0;max-width:90px}
.searchpanel .filters>label{font-size:11px;line-height:19px}
.searchpanel .filters>label input{margin-top:4px;height:30px;padding:4px 7px;font-size:12px}
.searchpanel .filterbox details>summary{height:30px;line-height:20px;padding:4px 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.searchpanel .filterbox details>summary:after{position:absolute;right:7px;background:white}
.searchpanel .options{top:100%;margin-top:3px}
.searchpanel .filterbox:nth-last-child(-n+2) .options{right:0}
.searchfooter{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding-top:7px;border-top:1px solid var(--line)}
.searchfooter .sortrow{margin:0;padding:0;border:0;min-width:0}
.searchfooter .basiscontrol{display:flex;align-items:center;gap:8px;max-width:none;width:auto}
.searchfooter .basiscontrol label{font-size:11px;white-space:nowrap}
.searchfooter .basiscontrol select{width:260px;max-width:260px;height:27px;padding:3px 6px;font-size:11px}
.searchfooter .basiscontrol small{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.searchfooter .resultline{margin:0;padding:0;border:0;display:flex;align-items:center;gap:16px;font-size:11px;white-space:nowrap}
@media(max-width:900px){.searchpanel .filters{gap:4px}.searchpanel .filterhead{font-size:10px}.searchpanel .filterhead select{max-width:65px}.searchfooter{gap:6px}.searchfooter .basiscontrol select{width:180px;max-width:180px}.searchfooter .resultline{gap:8px}}

#findTop10{font-size:11px;padding:3px 8px;height:27px;white-space:nowrap;background:#f5f2eb;border-color:#d9c9ac;font-weight:650}
.top10panel{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:white;margin-bottom:12px}
.top10panel[hidden]{display:none}.top10panel>.sectionhead{margin-bottom:4px}.top10panel h2{font-size:14px}.top10panel .quiet{padding:2px 8px}
.top10note,#top10Status{font-size:11px;margin:4px 0;color:var(--muted)}
#top10Results{max-height:340px;overflow:auto}
.top10set{border-top:1px solid var(--line);padding:7px 0;display:grid;grid-template-columns:260px minmax(0,1fr);gap:4px 12px}
.top10rank{display:flex;align-items:center;gap:8px;grid-row:1/3;font-size:11px}.top10rank strong{min-width:24px}.top10rank button{font-size:10px;padding:3px 6px;white-space:nowrap}
.top10names{display:flex;gap:14px;font-size:11px;font-weight:600;align-items:center}.top10names>span{white-space:nowrap}.top10names br{display:none}.top10names small{font-size:10px;font-weight:400}
.top10tags{display:flex;gap:4px;font-size:10px;flex-wrap:wrap}.top10tags>span{padding:1px 5px;border-radius:3px;white-space:nowrap}
@media(max-width:900px){.top10set{grid-template-columns:1fr}.top10rank{grid-row:auto}.top10names{overflow:auto}.searchfooter .basiscontrol{gap:5px}}

/* Share intrinsic tag-column widths across every comparison row. */
.comparegrid.has-medals{grid-template-columns:193px repeat(var(--compare-cols),max-content);column-gap:6px;overflow-x:auto;align-items:stretch}
.comparegrid.has-medals .comparecard{grid-column:1/-1;display:grid;grid-template-columns:subgrid;column-gap:6px;overflow:visible;min-width:0;align-items:center}
.comparegrid.has-medals .tagstrip{display:contents}
.comparegrid.has-medals .comparetag{min-width:0;min-height:40px;width:auto}
.comparegrid.has-medals .comparename{min-width:0;width:175px;max-width:175px;margin-bottom:0}
.comparegrid.has-medals .tag{width:100%;min-width:0}

.medalad{width:100%;margin:12px 0;text-align:center;background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px 0}.medalad[hidden]{display:none}.medalad>small{display:block;font-size:10px;color:var(--muted)}
