/* Allowlisted Hobbyon UI excerpts. Do not edit; theme overrides live in theme.css. */

/* Source: src/frontend/styles/00-foundation.css lines 1-20, 58-62, 65-81, 92-102, 116-130, 142-142 */
:root{
  /* 색 변경 전 다크 민트 시각 시스템. 기능과 데이터는 그대로 유지한다. */
  --page:#111416; --surface:#1a1f21; --surface2:#202628; --line:#30383a;
  --ink:#f3f1ec; --sub:#a7acab;
  --accent:#98d8c2; --accent-fg:#98d8c2; --accent-d:#7cc4ac; --accent-ink:#0d1a15; --accent-bg:#1c2f28;
  --muted-green:#315143;
  --ok:#7ee2b8; --ok-solid:#1f5c44;
  --warn:#ff9686; --warn-solid:#6e2a20;
  /* 라운지(플레이어 커뮤니티) 전용 보조 강조색 -- lounge.css가 폴백으로도 참조한다 */
  --coral:#ff8a75; --teal:#4f9484;
  /* 하위 호환: 과거 --bg/--bg2 이름을 계속 쓰는 규칙이 있다면 새 표면 토큰을 그대로 가리키게 한다 */
  --bg:var(--page); --bg2:var(--surface2);
  --radius:12px; --container:1200px;
  /* 타이포그래피 척도(handoff/ui-typography-density-20260928.md) -- 화면마다 임의의 style="font-size:..."를
     흩어놓지 않고, 여기 정의된 값만 재사용한다. 가격은 항상 같은 줄의 제목/본문보다 크고 굵게 남아
     가장 먼저 눈에 들어오는 숫자여야 한다는 요구를 만족하도록 --fs-price를 --fs-body보다 확실히 키운다. */
  --fs-body:16px; --fs-small:14px; --fs-meta:14px; --fs-label:14px;
  --fs-price:22px; --fs-product-title:1.4rem; --fs-section:1.2rem; --fs-pagetitle:28px;
}
*{box-sizing:border-box}
html{color-scheme:dark}
html,body{margin:0;padding:0;background:var(--page);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Pretendard','Malgun Gothic',sans-serif;
  font-size:var(--fs-body);line-height:1.5;
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
input,select,textarea{font-family:inherit;font-size:var(--fs-body);color:var(--ink)}
/* 선택 항목은 클릭한 칸 바로 아래의 문서 흐름에서 펼친다. */
.gc-select-shell{display:block;position:relative;width:100%;min-width:0}
.gc-select-shell.gc-select-compact{display:inline-block;width:auto;min-width:132px;max-width:100%;vertical-align:middle}
.gc-select-shell select[hidden],.gc-select-menu[hidden]{display:none!important}
.gc-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface2);color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.gc-select-compact .gc-select-trigger{min-height:38px;padding:7px 10px;font-size:.84rem}
.gc-select-trigger::after{content:'⌄';flex:none;color:var(--sub);font-size:1.15em;line-height:1}
.gc-select-trigger:disabled{opacity:.55;cursor:default}
.gc-select-trigger:focus-visible,.gc-select-option:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.gc-select-menu{display:block;width:100%;max-height:min(240px,40vh);overflow-y:auto;overscroll-behavior:contain;margin-top:5px;border:1px solid var(--line);border-radius:8px;background:var(--surface2);box-shadow:0 8px 20px rgba(0,0,0,.22)}
.gc-select-option{display:block;width:100%;min-height:38px;padding:9px 12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.gc-select-option:last-child{border-bottom:0}
.gc-select-option:hover,.gc-select-option[aria-selected="true"]{background:var(--accent-bg);color:var(--ink)}
.gc-select-option:disabled{opacity:.55;cursor:default}
header.top{border-bottom:1px solid var(--line);position:sticky;top:var(--demobar-h,0px);background:var(--surface);z-index:20}
.top-inner{display:flex;align-items:center;gap:14px;max-width:var(--container);margin:0 auto;padding:12px 20px;flex-wrap:wrap;row-gap:10px}

.searchbar{flex:1;max-width:480px;min-width:110px}
.searchbar input{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 14px;font-size:var(--fs-body);background:var(--surface2);color:var(--ink);min-height:44px}
.searchbar input::placeholder{color:var(--sub)}
.mobile-search-toggle,.mobile-bottom-nav{display:none}
nav.desktop-nav{display:flex;gap:20px;font-size:.9rem;font-weight:700;color:var(--sub)}
@media(min-width:720px){nav.desktop-nav{gap:12px;font-size:.82rem}.top-inner{gap:10px}}
nav.desktop-nav a{padding:6px 0}
nav.desktop-nav a.active{color:var(--accent-fg)}
@media(max-width:719px){
  .searchbar{display:none;order:3;flex-basis:100%;max-width:none}
  header.top.search-open .searchbar{display:block}
  .mobile-search-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:44px;padding:0;border:0;background:none;color:var(--sub);border-radius:9px}
  .mobile-search-toggle svg{width:23px;height:23px}
  .mobile-search-toggle[aria-expanded=true]{color:var(--accent)}
  .loginbtn{display:none}
  .sellcta{padding:0 12px;font-size:.8rem}
  .mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(65px + env(safe-area-inset-bottom,0px));padding:0 4px env(safe-area-inset-bottom,0px);border-top:1px solid var(--line);background:var(--surface)}
  body.mobile-keyboard-open .mobile-bottom-nav{display:none}
  .mobile-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;min-height:58px;border-radius:8px;color:var(--sub);font-size:.7rem;font-weight:700;line-height:1.1;white-space:nowrap}
  .mobile-bottom-nav a svg{width:23px;height:23px;flex:none}
  .mobile-bottom-nav a.active,.mobile-bottom-nav a:hover{color:var(--accent)}
  .home-catalog-shortcuts{display:none}
}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Source: src/frontend/styles/10-catalog.css lines 157-168 */
.btnrow{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.btn{flex:1;text-align:center;padding:12px;border-radius:var(--radius);font-weight:800;font-size:.92rem;border:none;min-height:44px}
.btn.buy{background:var(--accent);color:var(--accent-ink)}
.btn.buy:hover{background:#a8e2cf}
.btn.buy:active{background:var(--accent-d)}
.btn.sell{background:transparent;color:var(--accent);border:1.5px solid var(--accent);padding:11.5px}
.btn.sell:hover{background:var(--accent-bg)}
.btn.sell:active{background:var(--muted-green)}
.btn.ghost{background:var(--surface2);border:1px solid var(--line);color:var(--ink)}
.btn.ghost:hover{border-color:var(--sub)}
.btn.ghost.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn:disabled{opacity:.4}

/* Source: src/frontend/styles/20-forms.css lines 8-28, 34-34, 111-116, 124-127 */
.suggest-card{display:grid;gap:22px;padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--surface);min-width:0}
.suggest-kind{border:0;padding:0;margin:0;min-width:0}
.suggest-kind legend,.suggest-field>label{display:block;padding:0;margin:0 0 9px;font-size:14px;font-weight:700;color:var(--ink)}
.suggest-kind legend{float:left;width:100%}
.suggest-kind-options{clear:both;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.suggest-kind-options label{position:relative;cursor:pointer;min-width:0}
.suggest-kind-options input{position:absolute;width:1px;height:1px;opacity:0;margin:0}
.suggest-kind-options span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px 4px;border:1px solid var(--line);border-radius:9px;background:var(--page);font-size:14px;font-weight:650;white-space:nowrap;color:var(--sub)}
.suggest-kind-options input:checked+span{border-color:var(--accent-fg);background:var(--accent-bg);color:var(--accent-fg)}
.suggest-kind-options input:focus-visible+span{outline:2px solid var(--accent-fg);outline-offset:3px}
.suggest-field{min-width:0}
.suggest-field label span{margin-left:5px;font-size:12px;font-weight:400;color:var(--sub)}
.suggest-field input,.suggest-field textarea{display:block;width:100%;max-width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--page);color:var(--ink);font:inherit;font-size:16px;line-height:1.5}
.suggest-field textarea{min-height:108px;resize:vertical}
.suggest-field input:focus,.suggest-field textarea:focus{border-color:var(--accent-fg)}
.suggest-submit{width:100%;min-height:48px;font-size:16px}
.suggest-result{padding:12px 14px;border-radius:9px;font-size:14px;line-height:1.5;background:var(--accent-bg);color:var(--accent-fg);word-break:keep-all}
.suggest-result[data-kind=error]{background:var(--surface2);color:var(--warn)}
.suggest-result[hidden]{display:none}
.suggest-login p{margin:0;color:var(--sub);line-height:1.6}
@media(max-width:599px){.suggest-page{margin:16px auto 28px}.suggest-header{margin-bottom:18px}.suggest-header .pagetitle{font-size:25px}.suggest-card{padding:20px;gap:20px}.suggest-kind-options{gap:6px}.suggest-kind-options span{font-size:13px}}
::placeholder{color:var(--sub);opacity:1}
.toastbox{position:fixed;left:0;right:0;bottom:calc(20px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:center;gap:8px;z-index:80;pointer-events:none}
@media(min-width:720px){.toastbox{bottom:24px}}
.toast{background:var(--surface2);color:var(--ink);border:1px solid var(--line);padding:10px 16px;border-radius:10px;font-size:.82rem;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s;max-width:86vw;text-align:center}
.toast.show{opacity:1;transform:translateY(0)}
.toast.err{background:var(--warn-solid);color:#fff;border-color:var(--warn)}
.toast.ok{background:var(--ok-solid);color:#fff;border-color:var(--ok)}
.photogrid{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.photothumb{width:76px;height:76px;object-fit:cover;border-radius:8px;border:1px solid var(--line);background:var(--surface2)}
.photothumbwrap{position:relative}
.photodel{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.7);color:#fff;border:none;font-size:.65rem;line-height:1;cursor:pointer}

/* Source: src/frontend/styles/75-game-store-map.css lines 53-59 */
.game-map-dialog{width:min(460px,calc(100vw - 32px));border:1px solid var(--line);border-radius:22px;background:var(--surface);color:var(--ink);padding:24px;max-height:85dvh;overflow:auto}
.game-map-dialog::backdrop{background:#0008}
.game-map-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.game-map-dialog h2{font-size:20px;margin:0}
.game-map-dialog-head button{background:transparent;color:var(--ink);border:0;font-size:28px;min-width:40px;min-height:40px;cursor:pointer}
.game-map-dialog label,.game-map-admin label{display:grid;gap:8px;font-size:14px;margin:16px 0}
.game-map-dialog input,.game-map-dialog textarea,.game-map-admin input,.game-map-admin textarea,.game-map-admin select{width:100%;background:var(--page);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:12px;font:inherit}

/* Source: src/frontend/styles/80-controls.css lines 3-54, 59-67, 101-101 */
@font-face{font-family:'Pretendard';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/Pretendard-Regular.woff2') format('woff2')}
@font-face{font-family:'Pretendard';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/Pretendard-Bold.woff2') format('woff2')}
:root{
  --control-bg:var(--surface);--control-line:var(--line);
  --control-shadow:0 1px 2px #00000018;--menu-shadow:0 2px 4px #00000020;
  --control-radius:999px;--menu-radius:26px;
  --fs-section:20px;--fs-product-title:1.25rem;
}
html,body{font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans KR','Malgun Gothic',sans-serif;letter-spacing:-.015em}
button,input,select,textarea{letter-spacing:inherit}
.searchbar input,.gc-buy-search input,.lineup-controls input,.collection-search input,
.filters input[type=search],.filters input[type=text],
.gc-lounge-filters input[type=search].gc-lounge-search,.gc-combo-field .gc-combo-input{
  border:1px solid var(--control-line);border-radius:var(--control-radius);
  background:var(--control-bg);color:var(--ink);box-shadow:var(--control-shadow);
  padding:11px 20px;min-height:48px;font-size:16px;font-weight:400;line-height:1.5;
}
.searchbar input{min-height:56px;padding-right:48px}
.searchbar{position:relative}
.searchbar::after{content:'';position:absolute;right:21px;top:50%;width:17px;height:17px;transform:translateY(-50%);pointer-events:none;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.5' cy='10.5' r='7.5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m16 16 5 5' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.gc-combo-field .gc-combo-input{padding-right:42px}
.gc-select-shell .gc-select-trigger,.sell-choice-step .sell-choice-trigger,
.gc-lounge-sort-wrap .gc-lounge-sort-trigger{
  min-height:48px;height:auto;padding:12px 20px;gap:12px;
  border:1px solid var(--control-line);border-radius:var(--control-radius);
  background:var(--control-bg);box-shadow:var(--control-shadow);color:var(--ink);
  font-size:15px;font-weight:400;line-height:1.5;word-break:keep-all;
}
.gc-select-shell.gc-select-compact .gc-select-trigger{min-height:44px;padding:10px 16px;font-size:14px}
.gc-select-trigger::after,.sell-choice-step .sell-choice-trigger::after,
.gc-lounge-sort-wrap .gc-lounge-sort-trigger::after{
  content:'';display:block;flex:none;width:9px;height:9px;margin:0 2px 4px 6px;
  border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);
  color:var(--ink);transition:transform .15s ease;
}
.gc-select-trigger[aria-expanded=true]::after,.sell-choice-trigger[aria-expanded=true]::after,
.gc-lounge-sort-trigger[aria-expanded=true]::after{transform:translateY(4px) rotate(225deg)}
.gc-select-shell .gc-select-menu,.sell-choice-step .sell-choice-menu,
.gc-lounge-sort-wrap .gc-lounge-sort-menu,.gc-combo .gc-combo-list{
  margin-top:8px;padding:8px;border:1px solid var(--control-line);border-radius:var(--menu-radius);
  background:var(--control-bg);box-shadow:var(--menu-shadow);max-height:min(400px,50vh);
  overflow-y:auto;scroll-padding-block:8px;
}
.gc-select-menu .gc-select-option,.sell-choice-menu .sell-choice-option,
.gc-lounge-sort-menu button[role=option]{
  min-height:42px;padding:10px 12px;border:0;border-radius:16px;font-size:15px;
  font-weight:400;line-height:1.5;color:var(--ink);white-space:normal;word-break:keep-all;
}
.gc-select-menu .gc-select-option:hover,.sell-choice-menu .sell-choice-option:hover,
.gc-lounge-sort-menu button[role=option]:hover{background:var(--surface2)}
.gc-select-menu [aria-selected=true],.sell-choice-menu [aria-selected=true],
.gc-lounge-sort-menu button[aria-selected=true]{background:var(--accent-bg);color:var(--accent-fg);font-weight:600}
.gc-select-menu[data-choice-popover],.sell-choice-menu[data-choice-popover],.gc-lounge-sort-menu[data-choice-popover]{
  position:fixed;inset:auto;z-index:1100;box-sizing:border-box;min-width:0;margin:0;
  padding:8px;border:1px solid var(--control-line);border-radius:26px;
  background:var(--control-bg);color:var(--ink);box-shadow:0 8px 28px #00000018;
  overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:8px;
}
.gc-lounge-sort-menu[data-choice-popover]{border-radius:20px}
[data-choice-popover][hidden]{display:none!important}
[data-choice-popover]::backdrop{background:transparent;pointer-events:none}
@media(prefers-reduced-motion:reduce){.gc-select-trigger::after,.sell-choice-step .sell-choice-trigger::after,.gc-lounge-sort-wrap .gc-lounge-sort-trigger::after{transition:none}}
