:root{--blue:#0969da;--blue-bg:#ddf4ff;--green:#1f883d;--green-dark:#1a7f37;--yellow:#9a6700;--red:#cf222e;--fg:#1f2328;--muted:#656d76;--bg:#fff;--subtle:#f6f8fa;--border:#d0d7de;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", "PingFang SC", "Microsoft YaHei", sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--subtle);color:var(--fg);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;font-size:14px;line-height:1.5}.page{background:var(--subtle);min-height:100vh}h1,h2,p{font-weight:inherit;margin:0}button,input,textarea{font-family:var(--font)}.hdr{z-index:10;background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0}.hdr-in{flex-direction:column;gap:10px;max-width:880px;margin:0 auto;padding:12px 16px;display:flex}.hdr-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.hdr-titles{flex:auto;min-width:0}.hdr-title{font-size:20px;font-weight:600;line-height:1.3}.hdr-sub{max-width:100%;color:var(--muted);align-items:baseline;gap:8px;margin-top:2px;font-size:12px;display:flex}.hdr-sub-text{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.hdr-switch{color:var(--muted);font-family:var(--font);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;flex:none;padding:0;font-size:12px;text-decoration:underline}.hdr-switch:hover{color:var(--fg)}.hdr-switch:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:3px}.hdr-actions{flex:none;gap:8px;display:flex}.hint{max-width:880px;color:var(--muted);align-items:center;gap:6px;margin:0 auto;padding:0 16px 10px;font-size:12px;display:flex}.hint-icon{width:14px;height:14px;fill:var(--muted);flex:none}.hint-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.banner{text-align:center;padding:6px 16px;font-size:12px}.banner-offline{color:var(--yellow);background:#fff8c5;border-top:1px solid #f0e6a8}.banner-error{color:var(--red);background:#ffebe9;border-top:1px solid #ffcecb}.banner-damaged{box-sizing:border-box;height:44px;min-height:44px;color:var(--yellow);background:#fff8c5;border-top:1px solid #f0e6a8;justify-content:space-between;align-items:center;gap:12px;padding:0 16px;font-size:13px;display:flex}.banner-damaged-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.banner-damaged-action{min-height:44px;color:var(--yellow);font:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:0 8px;font-weight:600}.banner-damaged-action:hover{text-decoration:underline}.gate{background:var(--subtle);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.gate-card{background:var(--bg);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:10px;width:100%;max-width:360px;padding:24px;display:flex}.gate-title{font-size:20px;font-weight:600;line-height:1.3}.gate-desc{color:var(--muted);font-size:12px}.gate-input{border:1px solid var(--border);background:var(--bg);height:36px;color:var(--fg);border-radius:6px;padding:0 10px;font-size:14px}.gate-input:focus{border-color:#0969da99;outline:none;box-shadow:0 0 0 3px #0969da26}.gate-note{color:var(--muted);font-size:12px}.gate-error{color:var(--red);font-size:13px}.gate-btn{height:36px;margin-top:4px}.gate-progress{background:var(--subtle);border-radius:999px;height:4px;margin-top:6px;overflow:hidden}.gate-progress:after{content:"";background:var(--blue);width:40%;height:100%;animation:1.1s ease-in-out infinite gate-progress;display:block}@keyframes gate-progress{0%{transform:translate(-100%)}to{transform:translate(260%)}}.btn{border:1px solid var(--border);background:var(--subtle);height:32px;color:var(--fg);white-space:nowrap;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;transition:background 80ms;display:inline-flex}.btn:hover{background:#eef1f4}.btn:active{box-shadow:inset 0 1px #1f23281a}.btn:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--green);color:#fff;border-color:#1f232826}.btn-primary:hover{background:var(--green-dark)}.btn-ghost{color:var(--muted);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--subtle);color:var(--fg)}.btn-danger-text{color:var(--red)}.btn-danger{background:var(--red);color:#fff;border-color:#0000}.btn-danger:hover{background:#a40e1a}.btn-sm{height:26px;padding:0 8px;font-size:12px}.grow{flex:1}.search-wrap{width:100%;position:relative}.search{border:1px solid var(--border);background:var(--bg);width:100%;height:32px;color:var(--fg);border-radius:6px;padding:0 32px 0 10px;font-size:13px}.search::placeholder{color:#6e7781}.search:focus{border-color:#0969da99;outline:none;box-shadow:0 0 0 3px #0969da26}.search-clear{cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.search-clear svg{width:14px;height:14px;fill:var(--muted)}.search-clear:hover svg{fill:var(--fg)}.search-clear:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.sample-note{border:1px solid var(--border);background:var(--bg);max-width:880px;color:var(--muted);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;margin:12px auto 0;padding:8px 12px;font-size:12px;display:flex}.sample-note span{min-width:0}.list{max-width:880px;margin:0 auto;padding:8px 16px 24px}.group{margin-top:12px}.group:first-child{margin-top:4px}.group-title{color:var(--muted);letter-spacing:.02em;align-items:center;gap:8px;padding:8px 2px;font-size:12px;font-weight:600;display:flex}.group-title:after{content:"";background:var(--border);flex:1;height:1px}.card{background:var(--bg);border:1px solid var(--border);border-radius:6px;margin-bottom:10px;transition:border-color 80ms,background 80ms;position:relative}.card-main{width:100%;color:inherit;font:inherit;text-align:left;cursor:copy;background:0 0;border:0;border-radius:6px;padding:14px;display:block}@media (hover:hover){.card:hover{background:#fcfdfe;border-color:#afb8c1}}.card:active{background:var(--subtle)}.card-main:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.card-text{font:400 13px/1.6 var(--mono);white-space:pre-wrap;word-break:break-word;-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.card-meta{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:10px;padding-right:64px;font-size:12px;display:block}.card-detail{z-index:1;position:absolute;bottom:10px;right:10px}.copy-badge{height:20px;color:var(--green);background:#1f883d1a;border:1px solid #1f883d42;border-radius:999px;align-items:center;padding:0 8px;font-size:12px;font-weight:500;display:none;position:absolute;top:10px;right:10px}.card.copied .copy-badge{display:inline-flex}.card.copied{border-color:#1f883d80}.empty{text-align:center;max-width:880px;color:var(--muted);margin:0 auto;padding:64px 24px}.empty h2{color:var(--fg);margin-bottom:6px;font-size:16px;font-weight:600}.empty p{margin-bottom:16px}.empty-hint{color:var(--muted);margin-top:-6px;font-size:12px}.boot{background:var(--bg);min-height:100vh}.skeleton{background:var(--subtle);border-radius:6px;height:78px;margin-bottom:10px}.loading-more{color:var(--muted);text-align:center;padding:12px 0;font-size:12px}.scrim{z-index:40;background:#1f232852;animation:.1s fade-in;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.dw-head{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.dw-title{font-size:14px;font-weight:600}.dw-body{flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px;display:flex;overflow-y:auto}.dw-meta{color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.codeblock{background:var(--subtle);border:1px solid var(--border);border-radius:6px;padding:10px 12px}.codeblock pre{font:400 13px/1.6 var(--mono);white-space:pre-wrap;word-break:break-word;color:var(--fg);margin:0}.dw-textarea{border:1px solid var(--border);background:var(--bg);width:100%;min-height:260px;color:var(--fg);font:400 13px/1.6 var(--mono);resize:vertical;border-radius:6px;padding:12px}.dw-textarea:focus{border-color:#0969da99;outline:none;box-shadow:0 0 0 3px #0969da26}.dw-foot{border-top:1px solid var(--border);flex:none;justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.dw-confirm{border-top:1px solid var(--border);flex:none;padding:12px 16px}.confirm-text{color:var(--fg);margin-bottom:10px;font-size:13px}.dw-confirm-actions{justify-content:flex-end;gap:8px;display:flex}.drawer{z-index:41;background:var(--bg);border-left:1px solid var(--border);flex-direction:column;width:420px;animation:.1s drawer-in;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:0 8px 24px #1f23281f}@keyframes drawer-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.dialog{z-index:41;background:var(--bg);border:1px solid var(--border);border-radius:6px;flex-direction:column;width:480px;max-width:calc(100% - 32px);max-height:calc(100% - 32px);animation:.1s dialog-in;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 24px #1f23281f}@keyframes dialog-in{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}.dialog .dw-textarea{flex:1;min-height:180px}.paste-hint{color:var(--muted);font-size:13px;line-height:1.6}.confirm-dialog{width:400px}.toast{z-index:60;color:#fff;opacity:0;pointer-events:none;background:#1f2328;border-radius:6px;max-width:calc(100vw - 32px);padding:8px 14px;font-size:13px;transition:opacity 80ms,transform 80ms;position:fixed;bottom:32px;left:50%;transform:translate(-50%,8px)}.toast.show{opacity:1;transform:translate(-50%)}@media (width<=760px){.hdr-in{padding:12px}.hdr-title{font-size:17px}.hdr-row{flex-wrap:wrap;row-gap:10px}.hdr-actions{width:100%}.hdr-actions .btn{flex:1;height:44px}.search{height:36px;padding-right:44px;font-size:16px}.gate-card{padding:20px}.gate-input{height:44px;font-size:16px}.gate-btn{height:44px}.search-clear{width:44px;height:44px;right:0}.empty .btn{height:44px}.hint{padding:0 12px 10px}.sample-note{margin:10px 12px 0}.list{padding:6px 12px 24px}.card{padding:0}.card-main{padding:12px 12px 64px}.card-text{-webkit-line-clamp:4}.card-detail{height:44px;padding:0 16px;font-size:13px;bottom:12px;right:12px}.dw-textarea{font-size:16px}.drawer{border-left:0;border-top:1px solid var(--border);border-radius:14px 14px 0 0;width:auto;height:76%;animation:.1s sheet-in;inset:auto 0 0}.dialog{border-left:0;border-top:1px solid var(--border);border-radius:14px 14px 0 0;width:auto;max-width:none;max-height:82%;animation:.1s sheet-in;inset:auto 0 0;transform:none}.dialog .dw-textarea{min-height:160px}.dw-body{padding:14px}.dw-foot{padding:10px 14px calc(10px + env(safe-area-inset-bottom))}.dw-foot .btn{height:44px}.dw-confirm{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.toast{bottom:calc(24px + env(safe-area-inset-bottom))}}@keyframes sheet-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.drawer,.dialog,.scrim,.toast{transition:none;animation:none}.gate-progress:after{width:100%;animation:none}}
