:root{color-scheme:light dark;--bg: #f6f5f2;--fg: #1d1c1a;--muted: #6b6963;--card: #ffffff;--line: #e2dfd8;--accent: #3f7d5a;--danger: #a3412f;font-family:system-ui,-apple-system,Segoe UI,sans-serif}@media(prefers-color-scheme:dark){:root{--bg: #161513;--fg: #ecebe6;--muted: #9c9a92;--card: #211f1c;--line: #33302b;--accent: #6fb88e;--danger: #e06b55}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg)}.shell{max-width:880px;margin:0 auto;padding:16px}.centered{max-width:420px;margin-top:12vh}.top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:20px;flex-wrap:wrap}.brand{font-weight:600;font-size:18px}nav{display:flex;gap:8px}nav button.active{border-color:var(--accent);color:var(--accent)}h1{font-size:24px;margin:0 0 8px}h2{font-size:16px;margin:0 0 8px}.muted{color:var(--muted)}.error{color:var(--danger)}.notice{padding:10px 12px;border:1px solid var(--line);border-radius:8px}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px}.stack{display:flex;flex-direction:column;gap:14px}.row{display:flex;gap:8px;margin-top:10px}input{flex:1;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg);font-size:15px}button{padding:8px 14px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--fg);cursor:pointer;font-size:14px}button:hover{border-color:var(--accent)}button.danger{border-color:var(--danger);color:var(--danger);margin-top:10px}button:disabled{opacity:.6;cursor:default}pre.token{padding:10px;background:var(--bg);border:1px dashed var(--line);border-radius:8px;overflow-x:auto;-webkit-user-select:all;user-select:all}nav{flex-wrap:wrap}.shell.wide{max-width:1100px}.h-sub{font-size:15px;font-weight:400;margin-left:8px}select{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg);font-size:14px}button.small{padding:4px 10px;font-size:13px}ul.plain{list-style:none;margin:0;padding:0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:720px){.two-col{grid-template-columns:1fr}}.inv{display:flex;gap:14px;align-items:flex-start}.inv-tree{width:260px;flex:none;max-height:calc(100vh - 160px);overflow:auto;padding:10px}.inv-main{flex:1;min-width:0}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.filters input,.filters select{flex:1;min-width:120px}.filters .check{display:flex;align-items:center;gap:6px;flex:none;font-size:14px}.filters .check input{flex:none;width:auto}.inv-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.inv-heading{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}@media(max-width:720px){.inv{flex-direction:column}.inv-tree{width:100%;max-height:40vh}}.tree,.tree ul{list-style:none;margin:0;padding:0}.tree-row{display:flex;align-items:center;gap:2px;min-width:0;border-radius:6px}.tree-row.selected{background:color-mix(in srgb,var(--accent) 14%,transparent)}.tree-row button{border:none;background:none;padding:5px 4px;font-size:14px;border-radius:6px;color:inherit}.tree-row button:hover{background:color-mix(in srgb,var(--fg) 7%,transparent)}.tree-toggle{flex:none;width:22px;text-align:center;color:var(--muted);padding:5px 0!important}.tree-name{flex:1;min-width:0;display:flex;align-items:center;gap:6px;text-align:left}.tree-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-lock{font-size:11px;flex:none}.tree-count{font-size:12px;flex:none}.inv-list{position:relative;height:min(70vh,640px);overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--card);contain:strict}.inv-empty{padding:16px;margin:0}.inv-row{position:absolute;top:0;left:0;width:100%;height:48px;display:grid;grid-template-columns:40px minmax(0,1fr) 90px 140px 90px;align-items:center;gap:10px;padding:0 10px;border:none;border-bottom:1px solid var(--line);border-radius:0;background:none;text-align:left;font-size:14px;cursor:pointer}.inv-row:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.inv-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.inv-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inv-type,.inv-creator,.inv-date{font-size:13px}@media(max-width:720px){.inv-row{grid-template-columns:40px minmax(0,1fr) 80px}.inv-creator,.inv-date{display:none}}.thumb{width:40px;height:40px;flex:none;border-radius:6px;background:var(--line);object-fit:cover;display:block}.thumb-large{width:256px;height:256px;max-width:100%;border-radius:10px;margin:0 0 12px}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:20}.drawer{position:fixed;top:0;right:0;bottom:0;width:440px;max-width:100%;z-index:21;background:var(--card);border-left:1px solid var(--line);box-shadow:-8px 0 24px #00000026;padding:16px;overflow-y:auto;overflow-x:hidden}.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.drawer-title{margin:0;font-size:18px;overflow-wrap:anywhere}.drawer-desc{white-space:pre-wrap;overflow-wrap:anywhere}.fields{margin:0;display:grid;gap:8px}.field{display:grid;grid-template-columns:130px minmax(0,1fr);gap:8px;font-size:14px}.field dt{color:var(--muted)}.field dd{margin:0;overflow-wrap:anywhere}@media(max-width:720px){.drawer{width:100%;border-left:none}.field{grid-template-columns:1fr;gap:2px}}.rule{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.rule-body{min-width:0;flex:1}.rule-path{overflow-wrap:anywhere}.rule-actions{display:flex;gap:8px;flex:none}.rule-line{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;border-top:1px solid var(--line)}.rule-line:first-child{border-top:none}.rule-line-path{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:720px){.rule{flex-direction:column}.rule-actions{width:100%}.rule-actions button{flex:1}}.table-wrap{overflow-x:auto;padding:0}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.table th{font-weight:600;color:var(--muted);font-size:13px}.table tr:last-child td{border-bottom:none}.table .num{text-align:right}
