[hidden]{display:none!important;}
:root{--red:#ed1c24;--ink:#171717;--muted:#747474;--line:#e7e2dd;--warm:#f7f5f2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,"Noto Sans KR",sans-serif}.shell{width:min(1440px,calc(100% - 64px));margin:0 auto}button,select,textarea{font:inherit}.fixed-head-block{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);box-shadow:0 1px 0 var(--line);backdrop-filter:blur(12px)}.brand-row{min-height:150px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:14px 0}.brand-logo{width:min(660px,55vw);height:auto;display:block}.head-actions{display:flex;gap:9px;align-items:center}.head-actions select,.ghost,.dark,.red,.attach,.outline{border:1px solid var(--line);background:#fff;border-radius:999px;padding:11px 17px;font-weight:700;cursor:pointer}.dark{background:#171717;color:#fff;border-color:#171717}.main-nav{height:54px;display:flex;align-items:center;gap:34px}.main-nav a{color:#777;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:.02em}.main-nav a.active{color:var(--red)}.main-nav .pro-link{margin-left:auto;color:#171717}.notice{border-top:1px solid var(--line);background:#faf9f7}.notice-in{height:40px;display:flex;align-items:center;gap:8px;font-size:14px}.important{color:var(--red);font-weight:900}.weather{margin-left:auto;color:#666}.page-body{padding-top:38px;padding-bottom:80px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.eyebrow{color:var(--red);font-size:12px;font-weight:900;letter-spacing:.17em}.section-heading h1,.section-heading h2{margin:6px 0 0;font-size:29px}.section-heading p{color:var(--muted);font-size:15px}.service-count{display:flex;align-items:baseline;gap:5px}.service-count strong{font-size:37px}.service-count span{color:#777}.price-line{margin:22px 0 8px;display:grid;grid-template-columns:1fr auto 1fr;color:#999;font-size:11px;text-transform:uppercase;letter-spacing:.13em}.price-line span:last-child{text-align:right}.price-line span:nth-child(2):before,.price-line span:nth-child(2):after{content:"";display:inline-block;width:70px;height:1px;background:#ddd;vertical-align:middle;margin:0 10px}.services{display:grid;grid-template-columns:repeat(8,1fr);gap:9px}.services button{position:relative;min-height:92px;border:1px solid var(--line);border-radius:15px;background:#fff;text-align:left;padding:14px;cursor:pointer;transition:.2s}.services button:hover,.services button.selected{border-color:var(--red);transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.06)}.services b,.services small,.services em{display:block}.services small{margin-top:8px;color:#777}.services em{margin-top:6px;color:#a9783e;font-size:10px;font-style:normal;font-weight:900}.status-dot{position:absolute;right:12px;top:12px;width:7px;height:7px;border-radius:50%;background:#36b56b}.prompt-box{margin-top:28px;border:2px solid #222;border-radius:21px;padding:20px;box-shadow:0 13px 38px rgba(0,0,0,.06)}.prompt-top{display:flex;justify-content:space-between;font-size:13px;color:#777}.prompt-top b{color:#171717}.prompt-box textarea{width:100%;height:105px;resize:none;border:0;outline:0;padding:20px 0;font-size:22px;font-weight:700}.prompt-box textarea::placeholder{color:#aaa}.prompt-actions{display:flex;justify-content:space-between;align-items:center}.prompt-actions>div{display:flex;gap:8px}.red{background:var(--red)!important;border-color:var(--red)!important;color:#fff!important}.attach{border:0;padding-left:0}.keywords{display:flex;align-items:center;gap:11px;margin:25px 0 55px;white-space:nowrap;overflow:auto}.keywords b{font-size:14px}.keywords span{font-size:13px;color:#555}.keywords i{font-style:normal;color:var(--red);font-weight:900;margin-right:4px}.catalog{border-top:1px solid var(--line);padding-top:42px}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}.category-grid article{background:var(--warm);padding:23px;border-radius:17px;min-height:210px}.category-icon{color:var(--red);font-size:23px}.category-grid h3{margin:13px 0 10px}.category-grid p{color:#666;font-size:14px;line-height:1.8}.category-grid button{border:0;background:none;padding:8px 0;font-weight:800;cursor:pointer}footer{background:#171717;color:#aaa;padding:28px 0;font-size:13px}footer b{color:#fff}

/* Admin */.admin-shell{display:flex;min-height:100vh;background:#f5f4f1}.admin-side{position:fixed;inset:0 auto 0 0;width:242px;background:#181817;color:#fff;padding:22px 16px;display:flex;flex-direction:column}.admin-brand{display:flex;gap:12px;align-items:center;padding:0 8px 22px;border-bottom:1px solid #333}.admin-brand img{width:42px;height:42px;border-radius:50%}.admin-brand b,.admin-brand span{display:block}.admin-brand b{font-size:22px;color:var(--red);font-style:italic}.admin-brand span{font-size:9px;letter-spacing:.18em;color:#999}.admin-side nav{margin-top:17px;overflow:auto}.admin-side nav button{width:100%;display:flex;align-items:center;gap:12px;border:0;border-radius:9px;padding:9px 10px;background:transparent;color:#aaa;text-align:left;cursor:pointer;font-size:13px}.admin-side nav button i{font-size:10px;font-style:normal;color:#666}.admin-side nav button:hover,.admin-side nav button.on{background:#30302e;color:#fff}.admin-side nav button.on i{color:var(--red)}.admin-side>a{margin-top:auto;padding:12px;color:#aaa;text-decoration:none;font-size:13px}.admin-main{margin-left:242px;width:calc(100% - 242px)}.admin-top{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 32px}.admin-top>div{display:flex;align-items:center;gap:12px}.admin-top span,.admin-top b{font-size:12px}.admin-top span{color:#888}.admin-top button{border:0;border-radius:999px;background:#eaf7ed;color:#23854a;padding:8px 12px;font-size:12px;font-weight:800}.avatar{width:34px;height:34px;border-radius:50%;background:#181817;color:#fff!important;display:grid;place-items:center}.admin-content{padding:30px 32px 60px}.admin-title{display:flex;justify-content:space-between;align-items:end}.admin-title>div:last-child{display:flex;gap:8px}.admin-title span{font-size:11px;font-weight:900;letter-spacing:.15em;color:var(--red)}.admin-title h1{font-size:31px;margin:5px 0}.admin-title p{font-size:13px;color:#888;margin:0}.admin-title button{font-size:13px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:25px 0}.stat-grid article,.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.stat-grid article{position:relative;min-height:132px}.stat-grid span,.stat-grid strong,.stat-grid em{display:block}.stat-grid span{color:#777;font-size:12px}.stat-grid strong{font-size:28px;margin-top:12px}.stat-grid em{color:#29975b;font-size:11px;font-style:normal}.stat-grid em.down{color:var(--red)}.mini-bars{position:absolute;right:15px;bottom:17px;height:54px;display:flex;align-items:flex-end;gap:3px}.mini-bars i{display:block;width:4px;background:#dedbd5;border-radius:2px}.mini-bars i:last-child{background:var(--red)}.admin-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.panel.wide{grid-column:span 2}.panel-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:16px}.panel-head h2{font-size:16px;margin:0}.panel-head p{font-size:11px;color:#999;margin:5px 0 0}.panel-head button{border:0;background:transparent;font-size:11px;font-weight:800}.panel table{width:100%;border-collapse:collapse;font-size:12px}.panel th,.panel td{text-align:left;border-top:1px solid #eee;padding:12px 7px}.panel th{color:#999;font-weight:500}.ok,.check{display:inline-block!important;width:max-content;border-radius:999px;padding:4px 8px;background:#e9f7ed;color:#298453!important}.check{background:#fff2df;color:#a06b17!important}.donut{margin:12px auto 18px;width:132px;height:132px;border-radius:50%;background:conic-gradient(var(--red) 0 68%,#e8e5df 68%);display:grid;place-items:center}.donut>div{width:91px;height:91px;border-radius:50%;background:#fff;display:grid;place-content:center;text-align:center}.donut b{font-size:25px}.donut span{font-size:10px;color:#999}.legend,.notice-row,.ticket{display:flex;justify-content:space-between;border-top:1px solid #eee;padding:10px 0;font-size:11px}.notice-row b{color:#a9783e}.ticket b{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#f2efea;color:var(--red)}
@media(max-width:900px){.shell{width:min(100% - 28px,720px)}.fixed-head-block{position:static}.brand-row{min-height:auto;align-items:flex-start;padding:14px 0 9px}.brand-logo{width:67%;max-width:520px}.head-actions select{max-width:98px}.head-actions .ghost{display:none}.head-actions .dark{padding:9px 12px;font-size:12px}.main-nav{overflow:auto;gap:23px}.main-nav .pro-link{display:none}.notice-in{height:36px}.weather{display:none}.services{grid-template-columns:repeat(4,1fr)}.category-grid{grid-template-columns:repeat(2,1fr)}.admin-side{position:static;width:74px;padding:18px 8px}.admin-brand div,.admin-side nav button:not(.on){font-size:0}.admin-side nav button{justify-content:center}.admin-side nav button i{font-size:10px}.admin-side>a{font-size:0}.admin-main{margin-left:0;width:calc(100% - 74px)}.admin-content{padding:22px 18px}.stat-grid{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}.panel.wide{grid-column:auto}.admin-title>div:last-child{display:none}}
@media(max-width:560px){.brand-row{display:block}.brand-logo{width:100%}.head-actions{margin-top:12px;justify-content:flex-end}.main-nav{height:46px}.page-body{padding-top:25px}.section-heading{align-items:start}.section-heading h1,.section-heading h2{font-size:24px}.services{grid-template-columns:repeat(2,1fr)}.prompt-box textarea{font-size:18px}.prompt-actions{align-items:end}.prompt-actions .ghost{display:none}.category-grid{grid-template-columns:1fr}.section-heading>p{display:none}.admin-side{display:none}.admin-main{width:100%}.admin-top{padding:0 16px}.admin-content{padding:18px 12px}.admin-title h1{font-size:25px}.stat-grid{grid-template-columns:1fr 1fr}.stat-grid article{min-height:115px;padding:14px}.mini-bars{display:none}}

/* PPT 기준 AI 목록과 보통 굵기 고딕체 */
body,button,select,textarea{font-family:"Malgun Gothic","Apple SD Gothic Neo",Arial,sans-serif;font-weight:400}.main-nav a,.head-actions button,.eyebrow,.section-heading h1,.section-heading h2,.service-count strong,.prompt-box textarea,.prompt-top b,.keywords b,.keywords i,footer b{font-weight:400}.service-strip{padding-bottom:22px}.catalog{margin-top:48px}.category-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:24px;margin-top:28px}.category-column{background:transparent!important;border:0;border-radius:0!important;padding:0!important;min-height:0!important}.category-column h3{margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid var(--line);font-size:17px;font-weight:400}.category-column div{display:flex;flex-direction:column;align-items:flex-start;gap:0}.category-column button{width:100%;border:0;background:transparent;padding:7px 0;text-align:left;font-size:15px;font-weight:400;color:#222;cursor:pointer}.category-column button:hover{color:var(--red)}
@media(max-width:1100px){.category-grid{grid-template-columns:repeat(3,1fr);row-gap:40px}}
@media(max-width:700px){.category-grid{grid-template-columns:repeat(2,1fr);gap:28px 20px}}
.fixed-service{height:38px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);font-size:14px;font-weight:400;color:#555}.fixed-service span{font-size:14px;font-weight:400}.head-actions select,.head-actions select option{font-weight:400}
.fixed-keywords{height:42px;display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);white-space:nowrap;overflow-x:auto;font-size:13px}.keyword-title{color:#333}.keyword-item{display:flex;align-items:center;gap:4px;color:#555}.keyword-item i{font-style:normal;color:var(--red)}.keyword-item b{font-weight:400}.keyword-item em{font-size:10px;font-style:normal}.keyword-item em.up{color:#df3131}.keyword-item em.down{color:#3276c8}.keyword-item em.same{color:#999}
.ai-check{width:100%;display:flex;align-items:center;gap:8px;padding:7px 0;font-size:15px;cursor:pointer}.ai-check input{appearance:none;width:15px;height:15px;margin:0;border:1px solid #aaa;border-radius:3px;background:#fff;display:grid;place-content:center;flex:0 0 auto}.ai-check input:checked{background:var(--red);border-color:var(--red)}.ai-check input:checked:after{content:"✓";color:#fff;font-size:12px;line-height:1}.message-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.35);display:grid;place-items:center;padding:20px}.message-dialog{width:min(360px,100%);background:#fff;border-radius:15px;padding:28px;text-align:center;box-shadow:0 22px 70px rgba(0,0,0,.24)}.message-dialog h3{margin:0 0 15px;font-size:18px;font-weight:400}.message-dialog p{margin:0 0 24px;font-size:16px}.message-dialog button{min-width:90px;font-weight:400}
.base-ai-column{padding-right:20px!important;border-right:1px solid var(--line)!important}.fixed-ai{cursor:not-allowed;flex-wrap:wrap}.fixed-ai input:disabled{opacity:1}.fixed-ai span{color:var(--red)}.fixed-ai em{width:100%;padding-left:23px;color:#999;font-size:11px;font-style:normal}
.head-actions select,.head-actions .ghost,.head-actions .dark{height:38px;padding:0 15px;font-size:14px;line-height:38px;font-weight:400}.main-nav a.active{font-weight:700;color:var(--red)}
.brand-logo{width:min(535px,44.55vw)}
@media(max-width:900px){.brand-logo{width:54%;max-width:421px}}
@media(max-width:560px){.brand-logo{width:81%}}
.local-db{margin-top:24px!important;width:100%;display:flex!important;flex-direction:column!important;align-items:center!important;gap:8px!important;padding:16px 8px;border-top:1px solid var(--line)}.local-db svg{width:52px;height:52px;fill:none;stroke:#8e6a42;stroke-width:2;stroke-linejoin:round}.local-db span{font-size:13px;color:#555}
.prompt-top.usage-only{justify-content:flex-end}
.brand-row{position:relative;padding-top:56px}.head-actions{position:absolute;top:10px;right:0}
@media(max-width:560px){.brand-row{padding-top:58px}.head-actions{top:10px;right:0;margin-top:0}}

/* Keep the logo and account controls on the same top guide. */
.brand-row{padding-top:14px;align-items:flex-start}
.head-actions{top:14px}
@media(max-width:560px){
  .brand-row{padding-top:14px}
  .head-actions{top:14px}
}

/* Stronger text contrast across the public and admin screens. */
:root{--ink:#111;--muted:#2f2f2f}
.main-nav a,.weather,.section-heading p,.service-count span,
.price-line,.services small,.prompt-top,.prompt-box textarea::placeholder,
.keywords span,.category-grid p,.fixed-service,.keyword-item,
.fixed-ai em,.local-db span{color:#2f2f2f}
.keyword-title,.category-column button{color:#171717}
.admin-top span,.admin-title p,.stat-grid span,.panel-head p,
.panel th,.donut span{color:#3a3a3a}
.admin-side nav button,.admin-side>a,.admin-brand span{color:#d0d0d0}
.weather{display:flex;align-items:center;gap:14px;white-space:nowrap;font-size:13px}.weather span+span{padding-left:14px;border-left:1px solid #ddd}
@media(max-width:900px){.notice-in{overflow-x:auto;white-space:nowrap}.weather{display:flex;margin-left:18px}}


/* MAP_UI_LAYOUT_20260824 */
.admin-link{
  display:inline-flex;
  height:38px;
  align-items:center;
  padding:0 15px;
  border:1px solid var(--line);
  border-radius:999px;
  color:#171717;
  background:#fff;
  text-decoration:none;
  font-size:14px;
  font-weight:400;
  white-space:nowrap;
}
.admin-link:hover{border-color:#171717}

.nav-line{
  display:flex;
  align-items:center;
  min-height:54px;
  gap:24px;
}
.nav-line .main-nav{
  flex:1 1 auto;
  width:auto;
  margin:0;
}
.nav-line .weather{
  flex:0 0 auto;
  margin-left:auto;
}
.notice-title{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media(max-width:900px){
  .nav-line{
    display:block;
    min-height:0;
  }
  .nav-line .main-nav{
    height:46px;
    overflow-x:auto;
    overflow-y:hidden;
    white-space:nowrap;
  }
  .nav-line .weather{
    display:flex;
    width:100%;
    min-height:38px;
    margin:0;
    padding:0 0 8px;
    overflow-x:auto;
    overflow-y:hidden;
  }
}

@media(max-width:560px){
  .head-actions{gap:6px}
  .admin-link{
    height:34px;
    padding:0 10px;
    font-size:12px;
  }
  .head-actions select,
  .head-actions .dark{
    height:34px;
    padding:0 10px;
    line-height:34px;
  }
  .nav-line .weather{font-size:12px}
}


/* MAP_LOCAL_DB_UI_20260824 */
.local-db-guide{
  width:100%;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.category-column .local-db-guide{
  display:block;
}
.local-db-guide p{
  margin:0 0 8px;
  color:#555;
  font-size:12px;
  line-height:1.6;
  word-break:keep-all;
}
.local-db-guide p b{
  color:#171717;
}
.category-column .local-db-actions{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:6px;
  width:100%;
  margin-top:12px;
}
.local-db-actions button{
  width:100%;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:#333;
  text-align:left;
  font-size:12px;
}
.local-db-actions .db-choice.selected{
  border-color:var(--red);
  color:var(--red);
  background:#fff7f7;
}
.local-db-actions .db-open{
  margin-top:4px;
  border-color:#171717;
  background:#171717;
  color:#fff;
  text-align:center;
}
.local-db-dialog{
  width:min(480px,calc(100% - 32px));
}
.folder-title{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:12px;
}
.folder-title h3,
.folder-title p{
  margin:0;
}
.folder-title p{
  margin-top:4px;
  color:#888;
  font-size:12px;
}
.folder-icon{
  color:#d5a637;
  font-size:31px;
}
.empty-folder{
  margin:20px 0;
  padding:32px 16px;
  border:1px dashed #ccc;
  border-radius:10px;
  color:#999;
  text-align:center;
  font-size:13px;
}


/* MAP_DATA_STANDARD_INFO_20260824 */
.local-db-actions .db-info{
  margin-top:0;
  border:0;
  background:transparent;
  color:#666;
  text-align:center;
  text-decoration:underline;
  text-underline-offset:3px;
}
.local-db-actions .db-info:hover{
  color:var(--red);
}
.standard-info-dialog p{
  margin:14px 0 20px;
  color:#555;
  font-size:14px;
  line-height:1.75;
  word-break:keep-all;
}


/* MAP_LOCAL_DB_MENU_FONT_20260824 */
.local-db-guide p{
  font-size:15px;
  line-height:1.65;
}
.local-db-actions button,
.local-db-actions .db-choice,
.local-db-actions .db-open,
.local-db-actions .db-info{
  font-size:15px;
  line-height:1.45;
}
.local-db-actions{
  gap:8px!important;
}


/* MAP_LOCAL_DB_DROP_UI_20260824 */
.local-db-guide{
  border:1px dashed #c9c5bf;
  border-radius:10px;
  padding:13px;
  transition:.2s;
}
.local-db-guide.dragging{
  border-color:var(--red);
  background:#fff5f5;
  box-shadow:0 0 0 3px rgba(237,28,36,.08);
}
.save-method-dialog p{
  margin:12px 0 20px;
  color:#555;
  font-size:15px;
  line-height:1.6;
  word-break:break-all;
}
.save-method-actions{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.save-method-actions button{
  width:100%;
  font-size:15px;
}
.save-cancel{
  width:100%;
  margin-top:8px;
  padding:9px;
  border:0;
  background:transparent;
  color:#777;
  cursor:pointer;
  font-size:14px;
}

/* My-Local-DB 안내 영역 테두리 제거 */
.local-db-guide{
  border:0!important;
  border-radius:0!important;
  padding:13px 0!important;
  box-shadow:none!important;
}
.local-db-guide.dragging{
  border:0!important;
  background:#fff5f5;
  box-shadow:none!important;
}


/* MAP_SELECTED_AI_SERVICES_20260824 */
.selected-services-frame{
  margin-top:30px;
  padding:20px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.selected-services-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:14px;
}
.selected-services-title span{
  color:#171717;
  font-size:15px;
  font-weight:700;
}
.selected-services-title em{
  color:#777;
  font-size:13px;
  font-style:normal;
}
.selected-services-list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:9px;
  min-height:38px;
}
.selected-service-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 13px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  font-size:14px;
}
.selected-service-item i{
  display:grid;
  width:20px;
  height:20px;
  place-items:center;
  border-radius:50%;
  background:var(--red);
  color:#fff;
  font-size:11px;
  font-style:normal;
}
.selected-service-item b{
  font-weight:400;
}
.selected-empty{
  color:#999;
  font-size:14px;
}

@media(max-width:560px){
  .selected-services-frame{
    margin-top:22px;
    padding:16px 0;
  }
  .selected-services-list{
    gap:7px;
  }
  .selected-service-item{
    padding:8px 10px;
    font-size:13px;
  }
}


/* MAP_RESULT_SIMPLIFY_20260824 */
.result-selected .result-selected-name{
  border-color:var(--red);
  color:var(--red);
  font-weight:700;
}
.result-selected .result-selected-name i{
  display:none;
}
.ai-result-card{
  grid-template-columns:180px minmax(0,1fr) 120px!important;
  align-items:start;
}
.ai-result-card .result-number,
.ai-result-card .result-name>i,
.ai-result-card .result-actions,
.ai-result-card .source-count{
  display:none!important;
}
.ai-result-card .result-name{
  padding-top:2px;
}
.ai-result-card .result-name b{
  color:var(--red);
  font-size:17px;
}
.result-text p{
  margin:0 0 9px;
  color:#222;
  font-size:14px;
  line-height:1.7;
}
.source-link{
  padding:8px 10px;
  border:0;
  background:transparent;
  color:var(--red);
  font-size:13px;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}
.result-source-detail{
  grid-column:2/-1;
  margin-top:5px;
  padding:15px 18px;
  border-top:1px solid var(--line);
  background:#faf9f7;
}
.result-source-detail strong{
  display:block;
  margin-bottom:9px;
  font-size:14px;
}
.result-source-detail ol{
  margin:0;
  padding-left:20px;
}
.result-source-detail li{
  margin:7px 0;
  font-size:13px;
}
.result-source-detail a{
  color:#333;
  text-decoration:underline;
  text-underline-offset:3px;
}
.result-source-detail a:hover{
  color:var(--red);
}
.synthesis-action{
  display:flex;
  justify-content:center;
  padding:28px 0;
}
.synthesis-action button{
  min-width:260px;
  padding:15px 25px;
  font-size:16px;
}
.synthesis-action button:disabled{
  opacity:.8;
  cursor:default;
}

@media(max-width:700px){
  .ai-result-card{
    grid-template-columns:1fr!important;
  }
  .result-source-detail{
    grid-column:1;
  }
  .source-link{
    width:max-content;
    padding-left:0;
    text-align:left;
  }
}


/* MAP_RESULT_NAME_AND_LINK_20260824 */
.result-selected{
  display:none!important;
}
.ai-result-card .result-name{
  display:block;
}
.ai-result-card .result-name b{
  display:block;
  color:var(--red);
  font-size:15px;
  font-weight:700;
}

/* M.A.P와 통합 답변 제목 크기 통일 */
.map-summary-title{
  align-items:center;
}
.map-summary-title>span,
.map-summary-title h3{
  font-size:17px!important;
  line-height:1.3;
  font-weight:700;
}
.map-summary-title h3{
  margin:0!important;
}

/* 종합하기를 출처와 같은 링크 형태로 표시 */
.synthesis-action{
  display:block;
  padding:22px 0;
  text-align:right;
}
.synthesis-action .synthesis-link{
  min-width:0;
  padding:4px 0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--red);
  font-size:15px;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:4px;
  cursor:pointer;
}
.synthesis-action .synthesis-link:hover{
  color:#b51218;
}
.synthesis-action .synthesis-link:disabled{
  background:transparent;
  color:#777;
  opacity:1;
}


/* MAP_RESULT_VERTICAL_FLOW_20260824 */
.ai-result-list{
  gap:0;
  border-top:1px solid var(--line);
}
.ai-result-card{
  display:block!important;
  padding:22px 4px!important;
  border:0!important;
  border-bottom:1px solid var(--line)!important;
  border-radius:0!important;
}
.ai-result-card .result-name{
  display:block;
  margin-bottom:12px;
}
.ai-result-card .result-name b{
  color:var(--red);
  font-size:16px;
  font-weight:700;
}
.ai-result-card .result-text{
  display:block;
}
.ai-result-card .result-text p{
  margin:0 0 8px;
  color:#222;
  font-size:15px;
  line-height:1.75;
}
.ai-result-card .source-link{
  display:block;
  width:max-content;
  margin-top:10px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--red);
  font-size:13px;
  text-align:left;
  text-decoration:underline;
  text-underline-offset:3px;
}
.ai-result-card .result-source-detail{
  display:block;
  margin-top:13px;
  padding:14px 16px;
  border-top:1px solid var(--line);
}
.ai-result-card .result-source-detail[hidden]{
  display:none!important;
}

/* M.A.P 종합 버튼 */
.synthesis-action{
  display:flex;
  justify-content:center;
  padding:28px 0;
  text-align:center;
}
.synthesis-action .synthesis-button{
  min-width:260px;
  padding:14px 24px;
  border-radius:999px;
  font-size:15px;
  font-weight:700;
  text-decoration:none;
}
.synthesis-action .synthesis-button:disabled{
  background:#777!important;
  border-color:#777!important;
  color:#fff!important;
  opacity:1;
}

/* MAP_INTEGRATED_RESULT_UNIFY_20260824 */

/* M.A.P 통합답변을 일반 AI 결과와 동일한 형태로 */
.map-summary{
  display:block!important;
  margin-top:0!important;
  padding:22px 4px!important;
  border:0!important;
  border-top:1px solid var(--line)!important;
  border-bottom:1px solid var(--line)!important;
  border-radius:0!important;
}
.map-summary-title{
  display:block!important;
  margin:0 0 14px!important;
  padding:0!important;
}
.map-summary-title>span{
  display:none!important;
}
.map-summary-title h3{
  margin:0!important;
  color:var(--red)!important;
  font-size:16px!important;
  font-weight:700!important;
}
.map-summary>div:not(.map-summary-title){
  display:block!important;
  margin:0 0 16px!important;
  padding:0!important;
  border:0!important;
}
.map-summary>div:not(.map-summary-title):last-child{
  margin-bottom:0!important;
}
.map-summary>div:not(.map-summary-title) b{
  display:block;
  margin-bottom:5px;
  color:#171717;
  font-size:15px;
}
.map-summary>div:not(.map-summary-title) p{
  margin:0;
  color:#222;
  font-size:15px;
  line-height:1.75;
}

/* 상세 통합답변도 프레임 제거 */
.integrated-answer{
  margin-top:0!important;
  padding:22px 4px!important;
  border:0!important;
  border-bottom:1px solid var(--line)!important;
  border-radius:0!important;
}
.integrated-answer>h2{
  display:none!important;
}
.integrated-answer section{
  margin-top:22px!important;
}
.integrated-answer section:first-of-type{
  margin-top:0!important;
}
.integrated-answer h3{
  margin-bottom:8px!important;
  font-size:15px!important;
}
.integrated-answer p,
.integrated-answer li{
  font-size:15px!important;
  line-height:1.75!important;
}

/* 저장·PDF·공유를 출처 같은 텍스트 링크로 */
.result-tools{
  display:flex!important;
  justify-content:flex-end;
  align-items:center;
  gap:18px!important;
  margin-top:14px!important;
}
.result-tools button{
  width:auto!important;
  padding:3px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--red)!important;
  font-size:13px!important;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}
.result-tools button+button{
  position:relative;
}
.result-tools button+button:before{
  content:"";
  position:absolute;
  left:-9px;
  top:3px;
  width:1px;
  height:13px;
  background:var(--line);
}
.result-tools button:hover{
  color:#b51218!important;
}

@media(max-width:560px){
  .result-tools{
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:12px 18px!important;
  }
}

/* 결과 저장 메뉴 왼쪽 정렬 */
.result-tools{
  justify-content:flex-start!important;
  text-align:left!important;
}

/* M.A.P 종합 실행 전 결과 강제 숨김 */
#mapSummary[hidden],
#integratedAnswer[hidden],
#resultTools[hidden],
#followupBox[hidden]{
  display:none!important;
}

/* 결과 저장 메뉴 왼쪽 정렬 */
.result-tools{
  justify-content:flex-start!important;
  text-align:left!important;
}


/* MAP_CONTINUOUS_QUESTION_20260824 */
.continuous-question{
  margin-top:34px;
  padding-top:25px;
  border-top:1px solid var(--line);
}
.continuous-question-title{
  margin-bottom:12px;
  color:#171717;
  font-size:15px;
  font-weight:700;
}
.continuous-question .prompt-box{
  margin-top:0;
}
.continuous-question .prompt-box textarea{
  height:90px;
}

/* 상단 메뉴 및 정보줄 폰트 통일 */
.main-nav a{
  font-size:16px!important;
}

.notice-in,
.notice-in span,
.fixed-service,
.fixed-service span,
.fixed-keywords,
.fixed-keywords span,
.fixed-keywords b,
.fixed-keywords i,
.fixed-keywords em{
  font-size:15px!important;
}

.selected-services-title small{
  color:#777;
  font-size:13px;
  font-weight:400;
}


/* MAP_RESULT_HEADING_SIZE_20260824 */
.result-head .eyebrow{
  font-size:14px!important;
}
.result-head h2{
  font-size:27px!important;
}


/* MAP_RESULT_TITLE_FINAL_20260824 */
.result-head .eyebrow{
  font-size:16px!important;
  font-weight:700!important;
}
.result-head h2{
  font-size:25px!important;
}
.default-selected-service{
  border-color:var(--red)!important;
}
.default-selected-service b{
  color:var(--red)!important;
}


/* MAP_RESULT_HEADINGS_SAME_SIZE_20260824 */
.result-head .eyebrow,
.result-head h2{
  font-size:16px!important;
  font-weight:700!important;
  line-height:1.4!important;
}
.result-head h2{
  margin-top:6px!important;
}


/* MAP_RESULT_CARD_TOOLS_20260824 */
.result-inline-tools{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin-top:11px;
}
.result-inline-tools button{
  width:auto;
  padding:7px 11px;
  border:1px solid #bbb;
  border-radius:7px;
  background:#fff;
  color:#333;
  font-size:13px;
  text-decoration:none;
  cursor:pointer;
}
.result-inline-tools .source-link{
  margin:0;
  padding:7px 11px;
  border:1px solid var(--red);
  color:var(--red);
  text-decoration:none;
}
.result-inline-tools button:hover{
  border-color:var(--red);
  color:var(--red);
}

@media print{
  body.print-single-result .fixed-head-block,
  body.print-single-result .catalog,
  body.print-single-result .continuous-question,
  body.print-single-result .result-head,
  body.print-single-result .result-question,
  body.print-single-result .map-summary,
  body.print-single-result .integrated-answer,
  body.print-single-result .synthesis-action,
  body.print-single-result .result-tools,
  body.print-single-result footer,
  body.print-single-result .ai-result-card:not(.print-target){
    display:none!important;
  }
  body.print-single-result .search-results,
  body.print-single-result .ai-result-list,
  body.print-single-result .ai-result-card.print-target{
    display:block!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }
  body.print-single-result .result-inline-tools{
    display:none!important;
  }
}


/* MAP_ACCUMULATED_RESULTS_20260824 */
.result-history:empty{
  display:none;
}
.archived-result{
  margin-top:50px;
  padding-top:35px;
  border-top:1px solid var(--line);
}
.archived-result+.archived-result{
  margin-top:50px;
}
.search-results:not([hidden]){
  margin-bottom:20px;
}

/* 누적 결과도 종합하기 전에는 통합답변 숨김 */
.map-summary[hidden],
.integrated-answer[hidden],
.result-tools[hidden]{
  display:none!important;
}

/* 대표 검색어와 AI DIRECTORY 사이 간격 축소 */
.page-body{
  padding-top:22px!important;
}
#workspace>.catalog{
  margin-top:0!important;
}

@media(max-width:560px){
  .page-body{
    padding-top:16px!important;
  }
}

/* 대표 검색어 아래 상단 고정영역 구분선 제거 */
.fixed-head-block{
  box-shadow:none!important;
}

/* 대표 검색어 아래 구분선은 유지 */
.fixed-head-block{
  box-shadow:0 1px 0 var(--line)!important;
}

/* AI DIRECTORY 위쪽 선은 제거 */
.catalog,
#workspace>.catalog{
  border-top:0!important;
  box-shadow:none!important;
  padding-top:0!important;
}
.catalog:before,
.catalog:after{
  display:none!important;
  border:0!important;
  content:none!important;
}

/* 대표 검색어 하단선을 화면 전체 너비로 표시 */
.fixed-head-block{
  box-shadow:none!important;
}
.fixed-keywords{
  position:relative;
  overflow:visible;
}
.fixed-keywords:after{
  content:""!important;
  display:block!important;
  position:absolute;
  left:50%;
  bottom:0;
  width:100vw;
  height:1px;
  border:0!important;
  background:var(--line);
  transform:translateX(-50%);
  pointer-events:none;
}

/* AI DIRECTORY 위 별도 선은 제거 */
.catalog,
#workspace>.catalog{
  border-top:0!important;
}

/* 상단 전체 폭 하단선 제거 */
.fixed-head-block{
  box-shadow:none!important;
}

/* 이전에 만든 화면 전체 폭 대표검색어 선 제거 */
.fixed-keywords:after{
  display:none!important;
  content:none!important;
}

/* 대표검색어 영역 폭에 맞는 하단선만 표시 */
.fixed-keywords{
  border-bottom:1px solid var(--line)!important;
}

/* [중요] 영역 선은 기존 설정 유지 */
.notice{
  border-top:1px solid var(--line);
}

/* [중요] 위쪽 선을 콘텐츠 폭에 맞춤 */
.notice{
  border-top:0!important;
}
.notice-in{
  border-top:1px solid var(--line)!important;
}


/* MAP_FOOTER_20260824 */
.site-footer{
  margin-top:0;
  padding:34px 0 38px;
  background:#171717;
  color:#aaa;
}
.footer-inner{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.footer-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.footer-slogan,
.footer-copyright{
  margin:0;
  font-size:14px;
  line-height:1.6;
}
.footer-slogan{
  color:#ccc;
}
.footer-slogan b{
  color:#fff;
}
.footer-copyright{
  color:#999;
  white-space:nowrap;
}
.footer-disclaimer{
  max-width:1180px;
  margin:0;
  padding-top:18px;
  border-top:1px solid #343434;
  color:#888;
  font-size:13px;
  line-height:1.85;
  word-break:keep-all;
}
.footer-policy{
  display:flex;
  align-items:center;
  gap:9px;
}
.footer-policy-mark{
  color:var(--red);
}
.footer-policy label{
  color:#ccc;
  font-size:13px;
}
.footer-policy select{
  min-width:220px;
  height:36px;
  padding:0 35px 0 12px;
  border:1px solid #494949;
  border-radius:7px;
  background:#222;
  color:#ddd;
  font-size:13px;
  cursor:pointer;
}

@media(max-width:700px){
  .site-footer{
    padding:28px 0 32px;
  }
  .footer-top{
    display:block;
  }
  .footer-copyright{
    margin-top:8px;
  }
  .footer-disclaimer{
    font-size:12px;
    line-height:1.75;
  }
  .footer-policy{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .footer-policy select{
    width:100%;
  }
}

/* 서비스 관련 정책을 Copyright 줄 우측에 배치 */
.footer-inner{
  position:relative;
}
.footer-top{
  min-height:36px;
  padding-right:330px;
  padding-left:330px;
}
.footer-policy{
  position:absolute!important;
  top:0;
  right:0;
  margin:0!important;
}
.footer-copyright{
  text-align:center!important;
}

@media(max-width:900px){
  .footer-top{
    padding-right:0;
    padding-left:0;
  }
  .footer-policy{
    position:static!important;
    align-self:flex-end!important;
    margin-top:4px!important;
  }
}

/* Copyright를 전체 화면 중앙축에 고정 */
.footer-top{
  position:relative!important;
  min-height:36px;
  padding:0!important;
}
.footer-copyright{
  position:absolute;
  top:50%;
  left:50%;
  width:max-content!important;
  margin:0!important;
  transform:translate(-50%,-50%);
  text-align:center!important;
}

/* 정책 메뉴는 같은 줄 오른쪽 */
.footer-policy{
  position:absolute!important;
  top:0;
  right:0;
}

@media(max-width:700px){
  .footer-top{
    min-height:32px;
  }
  .footer-copyright{
    position:static;
    width:100%!important;
    transform:none;
  }
  .footer-policy{
    position:static!important;
    margin-left:auto!important;
  }
}

/* AI 면책 안내문 전체 중앙 정렬 */
.footer-disclaimer{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0 auto!important;
  padding-left:0!important;
  padding-right:0!important;
  text-align:center!important;
}

.footer-disclaimer span{
  display:block;
}

/* Footer 면책 안내문 폰트 1px 확대 */
.footer-disclaimer,
.footer-disclaimer span{
  font-size:14px!important;
}

@media(max-width:700px){
  .footer-disclaimer,
  .footer-disclaimer span{
    font-size:13px!important;
  }
}


/* Agent 검색창을 AI DIRECTORY 위에 배치 */
.agents-menu-panel{
  margin-bottom:32px;
  padding-bottom:28px;
  border-bottom:1px solid var(--line);
}


/* MAP_AGENT_SEARCH_DIRECT_20260824 */
#agentsSearchArea[hidden]{
  display:none!important;
}
.agents-search-area{
  margin:0 0 30px;
  padding:0 0 28px;
  border-bottom:1px solid var(--line);
}
.agents-search-area .agent-search-box{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:22px;
  padding:9px;
  border:2px solid #222;
  border-radius:16px;
  background:#fff;
}
.agents-search-area .agent-search-box input{
  flex:1;
  min-width:0;
  height:46px;
  padding:0 12px;
  border:0;
  outline:0;
  background:transparent;
  color:#171717;
  font-size:17px;
}
.agents-search-area .agent-search-box button{
  min-width:90px;
  height:44px;
}
.agents-search-area .agent-search-guide{
  margin:10px 3px 0;
  color:#777;
  font-size:13px;
}


/* Agent 검색창을 항상 표시 */
#agentsSearchArea,
#agentsSearchArea[hidden]{
  display:block!important;
}


/* AGENT_VISIBILITY_FINAL_FIX */
#agentsSearchArea[hidden]{
  display:none!important;
}
#agentsSearchArea:not([hidden]){
  display:block!important;
}


/* MAP_AGENT_CARD_GRID_20260824 */
.agent-result-area{
  margin-top:32px;
}
.agent-result-area[hidden]{
  display:none!important;
}
.agent-result-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:16px;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
}
.agent-result-header span{
  color:#171717;
  font-size:16px;
  font-weight:700;
}
.agent-result-header em{
  color:#777;
  font-size:14px;
  font-style:normal;
}
.agent-card-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.agent-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  transition:border-color .2s,transform .2s,box-shadow .2s;
}
.agent-card:hover{
  border-color:#aaa;
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(0,0,0,.06);
}
.agent-card-image{
  display:grid;
  height:150px;
  place-items:center;
  background:#f1efeb;
  color:#171717;
}
.agent-card-image span{
  display:grid;
  width:58px;
  height:58px;
  place-items:center;
  border:1px solid #aaa;
  border-radius:50%;
  background:#fff;
  font-size:18px;
}
.agent-card-image.tone-1{background:#f3eeee}
.agent-card-image.tone-2{background:#eef1ed}
.agent-card-image.tone-3{background:#efeff3}
.agent-card-image.tone-4{background:#f3f1eb}
.agent-card-body{
  padding:15px;
}
.agent-card h3{
  min-height:42px;
  margin:0;
  color:#171717;
  font-size:16px;
  line-height:1.45;
}
.agent-author{
  margin:9px 0 13px;
  color:#777;
  font-size:13px;
}
.agent-card-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding-top:11px;
  border-top:1px solid #eee;
  color:#666;
  font-size:12px;
}
.agent-card-meta>span:last-child{
  display:flex;
  align-items:center;
  gap:4px;
}
.agent-stars{
  display:inline-flex;
  letter-spacing:1px;
}
.agent-stars b{
  color:#efb400;
  font-weight:400;
}
.agent-stars i{
  color:#ccc;
  font-style:normal;
}
.agent-card-meta em{
  color:#555;
  font-style:normal;
}
.agent-pagination{
  display:flex;
  justify-content:center;
  gap:7px;
  margin-top:28px;
}
.agent-pagination button{
  display:grid;
  width:36px;
  height:36px;
  place-items:center;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  color:#555;
  cursor:pointer;
}
.agent-pagination button.active{
  border-color:var(--red);
  background:var(--red);
  color:#fff;
}

@media(max-width:1000px){
  .agent-card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:700px){
  .agent-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:430px){
  .agent-card-grid{
    grid-template-columns:1fr;
  }
}


/* MAP_AGENT_CATEGORY_FILTER_20260824 */
.agent-category-filter{
  display:flex;
  flex-direction:column;
  gap:11px;
  margin-top:18px;
  padding:16px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.agent-category-row{
  display:grid;
  grid-template-columns:58px 1fr;
  align-items:start;
  gap:12px;
}
.agent-category-row>b{
  padding-top:7px;
  color:#171717;
  font-size:14px;
}
.agent-category-row>div{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.agent-category-row button{
  padding:7px 11px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:#555;
  font-size:13px;
  cursor:pointer;
}
.agent-category-row button:hover,
.agent-category-row button.active{
  border-color:var(--red);
  background:#fff6f6;
  color:var(--red);
}

@media(max-width:560px){
  .agent-category-row{
    grid-template-columns:1fr;
    gap:5px;
  }
}


/* MAP_FOOTER_COMPACT_20260824 */
.site-footer{
  padding:18px 0 20px!important;
}
.footer-inner{
  gap:10px!important;
}
.footer-top{
  min-height:28px!important;
}
.footer-disclaimer{
  padding-top:9px!important;
  line-height:1.6!important;
}
.footer-policy{
  top:0!important;
}
.footer-policy select{
  height:32px!important;
}

@media(max-width:700px){
  .site-footer{
    padding:16px 0 18px!important;
  }
  .footer-inner{
    gap:8px!important;
  }
}

/* 날씨 기본 폰트 14px */
.weather,
.weather span,
.nav-line .weather,
.nav-line .weather span{
  font-size:15px!important;
}

/* 대표 검색어와 Agent 영역 기본 폰트 14px */
.fixed-keywords,
.fixed-keywords span,
.fixed-keywords b,
.fixed-keywords i,
.fixed-keywords em,
.keyword-title,
.keyword-item{
  font-size:15px!important;
}

.agent-category-row>b,
.agent-category-row button,
.agent-search-guide,
.agent-result-header span,
.agent-result-header em,
.agent-card h3,
.agent-author,
.agent-card-meta,
.agent-card-meta span,
.agent-card-meta em,
.agent-stars{
  font-size:15px!important;
}


/* 로고 클릭 시 Prompt 홈 이동 */
.brand-home{
  display:block;
  width:max-content;
  max-width:65%;
  text-decoration:none;
}
.brand-home .brand-logo{
  max-width:100%;
}


/* MAP_LOGGED_IN_HEADER_20260824 */
.head-actions{
  gap:9px!important;
}
.head-separator{
  color:#bbb;
  font-size:14px;
}
.user-name,
.mypage-link,
.logout-button{
  height:38px;
  padding:0 3px;
  border:0;
  background:transparent;
  color:#171717;
  font-size:15px;
  font-weight:400;
  cursor:pointer;
  white-space:nowrap;
}
.user-name{
  cursor:default;
}
.mypage-link:hover,
.logout-button:hover{
  color:var(--red);
}
.logout-button{
  color:#666;
}

@media(max-width:700px){
  .head-actions{
    width:100%;
    overflow-x:auto;
    justify-content:flex-start!important;
    white-space:nowrap;
  }
  .user-name,
  .mypage-link,
  .logout-button{
    height:34px;
    font-size:13px;
  }
  .head-separator{
    font-size:12px;
  }
}

/* 로그인 사용자명 세로 중앙 정렬 */
.head-actions .user-name{
  display:inline-flex!important;
  height:38px!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 3px!important;
  line-height:1!important;
  vertical-align:middle!important;
}

@media(max-width:700px){
  .head-actions .user-name{
    height:34px!important;
  }
}

/* 초기화면 마이페이지 링크 세로 중앙 정렬 */
.head-actions .mypage-link{
  display:inline-flex!important;
  height:38px!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 3px!important;
  border:0!important;
  background:transparent!important;
  color:#171717!important;
  font-size:15px!important;
  line-height:1!important;
  text-decoration:none!important;
  vertical-align:middle!important;
}

.head-actions .mypage-link:hover{
  color:var(--red)!important;
}

@media(max-width:700px){
  .head-actions .mypage-link{
    height:34px!important;
    font-size:13px!important;
  }
}

/* =========================================================
   M.A.P MAIN MENU SCREEN SYSTEM
   ========================================================= */

.main-menu-screen{
  width:100%;
  min-height:520px;
  box-sizing:border-box;
}

.main-menu-screen[hidden]{
  display:none!important;
}

.main-menu-screen.active{
  display:block;
}

.menu-screen-inner{
  width:min(1440px,calc(100% - 64px));
  margin:0 auto;
  padding:38px 0 60px;
}

.menu-screen-inner h2{
  margin:7px 0 8px;
  font-size:25px;
  line-height:1.3;
}

.menu-screen-inner p{
  margin:0;
  font-size:15px;
  line-height:1.6;
}

.main-nav a.active{
  color:var(--red)!important;
}

@media(max-width:700px){
  .menu-screen-inner{
    width:calc(100% - 28px);
    padding-top:28px;
  }
}

  .map-menu-screen-inner{
    width:calc(100% - 28px);
    padding-top:25px;
  }
}


/* FINAL — menu screens exactly follow Prompt shell */
.map-menu-screen{
  width:100%;
  box-sizing:border-box;
  min-height:0;
}

.map-menu-screen-inner{
  width:min(1440px,calc(100% - 64px));
  margin:0 auto;
  padding:38px 0 80px;
  box-sizing:border-box;
}

@media(max-width:900px){
  .map-menu-screen-inner{
    width:min(100% - 28px,720px);
  }
}

@media(max-width:560px){
  .map-menu-screen-inner{
    width:calc(100% - 28px);
    padding-top:25px;
  }
}


/* FINAL ALIGNMENT — inherit Prompt .shell page-body exactly */
.map-menu-screen-inner{
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding-top:38px!important;
  padding-bottom:80px!important;
}

@media(max-width:560px){
  .map-menu-screen-inner{
    padding-top:25px!important;
  }
}


/* FINAL: Agents menu width = Prompt workspace */
.map-menu-screen .map-menu-screen-inner.shell.page-body{
  width:min(1440px,calc(100% - 64px)) !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}

@media(max-width:900px){
  .map-menu-screen .map-menu-screen-inner.shell.page-body{
    width:min(100% - 28px,720px) !important;
  }
}

@media(max-width:560px){
  .map-menu-screen .map-menu-screen-inner.shell.page-body{
    width:calc(100% - 28px) !important;
  }
}

/* FINAL: Agents screen = Prompt exact vertical alignment */
.map-menu-screen{
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
}

.map-menu-screen-inner{
  width:min(1440px,calc(100% - 64px)) !important;
  margin:0 auto !important;
  padding:38px 0 60px !important;
  box-sizing:border-box !important;
}

.map-menu-screen-inner .eyebrow{
  display:block;
  margin:0 !important;
  padding:0 !important;
}

.map-menu-screen-inner h2{
  margin:6px 0 0 !important;
}

.map-menu-screen-inner p{
  margin:0 !important;
}

@media(max-width:900px){
  .map-menu-screen-inner{
    width:min(100% - 28px,720px) !important;
  }
}

@media(max-width:560px){
  .map-menu-screen-inner{
    width:calc(100% - 28px) !important;
    padding-top:25px !important;
  }
}

/* Agents vertical start = Prompt catalog start */
.map-menu-screen-inner{
  padding-top:86px !important;
}

@media(max-width:560px){
  .map-menu-screen-inner{
    padding-top:73px !important;
  }
}

/* FINAL: Agents starts exactly like Prompt */
.map-menu-screen-inner{
  padding-top:0 !important;
  margin-top:0 !important;
}

.map-menu-screen-inner .eyebrow{
  margin-top:0 !important;
}

@media(max-width:560px){
  .map-menu-screen-inner{
    padding-top:0 !important;
  }
}

/* FINAL AGENTS ALIGNMENT */
.map-menu-screen{
  display:block;
  width:100%;
  margin:0;
  padding:0;
}

.map-menu-screen[hidden]{
  display:none!important;
}

.map-menu-screen > .shell.page-body{
  width:min(1440px,calc(100% - 64px));
  margin:0 auto;
  padding-top:38px;
  padding-bottom:80px;
  box-sizing:border-box;
}

.map-menu-screen .catalog{
  width:100%;
  margin:0;
  padding-top:0;
}

@media(max-width:900px){
  .map-menu-screen > .shell.page-body{
    width:min(100% - 28px,720px);
  }
}

@media(max-width:560px){
  .map-menu-screen > .shell.page-body{
    width:calc(100% - 28px);
    padding-top:25px;
  }
}

/* FINAL: Agents = Prompt layout */
.map-menu-screen{
  width:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}

.map-menu-screen > .shell.page-body{
  width:min(1440px,calc(100% - 64px))!important;
  margin:0 auto!important;
  padding-top:38px!important;
  padding-bottom:80px!important;
}

.map-menu-screen .catalog{
  width:auto!important;
  margin-top:0!important;
  padding-top:0!important;
}

@media(max-width:900px){
  .map-menu-screen > .shell.page-body{
    width:min(100% - 28px,720px)!important;
  }
}

@media(max-width:560px){
  .map-menu-screen > .shell.page-body{
    width:calc(100% - 28px)!important;
    padding-top:25px!important;
  }
}
/* Agents start exactly at Prompt catalog start */
.map-menu-screen > .shell.page-body{
  padding-top:22px!important;
}
.map-menu-screen .catalog{
  margin-top:0!important;
  padding-top:0!important;
}

/* AGENTS — 4 columns × 10 rows */
.agent-card-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
}
.agent-card-image{
  height:105px!important;
}
.agent-card-body{
  padding:11px!important;
}
.agent-card h3{
  min-height:38px!important;
  font-size:15px!important;
}
.agent-author{
  margin:6px 0 9px!important;
}
.agent-card-meta{
  padding-top:8px!important;
}

@media(max-width:1000px){
  .agent-card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:700px){
  .agent-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:430px){
  .agent-card-grid{
    grid-template-columns:1fr!important;
  }
}

/* FINAL MENU TITLE ALIGNMENT */
.map-menu-screen-inner{
  padding-top:38px !important;
}

@media(max-width:560px){
  .map-menu-screen-inner{
    padding-top:25px !important;
  }
}

/* FINAL — Insights / Networking / Challenge / Open API
   Agent Services와 동일한 제목 시작 위치 */
.map-menu-screen-inner{
  padding-top:86px !important;
}

.map-menu-screen-inner h2{
  margin:6px 0 0 !important;
  font-size:29px !important;
  line-height:1.3 !important;
}

@media(max-width:560px){
  .map-menu-screen-inner{
    padding-top:73px !important;
  }

  .map-menu-screen-inner h2{
    font-size:24px !important;
  }
}

/* FINAL FIX — menu title vertical position */
.map-menu-screen-inner{
  padding-top:38px !important;
}

@media(max-width:560px){
  .map-menu-screen-inner{
    padding-top:25px !important;
  }
}

/* ===== MENU TITLE POSITION FINAL ===== */
.map-menu-screen .map-menu-screen-inner{
  padding-top:30px !important;
  margin-top:0 !important;
}

@media(max-width:560px){
  .map-menu-screen .map-menu-screen-inner{
    padding-top:20px !important;
  }
}


/* Insights 4 columns × 10 rows */
.insights-screen-inner{
  width:100%;
}
.insights-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  margin-bottom:24px;
}
.insights-heading h2{
  margin-bottom:6px;
}
.insights-heading p{
  margin:0;
}
#insightsCount{
  color:#555;
  font-size:15px;
  white-space:nowrap;
}
.insights-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.insight-card{
  min-width:0;
  min-height:92px;
  padding:16px;
  border:1px solid #dedede;
  border-radius:8px;
  background:#fff;
  box-sizing:border-box;
  cursor:pointer;
  transition:border-color .15s ease,transform .15s ease;
}
.insight-card:hover,
.insight-card:focus{
  border-color:#e53935;
  transform:translateY(-1px);
  outline:none;
}
.insight-card h3{
  margin:0 0 15px;
  color:#111;
  font-size:16px;
  font-weight:700;
  line-height:1.45;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.insight-card-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  color:#666;
  font-size:13px;
}
.insight-card-meta span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.insights-pagination{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:6px;
  margin-top:28px;
}
.insights-pagination button{
  min-width:34px;
  height:34px;
  padding:0 9px;
  border:1px solid #d8d8d8;
  border-radius:5px;
  background:#fff;
  color:#222;
  cursor:pointer;
}
.insights-pagination button.active{
  border-color:#e53935;
  background:#e53935;
  color:#fff;
}
@media(max-width:1100px){
  .insights-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .insights-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:520px){
  .insights-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }
  .insights-grid{
    grid-template-columns:1fr;
  }
}


/* Insights workspace placement */
.insights-workspace-area{
  width:100%;
  margin:0 0 42px;
  padding:0 0 38px;
  border-bottom:1px solid #e5e5e5;
  box-sizing:border-box;
}


/* Insights search */
.insights-search-box{
  display:flex;
  align-items:stretch;
  gap:8px;
  width:min(680px,100%);
  margin:0 0 8px;
}
.insights-search-box input{
  flex:1;
  min-width:0;
  height:44px;
  padding:0 14px;
  border:1px solid #cfcfcf;
  border-radius:6px;
  background:#fff;
  color:#111;
  font-size:15px;
  box-sizing:border-box;
}
.insights-search-box input:focus{
  border-color:#e53935;
  outline:none;
}
.insights-search-box button{
  min-width:78px;
  height:44px;
  border:0;
  border-radius:6px;
  background:#e53935;
  color:#fff;
  cursor:pointer;
}
.insights-search-guide{
  margin:0 0 20px;
  color:#666;
  font-size:14px;
}
.insights-empty{
  grid-column:1/-1;
  padding:60px 20px;
  border:1px solid #e3e3e3;
  border-radius:8px;
  color:#777;
  text-align:center;
}


/* Insights search size aligned with Agents */
.insights-search-box{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  margin:22px 0 0!important;
  padding:9px!important;
  border:2px solid #222!important;
  border-radius:16px!important;
  background:#fff!important;
  box-sizing:border-box!important;
}
.insights-search-box input{
  flex:1!important;
  min-width:0!important;
  height:46px!important;
  padding:0 12px!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  color:#171717!important;
  font-size:17px!important;
}
.insights-search-box input:focus{
  border:0!important;
  outline:0!important;
}
.insights-search-box button{
  min-width:90px!important;
  height:44px!important;
  border:0!important;
  border-radius:6px!important;
  background:#e53935!important;
  color:#fff!important;
}
.insights-search-guide{
  margin:10px 3px 20px!important;
  color:#777!important;
  font-size:13px!important;
}

/* All AI service checkboxes red */
.ai-check input[type="checkbox"]{
  border:1.5px solid #e53935!important;
  background:#fff!important;
}
.ai-check input[type="checkbox"]:checked{
  border-color:#e53935!important;
  background:#e53935!important;
}
.ai-check input[type="checkbox"]:checked::after{
  content:"✓"!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1!important;
}


/* Individual AI checkboxes black; ALL remains red */
.ai-check input[type="checkbox"]{
  border:1.5px solid #222!important;
  background:#fff!important;
}
.ai-check input[type="checkbox"]:checked{
  border-color:#222!important;
  background:#222!important;
}
.ai-check input[type="checkbox"]:checked::after{
  content:"✓"!important;
  color:#fff!important;
}


/* ALL checkbox solid red final */
.category-title .category-all-check input.category-select-all{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:16px!important;
  height:16px!important;
  border:1.5px solid #e53935!important;
  border-radius:2px!important;
  background-color:#e53935!important;
  display:inline-grid!important;
  place-content:center!important;
  opacity:1!important;
}
.category-title .category-all-check input.category-select-all::after{
  content:""!important;
}
.category-title .category-all-check input.category-select-all:checked::after,
.category-title .category-all-check input.category-select-all:indeterminate::after{
  content:"✓"!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1!important;
}


/* ALL checkbox outline red correction */
.category-title .category-all-check input.category-select-all{
  border:1.5px solid #e53935!important;
  background:#fff!important;
}
.category-title .category-all-check input.category-select-all:checked,
.category-title .category-all-check input.category-select-all:indeterminate{
  border-color:#e53935!important;
  background:#e53935!important;
}


/* ALL checkbox highest-priority red state */
#categoryGrid .category-column h3.category-title
.category-all-check > input.category-select-all{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:1.5px solid #e53935!important;
  background-color:#fff!important;
  box-shadow:none!important;
}
#categoryGrid .category-column h3.category-title
.category-all-check > input.category-select-all:checked,
#categoryGrid .category-column h3.category-title
.category-all-check > input.category-select-all:indeterminate{
  border-color:#e53935!important;
  background-color:#e53935!important;
  box-shadow:inset 0 0 0 20px #e53935!important;
}
#categoryGrid .category-column h3.category-title
.category-all-check > input.category-select-all:checked::after,
#categoryGrid .category-column h3.category-title
.category-all-check > input.category-select-all:indeterminate::after{
  content:"✓"!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:700!important;
}


/* AI service selected state red final */
#categoryGrid .ai-check > input[type="checkbox"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:15px!important;
  height:15px!important;
  border:1.5px solid #222!important;
  border-radius:3px!important;
  background:#fff!important;
  box-shadow:none!important;
  display:grid!important;
  place-content:center!important;
  opacity:1!important;
}
#categoryGrid .ai-check > input[type="checkbox"]:checked{
  border-color:#e53935!important;
  background:#e53935!important;
  box-shadow:inset 0 0 0 20px #e53935!important;
}
#categoryGrid .ai-check > input[type="checkbox"]:checked::after{
  content:"✓"!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1!important;
}
#categoryGrid .fixed-ai > input[type="checkbox"],
#categoryGrid .fixed-ai > input[type="checkbox"]:checked{
  border-color:#e53935!important;
  background:#e53935!important;
  box-shadow:inset 0 0 0 20px #e53935!important;
  opacity:1!important;
}


