:root{--bg:#fbf9f6;--surface:#fff;--border:#e4ddd3;--text:#1f1b17;--muted:#6d645b;--accent:#9d4a32;--accent-soft:#f3e7e2;--focus:#1d4ed8;--radius:10px;--measure:68ch;--font-sans:ui-sans-serif, system-ui, -apple-system, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif;--font-display:Spectral, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--bg:#171513;--surface:#201d1a;--border:#35302b;--text:#f0ebe4;--muted:#a89e93;--accent:#e8917a;--accent-soft:#2e2521;--focus:#93b4ff}}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.75}:is(a,button,summary,select,input):focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}a{color:var(--accent);text-underline-offset:.2em}h1,h2,h3{text-wrap:balance;line-height:1.35}h1{margin:0 0 .5rem;font-size:clamp(2rem,1.2rem + 3.4vw,4rem);line-height:1.2}h2{margin:2.5rem 0 .75rem;font-size:clamp(1.4rem,1.15rem + 1vw,1.85rem)}h3{margin:1.75rem 0 .5rem;font-size:1.15rem}:is(h1,h2,h3):lang(ja){letter-spacing:-.01em;word-break:auto-phrase}:is(h1,h2,h3):lang(en),.brand:lang(en){font-family:var(--font-display);letter-spacing:.03em;font-weight:600}h1:lang(en){letter-spacing:.005em;font-weight:700}p{text-wrap:pretty}img{max-width:100%;height:auto}.container{width:min(100% - 2.5rem,72rem);margin-inline:auto}.skip-link{background:var(--surface);z-index:10;padding:.6rem 1rem;position:absolute;top:0;left:-9999px}.skip-link:focus{top:1rem;left:1rem}.page{flex-direction:column;min-height:100dvh;display:flex}main{flex:1;padding-block:2.5rem 4rem}main:has(>.hero){padding-block-start:0}main>.hero+.container{padding-block-start:2.5rem}.lead{color:var(--muted);max-width:var(--measure);margin:0 0 2rem;font-size:1.05rem}.site-header{border-bottom:1px solid var(--border);background:var(--surface)}.site-header__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;padding-block:1rem;display:flex}.brand{color:var(--text);letter-spacing:-.01em;font-size:1.05rem;font-weight:650;text-decoration:none}.site-nav{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.site-nav a{color:var(--muted);font-size:.925rem;text-decoration:none}.site-nav a:hover{color:var(--text)}.site-nav a[aria-current=page]{color:var(--text);font-weight:600}.lang-switch{border:1px solid var(--border);border-radius:999px;align-items:center;gap:.25rem;padding:.15rem;display:flex}.lang-switch a{color:var(--muted);border-radius:999px;padding:.2rem .7rem;font-size:.8rem;text-decoration:none}.lang-switch a[aria-current=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.5rem;height:100%;padding:1.25rem;display:flex}.card__media{border-radius:var(--radius) var(--radius) 0 0;aspect-ratio:16/9;background:var(--accent-soft);margin:-1.25rem -1.25rem .35rem;display:block;overflow:hidden}.card__media--empty{background:linear-gradient(140deg, var(--accent-soft), var(--bg));border-bottom:1px solid var(--border)}.card__media img{object-fit:cover;width:100%;height:100%;display:block}.card__title{margin:0;font-size:1.05rem}.card__title a{color:var(--text);text-decoration:none}.card__title a:hover{color:var(--accent);text-decoration:underline}.card__place{color:var(--muted);letter-spacing:.02em;margin:0;font-size:.8rem}.card__summary{color:var(--muted);margin:0;font-size:.925rem;line-height:1.7}.card__meta{flex-wrap:wrap;gap:.4rem;margin-top:auto;padding-top:.75rem;display:flex}.tag{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:999px;padding:.1rem .6rem;font-size:.75rem;line-height:1.5}.tag--tattoo-official{background:var(--accent-soft);color:var(--accent);font-weight:600}.tag--tattoo-aggregator{border:1px dashed var(--accent);color:var(--accent);background:0 0}.tag--tattoo-unknown,.tag--plain{border:1px solid var(--border);color:var(--muted);background:0 0}.filter{flex-direction:column;gap:.85rem;margin:0 0 2rem;display:flex}.filter__group{grid-template-columns:minmax(5rem,6rem) 1fr;align-items:baseline;gap:.5rem 1rem;scroll-margin-top:1.5rem;display:grid}@media (width<=34rem){.filter__group{grid-template-columns:1fr;gap:.3rem}}.filter__region{letter-spacing:.04em;color:var(--muted);text-transform:uppercase;margin:0;font-size:.75rem}.filter__list{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.filter :is(.filter__all,.filter__list a){border:1px solid var(--border);color:var(--muted);background:var(--surface);border-radius:999px;padding:.25rem .8rem;font-size:.85rem;text-decoration:none;display:inline-block}.filter__all{align-self:flex-start}.filter :is(.filter__all,.filter__list a)[aria-current=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.filter--tattoo{margin-bottom:1rem}.filter__confirmed{align-items:center;gap:.4rem;display:flex}.filter__confirmed:before{content:"";background:var(--border);align-self:stretch;width:1px;margin-inline:.2rem}.filter__list .filter__confirmed a{border-style:dashed}.result-count{color:var(--muted);margin:0 0 1rem;font-size:.875rem}.detail{max-width:52rem}.detail__place{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 .5rem;font-size:.875rem}.detail__media{margin:0 0 2rem}.detail__media img{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);background:var(--accent-soft);width:100%;height:auto;display:block}.detail__media figcaption{color:var(--muted);margin-top:.5rem;font-size:.8rem}.facts{border-top:1px solid var(--border);margin:2rem 0 0}.facts__row{border-bottom:1px solid var(--border);grid-template-columns:minmax(8rem,12rem) 1fr;gap:.5rem 1.5rem;padding:.85rem 0;display:grid}@media (width<=34rem){.facts__row{grid-template-columns:1fr;gap:.15rem}}.facts__key{color:var(--muted);margin:0;font-size:.875rem}.facts__value{overflow-wrap:anywhere;margin:0}.facts__note{color:var(--muted);margin-top:.15rem;font-size:.85rem;display:block}.back-link{margin-top:2.5rem;font-size:.925rem;display:inline-block}.prose{max-width:var(--measure)}.prose h2{border-top:1px solid var(--border);padding-top:.5rem}.prose ul,.prose ol{padding-left:1.35rem}.prose li{margin-block:.35rem}.prose table{border-collapse:collapse;width:100%;margin:1.25rem 0;font-size:.925rem}.prose :is(th,td){text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:.6rem .75rem}.prose th{color:var(--muted);letter-spacing:.03em;text-transform:uppercase;font-size:.8rem;font-weight:600}.table-scroll{overflow-x:auto}.callout{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;margin:1.5rem 0;padding:1rem 1.25rem}.callout p{margin:.4rem 0}.callout p:first-child{margin-top:0}.callout p:last-child{margin-bottom:0}.callout__label{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-size:.75rem;font-weight:650}.notice{color:var(--muted);background:var(--accent-soft);border-radius:var(--radius);margin:0 0 .75rem;padding:.7rem 1rem;font-size:.85rem}.notice:last-of-type{margin-bottom:2rem}.notice--warn{border:1px solid var(--accent);color:var(--text);background:0 0}.hero{isolation:isolate;background:var(--accent-soft);--hero-ink:#fff;--hero-ink-muted:#ffffffd1;--hero-scrim:linear-gradient(to bottom, #14100d33 0%, #14100d8c 45%, #14100de0 100%);--hero-chip-bg:#ffffff24;--hero-chip-border:#ffffff73;--hero-chip-bg-hover:#ffffff47;align-items:end;min-height:min(60vh,520px);display:grid;position:relative;overflow:hidden}@media (prefers-color-scheme:dark){.hero{--hero-scrim:linear-gradient(to bottom, #0a080766 0%, #0a0807ad 45%, #0a0807eb 100%)}}.hero__image{z-index:-2;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero:after{content:"";z-index:-1;background:var(--hero-scrim);position:absolute;inset:0}.hero__body{width:100%;color:var(--hero-ink);padding-block:3.5rem 2.25rem}.hero__heading{color:var(--hero-ink);text-shadow:0 1px 2px #00000059;margin:0 0 .5rem;font-size:clamp(1.9rem,1.2rem + 2.6vw,3rem)}.hero__lead{color:var(--hero-ink-muted);max-width:var(--measure);text-shadow:0 1px 2px #00000059;margin:0 0 1.75rem;font-size:1.05rem}.hero__find-label{letter-spacing:.08em;text-transform:uppercase;color:var(--hero-ink-muted);margin:0 0 .6rem;font-size:.75rem}.hero__regions{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.hero__regions a{border:1px solid var(--hero-chip-border);background:var(--hero-chip-bg);color:var(--hero-ink);backdrop-filter:blur(2px);border-radius:999px;align-items:baseline;gap:.4rem;padding:.35rem .9rem;font-size:.925rem;text-decoration:none;display:inline-flex}.hero__regions a:hover{background:var(--hero-chip-bg-hover)}.hero__regions a:focus-visible{outline:2px solid var(--hero-ink);outline-offset:2px}.hero__count{color:var(--hero-ink-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.hero__pending{color:var(--hero-ink-muted);margin:.85rem 0 0;font-size:.825rem}.home-section+.home-section{margin-top:3.5rem}.home-section>h2{margin-top:0}.home-section>.lead{margin-bottom:1.5rem}.home-section__more{margin:1.25rem 0 0;font-size:.925rem}.region-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,11rem),1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.region-grid a{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);justify-content:space-between;align-items:baseline;gap:.5rem;padding:.85rem 1rem;text-decoration:none;display:flex}.region-grid a:hover{border-color:var(--accent);color:var(--accent)}.region-grid__count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem}.site-footer{border-top:1px solid var(--border);background:var(--surface);color:var(--muted);padding-block:1.75rem;font-size:.85rem}.site-footer p{margin:.25rem 0}.notfound{max-width:44rem;padding-block:4rem 5rem}.notfound__code{letter-spacing:.16em;color:var(--muted);margin:0 0 2rem;font-size:.8rem}.notfound__lang+.notfound__lang{border-top:1px solid var(--border);margin-top:2.5rem;padding-top:2.5rem}.notfound__heading{margin:0 0 .5rem;font-size:1.4rem}.notfound__body{color:var(--muted);margin:0 0 1rem}.notfound__links{flex-wrap:wrap;gap:.5rem 1.25rem;margin:0;padding:0;font-size:.925rem;list-style:none;display:flex}
