@font-face{font-family:Ledger Mono;src:url(/fonts/ibm_plex_mono_400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Ledger Mono;src:url(/fonts/ibm_plex_mono_500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}ul{margin:0;padding:0;list-style:none}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid currentColor;outline-offset:2px}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}:root{--bg: #e4dcc6;--surface: #efe9d8;--ink: #2b2620;--ink-soft: #726a58;--line: #c7ba98;--accent: #5c6b3f;--accent-ink: #efe9d8}@media(prefers-color-scheme:dark){:root{--bg: #221d16;--surface: #2b2419;--ink: #e9e0c8;--ink-soft: #b3a683;--line: #4a3f2c;--accent: #8fa467;--accent-ink: #1c2013}}:root[data-theme=dark]{--bg: #221d16;--surface: #2b2419;--ink: #e9e0c8;--ink-soft: #b3a683;--line: #4a3f2c;--accent: #8fa467;--accent-ink: #1c2013}:root[data-theme=light]{--bg: #e4dcc6;--surface: #efe9d8;--ink: #2b2620;--ink-soft: #726a58;--line: #c7ba98;--accent: #5c6b3f;--accent-ink: #efe9d8}body{background:var(--bg);color:var(--ink);font-family:Hiragino Mincho ProN,Yu Mincho,YuMincho,"Noto Serif JP",serif;line-height:1.6}.mono{font-family:Ledger Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}.page{max-width:900px;margin:0 auto;padding:40px clamp(20px,5vw,64px) 80px}.masthead{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:3px double var(--line);padding-bottom:18px;margin-bottom:28px;gap:16px;flex-wrap:wrap}.masthead h1{font-size:clamp(22px,3vw,30px);font-weight:700;letter-spacing:.02em}.masthead .sub{font-size:13px;color:var(--ink-soft);margin-top:6px}.theme-toggle{background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:7px 14px;font-size:12.5px;display:inline-flex;gap:8px;align-items:center}.theme-toggle:hover{border-color:var(--accent)}.tab-row{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:24px}.tab-btn{background:none;border:none;padding:10px 18px 12px;margin-bottom:-1px;font-size:14.5px;color:var(--ink-soft);border-bottom:2px solid transparent;font-family:Hiragino Mincho ProN,Yu Mincho,"Noto Serif JP",serif}.tab-btn[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--accent);font-weight:700}.tab-panel{display:none}.tab-panel.is-active{display:block}.search-row{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:18px;align-items:flex-end}.field{flex:1 1 260px}.field label{display:block;font-size:11.5px;color:var(--ink-soft);letter-spacing:.06em;margin-bottom:6px}.search-wrap{position:relative}.search-wrap input,.field select{width:100%;background:transparent;border:none;border-bottom:1.5px solid var(--ink);padding:6px 2px 8px;font-size:17px;color:var(--ink)}.field select{border-bottom:1.5px solid var(--line);font-size:14px;padding:8px 2px}.search-wrap input:focus,.field select:focus{outline:none;border-bottom-color:var(--accent)}.suggest{display:none;position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--line);border-radius:4px;box-shadow:0 10px 24px -16px #00000080;z-index:5;overflow:hidden}.search-wrap:focus-within .suggest,.suggest.is-open{display:block}.suggest button{display:block;width:100%;text-align:left;background:none;border:none;padding:9px 14px;font-size:14.5px;color:var(--ink);font-family:inherit}.suggest button:hover{background:var(--bg)}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}.chip{font-family:Ledger Mono,monospace;font-size:11px;letter-spacing:.03em;border:1px solid var(--line);background:transparent;color:var(--ink-soft);border-radius:3px;padding:5px 10px}.chip[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.ledger{border-top:1px solid var(--line)}.ledger-empty{padding:24px 4px;color:var(--ink-soft);font-size:14px}.row{border-bottom:1px solid var(--line)}.row summary{list-style:none;display:grid;grid-template-columns:34px 1fr auto;gap:14px;align-items:baseline;padding:14px 4px;cursor:pointer}.row summary::-webkit-details-marker{display:none}.row summary:before{content:attr(data-index);font-family:Ledger Mono,monospace;font-size:12px;color:var(--ink-soft)}.row-name{font-size:16.5px}.row-tags{display:flex;gap:8px;align-items:center;font-family:Ledger Mono,monospace;font-size:11px;color:var(--ink-soft)}.row-tags .type-tag{border:1px solid var(--line);border-radius:3px;padding:2px 6px}.row[open] summary{color:var(--accent)}.tree-loading{padding:10px 4px 20px 48px;font-size:13px;color:var(--ink-soft)}.tree{padding:4px 4px 20px 48px}.tree ul{border-left:1px solid var(--line);margin-left:6px}.tree li{position:relative;padding:7px 0 7px 20px;font-size:14.5px}.tree li:before{content:"";position:absolute;left:0;top:17px;width:14px;height:1px;background:var(--line)}.tree .craftable{color:var(--accent);font-family:Ledger Mono,monospace;font-size:10.5px;border:1px solid var(--accent);border-radius:3px;padding:1px 6px;margin-left:8px}.tree .extra{color:var(--ink-soft);font-family:Ledger Mono,monospace;font-size:10.5px;margin-left:6px}.tree .circular{color:#a33;font-family:Ledger Mono,monospace;font-size:10.5px;margin-left:6px}.tree .count{font-family:Ledger Mono,monospace;color:var(--ink-soft)}.tree-empty{color:var(--ink-soft);font-size:13px;padding:6px 0}.grade-toggle{display:inline-flex;gap:4px;margin-left:10px;vertical-align:middle}.grade-btn{--grade-dot: var(--ink-soft);font-family:Ledger Mono,monospace;font-size:10px;letter-spacing:.02em;border:1px solid var(--line);background:transparent;color:var(--ink-soft);border-radius:3px;padding:2px 8px 2px 6px;display:inline-flex;align-items:center;gap:5px}.grade-btn:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--grade-dot);flex:none}.grade-btn[data-grade-level="1"]{--grade-dot: #4a8f4a}.grade-btn[data-grade-level="2"]{--grade-dot: #3d7cc9}.grade-btn[data-grade-level="3"]{--grade-dot: #b08a2e}.grade-btn[data-grade-level="4"]{--grade-dot: #9a4fb0}.grade-btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.grade-btn:hover{border-color:var(--accent)}.craft-count-row{display:flex;align-items:center;gap:10px;padding:6px 4px 16px 48px;font-size:13px;color:var(--ink-soft)}.fav-empty{color:var(--ink-soft);font-size:13.5px;padding:24px 4px}.fav-row.dragging{opacity:.4}.handle{color:var(--ink-soft);cursor:grab;font-family:Ledger Mono,monospace}.stepper{display:inline-flex;align-items:center;gap:8px;font-family:Ledger Mono,monospace}.stepper button{background:none;border:1px solid var(--line);border-radius:3px;width:22px;height:22px;line-height:1;color:var(--ink)}.stepper button:hover{border-color:var(--accent);color:var(--accent)}.fav-remove{background:none;border:none;color:var(--ink-soft);font-size:12px;text-decoration:underline;text-underline-offset:3px}.fav-add{background:none;border:1px solid var(--line);color:var(--ink);border-radius:3px;padding:3px 10px;font-size:12.5px}.fav-add:hover{border-color:var(--accent);color:var(--accent)}.status-line{font-size:12.5px;color:var(--ink-soft);padding:40px 4px 0;text-align:center}