/* Insights heading horizontal overflow fix */
.insights-workspace-area{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.insights-workspace-area .section-heading{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.insights-workspace-area .section-heading > div{
  flex:1 1 auto!important;
  min-width:0!important;
}
.insights-workspace-area .section-heading h2{
  max-width:100%!important;
  white-space:normal!important;
  word-break:keep-all!important;
  overflow-wrap:break-word!important;
}
.insights-workspace-area .section-heading > p{
  flex:0 0 auto!important;
  margin-left:20px!important;
  white-space:nowrap!important;
}


/* Insights exact alignment with Agents */
#workspace .insights-workspace-area >
.map-menu-screen-inner.insights-screen-inner{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}




/* Insights search to list spacing */
#insightsWorkspaceArea .insights-search-box{
  margin-bottom:20px!important;
}


/* Footer font size plus 2px final */
.site-footer .footer-slogan,
.site-footer .footer-copyright{
  font-size:16px!important;
}
.site-footer .footer-disclaimer,
.site-footer .footer-disclaimer span{
  font-size:16px!important;
}
.site-footer .footer-policy,
.site-footer .footer-policy label,
.site-footer .footer-policy select,
.site-footer .footer-policy option{
  font-size:15px!important;
}
@media(max-width:700px){
  .site-footer .footer-disclaimer,
  .site-footer .footer-disclaimer span{
    font-size:15px!important;
  }
}


/* Networking — Insights-based 10 columns × 5 rows */
.networking-workspace-area{
  width:100%;
  margin:0 0 42px;
  padding:0 0 38px;
  border-bottom:1px solid #e5e5e5;
}
.networking-tabs{
  display:flex;
  gap:8px;
  margin:22px 0 12px;
}
.networking-tabs button{
  min-width:90px;
  height:40px;
  border:1px solid #d8d8d8;
  border-radius:999px;
  background:#fff;
  color:#222;
  cursor:pointer;
}
.networking-tabs button.active{
  border-color:#e53935;
  background:#e53935;
  color:#fff;
}
.networking-panel[hidden]{
  display:none!important;
}
.networking-search-box{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  margin:0 0 20px;
  padding:9px;
  border:2px solid #222;
  border-radius:16px;
  background:#fff;
}
.networking-search-box input{
  flex:1;
  min-width:0;
  height:46px;
  padding:0 12px;
  border:0;
  outline:0;
  background:transparent;
  color:#171717;
  font-size:17px;
}
.networking-search-box button{
  min-width:90px;
  height:44px;
}
.networking-grid{
  display:grid;
  grid-template-columns:repeat(10,minmax(0,1fr));
  gap:10px;
}
.network-person-card,
.network-group-card{
  min-width:0;
  min-height:150px;
  padding:13px 8px;
  border:1px solid #dedede;
  border-radius:8px;
  background:#fff;
  text-align:center;
  cursor:pointer;
}
.network-person-card:hover,
.network-group-card:hover{
  border-color:#e53935;
}
.network-profile-photo{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  margin:0 auto 10px;
  border-radius:50%;
  background:#f0efed;
  color:#333;
  font-size:14px;
}
.network-profile-photo.group-photo{
  border-radius:12px;
  background:#f4eeee;
}
.network-person-card strong,
.network-group-card strong{
  display:block;
  overflow:hidden;
  color:#171717;
  font-size:13px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.network-person-card span,
.network-group-card span,
.network-group-card em{
  display:block;
  margin-top:6px;
  overflow:hidden;
  color:#555;
  font-size:12px;
  font-style:normal;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.network-group-card em{
  color:#e53935;
}
.networking-pagination{
  display:flex;
  justify-content:center;
  gap:6px;
  margin-top:28px;
}
.networking-pagination button{
  min-width:34px;
  height:34px;
  border:1px solid #d8d8d8;
  border-radius:5px;
  background:#fff;
  cursor:pointer;
}
.networking-pagination button.active{
  border-color:#e53935;
  background:#e53935;
  color:#fff;
}
.network-empty{
  grid-column:1/-1;
  padding:60px 20px;
  text-align:center;
  color:#555;
}
@media(max-width:1200px){
  .networking-grid{
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .networking-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:520px){
  .networking-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* Challenge sample video */
.challenge-video{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  margin:13px 0 10px;
  border:0;
  border-radius:7px;
  background:#111;
  object-fit:cover;
}


/* Challenge final layout */
.challenge-workspace-area{
  width:100%;
  margin:0 0 42px;
  padding:0 0 38px;
  border-bottom:1px solid #e5e5e5;
}
.challenge-search-box{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  margin:22px 0 20px;
  padding:9px;
  border:2px solid #222;
  border-radius:16px;
  background:#fff;
}
.challenge-search-box input{
  flex:1;
  min-width:0;
  height:46px;
  padding:0 12px;
  border:0;
  outline:0;
  background:transparent;
  color:#171717;
  font-size:17px;
}
.challenge-search-box button{
  min-width:90px;
  height:44px;
}
.challenge-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.challenge-card{
  min-width:0;
  padding:15px;
  border:1px solid #dedede;
  border-radius:8px;
  background:#fff;
}
.challenge-card:hover{
  border-color:#e53935;
}
.challenge-card-top{
  display:flex;
  justify-content:space-between;
  gap:8px;
  color:#555;
  font-size:13px;
}
.challenge-card-top em{
  color:#e53935;
  font-style:normal;
}
.challenge-video,
.challenge-media-placeholder{
  display:grid;
  place-items:center;
  width:100%;
  aspect-ratio:16/9;
  margin:13px 0 11px;
  border:0;
  border-radius:7px;
  background:#171717;
  color:#fff;
  object-fit:cover;
}
.challenge-media-placeholder{
  background:#f1efec;
  color:#333;
}
.challenge-card h3{
  margin:0 0 9px;
  overflow:hidden;
  color:#171717;
  font-size:17px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.challenge-card p,
.challenge-card-meta{
  margin:0 0 10px;
  color:#444;
  font-size:14px;
}
.challenge-pagination{
  display:flex;
  justify-content:center;
  gap:6px;
  margin-top:28px;
}
.challenge-pagination button{
  min-width:34px;
  height:34px;
  border:1px solid #d8d8d8;
  border-radius:5px;
  background:#fff;
  cursor:pointer;
}
.challenge-pagination button.active{
  border-color:#e53935;
  background:#e53935;
  color:#fff;
}
@media(max-width:900px){
  .challenge-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:520px){
  .challenge-grid{
    grid-template-columns:1fr;
  }
}


/* Open API mobile experience page */
.openapi-screen{
  width:100%;
}
.openapi-intro{
  margin-top:26px;
  padding:24px;
  border:1px solid #dedede;
  border-left:4px solid #e53935;
  border-radius:10px;
  background:#fff;
}
.openapi-intro>span,
.openapi-badge{
  color:#e53935;
  font-size:12px;
  letter-spacing:.12em;
}
.openapi-intro h3{
  margin:8px 0;
  font-size:20px;
  font-weight:500;
}
.openapi-intro p{
  margin:0!important;
  color:#444;
  line-height:1.7;
}
.openapi-step-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.openapi-step-card{
  position:relative;
  min-height:300px;
  padding:25px;
  overflow:hidden;
  border:1px solid #dedede;
  border-radius:12px;
  background:#fff;
}
.openapi-step-number{
  position:absolute;
  right:18px;
  top:8px;
  color:#f0eeee;
  font-size:70px;
  font-weight:700;
  line-height:1;
}
.openapi-step-card h3{
  position:relative;
  margin:9px 0 10px;
  font-size:21px;
  font-weight:500;
}
.openapi-step-card p{
  position:relative;
  min-height:48px;
  margin:0 0 15px!important;
  color:#444;
  line-height:1.6;
}
.openapi-step-card ul{
  margin:16px 0 0;
  padding-left:19px;
  color:#333;
  line-height:1.8;
}
.openapi-step-card button{
  width:100%;
  min-height:44px;
  margin-top:18px;
  border:0;
  border-radius:7px;
  background:#ddd;
  color:#777;
}
.openapi-demo-box{
  display:flex;
  align-items:center;
  gap:15px;
  padding:14px;
  border:1px dashed #bbb;
  border-radius:9px;
}
.openapi-qr{
  display:grid;
  place-items:center;
  width:70px;
  height:70px;
  background:#171717;
  color:#fff;
  font-size:13px;
}
.openapi-demo-box small,
.openapi-demo-box strong,
.openapi-demo-box em{
  display:block;
}
.openapi-demo-box strong{
  margin:4px 0;
  font-size:24px;
  letter-spacing:.1em;
}
.openapi-demo-box em{
  color:#777;
  font-size:12px;
  font-style:normal;
}
.openapi-action-flow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:17px 12px;
  border-radius:9px;
  background:#f7f6f4;
}
.openapi-action-flow span{
  color:#333;
  font-size:13px;
  text-align:center;
}
.openapi-action-flow i{
  color:#e53935;
  font-style:normal;
}
.openapi-control-panel,
.openapi-endpoints{
  margin-top:18px;
  padding:25px;
  border:1px solid #dedede;
  border-radius:12px;
  background:#fff;
}
.openapi-control-title h3,
.openapi-endpoints h3{
  margin:7px 0 0;
  font-size:21px;
  font-weight:500;
}
.openapi-control-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:20px;
}
.openapi-control-grid article{
  padding:16px;
  border-radius:9px;
  background:#f7f6f4;
}
.openapi-control-grid b,
.openapi-control-grid span{
  display:block;
}
.openapi-control-grid b{
  color:#e53935;
}
.openapi-control-grid span{
  margin-top:7px;
  color:#333;
  font-size:13px;
}
.openapi-rules{
  margin:20px 0 0;
  padding-left:20px;
  color:#333;
  line-height:1.9;
}
.openapi-endpoints{
  display:grid;
  grid-template-columns:230px 1fr;
  gap:25px;
}
.openapi-endpoint-list{
  display:grid;
  gap:8px;
}
.openapi-endpoint-list code{
  padding:11px 13px;
  border-radius:6px;
  background:#f4f4f4;
  color:#333;
}
.openapi-endpoint-list b{
  display:inline-block;
  width:62px;
  color:#e53935;
}
.openapi-ready-notice{
  margin:18px 0 0!important;
  padding:15px;
  border-radius:8px;
  background:#fff7e8;
  color:#694e1e!important;
  text-align:center;
}
@media(max-width:800px){
  .openapi-step-grid,
  .openapi-control-grid{
    grid-template-columns:1fr;
  }
  .openapi-endpoints{
    grid-template-columns:1fr;
  }
}


/* Open API title start aligned with workspace screens */
.map-menu-screen.openapi-screen >
.map-menu-screen-inner.openapi-inner{
  padding-top:26px!important;
}


/* ===== MOBILE FINAL 01 — Header and AI Directory ===== */
@media(max-width:560px){
  html,
  body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  .shell{
    width:calc(100% - 24px)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* 계정 메뉴를 로고 위의 독립 행으로 배치 */
  .brand-row{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
    min-height:0!important;
    padding:10px 0 12px!important;
  }

  .brand-row .head-actions{
    position:static!important;
    order:1!important;
    display:flex!important;
    justify-content:flex-start!important;
    gap:8px!important;
    width:100%!important;
    margin:0!important;
    padding:0 0 4px!important;
    overflow-x:auto!important;
    white-space:nowrap!important;
    scrollbar-width:none;
  }

  .brand-row .head-actions::-webkit-scrollbar{
    display:none;
  }

  .head-actions>*{
    flex:0 0 auto!important;
  }

  .head-actions select,
  .head-actions .ghost,
  .head-actions .dark,
  .head-actions a,
  .head-actions button{
    height:36px!important;
    padding:0 12px!important;
    font-size:13px!important;
    line-height:36px!important;
  }

  .brand-row .brand-home{
    order:2!important;
    display:block!important;
    width:100%!important;
  }

  .brand-logo{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    margin:0!important;
  }

  /* 메인 메뉴 가로 스크롤 */
  .main-nav{
    display:flex!important;
    align-items:center!important;
    gap:24px!important;
    width:calc(100% - 24px)!important;
    height:52px!important;
    margin:0 auto!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
    scrollbar-width:none;
  }

  .main-nav::-webkit-scrollbar{
    display:none;
  }

  .main-nav a{
    flex:0 0 auto!important;
    font-size:15px!important;
  }

  /* 날씨·공지·검색어 가로 스크롤 */
  .weather,
  .notice-in,
  .fixed-keywords{
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
    scrollbar-width:none;
  }

  .weather::-webkit-scrollbar,
  .notice-in::-webkit-scrollbar,
  .fixed-keywords::-webkit-scrollbar{
    display:none;
  }

  .weather{
    display:flex!important;
    gap:12px!important;
    margin:0!important;
    padding:10px 0!important;
    font-size:14px!important;
  }

  .notice-in{
    height:42px!important;
    font-size:14px!important;
  }

  .fixed-keywords{
    height:44px!important;
    gap:14px!important;
    font-size:13px!important;
  }

  /* 본문 */
  .page-body{
    width:calc(100% - 24px)!important;
    padding-top:24px!important;
    padding-bottom:50px!important;
  }

  .catalog{
    width:100%!important;
    margin-top:0!important;
    padding-top:24px!important;
  }

  .section-heading{
    display:block!important;
  }

  .section-heading h1,
  .section-heading h2{
    max-width:100%!important;
    margin-top:7px!important;
    font-size:24px!important;
    line-height:1.35!important;
    white-space:normal!important;
    word-break:keep-all!important;
  }

  .section-heading>p{
    display:none!important;
  }

  /* 기본 AI는 한 줄 전체 사용 */
  .category-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:28px 18px!important;
    width:100%!important;
    margin-top:24px!important;
  }

  .base-ai-column{
    grid-column:1/-1!important;
    padding:0 0 22px!important;
    border-right:0!important;
    border-bottom:1px solid #ddd!important;
  }

  .base-ai-column>div{
    display:grid!important;
    grid-template-columns:1fr 110px!important;
    align-items:start!important;
    gap:12px!important;
  }

  .base-ai-column .fixed-ai{
    grid-column:1!important;
    align-self:start!important;
  }

  .base-ai-column .local-db{
    grid-column:2!important;
    grid-row:1 / span 2!important;
    margin:0!important;
    padding:8px 0!important;
    border-top:0!important;
  }

  .base-ai-column .local-db svg{
    width:42px!important;
    height:42px!important;
  }

  .base-ai-column .local-db-guide{
    grid-column:1!important;
    margin:8px 0 0!important;
    padding:0!important;
    font-size:13px!important;
    line-height:1.55!important;
  }

  .base-ai-column .local-db-actions{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    gap:7px!important;
    margin-top:10px!important;
  }

  .base-ai-column .local-db-actions button{
    width:auto!important;
    padding:8px 10px!important;
    font-size:12px!important;
  }

  .category-column{
    min-width:0!important;
  }

  .category-column h3{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:5px!important;
    font-size:16px!important;
  }

  .category-all-check{
    flex:0 0 auto!important;
    font-size:12px!important;
  }

  .ai-check{
    gap:7px!important;
    min-width:0!important;
    padding:7px 0!important;
    font-size:14px!important;
  }

  .ai-check span{
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }

  .selected-services-frame{
    margin-top:26px!important;
  }
}

/* MOBILE FINAL 02 — 로고 화면 너비 적용 */
@media(max-width:560px){
  .brand-row .brand-home{
    display:block!important;
    width:100%!important;
  }

  .brand-row .brand-logo{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    margin:0!important;
  }
}

/* MOBILE FINAL 03 — 로고 가로폭 전체 적용 */
@media(max-width:900px){
  .fixed-head-block .brand-row .brand-home{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    flex:0 0 100%!important;
  }

  .fixed-head-block .brand-row .brand-home .brand-logo{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    margin:0!important;
  }
}

/* MOBILE FINAL 04 — 로고 실제 화면 전체 폭 */
@media(max-width:900px){
  .fixed-head-block .brand-row .brand-home{
    position:relative!important;
    left:50%!important;
    width:100vw!important;
    max-width:none!important;
    margin-left:-50vw!important;
    flex:0 0 100vw!important;
  }

  .fixed-head-block .brand-row .brand-logo{
    display:block!important;
    width:100vw!important;
    max-width:none!important;
    height:auto!important;
    margin:0!important;
  }
}

/* MOBILE FINAL 05 — 로고 위, 사용자 메뉴 아래 */
@media(max-width:900px){
  .fixed-head-block .brand-row{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
  }

  .fixed-head-block .brand-row .brand-home{
    order:1!important;
  }

  .fixed-head-block .brand-row .head-actions{
    position:static!important;
    order:2!important;
    display:flex!important;
    width:100%!important;
    margin:12px 0 4px!important;
    padding:0!important;
    justify-content:flex-start!important;
    align-items:center!important;
    overflow-x:auto!important;
    white-space:nowrap!important;
  }
}

/* MOBILE FINAL 06 — 로고 공백 제거 및 사용자 메뉴 화면 내 배치 */
@media(max-width:900px){
  .fixed-head-block .brand-row{
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    align-items:stretch!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:8px 0 6px!important;
    gap:6px!important;
  }

  .fixed-head-block .brand-row .brand-home{
    position:relative!important;
    order:1!important;
    display:block!important;
    left:50%!important;
    width:100vw!important;
    height:auto!important;
    min-height:0!important;
    margin:0 0 0 -50vw!important;
    padding:0!important;
    line-height:0!important;
  }

  .fixed-head-block .brand-row .brand-logo{
    display:block!important;
    width:100vw!important;
    max-width:none!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
  }

  .fixed-head-block .brand-row .head-actions{
    position:static!important;
    order:2!important;
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    align-items:center!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:2px 0!important;
    gap:5px 8px!important;
    overflow:visible!important;
    white-space:nowrap!important;
    box-sizing:border-box!important;
  }

  .fixed-head-block .head-actions select,
  .fixed-head-block .head-actions button,
  .fixed-head-block .head-actions a,
  .fixed-head-block .head-actions span{
    flex:0 0 auto!important;
    font-size:13px!important;
  }

  .fixed-head-block .head-actions select,
  .fixed-head-block .head-actions .ghost,
  .fixed-head-block .head-actions .dark{
    height:36px!important;
    padding:0 11px!important;
    line-height:34px!important;
  }
}

/* MOBILE FINAL 07 — 로고 간격 제거, 계정 메뉴 2줄 우측 정렬 */
@media(max-width:900px){
  .fixed-head-block .brand-row .brand-home{
    flex:0 0 auto!important;
    height:auto!important;
    min-height:0!important;
    margin-bottom:0!important;
  }

  .fixed-head-block .brand-row{
    height:auto!important;
    min-height:0!important;
    gap:2px!important;
    padding-bottom:5px!important;
  }

  .fixed-head-block .brand-row .head-actions{
    order:2!important;
    display:flex!important;
    flex-flow:row wrap!important;
    justify-content:flex-end!important;
    align-items:center!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    gap:5px 8px!important;
    overflow:visible!important;
  }

  /* 기본적으로 사용자명·마이페이지·로그아웃은 2라인 */
  .fixed-head-block .head-actions > *{
    order:3!important;
    flex:0 0 auto!important;
  }

  /* 관리자 화면과 언어 선택은 1라인 */
  .fixed-head-block .head-actions > :first-child,
  .fixed-head-block .head-actions > select{
    order:1!important;
  }

  /* 언어 선택 뒤에서 강제 줄바꿈 */
  .fixed-head-block .head-actions::after{
    content:""!important;
    order:2!important;
    flex:0 0 100%!important;
    width:100%!important;
    height:0!important;
  }

  .fixed-head-block .head-actions a,
  .fixed-head-block .head-actions span,
  .fixed-head-block .head-actions button,
  .fixed-head-block .head-actions select{
    font-size:13px!important;
  }
}

/* MOBILE FINAL 08 — 모바일·듀얼 화면 전체 프레임 중앙 정렬 */
@media(max-width:900px){
  .shell,
  #workspace,
  .page-body,
  .fixed-head-block .brand-row,
  .fixed-head-block .main-nav,
  .fixed-head-block .notice-in,
  .fixed-keywords,
  .map-menu-screen-inner,
  .map-menu-screen > .shell.page-body{
    width:min(720px,calc(100% - 28px))!important;
    max-width:720px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }

  #workspace .catalog,
  .agents-search-area,
  .insights-workspace-area,
  .networking-workspace-area,
  .challenge-workspace-area{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }

  /* 로고 이미지만 화면 전체 폭을 사용하면서 중앙 유지 */
  .fixed-head-block .brand-row .brand-home{
    position:relative!important;
    left:50%!important;
    width:100vw!important;
    max-width:none!important;
    margin-left:-50vw!important;
    margin-right:0!important;
  }

  .fixed-head-block .brand-row .brand-logo{
    width:100vw!important;
    max-width:none!important;
    margin:0 auto!important;
  }
}

/* MOBILE FINAL 11 — 듀얼 화면 계정 메뉴 우측 정렬 */
@media(min-width:561px) and (max-width:900px){
  .fixed-head-block .brand-row{
    gap:0!important;
    padding-bottom:8px!important;
  }

  .fixed-head-block .brand-row .head-actions{
    display:flex!important;
    flex-flow:row wrap!important;
    justify-content:flex-end!important;
    align-items:center!important;
    align-self:flex-end!important;
    width:auto!important;
    max-width:100%!important;
    margin:-2px 0 0 auto!important;
    padding:0!important;
    gap:5px 9px!important;
    overflow:visible!important;
  }

  .fixed-head-block .head-actions > *{
    order:3!important;
    flex:0 0 auto!important;
  }

  /* 1라인: 관리자 화면, 언어 */
  .fixed-head-block .head-actions > :first-child,
  .fixed-head-block .head-actions > select{
    order:1!important;
  }

  /* 1라인과 2라인 구분 */
  .fixed-head-block .head-actions::after{
    content:""!important;
    order:2!important;
    flex:0 0 100%!important;
    width:100%!important;
    height:0!important;
  }

  /* 2라인: 사용자명, 마이페이지, 로그아웃 */
  .fixed-head-block .head-actions a,
  .fixed-head-block .head-actions span,
  .fixed-head-block .head-actions button,
  .fixed-head-block .head-actions select{
    font-size:13px!important;
  }
}

/* MOBILE FINAL 13 — 듀얼 화면 AI 카테고리 3열 */
@media(min-width:561px) and (max-width:900px){
  #categoryGrid,
  .category-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    column-gap:18px!important;
    row-gap:32px!important;
    width:100%!important;
    max-width:none!important;
    align-items:start!important;
  }

  #categoryGrid .category-column,
  .category-grid .category-column{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  #categoryGrid .base-ai-column{
    grid-column:auto!important;
    padding-right:16px!important;
  }

  .category-column h3,
  .category-title{
    font-size:15px!important;
    white-space:nowrap!important;
  }

  .category-all-check{
    margin-left:auto!important;
    font-size:12px!important;
  }

  .ai-check{
    width:100%!important;
    min-width:0!important;
    font-size:14px!important;
  }

  .ai-check span{
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }
}

/* MOBILE FINAL 15 — 넓은 듀얼폰 대표검색어 강제 제한 */
@media (pointer:coarse) and (max-width:1400px){
  html,
  body{
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  .fixed-keywords,
  .fixed-keywords.shell{
    position:relative!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    width:calc(100vw - 40px)!important;
    max-width:calc(100vw - 40px)!important;
    min-width:0!important;
    height:auto!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
    overflow-x:scroll!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
    box-sizing:border-box!important;
    clip-path:inset(0)!important;
    touch-action:pan-x!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }

  .fixed-keywords::-webkit-scrollbar{
    display:none!important;
  }

  .fixed-keywords > *{
    flex:0 0 auto!important;
    width:auto!important;
    max-width:none!important;
    white-space:nowrap!important;
  }
}

/* ADMIN NOTICE TICKER */
.notice-in{
  min-width:0!important;
  overflow:hidden!important;
}

.notice-in .important{
  flex:0 0 auto!important;
}

.notice-ticker{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
}

.notice-track{
  display:flex;
  width:max-content;
  align-items:center;
}

.notice-track.is-moving{
  animation:mapNoticeTicker var(--notice-duration,30s) linear infinite;
}

.notice-ticker:hover .notice-track,
.notice-ticker:focus-within .notice-track,
.notice-ticker:active .notice-track{
  animation-play-state:paused;
}

.notice-set{
  display:flex;
  flex:0 0 auto;
  align-items:center;
}

.notice-item{
  flex:0 0 auto;
  border:0;
  background:transparent;
  color:#222;
  padding:0 42px 0 0;
  cursor:pointer;
  white-space:nowrap;
}

.notice-item::after{
  content:"·";
  margin-left:42px;
  color:#aaa;
}

@keyframes mapNoticeTicker{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

.notice-detail-modal{
  position:fixed;
  inset:0;
  z-index:3000;
  display:none;
  place-items:center;
  padding:20px;
  background:rgba(0,0,0,.42);
}

.notice-detail-modal.open{
  display:grid;
}

.notice-detail-dialog{
  position:relative;
  width:min(560px,100%);
  padding:28px;
  border-radius:13px;
  background:#fff;
  box-shadow:0 25px 80px rgba(0,0,0,.25);
}

.notice-detail-dialog>span{
  color:#ed1c24;
  font-size:12px;
  letter-spacing:.12em;
}

.notice-detail-dialog h2{
  margin:9px 0 15px;
  font-size:21px;
}

.notice-detail-dialog p{
  min-height:60px;
  margin:0 0 22px;
  color:#333;
  line-height:1.75;
  white-space:pre-wrap;
}

.notice-detail-close{
  position:absolute;
  top:12px;
  right:14px;
  border:0;
  background:none;
  font-size:25px;
  cursor:pointer;
}

.notice-detail-confirm{
  display:block;
  min-width:90px;
  margin-left:auto;
  border:0;
  border-radius:7px;
  padding:10px 16px;
  background:#171717;
  color:#fff;
  cursor:pointer;
}

@media(max-width:560px){
  .notice-item{
    padding-right:28px;
  }

  .notice-item::after{
    margin-left:28px;
  }

  .notice-detail-dialog{
    padding:23px 19px;
  }
}


/* 로그인 회원 프로필 사진 */
.header-avatar{
  display:inline-grid;
  width:28px;
  height:28px;
  flex:0 0 28px;
  place-items:center;
  overflow:hidden;
  border:1px solid #ddd;
  border-radius:50%;
  background:#171717;
  color:#fff;
  font-size:12px;
  font-weight:800;
  line-height:1;
}
.header-avatar img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
@media(max-width:700px){
  .header-avatar{
    width:24px;
    height:24px;
    flex-basis:24px;
  }
}

/* 회원가입·로그인 입력 항목 제목 +2px */
.auth-field > span {
  font-size:calc(1em + 2px);
}

/* 날씨를 메뉴 위의 독립된 한 줄로 표시 */
.weather-line{
  display:flex;
  width:100%;
  min-height:42px;
  align-items:center;
  justify-content:flex-end;
}

.weather-line .weather{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  margin:0;
  white-space:nowrap;
}

.nav-line{
  min-height:50px;
}

@media(max-width:900px){
  .weather-line{
    min-height:40px;
    overflow-x:auto;
    justify-content:flex-start;
  }

  .weather-line .weather{
    width:max-content;
    min-width:100%;
    justify-content:flex-start;
    gap:14px;
    padding:4px 0;
  }
}

/* 회원 날씨를 항목별 한 줄로 표시 */
.weather-line .weather{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:5px;
  padding:7px 0;
  white-space:nowrap;
}

.weather-line .weather > span{
  display:block;
  line-height:1.45;
}

@media(max-width:900px){
  .weather-line .weather{
    width:auto;
    min-width:0;
    align-items:flex-start;
    gap:4px;
  }
}

/* 언어·회원정보 바로 아래에 날씨 배치 */
.head-side{
  display:flex;
  flex:1 1 auto;
  min-width:0;
  flex-direction:column;
  align-items:flex-end;
  justify-content:flex-start;
}

.head-side .head-actions{
  width:100%;
  justify-content:flex-end;
}

.head-side .weather-line{
  display:flex;
  width:100%;
  min-height:0;
  margin-top:8px;
  padding:0;
  justify-content:flex-end;
  overflow:visible;
}

.head-side .weather{
  width:auto;
  max-width:100%;
  margin:0;
  padding:0;
  align-items:flex-end;
}

.head-side .weather > span{
  text-align:right;
}

@media(max-width:900px){
  .head-side{
    width:100%;
    align-items:flex-start;
  }

  .head-side .head-actions{
    justify-content:flex-start;
  }

  .head-side .weather-line{
    justify-content:flex-start;
    margin-top:8px;
  }

  .head-side .weather{
    width:100%;
    align-items:flex-start;
  }

  .head-side .weather > span{
    text-align:left;
  }
}

/* PC: 회원 날씨를 언어·회원정보 바로 아래에 고정 */
@media(min-width:901px){
  .brand-row{
    position:relative;
  }

  .brand-row .head-side{
    position:absolute;
    top:14px;
    right:0;
    width:min(720px,calc(100% - 620px));
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    justify-content:flex-start;
  }

  .brand-row .head-actions{
    width:100%;
    display:flex;
    justify-content:flex-end;
  }

  .brand-row .weather-line{
    position:static;
    width:100%;
    min-height:0;
    margin:10px 0 0;
    padding:0;
    display:flex;
    justify-content:flex-end;
  }

  .brand-row .weather{
    width:auto;
    max-width:100%;
    margin:0;
    padding:0;
    gap:4px;
    align-items:flex-end;
  }

  .brand-row .weather > span{
    border:0!important;
    padding:0!important;
    margin:0!important;
    text-align:right;
  }
}

/* 상단 회원정보와 날씨 겹침 수정 */
@media(min-width:901px){
  .brand-row .head-side > .head-actions{
    position:static!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    transform:none!important;
    display:flex!important;
    width:100%!important;
    min-height:42px;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:nowrap;
  }

  .brand-row .head-side > .weather-line{
    position:static!important;
    top:auto!important;
    right:auto!important;
    margin-top:8px!important;
    clear:both;
  }
}

/* 회원정보와 첫 날씨 사이 한 줄 간격 */
@media(min-width:901px){
  .brand-row .head-side > .head-actions{
    min-height:38px!important;
    margin:0!important;
    padding:0!important;
  }

  .brand-row .head-side > .weather-line{
    margin:12px 0 0!important;
    padding:0!important;
  }
}

/* 회원정보와 날씨 사이 두 줄 여백 */
@media(min-width:901px){
  .brand-row .head-side > .weather-line{
    margin-top:28px!important;
  }
}

/* 모바일 상단 순서: 로고 → 회원정보 → 날씨 */
@media(max-width:900px){
  .brand-row{
    position:static!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    height:auto!important;
  }

  .brand-row .brand-home{
    position:static!important;
    order:1;
    align-self:flex-start;
  }

  .brand-row .head-side{
    position:static!important;
    order:2;
    width:100%!important;
    max-width:100%!important;
    margin:14px 0 0!important;
    padding:0!important;
    transform:none!important;
  }

  .brand-row .head-side > .head-actions{
    position:static!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    width:100%!important;
    min-height:38px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    transform:none!important;
  }

  .brand-row .head-side > .weather-line{
    position:static!important;
    width:100%!important;
    margin:18px 0 0!important;
    padding:0!important;
    transform:none!important;
  }

  .brand-row .weather{
    width:100%!important;
    max-width:100%!important;
    align-items:flex-start!important;
  }

  .brand-row .weather > span{
    width:100%;
    text-align:left!important;
  }
}

/* 날씨 항목: 지역명·아이콘·기온을 오른쪽 기준으로 정렬 */
@media(min-width:901px){
  .brand-row .weather{
    align-items:flex-end!important;
  }

  .brand-row .weather > span{
    width:auto!important;
    text-align:right!important;
    font-size:14px;
    line-height:1.55;
  }
}

/* 날씨 항목: 지역명·아이콘·기온을 오른쪽 기준으로 정렬 */
@media(min-width:901px){
  .brand-row .weather{
    align-items:flex-end!important;
  }

  .brand-row .weather > span{
    width:auto!important;
    text-align:right!important;
    font-size:14px;
    line-height:1.55;
  }
}

/* Open API 제작 의뢰 안내 */
.openapi-heading-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
}

.openapi-heading-copy > p{
  margin:0;
}

.openapi-request-text{
  color:#e53935!important;
  font-weight:700;
  cursor:pointer;
}

@media(max-width:900px){
  .openapi-heading-copy{
    align-items:flex-start;
  }
}

/* Open API 제작 의뢰 문구 우측 정렬 */
.openapi-intro .openapi-request-text{
  display:block!important;
  width:100%!important;
  box-sizing:border-box;
  text-align:right!important;
}

.localdb-main-action{
  display:block;
  margin:8px auto 0;
  padding:6px 12px;
  border:1px solid #d8d8d8;
  border-radius:999px;
  background:#fff;
  color:#171717;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}

/* MAP_LOCAL_DB_THREE_BUTTONS_20260826 */
.base-ai-column .local-db-actions{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:8px;
  width:100%;
}

.base-ai-column .local-db-actions button{
  width:100%;
  margin:0;
  white-space:nowrap;
}

/* MOBILE_HORIZONTAL_SCROLL_GUIDE_20260827 */
.mobile-scroll-guide{
  display:none;
}

@media(max-width:560px){
  .mobile-scroll-guide{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:calc(100% - 24px);
    min-height:22px;
    margin:0 auto;
    color:#777;
    font-size:12px;
    line-height:1.2;
    letter-spacing:.01em;
    pointer-events:none;
    user-select:none;
  }

  .mobile-scroll-guide[hidden]{
    display:none!important;
  }

  .mobile-scroll-guide span{
    color:#d32626;
    font-size:15px;
    animation:mobileScrollArrow 1.2s ease-in-out infinite;
  }

  .mobile-scroll-guide b{
    font-size:12px;
    font-weight:400;
  }

  .mobile-scroll-guide.has-scrolled{
    opacity:.65;
  }

  .mobile-scroll-guide.at-end span:last-child{
    opacity:.25;
    animation:none;
  }

  @keyframes mobileScrollArrow{
    0%,100%{transform:translateX(0)}
    50%{transform:translateX(3px)}
  }
}

/* MYPAGE_PROFILE_PHOTO_HARD_FIX_20260827 */
#my-profile .profile-photo-row{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  position:relative!important;
  overflow:visible!important;
  min-height:120px!important;
}

#my-profile .profile-photo{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative!important;
  inset:auto!important;
  float:none!important;
  width:120px!important;
  min-width:120px!important;
  max-width:120px!important;
  height:120px!important;
  min-height:120px!important;
  max-height:120px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:16px!important;
  background:#eee!important;
  transform:none!important;
  z-index:1!important;
}

#my-profile .profile-photo > img{
  display:block!important;
  position:static!important;
  inset:auto!important;
  float:none!important;
  width:120px!important;
  min-width:120px!important;
  max-width:120px!important;
  height:120px!important;
  min-height:120px!important;
  max-height:120px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
  z-index:auto!important;
}

.mypage-top .mypage-avatar,
.mypage-member .mypage-avatar{
  position:relative!important;
  width:58px!important;
  min-width:58px!important;
  max-width:58px!important;
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  overflow:hidden!important;
  border-radius:50%!important;
}

.mypage-top .mypage-avatar > img,
.mypage-member .mypage-avatar > img{
  display:block!important;
  position:static!important;
  width:58px!important;
  min-width:58px!important;
  max-width:58px!important;
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
}

/* MYPAGE_DEFAULT_AVATAR_CHOOSER_20260827 */
#my-profile .profile-photo .auth-avatar{
  display:grid!important;
  width:100%!important;
  height:100%!important;
  place-items:center!important;
  border-radius:16px!important;
  color:#fff!important;
  font-size:42px!important;
}

.auth-avatar.avatar-map,
.header-avatar.avatar-map{
  background:#e53935!important;
  color:#fff!important;
}

.auth-avatar.avatar-compass,
.header-avatar.avatar-compass{
  background:#8b6a43!important;
  color:#fff!important;
}

.auth-avatar.avatar-neutral,
.header-avatar.avatar-neutral{
  background:#333!important;
  color:#fff!important;
}

.mypage-avatar-dialog{
  position:fixed;
  inset:0;
  z-index:5000;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(0,0,0,.45);
}

.mypage-avatar-dialog-box{
  width:min(430px,100%);
  padding:26px;
  border-radius:16px;
  background:#fff;
  text-align:center;
  box-shadow:0 22px 70px rgba(0,0,0,.3);
}

.mypage-avatar-dialog-box h3{
  margin:0 0 8px;
  font-size:20px;
}

.mypage-avatar-dialog-box p{
  margin:0 0 22px;
  color:#555;
}

.mypage-avatar-options{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

.mypage-avatar-options button{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:9px;
  padding:16px 8px;
  border:1px solid #ddd;
  border-radius:12px;
  background:#fff;
  cursor:pointer;
}

.mypage-avatar-options button:hover{
  border-color:#e53935;
}

.mypage-avatar-options .auth-avatar{
  display:grid;
  width:58px;
  height:58px;
  place-items:center;
  border-radius:50%;
  color:#fff;
  font-size:23px;
}

.mypage-avatar-options b{
  font-weight:400;
}

.mypage-avatar-cancel{
  margin-top:20px;
  padding:9px 22px;
  border:1px solid #bbb;
  border-radius:8px;
  background:#fff;
  cursor:pointer;
}

/* DEFAULT_AVATAR_IMAGE_FILES_20260827 */
.auth-avatar img,
.header-avatar img,
.mypage-avatar img,
.profile-photo img,
.mypage-avatar-options img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:inherit!important;
}

/* AI PORTAL — Prompt 초기화면과 시작 위치 완전 동일 */
#workspace,
#portal-workspace{
  width:min(1440px,calc(100% - 64px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-top:22px!important;
  padding-bottom:80px!important;
  box-sizing:border-box!important;
}

#workspace > .catalog,
#portal-workspace > .catalog{
  width:100%!important;
  margin-top:0!important;
  padding-top:0!important;
  border-top:0!important;
  box-shadow:none!important;
}

@media(max-width:900px){
  #workspace,
  #portal-workspace{
    width:min(100% - 28px,720px)!important;
  }
}

