:root{--bg-main: #1a1c1e;--bg-panel: #25282c;--bg-input: #2d3035;--border: #3a3e44;--neon-cyan: #00f5ff;--neon-pink: #ff00aa;--neon-green: #39ff14;--neon-orange: #ff6600;--neon-purple: #bf00ff;--text: #e0e4e8;--text-dim: #8a8f96;--shadow-cyan: 0 0 20px rgba(0, 245, 255, .4);--shadow-pink: 0 0 20px rgba(255, 0, 170, .4)}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,sans-serif;background:var(--bg-main);color:var(--text);min-height:100vh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}#root{min-height:100vh;display:flex;width:100%;min-width:0}.btn-neon{background:var(--bg-input);border:1px solid var(--neon-cyan);color:var(--neon-cyan);padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:box-shadow .2s,background .2s}.btn-neon:hover{box-shadow:var(--shadow-cyan);background:#00f5ff14}.btn-neon:disabled{opacity:.5;cursor:not-allowed}.btn-neon-pink{border-color:var(--neon-pink);color:var(--neon-pink)}.btn-neon-pink:hover{box-shadow:var(--shadow-pink);background:#ff00aa14}input[type=text],input[type=number],input[type=url],input[type=tel],input[type=email],select{background:var(--bg-input);border:1px solid var(--border);color:var(--text);padding:.5rem .75rem;border-radius:6px;font-size:.9rem;width:100%}input:focus,select:focus{outline:none;border-color:var(--neon-cyan);box-shadow:0 0 10px #00f5ff33}input::placeholder{color:var(--text-dim)}label{display:block;font-size:.85rem;color:var(--text-dim);margin-bottom:.25rem}.section-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--neon-cyan);margin:1rem 0 .5rem;padding-bottom:.25rem;border-bottom:1px solid var(--border)}.app-layout{display:flex;width:100%;min-width:0;min-height:100vh;position:relative}@media(max-width:768px){.app-layout{flex-direction:column;height:auto;min-height:100vh}}@media(max-width:768px)and (orientation:portrait){.app-layout{transform:scale(.15625vw);transform-origin:0 0;width:640px;min-height:100vh}}.mobile-landscape-hint{display:none;position:fixed;bottom:1rem;left:50%;transform:translate(-50%);z-index:1000;background:#000000d9;color:var(--neon-cyan, #00f5ff);padding:.5rem 1rem;border-radius:8px;font-size:.85rem;border:1px solid rgba(0,245,255,.3);pointer-events:none}@media(max-width:768px)and (orientation:portrait){.mobile-landscape-hint{display:block}}.screenshot-black-overlay{position:fixed;inset:0;background:#000;z-index:99999;pointer-events:none;opacity:0;transition:opacity .25s ease-out}.screenshot-black-overlay.screenshot-black-overlay--visible{opacity:1;pointer-events:auto;transition:none}.left-panel{width:50%;max-width:420px;min-width:280px;height:100vh;max-height:100vh;background:var(--bg-panel);border-right:1px solid var(--border);overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;scrollbar-color:var(--border) var(--bg-panel);-webkit-overflow-scrolling:touch}@media(max-width:768px){.left-panel{width:100%;max-width:none;min-width:0;height:auto;max-height:45vh;min-height:200px;border-right:none;border-bottom:1px solid var(--border);flex-shrink:0}}.left-panel h1{font-size:1.5rem;margin:0 0 .5rem;color:var(--neon-cyan);text-shadow:0 0 15px rgba(0,245,255,.5);text-align:center}.left-panel::-webkit-scrollbar{width:10px}.left-panel::-webkit-scrollbar-track{background:var(--bg-panel)}.left-panel::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}.left-panel::-webkit-scrollbar-thumb:hover{background:var(--bg-input)}.viewbox-wrap{flex:1;min-width:0;min-height:50vh;height:100vh;background:var(--bg-main);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}@media(max-width:768px){.viewbox-wrap{height:auto;min-height:55vh;flex:1 1 auto}}.viewbox-wrap.no-capture,.viewbox-wrap.no-capture .viewbox,.viewbox-wrap.no-capture .card-scene,.viewbox-wrap.no-capture .card-3d-wrapper,.viewbox-wrap.no-capture .business-card,.viewbox-wrap.no-capture .face,.card-3d-wrapper,.card-face-inner,.card-image-layer,.card-qr-layer,.card-contact-line,.card-text-line,.card-resize-handle{touch-action:none}.viewbox-wrap.no-capture .card-face-inner{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none;user-drag:none;-webkit-tap-highlight-color:transparent}.viewbox-controls{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:10;display:flex;align-items:center;gap:10px}.viewbox-side-indicator{font-size:.75rem;font-weight:700;letter-spacing:.15em;color:var(--neon-cyan);text-shadow:0 0 10px rgba(0,245,255,.6);background:#0009;padding:6px 14px;border-radius:6px;border:1px solid rgba(0,245,255,.4)}.viewbox-side-select{background:#000000b3;color:var(--neon-cyan);border:1px solid rgba(0,245,255,.4);border-radius:6px;padding:6px 10px;font-size:.75rem;cursor:pointer}.viewbox-side-select:hover,.viewbox-side-select:focus{outline:none;box-shadow:0 0 10px #00f5ff4d}.viewbox{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center;perspective:1200px}.card-scene{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.card-3d-wrapper{position:absolute;left:50%;top:50%;transform-style:preserve-3d;cursor:grab;-webkit-user-select:none;user-select:none;transition:transform .05s ease-out}.card-3d-wrapper.dragging{cursor:grabbing}.business-card{width:min(42vw,336px);height:min(24vw,192px);position:relative;transform-style:preserve-3d;border-radius:4px;overflow:hidden;box-shadow:0 20px 60px #00000080,0 0 30px #00f5ff26}.business-card .face{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:4px;display:flex;align-items:center;justify-content:center;overflow:hidden;pointer-events:none;isolation:isolate;transform-style:preserve-3d}.business-card .face[data-visible=true]{pointer-events:auto;z-index:1}.business-card .face[data-visible=false]{pointer-events:none;z-index:0}.business-card .face[data-visible=true] .card-face-inner{pointer-events:auto}.business-card .face-bg{position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none}.business-card .card-face-inner{z-index:1}.card-face-canvas{position:absolute;inset:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;pointer-events:auto}.card-face-canvas>*{pointer-events:auto}.card-face-canvas--front{isolation:isolate}.business-card .face.back{transform:rotateY(180deg)}.card-face-canvas--back{isolation:isolate;transform-style:preserve-3d}.business-card .face.back .card-face-inner--back{width:100%;height:100%;position:relative;transform:scaleX(-1);transform-origin:center center}.card-face-inner{width:100%;height:100%;position:relative;min-width:0;min-height:0;pointer-events:auto}.card-face-inner .card-image-layer{position:absolute;z-index:2;min-width:24px;min-height:24px;pointer-events:auto!important;cursor:move}.card-face-inner .card-image-layer-inner{width:100%;height:100%;min-height:24px;background-size:contain;background-repeat:no-repeat;background-position:center}.card-face-inner .card-image-layer.card-image-layer--dragging{cursor:grabbing}.card-face-inner .card-image-layer.card-image-layer--selected{outline:2px solid var(--neon-green);outline-offset:2px;box-shadow:0 0 14px #39ff1480}.card-face-inner .card-qr-layer{position:absolute;z-index:2;pointer-events:auto!important;cursor:move;min-width:20px;min-height:20px}.card-face-inner .card-qr-layer.card-qr-layer--dragging{cursor:grabbing}.card-face-inner .card-qr-layer.card-qr-layer--selected{outline:2px solid var(--neon-green);outline-offset:2px;box-shadow:0 0 14px #39ff1480}.card-face-inner .card-qr-layer-inner,.card-face-inner .card-qr-layer-inner svg,.card-face-inner .card-qr-layer-inner *{pointer-events:none}.card-face-inner .card-qr-layer-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.card-face-inner .card-qr-layer-inner svg{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;display:block}.card-face-inner .card-contact-line{pointer-events:auto;cursor:move;-webkit-user-select:none;user-select:none;min-width:40px;min-height:14px;padding:2px 4px;box-sizing:border-box}.card-face-inner .card-contact-line.card-contact-line--dragging{cursor:grabbing}.card-face-inner .card-contact-line.card-contact-line--selected{outline:2px solid var(--neon-green);outline-offset:2px;box-shadow:0 0 14px #39ff1480}.card-face-inner .card-text-line{pointer-events:auto;cursor:move;-webkit-user-select:none;user-select:none;min-width:40px;min-height:14px;padding:2px 4px;box-sizing:border-box}.card-face-inner .card-text-line.card-text-line--dragging{cursor:grabbing}.card-face-inner .card-text-line.card-text-line--selected{outline:2px solid var(--neon-green);outline-offset:2px;box-shadow:0 0 14px #39ff1480}.card-selection-box{position:absolute;box-sizing:border-box;border:2px dashed var(--neon-green);box-shadow:0 0 12px #39ff1480;pointer-events:none;z-index:10}.card-selection-box .card-resize-handle{position:absolute;width:14px;height:14px;min-width:14px;min-height:14px;background:var(--neon-green);border:1px solid rgba(0,0,0,.5);border-radius:3px;pointer-events:auto;cursor:nwse-resize;z-index:11}.card-resize-handle--n{top:-7px;left:50%;transform:translate(-50%);cursor:n-resize}.card-resize-handle--s{bottom:-7px;left:50%;transform:translate(-50%);cursor:s-resize}.card-resize-handle--e{right:-7px;top:50%;transform:translateY(-50%);cursor:e-resize}.card-resize-handle--w{left:-7px;top:50%;transform:translateY(-50%);cursor:w-resize}.card-resize-handle--ne{top:-7px;right:-7px;cursor:nesw-resize}.card-resize-handle--nw{top:-7px;left:-7px;cursor:nwse-resize}.card-resize-handle--se{bottom:-7px;right:-7px;cursor:nwse-resize}.card-resize-handle--sw{bottom:-7px;left:-7px;cursor:nesw-resize}.current-side-label{color:var(--neon-cyan);font-weight:700;font-size:.95rem;margin-top:.5rem}.zone-label{margin-top:1rem;color:var(--neon-cyan);font-weight:600}.zone-hint{font-size:.75rem;color:var(--text-dim);margin:.25rem 0 .5rem}.zone-empty{font-size:.8rem;color:var(--text-dim);font-style:italic;margin-bottom:.5rem}.zone-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.qr-adjust-block{margin-bottom:.75rem;padding:.75rem;background:var(--bg-input);border-radius:8px;border:1px solid var(--border)}.qr-adjust-block label{display:block;font-size:.8rem;color:var(--text-dim);margin-bottom:.35rem}.qr-adjust-inputs{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:.35rem;margin-bottom:.5rem}.qr-adjust-inputs input{padding:.35rem .4rem;font-size:.85rem}.image-adjust-block{margin-bottom:.75rem;padding:.75rem;background:var(--bg-input);border-radius:8px;border:1px solid var(--border)}.image-adjust-row{margin-bottom:.5rem}.image-adjust-row label{font-size:.8rem;color:var(--text-dim);margin-bottom:.2rem}.image-adjust-inputs{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}.image-adjust-inputs input{padding:.4rem .5rem;font-size:.85rem}.image-adjust-sliders{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}.image-slider-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.image-slider-label{font-size:.8rem;color:var(--text-dim);min-width:3rem}.image-slider-row input[type=range]{flex:1;height:6px;-webkit-appearance:none;appearance:none;background:var(--border);border-radius:3px}.image-slider-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--neon-cyan);cursor:pointer;box-shadow:0 0 8px #00f5ff80}.image-slider-row input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--neon-cyan);cursor:pointer;border:none;box-shadow:0 0 8px #00f5ff80}.image-slider-value{font-size:.85rem;color:var(--neon-cyan);min-width:2.5rem;text-align:right}.image-face-label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.9rem;color:var(--text-dim)}.image-face-label select{padding:.35rem .5rem;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:inherit}.form-row{margin-bottom:.5rem}.form-row label{margin-bottom:.2rem}.text-line-color-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.text-line-color-row input[type=color]{width:2.5rem;height:2rem;padding:2px;border:1px solid var(--neon-cyan);border-radius:4px;cursor:pointer;background:var(--bg-panel)}.text-line-color-hex{width:6rem;padding:.35rem .5rem;font-size:.85rem;font-family:monospace}.text-line-color-swatches{display:flex;flex-wrap:wrap;gap:4px}.text-line-color-swatch{width:22px;height:22px;border:1px solid rgba(255,255,255,.3);border-radius:4px;padding:0;cursor:pointer}.text-line-color-swatch:hover{transform:scale(1.1);box-shadow:0 0 8px var(--neon-cyan)}.flex-row{display:flex;gap:.5rem;align-items:center}.flex-row button{flex:1}.modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box{background:var(--bg-panel);border:1px solid var(--neon-cyan);border-radius:12px;padding:1.5rem;max-width:90vw;max-height:90vh;overflow:auto;box-shadow:var(--shadow-cyan)}.modal-box h2{margin:0 0 1rem;color:var(--neon-cyan);font-size:1.25rem}.progress-bar{height:8px;background:var(--bg-input);border-radius:4px;overflow:hidden;margin-bottom:1rem}.progress-fill{height:100%;background:linear-gradient(90deg,var(--neon-cyan),var(--neon-pink));transition:width .3s ease}.mint-modal-box .form-row{margin-bottom:.75rem}.mint-modal-box .form-row label{display:block;margin-bottom:.25rem;font-size:.9rem;color:#ffffffd9}.mint-base-uri-input{width:100%;min-width:0;padding:.5rem .75rem;font-family:inherit;font-size:.85rem}.mint-cost{margin-bottom:.75rem;opacity:.9}.mint-gas-tip{font-size:.85rem;color:var(--text-dim, rgba(255,255,255,.6));margin-bottom:.75rem}.mint-links{font-size:.9rem;margin-bottom:.75rem}.mint-error{margin-bottom:.5rem}.mint-details{margin-bottom:.75rem}.mint-details .mint-token-id,.mint-details .mint-contract-address{margin:.25rem 0;font-size:.9rem}.mint-address-code{display:inline-block;max-width:100%;word-break:break-all;font-size:.8rem;padding:.2rem .4rem;background:#0000004d;border-radius:4px}.mint-import-tip{font-size:.85rem;opacity:.9;margin-bottom:1rem;padding:.5rem .75rem;background:#0003;border-radius:6px;border-left:3px solid var(--neon-cyan, #0ff)}.color-swatch{width:24px;height:24px;border-radius:4px;display:inline-block;vertical-align:middle;margin-right:8px;border:2px solid var(--border)}
