:root{
  color-scheme: dark;
  /* 색 — SITE-DECISIONS §1 GO VAL: 앱 ProjectATheme.kt Background/Main */
  --gv-bg:#0F1923; --gv-bg-deep:#0B131B; --gv-surface:#1A2430; --gv-surface-2:#212C3A; --gv-raised:#283342;
  --gv-line:rgba(255,255,255,.08); --gv-line-strong:rgba(255,255,255,.14); --gv-field-line:#6B7886;
  --gv-text:#F2F4F7; --gv-text-2:#A3AEBB; --gv-text-3:#8B97A5;
  --gv-red:#FF4454; --gv-red-hover:#FF5F6D; --gv-red-press:#F5414F; --gv-red-text:#FF8A8D; --gv-on-red:#0F1923;
  --gv-ok:#7FD8B0; --gv-focus:#FF8A8D; --focus:var(--gv-focus);
  --gv-header-bg:rgba(15,25,35,.88); --gv-bar-bg:rgba(11,19,27,.94); --gv-scrim:rgba(8,13,19,.92);
  /* 글꼴 — base.css가 --font-sans를 body에 쓴다 */
  --font-sans:var(--ys-font);
  /* 타입 */
  --fs-h1:22px; --lh-h1:1.35; --ls-h1:-0.015em; --fs-h1-md:26px; --fs-h1-lg:30px; --lh-h1-lg:1.3;
  --fs-intro:26px; --fs-intro-lg:34px; --lh-intro:1.3;
  --fs-h2:20px; --fs-h2-sm:18px; --lh-h2:1.4; --ls-h2:-0.01em;
  --fs-row:15px; --lh-row:1.45; --fs-sub:13px; --lh-sub:1.5;
  --fs-body:15px; --lh-body:1.65; --fs-cap:12px; --lh-cap:1.5;
  --fw-bold:700; --fw-semi:600; --fw-medium:500;
  /* 간격 */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px; --sp-6:24px; --sp-8:32px; --sp-10:40px; --sp-12:48px; --sp-14:56px;
  --gutter:16px; --container:1120px; --measure:720px; --col-side:360px; --col-gap:48px;
  --header-h:56px; --bar-h:64px;
  --row-pitch:64px; --thumb-w:96px; --thumb-h:48px;
  /* 모서리 */
  --r-thumb:8px; --r-sm:8px; --r-md:12px; --r-lg:16px; --r-pill:999px;
  /* 모션 — Spotify */
  --dur-fast:var(--ys-dur-micro); --dur-mid:var(--ys-dur-short); --ease:var(--ys-ease-standard);
  --tap:48px;
  /* base.css 공통 바닥 연결 */
  --ys-line:var(--gv-line); --ys-muted:var(--gv-text-3); --ys-ink:var(--gv-text);
  --ys-container:var(--container); --ys-gutter:var(--gutter); --ys-skip-bg:var(--gv-text); --ys-skip-fg:var(--gv-bg);
}
@media (min-width:768px){ :root{ --gutter:24px; --row-pitch:80px; --thumb-w:128px; --thumb-h:64px; } }
@media (min-width:1024px){ :root{ --gutter:32px; --header-h:64px; --row-pitch:96px; --thumb-w:160px; --thumb-h:80px; } }
@media (prefers-reduced-motion:reduce){ :root{ --dur-fast:0ms; --dur-mid:0ms; } }

html{ background:var(--gv-bg); scroll-padding-top:calc(var(--header-h) + 8px); }
body{ background:var(--gv-bg); color:var(--gv-text); font-size:var(--fs-body); line-height:var(--lh-body); }
.hidden{ display:none !important; }            /* app.js가 #loadoutStats, #legacyUnsupportedBadge에 토글한다 */
.ui-icon{ display:inline-block; width:20px; height:20px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; vertical-align:middle; }
.ui-icon-sprite{ position:absolute; width:0; height:0; overflow:hidden; pointer-events:none; }
.num, #totalVpText, #weaponVpText, #rpText, #levelBadge, .category-count, .category-jump-count, .view-switch-count, #codeLengthText{ font-variant-numeric:tabular-nums; }
.gv-wrap{ width:min(var(--container), 100% - 2*var(--gutter)); margin-inline:auto; }
body[data-loadout-state="empty"] .gv-main .gv-wrap{ width:min(var(--measure), 100% - 2*var(--gutter)); }   /* main 안만 — 헤더·푸터 폭은 상태와 무관 */

