/* Extracted from page_panels/world_add.php block 1 */
:root{
            --wv-card: rgba(8,10,14,0.62);
            --wv-border: rgba(255,255,255,0.10);
            --wv-text: rgba(255,255,255,0.92);
            --wv-shadow: 0 24px 80px rgba(0,0,0,0.62);
        }
        .wv-gallery{ position:relative; background:#000; color:var(--wv-text); padding: 2.75rem 1.1rem 3.5rem; overflow:hidden; }
        .wv-bg{ position:absolute; inset:0; z-index:0; pointer-events:none; }
        .wv-video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:translateZ(0); }
        .wv-overlay{ position:absolute; inset:0;
            background: radial-gradient(1100px 760px at 18% 10%, rgba(0,0,0,0.18), rgba(0,0,0,0.82) 60%, rgba(0,0,0,0.92) 100%),
                        linear-gradient(to bottom, rgba(0,0,0,0.28), rgba(0,0,0,0.84));
        }
        .wv-noise{ position:absolute; inset:0; opacity:0.10;
            background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E");
            background-size:220px 220px;
        }
        .wv-inner{ position:relative; z-index:2; max-width: 980px; margin: 0 auto; }
        .wv-panel{ border-radius:2px; background:var(--wv-card); border:1px solid var(--wv-border); backdrop-filter: blur(12px); box-shadow: var(--wv-shadow); position:relative; overflow:hidden; }
        .wv-panel::before{ content:""; position:absolute; inset:-2px;
            background: radial-gradient(700px 350px at var(--mx, 30%) var(--my, 20%), rgba(255,255,255,0.12), rgba(255,255,255,0) 55%);
            opacity:0.75; pointer-events:none;
        }
        .wv-panel::after{ content:""; position:absolute; inset:0;
            background: linear-gradient(120deg, rgba(255,255,255,0.08), rgba(255,255,255,0) 28%, rgba(255,255,255,0.05) 62%, rgba(255,255,255,0));
            opacity:0.18; pointer-events:none;
        }
        .wv-head{ padding: 1.05rem 1.05rem 1.1rem; }
        .wv-head-top{ position:relative; z-index:2; display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
        .wv-title{ margin:0; font-weight:900; letter-spacing:-0.02em; font-size: clamp(1.45rem, 2.6vw, 2.05rem); line-height:1.05; }
        .wv-sub{ margin-top:0.35rem; color: rgba(255,255,255,0.70); font-weight:700; max-width: 780px; }
        .wv-actions{ display:flex; gap:0.55rem; flex-wrap:wrap; }

        .wv-btn{
            display:inline-flex; align-items:center; justify-content:center;
            height: 40px; padding: 0 1.05rem; border-radius: 2px;
            font-weight:900; text-decoration:none;
            border: 1px solid rgba(255,255,255,0.14);
            background: rgba(255,255,255,0.10); color: rgba(255,255,255,0.92);
            transition: transform 0.10s ease, background 0.10s ease, border-color 0.10s ease;
            cursor:pointer; white-space:nowrap;
        }
        .wv-btn:hover{ background: rgba(255,255,255,0.14); border-color: rgba(255,255,255,0.22); transform: translateY(-1px); }
        .wv-btn-primary{ background: rgba(255,255,255,0.90); color: rgba(0,0,0,0.92); border-color: rgba(255,255,255,0.90); }
        .wv-btn-primary:hover{ background: rgba(255,255,255,0.98); border-color: rgba(255,255,255,0.98); }
        .wv-btn-ghost{ background: rgba(0,0,0,0.22); color: rgba(255,255,255,0.88); }

        .wv-topbar{ margin-top: 0.95rem; display:flex; align-items:flex-end; justify-content:space-between; gap:0.8rem; flex-wrap:wrap; position:relative; z-index:2; }
        .wv-vis{ border-radius:2px; border:1px solid rgba(255,255,255,0.12); background: rgba(0,0,0,0.22); padding:0.6rem 0.75rem; min-width: 220px; }
        .wv-stat-k{ font-weight:900; font-size:0.72rem; color: rgba(255,255,255,0.62); letter-spacing:0.03em; text-transform:uppercase; margin-bottom:0.2rem; }
        select{
            width:100%; border-radius:2px; border:1px solid rgba(255,255,255,0.14);
            background: rgba(0,0,0,0.30); color: rgba(255,255,255,0.92);
            padding:0.55rem 0.65rem; outline:none;
        }
        .wv-hint{ color: rgba(255,255,255,0.62); font-weight:800; font-size:0.92rem; }

        .wv-form{ margin-top: 1rem; position:relative; z-index:2; }
        .wv-field{ margin-top: 0.85rem; }
        .wv-label{ display:block; font-weight:900; font-size:0.74rem; color: rgba(255,255,255,0.62); letter-spacing:0.03em; text-transform:uppercase; margin-bottom:0.35rem; }
        input[type="text"], input[type="url"], textarea{
            width:100%; box-sizing:border-box;
            border-radius:2px; border:1px solid rgba(255,255,255,0.14);
            background: rgba(0,0,0,0.30); color: rgba(255,255,255,0.90);
            padding:0.7rem 0.85rem; outline:none;
        }
        textarea{ min-height: 140px; resize: vertical; }
        input:focus, textarea:focus, select:focus{ border-color: rgba(255,255,255,0.28); background: rgba(0,0,0,0.36); }
        .wv-note{ margin-top:0.45rem; color: rgba(255,255,255,0.62); font-weight:800; font-size:0.90rem; }
        .wv-form-actions{ margin-top: 1.0rem; display:flex; gap:0.55rem; flex-wrap:wrap; }

        .wv-errorbox{
            margin-top: 0.95rem;
            border: 1px solid rgba(255,90,90,0.28);
            background: rgba(255,90,90,0.08);
            border-radius: 2px;
            padding: 0.85rem 0.95rem;
            position:relative;
            z-index:2;
        }
        .wv-error-title{ font-weight: 900; margin-bottom: 0.35rem; }
        .wv-error-list{ margin:0; padding-left: 1.15rem; font-weight: 800; }

        .wv-scanbox{
            margin-top: 0.95rem;
            border: 1px solid rgba(255,255,255,0.12);
            background: rgba(0,0,0,0.22);
            border-radius: 2px;
            padding: 0.9rem;
        }
        .wv-scanhead{ display:flex; align-items:center; justify-content:space-between; gap:0.8rem; flex-wrap:wrap; margin-bottom:0.65rem; }
        .wv-scanstrong{ font-weight: 900; }
        .wv-kv{
            display:grid;
            grid-template-columns: 160px 1fr;
            gap: 0.45rem 0.75rem;
            align-items:start;
            font-weight: 800;
            color: rgba(255,255,255,0.84);
        }
        .wv-k{ color: rgba(255,255,255,0.62); font-weight: 900; }
        .wv-v{ color: rgba(255,255,255,0.88); word-break: break-word; }

        .wv-thumbprev{
            margin-top: 0.75rem;
            border-radius: 2px;
            overflow:hidden;
            border: 1px solid rgba(255,255,255,0.12);
            background: rgba(0,0,0,0.26);
        }
        .wv-thumbprev img{ display:block; width:100%; height:auto; }

        .wv-grid2{ display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.85rem; }
        @media (max-width: 820px){
            .wv-grid2{ grid-template-columns: minmax(0, 1fr); }
            .wv-kv{ grid-template-columns: 1fr; }
        }


