*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-0: #ffffff;--bg-1: #fafafa;--bg-2: #f0f0f0;--bg-3: #e8e8e8;--bg-4: #e0e0e0;--border-subtle: #e8e8e8;--border-default: #ddd;--border-strong: #ccc;--text-primary: #1a1a1a;--text-secondary: #555;--text-tertiary: #888;--text-muted: #bbb;--accent: #2b7de9;--accent-hover: #1a6cd8;--accent-dim: #e8f0fd;--success: #2e9e3a;--success-hover: #258a30;--success-dim: #e6f5e8;--warning: #c88a2c;--warning-dim: #fdf4e5;--error: #d03e3e;--error-hover: #b93333;--error-dim: #fde8e8;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--font-sans: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", system-ui, sans-serif;--font-mono: "SF Mono", "Fira Code", "Cascadia Code", "JetBrains Mono", Menlo, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 48px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .08);--shadow-md: 0 4px 20px rgba(0, 0, 0, .1);--shadow-lg: 0 16px 64px rgba(0, 0, 0, .15);--transition-fast: .12s ease;--transition-normal: .2s ease}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-sans);font-size:14px;line-height:1.5;background:var(--bg-0);color:var(--text-secondary);min-height:100vh}::selection{background:var(--accent);color:#fff}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}#app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.left-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-default);flex-shrink:0}.search-group{flex:1;min-width:0;display:flex;align-items:center;background:var(--bg-0);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:border-color var(--transition-normal)}.search-group:hover{border-color:var(--border-default)}.search-group:focus-within{border-color:var(--border-strong)}.search-group input{flex:1;min-width:0;padding:7px 12px;font-family:var(--font-mono);font-size:13px;color:var(--text-primary);background:transparent;border:none;outline:none}.search-group input:-webkit-autofill,.search-group input:-webkit-autofill:hover,.search-group input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0 1000px var(--bg-0) inset;transition:background-color 9999s ease-in-out 0s}.search-group input::placeholder{color:var(--text-muted);font-family:var(--font-sans);font-style:italic}.search-btn{display:flex;align-items:center;justify-content:center;width:34px;height:30px;background:transparent;border:none;border-left:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:color var(--transition-fast),background var(--transition-fast)}.search-btn:hover{color:var(--text-primary);background:var(--bg-2)}.search-btn:active{background:var(--bg-3)}.header-sep{width:1px;height:20px;background:var(--border-subtle);flex-shrink:0}.wallet-info{display:flex;align-items:center;flex-shrink:0}.wallet-status{display:flex;align-items:center;gap:var(--space-2);font-size:11px;color:var(--text-tertiary);white-space:nowrap}.status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-dot.mainnet{background:var(--success)}.status-dot.sepolia{background:var(--accent)}.status-dot.unsupported{background:var(--error)}.wallet-net{font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.wallet-addr{font-family:var(--font-mono);color:var(--text-muted)}.wallet-bal{color:var(--text-muted)}button{font-family:inherit;border:none;outline:none}.btn-connect{padding:5px 12px;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--text-tertiary);background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.btn-connect:hover{color:var(--text-secondary);border-color:var(--border-default);background:var(--bg-2)}.btn-connect:active{background:var(--bg-1)}.btn-connect:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.split-layout{flex:1;display:flex;overflow:hidden}.left-panel{width:50%;display:flex;flex-direction:column;border-right:1px solid var(--border-default)}.right-panel{width:50%;position:relative;overflow:hidden;background:#fff;container-type:size}.log-panel{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--bg-1)}.log-content{flex:1;overflow-y:auto;padding:var(--space-3) var(--space-5);font-family:var(--font-mono);font-size:11px;line-height:1.7;color:var(--text-tertiary)}.center-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:14px;gap:var(--space-4)}.center-state-icon{font-size:40px;opacity:.3}.spinner{width:28px;height:28px;border:2.5px solid var(--border-default);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.artpiece-wrapper{position:absolute;inset:0;opacity:0;transition:opacity .5s ease}.artpiece-wrapper.visible{opacity:1}.artpiece-container{width:min(500px,90cqw,90cqh);aspect-ratio:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.artpiece-container iframe{display:block;width:100%;height:100%;border:none;background:#000}.source-view{display:none;width:100%;height:100%;margin:0;padding:60px var(--space-4) var(--space-4);overflow:auto;background:#000;color:#ffffff73;font-family:var(--font-mono);font-size:11px;line-height:1.5;white-space:pre-wrap;word-break:break-word;box-sizing:border-box}.art-toolbar{position:absolute;top:var(--space-3);right:var(--space-3);display:flex;gap:var(--space-2);z-index:5}.toolbar-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#f0f0f0;border:1px solid #ddd;border-radius:var(--radius-md);color:#999;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);text-decoration:none}.toolbar-btn:hover,.toolbar-btn:focus-visible{background:#e5e5e5;border-color:#ccc;color:#1a1a1a}a.toolbar-btn:hover{text-decoration:none}.toolbar-btn.active{background:#e5e5e5;border-color:#ccc;color:#1a1a1a}.marketplace-panel{border-top:1px solid var(--border-default);overflow-y:auto;flex-shrink:0;max-height:50%;opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease}.marketplace-panel.visible{opacity:1;transform:translateY(0)}.marketplace-panel:empty{display:none}.mkt{display:flex;flex-direction:column;padding:var(--space-2) 0}.mkt-row{display:flex;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);min-height:54px}.mkt-row:last-child{border-bottom:none}.mkt-fused{flex:1;min-width:0;display:flex;align-items:center;background:var(--bg-0);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:border-color var(--transition-normal)}.mkt-fused:hover{border-color:var(--border-default)}.mkt-fused:focus-within{border-color:var(--border-strong)}.mkt-fused input{flex:1;min-width:0;padding:8px 12px;font-family:var(--font-mono);font-size:12px;color:var(--text-primary);background:transparent;border:none;outline:none}.mkt-fused input:-webkit-autofill,.mkt-fused input:-webkit-autofill:hover,.mkt-fused input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0 1000px var(--bg-0) inset;transition:background-color 9999s ease-in-out 0s}.mkt-fused input::placeholder{color:var(--text-muted);font-family:var(--font-sans);font-style:italic}.mkt-fused .mkt-input-inline{flex:3;min-width:0;max-width:none;border:none;border-left:1px solid var(--border-subtle);outline:none}.mkt-input-inline::placeholder{color:var(--text-muted);font-family:var(--font-sans);font-style:italic}.mkt-actions{display:flex;min-width:210px;flex-shrink:0;margin-left:auto}.mkt-actions>*:first-child{border-left:1px solid var(--border-subtle)}.mkt-actions>*+*{border-left:1px solid var(--border-subtle)}.mkt-btn{padding:10px 16px;flex:1;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;text-align:center;color:var(--text-secondary);background:transparent;border:none;border-left:1px solid var(--border-subtle);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:color var(--transition-fast),background var(--transition-fast)}.mkt-btn:hover{color:var(--text-primary);background:var(--bg-2)}.mkt-btn-ghost{padding:10px 18px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);border-left:1px solid var(--border-subtle);margin-left:auto}.mkt-btn-ghost:hover{border-color:var(--border-default)}.mkt-btn-accent{padding:10px 18px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);border-left:1px solid var(--border-subtle);color:var(--success);margin-left:auto}.mkt-btn-accent:hover{background:color-mix(in srgb,var(--success) 10%,transparent);border-color:color-mix(in srgb,var(--success) 30%,transparent)}.mkt-btn-danger{color:color-mix(in srgb,var(--error) 70%,var(--text-muted))}.mkt-btn-danger:hover{color:var(--error);background:color-mix(in srgb,var(--error) 8%,transparent)}.mkt-btn-full{width:100%}.mkt-toggle{padding:10px 12px;font-size:10px;color:var(--text-muted);cursor:pointer;user-select:none;white-space:nowrap;flex-shrink:0;border-left:1px solid var(--border-subtle);transition:color var(--transition-fast),background var(--transition-fast)}.mkt-toggle:hover{color:var(--text-secondary);background:var(--bg-2)}.mkt-toggle.active{color:var(--text-primary);background:var(--bg-2)}.mkt-hint{display:flex;align-items:center;min-height:54px;padding:var(--space-3) var(--space-4);font-size:12px;color:var(--text-muted);font-style:italic}a{color:var(--accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover);text-decoration:underline}@media(max-width:860px){.split-layout{flex-direction:column}.left-panel{width:100%;max-height:40%;border-right:none;border-bottom:1px solid var(--border-default)}.right-panel{width:100%;flex:1}.marketplace-panel{max-height:none}.wallet-addr{display:none}}@media(max-width:520px){.search-group input{font-size:12px;padding:6px 10px}.wallet-bal,.wallet-addr,.header-sep{display:none}}
