:root{--bg:#0d0b16;--panel:#171426;--panel2:#211c35;--text:#f7f6fb;--muted:#aaa5bd;--line:#322c48;--accent:#9b7bff;--accent2:#55d9ff;--good:#76e6a5;--danger:#ff7d94;--shadow:0 18px 50px rgba(0,0,0,.24)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 15% -10%,#2d1c57 0,transparent 35%),radial-gradient(circle at 100% 10%,#16344a 0,transparent 30%),var(--bg);color:var(--text);font-family:Pretendard,"Noto Sans KR","Malgun Gothic",system-ui,sans-serif;line-height:1.6}.shell{width:min(1180px,calc(100% - 36px));margin:auto}a{color:inherit;text-decoration:none}.topbar{position:sticky;top:0;z-index:30;background:rgba(13,11,22,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.top-inner{height:78px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:10px;min-width:max-content}.brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-size:22px;font-weight:900;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#100d1b;box-shadow:0 8px 28px rgba(155,123,255,.28)}.brand b{display:block;font-size:20px}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:-2px}.primary-nav{display:flex;gap:2px;align-items:center;flex:1;overflow:auto;scrollbar-width:none}.primary-nav::-webkit-scrollbar{display:none}.primary-nav a{padding:9px 10px;border-radius:10px;white-space:nowrap;color:#d9d5e5;font-size:14px}.primary-nav a:hover,.primary-nav a.on{background:var(--panel2);color:#fff}.account{display:flex;align-items:center;gap:8px;font-size:13px;white-space:nowrap}.account a{padding:8px 10px;border-radius:10px;background:#1d192c}.account .join{background:linear-gradient(135deg,var(--accent),#7f64e8);color:#120e21;font-weight:800}.point-badge{color:#e6ddff!important;font-weight:800}.utility{border-top:1px solid rgba(255,255,255,.04)}.utility-inner{height:38px;display:flex;align-items:center;gap:20px;overflow:auto;color:#9690aa;font-size:12px;scrollbar-width:none}.utility-inner a{white-space:nowrap}.utility-inner a:hover{color:#fff}.menu-btn{display:none;background:var(--panel2);border:1px solid var(--line);color:#fff;border-radius:10px;padding:8px 11px;font-size:20px}.main{padding-top:34px;padding-bottom:60px;min-height:70vh}.setup-banner,.notice{padding:14px 16px;border:1px solid #584b8f;background:#211b3a;border-radius:14px;margin-bottom:20px;color:#ddd6ff}.setup-banner a{color:#fff;font-weight:800;text-decoration:underline}.hero{display:grid;grid-template-columns:1.35fr .65fr;gap:22px;align-items:stretch}.hero-main,.hero-side,.card,.panel,.post,.product-card,.form-card,.stat{background:linear-gradient(180deg,rgba(31,27,50,.96),rgba(21,18,34,.96));border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.hero-main{padding:42px;position:relative;overflow:hidden}.hero-main:after{content:"AI";position:absolute;right:-8px;bottom:-58px;font-size:180px;font-weight:1000;color:rgba(155,123,255,.08);line-height:1}.eyebrow,.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#251f3d;border:1px solid #453b67;color:#cfc2ff;font-size:12px;font-weight:800}.hero h1{font-size:clamp(38px,6vw,66px);line-height:1.08;margin:18px 0 16px;letter-spacing:-2.8px}.hero p{color:var(--muted);font-size:17px;max-width:650px}.hero-actions,.row-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;padding:12px 17px;border-radius:13px;background:linear-gradient(135deg,var(--accent),#7f64e8);color:#100d18;font-weight:900;font-size:14px}.btn.secondary{background:#28223e;color:#f5f2ff;border:1px solid #40375c}.btn.ghost{background:transparent;color:#d8d2e6;border:1px solid var(--line)}.btn.danger{background:#3a1c29;color:#ffb7c5;border:1px solid #603044}.hero-side{padding:24px}.hero-side h3{margin:0 0 8px}.mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.mini-stat{padding:16px;border-radius:16px;background:#201b32;border:1px solid #332d49}.mini-stat b{display:block;font-size:22px}.mini-stat span{font-size:12px;color:var(--muted)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:46px 0 18px}.section-head h2,.title h1{margin:0;letter-spacing:-1.2px}.section-head p,.title p{margin:5px 0 0;color:var(--muted)}.section-head a{color:#cfc2ff;font-size:13px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.product-card{padding:22px;transition:.2s transform,.2s border-color}.product-card:hover{transform:translateY(-3px);border-color:#66578f}.product-top{display:flex;justify-content:space-between;gap:10px;align-items:start}.emoji{font-size:34px}.product-card h3{margin:10px 0 4px;font-size:20px}.product-card p{margin:0;color:var(--muted);min-height:50px}.meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px;color:#b9b1c9;font-size:12px}.meta span{padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:#171425}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick{padding:20px;border-radius:18px;background:#151221;border:1px solid var(--line)}.quick b{display:block;font-size:16px;margin-bottom:4px}.quick span{color:var(--muted);font-size:13px}.title{margin-bottom:20px}.title h1{font-size:36px}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px}.post-list{display:grid;gap:12px}.post{padding:22px}.post h3{margin:0 0 8px;font-size:19px}.post p{margin:0 0 12px;color:#cbc7d4}.post small{color:#89849a}.sidebox{padding:20px;background:#151221;border:1px solid var(--line);border-radius:18px;position:sticky;top:138px;height:max-content}.sidebox h3{margin-top:0}.sidebox p,.sidebox li{color:var(--muted);font-size:13px}.sidebox ul{padding-left:18px}.form-card{padding:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:800;color:#d7d1e2}.input,textarea,select{width:100%;border:1px solid #3a334f;background:#100e1a;color:#fff;border-radius:12px;padding:12px 13px;font:inherit;outline:none}.input:focus,textarea:focus,select:focus{border-color:#8069c6;box-shadow:0 0 0 3px rgba(155,123,255,.12)}textarea{min-height:130px;resize:vertical}.help{color:#817b90;font-size:12px}.flash{padding:13px 15px;border-radius:12px;margin:12px 0}.flash.ok{background:#143024;color:#aef0c8;border:1px solid #28543e}.flash.err{background:#381c25;color:#ffc1cc;border:1px solid #633040}.chat-wrap{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px}.ai-profile{padding:24px}.ai-profile .emoji{font-size:52px}.ai-profile h2{margin:8px 0 4px}.ai-profile p{color:var(--muted)}.chat-panel{padding:22px}.chat-log{min-height:340px;max-height:520px;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:6px}.bubble{max-width:85%;padding:13px 15px;border-radius:16px;white-space:pre-wrap}.bubble.user{align-self:flex-end;background:#493b77}.bubble.ai{align-self:flex-start;background:#211d30;border:1px solid #352f47}.chat-form{display:flex;gap:10px;margin-top:16px}.chat-form textarea{min-height:58px;max-height:130px}.chat-form .btn{min-width:90px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat{padding:20px}.stat b{font-size:28px;display:block}.stat span{font-size:12px;color:var(--muted)}table{width:100%;border-collapse:collapse;background:#151221;border:1px solid var(--line);border-radius:16px;overflow:hidden}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:13px}th{color:#aaa4b9;background:#1d192b}.policy{padding:22px;background:#151221;border:1px solid var(--line);border-radius:18px}.policy h2{font-size:18px}.policy p,.policy li{color:#b9b3c3}.badge{display:inline-block;padding:5px 8px;border-radius:999px;background:#28213e;color:#d9ceff;font-size:11px;font-weight:800}.rank{font-size:22px;font-weight:1000;color:#a991ff;width:36px}.best-row{display:flex;gap:14px;align-items:flex-start}.divider{height:1px;background:var(--line);margin:18px 0}.empty{padding:34px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:18px}.install-card{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:24px;background:#171426;border:1px solid var(--line);border-radius:20px}.kbd{padding:3px 7px;border:1px solid #494257;border-bottom-width:2px;border-radius:6px;background:#211d2b;color:#ddd;font-size:12px}footer{border-top:1px solid var(--line);padding:34px 0 50px;background:#0a0811}.foot{display:flex;justify-content:space-between;gap:24px}.foot p{color:var(--muted);font-size:13px}.foot-links{display:flex;gap:14px;flex-wrap:wrap;color:#a49eae;font-size:12px}
@media(max-width:980px){.top-inner{height:auto;min-height:70px;flex-wrap:wrap;padding:12px 0}.menu-btn{display:block;margin-left:auto}.primary-nav{display:none;order:4;width:100%;flex-direction:column;align-items:stretch;padding:8px 0}.primary-nav.open{display:flex}.primary-nav a{font-size:16px;padding:12px}.account{margin-left:auto}.utility-inner{height:42px}.hero{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(2,1fr)}.quick-grid{grid-template-columns:repeat(2,1fr)}.content-grid,.chat-wrap{grid-template-columns:1fr}.sidebox{position:static}.stat-grid{grid-template-columns:1fr 1fr}.hero-main{padding:30px}}@media(max-width:620px){.shell{width:min(100% - 22px,1180px)}.account a:not(.point-badge):not(.join){display:none}.brand small{display:none}.hero-main{padding:24px}.hero h1{font-size:42px;letter-spacing:-2px}.product-grid,.quick-grid,.form-grid,.stat-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.title h1{font-size:30px}.post{padding:18px}.chat-form{flex-direction:column}.chat-form .btn{width:100%}.install-card{grid-template-columns:1fr}.foot{flex-direction:column}.utility-inner{gap:16px}}


/* ===== R7 ADMIN MODE ===== */
.admin-wrap{display:grid;grid-template-columns:230px minmax(0,1fr);gap:22px;align-items:start}
.admin-side{position:sticky;top:18px;background:rgba(21,17,38,.96);border:1px solid rgba(255,255,255,.09);border-radius:20px;padding:12px;box-shadow:0 18px 50px rgba(0,0,0,.24)}
.admin-side-title{padding:12px 12px 16px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:8px}.admin-side-title strong{display:block;font-size:18px}.admin-side-title small{display:block;margin-top:3px;opacity:.55;letter-spacing:.08em}
.admin-menu{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:12px;color:inherit;text-decoration:none;margin:3px 0}.admin-menu:hover,.admin-menu.on{background:rgba(174,134,255,.16);color:#fff}.admin-menu span{width:24px;text-align:center}.admin-menu b{font-size:14px}
.admin-main{min-width:0}.admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.admin-head h1{margin:8px 0 5px;font-size:30px}.admin-head p{margin:0;opacity:.7}.admin-login-id{white-space:nowrap;padding:10px 13px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.035)}
.admin-stats .stat{text-decoration:none;color:inherit}.admin-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.admin-card{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:18px;margin-bottom:16px}.admin-card h2{margin:0 0 14px}.admin-status-row{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.07)}.admin-status-row:last-child{border-bottom:0}.good{color:#76e0a0}.bad{color:#ff9b9b}.plus{color:#83e8a8;font-weight:700}.minus{color:#ff9b9b;font-weight:700}
.admin-mini-list>div{display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06)}.admin-mini-list small{grid-column:1/-1;opacity:.6}.admin-quick{display:flex;flex-wrap:wrap;gap:9px}.admin-quick a,.admin-badge{display:inline-block;padding:8px 11px;border-radius:10px;background:rgba(174,134,255,.13);text-decoration:none;color:inherit}
.admin-table-wrap{overflow:auto}.admin-table-wrap table{min-width:760px;width:100%;border-collapse:collapse}.admin-table-wrap th{position:sticky;top:0;background:#211a38;z-index:1;text-align:left}.admin-table-wrap th,.admin-table-wrap td{padding:11px 10px;border-bottom:1px solid rgba(255,255,255,.075);vertical-align:middle}.inline-form,.point-adjust{display:flex;gap:6px;align-items:center}.inline-form select,.point-adjust input{background:#171329;color:inherit;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:7px}.point-adjust input[type=number]{width:100px}.point-adjust input[name=reason]{width:130px}.mini-btn{border:0;border-radius:8px;padding:8px 10px;cursor:pointer;background:#8767d8;color:#fff}.mini-btn.danger{background:#934a5b}.admin-note{opacity:.68;margin-top:-5px}.admin-settings-form{max-width:900px}
@media(max-width:900px){.admin-wrap{grid-template-columns:1fr}.admin-side{position:static;display:flex;overflow:auto;gap:4px}.admin-side-title{display:none}.admin-menu{flex:0 0 auto}.admin-menu b{white-space:nowrap}.admin-grid2{grid-template-columns:1fr}.admin-head{display:block}.admin-login-id{display:inline-block;margin-top:10px}}


/* ===== R9 AI SPEAKER NAME ===== */
.bubble.ai .ai-speaker{
  display:block;
  margin:0 0 7px;
  padding-bottom:6px;
  border-bottom:1px solid rgba(255,255,255,.10);
  font-size:13px;
  font-weight:800;
  letter-spacing:-.02em;
  color:#d8c8ff;
}
.bubble.ai .ai-answer{
  display:block;
  line-height:1.65;
}


/* ===== R11 CHAT HISTORY SCROLL ===== */
.chat-log{max-height:520px;overflow-y:auto;padding-right:6px;scroll-behavior:smooth}
.chat-log::-webkit-scrollbar{width:10px}
.chat-log::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px}
.chat-log::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:999px}