@media(max-width:560px){
  #workspace,
  #portal-workspace{
    width:calc(100% - 24px)!important;
    padding-top:24px!important;
    padding-bottom:50px!important;
  }
}

/* AI Portal 결과별 관심사 콘텐츠 */
.portal-result-channels{
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid var(--line);
}

.portal-channel-title{
  margin-bottom:13px;
  color:#222;
  font-size:15px;
  font-weight:700;
}

.portal-channel-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.portal-channel-card{
  min-width:0;
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#faf9f7;
}

.portal-channel-card h4{
  margin:0 0 7px;
  color:var(--red);
  font-size:15px;
}

.portal-channel-card p{
  min-height:34px;
  margin:0 0 10px;
  color:#555;
  font-size:12px;
  line-height:1.45;
}

.portal-channel-content{
  color:#888;
  font-size:11px;
  line-height:1.5;
}

@media(max-width:900px){
  .portal-channel-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:560px){
  .portal-channel-grid{
    grid-template-columns:1fr;
  }
}

/* AI Portal 결과 콘텐츠 — 전체 폭 세로 펼침 */
#portal-workspace .portal-result-channels{
  display:block!important;
  width:100%!important;
  margin-top:26px!important;
  padding-top:0!important;
  border-top:1px solid var(--line)!important;
}