/* State, header and shared controls */
a{color:inherit;text-decoration:none}
button,summary{cursor:pointer}
button{font-family:var(--font-sans)}
button,a.gv-btn{white-space:nowrap}
body[data-loadout-state="empty"] .gv-side,
body[data-loadout-state="empty"] #resultsArea,
body[data-loadout-state="empty"] #accessoryPanel,
body[data-loadout-state="empty"] #appExit,
body[data-loadout-state="pending"] #emptyIntro,
body[data-loadout-state="pending"] #accessoryPanel,
body[data-loadout-state="pending"] #appExit,
body[data-loadout-state="ready"] #emptyIntro{display:none}
.gv-main{padding-top:8px}
.gv-side,.gv-body,.gv-collection{min-width:0}
.gv-header{position:sticky;top:0;z-index:50;height:var(--header-h);background:var(--gv-header-bg);backdrop-filter:blur(12px);border-bottom:1px solid var(--gv-line)}
.gv-header__in{display:flex;align-items:center;gap:8px;height:100%}
.gv-brand{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-right:auto;font-size:16px;font-weight:700;white-space:nowrap}
.gv-brand img{width:28px;height:28px;border-radius:7px}
.gv-header__link{display:none;align-items:center;min-height:44px;padding:0 8px;font-size:14px;font-weight:500;color:var(--gv-text-2)}
.gv-header__link:hover{color:var(--gv-text)}
.gv-lang .projecta-language-picker{flex-wrap:nowrap}
.gv-lang .projecta-language-picker>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
.gv-lang .projecta-language-select{min-height:44px;max-width:128px;padding:0 28px 0 10px;font-size:13px;font-weight:500;border-radius:8px;background:transparent}
.gv-pill{position:relative;display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 14px;border-radius:var(--r-pill);background:var(--gv-text);color:var(--gv-bg);font-size:13px;font-weight:700;white-space:nowrap}
.gv-pill::after,.gv-icon-btn::after{content:"";position:absolute;inset:-2px 0}
.gv-pill:hover{background:#FFF}
.gv-pill:active{transform:translateY(1px)}
.loading-hud{position:fixed;top:var(--header-h);left:0;right:0;z-index:45;height:36px;display:flex;align-items:center;gap:10px;padding:0 var(--gutter);background:rgba(26,36,48,.96);border-bottom:1px solid var(--gv-line);pointer-events:none;transition:opacity var(--dur-mid) var(--ease)}
.loading-hud.is-hidden{opacity:0}
.loading-hud-spinner{width:14px;height:14px;flex:none;border:2px solid var(--gv-line-strong);border-top-color:var(--gv-red-text);border-radius:50%;animation:gv-spin var(--ys-dur-sweep) linear infinite}
#catalogProgressText{font-size:13px;font-weight:500;color:var(--gv-text-2);white-space:nowrap}
@keyframes gv-spin{to{transform:rotate(360deg)}}
@keyframes gv-pulse{50%{opacity:.55}}
.gv-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border:1px solid transparent;border-radius:var(--r-pill);font-size:15px;font-weight:700;line-height:1.4;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}
.gv-btn--primary{background:var(--gv-red);color:var(--gv-on-red)}
.gv-btn--primary:hover{background:var(--gv-red-hover)}
.gv-btn--primary:active{background:var(--gv-red-press);transform:translateY(1px)}
.gv-btn--primary:disabled{background:var(--gv-raised);color:var(--gv-text-3);cursor:not-allowed;transform:none}
.gv-btn--secondary{background:transparent;border-color:var(--gv-line-strong);color:var(--gv-text)}
.gv-btn--secondary:hover{background:var(--gv-surface)}
.gv-btn--secondary:active{background:var(--gv-surface-2)}
.gv-btn--secondary:disabled{color:var(--gv-text-3);border-color:var(--gv-line);cursor:not-allowed}
.gv-btn--sm{min-height:44px;padding:0 14px;font-size:14px;font-weight:600}
.gv-icon-btn{position:relative;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:var(--r-pill);background:var(--gv-surface);color:var(--gv-text-2)}
.gv-icon-btn::after{inset:-2px}
.gv-icon-btn:hover{background:var(--gv-surface-2);color:var(--gv-text)}
.gv-icon-btn[aria-expanded="true"]{background:var(--gv-raised);color:var(--gv-text)}
.gv-intro{padding:24px 0}
.gv-intro h1{max-width:640px;font-size:var(--fs-intro);line-height:var(--lh-intro);font-weight:700;letter-spacing:var(--ls-h1)}
.gv-intro__lead{max-width:600px;margin-top:12px;font-size:16px;line-height:1.65;color:var(--gv-text-2)}
.gv-intro__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
/* Collection header */
.gv-head{padding:8px 0 20px}
#playerCardBox{display:block;position:relative;width:100%;aspect-ratio:452/128;padding:0;border:1px solid var(--gv-line);border-radius:var(--r-md);background:var(--gv-surface);overflow:hidden;cursor:zoom-in}
#playerCardBox>img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}
#playerCardBox>span{display:grid;place-items:center;height:100%;font-size:13px;color:var(--gv-text-3)}
#playerCardBox .player-card-open-indicator{position:absolute;right:8px;bottom:8px;width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:rgba(15,25,35,.8)}
.player-card-open-indicator .ui-icon{width:16px;height:16px}
#playerCardBox:hover{border-color:var(--gv-line-strong)}
#playerCardBox:disabled{cursor:default}
#loadoutName{margin-top:16px;font-size:var(--fs-h1);line-height:var(--lh-h1);font-weight:700;letter-spacing:var(--ls-h1);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gv-creator{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:8px}
#levelBadge{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:28px;padding:0 10px;border-radius:var(--r-pill);background:var(--gv-raised);font:700 13px/1 var(--font-sans);color:var(--gv-text)}
#levelBadge img{position:absolute;inset:-6px -10px;width:calc(100% + 20px);max-width:none;height:calc(100% + 12px);object-fit:contain;pointer-events:none}
#levelBadge>span{position:relative}
#levelBadge:has(img){background:transparent}
#nicknameText{max-width:100%;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#titleText{font-size:13px;font-weight:500;color:var(--gv-text-2)}
.gv-meta{display:flex;flex-wrap:wrap;gap:0 6px;margin-top:8px;font-size:13px;line-height:1.5;color:var(--gv-text-2)}
.gv-sep{color:var(--gv-text-3)}
.gv-meta__v1{display:contents}
.gv-stats{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:0 6px;margin-top:2px;font-size:13px;line-height:1.5;color:var(--gv-text-2)}
.gv-stats strong{font-size:13px;font-weight:700;color:var(--gv-text)}
.gv-totals summary{display:inline-flex;align-items:center;gap:4px;min-height:44px;margin-block:-12px;padding:0 4px;font-size:12px;font-weight:500;color:var(--gv-text-3);list-style:none}
summary::-webkit-details-marker{display:none}
.gv-totals summary .ui-icon{width:16px;height:16px}
.gv-totals summary:hover{color:var(--gv-text-2)}
.gv-totals__body{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:5;padding:12px 14px;border:1px solid var(--gv-line-strong);border-radius:var(--r-md);background:var(--gv-surface);box-shadow:0 8px 24px rgba(0,0,0,.35);font-size:13px;line-height:1.55;color:var(--gv-text-2)}
#totalsHelp{margin-top:4px;color:var(--gv-text-3)}
.gv-actions{display:flex;gap:8px;margin-top:16px}
.gv-actions .gv-btn{flex:1 1 0;min-width:0}
.gv-head-tools{display:flex;align-items:center;gap:8px}
.gv-head-tools .gv-btn{position:relative;flex:1 1 0;min-width:0;min-height:40px;padding:0 12px;font-size:13px}
.gv-head-tools .gv-btn::after,.gv-head-tools__paste::after{content:"";position:absolute;inset:-2px 0}
.gv-head-tools__paste{position:relative;display:inline-flex;flex:1 1 0;align-items:center;justify-content:center;min-height:40px;font-size:13px;font-weight:600;color:var(--gv-text-2);white-space:nowrap}
.gv-head-tools__paste:hover{color:var(--gv-text);text-decoration:underline;text-underline-offset:3px}
.gv-side-exit{display:none;margin-top:24px;padding:16px;border:1px solid var(--gv-line);border-radius:var(--r-md);background:var(--gv-surface)}
.gv-side-exit__row{display:flex;align-items:center;gap:12px}
.gv-side-exit__row img{width:40px;height:40px;border-radius:10px}
.gv-side-exit__row p{font-size:14px;font-weight:600}
.gv-stores{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.gv-stores .gv-btn{width:100%}
body[data-loadout-state="pending"] :is(#playerCardBox,#loadoutName,.gv-creator,.gv-meta,#loadoutStats){color:transparent;background:var(--gv-surface);border-color:transparent;border-radius:var(--r-sm);animation:gv-pulse var(--ys-demo-start) var(--ys-ease-move) infinite}
body[data-loadout-state="pending"] :is(#playerCardBox,#loadoutName,.gv-creator,.gv-meta,#loadoutStats)>*{visibility:hidden}
body[data-loadout-state="pending"] #loadoutName{width:70%;display:block}
body[data-loadout-state="pending"] .gv-creator{width:45%;display:block}
body[data-loadout-state="pending"] .gv-meta{width:60%;display:block}
body[data-loadout-state="pending"] #loadoutStats{width:50%;display:block}
/* Notices and manual ad (slot sizing remains in the template). */
.gv-callout{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:12px;padding:12px 16px;border-left:3px solid var(--gv-red);border-radius:0 var(--r-md) var(--r-md) 0;background:var(--gv-surface);font-size:14px;line-height:1.55;color:var(--gv-text)}
.gv-callout>.ui-icon,.gv-callout>span:has(>.ui-icon){flex:none;margin-top:1px;color:var(--gv-text-2)}
.gv-callout>span:not(:has(>.ui-icon)),.catalog-error-copy{flex:1;min-width:0}
.gv-callout>.gv-btn{flex:none;margin-left:auto}
#connectionStatus{border-left-color:var(--gv-text-3)}
.catalog-error-copy strong{display:block;font-size:14px;font-weight:700}
.catalog-error-copy span{font-size:14px;color:var(--gv-text-2)}
.gv-callout--stack{display:block}
.gv-callout--stack label{font-size:13px;font-weight:600}
.gv-callout--stack input{width:100%;height:44px;margin-top:6px;padding:0 12px;border:1px solid var(--gv-field-line);border-radius:var(--r-sm);background:var(--gv-bg);font:13px var(--ys-mono)}
.gv-callout--stack p{margin-top:8px;font-size:13px;color:var(--gv-text-2)}
.gv-ad{width:100%;margin:0 0 24px;text-align:center}
.ad-label{display:block;margin-bottom:6px;font-size:12px;font-weight:500;color:var(--gv-text-3);text-align:left}
.ad-container{position:relative}
.projecta-responsive-ad ins{margin-inline:auto}
.projecta-responsive-ad:is([data-ad-state="unfilled"],[data-ad-state="blocked"],[data-ad-state="off"]){display:none}
.ad-preview-label{position:absolute;inset:0;display:grid;place-content:center;gap:2px;border:1px dashed var(--gv-line-strong);border-radius:var(--r-sm);font-size:12px;color:var(--gv-text-3);pointer-events:none}
/* Toolbar and rows */
.results-toolbar-sentinel{display:block;height:1px}
.gv-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"title toggle seg" "search search search" "nav nav nav";gap:8px;padding:8px 0;scroll-margin-top:calc(var(--header-h) + 8px)}
.gv-toolbar__title{grid-area:title;min-width:0;align-self:center}
.gv-toolbar h2{font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:700;letter-spacing:var(--ls-h2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gv-toolbar__toggle{grid-area:toggle;align-self:center}
.gv-seg{grid-area:seg;display:inline-flex;align-items:center;gap:2px;padding:2px;border-radius:var(--r-pill);background:var(--gv-surface)}
.view-switch-button{position:relative;display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;border:0;border-radius:var(--r-pill);background:transparent;color:var(--gv-text-2);font-size:13px;font-weight:600}
.view-switch-button::after,.category-jump-button::after,.category-nav-scroll-button::after{content:"";position:absolute;inset:-2px 0}
.view-switch-button[aria-pressed="true"]{background:var(--gv-raised);color:var(--gv-text)}
.view-switch-count{font-size:12px;font-weight:700;color:var(--gv-text-3)}
[aria-pressed="true"] .view-switch-count{color:var(--gv-red-text)}
.results-search{grid-area:search;display:none;min-width:0}
.is-search-open .results-search{display:block}
.weapon-search-shell{position:relative}
.weapon-search-icon{position:absolute;left:12px;top:11px;width:18px;height:18px;color:var(--gv-text-3)}
.weapon-search-input{width:100%;height:40px;padding:0 40px 0 38px;border:1px solid var(--gv-field-line);border-radius:var(--r-pill);background:var(--gv-surface);font-size:14px}
.weapon-search-input::placeholder{color:var(--gv-text-3)}
.weapon-search-input::-webkit-search-cancel-button{display:none}
.weapon-search-clear{position:absolute;right:2px;top:2px;width:36px;height:36px;display:grid;place-items:center;padding:0;border:0;border-radius:var(--r-pill);background:transparent;color:var(--gv-text-2)}
.weapon-search-clear::after{content:"";position:absolute;inset:-4px}
.weapon-search-clear .ui-icon{width:16px;height:16px}
.category-nav-shell{grid-area:nav;display:flex;align-items:center;gap:4px;min-width:0}
.category-nav{display:flex;gap:8px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;padding-block:2px}
.category-nav::-webkit-scrollbar{display:none}
.category-jump-button{position:relative;display:inline-flex;flex:none;align-items:center;gap:6px;height:40px;padding:0 14px;border:1px solid transparent;border-radius:var(--r-pill);background:var(--gv-surface);font-size:13px;font-weight:600;color:var(--gv-text-2);white-space:nowrap}
.category-jump-button[aria-current="location"]{background:var(--gv-raised);color:var(--gv-text);border-color:var(--gv-line-strong)}
.category-jump-count{font-size:12px;font-weight:600;color:var(--gv-text-3)}
.category-nav-scroll-button{position:relative;display:none;place-items:center;flex:none;width:40px;height:40px;padding:0;border:0;border-radius:var(--r-pill);background:var(--gv-surface);color:var(--gv-text-2)}
.category-nav-scroll-button:disabled{opacity:.4}
.landscape-column{display:block}
.landscape-section{margin-top:8px;padding-top:12px;border-top:1px solid var(--gv-line);scroll-margin-top:calc(var(--header-h) + var(--results-toolbar-offset,0px) + 8px)}
.category-header{display:flex;align-items:center;justify-content:space-between;min-height:32px;margin-bottom:4px}
.category-title-wrap{display:flex;align-items:center;gap:8px}
.category-icon{width:20px;height:20px;color:var(--gv-text-3)}
.category-title{margin:0;font-size:14px;font-weight:700;color:var(--gv-text-2)}
.category-count{font-size:13px;color:var(--gv-text-3)}
.weapon-inner-grid{display:grid;gap:2px}
.weapon-card{display:grid;grid-template-columns:var(--thumb-w) minmax(0,1fr);column-gap:12px;align-items:center;width:calc(100% + 16px);margin-inline:-8px;min-height:var(--row-pitch);padding:8px;border:0;border-radius:var(--r-sm);background:transparent;color:inherit;text-align:left;cursor:zoom-in;transition:background-color var(--dur-fast) var(--ease)}
.weapon-card:hover{background:var(--gv-surface)}
.weapon-card:active{background:var(--gv-surface-2)}
.weapon-card:focus-visible{outline-offset:0}
.weapon-card:disabled{cursor:default}
.weapon-card.search-match{background:rgba(255,68,84,.08)}
.weapon-image-frame{position:relative;display:grid;place-items:center;width:var(--thumb-w);height:var(--thumb-h);border-radius:var(--r-thumb);background:var(--gv-surface);overflow:hidden}
.weapon-img{width:auto;height:auto;max-width:88%;max-height:80%;object-fit:contain}
.selection-badge{display:none}
.weapon-buddy-badge{position:absolute;right:2px;bottom:2px;width:22px;height:22px}
.weapon-buddy-badge img{width:100%;height:100%;object-fit:contain}
.weapon-info{display:grid;grid-template-columns:minmax(0,1fr) 24px;grid-template-areas:"weapon zoom" "skin zoom" "price zoom";column-gap:12px;row-gap:1px;align-items:center;min-width:0}
.weapon-name{grid-area:weapon;font-size:12px;font-weight:500;color:var(--gv-text-2)}
.skin-name{grid-area:skin;font-size:var(--fs-row);line-height:var(--lh-row);font-weight:600;color:var(--gv-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-price{grid-area:price;font-size:13px;color:var(--gv-text-2);font-variant-numeric:tabular-nums}
.card-zoom-hint{grid-area:zoom;display:grid;place-items:center;color:var(--gv-text-3)}
.card-zoom-hint .ui-icon{width:18px;height:18px}
.weapon-card.is-unselected .weapon-img{opacity:.55}
.weapon-card.is-unselected .skin-name{color:var(--gv-text-2);font-weight:500}
.has-media-error .weapon-img{display:none}
.has-media-error .weapon-image-frame::after{content:attr(data-media-error);padding:0 6px;font-size:12px;color:var(--gv-text-3);text-align:center}
.results-empty-state{padding:32px 16px;text-align:center}
.results-empty-state>div{display:flex;flex-direction:column;align-items:center;gap:6px}
.results-empty-state .ui-icon{width:28px;height:28px;color:var(--gv-text-3)}
.results-empty-state strong{font-size:15px;font-weight:700}
.results-empty-state span{font-size:14px;color:var(--gv-text-2)}
.filter-reset-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:12px;padding:0 14px;border:1px solid var(--gv-line-strong);border-radius:var(--r-pill);background:transparent;color:var(--gv-text);font-size:14px;font-weight:600}
.gv-skel-row{display:grid;grid-template-columns:var(--thumb-w) 1fr;column-gap:12px;align-items:center;min-height:var(--row-pitch);padding:8px 0;animation:gv-pulse var(--ys-demo-start) var(--ys-ease-move) infinite}
.gv-skel-row::before{content:"";width:var(--thumb-w);height:var(--thumb-h);border-radius:var(--r-thumb);background:var(--gv-surface)}
.gv-skel-row::after{content:"";width:60%;height:14px;border-radius:4px;background:var(--gv-surface)}
/* Sprays and app exit */
.gv-sprays{margin-top:32px}
.gv-sprays h2{font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:700}
#accessoryGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.accessory-slot{display:flex;flex-direction:column;gap:6px;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:zoom-in}
.accessory-slot:disabled{cursor:default}
.accessory-slot:focus-visible{outline-offset:2px}
.accessory-image-box{order:1;position:relative;display:grid;place-items:center;width:100%;aspect-ratio:1;border-radius:var(--r-md);background:var(--gv-surface);overflow:hidden}
.accessory-image-box img{max-width:80%;max-height:80%;object-fit:contain}
.has-item:hover .accessory-image-box{background:var(--gv-surface-2)}
.accessory-zoom-hint{position:absolute;right:6px;bottom:6px;display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:rgba(15,25,35,.75)}
.accessory-zoom-hint .ui-icon{width:14px;height:14px}
.is-empty .accessory-image-box{background:transparent;border:1px dashed var(--gv-line-strong)}
.is-empty .accessory-image-box>.ui-icon{width:28px;height:28px;color:var(--gv-text-3)}
.accessory-image-box+div{order:2;font-size:12px;font-weight:600;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.is-empty .accessory-image-box+div{color:var(--gv-text-3)}
.accessory-image-box+div+div{order:3;font-size:12px;color:var(--gv-text-2)}
.slot-meta{order:4;display:flex;gap:6px;font-size:12px;color:var(--gv-text-3)}
.slot-meta>span:first-child{display:none}
.gv-exit{margin-top:32px;padding:24px 0;background:var(--gv-bg-deep);border-block:1px solid var(--gv-line)}
.gv-exit__row{display:flex;align-items:flex-start;gap:12px}
.gv-exit__row img{flex:none;width:48px;height:48px;border-radius:12px}
.gv-exit h2{font-size:17px;font-weight:700;line-height:1.4}
.gv-exit p{margin-top:4px;font-size:14px;line-height:1.6;color:var(--gv-text-2)}
.gv-exit__open{width:100%;margin-top:16px}
.gv-exit .gv-stores{margin-top:8px}
/* Code tools */
.gv-code{margin-top:32px;border-top:1px solid var(--gv-line)}
body[data-loadout-state="empty"] .gv-code{margin-top:0}
.gv-code>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:0 4px;font-size:17px;font-weight:700;list-style:none}
.gv-code>summary .ui-icon{color:var(--gv-text-3);transition:transform var(--dur-fast) var(--ease)}
.gv-code[open]>summary .ui-icon,.guide-faq[open]>summary .ui-icon{transform:rotate(90deg)}
.gv-code>summary:hover .ui-icon{color:var(--gv-text-2)}
.gv-code>summary:focus-visible{outline-offset:2px}
#inputPanel{padding:4px 0 16px}
.input-panel-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}
.input-label{font-size:14px;font-weight:700}
.input-panel-controls{display:flex;align-items:center;gap:8px}
#codeEditorToggle .ui-icon{width:16px;height:16px}
.is-code-collapsed #codeEditorToggle .ui-icon{transform:rotate(180deg)}
.status-pill{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:var(--r-pill);background:var(--gv-surface);font-size:12px;font-weight:600;color:var(--gv-text-2)}
.status-dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--gv-text-3)}
.status-pill[data-state="busy"] .status-dot{background:var(--gv-red-text);animation:gv-pulse var(--ys-demo-start) var(--ys-ease-move) infinite}
.status-pill[data-state="success"] .status-dot{background:var(--gv-ok)}
.status-pill[data-state="error"]{color:var(--gv-red-text)}
.status-pill[data-state="error"] .status-dot{background:var(--gv-red-text)}
.input-description{margin-top:8px;font-size:14px;line-height:1.6;color:var(--gv-text-2)}
.is-code-collapsed .input-description{display:none}
.code-editor-region{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--dur-mid) var(--ease)}
.code-editor-region-inner{min-height:0;overflow:hidden}
.is-code-collapsed .code-editor-region{grid-template-rows:0fr}
.code-input-shell{position:relative;margin-top:12px}
#textCode{width:100%;min-height:96px;resize:none;padding:12px 48px 12px 14px;border:1px solid var(--gv-field-line);border-radius:var(--r-md);background:var(--gv-surface);font:13px/1.5 var(--ys-mono);color:var(--gv-text)}
#textCode::placeholder{color:var(--gv-text-3)}
#textCode:focus-visible{outline-offset:2px}
#textCode[aria-invalid="true"]{border-color:var(--gv-red-text)}
#clearCodeButton{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:var(--r-sm);background:transparent;color:var(--gv-text-2)}
#clearCodeButton:hover{background:var(--gv-surface-2)}
#clearCodeButton .ui-icon{width:18px;height:18px}
#codeInputMeta{display:flex;gap:8px;margin-top:8px;font-size:12px;font-weight:500}
#codeTypeBadge{padding:2px 8px;border-radius:var(--r-pill);background:var(--gv-raised);color:var(--gv-text-2)}
#codeLengthText{color:var(--gv-text-3)}
#codeLengthText.is-over-limit{color:var(--gv-red-text)}
#codeHelp{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin-top:6px;font-size:12px;line-height:1.5;color:var(--gv-text-3)}
.keyboard-hint{display:none;align-items:center;gap:4px}
kbd{padding:1px 6px;border:1px solid var(--gv-line-strong);border-radius:4px;background:var(--gv-bg);font:600 12px var(--ys-mono)}
.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}
#loadButton{grid-column:1/-1}
.action-grid .gv-btn--secondary{padding:0 12px;font-size:14px;font-weight:600}
.button-content{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.button-content .ui-icon{width:18px;height:18px}
[aria-busy="true"] .ui-icon{animation:gv-spin var(--ys-dur-sweep) linear infinite}
#shareHint{margin-top:10px;font-size:13px;line-height:1.5;color:var(--gv-text-3)}
#shareHint[data-state="pending"]{color:var(--gv-red-text)}
/* Guide and footer */
.gv-guide{margin-top:48px;padding-top:32px;border-top:1px solid var(--gv-line)}
.gv-guide h2{font-size:var(--fs-h2);font-weight:700;line-height:var(--lh-h2)}
.gv-guide__note{margin-top:4px;font-size:14px;color:var(--gv-text-3)}
.gv-steps{margin:20px 0 0;padding:0;list-style:none;counter-reset:gv-step}
.gv-steps li{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:12px;padding:16px 0;border-top:1px solid var(--gv-line);counter-increment:gv-step}
.gv-steps li:first-child{border-top:0}
.gv-steps li::before{content:counter(gv-step);grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--gv-surface);color:var(--gv-red-text);font:700 13px/1 var(--font-sans)}
.gv-steps h3{margin:0;font-size:16px;font-weight:700}
.gv-steps p{margin-top:4px;font-size:14px;line-height:1.6;color:var(--gv-text-2)}
.guide-faq{border-top:1px solid var(--gv-line)}
.guide-faq summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:12px 0;font-size:15px;font-weight:600;list-style:none}
.guide-faq summary .ui-icon{color:var(--gv-text-3)}
.guide-faq p{padding:0 0 16px;font-size:14px;line-height:1.7;color:var(--gv-text-2)}
.gv-shot{display:none;margin:0}
.gv-shot__frame{overflow:hidden;border:1px solid var(--gv-line-strong);border-radius:var(--r-lg);background:var(--gv-bg)}
.gv-shot--ko .gv-shot__frame{aspect-ratio:720/560}
.gv-shot--en .gv-shot__frame{aspect-ratio:720/580}
.gv-shot__frame img{display:block;width:100%;height:auto}
.gv-shot--ko img{margin-top:calc(-800 / 720 * 100%)}
.gv-shot--en img{margin-top:calc(-770 / 720 * 100%)}
.gv-shot figcaption{margin-top:8px;font-size:12px;line-height:1.5;color:var(--gv-text-3)}
.gv-footer{margin-top:56px;border-top:1px solid var(--gv-line);background:var(--gv-bg-deep)}
.gv-footer__in{padding:32px 0 16px}
.gv-footer__brand{display:flex;align-items:center;gap:10px}
.gv-footer__brand img{width:32px;height:32px;border-radius:8px}
.gv-footer__brand strong{font-size:15px;font-weight:700}
.gv-footer__brand span{font-size:13px;color:var(--gv-text-3)}
.gv-footer__unofficial{margin-top:12px;font-size:14px;line-height:1.6;color:var(--gv-text-2)}
.gv-footer__legal{max-width:720px;margin-top:8px;font-size:12px;line-height:1.6;color:var(--gv-text-3)}
.gv-footer__nav{display:flex;flex-wrap:wrap;gap:0 16px;margin-top:12px}
.gv-footer__nav a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:600;color:var(--gv-text-2)}
.gv-footer__nav a:hover{color:var(--gv-text);text-decoration:underline;text-underline-offset:3px}
.ys-studio{padding-bottom:env(safe-area-inset-bottom)}
/* Floating actions, notifications and modal */
.mobile-action-bar{position:fixed;left:0;right:0;bottom:var(--visual-viewport-bottom,0px);z-index:60;display:flex;gap:8px;padding:8px var(--gutter) calc(8px + env(safe-area-inset-bottom));background:var(--gv-bar-bg);backdrop-filter:blur(12px);border-top:1px solid var(--gv-line);transform:translateY(110%);visibility:hidden;transition:transform var(--dur-mid) var(--ease),visibility 0s linear var(--dur-mid)}
.mobile-action-bar.is-visible{transform:none;visibility:visible;transition-delay:0s}
.mobile-action-bar .gv-btn{flex:1 1 0;min-width:0}
body.has-mobile-action-bar{padding-bottom:calc(var(--bar-h) + env(safe-area-inset-bottom))}
.back-to-top{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:55;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--gv-line-strong);border-radius:var(--r-pill);background:var(--gv-surface);color:var(--gv-text-2);opacity:0;visibility:hidden}
.back-to-top.is-visible{opacity:1;visibility:visible}
body.has-mobile-action-bar .back-to-top{bottom:calc(16px + var(--bar-h) + env(safe-area-inset-bottom))}
#toastContainer{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(100% - 32px,420px);z-index:4100;display:grid;gap:8px;pointer-events:none}
body.has-mobile-action-bar #toastContainer{bottom:calc(16px + var(--bar-h) + env(safe-area-inset-bottom))}
.toast{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;border:1px solid var(--gv-line-strong);border-radius:var(--r-md);background:var(--gv-raised);color:var(--gv-text);font-size:14px;line-height:1.45;box-shadow:0 8px 24px rgba(0,0,0,.35);opacity:0;transform:translateY(8px);transition:opacity var(--dur-mid) var(--ease),transform var(--dur-mid) var(--ease);pointer-events:auto}
.toast.show{opacity:1;transform:none}
.toast-icon{width:20px;height:20px;flex:none;color:var(--gv-text-2)}
.toast[data-type="error"] .toast-icon{color:var(--gv-red-text)}
.toast[data-type="success"] .toast-icon{color:var(--gv-ok)}
.toast-message{flex:1;min-width:0}
.toast-action{min-height:40px;padding:0 12px;border:1px solid var(--gv-line-strong);border-radius:var(--r-pill);background:transparent;color:var(--gv-text);font:600 13px/1 var(--font-sans)}
.toast-close{display:grid;place-items:center;width:40px;height:40px;flex:none;padding:0;border:0;border-radius:var(--r-pill);background:transparent;color:var(--gv-text-2)}
.image-modal{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:16px;border:0;background:var(--gv-scrim);color:var(--gv-text);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity var(--dur-mid) var(--ease)}
.image-modal:not([open]){display:none}
.image-modal.modal-visible{opacity:1;visibility:visible}
.image-modal::backdrop{background:transparent}
.modal-dialog{width:min(960px,100%);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);display:grid;grid-template-rows:auto minmax(0,1fr);background:var(--gv-surface);border:1px solid var(--gv-line-strong);border-radius:var(--r-lg);overflow:hidden}
.modal-toolbar{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 16px;border-bottom:1px solid var(--gv-line)}
.modal-caption{flex:1;min-width:0;font:600 14px/1.4 var(--font-sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.modal-actions{display:flex;gap:4px}
#modalZoomButton,#modalCloseButton{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:var(--r-pill);background:transparent}
#modalZoomButton:hover,#modalCloseButton:hover{background:var(--gv-surface-2)}
.modal-media{overflow:auto;display:grid;place-items:center;padding:16px;background:var(--gv-bg-deep);cursor:zoom-in}
#modalImage{max-width:100%;max-height:min(70vh,640px);object-fit:contain}
.modal-media.is-zoomed{place-items:start;cursor:zoom-out}
.modal-media.is-zoomed #modalImage{max-width:none;max-height:none;width:200%}
body.modal-open{overflow:hidden;padding-right:var(--scrollbar-compensation,0px)}
/* Responsive arrangements */
@media(max-width:399px){.gv-lang .projecta-language-select{max-width:104px}.gv-toolbar h2{font-size:var(--fs-h2-sm)}}
@media(max-width:639px){.gv-summary{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}}
@media(min-width:480px){.gv-exit .gv-stores{flex-direction:row}.gv-exit .gv-stores .gv-btn{flex:1}}
@media(min-width:640px){
 .gv-toolbar{position:sticky;top:var(--header-h);z-index:20;grid-template-columns:minmax(0,1fr) minmax(200px,280px) auto;grid-template-areas:"title search seg" "nav nav nav";gap:8px 12px;padding:12px 0 8px;border-bottom:1px solid transparent;background:var(--gv-bg)}
 .gv-toolbar.is-stuck{border-bottom-color:var(--gv-line)}
 .gv-toolbar__toggle{display:none}.results-search{display:block;align-self:center}
 .gv-summary{display:block;margin-top:2px;font-size:13px;color:var(--gv-text-2)}
 .category-nav-scroll-button{display:grid}
}
@media(min-width:768px){
 .gv-header__in{gap:12px}.gv-header__link{display:inline-flex}
 .gv-head-tools__paste{display:none}.gv-head-tools .gv-btn{flex:0 1 auto}
 #loadoutName{font-size:var(--fs-h1-md)}
 #accessoryGrid{gap:12px}.slot-meta>span:first-child{display:inline}
 .gv-code{max-width:var(--measure)}.keyboard-hint{display:inline-flex}
 .gv-guide{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:48px;align-items:start}
 .gv-shot:not([hidden]){display:block}.mobile-action-bar{display:none}
}
@media(min-width:1024px){
 .gv-main{padding-top:0}.gv-intro{padding-top:56px}.gv-intro h1{font-size:var(--fs-intro-lg)}
 body:not([data-loadout-state="empty"]) .gv-collection{display:grid;grid-template-columns:var(--col-side) minmax(0,1fr);gap:var(--col-gap);align-items:start;padding-top:24px}
 .gv-head{padding:0}#loadoutName{font-size:var(--fs-h1-lg);line-height:var(--lh-h1-lg)}
 .gv-totals{flex-basis:100%;margin-top:8px}.gv-totals>summary{display:none}
 .gv-totals__body{position:static;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:12px;line-height:1.5}
 #totalsHelp{margin-top:4px}
 body[data-loadout-state="ready"] .gv-side-exit{display:block}#appExit{display:none}
 .skin-name{font-size:16px}.gv-guide h2{font-size:24px}
 .gv-shot{position:sticky;top:calc(var(--header-h) + 24px)}
}
@media(min-width:1024px) and (min-height:760px){.gv-side{position:sticky;top:calc(var(--header-h) + 24px)}}
@supports not (backdrop-filter:blur(1px)){.gv-header{background:var(--gv-bg)}}
@media(prefers-reduced-motion:reduce){.loading-hud-spinner,.gv-skel-row,.status-pill[data-state="busy"] .status-dot,[aria-busy="true"] .ui-icon,body[data-loadout-state="pending"] :is(#playerCardBox,#loadoutName,.gv-creator,.gv-meta,#loadoutStats){animation:none}}

/* Inherit Korean wrapping through generated spans; pad short footer links. */
body{word-break:keep-all;overflow-wrap:anywhere;line-break:strict}
.gv-footer__nav a,.ys-studio a{min-width:44px}
.view-switch-button{min-width:44px}
@media(max-width:639px){.gv-callout>span:not(:has(>.ui-icon)){flex-basis:160px}}

/* Round 2: the app's share code becomes seven actual skin renders. */
.gv-decode{margin:24px 0 0;padding:16px;border:1px solid var(--gv-line-strong);border-radius:var(--r-lg);background:var(--gv-bg-deep);text-align:left}
.gv-decode__stage{height:240px;display:flex;flex-direction:column;gap:12px;overflow:hidden}
.gv-decode__code{position:relative;padding-top:22px}
.gv-decode__tag{position:absolute;top:0;left:0;font-size:12px;font-weight:600;color:var(--gv-text-2)}
.gv-decode__meta{position:absolute;top:0;right:0;font-size:12px;color:var(--gv-text-3)}
.gv-decode__text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;height:54px;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all;overflow-wrap:anywhere;color:var(--gv-text-2)}
.gv-decode__num{font-variant-numeric:tabular-nums;white-space:nowrap}
#decodeChars,#decodeGz,#decodeJson{display:inline-block;min-width:3ch;text-align:right}
.gv-decode__steps{list-style:none;margin:0;padding:0;font-size:13px;line-height:22px}
.gv-decode__steps li{white-space:nowrap;display:flex;gap:6px;align-items:center}
.gv-decode__steps li::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--gv-ok);flex:none}
.gv-decode__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.gv-decode__grid li{position:relative;overflow:hidden;aspect-ratio:5/2;background:var(--gv-surface);border:1px solid transparent;border-radius:10px;min-width:0;display:grid;place-items:center}
.gv-decode__grid img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;padding:4px}
.gv-decode__cap{margin:12px 0 0;color:var(--gv-text-2);font-size:13px;line-height:1.6}
.gv-decode__controls{display:flex;align-items:center;gap:8px;margin-top:16px}
.gv-decode__controls .gv-btn{min-height:44px;padding-inline:16px;font-size:14px;margin-right:auto}
.gv-decode__controls .gv-icon-btn{flex:none}
.gv-decode__controls [data-ys-demo-replay]{min-width:40px;width:auto;padding-inline:10px;font-size:13px;white-space:nowrap}
#decodeOpen[aria-disabled="true"]{background:var(--gv-raised);color:var(--gv-text-2)}
html:not(.js) .gv-decode__controls{display:none}
.gv-more{margin-top:48px;padding-top:32px;border-top:1px solid var(--gv-line)}
.gv-more h2{font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:700}
.gv-more__list{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:12px}
.gv-more__card{display:grid;grid-template-columns:120px minmax(0,1fr);grid-template-rows:auto auto;gap:4px 16px;padding:12px;border:1px solid var(--gv-line);border-radius:var(--r-md);background:var(--gv-surface)}
.gv-more__card img{grid-row:1/3;align-self:center;width:120px;height:63px;object-fit:cover;border-radius:var(--r-sm)}
.gv-more__card strong{align-self:end;font-size:16px;line-height:1.4}
.gv-more__card span{color:var(--gv-text-2);font-size:14px;line-height:1.5}
.gv-footer .ys-web{color:var(--gv-text-2);border-color:var(--gv-line)}
.gv-footer .ys-web a{min-width:44px}
.gv-footer .ys-web__in{gap:4px 16px}
@media(min-width:768px){
 .gv-decode__stage{height:196px;gap:8px}
 .gv-decode__grid{grid-template-columns:repeat(7,minmax(0,1fr))}
 .gv-more__list{grid-template-columns:repeat(3,minmax(0,1fr))}
 .gv-more__card{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr;gap:12px;padding:16px}
 .gv-more__card img{grid-row:auto;width:100%;height:auto;aspect-ratio:480/252}
 .gv-more__card strong{align-self:start}
}
@media(prefers-reduced-motion:no-preference) and (scripting:enabled){
 html.js[data-ys-motion="on"] .gv-decode__steps li{transition:opacity var(--ys-dur-short) var(--ys-ease-move)}
 html.js[data-ys-motion="on"] .gv-decode:is([data-state="idle"],[data-state="reading"]) [data-step="inflate"],
 html.js[data-ys-motion="on"] .gv-decode:is([data-state="idle"],[data-state="reading"],[data-state="inflating"]) [data-step="items"],
 html.js[data-ys-motion="on"] .gv-decode[data-state="idle"] [data-step="read"]{opacity:.4}
 html.js[data-ys-motion="on"] .gv-decode:is([data-state="idle"],[data-state="reading"],[data-state="inflating"]) .gv-decode__grid li{background:transparent;border:1px dashed var(--gv-line-strong)}
 html.js[data-ys-motion="on"] .gv-decode:is([data-state="idle"],[data-state="reading"],[data-state="inflating"]) .gv-decode__grid img{visibility:hidden}
 html.js[data-ys-motion="on"] .gv-decode[data-state="idle"] .gv-decode__text::after{content:'▏';color:var(--gv-red-text);animation:gv-caret var(--ys-demo-step) var(--ys-ease-standard) infinite alternate}
 html[data-ys-motion="on"] .landscape-section.is-entering,html[data-ys-motion="on"] .weapon-card.is-entering{animation:gv-enter var(--ys-dur-long) var(--ys-ease-emphasized) both;animation-delay:calc(min(var(--section-index,0),5)*var(--ys-stagger) + min(var(--card-index,0),5)*var(--ys-stagger-tight))}
 html[data-ys-motion="on"] .image-modal{transition:opacity var(--ys-dur-short) var(--ys-ease-standard)}
 html[data-ys-motion="on"] .image-modal .modal-dialog{translate:0 var(--ys-dist-sm);scale:.97;transition:translate var(--ys-dur-medium) var(--ys-ease-emphasized),scale var(--ys-dur-medium) var(--ys-ease-emphasized)}
 html[data-ys-motion="on"] .image-modal.modal-visible .modal-dialog{translate:none;scale:1}
 .gv-code>summary .ui-icon{transition:transform var(--ys-dur-short) var(--ys-ease-move)}
}
.gv-decode[data-in-view="false"] *,html[data-ys-hidden="true"] .gv-decode *, .gv-decode[data-paused="true"] *{animation-play-state:paused!important}
@keyframes gv-caret{to{opacity:0}}
@keyframes gv-enter{from{translate:0 var(--ys-dist-sm);scale:.98}}
@media print{.gv-decode__controls{display:none}.gv-decode *{animation:none!important;transition:none!important}}
/* Reduced motion keeps all seven results, with immediate manual step emphasis. */
.gv-decode{--accent:var(--gv-red-text)}
html[data-ys-motion="reduced"] .gv-decode[data-state="reading"] [data-step]:not([data-step="read"]),
html[data-ys-motion="reduced"] .gv-decode[data-state="inflating"] [data-step="items"]{opacity:.4}
html[data-ys-motion="reduced"] .gv-decode__steps li{transition:none}
