@import url('https://fonts.googleapis.com/css2?family=Jua&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans','Noto Sans KR',sans-serif;color:#1e2330;background:#f6f7fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.42;cursor:not-allowed}a{text-decoration:none;color:inherit}.hidden{display:none!important}.wrap{max-width:1160px;margin:0 auto;padding:24px 22px 90px}.nav{background:#fff;border-bottom:1px solid #e8eaf0;position:sticky;top:0;z-index:20}.nav-inner{height:70px;max-width:1160px;margin:auto;padding:0 22px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:9px;font-weight:800;letter-spacing:-.8px;font-size:21px}.brand-emblem{width:34px;height:34px;border-radius:11px;background:#6555ec;display:grid;place-items:center;color:white;font-weight:900}.brand small{font-size:10px;background:#f0edff;color:#6152db;padding:3px 7px;border-radius:8px;letter-spacing:0;margin-left:3px;vertical-align:middle}.muted{color:#80879a}.tiny{font-size:12px}.small{font-size:13px}.btn{border:0;border-radius:12px;background:#6657ec;color:#fff;padding:11px 16px;font-weight:700;transition:filter .15s}.btn:hover:not(:disabled){filter:brightness(.95)}.btn.secondary{background:#f0effe;color:#574ac9}.btn.outline{background:#fff;border:1px solid #dce0e9;color:#34394a}.btn.dark{background:#23283d}.btn.ghost{background:transparent;color:#5c5c6b;padding:8px 10px}.btn.danger{background:#fff2f1;color:#b43131}.btn.sm{padding:8px 11px;border-radius:9px;font-size:12px}.btn.full{width:100%}.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;border-radius:50px;padding:6px 10px;font-weight:700;background:#eeebff;color:#6656de}.pill.gray{background:#f0f1f5;color:#6c7282}.dot{width:7px;height:7px;border-radius:50%;background:currentColor}.card{background:#fff;border:1px solid #e9eaf0;border-radius:19px;box-shadow:0 7px 32px rgba(27,35,71,.035)}.panel{padding:22px}.layout{display:grid;grid-template-columns:minmax(0,1.5fr) 365px;gap:22px;align-items:start}.section-title{font-size:20px;font-weight:800;letter-spacing:-.65px;margin:0 0 14px}.subhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 0 14px}.subhead h2{margin:0;font-size:20px;letter-spacing:-.65px}.video-shell{border-radius:19px;overflow:hidden;position:relative;background:linear-gradient(135deg,#27273e,#181925 55%,#38324d);aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;text-align:center;color:white}.video-shell::before{content:'';position:absolute;width:300px;height:300px;top:-190px;right:-65px;background:#6556d0;border-radius:50%;filter:blur(65px);opacity:.36}.video-center{z-index:1;padding:22px}.video-center .symbol{font-size:43px;margin:10px}.video-center h2{font-size:23px;margin:9px 0 5px;letter-spacing:-1px}.video-center p{font-size:12px;color:#bab7d4;margin:0;line-height:1.75}.video-pill{position:absolute;top:15px;left:16px;background:#ffffff1f;backdrop-filter:blur(6px);border:1px solid #ffffff2e;padding:6px 10px;border-radius:9px;font-weight:700;font-size:11px}.video-foot{position:absolute;bottom:15px;left:17px;font-size:11px;color:#b9bad0}.chat-box{display:flex;flex-direction:column;height:505px}.chat-head{border-bottom:1px solid #f0f0f4;padding:18px 18px 15px;display:flex;align-items:center;justify-content:space-between}.chat-head b{font-size:15px}.chat-log{flex:1;overflow:auto;padding:14px 18px;display:flex;flex-direction:column;gap:13px}.chat-line{font-size:13px;line-height:1.6;word-break:break-word}.chat-line b{color:#6656d7;margin-right:6px}.chat-line time{color:#a3a8b4;font-size:10px;margin-left:4px}.chat-input{border-top:1px solid #eee;padding:11px;display:flex;gap:7px}.chat-input input{flex:1;min-width:0}.field{border-radius:11px;border:1px solid #dfe2e9;background:#fff;padding:11px 12px;width:100%;outline:none;transition:border .15s}.field:focus{border-color:#7366ed;box-shadow:0 0 0 3px #766af017}.field::placeholder{color:#b1b5c0}textarea.field{resize:vertical;min-height:78px}.label{font-weight:700;font-size:12px;display:block;margin:0 0 7px}.help{color:#858b9e;font-size:12px;line-height:1.7}.product-list{display:flex;flex-direction:column;gap:13px}.product{padding:15px;display:flex;gap:15px}.thumb{width:132px;min-width:132px;height:145px;border-radius:13px;background:#f0eefb;display:flex;align-items:center;justify-content:center;color:#9d91d8;font-size:35px;overflow:hidden}.thumb img{width:100%;height:100%;object-fit:cover}.product-info{flex:1;min-width:0;display:flex;flex-direction:column}.product-name{font-size:17px;font-weight:800;letter-spacing:-.4px;margin:7px 0 4px}.price{font-size:18px;font-weight:800}.options{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.chip{font-size:11px;font-weight:700;background:#f5f5f8;border-radius:8px;padding:6px 9px;color:#666d7d}.stock-note{color:#a1a6b5;font-size:11px;margin-top:6px}.drawer{background:#fff;border-radius:18px;border:1px solid #e8e9f0;padding:20px}.box-form{display:grid;gap:15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.separator{border:0;border-top:1px solid #eceef3;margin:17px 0}.placeholder{padding:26px 18px;text-align:center;color:#959aaa;font-size:13px;line-height:1.9}.toast{position:fixed;bottom:27px;left:50%;transform:translateX(-50%) translateY(12px);background:#23263d;color:white;padding:14px 18px;z-index:100;border-radius:13px;min-width:220px;text-align:center;max-width:90vw;font-size:13px;opacity:0;pointer-events:none;transition:.2s;box-shadow:0 8px 35px #0002}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.toast.error{background:#ba3e40}.setup-panel{max-width:530px;margin:65px auto;padding:40px;background:#fff;border:1px solid #e7e9ef;border-radius:22px;text-align:center;box-shadow:0 20px 70px #1e254010}.setup-icon{font-size:36px}.setup-panel h1{font-size:24px}.setup-panel p{line-height:2;font-size:14px;color:#5d6375}.notice{padding:15px;background:#f3f1ff;border-radius:12px;font-size:12px;color:#5e54ba;line-height:1.8}.modal-bg{position:fixed;inset:0;background:#101526a6;display:flex;align-items:center;justify-content:center;padding:14px;z-index:35}.modal{width:min(550px,100%);max-height:94vh;overflow:auto;border-radius:21px;background:#fff;padding:24px}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:6px}.modal h2{font-size:20px;margin:0 0 15px}.steps{display:flex;align-items:center;gap:10px;font-size:12px;color:#9196a5}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.stat{padding:16px 19px}.stat .number{font-size:22px;font-weight:800;margin-top:8px}.stat .caption{font-size:12px;color:#808698}.tabs{display:flex;gap:6px;padding:5px;background:#eeeff4;border-radius:13px;max-width:100%;overflow:auto}.tab{border:0;border-radius:10px;background:transparent;color:#757e91;padding:10px 16px;white-space:nowrap;font-size:13px;font-weight:700}.tab.active{background:#fff;color:#4e45c5;box-shadow:0 2px 7px #1111}.admin-layout{display:grid;grid-template-columns:1fr 340px;gap:18px;align-items:start}.admin-rows{display:grid;gap:12px}.table-scroll{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}.table th{background:#f8f8fc;text-align:left;color:#7a8192;font-weight:700;padding:12px 10px}.table td{border-bottom:1px solid #eceef3;padding:12px 10px}.table tr:last-child td{border-bottom:0}.table .price-cell{font-weight:800}.line{display:flex;justify-content:space-between;align-items:center;gap:12px}.group{display:grid;gap:8px}.stock-matrix{overflow:auto}.matrix{border-collapse:collapse;width:100%;font-size:12px}.matrix td,.matrix th{border:1px solid #e6e7ed;padding:7px;text-align:center}.matrix th{background:#f7f6fc}.matrix input{width:66px;min-width:55px;text-align:center;padding:7px;border:1px solid #dce0e8;border-radius:8px}.size-chip{background:#f6f6fa;color:#6c7082;border:1px solid #e6e7ed;padding:8px 10px;border-radius:9px;font-size:12px;font-weight:700}.size-chip.selected{background:#6758ec;border-color:#6758ec;color:#fff}.linkish{color:#6559de;font-weight:700}.footnote{font-size:11px;color:#959bab;line-height:1.6}.section-meta{font-size:12px;color:#9299aa}.signin{max-width:420px;margin:55px auto}.signin .panel{padding:30px}.side-stack{display:grid;gap:17px}.pay-row{border:1px solid #eceef2;border-radius:12px;padding:12px;margin-bottom:10px}.pay-row input{width:120px}.clip{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-card{border:1px solid #e9eaf0;border-radius:13px;padding:14px;margin:10px 0;font-size:13px}.order-card .muted{font-size:11px}.order-card.cancelled{opacity:.6}.top-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.mini-thumb{width:47px;height:51px;object-fit:cover;border-radius:8px;background:#f1eff9}.empty-state{border:1px dashed #e0e3ec;background:#fafbff;border-radius:15px;padding:30px;text-align:center;color:#8b91a2;font-size:13px;line-height:1.9}.copy-url{word-break:break-all;font-size:12px;color:#6e63d0}.sticky-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid #eee;padding:12px 0 0;margin-top:20px}.separator-small{margin:10px 0;border:0;border-top:1px solid #eee}
@media(min-width:800px){.video-shell{aspect-ratio:16/9}}@media(max-width:830px){.layout,.admin-layout{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(3,1fr)}.chat-box{height:360px}.video-shell{aspect-ratio:9/11}.wrap{padding:18px 13px 80px}.nav-inner{height:61px;padding:0 14px}.brand{font-size:17px}.brand small{display:none}.thumb{width:104px;min-width:104px;height:128px}.product{padding:11px;gap:11px}.product-name{font-size:15px}.price{font-size:16px}.tabs{width:100%}.tab{flex:1;padding:9px 8px}}@media(max-width:400px){.stat{padding:13px}.stat .number{font-size:17px}.nav-inner>.top-actions>.btn:not(.sm){font-size:12px}.thumb{width:91px;min-width:91px;height:115px}.product-info .options{display:none}.form-row{grid-template-columns:1fr}}

/* ============================================================
 * SMALLSTAR 2차 디자인 — 기존 주문/재고/정산 선택자를 유지하는 확장 스타일
 * ============================================================ */
:root{--star-purple:#7758da;--star-dark:#2b2444;--star-pink:#f8c8df;--star-yellow:#ffedba;--star-line:#eae0f5;color:#29233f;background:#fcfaff}
body{background:radial-gradient(ellipse at 5% 0%,#f7eaff 0%,transparent 34%),radial-gradient(ellipse at 97% 2%,#fff4db 0%,transparent 30%),#fcfaff}
.nav{background:rgba(255,254,255,.92);border-color:#f0e7f6;backdrop-filter:blur(18px);box-shadow:0 2px 18px #6c4a9910}
.brand{color:#302243;gap:10px;letter-spacing:-.9px}
.brand-emblem{background:linear-gradient(142deg,#9369ed,#d291dc 70%,#fac1d8);border-radius:13px;width:39px;height:39px;box-shadow:0 5px 15px #7b5ac236;font-size:25px}
.brand-words{display:inline-flex;align-items:center;gap:7px}
.brand small{font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:1.2px;background:#f7efff;color:#8261bd;border:1px solid #eee3ff}
.btn{background:linear-gradient(115deg,#8062e8,#aa78df);box-shadow:0 3px 10px #7955c915;transition:transform .15s,filter .15s}
.btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(.98)}
.btn:focus-visible,.room-enter:focus-visible,.size-chip:focus-visible,.size-group-trigger:focus-visible,.field:focus-visible{outline:3px solid #dfaeec;outline-offset:3px}
.btn.secondary{background:#f3eaff;color:#6543ad;box-shadow:none}.btn.outline{background:#fff;color:#674c9c;border:1px solid #e8ddf0;box-shadow:none}.btn.dark{background:#29233f;color:white}
.btn.ghost{background:transparent;color:#6c5796;box-shadow:none}.btn.danger{background:#fff0f2;color:#b43148;box-shadow:none}
.pill{background:#f5edff;color:#7554c5}.pill.gray{background:#f5f2f9;color:#71677e}
.card{border-color:#f0e9f6;box-shadow:0 9px 29px #624c8b0a}
.field{border-color:#e9e1ef}.field:focus{border-color:#a582e6;box-shadow:0 0 0 3px #c79ded2d}
.subhead h2,.section-title{color:#29213c}
.product .thumb,.thumb{background:#f3edfc;color:#bca5df}
.video-shell{background:radial-gradient(circle at 25% 18%,#8062c64f,transparent 30%),linear-gradient(140deg,#2e2946,#161829 68%,#52406c);border:1px solid #4b3b69}
.video-shell::before{background:#c78cd7}.video-center .symbol{color:#f5cfeb}
.chat-line b,.linkish{color:#7856c0}
.size-chip.selected{background:#8465dc;border-color:#8465dc;color:#fff}
.tabs{background:#f1edf7}.tab.active{color:#6743b8}
.notice{background:linear-gradient(105deg,#f5edff,#fff4fa);color:#7051a8}
.stock-matrix .matrix th{background:#faf6ff}

/* Broadcast directory: visitors see this before any nickname prompt. */
.lobby-wrap{max-width:1120px}
.home-hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#f5e8ff 0%,#ffeaf6 58%,#fff6d8 100%);border:1px solid #f0e1f3;border-radius:29px;padding:58px 62px 56px;min-height:300px;box-shadow:0 18px 50px #be9ed321;isolation:isolate}
.home-hero::before{content:'';position:absolute;right:-65px;bottom:-142px;width:400px;height:400px;background:#ffffff9c;border-radius:48% 52% 33% 67%;transform:rotate(28deg);z-index:-1}
.home-hero::after{content:'✦';position:absolute;right:80px;top:92px;font-size:119px;color:#b78ce1;line-height:1;opacity:.65;filter:drop-shadow(0 15px 0 #f1c8f4);transform:rotate(-9deg);z-index:-1}
.hero-eyebrow,.eyebrow{font-family:'DM Sans','Noto Sans KR',sans-serif;font-size:11px;font-weight:800;letter-spacing:2px;color:#815cbb}
.home-hero h1{margin:15px 0 16px;font-family:'Jua','Noto Sans KR',sans-serif;font-size:clamp(39px,5vw,61px);font-weight:400;letter-spacing:-1px;line-height:1.2;color:#352449}
.home-hero h1 em{font-style:normal;color:#9862c1}
.home-hero p{color:#645473;line-height:1.9;font-size:15px;font-weight:500;margin:0 0 19px}
.hero-note{display:inline-block;border:1px solid #ffffffd9;background:#ffffff8a;border-radius:50px;padding:9px 14px;color:#805b96;font-weight:700;font-size:12px}
.hero-star{position:absolute;color:#c58fdf;pointer-events:none}.star-a{right:43px;top:36px;font-size:23px}.star-b{right:296px;top:16px;font-size:24px;color:#e9adca}.star-c{right:236px;bottom:33px;font-size:39px;color:#d9aad7}
.rooms-section{margin-top:42px}
.rooms-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:19px}
.rooms-heading h2{font-family:'Jua','Noto Sans KR',sans-serif;font-size:29px;font-weight:400;margin:8px 0 4px;color:#372344;letter-spacing:-.6px}
.rooms-heading p{font-size:13px;color:#8e8398;margin:0}
.room-count{font-family:'DM Sans',sans-serif;color:#a889cb;font-size:17px}
.search-shell{display:flex;align-items:center;gap:10px;border:1px solid #ece3f1;background:#fff;border-radius:15px;padding:0 14px;margin-bottom:16px;box-shadow:0 6px 15px #301d5010}
.search-shell span{font-size:28px;color:#b39cce}.search-shell input{border:0;outline:0;min-height:47px;width:100%;font:inherit;background:transparent;color:#342944}
.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.room-card{overflow:hidden;background:#fff;border:1px solid #f0e5f2;border-radius:23px;box-shadow:0 12px 34px #754b8c12;transition:transform .2s,box-shadow .2s}
.room-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px #754b8c23}
.room-cover{position:relative;height:165px;display:flex;align-items:center;justify-content:center;background:linear-gradient(115deg,#b8a6f1,#e6c6ed 62%,#f9d2cd);isolation:isolate;overflow:hidden}
.room-cover::before{content:'✦';position:absolute;color:#fff;opacity:.8;font-size:88px;right:30px;top:6px;transform:rotate(17deg)}
.room-cover::after{content:'';position:absolute;width:190px;height:190px;left:-60px;bottom:-100px;border-radius:50%;background:#fff4;z-index:-1}
.room-stars{position:absolute;top:14px;left:19px;color:#fff9;font-size:15px;letter-spacing:6px}
.room-cover-word{font-family:'Jua','Noto Sans KR',sans-serif;font-size:35px;color:#fff;text-shadow:0 2px 12px #574b723d;letter-spacing:.6px}
.room-card:nth-child(3n+2) .room-cover{background:linear-gradient(125deg,#ffaecb,#edbcd8 56%,#f6e2af)}
.room-card:nth-child(3n+3) .room-cover{background:linear-gradient(120deg,#a8cde7,#b7a7e7 60%,#e4c4ee)}
.room-card-body{padding:21px}.room-tag-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.room-tag-row .pill{font-size:11px}
.invite-tag{background:#fff0c7;color:#9e7a27}
.room-card h3{font-size:20px;font-weight:800;letter-spacing:-.7px;margin:16px 0 6px;color:#352744}
.room-card p{font-size:13px;line-height:1.7;color:#82798c;min-height:45px;margin:0 0 19px;word-break:break-word}
.room-enter{min-height:46px;display:flex;align-items:center;justify-content:center;gap:6px}
.room-loading{grid-column:1/-1;background:white}
.lobby-foot{text-align:center;font-size:12px;color:#9c91a5;margin:34px auto;line-height:1.7}
/* Mandatory nickname step on every selected room */
.nickname-card{position:relative;text-align:center;max-width:435px;padding:34px 29px 28px;border:1px solid #eadef2;box-shadow:0 35px 90px #1f143e3b}
.nickname-card .label{text-align:left}.nickname-card .help{font-size:13px;line-height:1.95;margin:11px 0 22px}
.nickname-card .help b{color:#7750b5}.nickname-card h2{font-family:'Jua','Noto Sans KR',sans-serif;font-size:27px;font-weight:400;letter-spacing:-.8px;margin:13px 0 7px}
.nickname-icon{width:64px;height:64px;margin:0 auto 17px;border-radius:22px;background:linear-gradient(125deg,#a486ec,#efadcd);color:white;display:grid;place-items:center;font-size:33px;box-shadow:0 12px 20px #9e7add30}
.modal-x{position:absolute;right:14px;top:12px;border:0;background:transparent;color:#8f839c;padding:8px;font-size:18px;cursor:pointer}
.required-star{color:#c65a8f}.nickname-help{font-size:11px;color:#a395af;line-height:1.7;margin:16px 0 0}
.room-toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
/* Compact, accessible expandable size groups. */
.chosen-summary{padding:13px;background:#fcfaff;border:1px solid #eee5f4;border-radius:14px;margin-bottom:12px}
.chosen-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.size-summary-chip{font-size:11px;font-weight:800;border-radius:8px;padding:5px 8px;color:#7350af;background:#eee4ff}
.size-accordion{display:grid;gap:9px}.size-accordion-item{border:1px solid #ece4f1;border-radius:13px;overflow:hidden;background:white}
.size-group-trigger{display:flex;gap:10px;align-items:center;text-align:left;border:0;background:#fff;width:100%;padding:14px 12px;cursor:pointer;color:#35284a;min-height:58px}
.size-group-trigger.is-open{background:#fcf7ff}.size-group-icon{width:29px;font-size:20px;text-align:center}.size-group-text{flex:1;display:flex;flex-direction:column;gap:2px}.size-group-text b{font-size:13px}.size-group-text small{font-size:11px;color:#94879b}
.size-count{font-size:10px;border-radius:20px;background:#f0e6fe;color:#7954b6;padding:5px 7px;font-weight:800;white-space:nowrap}.size-count.none{background:#f7f5f9;color:#9e95a8}
.size-chevron{margin-left:2px;font-size:19px;color:#857494;transition:transform .2s}.is-open .size-chevron{transform:rotate(180deg)}
.size-panel{padding:13px;background:#fffdff;border-top:1px solid #f0e8f3}.size-options{gap:7px}.size-options .size-chip{min-width:43px;min-height:39px}
@media(max-width:900px){.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hero{padding:48px 34px}}
@media(max-width:600px){.home-hero{padding:39px 25px 34px;min-height:280px;border-radius:24px}.home-hero h1{font-size:39px}.home-hero p{font-size:13px}.home-hero::after{font-size:74px;right:12px;top:45px;opacity:.45}.hero-eyebrow{font-size:10px}.hero-note{font-size:11px}.star-b,.star-c{display:none}.room-grid{grid-template-columns:1fr;gap:15px}.room-cover{height:151px}.rooms-section{margin-top:31px}.rooms-heading h2{font-size:25px}.room-card-body{padding:18px}.room-card p{min-height:0}.brand small{display:none}.brand-words{font-size:19px}.nav-inner{padding:0 15px}.nav-inner .pill.gray{display:none}.login-link{min-height:39px}.nickname-card{padding:30px 23px 24px}.nickname-card h2{font-size:25px}.room-toolbar{margin-bottom:12px}}
