@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(7,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;padding-left:10px;text-align:left}.page-title>span,.page-title>h2,.page-title>p{display:block;margin-left:0;text-align:left}.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}}

.song-filter-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.song-filter-row .chips{flex:1}.song-tools{margin-left:auto;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.song-tools>div{display:flex;gap:6px}.song-tools button{min-height:38px;padding:7px 12px;border:1px solid #a8c8e8;border-radius:12px;background:linear-gradient(#fff,#edf7fc);color:#526b8d;font-weight:800;box-shadow:0 4px 0 #c4d9e8,inset 0 1px 0 #fff}.song-tools button:hover{transform:translateY(-2px)}.song-tools button:active{transform:translateY(2px);box-shadow:0 1px 0 #c4d9e8}.song-tools button.active{background:linear-gradient(135deg,#aee9e2,#c7f4df);border-color:#72cdbc;color:#3f6680}html.dark .song-tools button{background:linear-gradient(#25262d,#17181e);border-color:#555966;color:#f3f6fb;box-shadow:0 4px 0 #030304,inset 0 1px 0 rgba(255,255,255,.09)}html.dark .song-tools button.active{background:linear-gradient(135deg,#205b5b,#163f48);border-color:#58c8c4;color:#fff}
.profile-basic-admin{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.profile-basic-admin-field{display:grid;grid-template-columns:minmax(0,1fr) 50px;gap:8px}.profile-basic-admin-field input[type=color]{width:50px;height:48px;padding:5px}.profile-basic-admin>button{grid-column:1/-1}.profile-field-editor{display:grid;gap:12px}.profile-field-admin-row{display:grid;grid-template-columns:minmax(100px,.7fr) minmax(160px,1.4fr) 96px 96px auto;gap:10px;align-items:center;padding:12px;border:1px solid #bdd2e4;border-radius:14px;background:rgba(255,255,255,.62)}.profile-field-admin-row>input{min-width:0;height:46px}.profile-field-admin-row>label{display:grid;grid-template-columns:1fr 42px;align-items:center;gap:5px;font-size:12px;font-weight:800;color:#526b8d}.profile-field-admin-row input[type=color]{width:42px;height:42px;padding:4px}.profile-field-order{display:flex;gap:5px;flex-wrap:wrap}.profile-field-order button{padding:9px 10px}.profile-field-editor-actions{display:flex;gap:10px;margin-top:14px}.profile-field-editor-actions button{flex:1;min-height:48px}html.dark .profile-field-admin-row{background:#15161b;border-color:#4c505c}html.dark .profile-field-admin-row>label{color:#eef2f8}@media(max-width:850px){.profile-basic-admin{grid-template-columns:1fr}.profile-field-admin-row{grid-template-columns:1fr 1fr}.profile-field-admin-row>label,.profile-field-order{grid-column:auto}.profile-field-order{grid-column:1/-1}}@media(max-width:520px){.profile-field-admin-row{grid-template-columns:1fr}.profile-field-admin-row>label,.profile-field-order{grid-column:1}.song-tools{margin-left:0;justify-content:flex-start}}

/* 관리자에서 선택한 프로필 글씨색 */
#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 auto;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-color-reset{grid-column:auto!important;min-width:76px;padding:8px 11px!important;border:1px solid #efb9cf!important;border-radius:12px!important;background:linear-gradient(#fff7fb,#ffe1ed)!important;color:#a95478!important;box-shadow:0 3px 0 #efc0d3;cursor:pointer;font-weight:800}.profile-color-reset:active{transform:translateY(2px);box-shadow:0 1px 0 #efc0d3}.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 auto}.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(7,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}

.content-controls{justify-content:flex-end}.content-controls>div:first-child{display:none}.content-gallery{margin-top:24px}.content-gallery .poster em{background:linear-gradient(90deg,#75ccec,#76d7bd)}

/* Unified small descriptions below page titles */
.page-title>p,.page-title>p span{margin:10px 0 0;font-family:inherit;font-size:12px!important;line-height:1.55;font-weight:900!important;letter-spacing:.35px!important;color:#526b8d!important}html.dark .page-title>p,html.dark .page-title>p span{color:#f5f7fb!important}

/* Optical alignment for descriptions under large Korean page titles */
#page-closet .page-title>p,#page-content .page-title>p,#page-karma .page-title>p{padding-left:5px}

/* Phone layout, including the SOOP embedded view. */
@media(max-width:760px){
 html,html.soop-wide{width:100%;min-width:320px;overflow-x:hidden;background:#fff}
 body,html.soop-wide body{width:100%!important;min-width:320px!important;zoom:1!important;overflow-x:hidden!important}
 .app-shell,html.soop-wide .app-shell{width:100%!important;margin:0!important;border-width:0 0 2px!important;border-radius:0!important}
 .topbar{height:58px;padding:7px 10px;gap:7px;position:relative}
 .brand-mini{flex:0 0 auto}.brand-mini b{display:none}.orb{width:15px;height:15px}
 .address{min-width:0;padding:9px 10px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .top-actions{gap:5px;flex:0 0 auto}.top-actions button{width:35px;height:35px;border-radius:12px;padding:0;font-size:15px}
 .app-body,html.soop-wide .app-body{display:block!important;padding:10px!important}
 .profile-dock,html.soop-wide .profile-dock{position:relative!important;top:auto!important;margin:0 0 16px!important;padding:14px!important}
 .logo-wrap{height:76px}.logo-wrap img{max-width:190px;max-height:72px}#siteLogo{transform:translateY(-4px)}
 .portrait-wrap,html.soop-wide .portrait-wrap{height:250px!important;border-radius:16px}
 .identity{padding:12px 2px 8px}.identity strong{font-size:25px}.quote-note{margin:11px 0}.sns-row a{padding:8px 2px}
 .hud-row{height:auto;min-height:46px;gap:12px;padding:9px 10px}.hud-card{gap:5px}.hud-card b{font-size:14px}.heart-meter,html.soop-wide .heart-meter{display:none!important}
 .game-nav,html.soop-wide .game-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;margin:12px 0 17px!important;overflow:visible!important}
 .nav-btn,html.soop-wide .nav-btn{min-width:0!important;min-height:64px!important;padding:8px 4px!important}.nav-btn b{font-size:15px}.nav-btn small{font-size:11px;margin-top:4px}
 .hero-panel,.hero-panel .hero-copy{min-height:500px}.hero-panel .hero-copy,.hero-panel[data-hero-align="center"] .hero-copy,html.soop-wide .hero-panel .hero-copy{width:100%!important;min-height:500px!important;padding:28px 20px!important;justify-content:center!important}
 .hero-copy h1{font-size:clamp(34px,11vw,48px);line-height:1.08;margin:12px 0 16px;overflow-wrap:anywhere}.hero-desc{font-size:13px;line-height:1.55}.hero-cta{width:100%;gap:9px;margin-top:20px}.hero-cta button{flex:1;min-width:0;padding:11px 7px;font-size:14px}
 .widget-grid,html.soop-wide .widget-grid{grid-template-columns:1fr!important;gap:14px}.memo-widget,html.soop-wide .memo-widget{grid-column:auto}.widget{min-height:0;padding:15px}.widget-empty{min-height:165px}
 .page-title{padding-left:3px;margin:8px 0 17px}.page-title h2{font-size:38px}.page-title>p{padding-left:0!important}
 .profile-layout,html.soop-wide .profile-layout{grid-template-columns:1fr!important;gap:14px}.full-stage{height:430px}.profile-sheet{padding:16px}.profile-sheet dl div{grid-template-columns:92px minmax(0,1fr);gap:9px;padding:13px 0}.profile-sheet dt,.profile-sheet dd{font-size:14px;overflow-wrap:anywhere}
 .schedule-layout,html.soop-wide .schedule-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important}.schedule-layout .schedule-board,html.soop-wide .schedule-layout .schedule-board{grid-template-columns:1fr!important}.monthly-calendar{width:100%;overflow-x:auto}.monthly-calendar .calendar-header{position:sticky;left:0}.calendar-weekdays,.calendar-grid{min-width:560px}
 .songbook,.archive{padding:14px}.song-head{align-items:flex-start;gap:6px;flex-direction:column}.song-head h2{font-size:27px}.song-head span{font-size:11px}.search{margin-top:13px}.song-filter-row{display:block}.song-tools{margin:10px 0 0;justify-content:flex-start}.song-tools>div{flex-wrap:wrap}.song-tools button,.chips button{padding:9px 11px;font-size:12px}.song-row{grid-template-columns:28px minmax(0,1.2fr) minmax(0,.8fr);gap:7px;padding:11px 5px}.song-row b,.song-row span{min-width:0;font-size:12px;overflow:hidden;text-overflow:ellipsis}
 .karma-grid,html.soop-wide .karma-grid,.closet-gallery,html.soop-wide .closet-gallery{grid-template-columns:1fr!important}.closet-controls,.content-controls{align-items:stretch}.closet-controls>div,.content-controls>div{width:100%;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.closet-controls>div:first-child{grid-template-columns:repeat(2,minmax(0,1fr))}.content-controls>div:first-child{display:none!important}.closet-controls button{padding:10px 6px;font-size:12px}.poster>div{height:min(118vw,480px)}
 .admin-panel{padding:0}.admin-dialog{width:100%;height:100%;max-height:none;border-radius:0;border-width:0;overflow:auto}.admin-dialog>header{padding:13px 14px;position:sticky;top:0;z-index:4}.admin-dialog h2{font-size:21px}.admin-tabs{padding:10px;position:sticky;top:70px;z-index:3;background:#f7fcff}.admin-content{padding:11px}.admin-item{grid-template-columns:1fr}.admin-item-with-image{grid-template-columns:48px minmax(0,1fr)}.admin-item-with-image>button{grid-column:1/-1}.profile-field-editor-actions{flex-direction:column}
}

/* Final UPBO viewer override: compact on desktop and both mobile contexts. */
.karma-detail-dialog{width:min(410px,calc(100vw - 28px))!important;max-height:min(720px,90vh)!important;padding:0!important;overflow:hidden!important;border:1px solid #b9d8ea!important;border-radius:22px!important;background:#fff!important;box-shadow:0 18px 55px rgba(45,91,125,.28)!important}
.karma-detail-close{top:9px!important;right:10px!important;width:32px!important;height:32px!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#9db7c8!important;font-size:27px!important}
.karma-detail-profile{grid-template-columns:52px minmax(0,1fr)!important;gap:11px!important;padding:14px 50px 14px 16px!important;border-bottom:1px solid #d7e7f1!important}
.karma-detail-profile img{width:52px!important;height:52px!important;border:3px solid #70c9eb!important}
.karma-detail-profile h3{margin:0 0 3px!important;color:#1384b4!important;font-size:16px!important}
.karma-detail-profile p{font-size:13px!important;color:#85a4bb!important}.karma-detail-profile>strong{display:none!important}
.karma-detail-content{display:grid!important;gap:7px!important;margin:0!important;padding:14px!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;overflow:auto!important}
.karma-detail-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:9px 14px;border-radius:13px;background:linear-gradient(90deg,#d9f3ff,#c8eaf8);color:#49677d}
.karma-detail-row span{min-width:0;overflow-wrap:anywhere;font-size:15px;font-weight:800}.karma-detail-row b{flex:0 0 auto;min-width:45px;padding:4px 10px;border-radius:999px;background:#fff;color:#1886b5;text-align:center;font-size:15px}
html.dark .karma-detail-dialog,html.dark .karma-detail-content{background:#11151a!important}html.dark .karma-detail-profile{border-color:#3e5667!important}html.dark .karma-detail-row{background:linear-gradient(90deg,#183d50,#214c60);color:#f5fbff}
@media(max-width:480px){.karma-detail-modal{align-items:center!important;padding:14px!important}.karma-detail-dialog{width:100%!important}.karma-detail-content{max-height:62vh!important}}

/* Songbook layout: no status/menu strip; left and right content start on the same line. */
.songbook-dock,.workspace>.page-stage{margin-top:0!important}
.workspace>.page-stage{padding-top:0!important}
.workspace .book-title{display:grid;place-items:center;height:36px;margin:0 0 8px!important;line-height:1}
.workspace .songbook{margin-top:0}
.online b{font:inherit}
@media(max-width:760px){
 .app-body{padding-top:10px!important}
 .workspace>.page-stage{padding-top:0!important}
 .workspace .book-title{height:32px;margin-bottom:7px!important;font-size:20px}
}

/* Songbook-only site additions; core tokens and components above are shared with HIMURU DIARY. */
body{min-height:100vh}.songbook-dock{align-self:start}.songbook-summary{margin-top:16px;padding:16px;border:1px solid rgba(155,206,232,.75);border-radius:18px;background:linear-gradient(135deg,rgba(226,247,255,.9),rgba(246,235,255,.8));text-align:center}.songbook-summary small{display:block;color:#83a1b7;font-size:10px;font-weight:900;letter-spacing:.14em}.songbook-summary strong{display:block;margin:5px 0;color:#5484a2;font-size:26px}.songbook-summary p{margin:0;color:#7892a6;font-size:12px;line-height:1.55}.diary-link{display:block;margin-top:12px;padding:12px;border-radius:14px;background:#fff;color:#6694ae;text-align:center;font-size:12px;font-weight:900;text-decoration:none;box-shadow:0 7px 18px rgba(76,130,164,.1)}.songbook-nav{grid-template-columns:54px 1fr 44px}.songbook-nav-title{align-self:center;color:#7d99ae;font-size:12px;font-weight:900;letter-spacing:.16em}.song-head{align-items:center}.song-head>div span{display:block;margin-top:4px}.manage-cta{padding:10px 16px;border:0;border-radius:14px;background:linear-gradient(135deg,#8dd9f3,#b8a9ef);color:#fff;font-weight:900;box-shadow:0 8px 18px rgba(102,151,194,.2)}#syncState[data-state="ok"]{color:#51ae91}#syncState[data-state="error"]{color:#db7891}.song-toast{position:fixed;right:24px;bottom:24px;z-index:2000;max-width:min(360px,calc(100vw - 32px));padding:12px 18px;border:1px solid rgba(161,207,231,.8);border-radius:14px;background:rgba(255,255,255,.96);color:#58798f;font-weight:800;box-shadow:0 14px 40px rgba(54,100,131,.22);opacity:0;transform:translateY(12px);pointer-events:none;transition:.22s ease}.song-toast.show{opacity:1;transform:none}.song-editor{margin-bottom:18px}.song-editor h3{grid-column:1/-1;margin:0;color:#5c7f96}.admin-item[data-admin-song]{grid-template-columns:minmax(0,1fr) auto}.admin-item[data-admin-song]>div:first-child{display:grid;gap:4px}.admin-item[data-admin-song] small{color:#86a1b4}.record-edit-actions{display:flex;gap:7px}.empty-list{min-height:180px}
html.dark .songbook-summary{border-color:#344c5c;background:linear-gradient(135deg,rgba(28,54,67,.9),rgba(48,39,66,.85))}html.dark .diary-link,html.dark .song-toast{border-color:#334a59;background:#171d23;color:#d9efff}
.songbook-dock,.workspace>.page-stage{margin-top:0!important}.workspace>.page-stage{padding-top:0!important}.workspace .book-title{display:grid;place-items:center;height:36px;margin:0 0 8px!important;line-height:1}.online b{font:inherit}.workspace .songbook{margin-top:0}
@media(max-width:760px){body .game-nav.songbook-nav{grid-template-columns:36px minmax(120px,1fr) 36px!important;width:calc(100vw - 16px)!important}.songbook-nav-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-body{padding-top:60px!important}.manage-cta{padding:9px 11px}.song-head{gap:10px}.song-toast{right:16px;bottom:16px}.admin-item[data-admin-song]{grid-template-columns:1fr}.record-edit-actions{justify-content:flex-end}}

/* Structured karma editor: one name/count pair per owned karma. */
.karma-admin-form .record-edit-grid{align-items:start}.karma-admin-items{grid-column:1/-1;display:grid;gap:9px;padding:12px;border:1px solid #b9d8ea;border-radius:14px;background:#f5fbff}.karma-admin-items>b{color:#4d718b}.karma-admin-items>[data-karma-rows]{display:grid;gap:8px}.karma-admin-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 66px;gap:8px;align-items:center}.karma-admin-row>input,.karma-admin-row label{min-width:0}.karma-admin-row label{display:flex;align-items:center;gap:7px;padding:5px 8px;border:1px solid #b9cfe2;border-radius:9px;background:#fff;color:#63829a;font-size:12px;font-weight:800}.karma-admin-row label input{width:58px;min-width:0;padding:6px}.karma-admin-row button,.karma-row-add{min-height:38px;border:0;border-radius:9px;font-weight:900;cursor:pointer}.karma-row-add{justify-self:start;padding:8px 13px;background:#d9f4ff;color:#318db3}.karma-admin-row .soft-danger{padding:7px;background:#ffe2ed;color:#c75c83}html.dark .karma-admin-items{background:#101a20;border-color:#397a98}html.dark .karma-admin-row label{background:#17191e;border-color:#46515c;color:#dcecf5}
@media(max-width:600px){.karma-admin-row{grid-template-columns:minmax(0,1fr) 112px}.karma-admin-row>button{grid-column:2;justify-self:end}.karma-admin-row label{font-size:10px}.karma-admin-row label input{width:45px}}

/* Compact viewer-style UPBO detail sheet. */
.karma-detail-dialog{width:min(410px,calc(100vw - 28px))!important;max-height:min(720px,90vh)!important;padding:0!important;overflow:hidden!important;border:1px solid #b9d8ea!important;border-radius:22px!important;background:#fff!important;box-shadow:0 18px 55px rgba(45,91,125,.28)!important}
.karma-detail-close{top:9px!important;right:10px!important;width:32px!important;height:32px!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#9db7c8!important;font-size:27px!important}
.karma-detail-profile{grid-template-columns:52px minmax(0,1fr)!important;gap:11px!important;padding:14px 50px 14px 16px!important;border-bottom:1px solid #d7e7f1!important}
.karma-detail-profile img{width:52px!important;height:52px!important;border:3px solid #70c9eb!important}
.karma-detail-profile h3{margin:0 0 3px!important;color:#1384b4!important;font-size:16px!important}
.karma-detail-profile p{font-size:13px!important;color:#85a4bb!important}
.karma-detail-profile>strong{display:none!important}
.karma-detail-content{display:grid!important;gap:7px!important;margin:0!important;padding:14px!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;overflow:auto!important}
.karma-detail-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:9px 14px;border-radius:13px;background:linear-gradient(90deg,#d9f3ff,#c8eaf8);color:#49677d}
.karma-detail-row span{min-width:0;overflow-wrap:anywhere;font-size:15px;font-weight:800}
.karma-detail-row b{flex:0 0 auto;min-width:45px;padding:4px 10px;border-radius:999px;background:#fff;color:#1886b5;text-align:center;font-size:15px}
html.dark .karma-detail-dialog,html.dark .karma-detail-content{background:#11151a!important}
html.dark .karma-detail-profile{border-color:#3e5667!important}
html.dark .karma-detail-row{background:linear-gradient(90deg,#183d50,#214c60);color:#f5fbff}
@media(max-width:480px){.karma-detail-modal{align-items:center!important;padding:14px!important}.karma-detail-dialog{width:100%!important}.karma-detail-content{max-height:62vh!important}}
@media(max-width:380px){.address{display:none}.top-actions{margin-left:auto}.game-nav,html.soop-wide .game-nav{grid-template-columns:1fr 1fr!important}.portrait-wrap,html.soop-wide .portrait-wrap{height:220px!important}.hero-panel,.hero-panel .hero-copy{min-height:470px}.hero-copy h1{font-size:33px}.profile-sheet dl div{grid-template-columns:78px minmax(0,1fr)}}
.social-link-admin label{display:grid;gap:6px}.social-link-admin label span{font-size:12px;font-weight:900;color:#526b8d}html.dark .social-link-admin label span{color:#eef3f8}@media(max-width:760px){.social-link-admin{grid-template-columns:1fr}}
.fan-character-section{margin-top:22px;padding:20px;border:2px solid #a8c6e2;border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(255,247,252,.88));box-shadow:0 8px 0 #c3d8e8,inset 0 1px 0 #fff}.fan-character-section[hidden]{display:none}.fan-character-section>h3{margin:0 0 14px;color:#526b8d;letter-spacing:2px}.fan-character-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fan-character-card{min-width:0;min-height:120px;display:flex;align-items:center;gap:16px;padding:14px;border:1px solid #c5d7e7;border-radius:17px;background:#fff;color:#526b8d;text-decoration:none;box-shadow:0 5px 0 #d8e5ee;transition:.2s}.fan-character-card:hover{transform:translateY(-3px);border-color:#7bcce4}.fan-character-card.featured{grid-column:1/-1;min-height:180px}.fan-character-card img{width:92px;height:92px;flex:0 0 auto;object-fit:cover;border-radius:14px;background:#eef8fc}.fan-character-card.featured img{width:150px;height:150px}.fan-character-card span{display:grid;gap:5px}.fan-character-card small{color:#a07691;font-size:11px}.fan-character-card b{font-size:20px}.fan-character-admin-list{display:grid;gap:14px}.fan-character-admin{padding:14px;border:1px solid #c5d7e7;border-radius:15px;background:rgba(255,255,255,.7)}.fan-character-admin h4{grid-column:1/-1;margin:0;color:#526b8d}.fan-character-admin .soft-danger{background:#ffe1eb;color:#a95478}.song-artist-group{margin:14px 0;border:1px solid #d8c7d1;border-radius:18px;overflow:hidden;background:rgba(255,255,255,.72)}.song-artist-group>header{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:linear-gradient(90deg,#fff,#fff0f7);border-bottom:1px dashed #e6cbd8}.song-artist-group>header b{color:#6e5268}.song-artist-group>header small{font-weight:900;color:#a08197}.song-artist-group .song-row:last-child{border-bottom:0}html.dark .fan-character-section,html.dark .fan-character-card,html.dark .fan-character-admin,html.dark .song-artist-group{background:#15161b;border-color:#4b505c}html.dark .fan-character-section>h3,html.dark .fan-character-card,html.dark .fan-character-admin h4{color:#f2f6fb}html.dark .song-artist-group>header{background:linear-gradient(90deg,#242129,#31222b);border-color:#62485a}html.dark .song-artist-group>header b,html.dark .song-artist-group>header small{color:#ffd9ed}@media(max-width:760px){.fan-character-section{padding:14px}.fan-character-grid{grid-template-columns:1fr}.fan-character-card.featured{grid-column:1}.fan-character-card.featured img{width:112px;height:112px}.fan-character-card{min-height:110px}.fan-character-admin{grid-template-columns:1fr}.song-artist-group{margin:11px 0}.song-artist-group>header{padding:10px 12px}}

/* 2026 illustration-first redesign: compact centered navigation */
.topbar{position:fixed;z-index:60;right:14px;bottom:14px;top:auto;width:auto;height:auto;padding:6px;border:1px solid rgba(255,255,255,.62);border-radius:17px;background:rgba(28,28,34,.78);box-shadow:0 10px 30px rgba(20,23,35,.25);backdrop-filter:blur(14px)}
.topbar .brand-mini,.topbar .address{display:none}.topbar .top-actions{gap:5px}.topbar .top-actions button{width:38px;height:38px;border:0;border-radius:12px;background:rgba(255,255,255,.94);box-shadow:none;color:#4f5870}
.game-nav,html.soop-wide .game-nav{position:sticky;top:12px;z-index:50;display:grid!important;grid-template-columns:repeat(7,48px)!important;gap:4px!important;width:max-content;max-width:calc(100vw - 24px);margin:12px auto 24px!important;padding:7px!important;overflow-x:auto!important;overscroll-behavior-x:contain;border:1px solid rgba(255,255,255,.22);border-radius:18px;background:rgba(28,28,34,.93);box-shadow:0 13px 34px rgba(17,18,26,.27),inset 0 1px 0 rgba(255,255,255,.15);backdrop-filter:blur(16px);scrollbar-width:none}
.game-nav::-webkit-scrollbar{display:none}.nav-btn,html.soop-wide .nav-btn{position:relative;display:grid;place-items:center;width:48px;min-width:48px!important;height:48px;min-height:48px!important;padding:0!important;border:0!important;border-radius:13px!important;background:transparent!important;box-shadow:none!important;color:#f4f4f7!important;transform:none!important;transition:background .18s,color .18s,transform .18s!important}
.nav-btn b,.nav-btn small{display:none!important}.nav-btn::before{font-size:22px;line-height:1}.nav-btn[data-page="home"]::before{content:"⌂"}.nav-btn[data-page="profile"]::before{content:"♙"}.nav-btn[data-page="schedule"]::before{content:"▣"}.nav-btn[data-page="songbook"]::before{content:"♫"}.nav-btn[data-page="karma"]::before{content:"◇"}.nav-btn[data-page="closet"]::before{content:"▤"}.nav-btn[data-page="content"]::before{content:"▦"}
.nav-btn:hover{background:rgba(255,255,255,.1)!important;transform:translateY(-1px)!important}.nav-btn.active{background:#fff!important;color:#ff5b9c!important;box-shadow:0 5px 13px rgba(0,0,0,.22)!important}.nav-btn:active{transform:translateY(1px)!important}

/* The home page is now a full illustration canvas. Admin image position/zoom still applies. */
body[data-current-page="home"]{overflow-x:hidden}body[data-current-page="home"] .app-shell{width:100%;max-width:none;margin:0;border:0;border-radius:0;box-shadow:none;background:#101116}body[data-current-page="home"] .app-body,html.soop-wide body[data-current-page="home"] .app-body{display:block!important;padding:0!important}body[data-current-page="home"] .workspace{width:100%}body[data-current-page="home"] .profile-dock,body[data-current-page="home"] .hud-row,body[data-current-page="home"] .widget-grid{display:none!important}
body[data-current-page="home"] .game-nav,html.soop-wide body[data-current-page="home"] .game-nav{position:fixed;top:18px;left:50%;transform:translateX(-50%);margin:0!important}body[data-current-page="home"] .page-stage{margin:0}body[data-current-page="home"] #page-home{padding:0}body[data-current-page="home"] .hero-panel{width:100%;height:100svh;min-height:560px;margin:0;border:0;border-radius:0;box-shadow:none;background:#101116;overflow:hidden}body[data-current-page="home"] .hero-copy,body[data-current-page="home"] .hero-glow,body[data-current-page="home"] .floating,body[data-current-page="home"] .hero-panel::before,body[data-current-page="home"] .hero-panel::after{display:none!important}body[data-current-page="home"] .hero-art{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;transform:none!important}body[data-current-page="home"] .hero-art img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:0!important;filter:none}

/* Schedule switches between upcoming cards and the full monthly calendar. */
.schedule-view-toggle{display:flex;justify-content:center;gap:8px;margin:0 0 18px}.schedule-view-toggle button{min-width:112px;padding:11px 20px;border:1px solid #b7cde1;border-radius:999px;background:#fff;color:#526b8d;font-weight:900;box-shadow:0 4px 0 #cadae7;cursor:pointer;transition:.18s}.schedule-view-toggle button.active{border-color:#65cae8;background:linear-gradient(135deg,#bdeaff,#c8f5e8);color:#28465e;box-shadow:0 4px 0 #78bdd6}.schedule-view-toggle button:active{transform:translateY(3px);box-shadow:0 1px 0 #cadae7}.schedule-layout,html.soop-wide .schedule-layout{grid-template-columns:minmax(0,1fr)!important}.schedule-layout[data-schedule-view="week"] .monthly-calendar{display:none!important}.schedule-layout[data-schedule-view="month"] .schedule-board{display:none!important}.schedule-layout[data-schedule-view="week"] .schedule-board,html.soop-wide .schedule-layout[data-schedule-view="week"] .schedule-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:14px}.schedule-layout[data-schedule-view="month"] .monthly-calendar{display:block;width:100%}html.dark .schedule-view-toggle button{border-color:#50535d;background:#1a1b20;color:#f6f7fa;box-shadow:0 4px 0 #07080b}html.dark .schedule-view-toggle button.active{border-color:#6fd4ea;background:linear-gradient(135deg,#244557,#315149);color:#fff}

@media(max-width:760px){
 .topbar{right:8px;bottom:8px;padding:4px}.topbar .top-actions button{width:34px;height:34px;border-radius:10px}
 .game-nav,html.soop-wide .game-nav{grid-template-columns:repeat(7,44px)!important;gap:3px!important;width:max-content;max-width:calc(100vw - 16px);margin:8px auto 16px!important;padding:6px!important;overflow-x:auto!important}
 .nav-btn,html.soop-wide .nav-btn{width:44px;min-width:44px!important;height:44px;min-height:44px!important;border-radius:12px!important}.nav-btn::before{font-size:20px}
 body[data-current-page="home"] .game-nav,html.soop-wide body[data-current-page="home"] .game-nav{top:10px;margin:0!important}
 body[data-current-page="home"] .hero-panel{height:100svh;min-height:500px}
 .schedule-view-toggle{position:sticky;top:70px;z-index:20;margin:0 0 15px;padding:5px}.schedule-view-toggle button{min-width:96px;padding:10px 16px}
 .schedule-layout[data-schedule-view="week"] .schedule-board,html.soop-wide .schedule-layout[data-schedule-view="week"] .schedule-board{grid-template-columns:1fr!important}
}
@media(max-width:380px){.game-nav,html.soop-wide .game-nav{grid-template-columns:repeat(7,42px)!important}.nav-btn,html.soop-wide .nav-btn{width:42px;min-width:42px!important}}

/* Right-aligned white navigation with proper line icons. */
.workspace{position:relative}.heart-meter{display:none!important}.hud-row{padding-right:390px}
.game-nav,html.soop-wide .game-nav{position:absolute!important;top:1px!important;right:8px!important;left:auto!important;display:grid!important;grid-template-columns:repeat(7,44px)!important;gap:3px!important;width:max-content!important;max-width:calc(100% - 20px)!important;height:46px;margin:0!important;padding:4px!important;overflow:visible!important;border:1px solid #dcebf5!important;border-radius:15px!important;background:rgba(255,255,255,.97)!important;box-shadow:0 8px 22px rgba(73,122,155,.16),inset 0 1px 0 #fff!important;transform:none!important;backdrop-filter:blur(14px)}
.nav-btn,html.soop-wide .nav-btn{position:relative;width:44px!important;min-width:44px!important;height:38px!important;min-height:38px!important;border:0!important;border-radius:11px!important;background:transparent!important;color:#70c9ea!important;box-shadow:none!important;transform:none!important}
.nav-btn::before{display:none!important}.nav-btn svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-btn.active{background:#e9f8ff!important;color:#43b8e3!important;box-shadow:inset 0 0 0 1px #bfeaff!important}.nav-btn:hover{background:#f0faff!important;color:#39add8!important;transform:translateY(-1px)!important}.nav-btn:active{transform:translateY(1px)!important}.nav-tooltip{position:absolute;top:calc(100% + 9px);left:50%;z-index:5;padding:5px 8px;border-radius:8px;background:#354758;color:#fff;font-size:10px;font-weight:800;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,-3px);transition:.15s}.nav-btn:hover .nav-tooltip,.nav-btn:focus-visible .nav-tooltip{opacity:1;transform:translate(-50%,0)}
.page-stage{padding-top:14px}.page-title{margin:0 0 16px;padding-left:4px}.page-title h2{margin:4px 0;font-size:43px}.book-title{margin:3px 0 12px}.schedule-view-toggle{justify-content:flex-end;margin:-58px 8px 17px 0}.profile-layout{gap:16px}.full-stage{height:min(650px,calc(100vh - 190px));min-height:500px}.profile-sheet{padding:22px}.profile-sheet dl div{padding:12px 0}
body[data-current-page="home"] .game-nav,html.soop-wide body[data-current-page="home"] .game-nav{position:fixed!important;top:18px!important;right:22px!important;left:auto!important;margin:0!important;transform:none!important}
html.dark .game-nav,html.dark.soop-wide .game-nav{border-color:#44515e!important;background:rgba(255,255,255,.96)!important}html.dark .nav-btn,html.dark.soop-wide .nav-btn{color:#65c4e7!important}html.dark .nav-btn.active{background:#dff5ff!important;color:#269fce!important}

@media(max-width:1000px){.hud-row{padding-right:345px}.game-nav,html.soop-wide .game-nav{grid-template-columns:repeat(7,40px)!important}.nav-btn,html.soop-wide .nav-btn{width:40px!important;min-width:40px!important}}
@media(max-width:760px){
 .hud-row{padding-right:8px}.hud-card{font-size:12px}
 .game-nav,html.soop-wide .game-nav{position:sticky!important;top:6px!important;right:auto!important;left:auto!important;grid-template-columns:repeat(7,42px)!important;width:max-content!important;max-width:calc(100vw - 20px)!important;height:48px;margin:6px 0 10px auto!important;padding:4px!important;overflow-x:auto!important}
 .nav-btn,html.soop-wide .nav-btn{width:42px!important;min-width:42px!important;height:40px!important;min-height:40px!important}.nav-tooltip{display:none}
 .page-stage{padding-top:0}.page-title{margin:2px 0 13px}.page-title h2{font-size:36px}
 .schedule-view-toggle{position:relative;top:auto;justify-content:flex-end;margin:0 0 13px;padding:0}
 .full-stage{height:430px;min-height:0}
 body[data-current-page="home"] .game-nav,html.soop-wide body[data-current-page="home"] .game-nav{position:fixed!important;top:10px!important;right:10px!important;left:auto!important;margin:0!important}
}
@media(max-width:390px){.game-nav,html.soop-wide .game-nav{grid-template-columns:repeat(7,39px)!important}.nav-btn,html.soop-wide .nav-btn{width:39px!important;min-width:39px!important}}

/* Home image starts at the very top; fan links live inside the profile sheet. */
body[data-current-page="home"] .page-stage,body[data-current-page="home"] #page-home{margin:0!important;padding:0!important}body[data-current-page="home"] .hero-panel{top:0!important}body[data-current-page="home"] .workspace{margin:0!important;padding:0!important}
#page-profile .profile-sheet{display:flex;flex-direction:column;min-height:500px}#page-profile .profile-sheet>dl{flex:0 0 auto}#page-profile .profile-sheet .fan-character-section{flex:1;margin:18px 0 0;padding:17px 0 0;border:0;border-top:1px solid #d7e5ef;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}#page-profile .profile-sheet .fan-character-section>h3{margin:0 0 12px;font-size:13px;letter-spacing:1.7px}#page-profile .profile-sheet .fan-character-grid{grid-template-columns:minmax(220px,1.15fr) minmax(190px,.85fr);grid-auto-rows:minmax(90px,1fr);gap:10px}#page-profile .profile-sheet .fan-character-card{min-height:90px;padding:10px 12px;border-radius:13px;box-shadow:none}#page-profile .profile-sheet .fan-character-card.featured{grid-column:1;grid-row:1/span 2;min-height:190px}#page-profile .profile-sheet .fan-character-card img{width:70px;height:70px;border-radius:11px}#page-profile .profile-sheet .fan-character-card.featured img{width:128px;height:128px}#page-profile .profile-sheet .fan-character-card b{font-size:17px}#page-profile .profile-sheet .fan-character-card small{font-size:9px}
html.dark #page-profile .profile-sheet .fan-character-section{border-top-color:#40454f;background:transparent}
@media(max-width:900px){#page-profile .profile-sheet .fan-character-grid{grid-template-columns:1fr}#page-profile .profile-sheet .fan-character-card.featured{grid-column:1;grid-row:auto;min-height:145px}}
@media(max-width:760px){#page-profile .profile-sheet{min-height:0}#page-profile .profile-sheet .fan-character-section{margin-top:14px;padding-top:14px}#page-profile .profile-sheet .fan-character-card.featured img{width:100px;height:100px}}

/* Airy floating header: separate date capsule and navigation capsule. */
.hud-row{height:54px;padding:5px 390px 5px 5px;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}.hud-card{min-height:42px;padding:8px 12px;border:0;border-radius:14px;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(241,251,255,.94));box-shadow:0 6px 18px rgba(86,135,169,.10),inset 0 1px 0 #fff}.hud-card:first-child{padding-right:8px;border-radius:14px 6px 6px 14px}.hud-card:nth-child(2){margin-left:-10px;padding-left:8px;border-radius:6px 14px 14px 6px}.hud-card span{color:#91aac0}.hud-card b{color:#526b8d}
.game-nav,html.soop-wide .game-nav{top:4px!important;right:4px!important;height:46px;padding:4px 7px!important;border:0!important;border-radius:18px!important;background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(244,252,255,.96))!important;box-shadow:0 10px 30px rgba(72,127,164,.17),0 2px 7px rgba(85,151,190,.08),inset 0 1px 0 #fff!important}.nav-btn,html.soop-wide .nav-btn{border-radius:14px!important}.nav-btn.active{background:linear-gradient(145deg,#e7f8ff,#d7f2ff)!important;box-shadow:0 3px 9px rgba(70,181,224,.18),inset 0 0 0 1px rgba(112,207,239,.28)!important}.nav-btn:hover{background:#eefaff!important}
html.dark .hud-row{background:transparent!important;box-shadow:none!important}html.dark .hud-card{background:linear-gradient(145deg,#191b20,#111217);box-shadow:0 8px 22px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.06)}html.dark .game-nav,html.dark.soop-wide .game-nav{background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(238,249,254,.96))!important;box-shadow:0 10px 30px rgba(0,0,0,.28),0 0 18px rgba(78,192,232,.08)!important}
@media(max-width:760px){.hud-row{height:auto;min-height:48px;padding:3px!important}.hud-card{min-height:40px;padding:7px 9px}.game-nav,html.soop-wide .game-nav{top:6px!important;right:auto!important;margin:5px 0 10px auto!important}}

/* Keep YouTube alive while the illustration-only home and other pages are visible. */
#persistentMusicPlayer{position:fixed;right:18px;top:72px;width:min(420px,calc(100vw - 36px));padding:8px 8px 48px;overflow:visible;opacity:0;visibility:hidden;pointer-events:none;z-index:1200;border:2px solid #8fd7f1;border-radius:19px;background:linear-gradient(145deg,#e4f8ff,#cdefff);box-shadow:0 18px 55px rgba(17,91,132,.28),inset 0 1px 0 #fff;transform:translateY(-12px) scale(.96);transition:opacity .18s,transform .18s,visibility .18s}#persistentMusicPlayer.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}#persistentMusicPlayer iframe{display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/9;border:0!important;border-radius:13px!important;background:#101820}.music-player-controls{position:absolute;left:9px;right:9px;bottom:7px;height:34px;display:grid;grid-template-columns:26px minmax(0,1fr) minmax(105px,145px);align-items:center;gap:7px;padding:0 8px;border:1px solid rgba(91,190,228,.35);border-radius:11px;background:rgba(255,255,255,.78);color:#3daed9}.music-player-controls>span{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#d4f3ff;font-size:15px}.music-player-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4587a7;font-size:12px}.music-player-controls label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px}.music-player-controls small{font-size:9px;font-weight:900;letter-spacing:.7px}.music-volume{width:100%;height:5px;accent-color:#55bee5;cursor:pointer}.music-player-close{position:absolute;top:-13px;right:-13px;z-index:2;width:32px;height:32px;border:2px solid #8fd7f1;border-radius:50%;background:#f7fdff;color:#43add6;font-size:22px;line-height:1;box-shadow:0 5px 14px rgba(54,120,155,.22);cursor:pointer}html.dark #persistentMusicPlayer{border-color:#68c7ea;background:linear-gradient(145deg,#dff6ff,#c7ebfa)}html.soop-wide #persistentMusicPlayer{top:62px;right:18px;width:390px}@media(max-width:760px){#persistentMusicPlayer,html.soop-wide #persistentMusicPlayer{top:68px;right:10px;width:calc(100vw - 20px)}.music-player-controls{grid-template-columns:24px minmax(0,1fr) 115px}}

/* Match the floating utility controls to the airy sky navigation. */
.topbar{padding:5px!important;border:0!important;border-radius:17px!important;background:linear-gradient(145deg,rgba(222,246,255,.97),rgba(239,251,255,.97))!important;box-shadow:0 10px 28px rgba(68,153,194,.20),inset 0 1px 0 rgba(255,255,255,.95)!important;backdrop-filter:blur(14px)}.topbar .top-actions{gap:4px}.topbar .top-actions button{width:38px;height:38px;border:0!important;border-radius:12px!important;background:rgba(255,255,255,.82)!important;color:#4fbde5!important;box-shadow:inset 0 0 0 1px rgba(104,201,235,.18)!important;transition:transform .16s,background .16s,color .16s}.topbar .top-actions button:hover{background:#fff!important;color:#28a9da!important;transform:translateY(-1px)}.topbar .top-actions button:active{background:#d9f4ff!important;transform:translateY(1px)!important;box-shadow:inset 0 0 0 1px rgba(72,185,226,.28)!important}html.dark .topbar{background:linear-gradient(145deg,rgba(215,243,255,.98),rgba(237,250,255,.98))!important;box-shadow:0 10px 30px rgba(0,0,0,.25),0 0 18px rgba(72,190,232,.10)!important}html.dark .topbar .top-actions button{background:rgba(255,255,255,.86)!important;color:#45b9e4!important}

/* SOOP uses 62.5% page zoom, so compensate vertical sizing and keep controls near navigation. */
html.soop-wide .topbar{position:absolute!important;top:132px!important;right:18px!important;bottom:auto!important;z-index:58}html.soop-wide body[data-current-page="home"] .topbar{top:78px!important}html.soop-wide body[data-current-page="home"] .hero-panel{height:160vh!important;min-height:900px!important}html.soop-wide body[data-current-page="home"] .hero-art{height:100%!important}html.soop-wide #page-profile .profile-layout{align-items:stretch}html.soop-wide #page-profile .full-stage,html.soop-wide #page-profile .profile-sheet{height:calc(160vh - 185px)!important;min-height:720px!important}html.soop-wide #page-profile .profile-sheet{overflow:auto}html.soop-wide body:not([data-current-page="home"]) .app-shell{min-height:calc(160vh - 24px)}
@media(max-width:760px){html.soop-wide .topbar{position:fixed!important;top:auto!important;right:8px!important;bottom:8px!important}html.soop-wide body[data-current-page="home"] .hero-panel{height:100svh!important;min-height:500px!important}html.soop-wide #page-profile .full-stage,html.soop-wide #page-profile .profile-sheet{height:auto!important;min-height:0!important}html.soop-wide body:not([data-current-page="home"]) .app-shell{min-height:0}}

/* Keep SOOP utility controls directly below the main navigation on every page. */
html.soop-wide .topbar,html.soop-wide body[data-current-page="home"] .topbar{top:96px!important;right:18px!important;bottom:auto!important}html.soop-wide body[data-current-page="home"] .topbar{top:78px!important}
@media(max-width:760px){html.soop-wide .topbar,html.soop-wide body[data-current-page="home"] .topbar{top:auto!important;right:8px!important;bottom:8px!important}}

/* On phones, the sub profile belongs only to the Profile page. Desktop keeps it everywhere. */
@media(max-width:760px){body:not([data-current-page="profile"]) .profile-dock,html.soop-wide body:not([data-current-page="profile"]) .profile-dock{display:none!important}body[data-current-page="profile"] .profile-dock,html.soop-wide body[data-current-page="profile"] .profile-dock{display:block!important;margin-bottom:14px!important}}

/* Calendar-first schedule administration. */
.admin-schedule-calendar{margin-bottom:18px;padding:14px;border:1px solid #b8cee2;border-radius:18px;background:#fff;box-shadow:0 6px 0 #d6e4ee}.admin-schedule-calendar>header{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;margin-bottom:10px}.admin-schedule-calendar h3{text-align:center;margin:0;color:#526b8d}.admin-schedule-calendar header button{height:42px;border:1px solid #b8cee2;border-radius:12px;background:#f6fcff;color:#4f87a8;font-size:24px}.admin-calendar-weekdays,.admin-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.admin-calendar-weekdays b{text-align:center;padding:9px 4px;border:1px solid #c5d9e8;background:#e8f7fd;color:#526b8d;font-size:12px}.admin-calendar-weekdays b:first-child{color:#ef668b}.admin-calendar-day{min-width:0;min-height:88px;padding:7px;border:1px solid #cadbe8;background:#fff;text-align:left;overflow:hidden;cursor:pointer}.admin-calendar-day:hover{background:#f1fbff}.admin-calendar-day.is-empty{background:#f0f5f8;cursor:default}.admin-calendar-day>strong{display:block;margin-bottom:5px;color:#526b8d}.admin-calendar-day>span{display:grid;gap:3px}.admin-calendar-day i{display:block;padding:4px 6px;border-radius:6px;background:var(--event-bg);color:#173449;font-size:10px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-schedule-form{padding:15px;border:1px solid #c7d9e8;border-radius:16px;background:#f8fcff}.admin-schedule-form-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:9px}.admin-schedule-form-actions button{grid-column:auto!important}.admin-schedule-list{margin-top:16px}.admin-schedule-item{grid-template-columns:42px minmax(0,1fr) auto auto!important}.admin-schedule-swatch{width:38px;height:38px;border-radius:11px;border:1px solid #9fb9ce}.admin-schedule-item>button{padding:9px 12px;border:0;border-radius:10px;background:#dff5ff;color:#526b8d}html.dark .admin-schedule-calendar,html.dark .admin-schedule-form{background:#111217;border-color:#454b56}html.dark .admin-calendar-day{background:#15171c;border-color:#414650}html.dark .admin-calendar-day.is-empty{background:#0b0c10}html.dark .admin-calendar-weekdays b{background:#1c2830;border-color:#48545e;color:#fff}

/* SOOP post links beneath the compact profile. */
.soop-posts-card{margin-top:16px;border:1px solid #f0cbdc;border-radius:16px;background:linear-gradient(145deg,#fff9fc,#fff);overflow:hidden}.soop-posts-card>header{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid #f2d8e4}.soop-posts-card header div{display:grid}.soop-posts-card header small{color:#f05e9a;font-size:9px;font-weight:900;letter-spacing:1.5px}.soop-posts-card header b{color:#3d4050}.soop-posts-card header a{color:#db6c9a;font-size:10px;text-decoration:none}.soop-posts-card>div{display:grid}.soop-posts-card>div>a{display:grid;grid-template-columns:auto 1fr;gap:2px 7px;padding:9px 12px;border-bottom:1px dashed #eed6e1;color:#526b8d;text-decoration:none}.soop-posts-card>div>a:last-child{border-bottom:0}.soop-posts-card>div>a:hover{background:#fff0f7}.soop-posts-card span{grid-row:1/span 2;align-self:start;padding:3px 6px;border-radius:999px;background:#ffe2ee;color:#ef5f97;font-size:9px}.soop-posts-card b{font-size:12px}.soop-posts-card small{font-size:9px;color:#9b9eaa}html.dark .soop-posts-card{background:#151319;border-color:#5a3e4b}html.dark .soop-posts-card>header,html.dark .soop-posts-card>div>a{border-color:#59414c}html.dark .soop-posts-card header b,html.dark .soop-posts-card b{color:#fff}

/* Larger, clearer SOOP desktop presentation while preserving the same 1000px embed width. */
@media(min-width:761px){html.soop-wide body{width:1280px!important;min-width:1280px!important;zoom:.78125!important}html.soop-wide .app-shell{width:1256px!important;margin:10px!important}html.soop-wide .app-body{grid-template-columns:270px minmax(0,1fr)!important;gap:15px!important;padding:15px!important}html.soop-wide .profile-dock{padding:14px!important}html.soop-wide .portrait-wrap{height:310px!important}html.soop-wide .game-nav{grid-template-columns:repeat(7,46px)!important}html.soop-wide .nav-btn{width:46px!important;min-width:46px!important}html.soop-wide .nav-btn svg{width:23px;height:23px}html.soop-wide .topbar{top:105px!important;right:15px!important}html.soop-wide body[data-current-page="home"] .topbar{top:70px!important}html.soop-wide body[data-current-page="home"] .hero-panel{height:128vh!important;min-height:720px!important}html.soop-wide #page-profile .full-stage,html.soop-wide #page-profile .profile-sheet{height:calc(128vh - 155px)!important;min-height:650px!important}html.soop-wide body:not([data-current-page="home"]) .app-shell{min-height:calc(128vh - 20px)!important}}
@media(max-width:760px){.admin-schedule-calendar{padding:8px;overflow-x:auto}.admin-calendar-weekdays,.admin-calendar-grid{min-width:600px}.admin-calendar-day{min-height:76px}.admin-schedule-item{grid-template-columns:36px minmax(0,1fr)!important}.admin-schedule-item>button{grid-column:auto}.soop-posts-card{margin-top:13px}}

/* Direct editing inside the admin calendar: no detached form or duplicate list. */
.admin-schedule-calendar{margin-bottom:0;overflow:visible}.admin-calendar-help{margin:0 0 10px;text-align:center;color:#70a1bf;font-size:12px;font-weight:800}.admin-calendar-grid{position:relative}.admin-calendar-day{position:relative;overflow:visible}.admin-calendar-day.is-editing{z-index:30;background:#eaf9ff;box-shadow:inset 0 0 0 2px #6bc8eb}.admin-calendar-day>span>button{display:block;width:100%;margin:0 0 3px;padding:4px 6px;border:0;border-radius:6px;background:var(--event-bg);color:#173449;font-size:10px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.admin-calendar-editor{position:absolute;z-index:80;top:32px;left:5px;width:310px;padding:12px;display:grid;grid-template-columns:1fr 115px;gap:7px;border:2px solid #73c8e8;border-radius:15px;background:rgba(255,255,255,.99);box-shadow:0 18px 45px rgba(44,93,129,.28)}.admin-calendar-day:nth-child(7n+6) .admin-calendar-editor,.admin-calendar-day:nth-child(7n) .admin-calendar-editor{left:auto;right:5px}.admin-calendar-editor>b{grid-column:1/-1;color:#526b8d}.admin-calendar-editor input{min-width:0;width:100%;padding:9px;border:1px solid #b9cfe2;border-radius:9px;background:#fff}.admin-calendar-editor input[name="title"],.admin-calendar-editor input[name="note"]{grid-column:1/-1}.admin-calendar-editor label{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 8px;border:1px solid #c5d9e8;border-radius:9px}.admin-calendar-editor label input{width:48px;height:30px;padding:2px}.admin-calendar-editor>div{grid-column:1/-1;display:flex;gap:6px}.admin-calendar-editor button{flex:1;padding:8px;border:0;border-radius:9px;background:#d8f4ff;color:#446986;font-weight:900}.admin-calendar-editor button.danger{background:#ffe2ed;color:#c75c83}html.dark .admin-calendar-day.is-editing{background:#172832}html.dark .admin-calendar-editor{background:#17191e;border-color:#69c8ec}html.dark .admin-calendar-editor input{background:#0e1014;border-color:#46515c;color:#fff}

/* The SOOP feed replaces MOOD/ENERGY/LOVE/TODAY'S NOTE instead of extending the dock. */
.profile-dock>.soop-posts-card{margin:0 0 13px;max-height:205px;border:1px solid #91cbea;border-radius:15px;background:linear-gradient(145deg,#effaff,#fff);box-shadow:0 5px 0 #c9e5f2;overflow:auto;scrollbar-width:thin;scrollbar-color:#9bd5ed transparent}.soop-posts-card>header{position:sticky;top:0;z-index:2;padding:9px 11px;border-bottom:1px solid #cce7f3;background:rgba(242,251,255,.97)}.soop-posts-card header small,.soop-posts-card header a{color:#48afd8}.soop-posts-card>div>a{padding:7px 10px;border-bottom:1px dashed #c9e3ef}.soop-posts-card>div>a:hover{background:#e1f6ff}.soop-posts-card span{background:#d9f3ff;color:#369dc7}.soop-posts-loading{margin:0;padding:14px;color:#6e9db9;font-size:11px}.soop-posts-card b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.soop-posts-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#83a6b9}.profile-dock .sns-row{margin-top:0}html.dark .profile-dock>.soop-posts-card{background:#101a20;border-color:#397a98;box-shadow:0 5px 0 #1e3946}html.dark .soop-posts-card>header{background:rgba(16,29,36,.97);border-color:#315f73}html.dark .soop-posts-card>div>a{border-color:#31566a}

@media(max-width:760px){.admin-calendar-editor{position:fixed;left:50%!important;right:auto!important;top:50%;width:min(340px,calc(100vw - 28px));transform:translate(-50%,-50%)}.profile-dock>.soop-posts-card{max-height:220px}}

/* Sky-blue social shortcuts, matching the rest of the profile dock. */
.profile-dock .sns-row a{border-color:#8ed4ef!important;background:linear-gradient(180deg,#eefaff,#dff5ff)!important;color:#48acd3!important;box-shadow:0 4px 0 #b9dfef!important}.profile-dock .sns-row a:hover{background:#cceeff!important;color:#218fba!important}html.dark .profile-dock .sns-row a{border-color:#56aed0!important;background:linear-gradient(180deg,#e9f9ff,#d5f1fc)!important;color:#318fb5!important;box-shadow:0 4px 0 #22566e!important}

/* In SOOP embeds, move only the utility/admin controls up below the main menu. */
@media(min-width:761px){html.soop-wide .topbar,html.soop-wide body[data-current-page="home"] .topbar{top:56px!important;right:15px!important;bottom:auto!important}}

/* One unified menu: page icons followed by music/effects/theme/admin controls. */
.topbar{display:none!important}
.game-nav,html.soop-wide .game-nav{grid-template-columns:repeat(11,44px)!important}
.nav-tool{display:grid;place-items:center;width:44px;min-width:44px;height:38px;padding:0;border:0;border-radius:12px;background:transparent;color:#55bfe6;font-size:18px;line-height:1;cursor:pointer;transition:background .16s,color .16s,transform .16s}
.nav-tool:hover{background:#eefaff;color:#269fce;transform:translateY(-1px)}
.nav-tool:active{background:#d9f4ff;transform:translateY(1px)}
.nav-tool[aria-pressed="true"]{background:linear-gradient(145deg,#e7f8ff,#d7f2ff);color:#269fce;box-shadow:inset 0 0 0 1px rgba(112,207,239,.32)}
html.dark .nav-tool{color:#55bfe6}
html.dark .nav-tool:hover,html.dark .nav-tool[aria-pressed="true"]{background:#dff5ff;color:#269fce}
@media(min-width:761px){html.soop-wide .game-nav{grid-template-columns:repeat(11,42px)!important}.game-nav{max-width:calc(100% - 12px)!important}}
@media(max-width:760px){.game-nav,html.soop-wide .game-nav{grid-template-columns:repeat(11,42px)!important}.nav-tool{width:42px;min-width:42px}}

/* Compact profile dock: remove logo and give the SOOP post list more room. */
.profile-dock>.logo-wrap{display:none!important}
.profile-dock{padding-top:10px!important}
.profile-dock>.portrait-wrap{margin-top:0!important}
.profile-dock>.identity{padding-top:12px!important}
.profile-dock>.soop-posts-card{max-height:330px!important;min-height:280px}
@media(max-width:760px){.profile-dock>.soop-posts-card{max-height:340px!important;min-height:300px}}

/* Keep the music close glyph perfectly centered inside its circle. */
.music-player-close{display:grid!important;place-items:center!important;padding:0!important;font-family:Arial,sans-serif!important;font-weight:400!important;line-height:32px!important;text-align:center!important;text-indent:0!important}

/* SOOP desktop: render at the post's real width instead of shrinking a 1280px canvas. */
@media(min-width:761px){
 html.soop-wide,html.soop-wide body{width:100%!important;min-width:980px!important;zoom:1!important;overflow-x:hidden!important}
 html.soop-wide body{padding:0!important}
 html.soop-wide .app-shell{width:calc(100% - 16px)!important;min-height:0!important;margin:8px!important;border-radius:22px!important}
 html.soop-wide .app-body{grid-template-columns:220px minmax(0,1fr)!important;gap:12px!important;padding:12px!important}
 html.soop-wide .profile-dock{top:12px!important;padding:10px!important}
 html.soop-wide .portrait-wrap{height:240px!important}
 html.soop-wide .identity{padding-top:9px!important}
 html.soop-wide .profile-dock>.soop-posts-card{min-height:225px!important;max-height:270px!important}
 html.soop-wide .hud-row{min-height:42px!important}
 html.soop-wide .game-nav{grid-template-columns:repeat(11,36px)!important;height:42px!important;padding:3px 6px!important}
 html.soop-wide .nav-btn,html.soop-wide .nav-tool{width:36px!important;min-width:36px!important;height:34px!important;min-height:34px!important}
 html.soop-wide .nav-btn svg{width:20px!important;height:20px!important}
 html.soop-wide .page-title{margin:12px 0 14px!important}
 html.soop-wide #page-profile .profile-layout{grid-template-columns:minmax(290px,.88fr) minmax(390px,1.12fr)!important;gap:12px!important;align-items:stretch!important}
 html.soop-wide #page-profile .full-stage,html.soop-wide #page-profile .profile-sheet{height:auto!important;min-height:510px!important;overflow:visible!important}
 html.soop-wide #page-profile .profile-sheet{padding:18px!important}
 html.soop-wide #page-profile .profile-sheet dl div{padding:9px 0!important}
 html.soop-wide #page-profile .profile-sheet .fan-character-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;gap:8px!important}
 html.soop-wide #page-profile .profile-sheet .fan-character-card{min-width:0!important;padding:8px!important;gap:8px!important;overflow:hidden!important}
 html.soop-wide #page-profile .profile-sheet .fan-character-card.featured{min-height:168px!important}
 html.soop-wide #page-profile .profile-sheet .fan-character-card img{width:54px!important;height:54px!important}
 html.soop-wide #page-profile .profile-sheet .fan-character-card.featured img{width:88px!important;height:88px!important}
 html.soop-wide #page-profile .profile-sheet .fan-character-card span{min-width:0!important}
 html.soop-wide #page-profile .profile-sheet .fan-character-card b{max-width:100%;font-size:14px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 html.soop-wide #page-profile .profile-sheet .fan-character-card small{font-size:8px!important}
 html.soop-wide body[data-current-page="home"] .hero-panel{height:560px!important;min-height:560px!important}
 html.soop-wide body[data-current-page="home"] .hero-art{height:100%!important}
html.soop-wide body:not([data-current-page="home"]) .app-shell{min-height:0!important}
}

/* Distinct sky-blue play control instead of a second music-note icon. */
.nav-play-tool{font-family:Arial,sans-serif!important;font-size:16px!important;color:#55bee5!important}
.nav-play-tool:not([aria-pressed="true"]){background:linear-gradient(145deg,#f5fcff,#e2f6ff)!important;box-shadow:inset 0 0 0 1px rgba(83,190,229,.28)!important}
.nav-play-tool[aria-pressed="true"]{color:#269fce!important}

/* All mobile views, including SOOP: keep navigation at the very top on every page. */
@media(max-width:760px){
 .game-nav,body[data-current-page="home"] .game-nav,html.soop-wide .game-nav,html.soop-wide body[data-current-page="home"] .game-nav{position:fixed!important;top:8px!important;right:8px!important;left:auto!important;z-index:1000!important;width:max-content!important;max-width:calc(100vw - 16px)!important;height:44px!important;margin:0!important;padding:4px 5px!important;grid-template-columns:repeat(11,32px)!important;gap:2px!important;overflow-x:auto!important;border-radius:16px!important;transform:none!important}
 .nav-btn,.nav-tool,html.soop-wide .nav-btn,html.soop-wide .nav-tool{width:32px!important;min-width:32px!important;height:36px!important;min-height:36px!important;border-radius:10px!important}
 .nav-btn svg,html.soop-wide .nav-btn svg{width:19px!important;height:19px!important}
 body:not([data-current-page="home"]) .app-body,html.soop-wide body:not([data-current-page="home"]) .app-body{padding-top:60px!important}
 body[data-current-page="home"] .app-body,html.soop-wide body[data-current-page="home"] .app-body{padding-top:0!important}
 .page-title,html.soop-wide .page-title{margin-top:4px!important}
}

/* Keep this last so older karma rules cannot override the viewer layout. */
.karma-detail-dialog{width:min(410px,calc(100vw - 28px))!important;max-height:min(720px,90vh)!important;padding:0!important;overflow:hidden!important;border:1px solid #b9d8ea!important;border-radius:22px!important;background:#fff!important;box-shadow:0 18px 55px rgba(45,91,125,.28)!important}
.karma-detail-close{top:9px!important;right:10px!important;width:32px!important;height:32px!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#9db7c8!important;font-size:27px!important}
.karma-detail-profile{grid-template-columns:52px minmax(0,1fr)!important;gap:11px!important;padding:14px 50px 14px 16px!important;border-bottom:1px solid #d7e7f1!important}
.karma-detail-profile img{width:52px!important;height:52px!important;border:3px solid #70c9eb!important}.karma-detail-profile h3{margin:0 0 3px!important;color:#1384b4!important;font-size:16px!important}.karma-detail-profile p{font-size:13px!important;color:#85a4bb!important}.karma-detail-profile>strong{display:none!important}
.karma-detail-content{display:grid!important;gap:7px!important;margin:0!important;padding:14px!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;overflow:auto!important}
.karma-detail-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:9px 14px;border-radius:13px;background:linear-gradient(90deg,#d9f3ff,#c8eaf8);color:#49677d}.karma-detail-row span{min-width:0;overflow-wrap:anywhere;font-size:15px;font-weight:800}.karma-detail-row b{flex:0 0 auto;min-width:45px;padding:4px 10px;border-radius:999px;background:#fff;color:#1886b5;text-align:center;font-size:15px}
html.dark .karma-detail-dialog,html.dark .karma-detail-content{background:#11151a!important}html.dark .karma-detail-profile{border-color:#3e5667!important}html.dark .karma-detail-row{background:linear-gradient(90deg,#183d50,#214c60);color:#f5fbff}
@media(max-width:480px){.karma-detail-modal{align-items:center!important;padding:14px!important}.karma-detail-dialog{width:100%!important}.karma-detail-content{max-height:62vh!important}}

/* Songbook layout: remove the status/menu gap and align both columns at the top. */
.songbook-dock,.workspace>.page-stage{margin-top:0!important}
.workspace>.page-stage{padding-top:0!important}
.workspace .book-title{display:grid;place-items:center;height:36px;margin:0 0 8px!important;line-height:1}
.workspace .songbook{margin-top:0}
.online b{font:inherit}
@media(max-width:760px){.app-body{padding-top:10px!important}.workspace>.page-stage{padding-top:0!important}.workspace .book-title{height:32px;margin-bottom:7px!important;font-size:20px}}

/* Songbook admin and profile editor. */
.manage-cta{display:grid;place-items:center;width:48px;height:44px;padding:0!important;font-size:21px;line-height:1}
.song-head-actions{display:flex;align-items:center;gap:9px}.theme-cta{background:linear-gradient(135deg,#b9ecff,#8fd8f4)!important;color:#fff}.theme-cta:hover,.manage-cta:hover{transform:translateY(-2px)}
.songbook-admin-tabs{display:flex;gap:8px;margin:0 0 18px;padding:7px;border:1px solid #c4d9e8;border-radius:16px;background:#edf9ff}
.songbook-admin-tabs button{flex:1;min-height:44px;border:0;border-radius:11px;background:transparent;color:#6d8ca2;font-weight:900;cursor:pointer}
.songbook-admin-tabs button.active{background:linear-gradient(135deg,#bcecff,#cabdf8);color:#fff;box-shadow:0 5px 12px rgba(87,141,180,.18)}
.songbook-profile-admin .admin-help{margin:-5px 0 16px;color:#7898ad;font-size:12px}
.songbook-profile-admin .admin-form label{display:grid;gap:6px;color:#607f96;font-size:12px;font-weight:900}
.songbook-profile-admin .admin-form label span{padding-left:2px}
.profile-admin-preview{grid-row:span 4;display:grid;place-items:center;min-height:300px;padding:10px;border:1px solid #b7cee0;border-radius:18px;background:linear-gradient(145deg,#eaf9ff,#fff4fa);overflow:hidden}
.profile-admin-preview img{width:100%;height:100%;max-height:360px;object-fit:contain;border-radius:13px}
.profile-upload-field input{padding:10px!important;background:#f4fbff!important}
.songbook-profile-admin .wide-field{grid-column:1/-1}
.profile-save-state{grid-column:1/-1;min-height:18px;color:#54a88f;font-weight:900;text-align:center}
.admin-header-actions{display:flex;align-items:center;gap:7px}
html.dark .songbook-admin-tabs{border-color:#46515c;background:#11171c}
html.dark .songbook-admin-tabs button{color:#bcd3e2}
html.dark .songbook-profile-admin .admin-help,html.dark .songbook-profile-admin .admin-form label{color:#c5d9e5}
html.dark .profile-admin-preview{border-color:#465562;background:linear-gradient(145deg,#152630,#241c29)}
html.dark .profile-upload-field input{background:#0e1115!important}
@media(max-width:700px){.profile-admin-preview{grid-row:auto;min-height:250px}.songbook-profile-admin .wide-field{grid-column:1}.songbook-admin-tabs{position:sticky;top:66px;z-index:2}.manage-cta{width:44px;height:42px}}

/* Match the profile card border to the songbook card border below the 44px title row. */
@media(min-width:761px){.songbook-dock{margin-top:44px!important}}
@media(max-width:760px){.songbook-dock{margin-top:0!important}}

/* Admin song filtering and YouTube save feedback. */
[data-admin-song][hidden]{display:none!important}
.youtube-saved{color:#e45b73;font-weight:900}