#portal-workspace .portal-channel-title{
  display:none!important;
}

#portal-workspace .portal-channel-grid{
  display:block!important;
  width:100%!important;
}

#portal-workspace .portal-channel-card{
  display:block!important;
  width:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:20px 4px!important;
  border:0!important;
  border-bottom:1px solid var(--line)!important;
  border-radius:0!important;
  background:#fff!important;
}

#portal-workspace .portal-channel-card h4{
  margin:0 0 8px!important;
  color:var(--red)!important;
  font-size:17px!important;
  font-weight:700!important;
}

#portal-workspace .portal-channel-card p{
  min-height:0!important;
  margin:0 0 12px!important;
  color:#333!important;
  font-size:14px!important;
  line-height:1.6!important;
}

#portal-workspace .portal-channel-content{
  display:block!important;
  min-height:24px!important;
  color:#777!important;
  font-size:13px!important;
  line-height:1.65!important;
}

/* AI Portal 세부 메뉴 제목 검은색 */
#portal-workspace .portal-channel-card h4{
  color:#171717!important;
}

/* Shopping 아래 마지막 구분선 제거 */
#portal-workspace .portal-channel-card:last-child{
  border-bottom:0!important;
}

/* 제거된 종합분석 버튼 영역의 잔여선·공간 제거 */
#portal-workspace .synthesis-action,
#portal-workspace [id$="mapSummary"],
#portal-workspace [id$="integratedAnswer"],
#portal-workspace [id$="resultTools"]{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}

