:root{--bg-0:#0a0418;--bg-1:#0d0620;--bg-2:#150a2e;--panel:rgba(30,16,60,.55);--panel-solid:#1a0e33;--panel-border:rgba(178,140,255,.22);--ink:#f3ecff;--ink-soft:#cdbdf0;--ink-dim:#9a86c4;--neon-purple:#b98cff;--neon-pink:#ff7ad9;--neon-cyan:#79e6ff;--neon-gold:#ffe08a;--live:#ff4d6d;--radius:18px;--radius-sm:12px;--shadow-glow:0 0 40px rgba(185,140,255,.35);--maxw:1080px;--font-sans:"Pretendard","Pretendard Variable",-apple-system,BlinkMacSystemFont,"Segoe UI","Malgun Gothic","Apple SD Gothic Neo",sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font-sans);color:var(--ink);background:radial-gradient(1200px 700px at 50% -10%,#2a1550 0,transparent 60%),radial-gradient(900px 600px at 85% 10%,rgba(255,122,217,.12) 0,transparent 55%),radial-gradient(900px 700px at 10% 30%,rgba(121,230,255,.08) 0,transparent 55%),linear-gradient(180deg,var(--bg-1) 0,var(--bg-0) 100%);background-attachment:fixed;min-height:100vh;-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(1.5px 1.5px at 20% 30%,hsla(0,0%,100%,.7),transparent),radial-gradient(1.5px 1.5px at 70% 60%,hsla(0,0%,100%,.5),transparent),radial-gradient(1px 1px at 40% 80%,hsla(0,0%,100%,.6),transparent),radial-gradient(1px 1px at 85% 25%,hsla(0,0%,100%,.5),transparent),radial-gradient(1.5px 1.5px at 55% 15%,rgba(255,214,255,.6),transparent);background-size:100% 100%;opacity:.5}a{color:var(--neon-cyan);text-decoration:none}a:hover{text-decoration:underline}.shell{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;padding:0 20px 100px}.section{margin-top:64px}.section-eyebrow{font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--neon-pink);font-weight:700;margin:0 0 6px}.section-title{font-size:clamp(24px,4vw,34px);font-weight:800;margin:0 0 20px;letter-spacing:-.01em}.section-title .accent{background:linear-gradient(90deg,var(--neon-purple),var(--neon-pink));-webkit-background-clip:text;background-clip:text;color:transparent}.glass{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.hero{position:relative;margin-top:22px;border-radius:26px;overflow:hidden;border:1px solid var(--panel-border);box-shadow:var(--shadow-glow);isolation:isolate}.hero-bg{background-size:cover;background-position:center 40%;z-index:-2;transform:scale(1.02)}.hero-bg,.hero-bg:after{position:absolute;inset:0}.hero-bg:after{content:"";background:linear-gradient(180deg,rgba(10,4,24,.15),rgba(10,4,24,.55) 55%,rgba(10,4,24,.92))}.hero-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:64px 24px 52px}.hero-mascot{width:168px;height:168px;border-radius:50%;object-fit:cover;border:3px solid hsla(0,0%,100%,.35);box-shadow:0 0 0 6px rgba(185,140,255,.18),0 0 50px rgba(255,122,217,.55);animation:float 5s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.hero-wordmark{margin:22px 0 4px;font-size:clamp(44px,9vw,88px);font-weight:900;letter-spacing:.06em;line-height:.98;background:linear-gradient(92deg,#fff 0,var(--neon-purple) 40%,var(--neon-pink) 70%,var(--neon-cyan) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 40px rgba(185,140,255,.35);filter:drop-shadow(0 4px 20px rgba(255,122,217,.3))}.hero-kr{font-size:clamp(16px,3vw,20px);letter-spacing:.5em;margin:0 0 18px;padding-left:.5em}.hero-kr,.hero-sub{color:var(--ink-soft)}.hero-sub{max-width:560px;font-size:15.5px;margin:0 0 26px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;font-weight:700;font-size:15px;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,box-shadow .2s ease,background .2s ease}.btn,.btn:hover{text-decoration:none}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(92deg,var(--neon-purple),var(--neon-pink));color:#fff;box-shadow:0 8px 28px rgba(255,122,217,.4)}.btn-ghost{background:hsla(0,0%,100%,.06);border-color:var(--panel-border);color:var(--ink)}.btn-danger{background:rgba(255,77,109,.15);border-color:rgba(255,77,109,.5);color:#ffb3c1}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.stat-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:22px}.chip{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border-radius:999px;background:hsla(0,0%,100%,.05);border:1px solid var(--panel-border);font-size:13.5px;color:var(--ink-soft)}.chip b{color:var(--ink)}.live-dot{width:12px;height:12px;border-radius:50%;background:var(--live);box-shadow:0 0 0 0 rgba(255,77,109,.7);animation:pulse 1.6s infinite;flex:none}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,77,109,.6)}70%{box-shadow:0 0 0 14px rgba(255,77,109,0)}to{box-shadow:0 0 0 0 rgba(255,77,109,0)}}.live-card{overflow:hidden;border-radius:var(--radius)}.live-facade,.live-frame{position:relative;width:100%;aspect-ratio:16/9;display:block;border:0}.live-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.live-facade{cursor:pointer;background-size:cover;background-position:50%;display:grid;place-items:center;text-align:center}.live-facade:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(10,4,24,.25),rgba(10,4,24,.78))}.live-facade-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:6px;color:#fff;padding:20px}.live-facade-title{font-size:clamp(20px,3vw,26px);font-weight:900;letter-spacing:-.01em}.live-facade-sub{color:var(--ink-soft);font-size:13.5px}.live-caption{padding:12px 16px;font-size:13px;color:var(--ink-dim);border-top:1px solid var(--panel-border)}.live-caption b{color:var(--ink-soft)}.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:18px;gap:18px}.video-card{border-radius:var(--radius);overflow:hidden;background:var(--panel);border:1px solid var(--panel-border);transition:transform .18s ease,box-shadow .2s ease,border-color .2s ease}.video-card:hover{transform:translateY(-4px);border-color:rgba(255,122,217,.5);box-shadow:0 12px 34px rgba(120,40,160,.35);text-decoration:none}.video-thumb{position:relative;aspect-ratio:16/9;background:#1a0e33}.video-facade,.video-thumb iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-facade{padding:0;cursor:pointer;background-size:cover;background-position:50%;display:grid;place-items:center;transition:filter .2s ease}.video-facade:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(10,4,24,.55))}.video-facade:hover{filter:brightness(1.08)}.play-badge{position:relative;z-index:1;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:20px;color:#fff;padding-left:4px;background:linear-gradient(135deg,var(--neon-purple),var(--neon-pink));box-shadow:0 6px 24px rgba(255,122,217,.5);transition:transform .18s ease}.video-facade:hover .play-badge{transform:scale(1.12)}.video-meta{padding:13px 15px 16px}.shorts-row{display:flex;gap:16px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.shorts-row::-webkit-scrollbar{height:8px}.shorts-row::-webkit-scrollbar-thumb{background:rgba(185,140,255,.35);border-radius:999px}.short-card{flex:0 0 auto;width:200px;scroll-snap-align:start;border-radius:var(--radius);overflow:hidden;background:var(--panel);border:1px solid var(--panel-border);transition:transform .18s ease,border-color .2s ease,box-shadow .2s ease}.short-card:hover{transform:translateY(-4px);border-color:rgba(255,122,217,.5);box-shadow:0 12px 34px rgba(120,40,160,.35)}.short-thumb{position:relative;aspect-ratio:9/16;background:#1a0e33}.short-thumb iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.short-badge{position:absolute;z-index:1;bottom:10px;left:10px;background:rgba(255,77,109,.9);color:#fff;font-size:11px;font-weight:800;letter-spacing:.02em;padding:3px 8px;border-radius:6px}.video-title{font-weight:700;font-size:15px;color:var(--ink);margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.video-views{color:var(--ink-dim);font-size:13px}.empty-note{padding:28px;text-align:center;color:var(--ink-dim);font-size:14.5px}.guestbook-layout{display:grid;grid-template-columns:360px 1fr;grid-gap:24px;gap:24px;align-items:start}@media (max-width:820px){.guestbook-layout{grid-template-columns:1fr}}.gb-form{padding:22px;position:-webkit-sticky;position:sticky;top:20px}.gb-form h3{margin:0 0 4px;font-size:18px;font-weight:800}.gb-form .hint{color:var(--ink-dim);font-size:13px;margin:0 0 18px}.field{margin-bottom:14px}.field label{display:block;font-size:13px;font-weight:700;color:var(--ink-soft);margin-bottom:6px}.input,.textarea{width:100%;background:rgba(10,4,24,.6);border:1px solid var(--panel-border);border-radius:var(--radius-sm);color:var(--ink);padding:11px 13px;font-size:14.5px;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}.input:focus,.textarea:focus{outline:none;border-color:var(--neon-pink);box-shadow:0 0 0 3px rgba(255,122,217,.18)}.textarea{resize:vertical;min-height:96px}.row-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.char-count{text-align:right;font-size:12px;color:var(--ink-dim);margin-top:4px}.file-drop{border:1.5px dashed var(--panel-border);border-radius:var(--radius-sm);padding:14px;text-align:center;color:var(--ink-dim);font-size:13.5px;cursor:pointer;transition:border-color .15s ease,color .15s ease}.file-drop:hover{border-color:var(--neon-pink);color:var(--ink-soft)}.file-preview{margin-top:10px;position:relative;border-radius:var(--radius-sm);overflow:hidden}.file-preview img{width:100%;display:block;max-height:220px;object-fit:cover}.file-preview button{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.7);color:#fff;border:none;border-radius:999px;width:28px;height:28px;cursor:pointer;font-size:15px}.form-error{color:#ff9fb0;font-size:13px;margin-top:4px}.form-banner{padding:10px 13px;border-radius:var(--radius-sm);font-size:13.5px;margin-bottom:14px}.form-banner.ok{background:rgba(121,230,255,.12);border:1px solid rgba(121,230,255,.4);color:#b8f1ff}.form-banner.err{background:rgba(255,77,109,.12);border:1px solid rgba(255,77,109,.4);color:#ffb3c1}.gb-count{color:var(--ink-dim);font-size:14px;margin:0 0 14px}.gb-list{display:flex;flex-direction:column;gap:14px}.gb-entry{padding:18px 20px;border-radius:var(--radius);position:relative}.gb-entry-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.gb-avatar{width:34px;height:34px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--neon-purple),var(--neon-pink))}.gb-avatar,.gb-nick{font-weight:800;font-size:15px}.gb-date{font-size:12.5px}.gb-date,.gb-edited{color:var(--ink-dim)}.gb-edited{font-size:12px;font-style:italic}.gb-msg{color:var(--ink);font-size:15px;white-space:pre-wrap;word-break:break-word}.gb-img{margin-top:12px;border-radius:var(--radius-sm);max-width:100%;max-height:380px;border:1px solid var(--panel-border);display:block}.gb-tools{display:flex;gap:8px;margin-top:14px}.gb-tool-btn{background:hsla(0,0%,100%,.05);border:1px solid var(--panel-border);color:var(--ink-soft);border-radius:8px;padding:5px 12px;font-size:12.5px;font-weight:700;cursor:pointer}.gb-tool-btn:hover{border-color:var(--neon-pink);color:var(--ink)}.gb-skeleton{height:96px;border-radius:var(--radius);background:linear-gradient(90deg,hsla(0,0%,100%,.03),hsla(0,0%,100%,.08),hsla(0,0%,100%,.03));background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.footer{margin-top:80px;padding-top:26px;border-top:1px solid var(--panel-border);color:var(--ink-dim);font-size:13px;text-align:center}.footer a{color:var(--ink-soft)}.footer-warn{margin-top:12px;font-size:12px;color:rgba(255,150,170,.72);letter-spacing:.01em}.fab{position:fixed;right:22px;bottom:22px;z-index:50;display:inline-flex;align-items:center;gap:9px;padding:13px 20px;border-radius:999px;border:1px solid hsla(0,0%,100%,.25);background:linear-gradient(92deg,var(--neon-purple),var(--neon-pink));color:#fff;font-weight:800;font-size:15px;cursor:pointer;box-shadow:0 10px 30px rgba(255,122,217,.5);animation:fab-pop .4s ease both,fab-glow 2.6s ease-in-out infinite}.fab:hover{transform:translateY(-2px) scale(1.03)}.fab-icon{font-size:18px}@keyframes fab-pop{0%{transform:scale(.6);opacity:0}}@keyframes fab-glow{0%,to{box-shadow:0 10px 30px rgba(255,122,217,.45)}50%{box-shadow:0 10px 42px rgba(185,140,255,.7)}}@media (max-width:560px){.fab-label{display:none}.fab{padding:15px}.fab-icon{font-size:22px}}.modal-overlay{position:fixed;inset:0;z-index:100;background:rgba(6,3,16,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fade-in .2s ease;overflow-y:auto}@keyframes fade-in{0%{opacity:0}}.modal{position:relative;width:100%;max-width:480px;padding:28px 26px;border-radius:20px;box-shadow:0 20px 70px rgba(0,0,0,.55);animation:modal-in .25s cubic-bezier(.2,.9,.3,1.2);margin:auto}@keyframes modal-in{0%{transform:translateY(16px) scale(.97);opacity:0}}.modal-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;border:1px solid var(--panel-border);background:hsla(0,0%,100%,.06);color:var(--ink-soft);cursor:pointer;font-size:14px}.modal-close:hover{color:#fff;border-color:var(--neon-pink)}.modal-title{margin:0 0 4px;font-size:21px;font-weight:900;background:linear-gradient(92deg,var(--neon-purple),var(--neon-pink));-webkit-background-clip:text;background-clip:text;color:transparent}.modal-sub{margin:0 0 18px;color:var(--ink-dim);font-size:13px}.modal-done{text-align:center;padding:18px 4px 6px}.modal-done-emoji{font-size:46px}.modal-done h3{margin:10px 0 6px;font-size:20px;font-weight:800}.modal-done p{color:var(--ink-soft);font-size:14px;margin:0 0 20px}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}