/* ===== R12 MIC + FILE UPLOAD ===== */
.chat-form-rich{display:block}
.chat-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0 8px}
.chat-tool-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:42px;padding:9px 13px;border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.055);color:inherit;
  font:inherit;font-weight:700;cursor:pointer;text-decoration:none
}
.chat-tool-btn:hover{background:rgba(174,134,255,.15)}
.chat-tool-btn.listening{background:rgba(235,90,105,.20);border-color:rgba(255,130,140,.55)}
.file-hidden{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.selected-file{font-size:12px;opacity:.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.chat-compose{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:10px;align-items:stretch}
.chat-compose textarea{min-height:105px;resize:vertical}
.chat-send{height:100%;min-height:105px}
.mic-status{min-height:20px;margin-top:6px;font-size:12px;opacity:.7}
.attachment-chip{
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 8px;margin:0 0 7px;border-radius:9px;
  background:rgba(255,255,255,.10);font-size:12px;font-weight:700
}
@media(max-width:650px){
  .chat-compose{grid-template-columns:1fr}
  .chat-send{min-height:48px;height:auto}
  .chat-tool-btn{flex:1 1 auto}
}


/* ===== R13 VOICE LISTEN ===== */
.tts-btn{
  display:inline-flex;align-items:center;gap:6px;
  margin-top:10px;padding:7px 10px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  background:rgba(255,255,255,.055);
  color:inherit;font:inherit;font-size:12px;font-weight:800;
  cursor:pointer
}
.tts-btn:hover{background:rgba(174,134,255,.16)}
.tts-btn.playing{background:rgba(174,134,255,.24);border-color:rgba(190,160,255,.45)}


/* ===== R14 PG REVIEW ===== */
.pg-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:start}
.pg-business{font-size:13px;line-height:1.75}
.pg-brand{display:flex;align-items:center;gap:10px;margin-bottom:7px}
.pg-brand b{font-size:17px}
.pg-brand span{opacity:.72}
.pg-company-line{margin:3px 0;opacity:.78}
.pg-company-line span{opacity:.45;margin:0 5px}
.pg-company-line a{color:inherit}
.pg-company-note{margin:8px 0 0;opacity:.55;font-size:12px}
.pg-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:190px}
.pg-policy a{color:#d8c8ff;text-decoration:underline;text-underline-offset:3px}
.pg-policy h2{margin-top:24px}
.pg-policy h2:first-child{margin-top:0}
.pg-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
@media(max-width:800px){
  .pg-foot{grid-template-columns:1fr}
  .pg-links{flex-direction:row;flex-wrap:wrap;min-width:0}
  .pg-contact-grid{grid-template-columns:1fr}
}


/* ===== R15 EMOTIONAL PARENT INTRO ===== */
.emotion-intro{
  margin:16px 0 4px;
  padding:16px 15px;
  border-radius:15px;
  border:1px solid rgba(230,210,255,.13);
  background:linear-gradient(145deg,rgba(110,82,145,.15),rgba(35,28,52,.34));
}
.emotion-intro h3{
  margin:0 0 9px;
  font-size:17px;
  line-height:1.4;
  letter-spacing:-.03em;
  color:#f1e9ff;
}
.emotion-intro p{
  margin:0;
  font-size:13px;
  line-height:1.8;
  opacity:.82;
  word-break:keep-all;
}


/* ===== R16 ADMIN CHAT LOGS ===== */
.log-message{max-width:420px;white-space:normal;line-height:1.55;word-break:break-word}
.nowrap{white-space:nowrap}
.chat-log-table th:nth-child(4),.chat-log-table th:nth-child(5){min-width:280px}
.chat-log-table td{vertical-align:top}


/* ===== R17 MOBILE AI SALES MENU ===== */
.mobile-market-link{
  display:none;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  padding:9px 12px;
  border-radius:11px;
  font-size:14px;
  font-weight:900;
  background:linear-gradient(135deg,var(--accent),#7f64e8);
  color:#120e21;
  box-shadow:0 8px 24px rgba(155,123,255,.20);
}
.mobile-market-link.on{
  outline:2px solid rgba(255,255,255,.25);
}
@media(max-width:980px){
  .mobile-market-link{
    display:inline-flex;
    margin-left:auto;
  }
  .menu-btn{
    margin-left:0;
  }
}
@media(max-width:420px){
  .mobile-market-link{
    padding:8px 10px;
    font-size:13px;
  }
}


/* ===== R18 MOBILE AI TEST ===== */
.mobile-test-chip{
  display:inline-flex;
  margin-top:14px;
  padding:8px 12px;
  border-radius:10px;
  background:linear-gradient(135deg,var(--accent),#7f64e8);
  color:#120e21;
  font-size:13px;
  font-weight:900;
}
@media(max-width:760px){
  .chat-wrap{
    display:flex !important;
    flex-direction:column !important;
    gap:14px !important;
  }
  .chat-panel{
    order:1 !important;
    width:100% !important;
    min-width:0 !important;
  }
  .ai-profile{
    order:2 !important;
    width:100% !important;
    min-width:0 !important;
  }
  .chat-log{
    min-height:230px !important;
    max-height:48vh !important;
    overflow-y:auto !important;
  }
  .chat-tools{
    gap:8px !important;
  }
  .chat-tool-btn{
    min-height:46px !important;
    font-size:14px !important;
  }
  .chat-compose{
    grid-template-columns:1fr !important;
  }
  .chat-compose textarea{
    min-height:120px !important;
    font-size:16px !important;
  }
  .chat-send{
    min-height:52px !important;
    width:100% !important;
    font-size:16px !important;
  }
  .mobile-test-chip{
    display:flex !important;
    justify-content:center;
    width:100%;
    font-size:15px;
  }
}


/* ===== R19 MOBILE LOGIN / LOGOUT / ADMIN ===== */
.mobile-account-bar{display:none}
@media(max-width:620px){
  .top-inner .account{display:none !important}

  .mobile-account-bar{
    display:block;
    border-top:1px solid rgba(255,255,255,.06);
    background:rgba(18,15,30,.96);
  }

  .mobile-account-inner{
    min-height:54px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:8px 0;
  }

  .mobile-login-state{
    min-width:0;
    display:flex;
    align-items:center;
    gap:7px;
    overflow:hidden;
  }

  .mobile-user-name{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:13px;
    color:#eee9fb;
  }

  .mobile-point{
    flex:0 0 auto;
    padding:6px 8px;
    border-radius:9px;
    background:#251f3d;
    border:1px solid #453b67;
    color:#e4dbff;
    font-size:12px;
    font-weight:900;
  }

  .mobile-guest-text{
    min-width:0;
    max-width:48%;
    color:#a8a2b6;
    font-size:11px;
    line-height:1.35;
  }

  .mobile-account-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    flex:0 0 auto;
  }

  .mobile-login-btn,
  .mobile-join-btn,
  .mobile-logout-btn,
  .mobile-admin-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:8px 10px;
    border-radius:10px;
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
  }

  .mobile-login-btn{
    background:linear-gradient(135deg,var(--accent),#7f64e8);
    color:#120e21;
  }

  .mobile-join-btn{
    background:#28223e;
    border:1px solid #40375c;
    color:#fff;
  }

  .mobile-logout-btn{
    background:#2b243d;
    border:1px solid #463c5d;
    color:#fff;
  }

  .mobile-admin-btn{
    background:linear-gradient(135deg,#59d7ff,#9b7bff);
    color:#100d1b;
  }
}

@media(max-width:390px){
  .mobile-account-inner{
    align-items:stretch;
    flex-direction:column;
  }

  .mobile-guest-text{
    max-width:none;
  }

  .mobile-account-actions{
    width:100%;
  }

  .mobile-account-actions a{
    flex:1 1 0;
  }

  .mobile-login-state{
    width:100%;
    justify-content:space-between;
  }
}


/* ===== R20 SESSION STATUS ===== */
.site-version{
  display:inline-block;
  margin-left:6px;
  padding:1px 6px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  font-size:10px;
  font-weight:900;
  opacity:.72;
}


/* ===== R22 CALL MODE / MEMORY PHOTO ===== */
.call-entry{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 18px}
.call-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:18px;align-items:start}
.call-side,.call-screen{overflow:hidden}
.call-memory-card{background:linear-gradient(180deg,#17142a,#12101f);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:12px}
.memory-photo{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:16px;display:block}
.memory-caption{margin-top:8px;font-size:12px;color:#bfb8d7}
.memory-placeholder{display:grid;place-items:center;min-height:320px;border-radius:16px;background:radial-gradient(circle at top,#2d2448,#151220);text-align:center;padding:24px}
.memory-emoji{font-size:68px;margin-bottom:10px}
.memory-placeholder-text{font-size:14px;color:#cec8df;line-height:1.6}
.call-side-copy h2{margin:12px 0 8px}
.call-disclaimer{color:#c5bdd9;line-height:1.7}
.call-price-box{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 16px}
.call-price-box > div{padding:12px 14px;border-radius:14px;background:#1b1730;border:1px solid rgba(255,255,255,.06)}
.memory-upload-form{padding:14px;border-radius:16px;background:#171328;border:1px solid rgba(255,255,255,.06)}
.field-label{display:block;font-weight:800;margin-bottom:8px}
.memory-upload-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.ghost-btn{background:#211b35;border:1px solid rgba(255,255,255,.08);color:#fff}
.call-screen-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.call-person{display:flex;align-items:center;gap:12px}
.call-avatar-small{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#7d63ff,#ff88d7);font-size:28px}
.call-name{font-size:22px;font-weight:900}
.call-sub{font-size:13px;color:#b9b1cf}
.call-status-box{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#19152a;border:1px solid rgba(255,255,255,.08);font-weight:800}
.live-dot{width:10px;height:10px;border-radius:50%;background:#5ef6aa;box-shadow:0 0 0 6px rgba(94,246,170,.12)}
.call-log{min-height:420px;max-height:58vh;overflow-y:auto;padding:12px;border-radius:18px;background:#120f1f;border:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:10px}
.call-bubble{max-width:min(82%,680px);padding:14px 16px;border-radius:18px;line-height:1.7;word-break:break-word}
.call-bubble.user{align-self:flex-end;background:linear-gradient(135deg,var(--accent),#8f71ff);color:#120e21;font-weight:800;border-bottom-right-radius:6px}
.call-bubble.ai{align-self:flex-start;background:#19152a;border:1px solid rgba(255,255,255,.06);color:#f6f2ff;border-bottom-left-radius:6px}
.call-action-strip{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.call-control{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 18px;border-radius:14px;border:none;text-decoration:none;font-weight:900}
.call-control.mic{background:linear-gradient(135deg,var(--accent),#8f71ff);color:#120e21}
.call-control.mic.listening{transform:scale(1.02);box-shadow:0 0 0 5px rgba(147,115,255,.18)}
.call-control.speaker{background:#241d3b;color:#fff;border:1px solid rgba(255,255,255,.08)}
.call-control.end{background:#3b1f2f;color:#ffd8ea;border:1px solid rgba(255,255,255,.08)}
.call-compose{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}
.call-compose textarea{min-height:120px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#140f22;color:#fff;padding:14px 16px;font-size:16px;resize:vertical}
.call-compose textarea::placeholder{color:#9d95b3}
.call-side-actions .btn{width:100%}
@media(max-width:920px){
  .call-layout{grid-template-columns:1fr}
}
@media(max-width:620px){
  .call-price-box{grid-template-columns:1fr}
  .call-log{min-height:360px;max-height:52vh}
  .call-action-strip{display:grid;grid-template-columns:1fr 1fr}
  .call-control.end{grid-column:1/-1}
  .call-compose{grid-template-columns:1fr}
  .call-compose .btn{width:100%}
  .memory-placeholder{min-height:220px}
}


/* ===== R23 MINUTE BILLING + PG ENGLISH SUMMARY ===== */
.call-start-box{
  margin:12px 0 16px;padding:22px;border-radius:18px;text-align:center;
  background:linear-gradient(145deg,#1e1833,#151122);
  border:1px solid rgba(255,255,255,.07)
}
.call-start-icon{font-size:44px}
.call-start-box h3{margin:8px 0 6px}
.call-start-box p{color:#bdb5d3}
.call-start-btn{min-width:210px;margin-top:8px}
.call-disabled{opacity:.48}
.live-dot.idle{background:#777;box-shadow:none}
.billing-help{padding:10px 12px;border-radius:12px;background:#1a1629}
.bilingual-summary{
  margin-top:18px;
  border:1px solid rgba(161,132,255,.18);
  background:linear-gradient(145deg,rgba(98,72,146,.12),rgba(23,18,38,.4))
}


/* ===== R24 HANDS-FREE PHONE CALL ===== */
.product-card-actions{display:flex;flex-direction:column;padding:0!important;overflow:hidden}
.product-card-main{display:block;padding:18px;color:inherit;text-decoration:none;flex:1}
.product-card-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 18px 18px}
.product-card-buttons .btn{width:100%;min-height:46px}
.call-direct-btn{background:linear-gradient(135deg,#58e6a5,#77d6ff);color:#0c1720!important}

.handsfree-status{
  display:flex;align-items:center;justify-content:center;gap:9px;
  margin:10px 0;padding:10px 14px;border-radius:999px;
  background:#171426;border:1px solid rgba(255,255,255,.07);
  color:#c8c1d9;font-size:13px;font-weight:800
}
.handsfree-dot{
  width:10px;height:10px;border-radius:50%;background:#777;
  box-shadow:0 0 0 5px rgba(255,255,255,.04)
}
.handsfree-status.is-listening .handsfree-dot{background:#5ef6aa;box-shadow:0 0 0 6px rgba(94,246,170,.12)}
.handsfree-status.is-speaking .handsfree-dot{background:#8fa8ff;box-shadow:0 0 0 6px rgba(143,168,255,.12)}
.handsfree-status.is-thinking .handsfree-dot{background:#ffd86b;box-shadow:0 0 0 6px rgba(255,216,107,.12)}
.handsfree-status.is-muted .handsfree-dot{background:#f47d92}
.call-control.mic.muted{background:#382333;color:#ffdce3}

@media(max-width:620px){
  .product-card-buttons{grid-template-columns:1fr 1fr}
  .product-card-buttons .btn{font-size:14px;padding:10px 8px}
  .call-screen{min-height:calc(100vh - 160px)}
  .call-screen-top{
    position:sticky;top:0;z-index:4;
    margin:-18px -18px 12px;padding:14px 18px;
    background:rgba(14,11,25,.94);backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(255,255,255,.06)
  }
  .call-action-strip{
    position:sticky;bottom:8px;z-index:5;
    padding:10px;border-radius:18px;
    background:rgba(18,14,31,.94);backdrop-filter:blur(12px);
    border:1px solid rgba(255,255,255,.07)
  }
  .call-action-strip .call-control{min-height:56px}
}


/* ===== R25 CALL GUIDE ===== */
.help-btn{
  background:#231c39;
  border:1px solid rgba(255,255,255,.08);
  color:#fff!important;
}
.call-start-actions{
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:8px;
}
.guide-modal[hidden]{display:none}
.guide-modal{position:fixed;inset:0;z-index:80}
.guide-backdrop{
  position:absolute;inset:0;
  background:rgba(5,4,10,.72);
  backdrop-filter:blur(3px);
}
.guide-panel{
  position:relative;z-index:2;
  width:min(760px,calc(100vw - 24px));
  max-height:min(88vh,900px);
  overflow:auto;
  margin:5vh auto;
  padding:22px 20px 20px;
  border-radius:24px;
  background:linear-gradient(180deg,#171329,#120f1f);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 28px 80px rgba(0,0,0,.45);
}
.guide-close{
  position:absolute;
  right:14px;top:14px;
  width:40px;height:40px;
  border:none;border-radius:50%;
  background:#281f42;color:#fff;
  font-size:18px;font-weight:900;
}
.guide-panel h2{margin:8px 0 16px}
.guide-section{
  margin-top:14px;
  padding:14px 16px;
  border-radius:18px;
  background:#171328;
  border:1px solid rgba(255,255,255,.06);
}
.guide-section h3{margin:0 0 10px;font-size:17px}
.guide-section ol,.guide-section ul{margin:0;padding-left:20px;line-height:1.8}
.guide-problems li+li{margin-top:4px}
body.guide-open{overflow:hidden}
@media(max-width:620px){
  .guide-panel{
    width:calc(100vw - 14px);
    margin:2vh auto;
    max-height:92vh;
    padding:18px 14px 16px;
    border-radius:20px;
  }
  .call-start-actions{flex-direction:column}
  .call-start-actions .btn{width:100%}
}


/* ===== R26 SPEAKERPHONE ===== */
.call-control.speakerphone{
  background:linear-gradient(135deg,#24395a,#334e76);
  color:#fff;
  border:1px solid rgba(255,255,255,.10);
}
.call-control.speakerphone[data-on="1"]{
  box-shadow:0 0 0 3px rgba(104,167,255,.12);
}
.speakerphone-note{
  margin:-2px 0 10px;
  text-align:center;
  font-size:12px;
  color:#aaa2bf;
}
@media(max-width:620px){
  .call-control.speakerphone{
    font-size:14px;
    font-weight:900;
  }
}


/* ===== R27 HANGUKAI BRAND LOGO ===== */
.brand{
  gap:12px;
}
.brand-mark{
  width:48px;
  height:48px;
  border-radius:15px;
  font-size:24px;
}
.brand-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  line-height:1.05;
}
.brand-copy b{
  display:block;
  font-size:26px;
  font-weight:1000;
  letter-spacing:-1.2px;
}
.brand-copy .brand-domain{
  display:block;
  margin-top:5px;
  color:#bdb4d1;
  font-size:12.5px;
  font-weight:800;
  letter-spacing:.03em;
}
.home-brand-logo{
  display:inline-flex;
  flex-direction:column;
  margin:0 0 16px;
  padding:14px 18px 13px;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(155,123,255,.17),rgba(85,217,255,.08));
  border:1px solid rgba(190,173,255,.18);
  box-shadow:0 12px 34px rgba(0,0,0,.16);
}
.home-brand-logo strong{
  font-size:clamp(38px,5.3vw,62px);
  line-height:1;
  font-weight:1000;
  letter-spacing:-3px;
  color:#fff;
}
.home-brand-logo span{
  margin-top:9px;
  font-size:15px;
  font-weight:900;
  letter-spacing:.08em;
  color:#cfc4ff;
}
.footer-domain{
  font-weight:850;
  color:#d5caff;
}
@media(max-width:980px){
  .brand-mark{
    width:44px;
    height:44px;
    font-size:22px;
  }
  .brand-copy b{
    font-size:23px;
  }
  .brand-copy .brand-domain{
    display:block !important;
    font-size:11px;
    margin-top:4px;
  }
}
@media(max-width:620px){
  .brand{
    gap:8px;
  }
  .brand-mark{
    width:40px;
    height:40px;
    border-radius:13px;
    font-size:20px;
  }
  .brand-copy b{
    font-size:20px;
    letter-spacing:-.8px;
  }
  .brand-copy .brand-domain{
    display:block !important;
    font-size:10px;
    letter-spacing:.01em;
  }
  .home-brand-logo{
    padding:12px 14px 11px;
    margin-bottom:14px;
  }
  .home-brand-logo strong{
    font-size:42px;
    letter-spacing:-2.2px;
  }
  .home-brand-logo span{
    font-size:12px;
    margin-top:7px;
  }
}


/* ===== R28 MOBILE AI INSTALL ===== */
.mobile-install-price{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:3px 10px;
  align-items:end;
  margin:14px 0 10px;
  padding:14px 15px;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(90,220,170,.10),rgba(106,140,255,.10));
  border:1px solid rgba(135,238,200,.16);
}
.mobile-install-price span{
  grid-row:1 / span 2;
  align-self:center;
  font-size:13px;
  font-weight:900;
  color:#b9b2c9;
}
.mobile-install-price strong{
  font-size:25px;
  line-height:1;
  color:#fff;
}
.mobile-install-price small{
  color:#9fe5c6;
  font-weight:800;
}
.mobile-install-btn{
  background:linear-gradient(135deg,#5ee4a9,#65bfff);
  color:#09151b!important;
  font-weight:1000;
  border:none;
}
.install-owned-note{
  text-align:center;
  margin-top:7px;
}
.charge-needed-banner{
  margin:0 0 18px;
  padding:16px 18px;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(255,184,88,.12),rgba(158,121,255,.12));
  border:1px solid rgba(255,215,154,.18);
}
.charge-needed-banner b{
  display:block;
  font-size:18px;
}
.charge-needed-banner span{
  display:block;
  margin-top:6px;
  color:#d8d0e8;
}
.charge-needed-banner p{
  margin:8px 0 10px;
  color:#bfb7cf;
}

.ai-install-body{
  min-height:100vh;
  background:
    radial-gradient(circle at 20% 0%,rgba(138,111,255,.18),transparent 34%),
    #0d0b16;
  color:#fff;
}
.ai-install-shell{
  width:min(680px,calc(100% - 24px));
  margin:0 auto;
  padding:24px 0 50px;
}
.ai-install-brand{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin:0 0 18px;
  color:#fff;
  text-decoration:none;
}
.ai-install-brand b{
  font-size:27px;
}
.ai-install-brand span{
  font-size:12px;
  font-weight:800;
  color:#bdb4d1;
}
.ai-install-card{
  padding:22px;
  border-radius:26px;
  background:linear-gradient(180deg,#171329,#110f1e);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 26px 80px rgba(0,0,0,.30);
}
.ai-install-icon{
  width:104px;
  height:104px;
  margin:0 0 16px;
  border-radius:27px;
  overflow:hidden;
  box-shadow:0 16px 36px rgba(0,0,0,.28);
}
.ai-install-icon img{
  display:block;
  width:100%;
  height:100%;
}
.ai-install-card h1{
  margin:10px 0 6px;
  font-size:34px;
}
.ai-install-card>p{
  color:#beb7cd;
  line-height:1.6;
}
.ai-install-price-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin:18px 0 12px;
  padding:12px 14px;
  border-radius:14px;
  background:#191529;
}
.ai-install-price-row span{
  color:#a9a1bb;
}
.ai-install-price-row strong{
  color:#8fe9c0;
}
.mobile-pwa-install{
  width:100%;
  min-height:58px;
  font-size:17px;
  background:linear-gradient(135deg,#5ee4a9,#65bfff);
  color:#08151b!important;
}
.ai-install-status{
  margin:10px 0 0;
  text-align:center;
  color:#aea6bf;
  font-size:13px;
}
.ai-install-help{
  margin-top:18px;
  padding:16px;
  border-radius:18px;
  background:#171328;
  border:1px solid rgba(255,255,255,.06);
}
.ai-install-help h2{
  margin:0 0 10px;
  font-size:18px;
}
.ai-install-help p{
  margin:7px 0;
  color:#c5bdd4;
  line-height:1.55;
}
@media(max-width:620px){
  .mobile-install-price strong{font-size:22px}
  .ai-install-shell{width:calc(100% - 14px);padding-top:12px}
  .ai-install-card{padding:17px 14px;border-radius:21px}
  .ai-install-card h1{font-size:28px}
  .ai-install-icon{width:88px;height:88px;border-radius:23px}
}


/* ===== R31 AI NEWS + SCREEN CAPTURE ===== */
html,body,input,textarea,select,button,a{ -webkit-user-select:text; user-select:text; }
button,.btn,.menu-btn,.capture-fab,.news-topics a{ -webkit-user-select:none; user-select:none; }

.news-hero{padding:30px 28px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,#211a39,#11101d);box-shadow:var(--shadow)}
.news-hero h1{font-size:clamp(34px,6vw,56px);line-height:1.05;margin:14px 0 10px;letter-spacing:-2px}
.news-hero p{margin:0;color:#c7c0d5;max-width:760px;font-size:16px}
.news-updated{margin-top:13px;color:#9189a6;font-size:12px}
.news-topics{display:flex;gap:8px;overflow:auto;padding:16px 0 8px;scrollbar-width:none}
.news-topics::-webkit-scrollbar{display:none}
.news-topics a{white-space:nowrap;padding:9px 12px;border-radius:999px;border:1px solid var(--line);background:#171426;color:#bcb4ca;font-size:13px;font-weight:800}
.news-topics a.on{background:linear-gradient(135deg,var(--accent),#6e9cff);color:#100d18;border-color:transparent}
.news-admin{margin:8px 0 14px}
.news-list{display:grid;gap:11px;margin-top:12px}
.news-card{display:grid;grid-template-columns:46px minmax(0,1fr) 40px;gap:14px;align-items:center;padding:19px 18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#181526,#12101d)}
.news-rank{font-size:16px;font-weight:1000;color:#7b718e}
.news-meta{display:flex;gap:10px;flex-wrap:wrap;color:#91899f;font-size:11px;font-weight:800}
.news-card h2{font-size:18px;line-height:1.4;margin:5px 0 4px;letter-spacing:-.4px}
.news-card h2 a:hover{text-decoration:underline}
.news-card p{margin:0;color:#817a8f;font-size:12px}
.news-go{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#26203a;color:#d8ceff;font-size:20px}
.news-explain{margin-top:26px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#141120}
.news-explain h2{margin:0 0 6px;font-size:18px}
.news-explain p{margin:0;color:#9f98ac;font-size:13px}
.home-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.home-news-card{display:flex;min-height:145px;flex-direction:column;padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#191627,#12101d)}
.home-news-card:hover{border-color:#66578f;transform:translateY(-2px)}
.home-news-card .news-source{color:#9f96af;font-size:11px;font-weight:800}
.home-news-card b{margin-top:9px;font-size:16px;line-height:1.45}
.home-news-card small{margin-top:auto;padding-top:12px;color:#b8aaff}

.capture-fab{position:fixed;right:18px;bottom:18px;z-index:9999;display:flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:11px 14px;background:rgba(22,18,37,.94);backdrop-filter:blur(12px);color:#fff;font:800 13px "Malgun Gothic",sans-serif;box-shadow:0 12px 34px rgba(0,0,0,.35);cursor:pointer}
.capture-fab:hover{transform:translateY(-1px)}
.capture-fab:disabled{opacity:.55;cursor:wait}
.capture-toast{position:fixed;left:50%;bottom:78px;z-index:10000;transform:translateX(-50%);max-width:min(90vw,520px);padding:10px 14px;border-radius:12px;background:#100d19;color:#fff;border:1px solid #403657;font-size:13px;box-shadow:0 10px 32px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:.2s}
.capture-toast.show{opacity:1}
body.capture-running .capture-fab,body.capture-running .capture-toast{visibility:hidden!important}

@media(max-width:900px){.home-news-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){
  .news-hero{padding:23px 17px;border-radius:19px}
  .news-card{grid-template-columns:34px minmax(0,1fr) 30px;gap:9px;padding:15px 12px}
  .news-card h2{font-size:16px}
  .news-card p{display:none}
  .news-go{width:30px;height:30px;font-size:17px}
  .home-news-grid{grid-template-columns:1fr}
  .home-news-card{min-height:118px}
  .capture-fab{right:12px;bottom:12px;padding:10px 12px}
  .capture-fab span{display:inline}
}


/* ===== R32 엄마/아빠 AI 아들·딸 호칭 선택 ===== */
body.role-modal-open{overflow:hidden}
.parent-role-current{margin:14px 0;padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:#151220;display:grid;grid-template-columns:1fr auto;gap:3px 10px;align-items:center}
.parent-role-current span{font-size:11px;color:#968da5}
.parent-role-current b{grid-column:1;font-size:14px}
.parent-role-change{grid-column:2;grid-row:1/3;border:0;border-radius:10px;padding:8px 10px;background:#28213a;color:#d8cdf0;font-weight:800;cursor:pointer}
.parent-role-modal[hidden]{display:none!important}
.parent-role-modal{position:fixed;inset:0;z-index:20000;display:grid;place-items:center;padding:20px}
.parent-role-backdrop{position:absolute;inset:0;background:rgba(5,4,10,.78);backdrop-filter:blur(8px)}
.parent-role-panel{position:relative;width:min(520px,100%);padding:28px;border:1px solid #403653;border-radius:26px;background:linear-gradient(160deg,#20192f,#110f19);box-shadow:0 30px 80px rgba(0,0,0,.5);text-align:center}
.parent-role-emoji{font-size:54px;line-height:1;margin-bottom:10px}
.parent-role-panel h2{font-size:29px;margin:12px 0 7px;letter-spacing:-1px}
.parent-role-panel>p{margin:0 auto 20px;max-width:420px;color:#aaa1b7;font-size:14px;line-height:1.6}
.parent-role-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.parent-role-choice{display:flex;min-height:155px;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px solid #433953;border-radius:19px;background:#171321;color:#fff;cursor:pointer;padding:17px}
.parent-role-choice:hover{border-color:#8d73c0;transform:translateY(-2px);background:#201832}
.parent-role-choice:disabled{opacity:.55;cursor:wait;transform:none}
.parent-role-choice>span{font-size:38px}
.parent-role-choice b{font-size:17px}
.parent-role-choice small{font-size:12px;color:#a69db1}
.parent-role-choice.son:hover{box-shadow:0 0 0 1px rgba(126,166,255,.18) inset}
.parent-role-choice.daughter:hover{box-shadow:0 0 0 1px rgba(255,146,197,.18) inset}
.parent-role-error{min-height:19px;margin-top:12px;color:#ff9b9b;font-size:12px}
.parent-greeting-toast{position:fixed;left:50%;top:18%;z-index:21000;transform:translate(-50%,-8px);max-width:min(90vw,520px);padding:15px 19px;border-radius:16px;background:#1e182c;border:1px solid #675681;color:#fff;font-size:15px;font-weight:800;box-shadow:0 16px 50px rgba(0,0,0,.4);opacity:0;transition:.22s}
.parent-greeting-toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:560px){
  .parent-role-panel{padding:23px 16px;border-radius:22px}
  .parent-role-panel h2{font-size:25px}
  .parent-role-buttons{grid-template-columns:1fr 1fr;gap:9px}
  .parent-role-choice{min-height:142px;padding:12px 8px}
  .parent-role-choice b{font-size:15px}
  .parent-role-choice small{font-size:10px;line-height:1.35}
}


/* ===== R33 모바일 전체메뉴 정리 ===== */
.mobile-menu-panel{display:none}
.menu-btn span{font:inherit}

@media(max-width:860px){
  .top-inner{min-height:64px;gap:8px}
  .brand{min-width:0}
  .brand-copy b{font-size:17px}
  .brand-domain{font-size:10px}
  .mobile-market-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 13px;border-radius:12px;font-size:13px;font-weight:900;white-space:nowrap}
  .menu-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:5px;min-height:40px;padding:0 12px;border-radius:12px;font-size:13px;font-weight:900;white-space:nowrap}
  .primary-nav{display:none!important}
  .utility{display:none!important}

  .mobile-menu-panel[hidden]{display:none!important}
  .mobile-menu-panel{display:block;position:fixed;z-index:19000;left:10px;right:10px;top:max(10px,env(safe-area-inset-top));max-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;padding:14px;border:1px solid #403752;border-radius:24px;background:rgba(18,15,28,.985);box-shadow:0 24px 80px rgba(0,0,0,.58);backdrop-filter:blur(18px)}
  body.mobile-menu-open:before{content:"";position:fixed;inset:0;z-index:18990;background:rgba(5,4,10,.72);backdrop-filter:blur(4px)}
  body.mobile-menu-open{overflow:hidden}

  .mobile-menu-head{position:sticky;top:-14px;z-index:2;display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;margin:-14px -14px 12px;padding:17px 16px 13px;background:linear-gradient(180deg,#171321 82%,rgba(23,19,33,0));border-radius:24px 24px 0 0}
  .mobile-menu-head b{font-size:21px;letter-spacing:-.6px}
  .mobile-menu-head>span{grid-column:1;color:#9f96ae;font-size:11px}
  .mobile-menu-close{grid-column:2;grid-row:1/3;width:42px;height:42px;border:1px solid #40374d;border-radius:13px;background:#252031;color:#fff;font-size:18px;cursor:pointer}

  .mobile-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .mobile-menu-grid a{display:grid;grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;align-items:center;min-height:72px;padding:11px 10px;border:1px solid #342d43;border-radius:16px;background:linear-gradient(180deg,#1b1726,#14111d);color:#f5f1fa}
  .mobile-menu-grid a>span{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#272132;font-size:19px}
  .mobile-menu-grid a>b{align-self:end;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;letter-spacing:-.3px}
  .mobile-menu-grid a>small{align-self:start;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8f879b;font-size:10px}
  .mobile-menu-grid a.on{border-color:#8e74c6;background:linear-gradient(180deg,#292037,#1a1426);box-shadow:0 0 0 1px rgba(179,146,255,.12) inset}
  .mobile-menu-grid a.on>span{background:#3a2c52}
  .mobile-account-bar{border-top:1px solid rgba(255,255,255,.04)}
}

@media(max-width:390px){
  .brand-copy small{display:none}
  .mobile-market-link{padding:0 10px}
  .menu-btn{padding:0 10px}
  .menu-btn span{display:none}
  .mobile-menu-panel{left:7px;right:7px}
  .mobile-menu-grid{gap:7px}
  .mobile-menu-grid a{min-height:68px;padding:9px 8px}
  .mobile-menu-grid a>b{font-size:13px}
}


/* ===== R34 모바일: 메뉴를 숨기지 않고 박스 형태로 항상 한눈에 표시 ===== */
.mobile-quick-wrap{display:none}

@media(max-width:860px){
  /* 상단 햄버거는 보조 수단으로 남기되, 실제 주요 메뉴는 아래에 항상 펼쳐둠 */
  .mobile-quick-wrap{
    display:block;
    border-top:1px solid rgba(255,255,255,.05);
    border-bottom:1px solid rgba(255,255,255,.07);
    background:linear-gradient(180deg,#12101b,#0f0d16);
    padding:12px 0 14px;
  }
  .mobile-quick-title{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:10px;
    margin:0 0 9px;
    padding:0 2px;
  }
  .mobile-quick-title b{
    font-size:16px;
    letter-spacing:-.5px;
    color:#fff;
  }
  .mobile-quick-title span{
    font-size:10px;
    color:#8f879a;
    white-space:nowrap;
  }
  .mobile-quick-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }
  .mobile-quick-grid a{
    position:relative;
    min-width:0;
    min-height:67px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:8px 5px;
    border:1px solid #332c42;
    border-radius:14px;
    background:linear-gradient(180deg,#1b1726,#15121f);
    color:#f7f3fb;
    box-shadow:0 4px 14px rgba(0,0,0,.13);
    text-align:center;
  }
  .mobile-quick-grid a:active{
    transform:scale(.98);
  }
  .mobile-quick-grid a span{
    font-size:21px;
    line-height:1;
  }
  .mobile-quick-grid a b{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:12px;
    line-height:1.15;
    letter-spacing:-.35px;
  }
  .mobile-quick-grid a.on{
    border-color:#9578d0;
    background:linear-gradient(180deg,#302641,#21192e);
    box-shadow:0 0 0 1px rgba(186,151,255,.13) inset,0 5px 18px rgba(0,0,0,.18);
  }
  .mobile-quick-grid a.hot{
    border-color:#6d5aa0;
    background:linear-gradient(180deg,#2b2141,#1d172b);
  }
  .mobile-quick-grid a.hot:after{
    content:"인기";
    position:absolute;
    right:5px;
    top:5px;
    padding:2px 5px;
    border-radius:999px;
    background:#8c6bff;
    color:#fff;
    font-size:8px;
    font-weight:900;
  }

  /* 메뉴가 이미 화면에 펼쳐져 있으므로 상단 버튼은 덜 눈에 띄게 */
  .menu-btn{font-size:12px}
}

@media(max-width:380px){
  .mobile-quick-grid{gap:6px}
  .mobile-quick-grid a{
    min-height:63px;
    border-radius:12px;
    padding:7px 3px;
  }
  .mobile-quick-grid a span{font-size:19px}
  .mobile-quick-grid a b{font-size:11px}
  .mobile-quick-title span{display:none}
}