/* 결과 전체 마지막에 남는 불필요한 선 제거 */
#portal-workspace .search-results{
  border-bottom:0!important;
}

#portal-workspace .ai-result-card:last-child,
#portal-workspace .ai-result-list > .ai-result-card:last-child{
  margin-bottom:0!important;
  border-bottom:0!important;
}

/* AI Portal 체크박스와 선택상태 */
#portal-workspace input[type="checkbox"]{
  accent-color:var(--red)!important;
}

#portal-workspace .ai-check input[type="checkbox"]:checked + span,
#portal-workspace .category-all-check input[type="checkbox"]:checked{
  color:var(--red)!important;
}

#portal-workspace .ai-check:has(input[type="checkbox"]:checked) > span{
  color:var(--red)!important;
  font-weight:700!important;
}

#portal-workspace .category-select-all{
  cursor:pointer!important;
}

#portal-workspace .category-all-check{
  cursor:pointer!important;
}

/* AI Portal 잘못 적용된 선택 글자 스타일 즉시 복구 */
#portal-workspace .ai-check > span,
#portal-workspace .ai-check:has(input[type="checkbox"]:checked) > span{
  color:#222!important;
  font-weight:400!important;
}

#portal-workspace .category-all-check{
  color:#222!important;
  font-weight:400!important;
}

