@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(./press-start-2p-latin-ClsvrIBJ.woff2) format("woff2")}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{color-scheme:dark;--bg: oklch(.14 .02 155);--bg-deep: oklch(.11 .02 155);--surface: oklch(.18 .02 155);--surface-raise: oklch(.22 .02 155);--fg: oklch(.93 .015 155);--muted: oklch(.72 .03 155);--weak: oklch(.6 .03 155);--border: oklch(.33 .02 155);--border-bright: oklch(.5 .03 155);--accent: oklch(.82 .17 155);--accent-strong: oklch(.7 .15 155);--accent-ink: oklch(.13 .05 155);--accent-glow: oklch(.82 .17 155 / .14);--success: oklch(.72 .17 160);--warn: oklch(.8 .14 80);--danger: oklch(.64 .19 25);--shadow-px: oklch(.06 .01 155);--primary-hover: oklch(.85 .17 155);--hover-fg: var(--accent);--font-pixel: "Press Start 2P", ui-monospace, "SF Mono", Menlo, monospace;--font-body: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, "PingFang SC", monospace}:root[data-theme=light]{color-scheme:light;--bg: oklch(.96 .012 155);--bg-deep: oklch(.9 .02 155);--surface: oklch(.99 .005 155);--surface-raise: oklch(.93 .015 155);--fg: oklch(.24 .02 155);--muted: oklch(.4 .03 155);--weak: oklch(.42 .03 155);--border: oklch(.8 .015 155);--border-bright: oklch(.62 .04 155);--accent: oklch(.82 .17 155);--accent-strong: oklch(.42 .14 155);--accent-ink: oklch(.13 .05 155);--accent-glow: oklch(.82 .17 155 / .16);--success: oklch(.5 .15 160);--warn: oklch(.44 .15 80);--danger: oklch(.44 .2 25);--shadow-px: oklch(.28 .03 155 / .45);--primary-hover: oklch(.76 .17 155);--hover-fg: var(--accent-strong)}html,body{min-height:100%}body{color:var(--fg);font-family:var(--font-body);line-height:1.75;font-size:16px;background-color:var(--bg);background-image:radial-gradient(color-mix(in oklab,var(--accent) 6%,transparent) 1px,transparent 1px);background-size:24px 24px;background-attachment:fixed}a{color:inherit;text-decoration:none}button{font-family:inherit;border:none;cursor:pointer;-webkit-user-select:none;user-select:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent);color:var(--accent-ink)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border-bright);border:2px solid var(--bg)}*::-webkit-scrollbar-track{background:var(--bg)}.page{max-width:960px;margin:0 auto;padding:0 20px 96px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0 18px}.brand{display:inline-flex;align-items:center;gap:12px}.brand-logo{display:block;width:36px;height:36px;background:var(--accent);box-shadow:3px 3px 0 var(--shadow-px)}.brand-logo svg{display:block;shape-rendering:crispEdges}.brand-word{font-family:var(--font-pixel);font-size:12px;line-height:1;letter-spacing:.06em;color:var(--fg)}.brand-cursor{display:inline-block;width:10px;height:14px;margin-left:2px;background:var(--accent);animation:blink 1s steps(1) infinite}.topbar-right{display:flex;align-items:center;gap:16px}.topnav a{font-size:13px;color:var(--muted);transition:color .12s ease}.topnav a:before{content:"";display:inline-block;width:5px;height:5px;margin-right:7px;background:var(--border-bright);vertical-align:2px;transition:background .12s ease}.topnav a:hover{color:var(--hover-fg)}.topnav a:hover:before{background:var(--accent-strong)}.rock-switch{position:relative;display:inline-flex;width:66px;height:28px;padding:0;background:var(--surface-raise);border:2px solid var(--border-bright);box-shadow:2px 2px 0 var(--shadow-px);cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0}.rock-switch:hover{border-color:var(--accent-strong)}.rs-track{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:space-between;padding:0 7px;pointer-events:none}.rs-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--weak);z-index:2;transition:color .15s ease}.rock-switch:not(.on) .rs-dark{color:var(--fg);font-weight:600}.rock-switch.on .rs-light{color:var(--fg);font-weight:600}.rs-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;background:var(--accent);border:2px solid var(--accent-strong);box-shadow:1px 1px 0 var(--shadow-px);z-index:1;transition:transform .26s steps(5,end)}.rs-knob i{position:absolute;left:3px;top:3px;width:5px;height:5px;background:var(--accent-ink);pointer-events:none}.rock-switch.on .rs-knob{transform:translate(38px) rotate(180deg)}.page-title{font-size:24px;font-weight:700;color:var(--fg);line-height:1.35;margin-bottom:10px}.page-title:after{content:"";display:block;width:100%;height:6px;margin-top:10px;background:repeating-linear-gradient(90deg,var(--border-bright) 0 8px,var(--surface-raise) 8px 16px)}.page-sub{color:var(--muted);font-size:14px;margin-bottom:18px}.tabs{display:flex;gap:0;margin-top:28px}.tab-btn{padding:12px 28px;background:var(--surface);border:2px solid var(--border);border-bottom:none;font-size:14px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .12s ease;box-shadow:3px 0 0 var(--shadow-px)}.tab-btn:first-child{border-radius:8px 0 0}.tab-btn:last-child{border-radius:0 8px 0 0}.tab-btn.active{background:var(--surface-raise);color:var(--accent);border-color:var(--accent-strong)}.tab-btn:hover:not(.active){color:var(--fg);background:var(--surface-raise)}.panel{background:var(--surface);border:2px solid var(--border);box-shadow:6px 6px 0 var(--shadow-px);padding:28px 32px;position:relative}.panel:before,.panel:after{content:"";position:absolute;width:16px;height:16px;pointer-events:none}.panel:before{top:10px;left:10px;border-top:3px solid var(--border-bright);border-left:3px solid var(--border-bright)}.panel:after{bottom:10px;right:10px;border-bottom:3px solid var(--border-bright);border-right:3px solid var(--border-bright)}.field{margin-bottom:16px}.field label{display:block;font-size:14px;color:var(--fg);font-weight:600;margin-bottom:8px;font-family:var(--font-body)}.file-row{display:flex;gap:8px;align-items:center}.file-name{flex:1;padding:10px 14px;background:var(--surface-raise);border:2px solid var(--border);color:var(--fg);font-size:14px;font-family:var(--font-mono);min-height:44px;display:flex;align-items:center}.file-name.empty{color:var(--weak)}.btn-choose{padding:10px 16px;background:var(--surface-raise);border:2px solid var(--border-bright);color:var(--muted);font-size:14px;font-weight:600;white-space:nowrap;box-shadow:3px 3px 0 var(--shadow-px);transition:all .12s ease}.btn-choose:hover{background:var(--accent-glow);color:var(--hover-fg);border-color:var(--accent-strong)}.btn-choose:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--shadow-px)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;font-family:var(--font-body);font-size:15px;font-weight:700;letter-spacing:.02em;background:var(--accent);color:var(--accent-ink);border:2px solid var(--accent-strong);box-shadow:4px 4px 0 var(--shadow-px);cursor:pointer;transition:all .12s ease}.btn-primary:hover{background:var(--primary-hover);box-shadow:5px 5px 0 var(--shadow-px)}.btn-primary:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--shadow-px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;font-family:var(--font-body);font-size:15px;font-weight:700;background:transparent;color:var(--muted);border:2px solid var(--border-bright);cursor:pointer;transition:all .12s ease}.btn-ghost:hover{background:var(--accent-glow);color:var(--hover-fg);border-color:var(--accent-strong)}.btn-ghost:active{transform:translate(2px,2px)}.btn-row{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}.adv-toggle{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--accent-strong);cursor:pointer;margin:12px 0 10px;-webkit-user-select:none;user-select:none;display:inline-block}.adv-toggle:hover{color:var(--accent)}.adv-panel{display:none;background:var(--surface-raise);border:2px solid var(--border);padding:16px 18px;margin-bottom:14px}.adv-panel.show{display:block}.adv-panel .field{margin-bottom:10px}.adv-panel input[type=text]{padding:8px 10px;border:2px solid var(--border);background:var(--bg);color:var(--fg);font-size:13px;font-family:var(--font-mono);width:200px}.adv-panel input[type=text]:focus{border-color:var(--accent-strong);outline:none}.adv-panel label.inline{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--fg);cursor:pointer;font-family:var(--font-body);text-transform:none;letter-spacing:0}.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite;vertical-align:-2px;margin-right:6px}@keyframes spin{to{transform:rotate(360deg)}}.status.loading{color:var(--muted)}.summary-cards{display:flex;gap:14px;margin-top:20px;flex-wrap:wrap}.s-card{flex:1;min-width:140px;background:var(--surface-raise);border:2px solid var(--border);padding:16px 18px;box-shadow:3px 3px 0 var(--shadow-px)}.s-k{font-family:var(--font-body);font-size:13px;color:var(--muted);font-weight:600;margin-bottom:10px}.s-v{font-size:30px;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums;font-family:var(--font-body);line-height:1.1}.s-v.red{color:var(--danger)}.s-v.green{color:var(--success)}.s-v.orange{color:var(--warn)}.result-sections{margin-top:24px}.result-section{margin-bottom:28px}.result-section h3{font-size:16px;font-weight:700;color:var(--fg);margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--border)}.result-section h3 .count{font-size:14px;font-weight:700;color:var(--accent-strong);margin-left:8px}.result-table-wrap{overflow-x:auto;max-height:440px;overflow-y:auto;border:2px solid var(--border)}.result-table{width:100%;border-collapse:collapse;font-size:14px;font-family:var(--font-body)}.result-table th{background:var(--surface-raise);color:var(--fg);font-weight:700;padding:10px 14px;text-align:left;position:sticky;top:0;z-index:1;white-space:nowrap;border-bottom:2px solid var(--border-bright)}.result-table td{padding:9px 14px;border-bottom:1px solid var(--border);white-space:nowrap;color:var(--fg);font-variant-numeric:tabular-nums}.result-table tr:hover td{background:var(--accent-glow)}.more-btn{display:block;width:100%;padding:11px;background:var(--surface-raise);border:2px solid var(--border);border-top:none;font-size:14px;font-weight:600;color:var(--accent-strong);cursor:pointer;text-align:center;font-family:var(--font-body)}.more-btn:hover{background:var(--accent-glow);color:var(--accent)}.empty-hint{color:var(--weak);font-size:14px}.col-row{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.col-lbl{font-family:var(--font-body);font-size:13px;color:var(--muted);font-weight:600}.col-row select{width:230px;padding:8px 10px;border:2px solid var(--border);background:var(--bg);color:var(--fg);font-size:14px;font-family:var(--font-body);cursor:pointer}.col-row select:focus{border-color:var(--accent-strong);outline:none}.col-row select:disabled{opacity:.4;cursor:not-allowed}.hint-text{font-family:var(--font-body);font-size:13px;color:var(--warn);margin-top:8px;font-weight:600}.policy-list{background:var(--bg-deep);border:2px solid var(--border);padding:14px 16px;font-size:14px;line-height:1.9;max-height:220px;overflow-y:auto;font-family:var(--font-mono)}.policy-list .tag{display:inline-block;background:var(--accent);color:var(--accent-ink);font-size:11px;padding:2px 7px;margin-right:8px;font-weight:700;font-family:var(--font-body)}.policy-list .tag.miss{background:var(--danger);color:var(--fg)}.policy-item{padding:2px 0}.status{font-family:var(--font-body);font-size:14px;color:var(--muted);margin-top:10px;font-weight:600}.status.err{color:var(--danger)}.status.ok{color:var(--success)}.hudbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;margin-bottom:20px;background:var(--surface-raise);border:2px solid var(--border);box-shadow:3px 3px 0 var(--shadow-px);font-family:var(--font-pixel);font-size:10px;letter-spacing:.06em}.hudbar .d{width:6px;height:6px;background:var(--accent-strong);flex:none}.hudbar .d.m{background:var(--border-bright)}.hudbar .ttl{color:var(--muted)}.hudbar .dash{flex:1;min-width:20px;height:2px;background:var(--border)}.hudbar .ver{color:var(--weak)}.footer{position:relative;margin-top:72px;padding-top:30px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-family:var(--font-pixel);font-size:10px;letter-spacing:.08em;color:var(--weak)}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:8px;background:repeating-linear-gradient(90deg,var(--border-bright) 0 10px,var(--surface-raise) 10px 20px)}.footer .mono{font-family:var(--font-mono);font-size:11px;letter-spacing:.02em}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:680px){.page{padding:0 14px 64px}.topbar{flex-direction:column;align-items:flex-start}.topbar-right{width:100%;justify-content:space-between}.panel{padding:20px 16px}.two-col{grid-template-columns:1fr}.tabs{flex-direction:column}.tab-btn{border-radius:0!important;border-bottom:2px solid var(--border)}}
