@import url('https://fonts.googleapis.com/css2?family=Gowun+Dodum&family=Jua&display=swap');
:root{--green:#a8df68;--deep:#497333;--cream:#fffdf2;--gold:#e7bd4b;--pink:#f2a9b5;--ink:#3f5238;--shadow:0 15px 40px rgba(72,115,50,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 15% 10%,#fff 0 8%,transparent 9%),linear-gradient(145deg,#f8ffe9,#dff4b9 55%,#fbf4cf);color:var(--ink);font-family:'Gowun Dodum',sans-serif;min-height:100vh;overflow-x:hidden}button,input,textarea,select{font:inherit}.hidden{display:none!important}
a{color:inherit}.bg-pattern{position:fixed;inset:0;pointer-events:none;opacity:.16;background-image:radial-gradient(circle,#62943e 2px,transparent 2px);background-size:34px 34px;z-index:-2}.torii{position:fixed;left:50%;top:-15px;transform:translateX(-50%);width:min(1100px,98vw);height:180px;border-top:24px solid #83bb51;border-bottom:13px solid #83bb51;filter:drop-shadow(0 8px 0 #507a36);z-index:-1;opacity:.7}.torii:before,.torii:after{content:"";position:absolute;top:0;width:40px;height:260px;background:#83bb51;border-radius:10px}.torii:before{left:110px}.torii:after{right:110px}
.topbar{position:sticky;top:0;z-index:20;background:rgba(255,253,242,.88);backdrop-filter:blur(16px);border-bottom:2px solid rgba(73,115,51,.12);display:flex;align-items:center;justify-content:space-between;padding:12px clamp(14px,4vw,48px)}.brand{font-family:Jua;font-size:1.35rem;color:var(--deep);display:flex;align-items:center;gap:9px}.brand img{width:36px;height:36px;border-radius:12px}.top-actions{display:flex;gap:8px;flex-wrap:wrap}.pill{border:2px solid var(--deep);background:var(--cream);color:var(--deep);padding:8px 13px;border-radius:999px;text-decoration:none;cursor:pointer;font-weight:700}.pill.live{background:#dff7b8;box-shadow:0 0 20px rgba(168,223,104,.85);animation:pulse 1.8s infinite}.pill.off{opacity:.72}@keyframes pulse{50%{transform:scale(1.04)}}
.hero{min-height:72vh;display:grid;grid-template-columns:1fr minmax(280px,520px);align-items:center;gap:30px;max-width:1180px;margin:auto;padding:80px 26px 30px}.hero-copy{background:rgba(255,253,242,.82);border:3px solid rgba(73,115,51,.25);box-shadow:var(--shadow);border-radius:40px;padding:clamp(28px,5vw,58px);position:relative}.hero-copy:after{content:'🍀';position:absolute;right:24px;top:20px;font-size:3rem;transform:rotate(15deg)}.eyebrow{font-weight:700;color:#729a47;letter-spacing:.12em}.hero h1{font-family:Jua;font-size:clamp(2.6rem,7vw,5.5rem);line-height:.95;margin:14px 0;color:var(--deep);text-shadow:3px 4px 0 #d8efab}.hero p{font-size:1.12rem;line-height:1.8;white-space:pre-wrap}.hero-image-wrap{position:relative;display:grid;place-items:center}.hero-image{width:min(100%,470px);max-height:650px;object-fit:contain;filter:drop-shadow(0 25px 24px rgba(58,90,37,.22))}.charm{position:absolute;font-size:2.2rem;animation:float 3s ease-in-out infinite}.c1{left:3%;top:10%}.c2{right:4%;top:24%;animation-delay:.7s}.c3{left:15%;bottom:7%;animation-delay:1.4s}@keyframes float{50%{transform:translateY(-16px) rotate(10deg)}}
.nav{max-width:1180px;margin:0 auto 38px;padding:0 20px;display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.nav button{border:0;background:linear-gradient(#fffef7,#eaf8cb);border:2px solid #7fae55;border-radius:18px;padding:17px 8px;box-shadow:0 6px 0 #6e964c;cursor:pointer;color:var(--deep);font-weight:800;transition:.2s}.nav button:hover,.nav button.active{transform:translateY(-3px);background:linear-gradient(#dff6b0,#fffef7);box-shadow:0 9px 0 #6e964c}.content{max-width:1180px;margin:auto;padding:0 20px 100px}.panel{display:none;animation:in .35s ease}.panel.active{display:block}@keyframes in{from{opacity:0;transform:translateY(10px)}}.section-head{text-align:center;margin:18px 0 28px}.section-head h2{font-family:Jua;font-size:2.2rem;margin:0;color:var(--deep)}.section-head p{white-space:pre-wrap}.card{background:rgba(255,253,242,.92);border:2px solid rgba(80,122,54,.24);border-radius:28px;padding:24px;box-shadow:var(--shadow)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.profile-item{position:relative;overflow:hidden}.profile-item:before{content:'🐾';position:absolute;right:14px;top:10px;opacity:.2;font-size:2rem}.profile-label{font-size:.9rem;color:#769557;font-weight:800}.profile-value{font-size:1.15rem;white-space:pre-wrap;margin-top:8px}.form{display:grid;gap:12px}.form input,.form textarea,.form select{width:100%;border:2px solid #c8dfa1;background:#fffffb;border-radius:15px;padding:12px;outline:none}.form textarea{min-height:100px;resize:vertical}.primary{border:0;background:var(--deep);color:white;border-radius:15px;padding:13px 18px;font-weight:800;cursor:pointer}.secondary{border:2px solid var(--deep);background:white;color:var(--deep);border-radius:12px;padding:9px 13px;cursor:pointer}.list{display:grid;gap:14px;margin-top:20px}.entry{background:#fffef8;border:2px dashed #9abb72;border-radius:22px;padding:18px;position:relative}.entry .meta{font-size:.84rem;color:#78905d;margin-bottom:7px}.entry .title{font-weight:900;font-size:1.1rem}.entry .text{white-space:pre-wrap;line-height:1.65}.song-link{display:inline-flex;margin-top:9px;background:#dff4b8;padding:7px 12px;border-radius:999px;text-decoration:none;font-weight:800}.badge{display:inline-block;padding:3px 8px;border-radius:999px;background:#ffe6a8;font-size:.75rem;font-weight:800;margin-left:6px}.schedule-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.day{min-height:120px;background:#fffef8;border:1px solid #c9dca8;border-radius:16px;padding:9px}.day strong{display:inline-grid;place-items:center;width:30px;height:30px}.day.today strong{background:var(--green);border-radius:50%}.event{font-size:.78rem;background:#e8f6c9;border-left:4px solid #7ba64d;border-radius:7px;padding:5px;margin-top:5px;white-space:pre-wrap}.monthbar{display:flex;justify-content:center;align-items:center;gap:16px;margin-bottom:18px}.monthbar button{border:0;background:var(--deep);color:white;width:38px;height:38px;border-radius:50%;cursor:pointer}.diary-image{width:100%;max-height:420px;object-fit:cover;border-radius:16px;margin-top:10px}.footer{text-align:center;padding:28px;color:#6d8656;white-space:pre-wrap}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#355429;color:white;padding:12px 18px;border-radius:999px;z-index:99;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1}.paw-particle{position:fixed;pointer-events:none;z-index:100;font-size:20px;animation:pawfade .8s forwards}@keyframes pawfade{to{opacity:0;transform:translateY(-20px) rotate(30deg) scale(.5)}}
.admin-shell{max-width:1200px;margin:30px auto;padding:0 18px}.admin-login{max-width:420px;margin:100px auto}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.admin-tabs button{padding:10px 14px;border-radius:12px;border:2px solid #7fae55;background:white;cursor:pointer}.admin-tabs button.active{background:var(--deep);color:white}.admin-section{display:none}.admin-section.active{display:block}.field-row{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:start;margin-bottom:12px}.repeat-item{border:2px dashed #a6c37d;padding:14px;border-radius:16px;margin-bottom:10px;background:#fff}.repeat-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.preview{width:90px;height:90px;object-fit:cover;border-radius:18px;border:2px solid #b9d590}.status{font-weight:800;color:#648b43}
@media(max-width:820px){.hero{grid-template-columns:1fr;padding-top:45px}.hero-copy{text-align:center}.hero-image{max-height:480px}.nav{grid-template-columns:repeat(3,1fr)}.topbar{align-items:flex-start}.top-actions{justify-content:flex-end}.schedule-grid{gap:4px}.day{min-height:90px;padding:5px}.event{font-size:.67rem}.field-row{grid-template-columns:1fr}.torii{opacity:.35}}
@media(max-width:520px){.nav{grid-template-columns:repeat(2,1fr)}.top-actions .pill{font-size:.78rem;padding:7px 9px}.hero{padding-inline:14px}.content{padding-inline:12px}.card{padding:17px}.schedule-grid{overflow-x:auto;grid-template-columns:repeat(7,100px)}}


/* v2 — 화려한 행운 고양이 신사 & 실시간 플리 공유 */
body:before,body:after{content:"";position:fixed;width:380px;height:380px;border-radius:50%;filter:blur(8px);pointer-events:none;z-index:-3;opacity:.48;animation:orb 8s ease-in-out infinite}body:before{left:-130px;top:18%;background:radial-gradient(circle,#fff9ae 0,#bdf47a 35%,transparent 70%)}body:after{right:-150px;bottom:5%;background:radial-gradient(circle,#ffd8e8 0,#fff0a8 30%,transparent 68%);animation-delay:-4s}@keyframes orb{50%{transform:translateY(-35px) scale(1.13)}}
.sparkle-field{position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:radial-gradient(circle at 8% 18%,#fff 0 2px,transparent 3px),radial-gradient(circle at 82% 13%,#ffe66d 0 2px,transparent 3px),radial-gradient(circle at 25% 72%,#fff 0 1.5px,transparent 3px),radial-gradient(circle at 91% 66%,#fff8b8 0 2px,transparent 4px);background-size:210px 210px,260px 260px,170px 170px,300px 300px;animation:sparkleMove 18s linear infinite}@keyframes sparkleMove{to{background-position:210px -210px,-260px 260px,170px -170px,-300px 300px}}
.hanging-charms{position:fixed;top:65px;left:0;right:0;display:flex;justify-content:space-around;pointer-events:none;z-index:5}.hanging-charms span{font-size:1.8rem;filter:drop-shadow(0 4px 2px rgba(68,91,32,.25));transform-origin:top center;animation:sway 3.5s ease-in-out infinite}.hanging-charms span:nth-child(2n){animation-delay:-1.2s}.hanging-charms span:before{content:"";position:absolute;width:2px;height:58px;background:linear-gradient(#d1ad45,transparent);left:50%;bottom:85%}@keyframes sway{50%{transform:rotate(10deg) translateY(6px)}}
.hero-copy{border:4px solid transparent;background:linear-gradient(rgba(255,253,242,.93),rgba(255,253,242,.88)) padding-box,linear-gradient(135deg,#e7bd4b,#a8df68,#f5aabd,#e7bd4b) border-box;box-shadow:0 18px 50px rgba(72,115,50,.22),0 0 35px rgba(231,189,75,.28)}.hero-image-wrap:before{content:"";position:absolute;width:92%;aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(from 0deg,#f6d35b 0 7deg,transparent 7deg 14deg),radial-gradient(circle,#efffcf 0 48%,transparent 49%);opacity:.32;animation:halo 24s linear infinite;z-index:-1}@keyframes halo{to{transform:rotate(360deg)}}
.nav button{position:relative;overflow:hidden;border-color:#d2ad3f;box-shadow:0 6px 0 #87aa49,0 0 16px rgba(231,189,75,.18)}.nav button:after{content:"✨";position:absolute;right:7px;top:3px;opacity:.55;font-size:.75rem}.nav button:hover,.nav button.active{box-shadow:0 9px 0 #6e964c,0 0 24px rgba(231,189,75,.5)}
.section-head h2{text-shadow:2px 3px 0 #e2f3bb}.section-head:before,.section-head:after{content:"✦";color:var(--gold);font-size:1.4rem;margin:0 12px}.panel.active>.section-head{animation:titlePop .45s ease}@keyframes titlePop{from{transform:scale(.94);opacity:.2}}
.card,.entry{box-shadow:0 14px 35px rgba(75,112,47,.14),inset 0 0 0 1px rgba(255,255,255,.85)}.profile-item{border:3px solid transparent;background:linear-gradient(#fffef8,#f8ffe9) padding-box,linear-gradient(145deg,#f2d26e,#9ed963,#f1a9bd) border-box}.profile-item:hover{transform:translateY(-5px) rotate(-.6deg);transition:.25s;box-shadow:0 18px 40px rgba(73,115,51,.23)}
.music-chat-shell{position:relative;overflow:hidden;max-width:880px;margin:auto;border-radius:34px;border:4px solid transparent;background:linear-gradient(#faffed,#fffaf0) padding-box,linear-gradient(135deg,#e9bf48,#9bdb5b,#f4a9c2,#e9bf48) border-box;box-shadow:0 22px 60px rgba(65,101,39,.25),0 0 35px rgba(231,189,75,.3)}.music-chat-shell:before{content:"🍀  ✦  🐾  ✦  🍀";position:absolute;right:-25px;top:90px;font-size:2.2rem;opacity:.08;transform:rotate(90deg);pointer-events:none}.music-chat-top{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;background:linear-gradient(110deg,#4d7836,#719d45);color:white;border-bottom:3px solid #e7bd4b}.music-chat-top strong{display:block;font-family:Jua;font-size:1.25rem}.music-chat-top span{display:block;font-size:.8rem;opacity:.8;margin-top:2px}.online-dot{font-weight:900;font-size:.75rem;background:#ffef9f;color:#47652f;padding:7px 11px;border-radius:999px;box-shadow:0 0 18px #fff29a;animation:pulse 1.5s infinite}.online-dot:before{content:"●";color:#7edb4b;margin-right:5px}
.music-chat-list{height:470px;overflow-y:auto;padding:22px;display:flex;flex-direction:column;gap:14px;background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.95),transparent 26%),linear-gradient(rgba(244,255,220,.82),rgba(255,247,229,.9)),repeating-linear-gradient(0deg,transparent 0 31px,rgba(111,154,73,.07) 32px)}.music-chat-list::-webkit-scrollbar{width:10px}.music-chat-list::-webkit-scrollbar-thumb{background:linear-gradient(#a8df68,#e7bd4b);border-radius:999px;border:2px solid #fff}
.chat-bubble{display:flex;gap:10px;max-width:82%;align-items:flex-end;animation:chatIn .32s ease}.chat-bubble.from-pring{align-self:flex-end;flex-direction:row-reverse}.chat-avatar{flex:0 0 43px;width:43px;height:43px;display:grid;place-items:center;border-radius:50%;font-size:1.35rem;background:linear-gradient(145deg,#fff,#dff5b5);border:2px solid #d9b84c;box-shadow:0 5px 12px rgba(74,105,45,.16)}.chat-message{position:relative;background:#fff;border:2px solid #c8df9e;border-radius:20px 20px 20px 6px;padding:12px 14px;box-shadow:0 8px 18px rgba(62,95,38,.12)}.from-pring .chat-message{background:linear-gradient(145deg,#e3f8b9,#fff4b7);border-color:#dfb742;border-radius:20px 20px 6px 20px;box-shadow:0 8px 20px rgba(221,179,50,.2)}.chat-meta{display:flex;align-items:center;gap:7px;font-size:.77rem;color:#7b9165;margin-bottom:6px}.chat-meta strong{font-size:.9rem;color:#4d7138}.chat-meta time{margin-left:auto;white-space:nowrap;font-size:.68rem}.chat-song{display:flex;align-items:center;gap:10px}.chat-song b{display:block;font-size:1rem}.chat-song small{display:block;color:#788a68;margin-top:2px}.music-note{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:linear-gradient(145deg,#9bd75e,#e6c04c);color:white;font-size:1.3rem;box-shadow:0 4px 10px rgba(86,126,51,.2)}.chat-empty{margin:auto;text-align:center;display:grid;gap:5px;color:#78905e}.chat-empty span{font-size:3rem}.chat-empty small{opacity:.75}@keyframes chatIn{from{opacity:0;transform:translateY(12px) scale(.97)}}
.music-chat-form{padding:17px;background:rgba(255,255,255,.92);border-top:2px solid #dceabf;display:grid;gap:9px}.chat-row{display:grid;grid-template-columns:1fr 1.6fr;gap:9px}.music-chat-form input{width:100%;border:2px solid #bfd992;background:#fbfff5;border-radius:14px;padding:11px 13px;outline:none}.music-chat-form input:focus{border-color:#d9ad35;box-shadow:0 0 0 4px rgba(231,189,75,.16)}.chat-send{border:0;border-radius:15px;padding:12px;background:linear-gradient(110deg,#527b38,#83ad4d,#d3aa39);color:white;font-weight:900;cursor:pointer;box-shadow:0 6px 0 #3e642a}.chat-send:hover{transform:translateY(-2px);box-shadow:0 8px 0 #3e642a}.chat-send:active{transform:translateY(3px);box-shadow:0 3px 0 #3e642a}
@media(max-width:650px){.hanging-charms{display:none}.music-chat-list{height:420px;padding:14px}.chat-bubble{max-width:94%}.chat-row{grid-template-columns:1fr}.chat-meta{flex-wrap:wrap}.chat-meta time{width:100%;margin:0}.music-chat-shell{border-radius:24px}.music-chat-top{padding:15px}.music-chat-top span{display:none}}

/* v3 — 고양이 발바닥 커서 & 소원패가 걸린 행운 신사 */
html,body,a,button,.nav button,.pill,.primary,.secondary,.chat-send,.monthbar button{cursor:url('assets/paw-cursor.svg') 12 8,auto}
input,textarea,select{cursor:text}
.shimenawa{position:fixed;left:50%;top:124px;transform:translateX(-50%);width:min(760px,82vw);height:42px;border-top:10px solid #d9b94e;border-radius:50%;z-index:-1;opacity:.72;filter:drop-shadow(0 4px 2px rgba(79,92,34,.18));pointer-events:none}.shimenawa span{position:absolute;top:-16px;width:34px;height:34px;border-radius:50%;background:repeating-linear-gradient(45deg,#e7c85c 0 6px,#c99d31 6px 12px)}.shimenawa span:first-child{left:-10px}.shimenawa span:last-child{right:-10px}.shimenawa i{position:absolute;top:2px;width:32px;height:46px;background:linear-gradient(135deg,#fff 0 45%,#eef0da 46% 55%,#fff 56%);clip-path:polygon(0 0,100% 0,82% 100%,50% 72%,18% 100%);filter:drop-shadow(0 3px 1px rgba(70,90,40,.14))}.shimenawa i:nth-of-type(1){left:24%}.shimenawa i:nth-of-type(2){left:48%}.shimenawa i:nth-of-type(3){right:24%}
.ema-wall{position:fixed;top:40%;width:150px;min-height:118px;padding:22px 14px 14px;background:linear-gradient(145deg,#f8dca0,#e8b85d);border:3px solid #9b6c2f;border-radius:12px 12px 20px 20px;box-shadow:0 12px 26px rgba(78,70,34,.18);z-index:-1;text-align:center;color:#725025;transform-origin:top center;animation:emaSway 5s ease-in-out infinite}.ema-wall:before{content:"";position:absolute;left:50%;top:-64px;width:3px;height:64px;background:#b98637}.ema-wall:after{content:"🐾";position:absolute;right:9px;bottom:7px;opacity:.35}.ema-wall.left{left:24px;transform:rotate(-6deg)}.ema-wall.right{right:24px;transform:rotate(6deg);animation-delay:-2.4s}.ema-wall b{display:block;font-family:Jua;font-size:2rem}.ema-wall small{display:block;line-height:1.45}@keyframes emaSway{50%{margin-top:8px;rotate:2deg}}
.hero-copy:before{content:"招福開運";position:absolute;left:24px;bottom:-18px;background:linear-gradient(#f8d999,#e3ad4b);border:2px solid #8d642e;border-radius:10px;padding:7px 15px;color:#714d20;font-weight:900;letter-spacing:.18em;box-shadow:0 7px 0 #9e7135;transform:rotate(-2deg)}
.ema-rack{height:44px;margin:24px auto -8px;max-width:980px;border-top:9px solid #8d642f;border-radius:50%;position:relative;text-align:center;color:#7d5a2e;font-weight:900}.ema-rack:before,.ema-rack:after{content:"";position:absolute;top:-4px;width:16px;height:58px;background:#8d642f;border-radius:8px}.ema-rack:before{left:5%}.ema-rack:after{right:5%}.ema-rack span{display:inline-block;background:#fff7d9;border:2px solid #c39143;padding:7px 16px;border-radius:999px;transform:translateY(-21px)}
.ema-list{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));align-items:start;gap:24px}.ema-card{min-height:170px;margin-top:38px;padding:35px 22px 24px;background:linear-gradient(145deg,#fff0bf,#e9bc67);border:3px solid #9d6d31;border-radius:11px 11px 24px 24px;box-shadow:0 12px 0 #b9863e,0 20px 35px rgba(93,67,31,.2);transform-origin:50% -36px;animation:emaCardIn .45s ease}.ema-card:before{content:"";position:absolute;left:50%;top:-42px;width:3px;height:42px;background:#b78538}.ema-card:after{content:"";position:absolute;left:50%;top:-48px;width:18px;height:18px;border:4px solid #bd8f3c;border-radius:50%;transform:translateX(-50%);background:#fff5c8}.ema-card.tilt-0{transform:rotate(-1.4deg)}.ema-card.tilt-1{transform:rotate(1.1deg)}.ema-card.tilt-2{transform:rotate(-.3deg)}.ema-card .meta{color:#855d2e}.ema-card .text{font-weight:800;color:#67451f}.ema-stamp{position:absolute;left:13px;top:14px;width:32px;height:32px;display:grid;place-items:center;border:2px solid #b24c3f;color:#b24c3f;border-radius:50%;font-family:Jua;transform:rotate(-9deg);opacity:.78}.ema-paw{position:absolute;right:13px;bottom:9px;font-size:1.45rem;opacity:.5}.ema-knot{position:absolute;left:calc(50% - 8px);top:-56px;width:16px;height:16px;border-radius:50%;background:#d8ba56;box-shadow:0 0 0 3px #a87a2f}@keyframes emaCardIn{from{opacity:0;translate:0 12px}}
.entry:not(.ema-card){border-style:solid;border-color:#d3b354;background:linear-gradient(145deg,#fffef8,#f7ffd9)}
@media(max-width:1100px){.ema-wall{display:none}}@media(max-width:650px){.shimenawa{top:150px;opacity:.4}.hero-copy:before{font-size:.72rem;left:50%;transform:translateX(-50%) rotate(-2deg);white-space:nowrap}.ema-list{grid-template-columns:1fr}.ema-rack{margin-top:18px}}

/* v6 — 모든 관리자 문구 줄바꿈 및 로그인 보강 */
.brand,.pill,.nav button,.section-head h2,.section-head p,.profile-label,.profile-value,.entry .title,.entry .text,.music-chat-top strong,.music-chat-top span,.online-dot,.chat-meta strong,.chat-song b,.chat-song small,.song-link,.ema-rack span,.ema-wall b,.ema-wall small,.footer,.event{white-space:pre-wrap;overflow-wrap:anywhere}
.admin-section textarea,.admin-login input{width:100%;border:2px solid #c8dfa1;background:#fffffb;border-radius:15px;padding:12px;outline:none}.admin-section textarea{min-height:74px;resize:vertical}.field-row textarea{min-height:82px}.repeat-item textarea[data-k="label"]{min-height:56px}


/* v9 — 관리자 업로드 BGM 플레이어 */
.bgm-player{position:fixed;left:18px;bottom:18px;z-index:35;display:flex;align-items:center;gap:10px;width:min(390px,calc(100vw - 36px));padding:10px 13px;border:3px solid transparent;border-radius:24px;background:linear-gradient(rgba(255,255,245,.96),rgba(240,255,216,.96)) padding-box,linear-gradient(135deg,#e8bd49,#8fd653,#f3a7be,#e8bd49) border-box;box-shadow:0 14px 38px rgba(55,91,34,.26),0 0 20px rgba(231,189,75,.25);backdrop-filter:blur(12px)}
.bgm-player button{flex:0 0 42px;width:42px;height:42px;border:0;border-radius:50%;background:linear-gradient(145deg,#60863e,#b5df69);color:#fff;font-weight:900;box-shadow:0 5px 0 #42652e;cursor:url('assets/paw-cursor.svg') 12 8,auto}.bgm-player button:active{transform:translateY(3px);box-shadow:0 2px 0 #42652e}.bgm-cat{font-size:1.9rem;transform-origin:bottom center}.bgm-player.playing .bgm-cat{animation:bgmTail .8s ease-in-out infinite alternate}.bgm-info{min-width:0;display:grid;line-height:1.1}.bgm-info strong{max-width:155px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--deep)}.bgm-info span{font-size:.62rem;letter-spacing:.08em;color:#81936d;margin-top:4px}.bgm-player input[type=range]{min-width:70px;flex:1;accent-color:#79a849}@keyframes bgmTail{to{transform:rotate(7deg) translateY(-2px)}}
#bgmUploadStatus{display:block;margin-top:7px;color:#71865d}.admin-section audio{width:100%;margin-top:12px}
@media(max-width:560px){.bgm-player{left:10px;bottom:10px;width:calc(100vw - 20px);border-radius:19px}.bgm-info strong{max-width:110px}.bgm-info span{display:none}.bgm-cat{font-size:1.55rem}.bgm-player input[type=range]{min-width:55px}}

/* v11 — BGM 플레이어는 미등록 상태에서도 항상 표시 */
.bgm-player.no-bgm{opacity:.86;background:linear-gradient(rgba(255,255,245,.94),rgba(233,245,216,.94)) padding-box,linear-gradient(135deg,#d9c98a,#a9c78a,#d8b8c2) border-box}
.bgm-player.no-bgm .bgm-cat{filter:grayscale(.25);opacity:.72}
.bgm-player.no-bgm button{background:linear-gradient(145deg,#9aaa8d,#cbd9b8);box-shadow:0 5px 0 #78866c;cursor:not-allowed}
.bgm-player.no-bgm .bgm-info strong{color:#69765f}
.bgm-player.no-bgm input[type=range]{opacity:.45;pointer-events:none}

/* V12 mobile PWA install guide */
.install-guide{position:fixed;inset:0;z-index:1000;background:rgba(25,48,20,.48);backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px}.install-guide-card{position:relative;width:min(420px,100%);padding:28px 22px 24px;border:3px solid #497333;border-radius:28px;background:linear-gradient(145deg,#fffdf2,#efffd7);box-shadow:0 24px 70px rgba(31,70,25,.34),inset 0 0 0 5px rgba(255,255,255,.65);text-align:center}.install-guide-card:before{content:'🍀  招福開運  🍀';display:block;margin-bottom:10px;color:#497333;font-weight:900;letter-spacing:.1em}.install-guide-icon{font-size:2.4rem;filter:drop-shadow(0 5px 8px rgba(73,115,51,.25))}.install-guide-card h3{margin:7px 0 16px;font-family:Jua;font-size:1.35rem;color:#315b2b}.install-guide-card p{margin:9px 0;line-height:1.65}.install-guide-card small{display:block;margin-top:14px;color:#5a6f50;line-height:1.55}.install-guide-close{position:absolute;right:12px;top:10px;width:34px;height:34px;border:0;border-radius:50%;background:#dff4b9;color:#315b2b;font-size:1.5rem;cursor:pointer}
@media(max-width:820px){#installBtn{display:inline-flex!important;align-items:center;justify-content:center}.topbar{flex-direction:column;gap:10px}.top-actions{width:100%;justify-content:center}.brand{width:100%;justify-content:center}}
