:root{--bg:#0e0d0c;--panel:#1e1c1a;--surface:#2a2826;--border:#3a3836;--border-light:#5c5854;--text:#d4cfc8;--text-muted:#8a847a;--accent:#c8b89a;--accent-dim:#9a8e78;--white:#f0ece6;--font-mono:"SF Mono", "Cascadia Mono", Consolas, monospace}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:PingFang SC,Microsoft YaHei,-apple-system,sans-serif;overflow:hidden}.app{width:100vw;height:100vh;position:relative}.viewport{position:absolute;inset:0}.viewport canvas{display:block}.topbar{z-index:40;pointer-events:none;background:linear-gradient(#0e0d0cd9,#0e0d0c00);padding:22px 28px;position:fixed;top:0;left:0;right:0}.hud-eyebrow{font-family:var(--font-mono);letter-spacing:.25em;color:var(--accent-dim);font-size:10px}.hud-rule{background:var(--border);width:260px;height:1px;margin:8px 0}.hud-title{font-family:var(--font-mono);letter-spacing:.12em;color:var(--white);font-size:22px;font-weight:700}.hud-title span{color:var(--accent)}.hud-subtitle{font-family:var(--font-mono);letter-spacing:.3em;color:var(--text-muted);margin-top:4px;font-size:10px}.hud-meta{margin-top:10px}.fileinfo{font-family:var(--font-mono);letter-spacing:.15em;color:var(--text-muted);font-size:10px}.btn-strip{z-index:55;pointer-events:none;align-items:center;gap:8px;display:flex;position:fixed;bottom:30px;right:24px}.strip-btn{border:1px solid var(--border);min-width:36px;height:36px;color:var(--text);cursor:pointer;font-family:var(--font-mono);letter-spacing:.05em;pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1a1816eb;border-radius:4px;justify-content:center;align-items:center;padding:0 10px;font-size:11px;transition:border-color .2s,background .2s,opacity .2s;display:flex}.strip-btn:hover{border-color:var(--accent)}.strip-btn.active{border-color:var(--accent);background:var(--surface)}.strip-btn.inactive{opacity:.6}.btn-label{white-space:nowrap;margin-left:6px;font-size:11px;line-height:1}.import-btn{gap:8px;padding:0 16px}.lib-toggle{z-index:55;padding:0 16px;position:fixed;bottom:30px;left:24px}.btn-sep{background:var(--border);pointer-events:none;width:1px;height:20px}.hint{font-family:var(--font-mono);letter-spacing:.2em;color:#8a847a99;z-index:40;pointer-events:none;white-space:nowrap;background:#0e0d0c99;border:1px solid #ffffff0f;border-radius:4px;padding:6px 14px;font-size:10px;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.dropzone{z-index:60;background:#c8b89a0f;border:1px dashed #c8b89a66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dropzone span{font-family:var(--font-mono);letter-spacing:.3em;color:var(--accent);font-size:14px}.library{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-right:1px solid var(--border);background:#1e1c1af5;flex-direction:column;width:280px;transition:transform .3s;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.library.open{transform:translate(0)}.library h2{font-family:var(--font-mono);letter-spacing:.2em;color:var(--accent);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:20px 20px 14px;font-size:12px;font-weight:700;display:flex}.library h2 svg{flex-shrink:0}.library h2 .count{color:var(--text-muted);margin-left:auto;font-size:10px;font-weight:400}.library .close{cursor:pointer;color:var(--text-muted);margin-left:8px;padding:2px;display:flex}.library .close:hover{color:var(--white)}.library .list{flex:1;padding:8px 0;overflow-y:auto}.library .item{cursor:pointer;border-left:2px solid #0000;padding:12px 20px;transition:background .15s}.library .item:hover{background:#c8b89a0f}.library .item.active{border-left-color:var(--accent);background:#c8b89a1a}.library .item .name{font-family:var(--font-mono);color:var(--text);letter-spacing:.05em;font-size:12px;font-weight:600}.library .item .meta{color:var(--text-muted);margin-top:3px;font-size:10px}.library .empty{text-align:center;color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.1em;padding:40px 24px;font-size:11px;line-height:2}
