@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Noto+Sans+KR:wght@300;400;500;600;700&display=swap');
:root{--bg:#10090c;--panel:#1a0e13;--panel2:#241119;--wine:#641e36;--wine2:#8e2948;--gold:#c7a56a;--gold2:#ead6a5;--text:#f3eae7;--muted:#a9989d;--line:rgba(199,165,106,.22);--serif:'Cormorant Garamond',serif;--sans:'Noto Sans KR',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;font-weight:300}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;border-bottom:1px solid var(--line);background:rgba(16,9,12,.96);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:38px;height:38px;border:1px solid var(--gold);color:var(--gold);display:grid;place-items:center;font:italic 28px var(--serif);border-radius:50%}.brand b{display:block;letter-spacing:.22em;font-size:13px}.brand small{display:block;color:var(--muted);font-size:8px;letter-spacing:.2em;margin-top:4px}.topbar nav{display:flex;gap:30px;font-size:10px;letter-spacing:.16em;color:#d7c7c7}.topbar nav a:hover{color:var(--gold)}.outline-btn{border:1px solid var(--line);background:transparent;color:var(--gold2);padding:10px 16px;font-size:10px;letter-spacing:.12em}.outline-btn:hover{background:rgba(199,165,106,.1)}.hero{min-height:620px;padding:105px 10vw 35px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 77% 42%,rgba(100,30,54,.36),transparent 36%),linear-gradient(115deg,#10090c 35%,#1b0d13)}.hero-copy{position:relative;z-index:2;max-width:580px}.eyebrow{font-size:10px;letter-spacing:.28em;color:var(--gold);margin:0 0 18px}.hero h1{font:500 clamp(54px,7vw,90px)/.92 var(--serif);letter-spacing:-.035em;margin:0 0 27px}.hero h1 em,.section h2 em,.dialog-head h2 em{color:var(--gold);font-weight:400}.hero-text{color:#c4b3b6;line-height:2;font-size:13px;margin-bottom:34px}.gold-btn{display:inline-flex;justify-content:center;align-items:center;gap:22px;background:var(--gold);border:1px solid var(--gold);color:#211117;padding:14px 20px;font-size:10px;font-weight:600;letter-spacing:.12em;transition:.2s}.gold-btn:hover{background:var(--gold2)}.hero-art{position:absolute;right:8%;top:11%;width:min(42vw,470px);height:440px;display:grid;place-items:center;opacity:.9}.orbit{position:absolute;border:1px solid rgba(199,165,106,.32);border-radius:50%;transform:rotate(-24deg)}.orbit-one{width:82%;height:100%}.orbit-two{width:100%;height:72%;transform:rotate(28deg);border-color:rgba(142,41,72,.5)}.monogram{font:italic 240px/.8 var(--serif);color:rgba(199,165,106,.16);text-shadow:0 0 60px rgba(199,165,106,.08)}.monogram span{color:var(--gold);font-size:60px;vertical-align:top}.hero-caption{position:absolute;bottom:14%;right:0;color:var(--gold);font-size:9px;letter-spacing:.25em}.hero-bottom{position:absolute;bottom:25px;left:10vw;right:10vw;display:flex;justify-content:space-between;color:#8e7c82;font-size:9px;letter-spacing:.15em}.section{padding:90px 10vw;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:35px;gap:20px}.section h2{font:500 48px/.95 var(--serif);margin:0}.section-heading>p{font-size:12px;color:var(--muted);margin:0 0 4px}.host-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.host-card{background:var(--panel);border:1px solid var(--line);min-width:0}.host-photo{height:280px;background:linear-gradient(140deg,#301420,#120b0e);position:relative;overflow:hidden;display:grid;place-items:center}.host-photo img{width:100%;height:100%;object-fit:cover;display:block}.host-photo .placeholder{font:italic 80px var(--serif);color:rgba(199,165,106,.42)}.host-tag{position:absolute;top:14px;left:14px;background:rgba(16,9,12,.82);border:1px solid var(--line);padding:6px 9px;font-size:9px;color:var(--gold2);letter-spacing:.1em}.host-info{padding:20px}.host-name{font:500 31px var(--serif);margin:0 0 5px}.host-meta{font-size:10px;color:var(--gold);letter-spacing:.1em;margin-bottom:12px}.host-tagline{font-size:12px;color:#d8c9cc;margin:0 0 10px}.host-bio{font-size:11px;line-height:1.8;color:var(--muted);white-space:pre-wrap}.empty{padding:35px 20px;border:1px dashed var(--line);color:var(--muted);text-align:center;grid-column:1/-1}.split-section{background:#140b0f}.ranking-list{border-top:1px solid var(--line)}.rank-row{display:grid;grid-template-columns:70px 1fr 140px;align-items:center;gap:20px;padding:18px 8px;border-bottom:1px solid var(--line)}.rank-num{font:italic 34px var(--serif);color:var(--gold)}.rank-name{font:500 24px var(--serif)}.rank-sub{font-size:10px;color:var(--muted);margin-top:4px}.rank-points{text-align:right;color:var(--gold2);font:500 22px var(--serif)}.rank-points small{display:block;font:9px var(--sans);letter-spacing:.15em;color:var(--muted);margin-top:4px}.attendance-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.attendance-card{padding:18px;background:var(--panel);border:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px}.attendance-name{font:500 23px var(--serif)}.attendance-note{font-size:10px;color:var(--muted);margin-top:4px}.status{font-size:9px;letter-spacing:.12em;border:1px solid var(--line);padding:6px 8px;color:var(--muted);white-space:nowrap}.status.on{color:#d9c38e;border-color:rgba(199,165,106,.6)}.lounge{background:linear-gradient(120deg,#160b10,#10090c)}.lounge-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px}.subheading{font:500 22px var(--serif);letter-spacing:.08em;border-bottom:1px solid var(--line);padding-bottom:15px;margin:0 0 10px}.subheading span{font:10px var(--sans);color:var(--muted);letter-spacing:0;margin-left:8px}.post-card{padding:18px 0;border-bottom:1px solid var(--line)}.post-card h4{font-size:14px;font-weight:500;margin:0 0 8px}.post-card p{font-size:12px;color:#c1b0b4;line-height:1.8;white-space:pre-wrap;margin:0}.post-meta{font-size:9px;color:var(--gold);letter-spacing:.1em;margin-bottom:10px}.guest-form,.stack-form{display:grid;gap:13px}.guest-form{margin-bottom:20px}.guest-form label,.stack-form label{display:grid;gap:7px;font-size:11px;color:var(--muted)}input,textarea,select{width:100%;background:#10090c;border:1px solid #49303a;color:var(--text);padding:11px 12px;outline:none;border-radius:0}input:focus,textarea:focus,select:focus{border-color:var(--gold)}textarea{resize:vertical}.guest-form .gold-btn,.stack-form .gold-btn{justify-self:start}.guest-item{padding:13px 0;border-bottom:1px solid var(--line)}.guest-item strong{font-size:11px;color:var(--gold2)}.guest-item p{font-size:12px;line-height:1.7;color:#c1b0b4;margin:7px 0}.guest-item small{font-size:9px;color:var(--muted)}footer{padding:35px 10vw;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);color:var(--muted);font-size:9px;letter-spacing:.1em}.footer-brand{transform:scale(.85);transform-origin:left center}.loading{color:var(--muted);padding:25px 0;font-size:12px}.muted{color:var(--muted);font-size:12px}.error{color:#ff9eae;font-size:12px;min-height:1em}.dialog-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:25px}.dialog-head h2{font:500 38px var(--serif);margin:0}.close-btn{font-size:28px;color:var(--gold);border:0;background:none}.dialog-head .eyebrow{margin-bottom:8px}dialog{background:#1a0e13;color:var(--text);border:1px solid var(--line);width:min(620px,calc(100% - 28px));max-height:88vh;overflow:auto;padding:28px;box-shadow:0 20px 100px #000}dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(4px)}.stack-form{margin-top:18px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.inline-check{display:flex!important;align-items:center;gap:9px!important}.inline-check input{width:auto}.admin-tabs{display:flex;gap:5px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:20px}.admin-tabs button{background:transparent;color:var(--muted);border:1px solid var(--line);padding:9px 11px;font-size:10px}.admin-tabs button.active{background:var(--gold);color:#211117;border-color:var(--gold)}.admin-panel h3{font:500 23px var(--serif);margin:0}.admin-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:25px;padding-top:16px}#toast{position:fixed;right:20px;bottom:20px;max-width:min(360px,calc(100% - 40px));background:var(--gold);color:#211117;padding:13px 18px;font-size:12px;z-index:50;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translateY(0)}[hidden]{display:none!important}
@media(max-width:760px){.topbar{height:68px;padding:0 5vw}.topbar nav{display:none}.hero{padding:90px 7vw 70px;min-height:580px}.hero-art{right:-15%;top:25%;width:70vw;opacity:.42}.hero-bottom{left:7vw;right:7vw;font-size:8px}.hero-bottom span:nth-child(2){display:none}.section{padding:65px 7vw}.section-heading{display:block}.section-heading>p{margin-top:15px}.host-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.host-photo{height:220px}.host-info{padding:14px}.host-name{font-size:26px}.attendance-list{grid-template-columns:1fr}.lounge-grid{grid-template-columns:1fr;gap:40px}.rank-row{grid-template-columns:42px 1fr 90px;gap:12px}.rank-points{font-size:19px}.rank-name{font-size:21px}footer{padding:28px 7vw;gap:15px;flex-wrap:wrap}footer p{display:none}}
@media(max-width:420px){.host-grid{grid-template-columns:1fr 1fr}.host-photo{height:180px}.host-name{font-size:23px}.host-info{padding:12px}.section h2{font-size:42px}.hero h1{font-size:58px}}

/* CLUB SINNER identity and separate-page navigation */
:root{--bg:#0c0709;--panel:#1b0c12;--panel2:#271019;--wine:#7c1028;--wine2:#a11932;--gold:#b94754;--gold2:#f1c5c8;--line:rgba(184,65,84,.25)}
.topbar{height:auto;min-height:84px;gap:20px;padding:12px 5vw;background:rgba(12,7,9,.97)}
.brand{gap:13px}.brand-logo{width:110px;height:58px;object-fit:contain;background:#fff;border-radius:2px;padding:3px}
.brand-word{font-size:13px;font-weight:700;letter-spacing:.17em;white-space:nowrap}
.brand-word small{display:block;font-size:8px;color:var(--muted);letter-spacing:.18em;margin-top:5px;font-weight:400}
.topbar nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.topbar nav a{padding:9px 0;transition:color .2s}
.topbar nav a:hover,.topbar nav a.active{color:#efb4bd}
.topbar nav a.active{border-bottom:1px solid #c43a55}
.hero{background:radial-gradient(ellipse at 80% 40%,rgba(128,12,36,.34),transparent 45%),linear-gradient(120deg,#0b0709,#1c0b12)}
.hero-logo{position:relative;z-index:2;width:min(90%,360px);max-height:230px;object-fit:contain;background:#fff;padding:14px;box-shadow:0 15px 75px rgba(0,0,0,.35)}
.orbit-one{border-color:rgba(179,55,76,.32)}.orbit-two{border-color:rgba(140,20,48,.5)}
.gold-btn{color:#fff;background:#9b2138;border-color:#b02e47}.gold-btn:hover{background:#c23d57}
.home-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border-top:1px solid var(--line)}
.home-links a{display:flex;flex-direction:column;gap:15px;padding:40px 25px;background:#160b10;min-height:175px}
.home-links a:hover{background:#2a101a}
.home-links span{color:#c46a79;font-size:9px;letter-spacing:.14em}
.home-links strong{font:500 29px var(--serif)}
.home-links small{color:var(--muted)}
.admin-landing{min-height:65vh}
body:not([data-page="home"]) main>.section{min-height:70vh;padding-top:85px}
.rank-row:nth-child(1) .rank-num{color:#ffd4db;font-size:43px}
.rank-row:nth-child(2) .rank-num{color:#e6c3c8}
.rank-row:nth-child(3) .rank-num{color:#b97580}
@media(max-width:980px){.topbar{flex-wrap:wrap;justify-content:center}.topbar nav{justify-content:center}.home-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.topbar{padding:12px 4vw}.topbar nav{display:flex;gap:12px;font-size:9px}.brand-logo{width:85px;height:47px}.hero-art{opacity:.3}.home-links a{padding:25px 16px;min-height:130px}.home-links strong{font-size:24px}}
@media(max-width:420px){.topbar nav{gap:10px}.topbar nav a{font-size:8px}.brand-word{font-size:11px}.hero-logo{width:100%}}

.manage-list{display:grid;gap:8px;margin:15px 0 25px}.manage-item{border:1px solid var(--line);padding:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.manage-item small{display:block;color:var(--muted);margin-top:5px}.action-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.danger-btn{background:#44111e;color:#ffcbd1;border:1px solid #9b3045;padding:9px 12px}.danger-btn:hover{background:#792139}#edit-host-panel,#edit-post-panel{border-top:1px solid var(--line);margin-top:25px;padding-top:20px}#edit-host-panel h3,#edit-post-panel h3{font-size:21px}@media(max-width:520px){.manage-item{align-items:flex-start;flex-direction:column}.manage-item .action-row{width:100%}}

/* Discourage saving images through standard browser gestures. */
img { -webkit-user-drag: none; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }
