/* The walk-in boutique shares the world's paper, ink and cobalt palette. */
/* Character browsing belongs to the original Ink Market's cards and scroll area. */
.ik-character-find{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}
.ik-character-find input{flex:1;min-width:140px;min-height:44px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;color:var(--ink);font:inherit}
.ik-character-filters{display:flex;gap:6px}
.ik-character-filters button{min-height:44px}
.ik-character-filters button[aria-pressed='true']{background:#fff;color:var(--cobalt-ink);box-shadow:inset 0 0 0 1px #b8c2fa}
.ik-character-filter-select{display:none}
.ik-character-card .ik-card-top{align-items:center}
.ik-character-art{display:grid;place-items:center;flex:none;width:76px;height:92px;border-radius:12px;background:#f3efe5;overflow:hidden}
.ik-character-art img{width:100%;height:100%;object-fit:contain}
.ik-character-card .ik-blurb{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}
.ik-character-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}
.ik-character-card-bottom .btn{min-height:44px}
.ik-character-back{min-height:44px;margin:8px 0 10px}
.ik-market-pass{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:12px 14px;margin:8px 0 12px;border:1px solid var(--line);border-radius:10px;background:#f4efe3}
.ik-market-pass strong{font-size:14px}
.ik-market-pass p{font-size:12px;line-height:1.4;margin:4px 0 0;color:var(--muted)}
.ik-market-pass small{grid-column:1/-1;font-size:12px;color:var(--muted)}
.ik-market-pass .btn{min-height:44px;white-space:normal;max-width:150px}
.ik-character-detail{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(220px,1fr);gap:20px;margin-top:0}
.ik-character-fitting.cm-fitting{height:270px;min-height:200px;border-radius:12px;background:#f3efe5;position:relative;overflow:hidden}
.ik-character-fitting canvas{width:100%;height:100%;display:block}
.ik-character-turn{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:8px;font-size:12px;color:var(--muted)}
.ik-character-turn button{min-width:44px;min-height:44px}
.ik-character-controls{min-width:0;display:flex;flex-direction:column;gap:10px}
.ik-character-controls h3,.ik-character-controls p{margin:0}
.ik-character-controls .field{margin:0;display:grid;gap:5px;font-size:13px}
.ik-character-controls select{width:100%;min-height:44px;font:inherit;border:1px solid var(--line);border-radius:10px;padding:8px;background:#fff;color:var(--ink)}
.ik-character-rule{font-size:13px;line-height:1.5;color:#725313}
.ik-character-wear{min-height:44px}
.ik-characters button:focus-visible,.ik-characters input:focus-visible,.ik-characters select:focus-visible{outline:2px solid var(--cobalt);outline-offset:2px}
@media(max-width:640px){
 body.map-docked #app #sheet.ink-sheet{z-index:8;top:var(--safe-t)!important;left:var(--safe-l)!important;right:var(--safe-r)!important;bottom:var(--safe-b)!important;width:auto!important;max-width:none!important;height:calc(100dvh - var(--safe-t) - var(--safe-b))!important;max-height:calc(100dvh - var(--safe-t) - var(--safe-b))!important;border-radius:0}
 body.map-docked:has(#sheet.ink-sheet:not([hidden])) #app :is(.map-dock,.mobile-toolbar,#visits){visibility:hidden;pointer-events:none}
 body.map-docked #app #sheet.marketpass-checkout-sheet{z-index:8;top:var(--safe-t)!important;left:var(--safe-l)!important;right:var(--safe-r)!important;bottom:var(--safe-b)!important;width:auto!important;max-width:none!important;height:calc(100dvh - var(--safe-t) - var(--safe-b))!important;max-height:calc(100dvh - var(--safe-t) - var(--safe-b))!important;border-radius:0}
 body.map-docked:has(#sheet.marketpass-checkout-sheet:not([hidden])) #app :is(.map-dock,.mobile-toolbar,#visits){visibility:hidden;pointer-events:none}
 body.map-docked #sheet.marketpass-checkout-sheet #sheet-body{overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}
 body.map-docked #sheet.ink-sheet #sheet-body{overflow:hidden}
 body.map-docked #sheet.ink-sheet .ink-shop{padding:8px 12px 0;overflow:hidden}
 #sheet.ink-sheet .ik-body{touch-action:pan-y;-webkit-overflow-scrolling:touch}
 .ik-character-shop>.ik-head{display:none}
 .ik-character-shop>.ik-tabs{margin-top:0}
 .ik-character-shop .ik-xp{font-size:12px;line-height:1.4;padding:8px 10px;margin:8px 0}
 .ik-character-detail{grid-template-columns:1fr;gap:12px;padding:12px}
 .ik-character-fitting.cm-fitting{height:200px;min-height:180px}
 .ik-character-controls{gap:9px}
 .ik-character-find{gap:6px;flex-wrap:nowrap;margin:8px 0}
 .ik-character-find input{width:auto;min-width:0}
 .ik-character-filters{display:none}
 .ik-character-filter-select{display:block;flex:0 1 118px;max-width:48%;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:10px;padding:8px;background:#fff;color:var(--ink);font:inherit;font-size:12px}
 .ik-character-card .ik-blurb{display:none}
 .ik-character-art{width:64px;height:72px}
 .ik-market-pass{gap:8px;padding:10px;margin:8px 0}
 .ik-market-pass .btn{max-width:110px;padding:8px}
}
.store {color:#23262a}
.store .cm-shop-nav {position:sticky;top:0;z-index:3;background:#fffaf0;border-bottom:1px solid #d9d2c5;padding:6px 0 12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.store .cm-shop-nav button {min-height:44px}
.store-layout {display:grid;grid-template-columns:minmax(0,1.1fr) minmax(270px,.9fr);gap:28px;align-items:start}
.store-browse,.store-detail {min-width:0}
.store-find {display:grid;grid-template-columns:1fr;gap:10px}
.store-find input[type=search],.store-categories select,.store-preview-controls select {width:100%;min-height:44px;border:1px solid #c8c2b7;border-radius:8px;background:#fffdf7;color:#24272b;padding:10px 12px;font:inherit}
.store-categories {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin:0 0 18px}
.store-categories button {min-height:44px;border:1px solid #d1cabc;border-radius:8px;background:#f4efe3;color:#30343a;padding:10px 14px;font:inherit;cursor:pointer}
.store-browse {scroll-margin-top:70px}
.store-owned {display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;cursor:pointer}
.store-owned input {width:19px;height:19px;accent-color:#3044ce}
.store-count {margin:10px 0;color:#62615d;font-size:13px}
.store-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.store-item {display:flex;align-items:center;gap:8px;text-align:left;min-height:100px;padding:12px;border:1px solid #ddd6c8;border-radius:9px;background:#f4efe3;color:#202328;font:inherit;cursor:pointer}
.store-item-copy {display:flex;flex-direction:column;gap:7px;min-width:0;flex:1}
.store-head-thumb {object-fit:contain;flex:none;max-width:30%;height:auto}
.store-item:hover {border-color:#9c9689;background:#eee7d8}
.store-item.is-selected {border-color:#3044ce;background:#eaeefe;box-shadow:inset 0 0 0 1px #3044ce}
.store-item strong {font-size:16px;line-height:1.2}
.store-item-kind {font-size:11px;color:#6d6860}
.store-item-price {font-size:13px;color:#474b55;margin-top:auto}
.store-detail {position:sticky;top:68px;padding:20px;border:1px solid #d9d2c5;border-radius:12px;background:#fffdf7}
.store-detail-heading>span {font-size:12px;color:#64615a}
.store-detail h3 {font-size:24px;line-height:1.12;margin:7px 0 12px;letter-spacing:-.45px}
.store-blurb,.store-unlock,.store-item-state p {font-size:14px;line-height:1.45;margin:10px 0}
.store-fitting {height:260px!important;min-height:200px!important;border-radius:8px;background:#f3eee3}
.store-preview-controls {display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:6px;margin-top:8px}
.store-preview-controls button {min-height:44px;border:1px solid #d1cabc;border-radius:8px;background:#f4efe3;font-size:24px;cursor:pointer}
.store-preview-note {font-size:11px;color:#6c675f;line-height:1.4;margin:8px 0 14px}
.store-action,.store-secondary,.store-return {min-height:44px;width:100%;border:0;border-radius:8px;font:inherit;font-weight:650;padding:11px 14px;cursor:pointer;margin-top:8px}
.store-action {background:#3044ce;color:#fff}
.store-secondary,.store-return {background:#eee8db;color:#282b30}
.store-action:disabled {background:#d9d7d0;color:#6c6a63;cursor:default}
.store-return {width:auto;margin:0 0 14px}
.store-price {font-size:21px!important;font-weight:700;letter-spacing:-.4px}
.store-owned-label {font-weight:650;color:#3044ce}
.store-status {font-size:13px;color:#743641;line-height:1.4}
.store-swatch {display:flex;align-items:center;justify-content:center;min-height:130px;background:#eee9dc;border-radius:8px;margin:15px 0}
.store-swatch .ik-art {transform:scale(1.3);margin:15px}
.store-item-mark {padding:35px 14px;background:#eee9dc;border:1px solid #ded7c8;border-radius:8px;text-align:center;color:#666157;font-size:16px;font-weight:550}
.store-empty {grid-column:1/-1;color:#68635b;line-height:1.5}
.store button:focus-visible,.store select:focus-visible,.store input:focus-visible,.store-return:focus-visible {outline:3px solid #3044ce;outline-offset:3px}
@media(max-width:640px){
 .store-layout {display:flex;flex-direction:column;gap:18px}
 .store-browse {width:100%}
 .store-detail {position:static;order:-1;width:100%;padding:14px;scroll-margin-top:62px}
 .store-detail h3 {font-size:22px}
 .store-fitting {height:200px!important;min-height:180px!important}
 .store .cm-head {margin-bottom:14px}
 .store .cm-head p {font-size:13px;line-height:1.4}
 .store-grid {gap:7px}
 .store-item {padding:12px;min-height:108px}
 .store-item strong {font-size:15px}
 .store-preview-controls select {font-size:14px}
 .store .cm-shop-nav {top:0;padding:4px 0 8px}
 .store-item-state {border-top:1px solid #e5dfd2;margin-top:12px;padding-top:5px}
}
@media(prefers-reduced-motion:reduce){.store * {scroll-behavior:auto!important}}
/* CHARACTER SALES: Try on and Buy side by side on a card; CHARACTER GUIDE: the folded How characters work list */
.ik-card-acts{display:flex;gap:6px;flex:none}
.ik-card-acts .btn{min-height:44px}
.ik-buy{background:linear-gradient(135deg,#f6d36b,#d9a93a);color:#3d2a05;border-color:transparent}
.ik-buy:hover{filter:brightness(1.05)}
.ik-guide{margin:0 0 12px;padding:10px 14px;border:1px solid var(--line,rgba(0,0,0,.12));border-radius:14px;background:var(--paper-2,#f6f1e6)}
.ik-guide summary{cursor:pointer;font-weight:800;list-style:revert}
.ik-guide ol{margin:8px 0 2px;padding-left:20px;font-size:var(--t-sm,13px);line-height:1.45;columns:2 260px;column-gap:28px}
.ik-guide li{break-inside:avoid;margin:0 0 6px}