/* AI Portal 체크박스 최종 디자인 */
#portal-workspace .ai-check input[type="checkbox"],
#portal-workspace .category-all-check input[type="checkbox"]{
  -webkit-appearance:none!important;
  appearance:none!important;
  display:inline-block!important;
  position:static!important;
  visibility:visible!important;
  opacity:1!important;
  flex:0 0 15px!important;
  width:15px!important;
  height:15px!important;
  min-width:15px!important;
  margin:0 6px 0 0!important;
  padding:0!important;
  border:1px solid #999!important;
  border-radius:3px!important;
  background-color:#fff!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:11px 11px!important;
  vertical-align:-2px!important;
  cursor:pointer!important;
}

#portal-workspace .ai-check input[type="checkbox"]:checked,
#portal-workspace .category-all-check input[type="checkbox"]:checked{
  border-color:var(--red)!important;
  background-color:var(--red)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M3 8l3 3 7-7'/%3E%3C/svg%3E")!important;
}

#portal-workspace .category-all-check input[type="checkbox"]:indeterminate{
  border-color:var(--red)!important;
  background-color:var(--red)!important;
  background-image:linear-gradient(
    white,
    white
  )!important;
  background-size:9px 2px!important;
}

/* AI 서비스명과 ALL 글자는 항상 검은색·보통 굵기 */
#portal-workspace .ai-check > span,
#portal-workspace .ai-check:has(input:checked) > span,
#portal-workspace .category-all-check,
#portal-workspace .category-all-check > span{
  color:#222!important;
  font-weight:400!important;
}

/* AI Portal ALL 표시는 Prompt와 동일하게 빨간색 */
#portal-workspace .category-all-check,
#portal-workspace .category-all-check > span{
  color:var(--red)!important;
  font-weight:400!important;
}

#portal-workspace .category-all-check input[type="checkbox"]{
  border-color:var(--red)!important;
}

#portal-workspace .category-all-check input[type="checkbox"]:checked{
  border-color:var(--red)!important;
  background-color:var(--red)!important;
}

/* AI Portal (ALL체크박스) 간격을 Prompt와 동일하게 */
#portal-workspace .category-all-check{
  display:inline-flex!important;
  align-items:center!important;
  gap:0!important;
  white-space:nowrap!important;
}

#portal-workspace .category-all-check input[type="checkbox"]{
  margin:0!important;
}

/* AI Portal과 Prompt 공통 AI 선택기 */
#shared-ai-selector-host{
  width:min(1440px,calc(100% - 64px))!important;
  margin:0 auto!important;
  padding-top:22px!important;
  padding-bottom:0!important;
  box-sizing:border-box!important;
}

#shared-ai-selector-host[hidden]{
  display:none!important;
}

/* 공통 선택기는 Prompt의 원래 체크박스 스타일 사용 */
#shared-ai-selector-host input[type="checkbox"]{
  accent-color:var(--red);
}

/* 공통 영역 다음에 이어지는 각 결과 화면의 중복 여백 제거 */
body[data-main-view="portal"] #portal-workspace,
body[data-main-view="prompt"] #workspace{
  padding-top:0!important;
}

@media(max-width:900px){
  #shared-ai-selector-host{
    width:min(100% - 28px,720px)!important;
  }
}

@media(max-width:560px){
  #shared-ai-selector-host{
    width:calc(100% - 24px)!important;
    padding-top:24px!important;
  }
}

/* AI Portal 검색 버튼을 Prompt 실행 버튼과 동일한 우측 위치로 */
#portal-workspace .prompt-actions{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  width:100%!important;
}

#portal-workspace .prompt-actions > div{
  display:flex!important;
  justify-content:flex-end!important;
  margin-left:auto!important;
}

/* PORTAL_MEDIA_FIXED_FIVE_COLUMNS_01 */
.portal-media-result-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
  width:100%;
  align-items:start;
}

.portal-media-result-card{
  min-width:0;
  width:100%;
  overflow:hidden;
}

.portal-media-result-link{
  display:flex;
  flex-direction:column;
  width:100%;
  height:100%;
  color:inherit;
  text-decoration:none;
}

.portal-media-result-link img,
.portal-media-placeholder{
  display:block;
  width:100%;
  aspect-ratio:16 / 10;
  object-fit:cover;
}

.portal-media-information{
  min-width:0;
}

.portal-media-information strong,
.portal-media-information p{
  overflow-wrap:anywhere;
}

@media(max-width:1000px){
  .portal-media-result-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .portal-media-result-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
}

/* MAP_BOTTOM_DOCK_CSS_02 */
body:has(#portal-question){
  padding-bottom:88px!important;
}

.continuous-question:has(#portal-question){
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:2000!important;
  margin:0!important;
  padding:9px 20px!important;
  background:rgba(255,255,255,.97)!important;
  border-top:1px solid #e5e5e5!important;
  box-shadow:0 -7px 24px rgba(0,0,0,.08)!important;
  backdrop-filter:blur(12px);
}

