/*
Theme Name: Stringfisher Arcade
Version: 0.5.0
Requires at least: 6.6
Requires PHP: 8.2
Text Domain: stringfisher-arcade
*/
:where(a,button,input,select):focus-visible{outline:3px solid #613719;outline-offset:5px}
.sf-cabinet{border:1px solid currentColor;border-radius:12px;padding:clamp(1.25rem,4vw,3rem)}
.wp-block-post-featured-image img{border-radius:8px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@font-face{font-family:UncleTypewriter;src:url('assets/uncletypewriter.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:MomsTypewriter;src:url('assets/momstypewriter.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
html{scroll-behavior:smooth;scroll-padding-top:2rem}
body{background:#e4dcc8;color:#30291f}
.wp-block-site-title{font-family:UncleTypewriter,'Courier New',monospace;font-weight:400;text-transform:lowercase}
.wp-block-site-title a{text-decoration:none;color:inherit}
.sf-site-header{padding-block:1.6rem!important;border-bottom:1px solid #a99a80;margin-block:0!important;gap:1.5rem}
.sf-site-header .wp-block-navigation{font-family:'Courier New',monospace;font-size:.86rem;letter-spacing:.02em}
.sf-site-header .wp-block-navigation a{color:#30291f}
.sf-site-footer{margin-top:0!important;padding-block:2rem!important;border-top:1px solid #a99a80;font: .85rem/1.6 'Courier New',monospace}
.sf-site-footer a{color:inherit;text-underline-offset:4px}
.sf-home{max-width:1200px;margin-inline:auto!important;margin-top:0!important}
.sf-home-section{padding-block:clamp(3rem,7vw,6rem);margin-block:0!important;border-bottom:1px solid #a99a80;scroll-margin-top:2rem}
.sf-home-section:last-child{border-bottom:0}
.sf-home .wp-block-columns{gap:clamp(2rem,6vw,5rem);margin-block:0;align-items:center}
.sf-home .wp-block-column{min-width:0}
.sf-home p{max-width:41rem}
.sf-home h2{font-family:MomsTypewriter,'Courier New',monospace;font-size:clamp(2rem,3.6vw,3.2rem);line-height:1.25;font-weight:400;letter-spacing:-.04em;color:#58351d}
.sf-home h3{font-size:1.3rem;line-height:1.4;font-weight:500}
.sf-home-title{font-family:UncleTypewriter,'Courier New',monospace!important;font-size:clamp(2.1rem,4.1vw,3.8rem)!important;line-height:1.12!important;letter-spacing:-.07em;font-weight:400!important;margin-block:1.5rem!important;color:#30291f}
.sf-home-deck{font-family:MomsTypewriter,'Courier New',monospace;font-size:clamp(1.7rem,3.1vw,2.7rem);line-height:1.3;color:#58351d;margin-block:0 1.5rem!important}
.sf-home .sf-eyebrow,.sf-art-caption{font-family:'Courier New',monospace;font-size:.74rem;letter-spacing:.12em;line-height:1.7;font-weight:700;color:#635642}
.sf-home-intro{font-size:1.05rem;line-height:1.75}
.sf-home .wp-block-buttons{gap:.85rem;margin-top:1.8rem}
.sf-home .wp-block-button__link{font-size:.85rem;font-weight:600;border-radius:0;padding:.85rem 1.2rem;border:1px solid #613719;box-shadow:none;text-decoration:none}
.sf-home .is-style-outline .wp-block-button__link{background:transparent;color:#613719}
.sf-home a{text-underline-offset:5px}
.sf-home a:hover{text-decoration-thickness:2px}
.sf-cover{margin:0;transform:rotate(1deg)}
.sf-cover img{display:block;width:100%;height:auto;box-shadow:0 12px 30px #30291f26;border-radius:2px}
.sf-art-caption{text-align:center;margin-top:1.3rem!important}
.sf-home .sf-record-title{font-size:clamp(3.1rem,6vw,5.4rem);text-transform:lowercase;margin-block:.7rem 1.25rem}
.sf-home .sf-small{font-size:.85rem;color:#635642}
.sf-track-list{list-style:decimal-leading-zero;padding-left:2.3rem;font-family:'Courier New',monospace;font-size:1rem}
.sf-track-list li{padding:1rem 0 1rem .4rem;border-bottom:1px solid #b8a98e}
.sf-track-list li::marker{color:#7a6549;font-size:.8rem}
.sf-track-list span{float:right;color:#635642;font-size:.85rem;margin-top:.15rem}
.sf-catalogue>h2{margin-bottom:2.5rem}
.sf-catalog-row{display:flex;align-items:baseline;gap:1.6rem;padding-block:1.25rem;border-top:1px solid #b8a98e;margin-block:0!important}
.sf-catalog-number{font: .75rem 'Courier New',monospace;color:#635642;margin:0!important}
.sf-catalog-row h3{flex:1;margin:0!important;font-family:'Courier New',monospace;font-size:clamp(1.1rem,2vw,1.6rem)}
.sf-catalog-row a{display:block;text-decoration:none;color:#30291f}
.sf-catalog-row a:hover{text-decoration:underline}
.sf-catalog-row h3 span{float:right;color:#613719}
.sf-about .wp-block-columns{align-items:flex-start}
.sf-about h3{margin-top:0!important}
.sf-game-note{background:#30291f;color:#f2ecdf;padding:clamp(1.7rem,4vw,3.2rem);box-shadow:8px 8px 0 #c4b69a;transform:rotate(-1deg)}
.sf-home .sf-game-note .sf-eyebrow{color:#d6c9ae;margin-bottom:0}
.sf-game-label{font:1.6rem MomsTypewriter,'Courier New',monospace;margin-top:0!important}
.sf-game-songs{font:clamp(1rem,2vw,1.4rem)/1.9 'Courier New',monospace;letter-spacing:.06em}
@media(max-width:781px){.sf-home-hero>.wp-block-column:last-child{max-width:500px;width:100%;margin-inline:auto}.sf-home-title{font-size:clamp(2rem,8.8vw,3.6rem)!important}.sf-home .wp-block-columns{gap:2.3rem}.sf-hero{padding-top:2.5rem}.sf-site-header{padding-block:1.1rem!important}.sf-home-section{padding-block:3rem}.sf-home .sf-record-title{font-size:3.6rem}.sf-site-footer{gap:.75rem}.sf-site-footer p{margin:0}}

.sf-attract{max-width:510px;margin:0 auto;text-align:center}
.sf-arcade-link{display:block;color:#f2ecdf!important;text-decoration:none!important;filter:drop-shadow(12px 17px 0 #30291f22);transition:transform .2s}
.sf-arcade-link:hover{transform:translateY(-3px)}
.sf-arcade-marquee{margin:0 3%;padding:17px 15px 13px;background:#30291f;border:9px solid #ad9570;border-bottom:5px solid #70563b;box-shadow:inset 0 0 20px #0007;border-radius:13px 13px 0 0}
.sf-arcade-marquee>span{display:block;font:clamp(19px,2.5vw,29px) UncleTypewriter,'Courier New',monospace;color:#e4dcc8}
.sf-arcade-marquee strong{display:block;font:clamp(32px,4vw,49px)/1.15 MomsTypewriter,'Courier New',monospace;color:#f2ecdf}
.sf-arcade-marquee small{display:block;margin-top:7px;font:9px/1.4 monospace;letter-spacing:.19em;color:#caba9c}
.sf-arcade-bezel{padding:24px 25px 26px;background:linear-gradient(105deg,#b29b76,#dfcfaa 48%,#b09a76);border:solid #70563b;border-width:0 8px;box-shadow:inset 0 0 17px #35231566}
.sf-arcade-screen{position:relative;overflow:hidden;aspect-ratio:1000/620;border-radius:38% / 8%;background:#101a19;border:10px solid #30291f;box-shadow:0 0 0 3px #8b7757,inset 0 0 25px #000}
.sf-arcade-screen video{display:block;width:100%;height:100%;object-fit:cover}
.sf-arcade-screen::after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,#0003 0 1px,transparent 1px 4px);box-shadow:inset 0 0 32px 10px #0008;border-radius:inherit}
.sf-arcade-start{position:absolute;z-index:1;left:0;right:0;bottom:16%;padding:9px 3px;color:#f2ecdf;background:#101a19bd;font:bold clamp(15px,2vw,22px)/1.3 monospace;letter-spacing:.13em;text-shadow:0 0 9px #cbff8066}
.sf-arcade-start small{display:block;font:8px/1.8 monospace;letter-spacing:.14em;color:#e4dcc8}
.sf-arcade-deck{height:66px;position:relative;background:linear-gradient(#927553,#c1a57a);border:solid #70563b;border-width:4px 9px 8px;clip-path:polygon(3% 0,97% 0,100% 100%,0 100%)}
.sf-joystick{position:absolute;left:22%;top:13px;width:12px;height:29px;background:#30291f;box-shadow:0 7px 0 8px #70563b;border-radius:5px}
.sf-joystick::before{content:'';position:absolute;width:27px;height:27px;left:-8px;top:-9px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#956147,#4b2819 70%);box-shadow:2px 3px 3px #30291f88}
.sf-arcade-buttons{position:absolute;right:20%;top:12px;display:flex;gap:14px;transform:rotate(-12deg)}
.sf-arcade-buttons i{width:24px;height:24px;border-radius:50%;background:#613719;border:3px solid #30291f;box-shadow:0 4px 0 #30291f}
.sf-arcade-buttons i+i{background:#d9c997}
.sf-deck-label{position:absolute;bottom:0;left:0;right:0;font:7px/1.5 monospace;letter-spacing:.15em;color:#30291f}
.sf-arcade-base{margin:0 8%;height:54px;background:#30291f;border:solid #8c704c;border-width:0 8px 7px;border-radius:0 0 7px 7px;display:flex;justify-content:center;align-items:center;gap:20px}
.sf-arcade-base span{font:8px monospace;letter-spacing:.1em;color:#caba9c}
.sf-arcade-base i{width:15px;height:29px;background:#181713;border:3px solid #8c704c;border-radius:2px;box-shadow:inset 0 0 0 2px #30291f}
.sf-attract-toggle{margin-top:14px;background:transparent;border:1px solid #8c7757;border-radius:3px;padding:7px 12px;font:11px monospace;color:#30291f;cursor:pointer}
.sf-attract .sf-art-caption{font-size:9px!important;margin-top:12px!important}
@media(max-width:600px){.sf-arcade-bezel{padding:20px 17px}.sf-arcade-screen{border-width:7px}.sf-arcade-marquee{padding-block:13px}.sf-arcade-link{filter:drop-shadow(7px 10px 0 #30291f22)}}

.sf-attract-feature{padding:1rem 1.2rem 2rem}.sf-attract-feature .sf-attract{max-width:440px}.sf-attract-feature+.sf-hero{padding-top:2rem}

.sf-attract-feature{padding:2rem 1.5rem 3rem}
.sf-attract-pair{max-width:1120px;margin-inline:auto!important;align-items:center!important;gap:clamp(2rem,6vw,6rem)!important}
.sf-attract-pair>.wp-block-column{min-width:0}
.sf-game-poster{position:relative;background:#f2ecdf;color:#30291f;text-align:center;padding:clamp(1.7rem,4vw,3.5rem) clamp(1.3rem,3vw,2.5rem);border:1px solid #b6a787;box-shadow:7px 9px 0 #30291f24;transform:rotate(1.5deg);outline:1px solid #b6a787;outline-offset:-13px}
.sf-game-poster::before,.sf-game-poster::after{content:'';position:absolute;top:-11px;width:72px;height:24px;background:#b8a47a90;transform:rotate(-9deg)}
.sf-game-poster::before{left:17%}.sf-game-poster::after{right:15%;transform:rotate(10deg)}
.sf-game-poster p{margin:0!important}
.sf-game-poster .sf-poster-kicker{font:11px/1.5 'Courier New',monospace;letter-spacing:.17em}
.sf-game-poster .sf-poster-play{font:bold clamp(30px,4vw,52px)/1.1 'Courier New',monospace;letter-spacing:.2em;margin-top:1.1rem!important}
.sf-game-poster .sf-poster-title{font:clamp(46px,5.6vw,78px)/1.1 MomsTypewriter,'Courier New',monospace!important;letter-spacing:-.04em;margin:.3rem 0!important;color:#613719}
.sf-game-poster .sf-poster-subtitle{font:bold 15px/1.5 'Courier New',monospace;letter-spacing:.25em}
.sf-game-poster .sf-poster-rule{width:65%;margin:1.3rem auto!important;border-top:2px solid #613719}
.sf-game-poster .sf-poster-challenge{font:clamp(23px,2.7vw,35px)/1.3 MomsTypewriter,'Courier New',monospace}
.sf-game-poster .sf-poster-limit{font:bold 12px/1.5 'Courier New',monospace;letter-spacing:.13em;margin-top:1rem!important}
.sf-game-poster .wp-block-buttons{margin:1.4rem 0!important}
.sf-game-poster .sf-poster-small{font:11px/1.65 'Courier New',monospace;max-width:330px;margin-inline:auto!important;color:#635642}
@media(max-width:781px){.sf-attract-pair{gap:3rem!important}.sf-attract-pair>.wp-block-column{width:100%}.sf-game-poster{max-width:430px;margin-inline:auto}.sf-attract-feature{padding-inline:1.2rem}.sf-game-poster .sf-poster-title{font-size:clamp(46px,12vw,68px)!important}}

/* Native About-page blocks follow the existing analogue identity. */
.sf-artist-page{padding-block:clamp(2rem,6vw,5rem)}
.sf-artist-title{font-family:UncleTypewriter,'Courier New',monospace;font-weight:400;font-size:clamp(2.3rem,6vw,4rem);line-height:1.2}
.sf-artist-bio{font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.65;max-width:70ch}
.sf-artist-page h2{font-family:MomsTypewriter,'Courier New',monospace;font-weight:400;line-height:1.35}
.sf-artist-intro{gap:2rem;margin-block:2.5rem;align-items:flex-start}
.sf-identity-image{margin:0}.sf-identity-image img{display:block;width:100%;height:auto;box-shadow:0 12px 28px #30291f20}
.sf-identity-image figcaption{font-family:'Courier New',monospace;font-size:.85rem;color:#635642}
.sf-artist-page section{margin-block:3rem}.sf-artist-page .wp-block-buttons{gap:.75rem}
/* Native release catalogue */
.sf-music-search{margin:2rem 0}.sf-music-search label{display:block;margin-bottom:.6rem;font-weight:bold}.sf-music-search>div{display:flex;gap:.5rem}.sf-music-search input{min-width:0;flex:1;padding:.8rem;background:#f3ead2;color:#291e14;border:2px solid #634325;font:inherit}.sf-music-search button,.sf-music-button{padding:.8rem 1.2rem;background:#52351e;color:#fff4df;border:0;font:inherit;cursor:pointer}.sf-music-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem}.sf-music-grid img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:8px}.sf-music-grid h2{margin-bottom:.4rem}.sf-release-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem;align-items:start}.sf-release-intro figure{margin:0}.sf-release-cover{width:100%;height:auto;border-radius:8px}.sf-release-artist{font-family:UncleTypewriter,monospace;font-size:1.6rem}.sf-music-button{display:inline-block}.sf-release-page section{margin:2.8rem 0}.sf-tracklist{width:100%;border-collapse:collapse;text-align:left}.sf-tracklist th,.sf-tracklist td{padding:.9rem .6rem;border-bottom:1px solid #b59e79}.sf-tracklist td:last-child{text-align:right;font-variant-numeric:tabular-nums}.sf-tracklist thead th:last-child{text-align:right}.sf-tracklist td:first-child{width:2.5rem}.sf-music-search :focus-visible,.sf-release-page a:focus-visible,.sf-music-grid a:focus-visible{outline:3px solid #96520c;outline-offset:4px}@media(max-width:700px){.sf-music-grid,.sf-release-intro{grid-template-columns:1fr;gap:1.5rem}.sf-release-intro figure{max-width:480px}.sf-tracklist th,.sf-tracklist td{padding:.8rem .3rem}}
