@import url(https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500&display=swap);:root{--bg:#080c12;--surface:#0e1520;--surface-2:#141d2c;--surface-3:#1a2438;--border:rgba(255,255,255,.07);--border-bright:rgba(255,255,255,.13);--text:#e8edf5;--muted:#56647a;--muted-2:#2e3a4e;--accent:#4f8cff;--ok:#3ddc84;--danger:#f05252;--warn:#f5a623;--radius:14px;--radius-sm:10px;--topbar-h:56px;--font:'Geist', system-ui, sans-serif;--mono:'Geist Mono', 'SF Mono', monospace;--safe-top:env(safe-area-inset-top, 0px);--safe-bottom:env(safe-area-inset-bottom, 0px)}[data-theme="light"]{--bg:#f2f2f7;--surface:#ffffff;--surface-2:#f2f2f7;--surface-3:#e5e5ea;--border:rgba(0,0,0,.08);--border-bright:rgba(0,0,0,.14);--text:#1c1c1e;--muted:#8e8e93;--muted-2:#d1d1d6;--accent:#007aff;--ok:#34c759;--danger:#ff3b30}[hidden]{display:none!important}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overscroll-behavior:none}body{font-family:var(--font);font-size:14px;line-height:1.5;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overflow:hidden;user-select:none;-webkit-user-select:none}button{font:inherit;border:0;outline:0;cursor:pointer;background:none}input{font:inherit;border:0;outline:0}a{color:inherit;text-decoration:none}#app{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column}.browser-pane{display:flex;flex-direction:column;flex:1;min-height:0}.topbar{height:calc(var(--topbar-h) + var(--safe-top));padding:calc(var(--safe-top) + 10px) 14px 10px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:var(--bg);border-bottom:1px solid var(--border);z-index:10}.brand{display:flex;align-items:center;gap:8px;color:var(--text);padding:4px 8px;margin:-4px -8px;cursor:pointer}.mascot{width:28px;height:28px;object-fit:contain}.brand-name{font-size:17px;font-weight:700;letter-spacing:-.04em}.topbar-actions{display:flex;align-items:center;gap:2px}.icon-btn{width:36px;height:36px;border-radius:var(--radius-sm);color:var(--muted);display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s;flex-shrink:0}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn:active{opacity:.6}.breadcrumb-bar{height:38px;padding:0 14px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--bg);display:flex;align-items:center;gap:8px;overflow:hidden}.breadcrumb{flex:1;min-width:0;display:flex;align-items:center;overflow-x:auto;scrollbar-width:none;white-space:nowrap;gap:0;mask-image:linear-gradient(to right,#000 80%,transparent);-webkit-mask-image:linear-gradient(to right,#000 80%,transparent)}.breadcrumb::-webkit-scrollbar{display:none}.bc-item{display:flex;align-items:center}.bc-item button{padding:3px 6px;border-radius:6px;font-size:13px;font-weight:500;color:var(--muted);transition:background .1s,color .1s;white-space:nowrap}.bc-item button:hover{background:var(--surface-2);color:var(--text)}.bc-item.active button{color:var(--text);font-weight:600;pointer-events:none}.bc-sep{color:var(--muted-2);font-size:14px;padding:0 1px;user-select:none;flex-shrink:0}.entry-count{font-size:12px;color:var(--muted);white-space:nowrap;flex-shrink:0}.main{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;overflow-anchor:none;outline:none}.loading-wrap{display:flex;align-items:center;justify-content:center;height:100%}.ios-spinner{position:relative;width:28px;height:28px;flex-shrink:0}.ios-spinner i{position:absolute;left:50%;top:3px;width:2.2px;height:7px;margin-left:-1.1px;border-radius:1.1px;background:var(--text);transform-origin:50% 11px;animation:ios-blade 1.2s linear infinite;opacity:.08;font-style:normal}.ios-spinner i:nth-child(1){transform:rotate(0deg);animation-delay:0s}.ios-spinner i:nth-child(2){transform:rotate(30deg);animation-delay:-1.1s}.ios-spinner i:nth-child(3){transform:rotate(60deg);animation-delay:-1.0s}.ios-spinner i:nth-child(4){transform:rotate(90deg);animation-delay:-0.9s}.ios-spinner i:nth-child(5){transform:rotate(120deg);animation-delay:-0.8s}.ios-spinner i:nth-child(6){transform:rotate(150deg);animation-delay:-0.7s}.ios-spinner i:nth-child(7){transform:rotate(180deg);animation-delay:-0.6s}.ios-spinner i:nth-child(8){transform:rotate(210deg);animation-delay:-0.5s}.ios-spinner i:nth-child(9){transform:rotate(240deg);animation-delay:-0.4s}.ios-spinner i:nth-child(10){transform:rotate(270deg);animation-delay:-0.3s}.ios-spinner i:nth-child(11){transform:rotate(300deg);animation-delay:-0.2s}.ios-spinner i:nth-child(12){transform:rotate(330deg);animation-delay:-0.1s}@keyframes ios-blade{0%{opacity:1}16%{opacity:.56}33%{opacity:.32}50%{opacity:.18}67%{opacity:.12}83%{opacity:.09}100%{opacity:.08}}.error-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;color:var(--muted);text-align:center;padding:40px}.error-mascot{width:72px;height:72px;object-fit:contain}.retry-btn{padding:0 18px;height:36px;background:var(--surface-2);border:1px solid var(--border-bright);color:var(--text);border-radius:var(--radius-sm);font-size:13px;font-weight:500;transition:background .12s}.retry-btn:hover{background:var(--surface-3)}.file-list{padding:6px 0 calc(20px + var(--safe-bottom))}.section-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:14px 16px 4px}.file-item{position:relative;overflow:hidden;touch-action:pan-y}.fi-actions{position:absolute;right:0;top:0;bottom:0;display:flex;pointer-events:none;visibility:hidden}.fi-actions.visible{pointer-events:auto;visibility:visible}.fi-action{height:100%;min-width:76px;padding:0 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:600;letter-spacing:.01em;border:none;cursor:pointer;transition:opacity .1s}.fi-action:active{opacity:.75}.fi-action-dl{background:var(--ok);color:#fff}.fi-action-link{background:var(--accent);color:#fff}.fi-inner{position:relative;z-index:1;display:flex;align-items:center;gap:12px;padding:0 14px;height:62px;background:var(--bg);cursor:pointer;-webkit-tap-highlight-color:#fff0}.fi-inner:active{background:var(--surface-2)}.fi-inner::after{content:'';position:absolute;left:62px;right:0;bottom:0;height:1px;background:var(--border);pointer-events:none}.fi-icon{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:10px;font-weight:700;font-family:var(--mono)}.fi-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.fi-name{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fi-meta{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fi-size{font-size:12px;color:var(--muted);font-family:var(--mono);white-space:nowrap;flex-shrink:0;margin-right:4px}.fi-chev{color:var(--muted-2);flex-shrink:0;display:flex;align-items:center}.fi-parent .fi-name{color:var(--accent)}.fi-parent .fi-meta{color:var(--muted)}.no-results{display:flex;flex-direction:column;align-items:center;gap:8px;padding:60px 24px;color:var(--muted);text-align:center}.preview-panel{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg);z-index:100;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s cubic-bezier(.32,.72,0,1);will-change:transform;pointer-events:none}.preview-panel.open{transform:translateX(0);pointer-events:auto}.preview-topbar{height:calc(var(--topbar-h) + var(--safe-top));padding:calc(var(--safe-top) + 10px) 14px 10px;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--border);flex-shrink:0}.preview-info{flex:1;min-width:0}.preview-name{display:block;font-size:15px;font-weight:600;letter-spacing:-.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-meta{display:block;font-size:12px;color:var(--muted)}.preview-body{flex:1;height:0;overflow-y:auto;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.code-view{display:flex;font-family:var(--mono);font-size:12.5px;line-height:21px;min-height:100%;min-width:max-content;padding-bottom:calc(32px + var(--safe-bottom))}.code-nums{min-width:50px;padding:16px 0;text-align:right;color:var(--muted-2);background:var(--surface);border-right:1px solid var(--border);user-select:none;position:sticky;left:0;flex-shrink:0;z-index:1}.code-nums span{display:block;padding:0 12px;font-size:11px;line-height:21px}.code-body{flex:1;padding:16px 18px;white-space:pre;min-width:0}.code-body .hljs{background:transparent!important;padding:0}.code-body code{font-family:var(--mono);font-size:12.5px;line-height:21px;white-space:pre;user-select:text;-webkit-user-select:text}[data-theme="dark"] .hljs-comment{color:#4a5568;font-style:italic}[data-theme="dark"] .hljs-keyword,[data-theme="dark"] .hljs-built_in{color:#c792ea}[data-theme="dark"] .hljs-string,[data-theme="dark"] .hljs-attr{color:#c3e88d}[data-theme="dark"] .hljs-number{color:#f78c6c}[data-theme="dark"] .hljs-type,[data-theme="dark"] .hljs-class{color:#ffcb6b}[data-theme="dark"] .hljs-function,[data-theme="dark"] .hljs-title{color:#82aaff}[data-theme="dark"] .hljs-tag,[data-theme="dark"] .hljs-name{color:#f07178}[data-theme="dark"] .hljs-property{color:#80cbc4}[data-theme="dark"] .hljs-boolean,[data-theme="dark"] .hljs-literal{color:#ff5370}[data-theme="dark"] .hljs-operator{color:#89ddff}[data-theme="dark"] .hljs-meta{color:#56647a}[data-theme="dark"] .hljs-attribute{color:#ffcb6b}[data-theme="dark"] .hljs-selector-class{color:#82aaff}[data-theme="dark"] .hljs-selector-id{color:#f07178}[data-theme="light"] .hljs-comment{color:#a0acb8;font-style:italic}[data-theme="light"] .hljs-keyword{color:#a626a4}[data-theme="light"] .hljs-string{color:#50a14f}[data-theme="light"] .hljs-number{color:#986801}[data-theme="light"] .hljs-function,[data-theme="light"] .hljs-title{color:#4078f2}[data-theme="light"] .hljs-type{color:#c18401}[data-theme="light"] .hljs-tag{color:#e45649}[data-theme="light"] .hljs-property{color:#0184bc}.img-preview{display:flex;align-items:center;justify-content:center;min-height:100%;padding:32px;background:var(--surface)}.img-preview img{max-width:100%;max-height:75vh;object-fit:contain;border-radius:var(--radius-sm);box-shadow:0 12px 48px rgb(0 0 0 / .35);user-select:none}.no-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:100%;padding:40px;text-align:center;color:var(--muted)}.no-preview-icon{font-size:46px;line-height:1}.no-preview-img{width:72px;height:72px;object-fit:contain;opacity:.65}.preview-dl-btn{margin-top:4px;padding:0 16px;height:32px;background:var(--accent-dim,rgb(79 140 255 / .12));color:var(--accent);border-radius:var(--radius-sm);font-size:13px;font-weight:500;transition:background .12s}.preview-dl-btn:hover{background:rgb(79 140 255 / .2)}.preview-dl-btn:disabled{opacity:.5}.toast{position:fixed;bottom:calc(28px + var(--safe-bottom));left:50%;transform:translateX(-50%) translateY(12px);background:var(--surface-3);border:1px solid var(--border-bright);color:var(--text);padding:8px 18px;border-radius:20px;font-size:13px;font-weight:500;opacity:0;pointer-events:none;white-space:nowrap;z-index:999;transition:opacity .18s,transform .18s}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.preview-empty{display:none}*{scrollbar-width:thin;scrollbar-color:var(--muted-2) #fff0}*::-webkit-scrollbar{width:4px;height:4px}*::-webkit-scrollbar-track{background:#fff0}*::-webkit-scrollbar-thumb{background:var(--muted-2);border-radius:4px}.resize-handle{display:none}@media (min-width:920px){#app{display:grid;grid-template-columns:var(--split,400px) 4px 1fr;grid-template-rows:auto 1fr;grid-template-areas:"topbar  topbar  topbar" "browser handle  preview"}.topbar{grid-area:topbar}.browser-pane{grid-area:browser;border-right:none}.resize-handle{display:block;grid-area:handle;background:var(--border);cursor:col-resize;user-select:none;transition:background .15s;z-index:20}.resize-handle:hover,.resize-handle.dragging{background:var(--accent)}.preview-panel{grid-area:preview;position:relative!important;transform:none!important;transition:none!important;background:var(--bg);display:flex;flex-direction:column;min-height:0}#backBtn{display:none}.preview-topbar{border-bottom:1px solid var(--border);display:flex;align-items:center;gap:6px}.preview-panel:not(.open) .preview-topbar{display:none}.preview-panel:not(.open) .preview-body{display:none}.preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;flex:1;color:var(--muted);font-size:14px;user-select:none}.preview-empty-mascot{width:60px;opacity:.2}.preview-panel.open .preview-empty{display:none}.fi-meta{display:block}.toast{position:fixed}.code-body{max-width:960px}}