:root{--primary: #86a2ff;--primary-dark: #6e86cc;--bg: #0f172a;--card-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--text: #f8fafc;--text-dim: #94a3b8;--accent: #f0fbdd;--radius: 12px;--font-family: "Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--text);font-family:var(--font-family);min-height:100vh;overflow-x:hidden}.app-container{display:flex;flex-direction:column;height:100vh;width:100vw}header{padding:1rem 2rem;background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--glass-border);display:flex;justify-content:space-between;align-items:center;z-index:100}.brand-container{display:flex;align-items:center;gap:12px}.brand-name{font-size:1.6rem;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,var(--primary),#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-vision-logo{width:40px;height:40px;padding:4px;background:linear-gradient(135deg,var(--primary),#6366f1);border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #86a2ff66}.logo-eye{width:100%;height:100%;background:#fff;border-radius:50% 0;transform:rotate(45deg);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.logo-pupil{width:50%;height:50%;background:var(--bg);border-radius:50%}.logo-shimmer{position:absolute;top:-100%;left:-100%;width:200%;height:200%;background:linear-gradient(45deg,transparent 45%,rgba(255,255,255,.4) 50%,transparent 55%);animation:shimmer 3s infinite}@keyframes shimmer{0%{transform:translate(-30%,-30%)}to{transform:translate(30%,30%)}}.screens-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;padding:1.5rem;flex:1;overflow:hidden}.screen-container{display:flex;flex-direction:column;background:var(--card-bg);border:1px solid var(--glass-border);border-radius:var(--radius);overflow:hidden;height:100%}.screen-controls{padding:1rem;background:#0003;border-bottom:1px solid var(--glass-border)}.screen-viewport{flex:1;overflow-y:auto;padding:0;background:#f1f5f9;display:flex;flex-direction:column}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#fff3}.filter-group{margin-bottom:1rem}.filter-label{font-size:.75rem;text-transform:uppercase;color:var(--text-dim);margin-bottom:.5rem;display:block;letter-spacing:.05em}.toggle-btn{background:#ffffff0d;border:1px solid var(--glass-border);color:var(--text);padding:.4rem .8rem;border-radius:6px;cursor:pointer;font-size:.8rem;margin-right:.5rem;margin-bottom:.5rem;transition:all .2s}.toggle-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.block-banner img{width:100%;display:block}.block-row{display:flex;flex-direction:column}.block-spacer{width:100%}.scroller-container{display:flex;overflow-x:auto;gap:10px;padding:10px 0}.scroller-item{flex:0 0 auto}.scroller-item img{border-radius:12px;width:100%;height:auto;display:block}.item-text{text-align:center;font-size:.8rem;font-weight:600;margin-top:5px;color:var(--text)}.grid-container{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:10px}.placeholder-block{margin:10px;padding:15px;background:#e2e8f0;border:2px dashed #94a3b8;border-radius:8px;color:#475569;text-align:center}.placeholder-block.collection{background:#dbeafe;border-color:#3b82f6;color:#1e40af}.placeholder-block.mini{padding:5px;font-size:10px;margin:2px 10px}.placeholder-title{font-weight:700;font-size:.7rem;margin-bottom:5px;opacity:.7}.placeholder-info{font-size:.9rem;font-weight:600}.placeholder-id{font-size:.6rem;margin-top:5px;font-family:monospace}.dynamic-text{padding:10px 15px;font-weight:700;font-size:1.1rem;color:#1e293b}.header-nav{display:flex;gap:10px}.nav-btn{background:#ffffff0d;border:1px solid var(--glass-border);color:var(--text);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s}.nav-btn:hover{background:#ffffff1a}.nav-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.tags-page-container{grid-column:1 / -1;background:var(--card-bg);border-radius:var(--radius);padding:2rem;height:calc(100vh - 120px);overflow-y:auto}.tags-page-header{margin-bottom:2rem;border-bottom:1px solid var(--glass-border);padding-bottom:1.5rem}.tags-page-header h2{font-size:1.8rem;margin-bottom:.5rem}.tags-page-header p{color:var(--text-dim)}.tags-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.tag-card{background:#ffffff08;border:1px solid var(--glass-border);border-radius:10px;padding:1rem;display:flex;justify-content:space-between;align-items:center;transition:transform .2s}.tag-card:hover{transform:translateY(-2px);background:#ffffff0d}.tag-name{font-family:monospace;font-size:.9rem;color:#a3e635;word-break:break-all;margin-right:10px}.copy-tag-btn{background:var(--primary);color:#fff;border:none;padding:4px 10px;border-radius:4px;font-size:.75rem;cursor:pointer;font-weight:600}.copy-tag-btn:hover{background:var(--primary-dark)}.carousel .control-arrow,.carousel.carousel-slider .control-arrow{-webkit-transition:all .25s ease-in;-moz-transition:all .25s ease-in;-ms-transition:all .25s ease-in;-o-transition:all .25s ease-in;transition:all .25s ease-in;opacity:.4;filter:alpha(opacity=40);position:absolute;z-index:2;top:20px;background:none;border:0;font-size:32px;cursor:pointer}.carousel .control-arrow:focus,.carousel .control-arrow:hover{opacity:1;filter:alpha(opacity=100)}.carousel .control-arrow:before,.carousel.carousel-slider .control-arrow:before{margin:0 5px;display:inline-block;border-top:8px solid transparent;border-bottom:8px solid transparent;content:""}.carousel .control-disabled.control-arrow{opacity:0;filter:alpha(opacity=0);cursor:inherit;display:none}.carousel .control-prev.control-arrow{left:0}.carousel .control-prev.control-arrow:before{border-right:8px solid #fff}.carousel .control-next.control-arrow{right:0}.carousel .control-next.control-arrow:before{border-left:8px solid #fff}.carousel-root{outline:none}.carousel{position:relative;width:100%}.carousel *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.carousel img{width:100%;display:inline-block;pointer-events:none}.carousel .carousel{position:relative}.carousel .control-arrow{outline:0;border:0;background:none;top:50%;margin-top:-13px;font-size:18px}.carousel .thumbs-wrapper{margin:20px;overflow:hidden}.carousel .thumbs{-webkit-transition:all .15s ease-in;-moz-transition:all .15s ease-in;-ms-transition:all .15s ease-in;-o-transition:all .15s ease-in;transition:all .15s ease-in;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translateZ(0);position:relative;list-style:none;white-space:nowrap}.carousel .thumb{-webkit-transition:border .15s ease-in;-moz-transition:border .15s ease-in;-ms-transition:border .15s ease-in;-o-transition:border .15s ease-in;transition:border .15s ease-in;display:inline-block;margin-right:6px;white-space:nowrap;overflow:hidden;border:3px solid #fff;padding:2px}.carousel .thumb:focus{border:3px solid #ccc;outline:none}.carousel .thumb.selected,.carousel .thumb:hover{border:3px solid #333}.carousel .thumb img{vertical-align:top}.carousel.carousel-slider{position:relative;margin:0;overflow:hidden}.carousel.carousel-slider .control-arrow{top:0;color:#fff;font-size:26px;bottom:0;margin-top:0;padding:5px}.carousel.carousel-slider .control-arrow:hover{background:#0003}.carousel .slider-wrapper{overflow:hidden;margin:auto;width:100%;-webkit-transition:height .15s ease-in;-moz-transition:height .15s ease-in;-ms-transition:height .15s ease-in;-o-transition:height .15s ease-in;transition:height .15s ease-in}.carousel .slider-wrapper.axis-horizontal .slider{-ms-box-orient:horizontal;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex}.carousel .slider-wrapper.axis-horizontal .slider .slide{flex-direction:column;flex-flow:column}.carousel .slider-wrapper.axis-vertical{-ms-box-orient:horizontal;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex}.carousel .slider-wrapper.axis-vertical .slider{-webkit-flex-direction:column;flex-direction:column}.carousel .slider{margin:0;padding:0;position:relative;list-style:none;width:100%}.carousel .slider.animated{-webkit-transition:all .35s ease-in-out;-moz-transition:all .35s ease-in-out;-ms-transition:all .35s ease-in-out;-o-transition:all .35s ease-in-out;transition:all .35s ease-in-out}.carousel .slide{min-width:100%;margin:0;position:relative;text-align:center}.carousel .slide img{width:100%;vertical-align:top;border:0}.carousel .slide iframe{display:inline-block;width:calc(100% - 80px);margin:0 40px 40px;border:0}.carousel .slide .legend{-webkit-transition:all .5s ease-in-out;-moz-transition:all .5s ease-in-out;-ms-transition:all .5s ease-in-out;-o-transition:all .5s ease-in-out;transition:all .5s ease-in-out;position:absolute;bottom:40px;left:50%;margin-left:-45%;width:90%;border-radius:10px;background:#000;color:#fff;padding:10px;font-size:12px;text-align:center;opacity:.25;-webkit-transition:opacity .35s ease-in-out;-moz-transition:opacity .35s ease-in-out;-ms-transition:opacity .35s ease-in-out;-o-transition:opacity .35s ease-in-out;transition:opacity .35s ease-in-out}.carousel .control-dots{position:absolute;bottom:0;margin:10px 0;padding:0;text-align:center;width:100%;z-index:1}@media(min-width:960px){.carousel .control-dots{bottom:0}}.carousel .control-dots .dot{-webkit-transition:opacity .25s ease-in;-moz-transition:opacity .25s ease-in;-ms-transition:opacity .25s ease-in;-o-transition:opacity .25s ease-in;transition:opacity .25s ease-in;opacity:.3;filter:alpha(opacity=30);box-shadow:1px 1px 2px #000000e6;background:#fff;border-radius:50%;width:8px;height:8px;cursor:pointer;display:inline-block;margin:0 8px}.carousel .control-dots .dot.selected,.carousel .control-dots .dot:hover{opacity:1;filter:alpha(opacity=100)}.carousel .carousel-status{position:absolute;top:0;right:0;padding:5px;font-size:10px;text-shadow:1px 1px 1px rgba(0,0,0,.9);color:#fff}.carousel:hover .slide .legend{opacity:1}
