@font-face{font-family:"Ownglyph KimDuo";src:local("온글잎 김듀오체"),local("Ownglyph KimDuo"),local("KimDuo");font-display:swap}
:root{--sky:#bfeaff;--sky2:#72c9ed;--sky3:#eaf9ff;--mint:#c9f4e8;--mint2:#77d7bf;--pink:#ffd7ea;--pink2:#f49fc8;--lav:#e7e0ff;--ink:#536887;--muted:#91a3bb;--line:#a7c5e3;--paper:#fffefb;--glass:rgba(255,255,255,.78);--shadow:0 22px 50px rgba(58,102,145,.18);--shadow3d:0 8px 0 #a8c6df,0 18px 34px rgba(63,99,139,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--ink);font-family:"Ownglyph KimDuo","온글잎 김듀오체",Pretendard,"Noto Sans KR",sans-serif;background:linear-gradient(135deg,#e8f8ff,#fff7fc 52%,#effff9);overflow-x:hidden}button,input,textarea,select{font:inherit;color:inherit}.sky-orb{position:fixed;border-radius:50%;filter:blur(28px);opacity:.58;pointer-events:none}.sky-orb-a{width:390px;height:390px;background:#aee9ff;left:-100px;top:-80px}.sky-orb-b{width:320px;height:320px;background:#ffd5ea;right:-100px;top:28%}.sky-orb-c{width:280px;height:280px;background:#c8f5e8;left:42%;bottom:-110px}.boot-screen{position:fixed;inset:0;z-index:100;background:linear-gradient(145deg,#dff6ff,#fff7fc);display:grid;place-items:center;transition:.8s}.boot-screen.hide{opacity:0;visibility:hidden}.boot-book{width:340px;height:240px;border-radius:28px;background:#fff;border:3px solid #9fc6e2;box-shadow:0 16px 0 #a9cce4,0 35px 70px rgba(67,101,145,.22);display:grid;place-items:center;animation:bookOpen 1.2s ease both}.boot-book img{width:220px}.boot-book span{font-size:12px;letter-spacing:3px;color:#77afd0}@keyframes bookOpen{0%{transform:perspective(900px) rotateY(85deg) scale(.9)}100%{transform:none}}.app-shell{position:relative;width:min(1780px,calc(100% - 24px));margin:12px auto;border:3px solid #8db4d6;border-radius:30px;overflow:hidden;background:rgba(255,255,255,.9);box-shadow:0 35px 90px rgba(52,86,129,.25),inset 0 1px 0 #fff}.topbar{height:62px;display:flex;align-items:center;gap:14px;padding:0 18px;background:linear-gradient(180deg,#e5f8ff,#bfe8fb);border-bottom:2px solid #91b7d8;box-shadow:inset 0 1px 0 #fff,0 7px 16px rgba(80,117,155,.12)}.brand-mini{display:flex;align-items:center;gap:9px;font-size:12px;letter-spacing:1.3px}.orb{width:17px;height:17px;border-radius:50%;background:linear-gradient(145deg,#fff,#86d6f3);box-shadow:inset 0 0 0 3px #fff,0 2px 5px rgba(64,118,155,.25)}.address{flex:1;max-width:650px;padding:10px 16px;border-radius:15px;background:rgba(255,255,255,.7);border:1px solid #fff;box-shadow:inset 0 2px 5px rgba(65,118,157,.08);color:#70a8c9}.address span{margin-right:8px}.top-actions{margin-left:auto;display:flex;gap:8px}.top-actions button{width:40px;height:40px;border:0;border-radius:14px;background:linear-gradient(#fff,#eef9ff);box-shadow:0 5px 0 #bad3e5,0 10px 18px rgba(65,100,145,.14);cursor:pointer}.top-actions button:active{transform:translateY(4px);box-shadow:0 1px 0 #bad3e5}.app-body{display:grid;grid-template-columns:320px 1fr;gap:18px;padding:18px}.glass-card{background:linear-gradient(145deg,rgba(255,255,255,.93),rgba(255,253,249,.82));border:2px solid rgba(143,179,214,.9);border-radius:22px;box-shadow:var(--shadow3d),inset 0 1px 0 #fff;backdrop-filter:blur(12px)}.profile-dock{padding:18px;align-self:start;position:sticky;top:18px}.logo-wrap{height:110px;display:grid;place-items:center}.logo-wrap img{max-width:245px;max-height:100px}.portrait-wrap{height:360px;position:relative;overflow:hidden;border-radius:20px;background:linear-gradient(145deg,#e9f9ff,#fff4fa);border:2px solid #9ec2df}.portrait-wrap img{width:100%;height:100%;object-fit:cover;object-position:center top;position:relative;z-index:2;transition:.35s}.portrait-glow{position:absolute;inset:15% 10%;border-radius:50%;background:radial-gradient(circle,#fff 0,#c9efff 45%,transparent 72%);filter:blur(8px)}.identity{display:flex;justify-content:space-between;align-items:center;padding:16px 2px 10px}.identity strong{font-size:29px}.identity small{display:block;color:#8da3bf}.online{font-size:10px;color:#63b99f}.online i{display:inline-block;width:8px;height:8px;background:#62d7b2;border-radius:50%;box-shadow:0 0 10px #62d7b2}.status-stack{border-top:1px dashed #b2c7df;border-bottom:1px dashed #b2c7df;padding:10px 0}.status-stack>div{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:10px;margin:8px 0}.status-stack span{font-size:11px;color:#8ba0bc;font-weight:900}.status-stack b{text-align:right}.status-stack i{height:10px;border-radius:999px;background:#edf5fb;box-shadow:inset 0 2px 4px rgba(74,104,139,.12);overflow:hidden}.status-stack em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--sky2),var(--mint2))}.quote-note{margin:14px 0;padding:13px;border-radius:16px;background:linear-gradient(145deg,#fff8df,#fff3fb);border:1px solid #f2dcb7;box-shadow:0 6px 0 #f2dec6}.quote-note small{color:#d7a56a}.quote-note p{margin:6px 0 0;color:#6baed0;font-size:17px;font-weight:900}.sns-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.sns-row a{text-align:center;text-decoration:none;padding:10px 4px;border:2px solid #9fe1d1;border-radius:12px;background:#fff;color:#63bda8;font-weight:900;box-shadow:0 4px 0 #c3eadf;transition:.2s}.sns-row a:hover{transform:translateY(-3px);background:var(--mint)}.workspace{min-width:0}.hud-row{height:48px;display:flex;gap:10px;align-items:center;border:1px dashed #a9bed9;border-radius:14px;padding:7px 12px;background:rgba(255,255,255,.55)}.hud-card{display:flex;gap:8px;align-items:center}.hud-card span{font-size:10px;color:#8ea2bb}.heart-meter{margin-left:auto;color:#f49fc8;font-size:25px;letter-spacing:4px}.game-nav{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:15px 0 20px}.nav-btn{min-height:78px;border:2px solid #9ebfde;border-radius:17px;background:linear-gradient(180deg,#fff,#f1f8fd);box-shadow:0 8px 0 #b5cbdf,0 14px 25px rgba(66,99,137,.12);cursor:pointer;transition:.2s}.nav-btn b{display:block;font-size:17px}.nav-btn small{display:block;margin-top:7px;color:#91a5bf}.nav-btn:hover{transform:translateY(-4px)}.nav-btn:active{transform:translateY(6px);box-shadow:0 2px 0 #b5cbdf}.nav-btn.active{background:linear-gradient(180deg,#d8f3ff,#aee0f7);border-color:#65bfe8;box-shadow:0 8px 0 #63bddd,0 16px 25px rgba(65,145,185,.18)}.page{display:none;animation:pageIn .45s ease}.page.active{display:block}@keyframes pageIn{from{opacity:0;transform:translateY(14px) scale(.99)}to{opacity:1;transform:none}}.hero-panel{display:grid;grid-template-columns:1.08fr .92fr;min-height:470px;overflow:hidden;position:relative}.hero-panel:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,rgba(255,255,255,.2),transparent 36%,rgba(191,234,255,.15))}.hero-copy{padding:52px}.kicker,.page-title span{font-size:11px;letter-spacing:2px;color:#7890b6;font-weight:900}.hero-copy h1{font-size:62px;line-height:1.04;margin:14px 0 20px}.hero-copy h1 span{color:var(--sky2)}.hero-desc{max-width:560px;line-height:1.8;font-weight:700}.hero-cta{display:flex;gap:12px;margin-top:28px}.hero-cta button,.quick-grid button,.closet-controls button,.chips button{border:1px solid #9fc0df;border-radius:15px;padding:12px 18px;background:linear-gradient(#fff,#edf8ff);box-shadow:0 5px 0 #b8cfe2;cursor:pointer;font-weight:900}.hero-cta button:nth-child(2){background:linear-gradient(#fff,#ffe8f3);box-shadow:0 5px 0 #efc2d7}.hero-art{position:relative;min-height:450px}.hero-art img{position:absolute;height:110%;right:-2%;bottom:-18%;z-index:2}.hero-glow{position:absolute;width:420px;height:420px;border-radius:50%;right:2%;top:10%;background:radial-gradient(circle,#fff 0,#c9efff 45%,transparent 73%)}.floating{position:absolute;z-index:3;font-size:30px;color:#76c9ed;animation:float 3s ease-in-out infinite}.f1{left:10%;top:18%}.f2{right:10%;top:10%;color:#f49fc8;animation-delay:.7s}.f3{left:24%;bottom:20%;animation-delay:1.2s}@keyframes float{50%{transform:translateY(-12px) rotate(8deg)}}.widget-grid{display:grid;grid-template-columns:1.1fr 1fr .9fr;gap:18px;margin-top:18px}.widget{padding:18px;min-height:270px}.widget header{display:flex;justify-content:space-between;padding-bottom:11px;border-bottom:1px solid #c5d8e9}.widget header small{color:#93a7be}.widget-empty{min-height:190px;display:grid;place-items:center;align-content:center;text-align:center;border:1px dashed #b6c9df;border-radius:18px;margin-top:15px;background:rgba(239,249,255,.55)}.widget-empty strong{font-size:38px;color:#80cce9}.widget-empty p{margin:6px}.widget-empty span{font-size:11px;color:#92a5ba}.video-wrap{margin-top:14px;border-radius:15px;overflow:hidden;box-shadow:0 8px 18px rgba(54,82,119,.18)}.video-wrap iframe{width:100%;aspect-ratio:16/9;border:0;display:block}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.page-title{margin:10px 0 22px}.page-title h2{font-size:48px;margin:7px 0}.profile-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:20px}.full-stage{height:650px;position:relative;display:grid;place-items:center;overflow:hidden}.full-stage img{max-height:88%;max-width:85%;position:relative;z-index:2}.stage-ring{position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,#fff,#dff6ff 55%,transparent 70%)}.full-stage b{position:absolute;bottom:20px;letter-spacing:2px}.profile-sheet{padding:28px}.profile-sheet dl{margin:0}.profile-sheet dl div{display:grid;grid-template-columns:110px 1fr;padding:16px 0;border-bottom:1px dashed #b8c8dc}.profile-sheet dt{color:#879ab5}.profile-sheet dd{margin:0;font-weight:900}.stats{margin-top:25px}.stats label{display:block;margin:18px 0;font-weight:900}.stats i{display:block;height:14px;background:#eef4fa;border:1px solid #9eb5d5;border-radius:999px;overflow:hidden;margin-top:7px}.stats em{display:block;height:100%;background:linear-gradient(90deg,var(--sky2),var(--mint),var(--pink2))}.schedule-board{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.schedule-card{padding:24px;min-height:170px}.schedule-card time{display:inline-block;padding:6px 10px;border-radius:999px;background:var(--sky);color:#4f88a9;font-weight:900}.schedule-card h3{font-size:22px}.empty-board{grid-column:1/-1;min-height:360px;display:grid;place-items:center;align-content:center;text-align:center}.empty-board b{font-size:48px;color:#77c8e8}.empty-board span{color:#95a7bc}.book-title{text-align:center;letter-spacing:7px;font-size:25px;margin:15px}.songbook,.archive{padding:24px}.song-head{display:flex;justify-content:space-between;align-items:end}.song-head h2{font-size:32px;margin:0}.song-head span{color:#91a4bb}.search{width:100%;padding:15px 18px;border:1px solid #b7cae0;border-radius:17px;background:#fff;outline:none;margin:20px 0 12px;box-shadow:inset 0 2px 7px rgba(75,102,136,.08)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips button.active,.closet-controls button.active{background:linear-gradient(#d8f6ed,#a8e4d5);border-color:#75ccb5}.count{font-size:12px}.song-columns,.song-row{display:grid;grid-template-columns:50px 1.7fr 1.2fr .8fr .55fr .8fr;gap:10px;align-items:center;padding:13px 14px}.song-columns{background:linear-gradient(90deg,#dff7ff,#e2f8f0,#ffe5f1);border-radius:14px;font-size:11px;font-weight:900}.song-row{text-decoration:none;color:inherit;border-bottom:1px solid #e3ebf2;transition:.2s}.song-row:hover{background:#eefaff;transform:translateX(6px)}.empty-list{min-height:200px;display:grid;place-items:center;align-content:center;font-size:42px;color:#88cce8}.empty-list small{font-size:14px}.karma-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.karma-card{border:1px solid #b6cce2;border-radius:17px;background:#fff;padding:18px;display:grid;place-items:center;gap:7px;cursor:pointer;box-shadow:0 6px 0 #c6d9e8;transition:.2s}.karma-card:hover{transform:translateY(-5px)}.karma-card img{width:72px;height:72px;object-fit:cover;border-radius:50%;border:4px solid #90d3ed}.karma-card small{color:#9aacc4}.karma-card span{background:linear-gradient(90deg,#70c8e8,#75d7bf);color:#fff;border-radius:20px;padding:6px 12px;font-size:11px}.closet-controls{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.closet-controls>div{display:flex;gap:8px}.looks-title{font-size:30px;border-bottom:2px solid #8fc8e6;padding-bottom:8px}.looks-title small{float:right;font-size:11px}.closet-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.poster{border:0;background:none;padding:0;text-align:left;cursor:pointer;transition:.25s}.poster:hover{transform:translateY(-8px) rotate(-.6deg)}.poster>div{height:430px;position:relative;overflow:hidden;border:8px solid #fff;border-radius:14px;outline:1px solid #adc1da;background:#eaf8ff;box-shadow:0 10px 0 #b9cde0,0 20px 30px rgba(64,93,128,.16)}.poster img{width:100%;height:100%;object-fit:cover;transition:.35s}.poster:hover img{transform:scale(1.06)}.poster>div:after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(transparent,rgba(43,61,94,.9))}.poster span,.poster em,.poster strong,.poster h4,.poster small{position:absolute;z-index:2}.poster span{top:14px;left:14px;background:#5e7195;color:#fff;padding:5px 8px;font-size:10px}.poster em{top:14px;right:14px;background:#79caeb;color:#fff;border-radius:15px;padding:5px 9px;font-size:10px}.poster strong{bottom:82px;left:16px;background:#67bedf;color:#fff;border-radius:14px;padding:5px 9px}.poster h4{bottom:28px;left:16px;margin:0;color:#fff;font-size:22px}.poster small{bottom:10px;left:16px;color:#fff}.poster p{margin:12px 2px;font-size:12px}.lightbox{position:fixed;inset:0;z-index:30;background:rgba(39,53,82,.72);backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;flex-direction:column;padding:24px}.lightbox.open{display:flex}.lightbox img{max-width:88vw;max-height:80vh;border:10px solid #fff;border-radius:18px;background:#eefaff}.lightbox p{color:#fff;font-weight:900}.lightbox button{position:absolute;top:20px;right:25px;width:48px;height:48px;border:0;border-radius:50%;font-size:28px}.click-star{position:fixed;z-index:50;pointer-events:none;color:#74c7e8;font-size:24px;animation:pop .7s ease forwards}@keyframes pop{to{transform:translateY(-35px) scale(1.6);opacity:0}}.no-fx .floating{display:none}.parallax-card{transform-style:preserve-3d;transition:transform .15s ease}.admin-panel{position:fixed;inset:0;z-index:40;background:rgba(44,58,88,.62);backdrop-filter:blur(12px);display:none;padding:28px}.admin-panel.open{display:grid;place-items:center}.admin-dialog{width:min(980px,100%);max-height:90vh;overflow:auto;background:#f7fcff;border:2px solid #96bedc;border-radius:25px;box-shadow:0 30px 90px rgba(24,43,75,.35)}.admin-dialog>header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:linear-gradient(#ddf5ff,#c6ebfb);border-bottom:1px solid #a9cbe3}.admin-dialog h2{margin:3px 0}.admin-dialog header button{width:40px;height:40px;border:0;border-radius:12px;background:#fff}.admin-tabs{display:flex;gap:8px;padding:14px 20px;border-bottom:1px solid #d7e4ef;overflow:auto}.admin-tabs button{padding:10px 18px;border:1px solid #a9c4df;border-radius:12px;background:#fff;white-space:nowrap}.admin-tabs button.active{background:var(--sky)}.admin-content{padding:20px}.admin-list{display:grid;gap:12px}.admin-item{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px;border:1px solid #c2d3e4;border-radius:14px;background:#fff}.admin-item small{display:block;color:#92a5ba}.admin-item button,.admin-actions button{border:0;border-radius:10px;padding:9px 13px;background:#dff5ff;cursor:pointer}.admin-item .danger{background:#ffe1eb;color:#b65c7f}.admin-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.admin-form input,.admin-form select,.admin-form textarea{width:100%;padding:12px;border:1px solid #b5c9df;border-radius:12px;background:#fff}.admin-form textarea{grid-column:1/-1;min-height:80px}.admin-form button{grid-column:1/-1;border:0;border-radius:12px;padding:13px;background:linear-gradient(90deg,var(--sky),var(--mint));font-weight:900}.admin-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-actions textarea{width:100%;min-height:240px;padding:14px;border:1px solid #b5c9df;border-radius:14px}
@media(max-width:1250px){.app-body{grid-template-columns:270px 1fr}.game-nav{grid-template-columns:repeat(3,1fr)}.widget-grid{grid-template-columns:1fr 1fr}.memo-widget{grid-column:1/-1}.closet-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.app-shell{width:100%;margin:0;border-radius:0}.app-body{display:block}.profile-dock{position:relative;top:0;margin-bottom:15px}.portrait-wrap{height:390px}.game-nav{display:flex;overflow:auto}.nav-btn{flex:0 0 150px}.hero-panel{grid-template-columns:1fr}.hero-copy{padding:30px}.hero-copy h1{font-size:44px}.hero-art{min-height:390px}.widget-grid,.profile-layout,.schedule-board,.karma-grid,.closet-gallery{grid-template-columns:1fr}.song-columns{display:none}.song-row{grid-template-columns:35px 1fr 1fr}.song-row span:nth-child(n+4){display:none}.full-stage{height:520px}.poster>div{height:520px}.heart-meter{display:none}.brand-mini b{display:none}.admin-form{grid-template-columns:1fr}}

/* 관리자 사진 업로드 */
.admin-image-field{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 120px;gap:10px;align-items:center;padding:12px;border:1px solid #c6d8e8;border-radius:14px;background:#f8fcff}.admin-image-field>label{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 12px;border:1px dashed #7fc9e8;border-radius:11px;background:#e9f8ff;color:#4d8fb0;font-weight:900;cursor:pointer}.admin-image-field>label input{display:none}.admin-preview{height:92px;border:1px solid #c6d8e8;border-radius:12px;overflow:hidden;background:linear-gradient(145deg,#eefaff,#fff6fb);display:grid;place-items:center;color:#93a8bd}.admin-preview img{width:100%;height:100%;object-fit:contain}.admin-item-with-image{grid-template-columns:54px 1fr auto;align-items:center}.admin-item-with-image>img{width:54px;height:54px;object-fit:cover;border-radius:12px;border:1px solid #b9cfe1;background:#eefaff}.admin-image-manager{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-help{grid-column:1/-1;margin:0;padding:13px 15px;border-radius:13px;background:#e7f8ff;color:#5686a4}.image-manage-card{padding:16px;border:1px solid #bfd3e5;border-radius:17px;background:#fff;box-shadow:0 5px 0 #d5e4ef}.image-manage-card h3{margin:0 0 12px}.image-manage-card .admin-image-field{grid-template-columns:1fr;margin-bottom:12px}.image-manage-card .admin-preview{height:180px}.image-manage-card>button{border:0;border-radius:11px;padding:11px 13px;margin-right:7px;background:linear-gradient(90deg,var(--sky),var(--mint));font-weight:900;cursor:pointer}.image-manage-card>button.soft-danger{background:#ffe4ee;color:#a95d79}@media(max-width:760px){.admin-image-field,.admin-image-manager{grid-template-columns:1fr}.admin-image-field{grid-column:auto}.admin-preview{height:180px}}


/* ===== 눈이 편한 다크 모드 ===== */
html.dark{
  color-scheme:dark;
  --sky:#335f7a;
  --sky2:#76b9da;
  --sky3:#1b3041;
  --mint:#244b46;
  --mint2:#74c8b6;
  --pink:#51384a;
  --pink2:#e39abd;
  --lav:#393754;
  --ink:#d7e6f2;
  --muted:#9fb3c5;
  --line:#57758f;
  --paper:#1b2734;
  --glass:rgba(31,45,60,.92);
  --shadow:0 22px 50px rgba(3,10,18,.32);
  --shadow3d:0 7px 0 #172636,0 18px 34px rgba(2,9,16,.28);
}
html.dark body{
  color:var(--ink);
  background:linear-gradient(135deg,#172433,#1d2938 52%,#172e2c);
}
html.dark .sky-orb{opacity:.2;filter:blur(42px)}
html.dark .sky-orb-a{background:#3f8eae}
html.dark .sky-orb-b{background:#7b4968}
html.dark .sky-orb-c{background:#377c6c}
html.dark .app-shell{
  background:rgba(24,36,49,.96);
  border-color:#557a99;
  box-shadow:0 35px 90px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.05);
}
html.dark .topbar{
  background:linear-gradient(180deg,#29465c,#20384b);
  border-bottom-color:#537895;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 7px 16px rgba(0,0,0,.2);
}
html.dark .address,
html.dark .top-actions button{
  color:#cfe7f7;
  background:linear-gradient(#2b4358,#22384a);
  border-color:#537895;
  box-shadow:0 5px 0 #152635,0 10px 18px rgba(0,0,0,.22);
}
html.dark .top-actions button:active{box-shadow:0 1px 0 #152635}
html.dark .orb{background:linear-gradient(145deg,#bdeaff,#4f93b4);box-shadow:inset 0 0 0 3px #29465c,0 2px 5px rgba(0,0,0,.3)}
html.dark .glass-card,
html.dark .admin-dialog{
  background:linear-gradient(145deg,rgba(35,51,68,.97),rgba(28,42,56,.94));
  border-color:#557794;
  box-shadow:var(--shadow3d),inset 0 1px 0 rgba(255,255,255,.06);
}
html.dark .portrait-wrap,
html.dark .hero-art,
html.dark .full-stage{
  background:linear-gradient(145deg,#243b4c,#312c3b);
  border-color:#587b98;
}
html.dark .portrait-glow,
html.dark .hero-glow{opacity:.34}
html.dark .quote-note{
  background:linear-gradient(145deg,#3a382d,#392c3a);
  border-color:#665c4b;
  box-shadow:0 6px 0 #1a2531;
}
html.dark .status-stack,
html.dark .identity,
html.dark .widget header,
html.dark .song-head,
html.dark .song-row,
html.dark .admin-item{border-color:#506c83}
html.dark .status-stack i{background:#172737}
html.dark .nav-btn,
html.dark .hero-cta button,
html.dark .quick-grid button,
html.dark .sns-row a,
html.dark .chips button,
html.dark .closet-controls button,
html.dark .admin-tabs button,
html.dark .admin-actions button{
  color:#d7e6f2;
  background:linear-gradient(180deg,#2d4356,#25384a);
  border-color:#5c7f9c;
  box-shadow:0 6px 0 #162635,0 11px 20px rgba(0,0,0,.18);
}
html.dark .nav-btn.active,
html.dark .chips button.active,
html.dark .closet-controls button.active,
html.dark .admin-tabs button.active{
  color:#eaf8ff;
  background:linear-gradient(180deg,#3c7593,#315f79);
  border-color:#76b9da;
}
html.dark .hero-cta button:nth-child(2){background:linear-gradient(180deg,#68475d,#503849);border-color:#c782a7}
html.dark .search,
html.dark input,
html.dark textarea,
html.dark select{
  color:#dbe9f3;
  background:#172636;
  border-color:#53738d;
  caret-color:#8fd6f4;
}
html.dark input::placeholder,
html.dark textarea::placeholder{color:#8398aa}
html.dark .songbook,
html.dark .schedule-board,
html.dark .admin-content,
html.dark .admin-panel{
  background:rgba(24,37,50,.88);
  border-color:#53738d;
}
html.dark .song-head{background:#294357}
html.dark .song-row:hover{background:#263f52}
html.dark .karma-card,
html.dark .poster,
html.dark .schedule-card,
html.dark .admin-item,
html.dark .image-manage-card,
html.dark .admin-preview{
  color:#d8e6f1;
  background:#223447;
  border-color:#526f88;
}
html.dark .karma-card:hover,
html.dark .poster:hover{background:#294156}
html.dark .widget-empty,
html.dark .empty-board,
html.dark .empty-list{color:#9fb4c5;background:#1d3041;border-color:#506e86}
html.dark .video-wrap{background:#101923;border-color:#4e6d85}
html.dark .lightbox{background:rgba(7,12,18,.88)}
html.dark .admin-panel{background:rgba(9,16,24,.75)}
html.dark .admin-dialog header{
  background:linear-gradient(180deg,#2b4a60,#243c50);
  border-color:#52758f;
}
html.dark .danger,
html.dark .soft-danger{background:#5b3548!important;color:#ffdbe9!important;border-color:#995d7b!important}
html.dark .book-title,
html.dark .looks-title,
html.dark .page-title h2,
html.dark h1,
html.dark h2,
html.dark h3{color:#dceaf5}
html.dark .muted,
html.dark small,
html.dark .admin-help{color:#9fb3c5}
html.dark #darkToggle{color:#ffe7a6}
html.dark .boot-screen{background:linear-gradient(145deg,#162534,#24202b)}
html.dark .boot-book{background:#23374a;border-color:#557a99;box-shadow:0 16px 0 #152635,0 35px 70px rgba(0,0,0,.4)}

/* ===== 다크 모드 리파인: 선명한 블랙 + 입체감 유지 ===== */
html.dark{
  --sky:#79d6ff;
  --sky2:#56bfe9;
  --sky3:#111923;
  --mint:#7ce2cb;
  --mint2:#56c9b0;
  --pink:#f09abd;
  --pink2:#ef83b0;
  --lav:#a89cf4;
  --ink:#edf7ff;
  --muted:#a9bfd0;
  --line:#5d91b3;
  --paper:#11171d;
  --glass:rgba(22,28,35,.96);
  --shadow:0 24px 55px rgba(0,0,0,.48);
  --shadow3d:0 8px 0 #071018,0 18px 34px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.08);
}
html.dark body{
  background:
    radial-gradient(circle at 12% 8%,rgba(58,154,204,.16),transparent 24%),
    radial-gradient(circle at 86% 30%,rgba(214,91,154,.10),transparent 22%),
    linear-gradient(135deg,#090c10,#0d1116 48%,#0a1014);
}
html.dark .sky-orb{opacity:.14;filter:blur(60px)}
html.dark .app-shell{
  background:#0f141a;
  border-color:#5c8eae;
  box-shadow:0 36px 90px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.08);
}
html.dark .topbar{
  background:linear-gradient(180deg,#19242e,#101820);
  border-bottom-color:#4f7f9e;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 18px rgba(0,0,0,.38);
}
html.dark .address{
  background:#18232d;
  border-color:#466d88;
  color:#cdeeff;
  box-shadow:inset 0 2px 7px rgba(0,0,0,.38),0 1px 0 rgba(255,255,255,.04);
}
html.dark .top-actions button{
  color:#dff5ff;
  background:linear-gradient(180deg,#263744,#18242d);
  border:1px solid #4d7996;
  box-shadow:0 6px 0 #081119,0 12px 22px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.09);
}
html.dark .top-actions button:hover{filter:brightness(1.12);transform:translateY(-1px)}
html.dark .top-actions button:active{transform:translateY(5px);box-shadow:0 1px 0 #081119}
html.dark .glass-card,
html.dark .admin-dialog{
  background:linear-gradient(145deg,#1b242d,#141b22);
  border-color:#5f8daa;
  box-shadow:0 8px 0 #071018,0 22px 38px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.09);
}
html.dark .portrait-wrap,
html.dark .hero-art,
html.dark .full-stage{
  background:linear-gradient(145deg,#18232d,#202532);
  border-color:#638fab;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),inset 0 -18px 30px rgba(0,0,0,.18);
}
html.dark .portrait-glow,
html.dark .hero-glow{opacity:.48;filter:saturate(1.15)}
html.dark .hud-row{
  background:#171f27;
  border-color:#527e9a;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 5px 14px rgba(0,0,0,.24);
}
html.dark .nav-btn,
html.dark .hero-cta button,
html.dark .quick-grid button,
html.dark .sns-row a,
html.dark .chips button,
html.dark .closet-controls button,
html.dark .admin-tabs button,
html.dark .admin-actions button,
html.dark .image-manage-card>button{
  color:#eaf7ff;
  background:linear-gradient(180deg,#263746,#18242e);
  border-color:#638fab;
  box-shadow:0 7px 0 #08131b,0 14px 24px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.09);
}
html.dark .nav-btn:hover,
html.dark .hero-cta button:hover,
html.dark .quick-grid button:hover,
html.dark .sns-row a:hover,
html.dark .chips button:hover,
html.dark .closet-controls button:hover,
html.dark .admin-tabs button:hover,
html.dark .admin-actions button:hover{filter:brightness(1.12);transform:translateY(-3px)}
html.dark .nav-btn:active,
html.dark .hero-cta button:active,
html.dark .quick-grid button:active,
html.dark .chips button:active,
html.dark .closet-controls button:active,
html.dark .admin-tabs button:active{transform:translateY(5px);box-shadow:0 2px 0 #08131b}
html.dark .nav-btn.active,
html.dark .chips button.active,
html.dark .closet-controls button.active,
html.dark .admin-tabs button.active{
  color:#06131c;
  background:linear-gradient(180deg,#9ce8ff,#62c5ec);
  border-color:#b8efff;
  box-shadow:0 8px 0 #2d7897,0 16px 28px rgba(30,157,211,.25),inset 0 1px 0 #fff;
}
html.dark .hero-cta button:nth-child(2){
  color:#fff0f7;
  background:linear-gradient(180deg,#9b4f78,#68354f);
  border-color:#ef9fc4;
  box-shadow:0 6px 0 #381827,0 13px 24px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.13);
}
html.dark .widget,
html.dark .profile-sheet,
html.dark .songbook,
html.dark .schedule-board{
  background:linear-gradient(145deg,#19222a,#121920);
  border-color:#587f99;
}
html.dark .widget header,
html.dark .song-head,
html.dark .song-row,
html.dark .identity,
html.dark .status-stack,
html.dark .admin-item{border-color:#456b84}
html.dark .widget-empty,
html.dark .empty-board,
html.dark .empty-list{
  color:#b5cad8;
  background:#111920;
  border-color:#4d748e;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
html.dark .quote-note{
  background:linear-gradient(145deg,#3b3024,#302331);
  border-color:#8b6d55;
  box-shadow:0 6px 0 #140e12,0 12px 22px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.08);
}
html.dark .search,
html.dark input,
html.dark textarea,
html.dark select{
  color:#eef8ff;
  background:#0f161c;
  border-color:#537c97;
  box-shadow:inset 0 2px 8px rgba(0,0,0,.42),0 1px 0 rgba(255,255,255,.04);
}
html.dark .songbook,
html.dark .schedule-board,
html.dark .admin-content{background:#121920}
html.dark .song-head{background:#243644;color:#dff5ff}
html.dark .song-row{background:#151e25}
html.dark .song-row:hover{background:#20303c}
html.dark .karma-card,
html.dark .poster,
html.dark .schedule-card,
html.dark .admin-item,
html.dark .image-manage-card,
html.dark .admin-preview{
  color:#e5f2fb;
  background:linear-gradient(145deg,#1d2832,#151d24);
  border-color:#557d98;
  box-shadow:0 6px 0 #081119,0 14px 24px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.07);
}
html.dark .karma-card:hover,
html.dark .poster:hover{background:linear-gradient(145deg,#263744,#1b2730);transform:translateY(-4px)}
html.dark .video-wrap{
  background:#07090c;
  border:1px solid #4f7995;
  box-shadow:0 8px 0 #070d12,0 16px 26px rgba(0,0,0,.45);
}
html.dark .admin-panel{background:rgba(2,5,8,.82)}
html.dark .admin-dialog>header{
  background:linear-gradient(180deg,#223543,#17242d);
  border-color:#557f9a;
}
html.dark .admin-tabs{border-color:#314e63}
html.dark .admin-help{background:#172a36;color:#a9d8ee;border:1px solid #3f6d86}
html.dark .danger,
html.dark .soft-danger{background:#6d2f4b!important;color:#ffe8f2!important;border-color:#d778a5!important;box-shadow:0 5px 0 #2d111e!important}
html.dark .book-title,
html.dark .looks-title,
html.dark .page-title h2,
html.dark h1,
html.dark h2,
html.dark h3{color:#f1f8ff;text-shadow:0 1px 0 rgba(0,0,0,.4)}
html.dark .muted,
html.dark small,
html.dark .admin-help{color:#abc0d0}
html.dark #darkToggle{color:#ffd97b;background:linear-gradient(180deg,#3a3420,#241e10);border-color:#8b7440}
html.dark .boot-screen{background:linear-gradient(145deg,#090d11,#111820)}
html.dark .boot-book{background:#18232d;border-color:#5e8ca9;box-shadow:0 16px 0 #071018,0 35px 70px rgba(0,0,0,.58)}

/* ===== FINAL DARK MODE: clear contrast + full 3D restoration ===== */
html.dark{
  --dark-bg:#080d12;
  --dark-shell:#0d151d;
  --dark-panel:#152431;
  --dark-panel-2:#1b2e3d;
  --dark-line:#6ca7c9;
  --dark-text:#edf8ff;
  --dark-muted:#aec4d3;
  --dark-depth:#04080c;
}
html.dark body{color:var(--dark-text);background:radial-gradient(circle at 15% 0,rgba(65,172,220,.18),transparent 27%),radial-gradient(circle at 100% 30%,rgba(238,118,180,.12),transparent 28%),linear-gradient(135deg,#070b10,#0b1118 55%,#070d12)}
html.dark .app-shell{background:var(--dark-shell);border-color:#6aa2c3;box-shadow:0 14px 0 #03070a,0 42px 90px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.1)}
html.dark .glass-card,html.dark .admin-dialog{color:var(--dark-text);background:linear-gradient(145deg,#1a2b39,#101b25);border-color:#669dbd;box-shadow:0 9px 0 #050b10,0 21px 34px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.12),inset 0 -1px 0 rgba(0,0,0,.35)}
html.dark .profile-dock,html.dark .hero-panel,html.dark .widget,html.dark .profile-sheet,html.dark .songbook,html.dark .archive,html.dark .full-stage{box-shadow:0 9px 0 #050b10,0 22px 40px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.12)}
html.dark .nav-btn,html.dark .hero-cta button,html.dark .quick-grid button,html.dark .sns-row a,html.dark .chips button,html.dark .closet-controls button,html.dark .admin-tabs button,html.dark .admin-actions button,html.dark .admin-form button,html.dark .image-manage-card>button{
 color:#eef9ff;background:linear-gradient(180deg,#29465a,#172936);border-color:#78acc9;box-shadow:0 8px 0 #061018,0 15px 24px rgba(0,0,0,.46),inset 0 2px 0 rgba(255,255,255,.12),inset 0 -2px 0 rgba(0,0,0,.22)
}
html.dark .nav-btn small,html.dark .nav-btn b{color:#e8f6ff}
html.dark .nav-btn.active,html.dark .chips button.active,html.dark .closet-controls button.active,html.dark .admin-tabs button.active{color:#062033;background:linear-gradient(180deg,#b9f2ff 0,#6bd1f3 58%,#55bfe7 100%);border-color:#d5f8ff;box-shadow:0 9px 0 #277b9e,0 17px 28px rgba(31,154,205,.35),inset 0 2px 0 #fff,inset 0 -2px 0 rgba(39,112,145,.25)}
html.dark .nav-btn.active b,html.dark .nav-btn.active small,html.dark .chips button.active,html.dark .closet-controls button.active{color:#092335}
html.dark .hero-cta button:nth-child(2){background:linear-gradient(180deg,#a85d85,#713b59);border-color:#f2a8ca;box-shadow:0 7px 0 #3b1829,0 14px 24px rgba(0,0,0,.42),inset 0 2px 0 rgba(255,255,255,.14)}
html.dark .quote-note{background:linear-gradient(145deg,#4a382f,#342435);border-color:#b48668;box-shadow:0 7px 0 #170d12,0 14px 24px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.12)}
html.dark .quote-note small{color:#efbf8b}html.dark .quote-note p{color:#8bdcff}
html.dark .sns-row a{color:#aef4df;border-color:#7edfc8}
html.dark .hud-row{color:var(--dark-text);background:linear-gradient(180deg,#182630,#111b24);border-color:#6597b6;box-shadow:0 5px 0 #050b10,0 12px 20px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.08)}
html.dark .hud-card span,html.dark .widget header small,html.dark .song-head span,html.dark .page-title span,html.dark .kicker,html.dark .identity small,html.dark .status-stack span,html.dark .count,html.dark .admin-help,html.dark .admin-item small{color:var(--dark-muted)}
html.dark h1,html.dark h2,html.dark h3,html.dark h4,html.dark b,html.dark strong,html.dark p,html.dark dt,html.dark dd,html.dark label,html.dark .book-title,html.dark .looks-title{color:var(--dark-text)}
html.dark .hero-copy h1 span,html.dark .quote-note p{color:#78d8ff}
html.dark .hero-desc{color:#d8e9f4}
html.dark .song-head{background:linear-gradient(180deg,#29475a,#213a4b);box-shadow:inset 0 1px 0 rgba(255,255,255,.09)}
html.dark .song-columns{color:#dff7ff;background:linear-gradient(90deg,#bdefff,#c8f4e8 48%,#ffd9e9);box-shadow:0 4px 0 #071019}
html.dark .song-columns span{color:#173449;text-shadow:none}
html.dark .song-row{color:#edf8ff;background:#15232e;border-color:#4b738c;box-shadow:0 4px 0 #071018,inset 0 1px 0 rgba(255,255,255,.05)}
html.dark .song-row span,html.dark .song-row b{color:#edf8ff}
html.dark .song-row:hover{background:#203848;transform:translateY(-2px);box-shadow:0 6px 0 #071018,0 10px 18px rgba(0,0,0,.35)}
html.dark .search,html.dark input,html.dark textarea,html.dark select{color:#eef9ff;background:#091119;border-color:#6797b4;box-shadow:inset 0 3px 8px rgba(0,0,0,.62),0 2px 0 rgba(255,255,255,.04)}
html.dark .search::placeholder,html.dark input::placeholder,html.dark textarea::placeholder{color:#91aabb}
html.dark .karma-card,html.dark .poster,html.dark .schedule-card,html.dark .admin-item,html.dark .image-manage-card,html.dark .admin-preview{color:#eef9ff;background:linear-gradient(145deg,#203544,#14242f);border-color:#699cba;box-shadow:0 7px 0 #050b10,0 16px 26px rgba(0,0,0,.43),inset 0 1px 0 rgba(255,255,255,.1)}
html.dark .karma-card small,html.dark .poster small,html.dark .schedule-card span{color:#b9cfdd}
html.dark .profile-sheet dl div{border-color:#547c95}html.dark .profile-sheet dt{color:#9fc4d9}html.dark .profile-sheet dd{color:#eef9ff}
html.dark .stats i,html.dark .status-stack i{background:#0a141d;border-color:#5b89a4;box-shadow:inset 0 3px 7px rgba(0,0,0,.7)}
html.dark .widget header{border-color:#557d96}.widget header b{color:inherit}
html.dark .widget-empty,html.dark .empty-board,html.dark .empty-list{color:#d7e9f3;background:linear-gradient(145deg,#152632,#0f1a22);border-color:#5f8da9;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 5px 0 #060d12}
html.dark .full-stage b{color:#dceef9}
html.dark .closet-controls button b{color:inherit}
html.dark .looks-title{border-color:#6596b3}
html.dark .admin-content{background:#101a23}.admin-dialog{overflow:hidden}
html.dark .admin-dialog header{background:linear-gradient(180deg,#294559,#182a36);box-shadow:0 5px 0 #071018}
html.dark .admin-tabs{background:#121e28;border-color:#4d738b}
html.dark .admin-form,html.dark .admin-list{color:#eef9ff}
html.dark .danger,html.dark .soft-danger{background:linear-gradient(180deg,#9a4e72,#6e324f)!important;color:#fff0f7!important;border-color:#e291b7!important;box-shadow:0 5px 0 #351421,0 10px 16px rgba(0,0,0,.35)!important}
html.dark .heart-meter{color:#f3a0c8}

/* 관리자 커서 관리 */
.cursor-manager{display:grid;gap:18px}.cursor-add-form{padding:16px;border:1px solid #bfd3e5;border-radius:17px;background:#fff;box-shadow:0 5px 0 #d5e4ef}.cursor-add-form .admin-image-field{grid-template-columns:1fr 120px}.cursor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cursor-card{display:grid;gap:10px;padding:14px;border:2px solid #bfd3e5;border-radius:17px;background:#fff;box-shadow:0 6px 0 #d5e4ef;transition:.2s}.cursor-card.selected{border-color:#69c9e9;box-shadow:0 7px 0 #63bddd,0 14px 24px rgba(65,145,185,.16)}.cursor-preview{height:100px;display:grid;place-items:center;border:1px dashed #a9c9df;border-radius:13px;background:linear-gradient(145deg,#eaf9ff,#fff4fa)}.cursor-preview img{width:64px;height:64px;object-fit:contain;image-rendering:auto}.default-cursor-icon{font:700 52px/1 Arial;color:#29485c;text-shadow:1px 1px 0 #fff}.cursor-name{width:100%;padding:10px;border:1px solid #b5c9df;border-radius:10px;background:#fff;font-weight:900}.cursor-name[readonly]{background:#eff7fb}.cursor-card-actions{display:flex;gap:7px;flex-wrap:wrap}.cursor-card-actions button,.cursor-replace{border:0;border-radius:9px;padding:9px 11px;background:#dff5ff;cursor:pointer;font-weight:900}.cursor-replace input{display:none}.cursor-card-actions .soft-danger{background:#ffe4ee;color:#a95d79}html.dark .cursor-add-form,html.dark .cursor-card{color:#eef9ff;background:linear-gradient(145deg,#203544,#14242f);border-color:#699cba;box-shadow:0 7px 0 #050b10,0 16px 26px rgba(0,0,0,.43),inset 0 1px 0 rgba(255,255,255,.1)}html.dark .cursor-card.selected{border-color:#8ee5ff;box-shadow:0 8px 0 #1a7399,0 18px 30px rgba(41,176,224,.28),inset 0 1px 0 rgba(255,255,255,.18)}html.dark .cursor-preview{background:linear-gradient(145deg,#263d4d,#14232e);border-color:#5d91ad}html.dark .cursor-name{color:#eef9ff;background:#13232e;border-color:#5b8198}html.dark .cursor-name[readonly]{background:#192f3d}html.dark .cursor-card-actions button,html.dark .cursor-replace{color:#eaf9ff;background:linear-gradient(#365a70,#213b4c);box-shadow:0 4px 0 #08131b}@media(max-width:900px){.cursor-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.cursor-grid,.cursor-add-form .admin-image-field{grid-template-columns:1fr}}
/* 커서 기본/클릭 이미지 편집 */
.cursor-upload-pair{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px}.cursor-upload-pair .admin-image-field{grid-column:auto;grid-template-columns:1fr 130px}.cursor-upload-pair .admin-image-field>div>b{display:block;margin-bottom:6px;font-size:12px}.cursor-upload-pair .admin-preview{height:82px}.cursor-preview-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cursor-preview-pair>div>small{display:block;margin:0 0 5px;font-weight:900}.cursor-preview-pair .cursor-preview{height:86px}.cursor-preview-pair .cursor-preview img{width:58px;height:58px}.cursor-card-actions .cursor-replace{display:inline-flex;align-items:center}@media(max-width:700px){.cursor-upload-pair{grid-template-columns:1fr}.cursor-upload-pair .admin-image-field{grid-template-columns:1fr 110px}}

/* 블랙 다크모드 */
html.dark{--dark-bg:#050506;--dark-shell:#0b0b0e;--dark-panel:#121217;--dark-panel2:#181820;--dark-text:#f5f7fb;--dark-muted:#aeb4c0}
html.dark body{background:radial-gradient(circle at 12% -5%,rgba(98,214,255,.12),transparent 28%),radial-gradient(circle at 100% 24%,rgba(255,126,190,.09),transparent 25%),linear-gradient(145deg,#030304,#08080b 50%,#050507);color:var(--dark-text)}
html.dark .sky-orb{opacity:.09;filter:blur(70px)}
html.dark .app-shell{background:#09090c;border-color:#4a4d57;box-shadow:0 14px 0 #000,0 42px 95px rgba(0,0,0,.82),inset 0 1px 0 rgba(255,255,255,.1)}
html.dark .topbar{background:linear-gradient(180deg,#1c1c23,#101014);border-color:#3b3e48;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 7px 0 #030304,0 14px 25px rgba(0,0,0,.55)}
html.dark .address{color:#b8c1cf;background:linear-gradient(180deg,#18181e,#101014);border-color:#343640;box-shadow:inset 0 3px 8px rgba(0,0,0,.65),0 1px 0 rgba(255,255,255,.06)}
html.dark .glass-card,html.dark .admin-dialog{color:var(--dark-text);background:linear-gradient(145deg,#19191f,#0e0e12);border-color:#4a4d58;box-shadow:0 9px 0 #010102,0 22px 42px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.11),inset 0 -1px 0 rgba(0,0,0,.8)}
html.dark .portrait-wrap,html.dark .hero-art,html.dark .full-stage{background:radial-gradient(circle at 50% 40%,#252630,#111116 62%,#09090c);border-color:#464a56}
html.dark .nav-btn,html.dark .hero-cta button,html.dark .quick-grid button,html.dark .sns-row a,html.dark .chips button,html.dark .closet-controls button,html.dark .admin-tabs button,html.dark .admin-actions button,html.dark .admin-form button,html.dark .image-manage-card>button,html.dark .cursor-card-actions button,html.dark .cursor-replace{color:#f5f7fb;background:linear-gradient(180deg,#292a32,#17181e);border-color:#555965;box-shadow:0 7px 0 #020203,0 14px 24px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.13),inset 0 -2px 0 rgba(0,0,0,.55)}
html.dark .nav-btn:hover,html.dark .hero-cta button:hover,html.dark .quick-grid button:hover,html.dark .sns-row a:hover,html.dark .chips button:hover,html.dark .closet-controls button:hover,html.dark .admin-tabs button:hover{background:linear-gradient(180deg,#353741,#202129);border-color:#777b89}
html.dark .nav-btn.active,html.dark .chips button.active,html.dark .closet-controls button.active,html.dark .admin-tabs button.active{color:#071017;background:linear-gradient(180deg,#d9f8ff,#79dbf7 58%,#58bedf);border-color:#e8fbff;box-shadow:0 8px 0 #246d89,0 17px 28px rgba(49,190,235,.24),inset 0 2px 0 #fff}
html.dark .hud-row,html.dark .widget-empty,html.dark .empty-board,html.dark .empty-list{background:linear-gradient(145deg,#17171d,#0c0c10);border-color:#444751;box-shadow:0 5px 0 #010102,inset 0 1px 0 rgba(255,255,255,.07)}
html.dark .search,html.dark input,html.dark textarea,html.dark select{color:#f5f7fb;background:#09090c;border-color:#4b4e59;box-shadow:inset 0 3px 9px rgba(0,0,0,.78),0 1px 0 rgba(255,255,255,.05)}
html.dark .song-head,html.dark .admin-dialog>header{background:linear-gradient(180deg,#22232a,#131318);border-color:#3e414b;box-shadow:0 5px 0 #020203,inset 0 1px 0 rgba(255,255,255,.08)}
html.dark .song-row{color:#f2f4f8;background:#111116;border-color:#343640;box-shadow:0 4px 0 #020203,inset 0 1px 0 rgba(255,255,255,.04)}html.dark .song-row:hover{background:#1c1d24}
html.dark .karma-card,html.dark .schedule-card,html.dark .admin-item,html.dark .image-manage-card,html.dark .admin-preview,html.dark .cursor-add-form,html.dark .cursor-card{color:#f5f7fb;background:linear-gradient(145deg,#1c1d23,#101014);border-color:#4b4e59;box-shadow:0 7px 0 #010102,0 16px 28px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.09)}
html.dark .cursor-preview{background:linear-gradient(145deg,#202129,#0d0d11);border-color:#484b55}html.dark .cursor-name{background:#09090c;border-color:#4b4e59}html.dark .cursor-name[readonly]{background:#141419}
html.dark .admin-content{background:#0b0b0e}html.dark .admin-tabs{background:#0e0e12;border-color:#343640}html.dark .admin-help{color:#c6d4de;background:#15161b;border-color:#434650}
html.dark h1,html.dark h2,html.dark h3,html.dark h4,html.dark b,html.dark strong,html.dark p,html.dark dt,html.dark dd,html.dark label{color:#f5f7fb}
/* 다크모드 일정판의 불필요한 긴 배경 제거 */
html.dark .schedule-board{background:transparent!important;border:0!important;box-shadow:none!important}

/* 노래책 제목과 옷장 설명 뒤의 불필요한 입체 배경 제거 */
html.dark .song-head{background:transparent!important;border:0!important;box-shadow:none!important}
html.dark .poster{background:transparent!important;border:0!important;box-shadow:none!important}
html.dark .poster p{background:transparent!important;border:0!important;box-shadow:none!important}

/* 월간 일정 달력 */
.schedule-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(560px,1.28fr);gap:20px;align-items:start}.schedule-layout .schedule-board{grid-template-columns:1fr}.schedule-layout .empty-board{min-height:360px}.monthly-calendar{padding:18px;overflow:hidden}.calendar-header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;margin-bottom:14px}.calendar-header h3{text-align:center;font-size:25px;margin:0}.calendar-header button{width:42px;height:42px;border:1px solid #9fc0df;border-radius:13px;background:linear-gradient(#fff,#edf8ff);box-shadow:0 4px 0 #b8cfe2;cursor:pointer;font-size:27px;font-weight:900}.calendar-header button:active{transform:translateY(3px);box-shadow:0 1px 0 #b8cfe2}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{border:1px solid #b8cce0;border-bottom:0;border-radius:13px 13px 0 0;overflow:hidden}.calendar-weekdays b{text-align:center;padding:10px 4px;background:linear-gradient(180deg,#eaf8ff,#dff1fa);border-right:1px solid #c8d9e8;font-size:13px}.calendar-weekdays b:last-child{border-right:0}.calendar-weekdays b:first-child{color:#e26f8e}.calendar-weekdays b:last-child{color:#629dd5}.calendar-grid{border-top:1px solid #b8cce0;border-left:1px solid #b8cce0}.calendar-day{min-height:105px;padding:7px;border-right:1px solid #b8cce0;border-bottom:1px solid #b8cce0;background:rgba(255,255,255,.76);overflow:hidden}.calendar-day:nth-child(7n+1) .calendar-date{color:#df6887}.calendar-day:nth-child(7n) .calendar-date{color:#568fc8}.calendar-day.is-empty{background:rgba(225,236,245,.45)}.calendar-date{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;font-size:12px;font-weight:900}.calendar-day.is-today .calendar-date{color:#17415b;background:var(--sky);box-shadow:0 2px 0 #75bddb}.calendar-events{display:grid;gap:4px;margin-top:5px}.calendar-event{min-width:0;padding:5px 6px;border-radius:7px;background:linear-gradient(90deg,#c9f3ff,#cef4e8);border-left:3px solid #65bedf;font-size:10px;line-height:1.25}.calendar-event b,.calendar-event small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event small{margin-top:2px;color:#56809a}
html.dark .monthly-calendar{background:linear-gradient(145deg,#19191f,#0e0e12)}html.dark .calendar-header button{color:#f5f7fb;background:linear-gradient(180deg,#292a32,#17181e);border-color:#555965;box-shadow:0 5px 0 #020203,inset 0 1px 0 rgba(255,255,255,.12)}html.dark .calendar-weekdays{border-color:#42454f}html.dark .calendar-weekdays b{color:#e9edf4;background:linear-gradient(180deg,#25262e,#18191f);border-color:#42454f}html.dark .calendar-weekdays b:first-child{color:#ff9bb4}html.dark .calendar-weekdays b:last-child{color:#8fc6ff}html.dark .calendar-grid{border-color:#3c3f48}html.dark .calendar-day{background:#111116;border-color:#3c3f48}html.dark .calendar-day.is-empty{background:#0a0a0d}html.dark .calendar-day:nth-child(7n+1) .calendar-date{color:#ff91ae}html.dark .calendar-day:nth-child(7n) .calendar-date{color:#8bc3ff}html.dark .calendar-day.is-today .calendar-date{color:#071017;background:#78daf5;box-shadow:0 2px 0 #286f89}html.dark .calendar-event{color:#eaf9ff;background:linear-gradient(90deg,#183b49,#17372f);border-color:#65d7ed}html.dark .calendar-event b{color:#f3fbff}html.dark .calendar-event small{color:#add5e5}
@media(max-width:1180px){.schedule-layout{grid-template-columns:1fr}.schedule-layout .schedule-board{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.schedule-layout .schedule-board{grid-template-columns:1fr}.monthly-calendar{padding:10px}.calendar-day{min-height:78px;padding:4px}.calendar-event{padding:3px;font-size:9px}.calendar-event small{display:none}.calendar-header h3{font-size:20px}}
/* 캘린더 이동 버튼 전체 클릭 영역 */
.calendar-header{grid-template-columns:58px 1fr 58px}.calendar-header button{position:relative;z-index:2;display:grid;place-items:center;width:58px;height:50px;padding:0 0 4px;border-radius:15px;line-height:1;touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent;box-shadow:inset 0 -5px 0 #b8cfe2,0 2px 8px rgba(64,93,128,.12)}.calendar-header button:active{transform:translateY(2px);padding-bottom:0;box-shadow:inset 0 -2px 0 #9bbbd1}.calendar-header button:last-child{justify-self:end}html.dark .calendar-header button{box-shadow:inset 0 -5px 0 #020203,0 2px 9px rgba(0,0,0,.55)}html.dark .calendar-header button:active{box-shadow:inset 0 -2px 0 #020203}

/* 관리자 창 내부 스크롤 */
.admin-dialog{display:flex;flex-direction:column;width:min(980px,100%);height:min(90vh,900px);max-height:90vh;overflow:hidden}.admin-dialog>header,.admin-tabs{flex:0 0 auto}.admin-content{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.admin-content::-webkit-scrollbar{width:11px}.admin-content::-webkit-scrollbar-track{background:rgba(154,185,207,.16);border-radius:999px}.admin-content::-webkit-scrollbar-thumb{background:linear-gradient(#8bd8ee,#8edfc9);border:3px solid transparent;border-radius:999px;background-clip:padding-box}html.dark .admin-content::-webkit-scrollbar-track{background:#09090c}html.dark .admin-content::-webkit-scrollbar-thumb{background:linear-gradient(#4f9fb8,#579b8e);border:3px solid transparent;background-clip:padding-box}@media(max-width:760px){.admin-panel{padding:10px}.admin-dialog{height:calc(100vh - 20px);max-height:calc(100vh - 20px)}.calendar-header{grid-template-columns:54px 1fr 54px}.calendar-header button{width:54px;height:48px}}
/* 관리자 로그인 */
.admin-header-actions{display:flex;align-items:center;gap:8px}.admin-dialog header .admin-header-actions #adminLogout{width:auto;min-width:76px;padding:0 13px;font-size:12px;font-weight:900}.admin-panel.locked .admin-tabs{display:none}.admin-panel.locked .admin-content{display:grid;place-items:center}.admin-auth{width:min(430px,100%);margin:auto;padding:30px;border:2px solid #b8d1e4;border-radius:22px;background:linear-gradient(145deg,#fff,#f2faff);box-shadow:0 8px 0 #c9dce9,0 22px 42px rgba(58,91,125,.18);text-align:center}.admin-auth-icon{font-size:44px}.admin-auth h3{margin:10px 0 5px;font-size:27px}.admin-auth>p{margin:0 0 20px;color:#7189a3}.admin-auth form{display:grid;gap:11px}.admin-auth input{width:100%;padding:14px;border:1px solid #a9c5dd;border-radius:13px;background:#fff;outline:none}.admin-auth input:focus{border-color:#63c5e7;box-shadow:0 0 0 3px rgba(99,197,231,.2)}.admin-auth button{min-height:47px;border:1px solid #81c9df;border-radius:13px;background:linear-gradient(180deg,#c9f4ff,#8edcf2);box-shadow:0 5px 0 #5da9c1;cursor:pointer;font-weight:900}.admin-auth button:active{transform:translateY(4px);box-shadow:0 1px 0 #5da9c1}.admin-auth form small{min-height:20px;color:#c14f72;font-weight:900}html.dark .admin-auth{color:#f5f7fb;background:linear-gradient(145deg,#1c1d23,#101014);border-color:#4b4e59;box-shadow:0 8px 0 #010102,0 22px 42px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.09)}html.dark .admin-auth>p{color:#b7bdc9}html.dark .admin-auth input{color:#f5f7fb;background:#09090c;border-color:#4b4e59}html.dark .admin-auth button{color:#071017;background:linear-gradient(180deg,#d9f8ff,#79dbf7 58%,#58bedf);border-color:#e8fbff;box-shadow:0 5px 0 #246d89}html.dark .admin-dialog header .admin-header-actions #adminLogout{color:#f5f7fb;background:linear-gradient(180deg,#3a3b45,#202127);border:1px solid #575b67}@media(max-width:520px){.admin-auth{padding:22px 16px}.admin-dialog header .admin-header-actions #adminLogout{min-width:64px;padding:0 8px}.admin-dialog>header{padding:15px}}
/* 업보 상세 팝업 */
.karma-detail-modal{position:fixed;inset:0;z-index:35;display:none;place-items:center;padding:24px;background:rgba(43,57,83,.68);backdrop-filter:blur(10px)}.karma-detail-modal.open{display:grid}.karma-detail-dialog{position:relative;width:min(580px,100%);max-height:min(720px,88vh);overflow:auto;padding:28px;border:2px solid #9fc5df;border-radius:25px;background:linear-gradient(145deg,#fff,#f4fbff);box-shadow:0 11px 0 #a9c9df,0 35px 75px rgba(37,67,101,.36),inset 0 1px 0 #fff;animation:karmaDetailIn .22s ease both}.karma-detail-close{position:absolute;top:15px;right:15px;z-index:2;width:43px;height:43px;border:1px solid #abc8dd;border-radius:13px;background:linear-gradient(#fff,#eaf6fd);box-shadow:0 4px 0 #b8cfdf;cursor:pointer;font-size:25px}.karma-detail-close:active{transform:translateY(3px);box-shadow:0 1px 0 #b8cfdf}.karma-detail-profile{display:grid;grid-template-columns:92px 1fr auto;align-items:center;gap:16px;padding:10px 54px 22px 0;border-bottom:1px dashed #abc7dc}.karma-detail-profile img{width:92px;height:92px;object-fit:cover;border:5px solid #83d2ec;border-radius:50%;background:#eefaff}.karma-detail-profile small,.karma-detail-content small{color:#77a4c1;font-size:11px;font-weight:900;letter-spacing:1.5px}.karma-detail-profile h3{margin:5px 0 2px;font-size:27px}.karma-detail-profile p{margin:0;color:#829ab1}.karma-detail-profile>strong{align-self:end;padding:8px 13px;border-radius:999px;background:linear-gradient(90deg,#70c8e8,#75d7bf);color:#fff;white-space:nowrap}.karma-detail-content{margin-top:20px;padding:20px;border:1px solid #b7d1e2;border-radius:17px;background:linear-gradient(145deg,#f2fbff,#fff8fc);box-shadow:inset 0 1px 0 #fff,0 5px 0 #d7e7f1}.karma-detail-content p{min-height:80px;margin:10px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:17px;line-height:1.75}@keyframes karmaDetailIn{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
html.dark .karma-detail-modal{background:rgba(0,0,0,.78)}html.dark .karma-detail-dialog{color:#f5f7fb;background:linear-gradient(145deg,#1b1c22,#0e0e12);border-color:#50535f;box-shadow:0 10px 0 #010102,0 35px 80px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,255,255,.1)}html.dark .karma-detail-close{color:#f5f7fb;background:linear-gradient(#2c2d35,#18191e);border-color:#555966;box-shadow:0 4px 0 #020203}html.dark .karma-detail-profile{border-color:#454851}html.dark .karma-detail-profile p{color:#b3bac7}html.dark .karma-detail-profile small,html.dark .karma-detail-content small{color:#8fd7ee}html.dark .karma-detail-content{background:linear-gradient(145deg,#191a20,#101014);border-color:#484b56;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 5px 0 #020203}html.dark .karma-detail-content p{color:#f2f5f9}@media(max-width:560px){.karma-detail-modal{padding:12px}.karma-detail-dialog{padding:22px 16px}.karma-detail-profile{grid-template-columns:72px 1fr;padding-right:48px}.karma-detail-profile img{width:72px;height:72px}.karma-detail-profile>strong{grid-column:1/-1;justify-self:start}.karma-detail-content{padding:16px}}
/* 일정별 캘린더 색상 */
.calendar-event{background:var(--event-bg,#bdeee7)!important;color:var(--event-fg,#173449)!important;border-left-color:var(--event-bg,#65bedf)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}.calendar-event b,.calendar-event small,html.dark .calendar-event b,html.dark .calendar-event small{color:inherit!important}.admin-color-field{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;border:1px solid #b5c9df;border-radius:12px;background:#f8fcff;font-weight:900}.admin-color-field input[type=color]{width:58px;height:38px;padding:3px;border-radius:9px;cursor:pointer}.admin-schedule-item{grid-template-columns:46px 1fr auto;align-items:center}.admin-schedule-color{position:relative;display:block;width:42px;height:42px;border-radius:12px;overflow:hidden;cursor:pointer;box-shadow:0 3px 0 #c0d5e4}.admin-schedule-color input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.admin-schedule-color span{display:block;width:100%;height:100%;border:2px solid rgba(70,105,130,.22);border-radius:12px}html.dark .admin-color-field{background:#111116;border-color:#4b4e59}html.dark .admin-schedule-color{box-shadow:0 3px 0 #020203}html.dark .admin-schedule-color span{border-color:rgba(255,255,255,.16)}@media(max-width:560px){.admin-schedule-item{grid-template-columns:42px 1fr}.admin-schedule-item>.danger{grid-column:1/-1}.admin-color-field{align-items:flex-start;flex-direction:column}}
/* 더 작고 간결한 왼쪽 일정 목록 */
.schedule-layout{grid-template-columns:minmax(220px,270px) minmax(600px,1fr);gap:16px}.schedule-layout .schedule-board{grid-template-columns:1fr;align-content:start;gap:9px}.schedule-layout .schedule-card{min-height:88px;padding:11px 13px;border-radius:14px;border-color:rgba(79,119,148,.4);background:var(--schedule-bg,#bdeee7)!important;color:var(--schedule-fg,#173449)!important;box-shadow:0 5px 0 rgba(68,107,137,.4),0 10px 18px rgba(54,82,119,.12),inset 0 1px 0 rgba(255,255,255,.36)}.schedule-layout .schedule-card time{padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.42);color:inherit!important;font-size:11px;line-height:1.3}.schedule-layout .schedule-card h3{margin:8px 0 3px;font-size:15px;line-height:1.25;color:inherit!important}.schedule-layout .schedule-card p{margin:0;font-size:12px;line-height:1.25;color:inherit!important;opacity:.88}.schedule-layout .schedule-card span{display:block;margin-top:3px;font-size:10px;line-height:1.25;color:inherit!important;opacity:.76}.schedule-layout .empty-board{min-height:180px}html.dark .schedule-layout .schedule-card{background:var(--schedule-bg,#bdeee7)!important;color:var(--schedule-fg,#173449)!important;border-color:rgba(255,255,255,.17);box-shadow:0 5px 0 #010102,0 11px 20px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.22)}html.dark .schedule-layout .schedule-card time{background:rgba(255,255,255,.18);color:inherit!important}@media(max-width:1180px){.schedule-layout{grid-template-columns:1fr}.schedule-layout .schedule-board{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media(max-width:560px){.schedule-layout .schedule-board{grid-template-columns:1fr}.schedule-layout .schedule-card{min-height:82px;padding:10px 12px}}
/* 메인 사진 영역 채우기 + 문구 정렬 */
.hero-art{min-height:470px;overflow:hidden}.hero-art img{inset:0!important;right:auto!important;bottom:auto!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center center!important;display:block}.hero-copy{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center}.hero-panel[data-hero-align="left"] .hero-copy{align-items:flex-start;text-align:left}.hero-panel[data-hero-align="center"] .hero-copy{align-items:center;text-align:center}.hero-panel[data-hero-align="right"] .hero-copy{align-items:flex-end;text-align:right}.hero-panel[data-hero-align="left"] .hero-cta{justify-content:flex-start}.hero-panel[data-hero-align="center"] .hero-cta{justify-content:center}.hero-panel[data-hero-align="right"] .hero-cta{justify-content:flex-end}.hero-panel[data-hero-align="center"] .hero-desc,.hero-panel[data-hero-align="right"] .hero-desc{max-width:100%}.admin-align-field{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border:1px solid #b5c9df;border-radius:12px;background:#f8fcff;font-weight:900}.admin-align-field select{width:min(260px,55%);padding:10px;border:1px solid #a9c5dd;border-radius:10px;background:#fff}html.dark .admin-align-field{background:#111116;border-color:#4b4e59}html.dark .admin-align-field select{color:#f5f7fb;background:#09090c;border-color:#4b4e59}@media(max-width:760px){.hero-art{min-height:390px}.admin-align-field{align-items:flex-start;flex-direction:column}.admin-align-field select{width:100%}}
/* 프로필 큰 이미지 영역 채우기 */
.full-stage{position:relative;overflow:hidden;padding:0}.full-stage img{position:absolute!important;inset:0!important;z-index:2;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center center!important;display:block}.full-stage .stage-ring{display:none}.full-stage>b{left:50%;bottom:18px;z-index:3;transform:translateX(-50%);margin:0;padding:8px 15px;border:1px solid rgba(255,255,255,.68);border-radius:999px;background:rgba(255,255,255,.78);box-shadow:0 4px 13px rgba(42,67,95,.2);backdrop-filter:blur(9px);color:#526b8d!important;white-space:nowrap;text-shadow:none!important}html.dark .full-stage>b{color:#f5f7fb!important;background:rgba(12,12,16,.72);border-color:rgba(255,255,255,.24);box-shadow:0 4px 14px rgba(0,0,0,.5)}@media(max-width:760px){.full-stage>b{bottom:12px;font-size:12px}}
/* 프로필 문구 편집 */
.profile-text-editor{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:3px 0 6px;padding:15px;border:1px solid #b9cfe1;border-radius:15px;background:#f8fcff}.profile-text-editor legend{padding:0 8px;color:#5b88a4;font-weight:900}.profile-stat-editor{display:grid;grid-template-columns:1fr 86px;gap:8px}.profile-stat-editor input[type=number]{text-align:center}html.dark .profile-text-editor{background:#111116;border-color:#4b4e59}html.dark .profile-text-editor legend{color:#8fd7ee}

/* 기존 업보·옷장 항목 수정 */
.record-edit-list{gap:17px}.admin-record-edit{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:13px;padding:16px}.record-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.record-edit-grid>input,.record-edit-grid>select,.record-edit-grid>textarea{width:100%;padding:11px;border:1px solid #b5c9df;border-radius:11px;background:#fff}.record-edit-grid>textarea{grid-column:1/-1;min-height:78px;resize:vertical}.record-edit-grid .admin-image-field{grid-column:1/-1}.record-edit-actions{display:grid;gap:8px}.record-edit-actions button{min-width:82px;border:0;border-radius:10px;padding:10px 12px;background:linear-gradient(90deg,var(--sky),var(--mint));cursor:pointer;font-weight:900}.record-edit-actions .danger{background:#ffe1eb;color:#b65c7f}html.dark .record-edit-grid>input,html.dark .record-edit-grid>select,html.dark .record-edit-grid>textarea{color:#f5f7fb;background:#09090c;border-color:#4b4e59}html.dark .record-edit-actions button{color:#071017;background:linear-gradient(180deg,#d9f8ff,#79dbf7 58%,#58bedf);box-shadow:0 4px 0 #246d89}@media(max-width:700px){.profile-text-editor,.record-edit-grid{grid-template-columns:1fr}.admin-record-edit{grid-template-columns:1fr}.record-edit-actions{grid-template-columns:1fr 1fr}.profile-stat-editor{grid-template-columns:1fr 75px}}
/* 메인 바 전체 사진 배경 + 전체 기준 문구 배치 */
.hero-panel{position:relative!important;display:block!important;min-height:470px;overflow:hidden;--hero-text-color:#fff;--hero-shade:rgba(3,10,18,.58)}.hero-panel[data-hero-tone="dark-bg"]{--hero-shade:rgba(255,255,255,.7)}.hero-panel[data-hero-tone="light-bg"]{--hero-shade:rgba(3,10,18,.6)}.hero-panel .hero-art{position:absolute!important;inset:0!important;z-index:0!important;width:100%!important;height:100%!important;min-height:0!important}.hero-panel .hero-art img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important}.hero-panel:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none}.hero-panel[data-hero-align="left"]:before{background:linear-gradient(90deg,var(--hero-shade) 0,var(--hero-shade) 28%,transparent 72%)}.hero-panel[data-hero-align="center"]:before{background:linear-gradient(90deg,transparent 3%,var(--hero-shade) 31%,var(--hero-shade) 69%,transparent 97%)}.hero-panel[data-hero-align="right"]:before{background:linear-gradient(270deg,var(--hero-shade) 0,var(--hero-shade) 28%,transparent 72%)}.hero-panel:after{z-index:2;background:linear-gradient(110deg,rgba(255,255,255,.08),transparent 40%,rgba(255,255,255,.04))}.hero-panel .hero-copy{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center;width:min(650px,55%);min-height:470px;padding:48px 52px;color:var(--hero-text-color);background:transparent}.hero-panel[data-hero-align="left"] .hero-copy{margin:0 auto 0 0;align-items:flex-start;text-align:left}.hero-panel[data-hero-align="center"] .hero-copy{width:min(760px,68%);margin:0 auto;align-items:center;text-align:center}.hero-panel[data-hero-align="right"] .hero-copy{margin:0 0 0 auto;align-items:flex-end;text-align:right}.hero-panel .hero-copy .kicker,.hero-panel .hero-copy h1,.hero-panel .hero-copy h1 span,.hero-panel .hero-copy .hero-desc{color:var(--hero-text-color)!important;text-shadow:0 2px 9px rgba(0,0,0,.28)}.hero-panel[data-hero-tone="dark-bg"] .hero-copy .kicker,.hero-panel[data-hero-tone="dark-bg"] .hero-copy h1,.hero-panel[data-hero-tone="dark-bg"] .hero-copy h1 span,.hero-panel[data-hero-tone="dark-bg"] .hero-copy .hero-desc{text-shadow:0 1px 3px rgba(255,255,255,.22)}.hero-panel[data-hero-align="left"] .hero-cta{justify-content:flex-start}.hero-panel[data-hero-align="center"] .hero-cta{justify-content:center}.hero-panel[data-hero-align="right"] .hero-cta{justify-content:flex-end}@media(max-width:760px){.hero-panel,.hero-panel .hero-copy{min-height:470px}.hero-panel .hero-copy,.hero-panel[data-hero-align="center"] .hero-copy{width:100%;padding:34px 28px}.hero-panel[data-hero-align="left"]:before,.hero-panel[data-hero-align="center"]:before,.hero-panel[data-hero-align="right"]:before{background:var(--hero-shade)}}
/* 관리자 메인 사진 위치·크기 조절 */
.hero-position-card{grid-column:1/-1}.hero-position-preview{height:260px;margin-bottom:16px;overflow:hidden;border:2px solid #9fc5df;border-radius:15px;background:#eaf7fd}.hero-position-preview img{width:100%;height:100%;object-fit:cover;display:block}.hero-position-card>label{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:14px;margin:11px 0;font-weight:900}.hero-position-card input[type=range]{width:100%;accent-color:#68c9e7}.hero-position-card output{display:inline-block;min-width:34px;text-align:right;color:#4c91af}.hero-position-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.hero-position-actions button{border:0;border-radius:11px;padding:11px 14px;background:linear-gradient(90deg,var(--sky),var(--mint));cursor:pointer;font-weight:900}.hero-position-actions .soft-danger{background:#ffe4ee;color:#a95d79}html.dark .hero-position-preview{background:#09090c;border-color:#4b4e59}html.dark .hero-position-card output{color:#8fd7ee}html.dark .hero-position-actions button{color:#071017;background:linear-gradient(180deg,#d9f8ff,#79dbf7 58%,#58bedf)}
/* 메인 이동 버튼 문구 대비 보정 */
html:not(.dark) .hero-cta button{color:#385675!important;text-shadow:none!important}html:not(.dark) .hero-cta button:nth-child(2){color:#7c4e67!important}html.dark .hero-cta button{color:#f4f8fc!important;text-shadow:0 1px 2px rgba(0,0,0,.45)!important}@media(max-width:700px){.hero-position-preview{height:190px}.hero-position-card>label{grid-template-columns:1fr;gap:5px}}
/* 관리자 메뉴별 설정 묶음 */
.admin-menu-section{margin:0 0 22px;padding:18px;border:1px solid #b8cee0;border-radius:18px;background:rgba(255,255,255,.66);box-shadow:0 5px 0 #d5e5ef,inset 0 1px 0 #fff}.admin-menu-section>h3{margin:0 0 14px;color:#526b8d}.single-image-manager{grid-template-columns:minmax(0,1fr)}html.dark .admin-menu-section{background:linear-gradient(145deg,#191a20,#101014);border-color:#484b56;box-shadow:0 5px 0 #020203,inset 0 1px 0 rgba(255,255,255,.07)}html.dark .admin-menu-section>h3{color:#e9edf4}@media(max-width:600px){.admin-menu-section{padding:12px}}

/* 관리자에서 선택한 프로필 글씨색 */
#page-profile{--profile-text-color:#526b8d}#page-profile .page-title,#page-profile .page-title *,#page-profile .profile-sheet dt,#page-profile .profile-sheet dd,#page-profile .stats label,#page-profile .full-stage>b{color:var(--profile-text-color)!important}

/* 프로필 문구별 색상 선택 */
.profile-individual-colors{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:15px;border:1px solid #b9cfe1;border-radius:15px;background:#f8fcff}.profile-individual-colors legend{padding:0 8px;color:#5b88a4;font-weight:900}.profile-individual-colors label{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid #c8d9e7;border-radius:11px;background:#fff;font-weight:800}.profile-individual-colors input[type=color]{width:54px;height:36px;padding:3px;border-radius:8px;cursor:pointer}html.dark .profile-individual-colors{background:#111116;border-color:#4b4e59}html.dark .profile-individual-colors legend{color:#8fd7ee}html.dark .profile-individual-colors label{background:#09090c;border-color:#4b4e59}@media(max-width:620px){.profile-individual-colors{grid-template-columns:1fr}}

/* 각 글씨 입력칸 옆 색상 선택 */
.profile-colored-input{display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:8px;align-items:stretch}.profile-colored-input>input[type=text],.profile-colored-input>input:not([type]){min-width:0}.profile-colored-input input[type=color]{width:58px;height:100%;min-height:46px;padding:5px;border:1px solid #b5c9df;border-radius:12px;background:#fff;cursor:pointer}.profile-stat-editor .profile-colored-input{min-width:0}.profile-stat-editor .profile-colored-input input:first-child{min-width:0}html.dark .profile-colored-input input[type=color]{background:#09090c;border-color:#4b4e59}@media(max-width:560px){.profile-colored-input{grid-template-columns:minmax(0,1fr) 52px}.profile-colored-input input[type=color]{width:52px}}

/* dark profile text contrast */
html.dark #page-profile .page-title span{color:#9dc7e8!important}html.dark .profile-sheet dt{color:#a9cce4!important}html.dark .profile-dock .identity strong{color:#f1f7ff!important}html.dark .profile-dock .identity small{color:#a9c4df!important}html.dark .profile-dock .status-stack span{color:#b5c4d6!important}html.dark .profile-dock .status-stack b{color:#f2f7fc!important}html.dark .profile-dock .quote-note small{color:#ffd09a!important}html.dark .profile-dock .quote-note p{color:#8edfff!important}html.dark #page-profile .page-title *,html.dark #page-profile .profile-sheet dt,html.dark #page-profile .profile-sheet dd,html.dark #page-profile .stats label,html.dark #page-profile .full-stage>b{text-shadow:0 1px 3px rgba(0,0,0,.85)}

/* automatic light dark text colors */
#page-profile .page-title,#page-profile .page-title h2,#page-profile .page-title span,#page-profile .profile-sheet dt{color:#526b8d!important}html.dark #page-profile .page-title,html.dark #page-profile .page-title h2,html.dark #page-profile .page-title span,html.dark #page-profile .profile-sheet dt{color:#fff!important}.quote-note #noteLabel,.quote-note #noteText{color:#526b8d!important}html.dark .quote-note #noteLabel,html.dark .quote-note #noteText{color:#fff!important}.profile-dock .status-stack span,.profile-dock .status-stack b{color:#526b8d!important}html.dark .profile-dock .status-stack span,html.dark .profile-dock .status-stack b{color:#fff!important}

/* 관리자 노래 검색 */
.admin-song-search{margin:2px 0 8px}.admin-search-result{min-height:20px;margin:0 3px 10px;color:#6687a4;font-size:12px;font-weight:900}html.dark .admin-search-result{color:#a9cce4}

/* 관리자 노래 검색 결과 외 항목 숨김 */
[data-song-edit][hidden]{display:none!important}

/* closet controls gallery spacing */
.closet-controls+.closet-gallery{margin-top:24px}@media(max-width:700px){.closet-controls+.closet-gallery{margin-top:18px}}

/* sidebar logo vertical adjustment */
#siteLogo{transform:translateY(-10px)}

/* SOOP ???? ?? ???? ?? ???? */
html.soop-wide{overflow-x:hidden;background:#fff}
html.soop-wide body{width:1600px;min-width:1600px;zoom:.625;overflow-x:hidden}
html.soop-wide .app-shell{width:1576px;margin:12px;border-radius:30px}
html.soop-wide .app-body{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;padding:18px}
html.soop-wide .profile-dock{position:sticky;top:18px;margin-bottom:0}
html.soop-wide .portrait-wrap{height:360px}
html.soop-wide .game-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));overflow:visible}
html.soop-wide .nav-btn{min-width:0}
html.soop-wide .widget-grid{grid-template-columns:1.1fr 1fr .9fr}
html.soop-wide .memo-widget{grid-column:auto}
html.soop-wide .profile-layout{grid-template-columns:1fr 1.25fr}
html.soop-wide .schedule-layout{grid-template-columns:minmax(220px,270px) minmax(600px,1fr)}
html.soop-wide .schedule-layout .schedule-board{grid-template-columns:1fr}
html.soop-wide .schedule-board,html.soop-wide .karma-grid,html.soop-wide .closet-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
html.soop-wide .hero-panel .hero-copy{width:min(650px,55%);padding:48px 52px}
html.soop-wide .heart-meter{display:block}