.continuous-question:has(#portal-question)
.continuous-question-title,

.continuous-question:has(#portal-question)
.prompt-top{
  display:none!important;
}

.continuous-question:has(#portal-question)
.prompt-box{
  width:min(1100px,100%)!important;
  min-height:54px!important;
  margin:0 auto!important;
  padding:5px 7px 5px 14px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  border:1px solid #d8d8d8!important;
  border-radius:17px!important;
  background:#fff!important;
  box-shadow:0 4px 16px rgba(0,0,0,.07)!important;
}

.continuous-question:has(#portal-question)
#portal-question{
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:10px 4px!important;
  border:0!important;
  outline:0!important;
  resize:none!important;
  font-size:16px!important;
  line-height:22px!important;
  font-weight:400!important;
  background:transparent!important;
}

.continuous-question:has(#portal-question)
.prompt-actions{
  display:contents!important;
}

.continuous-question:has(#portal-question)
.prompt-actions .attach{
  display:none!important;
}

.continuous-question:has(#portal-question)
.prompt-actions>div{
  grid-column:2!important;
  grid-row:1!important;
  display:block!important;
}

.continuous-question:has(#portal-question)
#portal-compare{
  min-height:42px!important;
  margin:0!important;
  padding:9px 17px!important;
  border-radius:12px!important;
  white-space:nowrap!important;
}

@media(max-width:600px){
  .continuous-question:has(#portal-question){
    padding:7px 8px!important;
  }

  .continuous-question:has(#portal-question)
  #portal-compare{
    padding:9px 11px!important;
    font-size:13px!important;
  }
}

/* MAP_BOTTOM_DOCK_FOOTER_COLOR_01 */
.continuous-question:has(#portal-question){
  background:#171717!important;
  border-top-color:#171717!important;
  box-shadow:0 -7px 24px rgba(0,0,0,.18)!important;
}

.continuous-question:has(#portal-question)
.prompt-box{
  background:#fff!important;
}


/* MAP_QUESTION_FOOTER_MERGE_01 */
body:has(#portal-question){
  padding-bottom:118px!important;
}

.continuous-question:has(#portal-question){
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  padding-top:8px!important;
  padding-bottom:5px!important;
}

.continuous-question:has(#portal-question)
.map-dock-footer-meta{
  width:min(1100px,100%)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:16px!important;
  color:#aaa!important;
  font-size:11px!important;
  line-height:1.25!important;
}

.map-dock-footer-meta .footer-top,
.map-dock-footer-meta .footer-copyright,
.map-dock-footer-meta .footer-disclaimer,
.map-dock-footer-meta .footer-policy{
  margin:0!important;
  padding:0!important;
}

.map-dock-footer-meta .footer-copyright{
  color:#ddd!important;
  white-space:nowrap!important;
  font-size:11px!important;
}

.map-dock-footer-meta .footer-disclaimer{
  min-width:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  color:#888!important;
}

.map-dock-footer-meta .footer-disclaimer span{
  display:none!important;
}

.map-dock-footer-meta .footer-disclaimer span:first-child{
  display:block!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}

.map-dock-footer-meta .footer-policy{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  white-space:nowrap!important;
}

.map-dock-footer-meta .footer-policy-mark{
  color:#ed1c24!important;
}

.map-dock-footer-meta .footer-policy label{
  color:#aaa!important;
  font-size:11px!important;
}

.map-dock-footer-meta .footer-policy select{
  min-height:26px!important;
  padding:3px 24px 3px 8px!important;
  border:1px solid #444!important;
  border-radius:7px!important;
  background:#222!important;
  color:#ddd!important;
  font-size:11px!important;
}

.site-footer.map-footer-merged{
  display:none!important;
}

@media(max-width:760px){
  body:has(#portal-question){
    padding-bottom:94px!important;
  }

  .continuous-question:has(#portal-question)
  .map-dock-footer-meta{
    display:flex!important;
    justify-content:space-between!important;
    gap:8px!important;
  }

  .map-dock-footer-meta .footer-disclaimer,
  .map-dock-footer-meta .footer-policy label,
  .map-dock-footer-meta .footer-policy-mark{
    display:none!important;
  }

  .map-dock-footer-meta .footer-copyright{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size:9px!important;
  }

  .map-dock-footer-meta .footer-policy select{
    max-width:128px!important;
    font-size:10px!important;
  }
}

/* MAP_DOCK_FOOTER_VISIBLE_FIX_04 */
body:has(#portal-question){
  padding-bottom:126px!important;
}

.continuous-question:has(#portal-question){
  bottom:34px!important;
  padding-bottom:7px!important;
}

.continuous-question:has(#portal-question)
.map-dock-footer-meta{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:2001!important;
  width:100%!important;
  height:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0 max(24px,calc((100% - 1420px)/2))!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
  overflow:visible!important;
  visibility:visible!important;
  opacity:1!important;
  background:#171717!important;
  border-top:1px solid #292929!important;
  color:#aaa!important;
  box-sizing:border-box!important;
}

.map-dock-footer-meta .footer-top,
.map-dock-footer-meta .footer-copyright,
.map-dock-footer-meta .footer-disclaimer,
.map-dock-footer-meta .footer-policy{
  position:static!important;
  inset:auto!important;
  width:auto!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  display:block!important;
}

.map-dock-footer-meta .footer-copyright{
  color:#ccc!important;
  font-size:10px!important;
  line-height:1!important;
  white-space:nowrap!important;
}

.map-dock-footer-meta .footer-disclaimer{
  min-width:0!important;
  overflow:hidden!important;
  color:#777!important;
  font-size:10px!important;
  line-height:1!important;
  text-align:left!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  border:0!important;
}

.map-dock-footer-meta .footer-disclaimer span{
  display:none!important;
}

.map-dock-footer-meta .footer-disclaimer span:first-child{
  display:block!important;
  overflow:hidden!important;
  font-size:10px!important;
  line-height:1!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}

.map-dock-footer-meta .footer-policy{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  white-space:nowrap!important;
}

.map-dock-footer-meta .footer-policy label{
  color:#aaa!important;
  font-size:10px!important;
}

.map-dock-footer-meta .footer-policy select{
  width:auto!important;
  min-width:145px!important;
  height:25px!important;
  padding:2px 24px 2px 8px!important;
  border:1px solid #444!important;
  border-radius:6px!important;
  background:#222!important;
  color:#ddd!important;
  font-size:10px!important;
}

@media(max-width:760px){
  body:has(#portal-question){
    padding-bottom:112px!important;
  }

  .continuous-question:has(#portal-question){
    bottom:30px!important;
  }

  .continuous-question:has(#portal-question)
  .map-dock-footer-meta{
    height:30px!important;
    min-height:30px!important;
    padding:0 8px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:6px!important;
  }

  .map-dock-footer-meta .footer-disclaimer,
  .map-dock-footer-meta .footer-policy label,
  .map-dock-footer-meta .footer-policy-mark{
    display:none!important;
  }

  .map-dock-footer-meta .footer-copyright{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size:9px!important;
  }

  .map-dock-footer-meta .footer-policy select{
    min-width:118px!important;
    max-width:118px!important;
    height:23px!important;
  }
}

/* MAP_DOCK_FOOTER_TEXT_VISIBLE_05 */
.map-dock-footer-meta,
.map-dock-footer-meta *,
.map-dock-footer-meta p,
.map-dock-footer-meta span,
.map-dock-footer-meta label{
  visibility:visible!important;
  opacity:1!important;
  text-indent:0!important;
  filter:none!important;
}

.map-dock-footer-meta{
  background:#171717!important;
  color:#bdbdbd!important;
}

.map-dock-footer-meta .footer-top{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}

.map-dock-footer-meta .footer-copyright{
  display:block!important;
  position:static!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:400!important;
  line-height:1.2!important;
}

.map-dock-footer-meta .footer-disclaimer{
  display:block!important;
  color:#aaa!important;
  font-size:10px!important;
  line-height:1.2!important;
}

.map-dock-footer-meta
.footer-disclaimer span:first-child{
  display:block!important;
  color:#aaa!important;
  font-size:10px!important;
}

.map-dock-footer-meta .footer-policy{
  display:flex!important;
  position:static!important;
  align-items:center!important;
  justify-content:flex-end!important;
}

.map-dock-footer-meta .footer-policy-mark{
  display:inline!important;
  color:#ed1c24!important;
}

.map-dock-footer-meta .footer-policy label{
  display:inline!important;
  color:#ddd!important;
  font-size:10px!important;
}

.map-dock-footer-meta .footer-policy select{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  background:#2a2a2a!important;
  border-color:#555!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

.map-dock-footer-meta .footer-policy option{
  background:#fff!important;
  color:#171717!important;
}

@media(max-width:760px){
  .map-dock-footer-meta .footer-disclaimer,
  .map-dock-footer-meta .footer-policy label,
  .map-dock-footer-meta .footer-policy-mark{
    display:none!important;
  }
}


/* MAP_FIXED_FOOTER_STANDALONE_STYLE_06 */
#map-fixed-footer-info{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:99999!important;
  width:100%!important;
  height:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0 max(24px,calc((100% - 1420px)/2))!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
  overflow:visible!important;
  visibility:visible!important;
  opacity:1!important;
  background:#171717!important;
  border-top:1px solid #333!important;
  color:#fff!important;
  box-sizing:border-box!important;
}

#map-fixed-footer-info .footer-top,
#map-fixed-footer-info .footer-copyright,
#map-fixed-footer-info .footer-disclaimer,
#map-fixed-footer-info .footer-policy{
  position:static!important;
  inset:auto!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  visibility:visible!important;
  opacity:1!important;
}

#map-fixed-footer-info .footer-top{
  display:flex!important;
  align-items:center!important;
}

#map-fixed-footer-info .footer-copyright{
  display:block!important;
  color:#fff!important;
  font-size:11px!important;
  line-height:1!important;
  white-space:nowrap!important;
}

#map-fixed-footer-info .footer-disclaimer{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  color:#aaa!important;
  font-size:10px!important;
  line-height:1!important;
  text-align:left!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  border:0!important;
}

#map-fixed-footer-info
.footer-disclaimer span{
  display:none!important;
}

#map-fixed-footer-info
.footer-disclaimer span:first-child{
  display:block!important;
  overflow:hidden!important;
  color:#aaa!important;
  font-size:10px!important;
  line-height:1!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}

#map-fixed-footer-info .footer-policy{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  white-space:nowrap!important;
}

#map-fixed-footer-info .footer-policy-mark{
  display:inline!important;
  color:#ed1c24!important;
}

#map-fixed-footer-info .footer-policy label{
  display:inline!important;
  color:#ddd!important;
  font-size:10px!important;
}

#map-fixed-footer-info .footer-policy select{
  display:block!important;
  min-width:145px!important;
  width:auto!important;
  height:25px!important;
  padding:2px 24px 2px 8px!important;
  border:1px solid #555!important;
  border-radius:6px!important;
  background:#292929!important;
  color:#fff!important;
  font-size:10px!important;
  opacity:1!important;
  visibility:visible!important;
  -webkit-text-fill-color:#fff!important;
}

@media(max-width:760px){
  #map-fixed-footer-info{
    height:30px!important;
    min-height:30px!important;
    padding:0 8px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:6px!important;
  }

  #map-fixed-footer-info .footer-disclaimer,
  #map-fixed-footer-info .footer-policy label,
  #map-fixed-footer-info .footer-policy-mark{
    display:none!important;
  }

  #map-fixed-footer-info .footer-copyright{
    overflow:hidden!important;
    font-size:9px!important;
    text-overflow:ellipsis!important;
  }

  #map-fixed-footer-info .footer-policy select{
    min-width:118px!important;
    max-width:118px!important;
    height:23px!important;
  }
}

/* MAP_FIXED_FOOTER_FONT_NORMAL_07 */
#map-fixed-footer-info,
#map-fixed-footer-info *,
#map-fixed-footer-info p,
#map-fixed-footer-info span,
#map-fixed-footer-info label,
#map-fixed-footer-info select,
#map-fixed-footer-info option{
  font-family:
    "Malgun Gothic",
    "Apple SD Gothic Neo",
    Arial,
    sans-serif!important;
  font-style:normal!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

#map-fixed-footer-info{
  height:38px!important;
  min-height:38px!important;
}

.continuous-question:has(#portal-question){
  bottom:38px!important;
}

#map-fixed-footer-info .footer-copyright{
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.4!important;
}

#map-fixed-footer-info .footer-disclaimer,
#map-fixed-footer-info
.footer-disclaimer span:first-child{
  font-size:11px!important;
  font-weight:400!important;
  line-height:1.4!important;
}

#map-fixed-footer-info .footer-policy label{
  font-size:11px!important;
  font-weight:400!important;
  line-height:1.4!important;
}

#map-fixed-footer-info .footer-policy select{
  height:27px!important;
  font-size:11px!important;
  font-weight:400!important;
  line-height:1.2!important;
}

@media(max-width:760px){
  #map-fixed-footer-info{
    height:32px!important;
    min-height:32px!important;
  }

  .continuous-question:has(#portal-question){
    bottom:32px!important;
  }

  #map-fixed-footer-info .footer-copyright{
    font-size:10px!important;
  }

  #map-fixed-footer-info .footer-policy select{
    height:24px!important;
    font-size:10px!important;
  }
}

/* MAP_FOOTER_CENTER_TWO_LINES_08 */
#map-fixed-footer-info{
  position:fixed!important;
  height:54px!important;
  min-height:54px!important;
  padding:6px 220px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
}

.continuous-question:has(#portal-question){
  bottom:54px!important;
}

#map-fixed-footer-info .footer-top{
  position:static!important;
  width:100%!important;
  min-height:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

#map-fixed-footer-info .footer-copyright{
  position:static!important;
  width:100%!important;
  margin:0!important;
  transform:none!important;
  color:#fff!important;
  font-size:12px!important;
  line-height:1.3!important;
  text-align:center!important;
}

#map-fixed-footer-info .footer-disclaimer{
  position:static!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  color:#aaa!important;
  font-size:11px!important;
  line-height:1.3!important;
  text-align:center!important;
  white-space:nowrap!important;
}

#map-fixed-footer-info
.footer-disclaimer span{
  display:none!important;
}

#map-fixed-footer-info
.footer-disclaimer span:first-child{
  display:block!important;
  width:100%!important;
  margin:0!important;
  color:#aaa!important;
  font-size:11px!important;
  line-height:1.3!important;
  text-align:center!important;
  white-space:nowrap!important;
}

#map-fixed-footer-info .footer-policy{
  position:absolute!important;
  top:50%!important;
  right:max(24px,calc((100% - 1420px)/2))!important;
  left:auto!important;
  width:auto!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
}

@media(max-width:760px){
  #map-fixed-footer-info{
    height:48px!important;
    min-height:48px!important;
    padding:5px 130px 5px 8px!important;
    align-items:flex-start!important;
  }

  .continuous-question:has(#portal-question){
    bottom:48px!important;
  }

  #map-fixed-footer-info .footer-copyright{
    font-size:10px!important;
    text-align:left!important;
  }

  #map-fixed-footer-info .footer-disclaimer,
  #map-fixed-footer-info
  .footer-disclaimer span:first-child{
    overflow:hidden!important;
    font-size:9px!important;
    text-align:left!important;
    text-overflow:ellipsis!important;
  }

  #map-fixed-footer-info .footer-policy{
    right:8px!important;
  }
}

/* MAP_FOOTER_FONT_PLUS_TWO_09 */
#map-fixed-footer-info .footer-copyright{
  font-size:14px!important;
}

#map-fixed-footer-info .footer-disclaimer,
#map-fixed-footer-info
.footer-disclaimer span:first-child{
  font-size:13px!important;
}

#map-fixed-footer-info .footer-policy label,
#map-fixed-footer-info .footer-policy select{
  font-size:13px!important;
}

@media(max-width:760px){
  #map-fixed-footer-info .footer-copyright{
    font-size:12px!important;
  }

  #map-fixed-footer-info .footer-disclaimer,
  #map-fixed-footer-info
  .footer-disclaimer span:first-child{
    font-size:11px!important;
  }

  #map-fixed-footer-info .footer-policy select{
    font-size:12px!important;
  }
}

/* MAP_FOOTER_FIRST_LINE_ALIGN_PLUS_TWO_10 */
#map-fixed-footer-info{
  height:64px!important;
  min-height:64px!important;
  padding-top:7px!important;
  padding-bottom:7px!important;
  gap:4px!important;
}

.continuous-question:has(#portal-question){
  bottom:64px!important;
}

#map-fixed-footer-info .footer-top{
  height:24px!important;
  min-height:24px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

#map-fixed-footer-info .footer-copyright{
  font-size:16px!important;
  line-height:24px!important;
}

#map-fixed-footer-info .footer-disclaimer,
#map-fixed-footer-info
.footer-disclaimer span:first-child{
  font-size:15px!important;
  line-height:20px!important;
}

#map-fixed-footer-info .footer-policy{
  position:absolute!important;
  top:7px!important;
  right:max(24px,calc((100% - 1420px)/2))!important;
  bottom:auto!important;
  transform:none!important;
  height:30px!important;
  display:flex!important;
  align-items:center!important;
}

#map-fixed-footer-info .footer-policy label,
#map-fixed-footer-info .footer-policy select{
  font-size:15px!important;
}

#map-fixed-footer-info .footer-policy select{
  height:30px!important;
}

@media(max-width:760px){
  #map-fixed-footer-info{
    height:56px!important;
    min-height:56px!important;
    padding-top:5px!important;
    padding-bottom:5px!important;
  }

  .continuous-question:has(#portal-question){
    bottom:56px!important;
  }

  #map-fixed-footer-info .footer-copyright{
    font-size:14px!important;
    line-height:22px!important;
  }

  #map-fixed-footer-info .footer-disclaimer,
  #map-fixed-footer-info
  .footer-disclaimer span:first-child{
    font-size:13px!important;
    line-height:18px!important;
  }

  #map-fixed-footer-info .footer-policy{
    top:5px!important;
    right:8px!important;
    height:27px!important;
  }

  #map-fixed-footer-info .footer-policy select{
    height:27px!important;
    font-size:13px!important;
  }
}


/* MAP_FOOTER_FULL_DISCLAIMER_NO_LINE_11 */
#map-fixed-footer-info{
  height:84px!important;
  min-height:84px!important;
  border-top:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
}

.continuous-question:has(#portal-question){
  bottom:84px!important;
  border-bottom:0!important;
}

#map-fixed-footer-info .footer-disclaimer,
#map-fixed-footer-info
.footer-disclaimer span:first-child{
  display:block!important;
  width:100%!important;
  max-width:1380px!important;
  margin:0 auto!important;
  overflow:visible!important;
  color:#aaa!important;
  font-size:15px!important;
  line-height:1.45!important;
  text-align:center!important;
  white-space:normal!important;
  text-overflow:clip!important;
  word-break:keep-all!important;
  border:0!important;
}

@media(max-width:760px){
  #map-fixed-footer-info{
    height:72px!important;
    min-height:72px!important;
    border:0!important;
  }

  .continuous-question:has(#portal-question){
    bottom:72px!important;
    border-bottom:0!important;
  }

  #map-fixed-footer-info .footer-disclaimer,
  #map-fixed-footer-info
  .footer-disclaimer span:first-child{
    max-height:38px!important;
    overflow:hidden!important;
    font-size:11px!important;
    line-height:1.45!important;
    text-align:left!important;
    word-break:break-all!important;
  }
}

/* MAP_AI_SERVICE_NAME_BADGE_01 */
#portal-workspace
.ai-result-card
.result-name{
  display:flex!important;
  align-items:center!important;
  margin-bottom:12px!important;
}

#portal-workspace
.ai-result-card
.result-name b,

#portal-workspace
.portal-search-session
.result-name b{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;

  min-height:30px!important;
  margin:0!important;
  padding:5px 13px!important;

  background:#ed1c24!important;
  border:1px solid #ed1c24!important;
  border-radius:7px!important;
  box-shadow:0 3px 9px rgba(237,28,36,.16)!important;

  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}

@media(max-width:600px){
  #portal-workspace
  .ai-result-card
  .result-name b,

  #portal-workspace
  .portal-search-session
  .result-name b{
    min-height:27px!important;
    padding:4px 10px!important;
    border-radius:6px!important;
    font-size:13px!important;
  }
}

/* MAP_AI_SERVICE_FULL_WIDTH_BAR_02 */
#portal-workspace
.ai-result-card
.result-name,

#portal-workspace
.portal-search-session
.result-name{
  display:flex!important;
  align-items:center!important;

  width:100%!important;
  min-height:40px!important;
  margin:0 0 14px!important;
  padding:8px 15px!important;

  background:#ed1c24!important;
  border:0!important;
  border-radius:7px!important;
  box-shadow:0 3px 10px rgba(237,28,36,.15)!important;
  box-sizing:border-box!important;
}

#portal-workspace
.ai-result-card
.result-name b,

#portal-workspace
.portal-search-session
.result-name b{
  display:block!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;

  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;

  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:15px!important;
  font-weight:600!important;
  line-height:1.4!important;
}

