/* Game tools reuse the existing charcoal/yellow system. */
.jm-main{width:100%;max-width:1120px;margin:0 auto;padding:40px 28px 80px;color:var(--d-text);min-width:0}
.jm-main h1{font-size:2rem;line-height:1.3;letter-spacing:-.025em;margin:0 0 12px}
.jm-main h2{font-size:1.35rem;line-height:1.4;margin:0 0 8px;letter-spacing:-.02em}
.jm-main h3{font-size:1.05rem;line-height:1.45;margin:0}
.jm-main p{margin:0 0 16px}.jm-main a{text-underline-offset:4px}
.jm-main input,.jm-main button,.jm-main select{font:inherit}
.jm-main button,.jm-main a,.jm-nav a{touch-action:manipulation}
.jm-main ::selection{background:var(--y);color:#17171a}
.jm-main input{caret-color:var(--y)}
.jm-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.jm-nav{display:flex;gap:8px;align-items:center;white-space:nowrap;font-size:14px;font-weight:650}
.jm-nav a{display:inline-flex;align-items:center;min-height:42px;padding:8px 13px;text-decoration:none;border-radius:8px}
.jm-nav .jm-nav-wish{border:1px solid var(--d-border-hi);background:var(--d-surface)}
.jm-muted,.jm-intro{color:var(--d-dim)}.jm-intro{font-size:16px;max-width:64ch}
.jm-primary,.jm-secondary,.jm-quiet{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 17px;border-radius:8px;font-weight:700;text-decoration:none;cursor:pointer;border:1px solid transparent;line-height:1.35;transition:background-color .15s,color .15s,border-color .15s}
.jm-primary{background:var(--y);color:#17171a}.jm-secondary{background:var(--d-surface);color:var(--d-text);border-color:var(--d-border-hi)}
.jm-quiet{background:transparent;color:var(--d-dim);border-color:var(--d-border)}
.jm-primary:active,.jm-secondary:active,.jm-quiet:active{transform:translateY(1px)}
.jm-main button:disabled{opacity:.45;cursor:not-allowed;transform:none}
.jm-main :focus-visible,.jm-nav :focus-visible{outline:2px solid var(--y);outline-offset:4px}
.jm-find{padding:18px 0 30px;max-width:850px;margin:0 auto}
.jm-find h1{font-size:2.15rem}.jm-find>p{color:var(--d-dim);font-size:17px;margin-bottom:24px}
.jm-search{display:flex;align-items:center;gap:12px;background:var(--d-surface);border:1px solid var(--d-border-hi);border-radius:12px;padding:8px;min-width:0}
.jm-search:focus-within{border-color:var(--y)}
.jm-search>svg{flex:none;margin-left:10px;color:var(--d-dim)}
.jm-search input{min-width:0;flex:1;width:100%;border:0;background:transparent;color:var(--d-text);padding:10px 0;font-size:16px;outline:none}
.jm-search input::placeholder{color:#aaa9a3}.jm-search input:focus-visible{outline:none}
.jm-search button{flex:none;min-width:76px}.jm-search.is-large{min-height:64px}
.jm-search-hints{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-size:13px;color:var(--d-dim)}
.jm-search-hints a{color:var(--d-text);text-decoration:none}
.jm-wish-prompt{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;border-top:1px solid var(--d-border);border-bottom:1px solid var(--d-border);margin:4px 0 44px}
.jm-wish-prompt h2{font-size:18px}.jm-wish-prompt p{margin:0;color:var(--d-dim);font-size:14px}
.jm-wish-prompt>a{flex-shrink:0}.jm-home-section{margin:0 0 48px}
.jm-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.jm-section-head p{margin:0;font-size:14px}.jm-small-link{font-size:14px;white-space:nowrap;color:var(--d-text);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;min-height:36px}
.jm-editorial-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px}
.jm-editorial-card{min-width:0}.jm-card-image{display:block;aspect-ratio:460/215;background:var(--d-surface);border-radius:10px;overflow:hidden}
.jm-card-image img{width:100%;height:100%;object-fit:cover}.jm-card-copy{padding-top:12px}
.jm-card-copy h3 a{text-decoration:none}.jm-card-copy p{font-size:13px;line-height:1.65;color:var(--d-dim);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:7px 0 8px;min-height:3.3em}
.jm-card-actions{display:flex;gap:12px;justify-content:space-between;font-size:12px}.jm-card-actions a{min-height:32px;display:inline-flex;align-items:center;text-decoration:none;color:var(--y)}
.jm-episodes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.jm-episodes article{min-width:0}.jm-episodes a{text-decoration:none}.jm-episodes img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;margin-bottom:12px}
.jm-episodes h3{font-size:16px}.jm-episodes time{display:block;font-size:12px;color:var(--d-dim);margin-top:8px}
.jm-guides{border-top:1px solid var(--d-border)}.jm-guides article{display:grid;grid-template-columns:1fr 1.2fr;gap:32px;padding:20px 0;border-bottom:1px solid var(--d-border)}
.jm-guides h3 a{text-decoration:none}.jm-guides p{font-size:14px;color:var(--d-dim);margin:0;line-height:1.65}
.jm-note{font-size:13px;line-height:1.75;color:var(--d-dim);max-width:80ch}.jm-note a{color:var(--d-text)}
.jm-tool{max-width:1000px}.jm-tool>.jm-search{margin:24px 0 12px}
.jm-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin:28px 0 12px;padding:14px 0;border-top:1px solid var(--d-border);border-bottom:1px solid var(--d-border)}
.jm-toolbar label{font-size:13px;color:var(--d-dim);display:flex;gap:8px;align-items:center}
.jm-toolbar select{min-height:44px;max-width:100%;padding:8px 32px 8px 10px;color:var(--d-text);background:var(--d-surface);border:1px solid var(--d-border-hi);border-radius:6px;font-size:14px}
.jm-toolbar button{margin-left:auto;font-size:13px}.jm-status{padding:12px 0;color:var(--d-dim);min-height:48px;font-size:14px}.jm-status.is-error{color:#ffb3a5}
.jm-result-list{display:flex;flex-direction:column;gap:0;min-width:0}
.jm-result{display:grid;grid-template-columns:144px minmax(0,1fr) auto;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--d-border);min-width:0}
.jm-result-image{width:144px;aspect-ratio:460/215;object-fit:cover;border-radius:8px;background:var(--d-surface)}
.jm-result-placeholder{display:flex;align-items:center;justify-content:center;color:var(--d-dim);font-size:13px}
.jm-result-copy{min-width:0}.jm-result-copy h2{font-size:17px;margin:4px 0 6px;overflow-wrap:anywhere}
.jm-result-copy h2 a{text-decoration:none}.jm-result-copy p{font-size:13px;color:var(--d-dim);margin:0 0 7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.jm-badge{display:inline-block;font-size:11px;letter-spacing:.01em;color:var(--y);padding:2px 6px;background:var(--y-soft);border-radius:4px}
.jm-badge.is-steam{color:var(--d-dim);background:var(--d-surface)}
.jm-result-links{display:flex;gap:14px;flex-wrap:wrap;font-size:12px}.jm-result-links a{display:inline-flex;align-items:center;min-height:32px;color:var(--d-text)}
.jm-result-price{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-variant-numeric:tabular-nums;text-align:right;min-width:120px}
.jm-result-price strong{font-size:18px}.jm-result-price s{font-size:12px;color:var(--d-dim)}.jm-result-price small{font-size:11px;color:var(--d-dim)}
.jm-discount{display:inline-flex;background:var(--y-soft);color:var(--y);font-size:13px;font-weight:750;padding:2px 7px;border-radius:4px;font-variant-numeric:tabular-nums}
.jm-empty{padding:30px 0}.jm-empty h2{font-size:19px}.jm-empty p{color:var(--d-dim);max-width:64ch}.jm-empty a{color:var(--y)}
.jm-skeleton{height:96px;border-bottom:1px solid var(--d-border);background:var(--d-surface);opacity:.5;margin-bottom:10px;border-radius:8px}
.jm-login-panel{margin:28px 0 12px;padding:28px;background:var(--d-surface);border:1px solid var(--d-border);border-radius:12px}
.jm-login-panel>p{max-width:65ch;color:var(--d-dim)}.jm-login-panel .jm-note{margin:18px 0 0;font-size:12px}
.jm-wishlist-summary{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:20px 0}.jm-wishlist-summary h2{margin:0}.jm-wishlist-summary p{margin:5px 0 0;font-size:13px}.jm-wishlist-summary button{font-size:12px}
.jm-pager{display:flex;align-items:center;justify-content:center;gap:20px;margin:24px 0}.jm-pager>span{color:var(--d-dim);font-size:14px}
.jm-help{margin-top:28px;border-top:1px solid var(--d-border);padding-top:18px}.jm-help summary,.jm-history-table summary{cursor:pointer;padding:10px 0;min-height:44px;font-size:14px;color:var(--d-text)}
.jm-help p{font-size:14px;color:var(--d-dim);max-width:70ch}.jm-game-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center;margin:22px 0 32px}
.jm-game-poster{width:100%;height:auto;border-radius:12px}.jm-game-heading h1{font-size:1.9rem;overflow-wrap:anywhere}.jm-game-heading .jm-muted{font-size:13px;margin-bottom:12px}
.jm-game-price{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-variant-numeric:tabular-nums;margin:10px 0}.jm-game-price strong{font-size:28px}.jm-game-price s{color:var(--d-dim);font-size:14px}
.jm-game-heading .jm-primary{margin-top:4px}.jm-curation-callout{padding:24px 0;border-top:1px solid var(--d-border);border-bottom:1px solid var(--d-border);margin:28px 0}.jm-curation-callout p{color:var(--d-dim)}.jm-curation-callout a{color:var(--y);font-weight:650}
.jm-notice{padding:18px 0;border-top:1px solid var(--d-border);color:var(--d-dim);font-size:14px}
.jm-history{margin:32px 0;padding:24px 0;max-width:100%;color:var(--d-text)}.jm-history .jm-section-head{align-items:flex-start}.jm-history h2{font-size:21px;margin-bottom:6px}
.jm-calendar{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,minmax(0,1fr));grid-auto-columns:minmax(0,1fr);gap:4px;aspect-ratio:4.3;max-width:780px;margin-top:20px}
.jm-day{display:block;border-radius:3px;min-width:0;background:#28282c}.jm-day.is-pad{visibility:hidden}
.hm-unknown{background:#202023}.hm-0{background:#55554e}.hm-1{background:#6d6326}.hm-2{background:#a19024}.hm-3{background:#d4b91e}.hm-4{background:#ffd60a}
.jm-calendar-range{display:flex;justify-content:space-between;max-width:780px;color:var(--d-dim);font-size:11px;margin:8px 0 14px;font-variant-numeric:tabular-nums}
.jm-legend{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:11px;color:var(--d-dim);margin-bottom:16px}.jm-legend span{display:inline-flex;align-items:center;gap:5px;margin-right:4px}.jm-legend i{width:11px;height:11px;border-radius:2px;display:inline-block}
.jm-history-table{margin-top:16px}.jm-table-scroll{overflow:auto;max-height:320px}.jm-history table{border-collapse:collapse;width:100%;font-size:13px;font-variant-numeric:tabular-nums}
.jm-history th,.jm-history td{padding:10px;border-bottom:1px solid var(--d-border);text-align:right;white-space:nowrap}.jm-history th:first-child{text-align:left}.jm-history thead{color:var(--d-dim)}
.jm-store-separation p{color:var(--d-dim);font-size:14px}.jm-history-empty{border-top:1px solid var(--d-border);margin-top:24px}
.jm-reading{max-width:72ch;margin:0 auto}.jm-reading h2{margin:36px 0 12px}.jm-reading p{font-size:16px;line-height:1.85;color:#c4c4bd}.jm-reading a{color:var(--y)}
@media(hover:hover) and (pointer:fine){.jm-nav a:hover{background:var(--d-surface-2)}.jm-primary:hover{background:#ffe052}.jm-secondary:hover,.jm-quiet:hover{background:var(--d-surface-2);border-color:var(--d-border-hi);color:var(--d-text)}.jm-small-link:hover,.jm-card-actions a:hover,.jm-result-copy h2 a:hover,.jm-editorial-card h3 a:hover{color:var(--y)}.jm-day:hover{outline:1px solid var(--d-text);outline-offset:1px}}
@media(max-width:1000px){.jm-editorial-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.jm-nav{font-size:13px;gap:2px}.jm-nav a{padding:8px 10px}}
@media(max-width:760px){.jm-main{padding:28px 18px 56px}.jm-main h1,.jm-find h1{font-size:1.65rem}.jm-find{padding:6px 0 24px}.jm-find>p{font-size:15px}.jm-wish-prompt{gap:18px;margin-bottom:32px}.jm-wish-prompt h2{font-size:16px}.jm-wish-prompt p{font-size:13px}.jm-wish-prompt>a{font-size:13px;padding:10px 12px}.jm-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.jm-home-section{margin-bottom:36px}.jm-episodes{gap:14px}.jm-episodes h3{font-size:14px}.jm-guides article{grid-template-columns:1fr;gap:8px;padding:18px 0}.jm-section-head{align-items:flex-start}.jm-section-head h2{font-size:19px}.jm-game-heading{gap:22px;grid-template-columns:1fr}.jm-game-poster{max-width:540px}.jm-game-heading h1{font-size:1.7rem}.jm-result{grid-template-columns:110px minmax(0,1fr);gap:12px}.jm-result-image{width:110px}.jm-result-price{grid-column:2;align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:8px;min-width:0;text-align:left}.jm-result-price small{width:100%}.jm-result-copy h2{font-size:15px}.jm-result-copy p{font-size:12px}.jm-wishlist-summary{align-items:flex-start;flex-direction:column;gap:10px}.jm-wishlist-summary button{min-height:40px}.jm-login-panel{padding:22px}.jm-calendar{gap:3px}.jm-history .jm-section-head{flex-direction:column;gap:4px}.jm-history .jm-small-link{min-height:32px}.jm-toolbar{gap:10px}.jm-toolbar select{font-size:13px}.jm-toolbar label{font-size:12px}.jm-toolbar button{margin-left:0}.jm-nav a{font-size:12px;padding:6px 9px}.jm-nav .jm-nav-wish{min-height:38px}.jm-reading p{font-size:15px}}
@media(max-width:430px){.jm-search{gap:8px}.jm-search>svg{width:17px;margin-left:5px}.jm-search button{min-width:58px;padding:10px 12px}.jm-search input{font-size:16px}.jm-search-hints{font-size:11px}.jm-wish-prompt{align-items:flex-start;flex-direction:column;gap:12px}.jm-card-actions{gap:6px;font-size:11px}.jm-card-copy h3{font-size:14px}.jm-card-copy p{font-size:12px}.jm-episodes{grid-template-columns:1fr}.jm-episodes article>a{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:start}.jm-episodes img{margin:0}.jm-episodes time{margin-left:132px}.jm-result{grid-template-columns:86px minmax(0,1fr)}.jm-result-image{width:86px}.jm-toolbar{align-items:stretch}.jm-toolbar label{flex:1;min-width:0;flex-direction:column;align-items:stretch;gap:4px}.jm-toolbar select{width:100%;padding-right:20px}.jm-pager{gap:14px}.jm-pager button{font-size:13px}.jm-nav a{padding:6px}.jm-nav{gap:3px}.jm-result-links{gap:8px}}
@media(prefers-reduced-motion:reduce){.jm-primary,.jm-secondary,.jm-quiet{transition:none}.jm-primary:active,.jm-secondary:active,.jm-quiet:active{transform:none}}

.jm-main [hidden]{display:none!important}
.jm-search input:focus-visible{outline:2px solid var(--y);outline-offset:3px;border-radius:3px}
@media(forced-colors:active){.jm-main :focus-visible,.jm-nav :focus-visible{outline-color:Highlight}}

@media(pointer:coarse){.jm-main input,.jm-main select{font-size:16px}}
.jm-main h1,.jm-main h2,.jm-main h3{word-break:keep-all;overflow-wrap:anywhere}

@media(max-width:430px){.jm-toolbar label{flex:1 1 140px}.jm-toolbar button{flex:1 1 100%;width:100%}}