@media(max-width:600px){
  #portal-workspace
  .ai-result-card
  .result-name,

  #portal-workspace
  .portal-search-session
  .result-name{
    min-height:36px!important;
    margin-bottom:11px!important;
    padding:7px 11px!important;
    border-radius:6px!important;
  }

  #portal-workspace
  .ai-result-card
  .result-name b,

  #portal-workspace
  .portal-search-session
  .result-name b{
    font-size:14px!important;
  }
}

/* MAP_RESULT_QUESTION_LABEL_01 */
#portal-workspace
.result-question{
  display:block!important;
  margin:0!important;
  padding:14px 16px!important;

  background:#faf9f7!important;
  border:1px solid #e7e2dd!important;
  border-radius:8px!important;

  color:#222!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:1.55!important;
  white-space:pre-wrap!important;
  word-break:keep-all!important;
}

#portal-workspace
.result-question::before{
  content:"[질문내용]";
  display:block!important;
  margin:0 0 8px!important;

  color:#ed1c24!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:1.2!important;
}

#portal-workspace
.portal-search-session
.result-question{
  margin-bottom:14px!important;
}

@media(max-width:600px){
  #portal-workspace
  .result-question{
    padding:12px!important;
    font-size:15px!important;
  }

  #portal-workspace
  .result-question::before{
    margin-bottom:6px!important;
    font-size:13px!important;
  }
}


/* EXTERNAL_AI_SOURCES_COLLAPSED_STYLE_02 */
#portal-workspace
.external-ai-sources-collapsed{
  margin-top:16px!important;
  padding:0!important;
  border:1px solid #e4e4e4!important;
  border-radius:8px!important;
  background:#fafafa!important;
}

#portal-workspace
.external-ai-sources-collapsed summary{
  padding:10px 13px!important;
  color:#555!important;
  font-size:13px!important;
  font-weight:500!important;
  cursor:pointer!important;
  list-style-position:inside!important;
}

#portal-workspace
.external-ai-sources-collapsed[open] summary{
  border-bottom:1px solid #e4e4e4!important;
}

#portal-workspace
.external-ai-sources-collapsed ol{
  margin:0!important;
  padding:12px 18px 12px 36px!important;
}

#portal-workspace
.external-ai-sources-collapsed li{
  margin:5px 0!important;
  font-size:13px!important;
  line-height:1.5!important;
}

#portal-workspace
.external-ai-sources-collapsed a{
  color:#555!important;
  overflow-wrap:anywhere!important;
}


/* PORTAL_OLD_SOURCE_TOGGLE_STYLE_01 */
#portal-workspace
.result-inline-tools
.source-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

#portal-workspace
.live-result-source-detail{
  margin:12px 0 16px!important;
  padding:15px 18px!important;
  background:#faf9f7!important;
  border:1px solid #e7e2dd!important;
  border-radius:8px!important;
}

#portal-workspace
.live-result-source-detail[hidden]{
  display:none!important;
}

#portal-workspace
.live-result-source-detail strong{
  display:block!important;
  margin-bottom:10px!important;
  color:#333!important;
  font-size:14px!important;
}

#portal-workspace
.live-result-source-detail ol{
  margin:0!important;
  padding-left:22px!important;
}

#portal-workspace
.live-result-source-detail li{
  margin:6px 0!important;
  line-height:1.5!important;
}

#portal-workspace
.live-result-source-detail a{
  color:#555!important;
  overflow-wrap:anywhere!important;
}


/* MAP_STREAMING_SERVICE_GRID_5X10_20260902 */
.streaming-screen-inner{
  padding-top:38px;
}

.streaming-category-filter{
  display:flex;
  flex-direction:column;
  gap:11px;
  margin-top:18px;
  padding:16px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.streaming-category-row{
  display:grid;
  grid-template-columns:58px 1fr;
  align-items:start;
  gap:12px;
}

.streaming-category-row>b{
  padding-top:8px;
  font-size:15px;
}

.streaming-category-row>div{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.streaming-category-row button{
  min-height:34px;
  padding:6px 12px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:#555;
  font-size:14px;
  cursor:pointer;
}

.streaming-category-row button:hover,
.streaming-category-row button.active{
  border-color:var(--red);
  background:var(--red);
  color:#fff;
}

.streaming-search-box{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  margin-top:18px;
}

.streaming-search-box input{
  width:100%;
  min-width:0;
  height:46px;
  padding:0 15px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  font-size:15px;
  outline:none;
}

.streaming-search-box input:focus{
  border-color:var(--red);
}

.streaming-search-box button{
  min-width:88px;
  border:0;
  border-radius:8px;
  background:var(--red);
  color:#fff;
  font-weight:800;
  cursor:pointer;
}

.streaming-search-guide{
  margin:10px 0 0;
  color:#777;
  font-size:14px;
}

.streaming-result-area{
  margin-top:25px;
}

.streaming-result-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:14px;
}

.streaming-result-header span{
  font-size:15px;
  font-weight:800;
}

.streaming-result-header em{
  color:#777;
  font-size:14px;
  font-style:normal;
}

.streaming-card-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  align-items:start;
}

.streaming-card{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  transition:border-color .2s,transform .2s,box-shadow .2s;
}

.streaming-card:hover{
  border-color:#aaa;
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(0,0,0,.06);
}

.streaming-card-link{
  display:block;
  color:inherit;
  text-decoration:none;
}

.streaming-card-image{
  position:relative;
  display:grid;
  width:100%;
  aspect-ratio:16/9;
  place-items:center;
  overflow:hidden;
  background:#f1efeb;
}

.streaming-card-image.tone-1{background:#f3eeee}
.streaming-card-image.tone-2{background:#eef1ed}
.streaming-card-image.tone-3{background:#efeff3}
.streaming-card-image.tone-4{background:#f3f1eb}

.streaming-play{
  display:grid;
  width:44px;
  height:44px;
  padding-left:3px;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:var(--red);
  box-shadow:0 3px 14px rgba(0,0,0,.12);
}

.streaming-card-image>em{
  position:absolute;
  right:7px;
  bottom:7px;
  padding:3px 5px;
  border-radius:4px;
  background:rgba(0,0,0,.78);
  color:#fff;
  font-size:11px;
  font-style:normal;
}

.streaming-card-body{
  padding:11px;
}

.streaming-card h3{
  display:-webkit-box;
  min-height:42px;
  margin:0;
  overflow:hidden;
  color:#171717;
  font-size:15px;
  line-height:1.4;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.streaming-channel{
  margin:7px 0 9px;
  overflow:hidden;
  color:#777;
  font-size:13px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.streaming-card-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  padding-top:8px;
  border-top:1px solid #eee;
  color:#777;
  font-size:12px;
}

.streaming-card-meta span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.streaming-pagination{
  display:flex;
  justify-content:center;
  gap:7px;
  margin-top:28px;
}

.streaming-pagination button{
  display:grid;
  width:36px;
  height:36px;
  place-items:center;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  color:#555;
  cursor:pointer;
}

.streaming-pagination button.active{
  border-color:var(--red);
  background:var(--red);
  color:#fff;
}

.streaming-empty{
  grid-column:1/-1;
  padding:60px 20px;
  border:1px dashed var(--line);
  border-radius:10px;
  color:#777;
  text-align:center;
}

@media(max-width:1100px){
  .streaming-card-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media(max-width:900px){
  .streaming-card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:700px){
  .streaming-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:430px){
  .streaming-card-grid{
    grid-template-columns:1fr;
  }

  .streaming-category-row{
    grid-template-columns:1fr;
  }

  .streaming-search-box{
    grid-template-columns:1fr;
  }

  .streaming-search-box button{
    height:44px;
  }
}


/* MAP_IMAGE_SERVICE_GRID_5X10_20260902 */
.image-screen-inner{
  padding-top:38px;
}

.image-category-filter{
  margin-top:18px;
  padding:16px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.image-category-row{
  display:grid;
  grid-template-columns:58px 1fr;
  align-items:start;
  gap:12px;
}

.image-category-row>b{
  padding-top:8px;
  font-size:15px;
}

.image-category-row>div{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.image-category-row button{
  min-height:34px;
  padding:6px 12px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:#555;
  font-size:14px;
  cursor:pointer;
}

.image-category-row button:hover,
.image-category-row button.active{
  border-color:var(--red);
  background:var(--red);
  color:#fff;
}

.image-search-box{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  margin-top:18px;
}

.image-search-box input{
  width:100%;
  height:46px;
  padding:0 15px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  font-size:15px;
  outline:none;
}

.image-search-box input:focus{
  border-color:var(--red);
}

.image-search-box button{
  min-width:88px;
  border:0;
  border-radius:8px;
  background:var(--red);
  color:#fff;
  font-weight:800;
  cursor:pointer;
}

.image-search-guide{
  margin:10px 0 0;
  color:#777;
  font-size:14px;
}

.image-result-area{
  margin-top:25px;
}

.image-result-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:14px;
}

.image-result-header span{
  font-size:15px;
  font-weight:800;
}

.image-result-header em{
  color:#777;
  font-size:14px;
  font-style:normal;
}

.image-card-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  align-items:start;
}

.image-card{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  transition:border-color .2s,transform .2s,box-shadow .2s;
}

.image-card:hover{
  border-color:#aaa;
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(0,0,0,.06);
}

.image-card-link{
  display:block;
  color:inherit;
  text-decoration:none;
}

.image-card-visual{
  display:grid;
  width:100%;
  aspect-ratio:1/1;
  place-items:center;
  overflow:hidden;
  background:#f1efeb;
}

.image-card-visual.tone-1{background:#f3eeee}
.image-card-visual.tone-2{background:#eef1ed}
.image-card-visual.tone-3{background:#efeff3}
.image-card-visual.tone-4{background:#f3f1eb}

.image-card-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.image-card-visual span{
  display:grid;
  width:62px;
  height:62px;
  place-items:center;
  border:1px solid #aaa;
  border-radius:50%;
  background:#fff;
  color:#555;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
}

.image-card-body{
  padding:11px;
}

.image-card h3{
  display:-webkit-box;
  min-height:42px;
  margin:0;
  overflow:hidden;
  color:#171717;
  font-size:15px;
  line-height:1.4;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.image-author{
  margin:7px 0 9px;
  overflow:hidden;
  color:#777;
  font-size:13px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.image-card-meta{
  display:flex;
  justify-content:space-between;
  gap:6px;
  padding-top:8px;
  border-top:1px solid #eee;
  color:#777;
  font-size:12px;
}

.image-card-meta span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.image-pagination{
  display:flex;
  justify-content:center;
  gap:7px;
  margin-top:28px;
}

.image-pagination button{
  display:grid;
  width:36px;
  height:36px;
  place-items:center;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  color:#555;
  cursor:pointer;
}

.image-pagination button.active{
  border-color:var(--red);
  background:var(--red);
  color:#fff;
}

.image-empty{
  grid-column:1/-1;
  padding:60px 20px;
  border:1px dashed var(--line);
  border-radius:10px;
  color:#777;
  text-align:center;
}

@media(max-width:1100px){
  .image-card-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media(max-width:900px){
  .image-card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:700px){
  .image-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:430px){
  .image-card-grid{
    grid-template-columns:1fr;
  }

  .image-category-row,
  .image-search-box{
    grid-template-columns:1fr;
  }

  .image-search-box button{
    height:44px;
  }
}


/* MAP_MUSIC_SERVICE_GRID_5X10_20260902 */
.music-screen-inner{
  padding-top:38px;
}

.music-card-visual{
  position:relative;
}

.music-card-visual .music-note{
  display:grid;
  width:66px;
  height:66px;
  place-items:center;
  border:1px solid #aaa;
  border-radius:50%;
  background:#fff;
  color:var(--red);
  font-size:32px;
  font-weight:700;
}

.music-play{
  position:absolute;
  right:9px;
  bottom:9px;
  display:grid;
  width:34px;
  height:34px;
  padding-left:2px;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:var(--red);
  font-size:12px;
  font-style:normal;
  box-shadow:0 3px 12px rgba(0,0,0,.14);
}

.music-duration{
  position:absolute;
  left:8px;
  bottom:9px;
  padding:3px 5px;
  border-radius:4px;
  background:rgba(0,0,0,.75);
  color:#fff;
  font-size:11px;
  font-style:normal;
}


/* MAP_SHOPPING_SERVICE_GRID_5X10_20260902 */
.shopping-screen-inner{
  padding-top:38px;
}

.shopping-card-visual{
  position:relative;
}

.shopping-card-visual .shopping-symbol{
  display:grid;
  width:68px;
  height:68px;
  place-items:center;
  border:1px solid #aaa;
  border-radius:50%;
  background:#fff;
  color:var(--red);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}

.shopping-badge{
  position:absolute;
  top:8px;
  left:8px;
  padding:4px 7px;
  border-radius:999px;
  background:var(--red);
  color:#fff;
  font-size:11px;
  font-style:normal;
  font-weight:800;
}

.shopping-price{
  display:block;
  margin:0 0 9px;
  color:#171717;
  font-size:16px;
  line-height:1.2;
}


/* MAP_RESIDENCE_LOCATION_SCREEN_20260902 */
.map-location-screen-inner{
  padding-top:38px;
}

.map-location-search{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  margin-top:20px;
}

.map-location-search input{
  width:100%;
  min-width:0;
  height:50px;
  padding:0 16px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  font-size:16px;
  outline:none;
}

.map-location-search input:focus{
  border-color:var(--red);
}

.map-location-search button{
  min-width:110px;
  border:0;
  border-radius:9px;
  background:var(--red);
  color:#fff;
  font-weight:800;
  cursor:pointer;
}

.map-location-search button:disabled{
  cursor:not-allowed;
  opacity:.45;
}

.map-current-location{
  margin-top:15px;
  padding:17px 19px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
}

.map-current-location>span,
.map-location-view-head span{
  display:block;
  color:var(--red);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
}

.map-current-location>strong{
  display:block;
  margin-top:5px;
  font-size:20px;
}

.map-current-location>p{
  margin:5px 0 0;
  color:#777;
  font-size:13px;
}

.map-guest-earth{
  display:grid;
  grid-template-columns:300px 1fr;
  align-items:center;
  gap:50px;
  min-height:450px;
  margin-top:18px;
  padding:45px 55px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:14px;
  background:
    radial-gradient(circle at 20% 20%,#fff 0,#f6f8fa 55%,#eceff2 100%);
}

.map-earth-visual{
  position:relative;
  width:280px;
  height:280px;
  overflow:hidden;
  border:8px solid rgba(255,255,255,.9);
  border-radius:50%;
  background:
    radial-gradient(circle at 32% 28%,#8dd7ff 0,#258bcc 56%,#07528b 100%);
  box-shadow:
    inset -28px -20px 38px rgba(0,0,0,.22),
    0 22px 55px rgba(0,70,120,.2);
}

.map-earth-visual::before,
.map-earth-visual::after{
  position:absolute;
  content:"";
  border:1px solid rgba(255,255,255,.26);
  border-radius:50%;
}

.map-earth-visual::before{
  inset:18% -12%;
}

.map-earth-visual::after{
  inset:-12% 30%;
}

.map-earth-land{
  position:absolute;
  display:block;
  background:#78b95c;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.12));
}

.map-earth-land.land-one{
  top:19%;
  left:14%;
  width:38%;
  height:31%;
  border-radius:62% 38% 54% 46%;
  transform:rotate(-18deg);
}

.map-earth-land.land-two{
  top:49%;
  left:39%;
  width:26%;
  height:37%;
  border-radius:44% 56% 68% 32%;
  transform:rotate(19deg);
}

.map-earth-land.land-three{
  top:24%;
  right:8%;
  width:25%;
  height:20%;
  border-radius:65% 35% 58% 42%;
  transform:rotate(12deg);
}

.map-guest-earth>div:last-child>span{
  color:var(--red);
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
}

.map-guest-earth h3{
  margin:8px 0 11px;
  font-size:28px;
}

.map-guest-earth p{
  max-width:520px;
  margin:0 0 20px;
  color:#666;
  line-height:1.75;
}

.map-guest-earth button{
  min-width:100px;
  height:42px;
  border:0;
  border-radius:8px;
  background:var(--red);
  color:#fff;
  font-weight:800;
  cursor:pointer;
}

.map-location-view{
  margin-top:18px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
}

.map-location-view-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:14px 17px;
  border-bottom:1px solid var(--line);
}

.map-location-view-head strong{
  display:block;
  margin-top:3px;
  font-size:17px;
}

.map-location-view-head button{
  min-height:36px;
  padding:6px 11px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  color:#555;
  cursor:pointer;
}

#mapLocationFrame{
  display:block;
  width:100%;
  height:520px;
  border:0;
  background:#eef1f3;
}

.map-location-message{
  min-height:20px;
  margin:10px 2px 0;
  color:#777;
  font-size:13px;
}

@media(max-width:760px){
  .map-guest-earth{
    grid-template-columns:1fr;
    justify-items:center;
    gap:25px;
    padding:32px 22px;
    text-align:center;
  }

  .map-earth-visual{
    width:220px;
    height:220px;
  }

  #mapLocationFrame{
    height:420px;
  }
}

@media(max-width:520px){
  .map-location-search{
    grid-template-columns:1fr;
  }

  .map-location-search button{
    height:44px;
  }

  .map-location-view-head{
    align-items:flex-start;
    flex-direction:column;
  }

  #mapLocationFrame{
    height:360px;
  }
}


/* MAP_LEAFLET_LOCATION_STYLE_20260902 */
#mapLocationFrame{
  display:none!important;
}

#mapLeaflet{
  display:block;
  width:100%;
  height:520px;
  z-index:1;
  background:#e8edf0;
  cursor:grab;
}

#mapLeaflet:active{
  cursor:grabbing;
}

#mapLeaflet .leaflet-control-zoom a{
  color:#222;
  text-decoration:none;
}

#mapLeaflet .leaflet-popup-content{
  min-width:150px;
  margin:13px 17px;
  color:#222;
  font-size:13px;
  line-height:1.5;
}

#mapLeaflet .leaflet-control-attribution{
  font-size:10px;
}

@media(max-width:760px){
  #mapLeaflet{
    height:420px;
  }
}

@media(max-width:520px){
  #mapLeaflet{
    height:360px;
  }
}
