:root {
  --ets-night: #03090b;
  --ets-teal: #0c2528;
  --ets-teal-bright: #4eaaa4;
  --ets-red: #b72f35;
  --ets-red-bright: #f05a5d;
  --ets-gold: #cba869;
  --ets-paper: #eee4cf;
  --ets-muted: #a8a397;
  --ets-line: rgba(203,168,105,.28);
}

.etsuko-world { background: var(--ets-night); }
.etsuko-world main { overflow: hidden; }
.etsuko-world .world-nav { z-index: 70; }
.etsuko-world .particle-field { opacity: .3; }
.etsuko-world button { font: inherit; }

.ets-kicker {
  margin: 0 0 16px;
  color: var(--ets-gold);
  font: 700 10px/1.35 Arial, Helvetica, sans-serif;
  letter-spacing: .24em;
  text-transform: uppercase;
}

.ets-final-hero {
  position: relative;
  isolation: isolate;
  min-height: 100svh;
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(330px,.72fr);
  align-items: center;
  gap: clamp(44px,8vw,132px);
  padding: 150px max(28px,calc((100vw - 1320px)/2)) 100px;
  background:
    radial-gradient(circle at 78% 42%, rgba(24,92,94,.26), transparent 31%),
    radial-gradient(circle at 22% 68%, rgba(144,25,35,.12), transparent 34%),
    linear-gradient(130deg,#020708 0%,#061315 54%,#09070b 100%);
}

.ets-final-hero::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  opacity:.22;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 84%,transparent);
}

.ets-final-hero::after {
  content:"鳥居";
  position:absolute;
  right:-2vw;
  bottom:-.12em;
  z-index:-1;
  color:rgba(155,34,41,.055);
  font:clamp(220px,33vw,560px)/.75 Georgia,serif;
  writing-mode:vertical-rl;
}

.ets-final-mist {
  position:absolute;
  inset:auto -10% 3% -10%;
  height:38%;
  z-index:-1;
  background:radial-gradient(ellipse,rgba(155,210,207,.14),transparent 63%);
  filter:blur(30px);
  animation:ets-mist 16s ease-in-out infinite alternate;
}

.ets-final-copy { max-width:790px; }
.ets-final-copy h1 { margin:0; line-height:.87; letter-spacing:-.06em; }
.ets-final-copy h1 span { display:block; color:#f5efe2; font:400 clamp(82px,10vw,154px)/.82 Georgia,"Times New Roman",serif; }
.ets-final-copy h1 em { display:block; margin-top:25px; color:#cfc4af; font:italic 400 clamp(24px,3.1vw,47px)/1.05 Georgia,serif; letter-spacing:-.035em; }
.ets-final-copy blockquote { max-width:660px; margin:42px 0 18px; color:#efcb97; font:italic 400 clamp(23px,2.3vw,35px)/1.32 Georgia,serif; }
.ets-lede { max-width:700px; margin:0; color:#aaa89f; font:16px/1.78 Arial,Helvetica,sans-serif; }
.ets-final-copy .world-actions { justify-content:flex-start; margin-top:32px; }
.ets-final-copy .button { cursor:pointer; }
.ets-release-note { display:flex; align-items:center; gap:11px; margin:28px 0 0; color:#777e7a; font:9px/1.45 Arial,sans-serif; letter-spacing:.15em; text-transform:uppercase; }
.ets-release-note span { display:grid; place-items:center; width:27px; height:27px; border:1px solid rgba(190,54,60,.56); color:#d95b60; font-size:15px; }

.ets-cover-stage {
  position:relative;
  width:min(440px,36vw);
  justify-self:center;
  padding:0 0 50px;
  border:0;
  color:var(--ets-paper);
  background:transparent;
  perspective:1600px;
  cursor:pointer;
}
.ets-cover-book { position:relative; display:block; aspect-ratio:1582/2048; transition:transform .36s cubic-bezier(.55,.05,.45,.95); filter:drop-shadow(0 34px 38px rgba(0,0,0,.6)); }
.ets-cover-stage.is-turning .ets-cover-book { transform:scaleX(.035) translateY(-5px); }
.ets-cover-face { position:absolute; inset:0; overflow:hidden; border:1px solid rgba(229,204,151,.38); border-radius:3px; background:#000; transition:opacity .08s linear; }
.ets-cover-face::after { content:""; position:absolute; inset:0; border:1px solid rgba(255,255,255,.12); pointer-events:none; }
.ets-cover-face img { width:100%; height:100%; object-fit:cover; display:block; }
.ets-cover-front { opacity:1; }
.ets-cover-back { opacity:0; }
.ets-cover-stage.is-flipped .ets-cover-front { opacity:0; }
.ets-cover-stage.is-flipped .ets-cover-back { opacity:1; }
.ets-cover-instruction { position:absolute; left:50%; bottom:0; display:grid; grid-template-columns:auto auto; align-items:center; gap:0 10px; min-width:180px; transform:translateX(-50%); text-align:left; }
.ets-cover-instruction i { grid-row:1/3; color:var(--ets-gold); font:29px/1 Georgia,serif; }
.ets-cover-instruction b { color:#ddd3bf; font:700 9px/1.4 Arial,sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.ets-cover-instruction small { color:#777d78; font:8px/1.4 Arial,sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.ets-cover-stage:not(.is-turning):hover .ets-cover-book,.ets-cover-stage:not(.is-turning):focus-visible .ets-cover-book { transform:perspective(1400px) rotateY(-5deg) translateY(-7px); }
.ets-cover-stage:focus-visible { outline:2px solid var(--ets-gold); outline-offset:8px; }

.ets-between,
.ets-shop-section,
.ets-kokkuri {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(420px,1.14fr);
  align-items:center;
  gap:clamp(50px,8vw,128px);
  padding:clamp(92px,11vw,160px) max(28px,calc((100vw - 1240px)/2));
}
.ets-between { background:linear-gradient(145deg,#090d10,#101c1e 56%,#07090c); border-top:1px solid var(--ets-line); }
.ets-between h2,.ets-shop-section h2,.ets-kokkuri h2,.ets-archive h2,.ets-release h2,.ets-dialog h2 { margin:0; color:var(--ets-paper); font:400 clamp(44px,6vw,79px)/.97 Georgia,serif; letter-spacing:-.045em; }
.ets-between h2 em,.ets-shop-section h2 em,.ets-kokkuri h2 em,.ets-archive h2 em,.ets-release h2 em,.ets-dialog h2 em { color:var(--ets-teal-bright); font-weight:400; }
.ets-between-copy>p:not(.ets-kicker),.ets-shop-copy>p:not(.ets-kicker),.ets-kokkuri-copy>p:not(.ets-kicker),.ets-release>p:not(.ets-kicker) { color:#aaa89f; font:16px/1.78 Arial,sans-serif; }

.ets-hebi-map { position:relative; min-height:580px; padding:34px; border:1px solid rgba(78,170,164,.25); background:radial-gradient(circle at 50% 42%,rgba(49,132,129,.14),transparent 46%),rgba(2,8,10,.58); box-shadow:inset 0 0 90px rgba(0,0,0,.34); }
.ets-hebi-map svg { display:block; width:100%; overflow:visible; }
.ets-hebi-shadow,.ets-hebi-line { fill:none; stroke-linecap:round; }
.ets-hebi-shadow { stroke:rgba(0,0,0,.72); stroke-width:34; }
.ets-hebi-line { stroke:url(#ets-hebi-gradient); stroke:#4fa39d; stroke-width:16; stroke-dasharray:8 10; filter:url(#ets-glow); animation:ets-hebi-flow 8s linear infinite; }
.ets-hebi-node { cursor:pointer; outline:none; }
.ets-hebi-node circle { fill:#071214; stroke:#cba869; stroke-width:2; transition:.3s ease; }
.ets-hebi-node text { fill:#bdb39f; font:700 11px Arial,sans-serif; letter-spacing:2px; text-anchor:middle; }
.ets-hebi-node:hover circle,.ets-hebi-node:focus circle,.ets-hebi-node.is-active circle { fill:#ae343a; stroke:#f0c97f; r:21px; filter:url(#ets-glow); }
.ets-hebi-reading { position:absolute; left:34px; right:34px; bottom:32px; min-height:120px; padding:24px 28px; border-left:2px solid var(--ets-red); background:rgba(3,8,10,.88); }
.ets-hebi-reading small { display:block; color:#7f8782; font:700 8px/1.4 Arial,sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.ets-hebi-reading strong { display:block; margin:8px 0; color:#e9dbc1; font:400 24px/1.2 Georgia,serif; }
.ets-hebi-reading p { margin:0; color:#9c9d97; font:13px/1.55 Arial,sans-serif; }

.ets-shop-section { min-height:820px; overflow:hidden; background:radial-gradient(circle at 72% 32%,rgba(162,36,42,.12),transparent 30%),linear-gradient(115deg,#09070a,#071114 60%,#020607); }
.ets-shop-section::before { content:""; position:absolute; inset:0; opacity:.18; background:repeating-linear-gradient(90deg,transparent 0 110px,rgba(130,193,189,.12) 111px 112px),linear-gradient(transparent 68%,rgba(12,60,66,.4)); transform:skewY(-2deg); }
.ets-shop-copy { position:relative; z-index:3; }
.ets-inline-action { margin-top:22px; padding:13px 20px; border:1px solid var(--ets-line); color:var(--ets-gold); background:rgba(0,0,0,.25); font:700 9px Arial,sans-serif; letter-spacing:.16em; text-transform:uppercase; cursor:pointer; }
.ets-inline-action:hover,.ets-inline-action:focus-visible { border-color:var(--ets-gold); color:#fff2d5; outline:none; }
.ets-walking-shop { position:relative; z-index:2; width:min(570px,46vw); min-height:610px; border:0; background:transparent; color:#e9dec7; cursor:pointer; filter:drop-shadow(0 32px 27px rgba(0,0,0,.72)); animation:ets-shop-roam 13s ease-in-out infinite alternate; }
.ets-walking-shop>strong { position:absolute; left:50%; bottom:0; transform:translateX(-50%); white-space:nowrap; color:#a8a89f; font:700 9px Arial,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.ets-shop-status { position:absolute; z-index:4; right:max(28px,calc((100vw - 1240px)/2)); bottom:48px; width:min(510px,42vw); margin:0; color:#888f8a; font:11px/1.5 Arial,sans-serif; letter-spacing:.1em; text-align:center; text-transform:uppercase; }
.ets-shop-building { position:absolute; left:16%; top:6%; width:68%; height:52%; border:3px solid #182a2d; background:linear-gradient(90deg,rgba(5,11,13,.92),rgba(12,27,28,.94)),repeating-linear-gradient(0deg,transparent 0 42px,rgba(255,255,255,.03) 43px 44px); box-shadow:inset 0 0 0 7px #060b0d,0 0 0 1px #8d6a43; transform:perspective(800px) rotateY(-3deg); }
.ets-shop-building::before { content:""; position:absolute; left:-5%; top:-9%; width:110%; height:12%; background:#121d1e; border:2px solid #805c3b; clip-path:polygon(3% 100%,12% 0,88% 0,97% 100%); }
.ets-shop-building::after { content:""; position:absolute; inset:13% 11% 19%; background:linear-gradient(90deg,rgba(222,103,62,.18),transparent 48%,rgba(79,184,174,.17)),repeating-linear-gradient(90deg,#081316 0 18%,#d49962 18.6% 19.1%); border:2px solid #805d42; box-shadow:inset 0 0 40px #000; }
.ets-shop-building b { position:absolute; z-index:2; right:8%; top:13%; padding:10px 8px; border:1px solid #ad3138; color:#e65055; background:#07090a; font:700 15px/1.05 Arial,sans-serif; letter-spacing:.09em; text-align:center; text-shadow:0 0 9px #b62c33; }
.ets-shop-building i,.ets-shop-building em { position:absolute; z-index:3; bottom:9%; width:19%; height:27%; border:1px solid #9e7347; background:linear-gradient(#291916,#0b0c0d); }
.ets-shop-building i { left:17%; }.ets-shop-building em { right:18%; }
.ets-shop-leg { position:absolute; top:53%; width:19%; height:35%; transform-origin:50% 0; }
.ets-shop-leg-left { left:27%; animation:ets-leg-left 2.3s ease-in-out infinite; }
.ets-shop-leg-right { right:27%; animation:ets-leg-right 2.3s ease-in-out infinite; }
.ets-shop-leg::before { content:""; position:absolute; left:38%; top:0; width:27%; height:72%; border-radius:40% 45% 34% 39%; background:repeating-linear-gradient(175deg,#7e603c 0 8px,#aa8759 9px 14px,#4f3a26 15px 18px); box-shadow:inset -6px 0 10px rgba(0,0,0,.38); }
.ets-shop-leg i { position:absolute; left:17%; bottom:8%; width:58%; height:25%; border-left:9px solid #876a45; border-bottom:8px solid #876a45; transform:skewX(-20deg); }
.ets-shop-leg b,.ets-shop-leg b::before,.ets-shop-leg b::after { position:absolute; bottom:4%; width:40%; height:7px; border-radius:100%; background:#866843; transform-origin:0 50%; }
.ets-shop-leg b { left:42%; transform:rotate(13deg); }.ets-shop-leg b::before,.ets-shop-leg b::after { content:""; left:0; }.ets-shop-leg b::before { transform:rotate(35deg); }.ets-shop-leg b::after { transform:rotate(-31deg); }
.ets-shop-ground { position:absolute; left:6%; right:5%; bottom:10%; height:3%; border-radius:50%; background:rgba(50,112,116,.15); filter:blur(7px); }
.ets-walking-shop:hover,.ets-walking-shop:focus-visible,.ets-walking-shop.is-called { animation-play-state:paused; transform:scale(1.04); outline:none; }
.ets-shop-section.is-shop-called .ets-inline-action { border-color:var(--ets-gold); color:#fff1cf; box-shadow:0 0 26px rgba(203,168,105,.17); }
.ets-walking-shop.is-clue-target { filter:drop-shadow(0 0 28px rgba(238,196,112,.65)); }

.ets-approved-shop-encounter { position:fixed; z-index:135; right:-360px; bottom:20px; width:min(310px,34vw); padding:8px; border:1px solid rgba(220,183,111,.55); background:rgba(2,7,9,.96); box-shadow:0 28px 70px rgba(0,0,0,.78),0 0 35px rgba(68,137,133,.14); opacity:0; transform:rotate(.6deg); transition:right 1.2s cubic-bezier(.16,.78,.18,1),left 1.2s cubic-bezier(.16,.78,.18,1),opacity .5s; pointer-events:none; }
.ets-approved-shop-encounter.from-left { right:auto; left:-360px; transform:rotate(-.6deg); }
.ets-approved-shop-encounter.is-visible { right:20px; opacity:1; pointer-events:auto; animation:ets-approved-wander 5.8s ease-in-out infinite alternate; }
.ets-approved-shop-encounter.from-left.is-visible { right:auto; left:20px; }
.ets-approved-shop-sighting { display:block; position:relative; width:100%; padding:0; overflow:hidden; border:0; color:#e8d8ba; background:#04090b; cursor:pointer; }
.ets-approved-shop-sighting img { display:block; width:100%; height:auto; filter:saturate(.92) brightness(.84); transition:filter .45s,transform .8s cubic-bezier(.2,.72,.2,1); }
.ets-approved-shop-sighting::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,transparent 56%,rgba(1,5,7,.96)); box-shadow:inset 0 0 50px rgba(0,0,0,.45); }
.ets-approved-shop-sighting>span { position:absolute; z-index:2; left:18px; right:18px; bottom:17px; text-align:left; }
.ets-approved-shop-sighting small,.ets-approved-shop-sighting strong,.ets-approved-shop-sighting em { display:block; }
.ets-approved-shop-sighting small { color:#d1a75f; font:700 7px/1.4 Arial,sans-serif; letter-spacing:.17em; }
.ets-approved-shop-sighting strong { margin-top:7px; color:#f2e3c9; font:400 20px/1.05 Georgia,serif; letter-spacing:.03em; }
.ets-approved-shop-sighting em { margin-top:7px; color:#a3aaa4; font:normal 8px/1.4 Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; }
.ets-approved-shop-sighting:hover img,.ets-approved-shop-sighting:focus-visible img { filter:saturate(1.08) brightness(1); transform:scale(1.045); }
.ets-approved-shop-sighting:focus-visible { outline:2px solid var(--ets-gold); outline-offset:3px; }
.ets-approved-shop-close { position:absolute; z-index:5; right:-12px; top:-12px; width:34px; height:34px; border:1px solid var(--ets-gold); border-radius:50%; background:#071012; cursor:pointer; }
.ets-approved-shop-close::before,.ets-approved-shop-close::after { content:""; position:absolute; left:9px; top:16px; width:15px; height:1px; background:#e6c585; transform:rotate(45deg); }
.ets-approved-shop-close::after { transform:rotate(-45deg); }
.ets-approved-shop-close:focus-visible { outline:2px solid #fff0c9; outline-offset:2px; }
.etsuko-world .site-footer { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; }
.etsuko-world .site-footer .ets-footer-credit { justify-self:center; text-align:center; }
.etsuko-world .site-footer>span:last-child { justify-self:end; }

.ets-kokkuri { grid-template-columns:minmax(470px,1.15fr) minmax(0,.75fr); background:linear-gradient(145deg,#0b0807,#17100d 47%,#070b0d); border-top:1px solid rgba(203,168,105,.17); }
.ets-kokkuri-board { position:relative; overflow:hidden; border:1px solid rgba(221,172,101,.3); box-shadow:0 35px 80px rgba(0,0,0,.46); }
.ets-kokkuri-board::after { content:""; position:absolute; inset:0; pointer-events:none; box-shadow:inset 0 0 100px rgba(0,0,0,.56); }
.ets-kokkuri-board img { display:block; width:100%; }
.ets-coin { position:absolute; z-index:3; left:50%; top:55%; width:62px; height:62px; transform:translate(-50%,-50%); border:2px solid #b08344; border-radius:50%; color:#583b1d; background:radial-gradient(circle,#e9c779,#9d6625); box-shadow:0 4px 9px #000,0 0 0 5px rgba(43,20,6,.35); cursor:pointer; transition:left 1.2s cubic-bezier(.2,.8,.2,1),top 1.2s cubic-bezier(.2,.8,.2,1),box-shadow .3s; }
.ets-coin::before { content:""; position:absolute; inset:23%; border:2px solid rgba(91,55,22,.58); border-radius:50%; }
.ets-coin span { position:relative; z-index:2; font:700 14px Arial,sans-serif; }
.ets-coin:hover,.ets-coin:focus-visible { box-shadow:0 4px 9px #000,0 0 28px #e2a657; outline:none; }
.ets-coin.is-answering { left:31%; top:44%; }
.ets-kokkuri-board>p { position:absolute; z-index:4; left:4%; right:4%; bottom:4%; margin:0; padding:14px 18px; color:#f0dfc0; background:rgba(12,7,4,.8); font:italic 16px/1.45 Georgia,serif; text-align:center; }
.ets-warning { padding-left:18px; border-left:2px solid var(--ets-red); color:#d6ae99!important; }

.ets-megauni { position:relative; overflow:hidden; padding:clamp(96px,10vw,150px) max(28px,calc((100vw - 1240px)/2)); background:radial-gradient(circle at 80% 16%,rgba(178,42,53,.19),transparent 29%),radial-gradient(circle at 14% 63%,rgba(49,145,139,.16),transparent 30%),linear-gradient(128deg,#06090e,#120a0d 52%,#061113); border-top:1px solid rgba(203,168,105,.2); }
.ets-megauni::before { content:"MEGA⊛NI"; position:absolute; right:-.04em; top:-.08em; color:rgba(231,205,153,.032); font:700 clamp(120px,23vw,360px)/1 "Segoe UI Symbol","Noto Sans Symbols 2",Arial,sans-serif; letter-spacing:-.09em; pointer-events:none; }
.ets-megauni-intro { position:relative; z-index:2; max-width:1040px; }
.ets-megauni h2 { margin:0; color:var(--ets-paper); font:400 clamp(50px,7vw,92px)/.96 Georgia,serif; letter-spacing:-.05em; }
.ets-megauni h2 em,.ets-music-archive h3 em { color:#d85058; font-weight:400; }
.ets-megauni-intro>p:not(.ets-kicker) { max-width:820px; color:#aaa9a2; font:16px/1.78 Arial,sans-serif; }
.ets-band-lineup { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin-top:38px; }
.ets-band-lineup span { min-height:104px; padding:18px 15px; border:1px solid rgba(203,168,105,.18); background:rgba(2,7,9,.45); }
.ets-band-lineup b,.ets-band-lineup small { display:block; }
.ets-band-lineup b { color:#ead4aa; font:400 20px/1.1 Georgia,serif; }
.ets-band-lineup small { margin-top:10px; color:#7f8985; font:700 8px/1.55 Arial,sans-serif; letter-spacing:.09em; text-transform:uppercase; }

.ets-signal-console { position:relative; z-index:2; margin-top:58px; padding:clamp(18px,3vw,34px); border:1px solid rgba(204,170,104,.38); background:linear-gradient(145deg,rgba(4,12,14,.94),rgba(14,7,10,.96)); box-shadow:0 35px 85px rgba(0,0,0,.5),inset 0 0 80px rgba(53,145,138,.04); }
.ets-console-head { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; padding:0 4px 22px; border-bottom:1px solid rgba(203,168,105,.17); }
.ets-console-head span { color:#717d79; font:700 8px Arial,sans-serif; letter-spacing:.18em; }
.ets-console-head strong { color:#f0d49c; font:700 22px/1 Arial,sans-serif; letter-spacing:.08em; }
.ets-console-head i { justify-self:end; width:9px; height:9px; border-radius:50%; background:#c73943; box-shadow:0 0 17px #e6434f; animation:ets-signal-pulse 2.2s ease-in-out infinite; }
.ets-track { position:relative; display:grid; grid-template-columns:70px minmax(260px,.75fr) minmax(260px,1.25fr); gap:24px; align-items:center; padding:28px 4px; border-bottom:1px solid rgba(203,168,105,.13); }
.ets-track:last-child { border-bottom:0; }
.ets-track-toggle { position:relative; width:62px; height:62px; border:1px solid #bd995c; border-radius:50%; color:#f1dba8; background:radial-gradient(circle,rgba(199,57,66,.23),rgba(1,6,8,.88) 68%); cursor:pointer; box-shadow:0 0 0 7px rgba(203,168,105,.04); }
.ets-track-toggle span { position:absolute; left:25px; top:20px; width:0; height:0; border-top:10px solid transparent; border-bottom:10px solid transparent; border-left:16px solid currentColor; }
.ets-track.is-playing .ets-track-toggle span { left:22px; top:21px; width:16px; height:19px; border:0; border-left:5px solid currentColor; border-right:5px solid currentColor; }
.ets-track-toggle:hover,.ets-track-toggle:focus-visible { color:#fff5d8; border-color:#f0ca7d; outline:none; box-shadow:0 0 25px rgba(210,70,78,.25); }
.ets-track-copy small { color:#b98b57; font:700 8px Arial,sans-serif; letter-spacing:.16em; }
.ets-track-copy h3 { margin:8px 0 7px; color:#eee0c8; font:400 clamp(27px,3.2vw,43px)/1 Georgia,serif; }
.ets-track-copy p { margin:0; color:#858b87; font:12px/1.6 Arial,sans-serif; }
.ets-track-meter { display:grid; grid-template-columns:1fr auto; gap:10px 14px; align-items:center; }
.ets-track-wave { grid-column:1/-1; display:flex; align-items:center; justify-content:center; gap:7px; height:46px; padding:0 14px; border-inline:1px solid rgba(78,170,164,.16); }
.ets-track-wave i { width:4px; height:12px; background:#3f7775; box-shadow:0 0 8px rgba(82,185,177,.3); animation:ets-wave 1.1s ease-in-out infinite alternate paused; }
.ets-track-wave i:nth-child(2),.ets-track-wave i:nth-child(8){height:26px;animation-delay:-.35s}.ets-track-wave i:nth-child(3),.ets-track-wave i:nth-child(7){height:18px;animation-delay:-.7s}.ets-track-wave i:nth-child(4),.ets-track-wave i:nth-child(6){height:34px;animation-delay:-.18s}.ets-track-wave i:nth-child(5){height:41px;animation-delay:-.52s}
.ets-track.is-playing .ets-track-wave i { animation-play-state:running; background:#69b8b1; }
.ets-track-meter input { width:100%; accent-color:#cba869; cursor:pointer; }
.ets-track-meter time { color:#9ea39d; font:11px/1 monospace; }
.ets-track-reward { grid-column:2/-1; margin:0; color:#8e8d84; font:700 8px/1.5 Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; }
.ets-track.is-recovered .ets-track-reward { color:#d5b774; }
.ets-secret-signal-slot[hidden]{display:none!important}
.ets-secret-signal-slot{position:relative;margin:0 -8px -8px;padding:8px;background:radial-gradient(circle at 50% 30%,rgba(216,154,84,.12),transparent 66%)}
.ets-track-secret{margin-top:18px;padding-inline:14px;border:1px solid rgba(216,154,84,.34);background:linear-gradient(115deg,rgba(74,35,17,.28),rgba(4,12,14,.5) 52%,rgba(77,22,32,.24));box-shadow:inset 0 0 60px rgba(216,154,84,.055);animation:ets-secret-materialize 1.35s cubic-bezier(.16,.78,.22,1) both}
.ets-track-secret::before{content:"THE COIN MOVED";position:absolute;right:16px;top:12px;color:rgba(239,208,146,.43);font:700 7px/1 Arial,sans-serif;letter-spacing:.2em}
.ets-track-secret .ets-track-toggle{border-color:#d89a54;background:radial-gradient(circle,rgba(216,154,84,.28),rgba(1,6,8,.9) 68%);box-shadow:0 0 0 7px rgba(216,154,84,.05),0 0 28px rgba(216,154,84,.13)}
.ets-signal-console.is-secret-revealed{border-color:rgba(216,154,84,.58);box-shadow:0 35px 85px rgba(0,0,0,.5),0 0 55px rgba(216,154,84,.09),inset 0 0 80px rgba(216,154,84,.05)}
.ets-signal-console.is-secret-revealed .ets-console-head i{background:#dfa255;box-shadow:0 0 22px #f1b767}
.ets-signal-console.is-secret-awakening{animation:ets-console-blackout 2.05s steps(1,end)}

.ets-music-archive { position:relative; z-index:2; margin-top:48px; padding:clamp(24px,4vw,44px); border:1px solid rgba(81,167,161,.25); background:rgba(3,9,11,.72); }
.ets-music-archive>header { display:grid; grid-template-columns:1fr auto; gap:30px; align-items:end; margin-bottom:28px; }
.ets-music-archive h3 { margin:0; color:#eadfc9; font:400 clamp(35px,4vw,54px)/1 Georgia,serif; }
.ets-music-archive header p:last-child { max-width:720px; color:#8f9691; font:13px/1.65 Arial,sans-serif; }
.ets-music-archive>header>strong { display:block; min-width:126px; padding:15px; border:1px solid rgba(203,168,105,.27); color:#efd092; font:400 34px/1 Georgia,serif; text-align:center; }
.ets-music-archive>header>strong span { color:inherit; }
.ets-music-archive>header>strong small { display:block; margin-top:8px; color:#76807c; font:700 7px Arial,sans-serif; letter-spacing:.17em; text-transform:uppercase; }
.ets-music-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; max-width:880px; }
.ets-music-card-grid.is-secret-revealed{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}
.ets-music-card-grid .is-secret-card{border-color:rgba(216,154,84,.42);box-shadow:0 0 32px rgba(216,154,84,.08)}
.ets-music-card-grid .ets-card-face { aspect-ratio:16/10; }
.ets-music-card-grid .ets-card-art>span { font-size:clamp(76px,10vw,146px); }
.ets-music-card-grid .ets-card-copy strong { font-size:clamp(22px,2.5vw,34px); }
.ets-music-manifest { display:inline-block; margin-top:22px; color:#c9a765; font:700 8px Arial,sans-serif; letter-spacing:.15em; text-transform:uppercase; }

.ets-archive { position:relative; padding:clamp(92px,10vw,150px) max(28px,calc((100vw - 1280px)/2)); background:radial-gradient(circle at 82% 18%,rgba(143,29,37,.13),transparent 27%),linear-gradient(145deg,#040a0c,#09181a 55%,#040709); border-block:1px solid var(--ets-line); }
.ets-archive::before { content:"怪"; position:absolute; right:3%; top:2%; color:rgba(78,170,164,.045); font:clamp(180px,26vw,420px)/1 serif; }
.ets-archive-head { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:40px; margin-bottom:48px; }
.ets-archive-head>div:first-child>p:last-child { max-width:720px; color:#a8a49b; font:15px/1.7 Arial,sans-serif; }
.ets-archive-progress { min-width:160px; padding:18px 22px; border:1px solid var(--ets-line); background:rgba(0,0,0,.28); text-align:center; }
.ets-archive-progress strong { display:block; color:#f2d495; font:400 40px/1 Georgia,serif; }
.ets-archive-progress strong span { display:inline; color:inherit; font:inherit; }
.ets-archive-progress small { display:block; margin-top:8px; color:#81857e; font:700 8px Arial,sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.ets-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.ets-card-slot { position:relative; min-width:0; padding:0; border:1px solid rgba(203,168,105,.22); color:var(--ets-paper); background:#050a0c; text-align:left; cursor:pointer; transition:transform .3s,border-color .3s,box-shadow .3s; }
.ets-card-slot:hover,.ets-card-slot:focus-visible { transform:translateY(-7px); border-color:var(--ets-gold); box-shadow:0 24px 50px rgba(0,0,0,.38); outline:none; }
.ets-card-face { position:relative; display:block; aspect-ratio:4/5; overflow:hidden; background:linear-gradient(145deg,#0b1719,#030607); }
.ets-card-face::before,.ets-card-face::after { content:""; position:absolute; pointer-events:none; }
.ets-card-face::before { inset:10px; z-index:3; border:1px solid rgba(223,189,127,.36); box-shadow:inset 0 0 0 4px rgba(0,0,0,.26); }
.ets-card-face::after { inset:0; z-index:2; background:linear-gradient(0deg,rgba(2,5,7,.98),transparent 62%),radial-gradient(circle at 50% 35%,transparent 0 28%,rgba(1,4,6,.42) 85%); }
.ets-card-art { position:absolute; inset:0; display:grid; place-items:center; background:radial-gradient(circle at 50% 34%,var(--ets-card-glow,rgba(60,135,130,.3)),transparent 42%),linear-gradient(145deg,#102326,#040809); }
.ets-card-art img { width:100%; height:100%; object-fit:cover; filter:saturate(.72) contrast(1.08) brightness(.72); }
.ets-card-art img.ets-card-art-ink{object-fit:contain;padding:30px;filter:saturate(.94) contrast(1.08) brightness(.88);background:radial-gradient(circle at 50% 42%,var(--ets-card-glow,rgba(60,135,130,.3)),transparent 58%),#020708}
.ets-card-art>span { color:var(--ets-card-accent,#58aaa5); font:clamp(70px,9vw,128px)/1 Georgia,serif; text-shadow:0 0 35px currentColor; }
.ets-card-slot.is-locked .ets-card-art { filter:grayscale(1); opacity:.42; }
.ets-card-slot.is-locked .ets-card-art>span { color:#5b6665; }
.ets-card-meta { position:absolute; z-index:5; inset:22px 22px auto; display:flex; justify-content:space-between; color:#d5c6ab; font:700 8px Arial,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.ets-card-copy { position:absolute; z-index:5; left:23px; right:23px; bottom:23px; }
.ets-card-copy small { display:block; color:var(--ets-card-accent,#68b8b0); font:700 8px/1.4 Arial,sans-serif; letter-spacing:.17em; text-transform:uppercase; }
.ets-card-copy strong { display:block; margin-top:8px; color:#f0e2c9; font:400 clamp(24px,2.5vw,35px)/1 Georgia,serif; }
.ets-card-copy em { display:block; margin-top:12px; color:#8f928b; font:normal 9px/1.5 Arial,sans-serif; letter-spacing:.08em; }
.ets-card-slot.is-recovered { border-color:color-mix(in srgb,var(--ets-card-accent,#58aaa5) 60%,#cba869); }
.ets-card-slot.is-recovered .ets-card-face { box-shadow:inset 0 0 40px color-mix(in srgb,var(--ets-card-accent,#58aaa5) 16%,transparent); }
.ets-archive-guidance { display:flex; justify-content:space-between; gap:30px; align-items:center; margin-top:30px; padding:22px 25px; border-left:2px solid var(--ets-gold); background:rgba(0,0,0,.22); }
.ets-archive-guidance p { margin:0; color:#999b94; font:13px/1.65 Arial,sans-serif; }
.ets-archive-guidance a { flex:0 0 auto; color:var(--ets-gold); font:700 8px Arial,sans-serif; letter-spacing:.15em; text-transform:uppercase; }

.ets-release { position:relative; isolation:isolate; overflow:hidden; min-height:680px; display:grid; place-content:center; justify-items:center; padding:120px 28px; background:radial-gradient(circle,rgba(47,129,125,.18),transparent 39%),linear-gradient(#050b0d,#07090d); text-align:center; }
.ets-release h2 em { color:#d45157; }
.ets-release>p:not(.ets-kicker) { max-width:740px; text-align:center; }
.ets-release .world-actions { position:relative; z-index:3; }
.ets-release-rings,.ets-release-rings span { position:absolute; inset:50% auto auto 50%; border:1px solid rgba(90,178,171,.19); border-radius:50%; transform:translate(-50%,-50%); }
.ets-release-rings { width:560px; height:560px; }
.ets-release-rings span:nth-child(1){inset:9%;animation:ets-ring 30s linear infinite}.ets-release-rings span:nth-child(2){inset:23%;border-style:dashed;animation:ets-ring 22s linear infinite reverse}.ets-release-rings span:nth-child(3){inset:37%;border-color:rgba(196,61,68,.34);animation:ets-pulse 3s ease-in-out infinite}

.ets-dialog { width:min(1120px,calc(100vw - 34px)); max-height:calc(100svh - 30px); padding:0; border:1px solid var(--ets-line); color:var(--ets-paper); background:#071012; box-shadow:0 40px 120px #000; }
.ets-dialog::backdrop { background:rgba(0,4,6,.9); backdrop-filter:blur(8px); }
.ets-dialog-shell { position:relative; max-height:calc(100svh - 34px); overflow:auto; padding:clamp(38px,6vw,82px); background:radial-gradient(circle at 80% 15%,rgba(155,42,49,.12),transparent 28%),linear-gradient(145deg,#0b181a,#05090b); }
.ets-dialog-close { position:absolute; right:20px; top:20px; width:46px; height:46px; border:1px solid var(--ets-line); background:rgba(0,0,0,.26); cursor:pointer; }
.ets-dialog-close::before,.ets-dialog-close::after { content:""; position:absolute; left:12px; top:22px; width:21px; height:1px; background:#e4c486; transform:rotate(45deg); }.ets-dialog-close::after{transform:rotate(-45deg)}
.ets-dialog-close:focus-visible { outline:2px solid var(--ets-gold); outline-offset:2px; }
.ets-excerpt-copy { max-width:760px; margin:40px auto 0; padding:clamp(28px,5vw,60px); border:1px solid rgba(203,168,105,.2); background:linear-gradient(145deg,rgba(21,24,22,.8),rgba(7,10,11,.92)); }
.ets-excerpt-copy p { color:#c9c2b5; font:17px/1.82 Georgia,serif; }.ets-excerpt-copy .ets-excerpt-lead { color:#f0d7a6; font-size:clamp(25px,3vw,36px); font-style:italic; line-height:1.42; }
.ets-dialog footer { display:flex; justify-content:space-between; gap:24px; align-items:center; max-width:760px; margin:22px auto 0; color:#7f847e; font:9px/1.5 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }.ets-dialog footer a{color:var(--ets-gold)}
.ets-card-dialog-shell { display:grid; grid-template-columns:minmax(260px,.7fr) minmax(0,1fr); gap:clamp(32px,6vw,80px); align-items:center; }
.ets-card-dialog [data-ets-card-preview] .ets-card-face { width:min(390px,100%); margin:auto; box-shadow:0 32px 70px rgba(0,0,0,.5); }
.ets-card-detail>p { color:#aaa79f; font:15px/1.72 Arial,sans-serif; }
.ets-card-detail dl { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:25px 0; }.ets-card-detail dl div{padding:14px;border:1px solid var(--ets-line);background:rgba(0,0,0,.2)}.ets-card-detail dt{color:#787f7a;font:700 8px Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}.ets-card-detail dd{margin:7px 0 0;color:#e4d2b3;font:15px Georgia,serif}
.ets-rights { padding-left:15px; border-left:2px solid var(--ets-red); color:#858a84!important; font-size:11px!important; }
.ets-card-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:24px; }.ets-card-actions button{padding:12px 15px;border:1px solid var(--ets-line);color:#e5cc9a;background:rgba(0,0,0,.22);font:700 8px Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;cursor:pointer}.ets-card-actions button:hover,.ets-card-actions button:focus-visible{border-color:var(--ets-gold);outline:none}
.ets-card-status { min-height:1.5em; color:#71bcb4!important; font-size:11px!important; }

/* BODI DENKI · protected tattoo folio */
.ets-shop-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:27px}.ets-shop-actions .ets-inline-action{margin-top:0}.ets-inline-action-secondary{border-color:rgba(82,176,169,.42)!important;color:#86d1ca!important;background:rgba(20,72,70,.14)!important}
.ets-ink-progress-strip{position:absolute;left:max(28px,calc((100vw - 1280px)/2));right:max(28px,calc((100vw - 1280px)/2));bottom:28px;display:flex;justify-content:space-between;gap:20px;padding:14px 18px;border:1px solid rgba(82,176,169,.18);background:rgba(2,8,9,.56);color:#7f918c;font:700 8px/1.4 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}.ets-ink-progress-strip strong{color:#d9bd85}.ets-ink-progress-strip strong span{color:#75c7bf}
.ets-ink-shop-dialog{width:min(1280px,calc(100vw - 28px));border-color:rgba(87,190,181,.34);background:#020708}.ets-ink-shop-dialog::backdrop{background:rgba(0,2,3,.94);backdrop-filter:blur(12px)}
.ets-ink-shop-shell{position:relative;min-height:min(820px,calc(100svh - 34px));max-height:calc(100svh - 34px);overflow:auto;padding:clamp(58px,6vw,84px);background:linear-gradient(rgba(2,8,9,.62),rgba(2,7,8,.94)),url("../images/bodi-denki-walking-shop-v2.webp") 8% 42%/clamp(260px,28vw,420px) auto no-repeat,radial-gradient(circle at 78% 18%,rgba(186,48,59,.18),transparent 30%),linear-gradient(135deg,#071719,#020506 62%);isolation:isolate}
.ets-ink-shop-shell::before,.ets-ink-shop-shell::after{content:"";position:absolute;z-index:-1;pointer-events:none}.ets-ink-shop-shell::before{inset:16px;border:1px solid rgba(211,172,105,.22);box-shadow:inset 0 0 80px rgba(0,0,0,.65)}.ets-ink-shop-shell::after{inset:0;background:repeating-linear-gradient(90deg,transparent 0 89px,rgba(70,180,171,.025) 90px),repeating-linear-gradient(0deg,transparent 0 89px,rgba(70,180,171,.02) 90px);mix-blend-mode:screen}
.ets-ink-shop-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end;margin-bottom:34px;padding-bottom:27px;border-bottom:1px solid rgba(211,172,105,.2)}.ets-ink-shop-head>div:first-child{max-width:780px}.ets-ink-shop-head h2{margin:.35em 0 .3em;color:#f0e4ce;font:400 clamp(42px,5vw,72px)/.96 Georgia,serif}.ets-ink-shop-head h2 em{color:#61bdb5;font-weight:normal}.ets-ink-shop-head>div:first-child>p:last-child{max-width:700px;color:#a1aaa5;font:14px/1.7 Arial,sans-serif}.ets-ink-shop-meter{min-width:140px;padding:16px 20px;border:1px solid rgba(92,185,177,.28);background:rgba(0,0,0,.32);text-align:center}.ets-ink-shop-meter strong{display:block;color:#d9bd85;font:400 38px/1 Georgia,serif}.ets-ink-shop-meter strong span{color:#6ec5bc}.ets-ink-shop-meter small{display:block;margin-top:8px;color:#75857f;font:700 7px Arial,sans-serif;letter-spacing:.17em;text-transform:uppercase}
.ets-ink-shop-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:clamp(24px,4vw,52px);align-items:start}.ets-ink-folio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.ets-ink-design{position:relative;min-height:245px;overflow:hidden;padding:17px;border:1px solid rgba(211,172,105,.2);color:#e7dcc8;background:linear-gradient(145deg,rgba(10,25,27,.96),rgba(2,6,7,.98));text-align:left;cursor:pointer;transition:.28s ease}.ets-ink-design::before{content:"";position:absolute;inset:9px;border:1px solid color-mix(in srgb,var(--ets-ink-accent) 34%,transparent);pointer-events:none}.ets-ink-design:hover,.ets-ink-design:focus-visible,.ets-ink-design.is-selected{transform:translateY(-5px);border-color:var(--ets-ink-accent);box-shadow:0 18px 42px rgba(0,0,0,.5),0 0 26px color-mix(in srgb,var(--ets-ink-accent) 16%,transparent);outline:none}.ets-ink-design-number{position:relative;z-index:2;display:block;color:#a89b84;font:700 8px Arial,sans-serif;letter-spacing:.15em}.ets-ink-design-glyph{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);color:var(--ets-ink-accent);font:clamp(70px,7vw,118px)/1 Georgia,serif;text-shadow:0 0 32px color-mix(in srgb,var(--ets-ink-accent) 45%,transparent);opacity:.76}.ets-ink-design strong,.ets-ink-design small{position:relative;z-index:2;display:block}.ets-ink-design strong{margin-top:148px;color:#eee0c6;font:400 18px/1.05 Georgia,serif}.ets-ink-design small{margin-top:7px;color:var(--ets-ink-accent);font:700 7px/1.4 Arial,sans-serif;letter-spacing:.13em}.ets-ink-design.is-locked{filter:grayscale(.8);opacity:.6}.ets-ink-design.is-locked .ets-ink-design-glyph{filter:blur(7px);opacity:.28}.ets-ink-design.is-recovered::after{content:"CLAIMED";position:absolute;right:-30px;top:20px;width:115px;padding:5px 0;transform:rotate(38deg);background:var(--ets-ink-accent);color:#061011;font:800 7px Arial,sans-serif;letter-spacing:.12em;text-align:center}
.ets-ink-inspector{position:sticky;top:12px;min-height:540px;padding:clamp(25px,3vw,40px);border:1px solid rgba(82,176,169,.28);background:linear-gradient(155deg,rgba(7,23,24,.96),rgba(2,7,8,.98));box-shadow:0 24px 62px rgba(0,0,0,.46)}.ets-ink-inspector::before{content:"";position:absolute;inset:10px;border:1px solid color-mix(in srgb,var(--ets-ink-accent,#58aaa5) 24%,transparent);pointer-events:none}.ets-ink-inspector-mark{height:180px;display:grid;place-items:center;margin-bottom:22px;color:var(--ets-ink-accent,#58aaa5);font:clamp(92px,11vw,150px)/1 Georgia,serif;text-shadow:0 0 40px color-mix(in srgb,var(--ets-ink-accent,#58aaa5) 45%,transparent);background:radial-gradient(circle,color-mix(in srgb,var(--ets-ink-accent,#58aaa5) 15%,transparent),transparent 62%)}.ets-ink-inspector h3{margin:.3em 0 .55em;color:#f0e1c8;font:400 clamp(28px,3vw,42px)/1 Georgia,serif}.ets-ink-inspector>[data-ets-ink-copy]{min-height:112px;color:#a9aaa3;font:13px/1.72 Arial,sans-serif}.ets-ink-inspector-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.ets-ink-inspector-actions button{padding:13px 15px;border:1px solid color-mix(in srgb,var(--ets-ink-accent,#58aaa5) 60%,#d4ad6d);color:#e9d7b5;background:rgba(0,0,0,.28);font:700 8px Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;cursor:pointer}.ets-ink-inspector-actions button:hover,.ets-ink-inspector-actions button:focus-visible{background:color-mix(in srgb,var(--ets-ink-accent,#58aaa5) 18%,transparent);outline:none}.ets-ink-status{min-height:3em;margin-top:18px;color:#72bdb6;font:10px/1.55 Arial,sans-serif;letter-spacing:.04em}.ets-ink-shop-footer{display:flex;justify-content:space-between;gap:24px;margin-top:28px;padding-top:18px;border-top:1px solid rgba(211,172,105,.16);color:#6f7975;font:700 7px/1.5 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}.ets-ink-shop-footer a{color:#d2ad6c}
.ets-ink-design-art{position:absolute;z-index:1;inset:31px 13px 58px;display:grid;place-items:center;background:radial-gradient(circle,color-mix(in srgb,var(--ets-ink-accent) 14%,transparent),transparent 64%)}
.ets-ink-design-art img{width:100%;height:100%;object-fit:contain;filter:saturate(.92) contrast(1.08) brightness(.82) drop-shadow(0 0 18px color-mix(in srgb,var(--ets-ink-accent) 22%,transparent))}
.ets-ink-design.is-ready .ets-ink-design-art img{filter:saturate(1.14) contrast(1.08) brightness(1.08) drop-shadow(0 0 24px color-mix(in srgb,var(--ets-ink-accent) 40%,transparent))}
.ets-ink-design.is-locked{filter:none;opacity:.67}.ets-ink-design.is-locked .ets-ink-design-art{filter:grayscale(1) blur(5px);opacity:.24}.ets-ink-design.is-recovered::after{z-index:4}
.ets-ink-inspector-mark{height:230px;overflow:hidden}.ets-ink-inspector-mark img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 22px color-mix(in srgb,var(--ets-ink-accent,#58aaa5) 30%,transparent))}
.ets-ink-inspector.is-locked .ets-ink-inspector-mark{position:relative}
.ets-ink-inspector.is-locked .ets-ink-inspector-mark::after{content:"SIGNAL SCRAMBLED";position:absolute;left:50%;top:50%;padding:8px 12px;transform:translate(-50%,-50%) rotate(-3deg);border:1px solid rgba(211,172,105,.45);color:#d8b979;background:rgba(2,7,8,.82);font:800 8px/1 Arial,sans-serif;letter-spacing:.2em;white-space:nowrap}
.ets-ink-inspector.is-locked .ets-ink-inspector-mark img{filter:grayscale(1) blur(11px) brightness(.38);opacity:.3;transform:scale(.92)}
.ets-toast { position:fixed; z-index:150; right:24px; bottom:24px; width:min(350px,calc(100vw - 48px)); padding:18px 20px; border:1px solid var(--ets-gold); background:rgba(5,13,15,.96); box-shadow:0 18px 50px #000; transform:translateY(160%); opacity:0; transition:.45s ease; pointer-events:none; }.ets-toast.is-visible{transform:none;opacity:1}.ets-toast small{display:block;color:#8d938d;font:700 8px Arial,sans-serif;letter-spacing:.17em}.ets-toast strong{display:block;margin-top:7px;color:#efd7a7;font:20px Georgia,serif}
.ets-clue-target { animation:ets-clue 1.15s ease-in-out 3!important; }
.ets-moon-visitor { position:fixed; z-index:120; right:-230px; top:18%; width:210px; height:390px; padding:0; border:0; color:#e8d7c1; background:transparent; opacity:0; filter:drop-shadow(0 22px 28px #000); transition:right 1.7s cubic-bezier(.14,.78,.18,1),opacity .6s; cursor:pointer; }
.ets-moon-visitor.is-visible { right:clamp(8px,3vw,44px); opacity:1; }
.ets-moon-visitor>span { position:absolute; inset:0 10px 38px; overflow:hidden; border-radius:48% 48% 16% 16%; background:radial-gradient(ellipse at 50% 22%,#d4c2b5 0 12%,#101316 13% 19%,transparent 20%),linear-gradient(90deg,transparent 27%,#090b0e 28% 72%,transparent 73%); }
.ets-moon-visitor>span::before { content:""; position:absolute; left:50%; top:72px; width:92px; height:45px; transform:translateX(-50%); border-top:16px solid #d7d8d2; border-radius:48%; background:#e5e4df; box-shadow:0 -4px 0 #111; }
.ets-moon-visitor>span::after { content:""; position:absolute; left:50%; top:105px; width:118px; height:2px; transform:translateX(-50%); background:#b34c55; box-shadow:-35px 8px 0 -1px #b34c55,35px 8px 0 -1px #b34c55; }
.ets-moon-visitor i,.ets-moon-visitor b { position:absolute; z-index:2; top:61px; width:10px; height:6px; border-radius:50%; background:#050607; box-shadow:0 0 8px #d6b478; }.ets-moon-visitor i{left:75px}.ets-moon-visitor b{right:75px}
.ets-moon-visitor>strong { position:absolute; left:0; right:0; bottom:0; color:#d9b883; font:700 8px Arial,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.ets-moon-visitor:hover,.ets-moon-visitor:focus-visible { outline:none; filter:drop-shadow(0 0 27px rgba(197,87,96,.55)); }

@keyframes ets-mist{from{transform:translateX(-4%) scale(1)}to{transform:translateX(5%) scale(1.08)}}
@keyframes ets-hebi-flow{to{stroke-dashoffset:-180}}
@keyframes ets-shop-roam{from{transform:translateX(-4%) translateY(2px) rotate(-.5deg)}to{transform:translateX(5%) translateY(-6px) rotate(.6deg)}}
@keyframes ets-approved-wander{from{transform:translateY(0) rotate(-.4deg)}to{transform:translateY(-12px) rotate(.7deg)}}
@keyframes ets-signal-pulse{50%{opacity:.45;box-shadow:0 0 5px #e6434f}}
@keyframes ets-wave{to{transform:scaleY(.32);opacity:.55}}
@keyframes ets-secret-materialize{0%{opacity:0;transform:translateY(-28px) scaleY(.72);filter:blur(12px) brightness(2)}55%{opacity:.35;filter:blur(5px) brightness(1.5)}100%{opacity:1;transform:none;filter:none}}
@keyframes ets-console-blackout{0%,18%,31%,49%{filter:brightness(.08)}12%,25%,41%,100%{filter:none}}
@keyframes ets-leg-left{0%,100%{transform:rotate(5deg)}50%{transform:rotate(-7deg)}}
@keyframes ets-leg-right{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(5deg)}}
@keyframes ets-ring{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes ets-pulse{50%{box-shadow:0 0 45px rgba(196,61,68,.28);transform:translate(-50%,-50%) scale(1.08)}}
@keyframes ets-clue{50%{box-shadow:0 0 0 6px rgba(240,203,126,.18),0 0 44px rgba(240,203,126,.44);filter:brightness(1.35)}}

@media(max-width:980px){
  .ets-final-hero{grid-template-columns:1fr;min-height:auto;padding-top:132px}.ets-cover-stage{width:min(420px,78vw);margin-top:12px}
  .ets-between,.ets-shop-section,.ets-kokkuri{grid-template-columns:1fr}.ets-kokkuri-board{order:2}.ets-kokkuri-copy{order:1}.ets-walking-shop{width:min(560px,90vw);justify-self:center}.ets-shop-status{position:static;width:min(560px,90vw);justify-self:center}
  .ets-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ets-card-dialog-shell{grid-template-columns:1fr}.ets-card-dialog [data-ets-card-preview] .ets-card-face{max-width:330px}
  .ets-band-lineup{grid-template-columns:repeat(2,minmax(0,1fr))}.ets-track{grid-template-columns:70px 1fr}.ets-track-meter,.ets-track-reward{grid-column:2}.ets-music-card-grid,.ets-music-card-grid.is-secret-revealed{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
  .ets-ink-shop-layout{grid-template-columns:1fr}.ets-ink-inspector{position:relative;top:auto;min-height:0}.ets-ink-folio{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:640px){
  .ets-final-hero{padding:115px 22px 74px}.ets-final-copy h1 span{font-size:clamp(68px,23vw,104px)}.ets-final-copy h1 em{font-size:25px}.ets-final-copy blockquote{margin-top:31px}.ets-final-copy .world-actions{align-items:stretch}.ets-final-copy .button{width:100%;text-align:center}
  .ets-between,.ets-shop-section,.ets-kokkuri,.ets-megauni,.ets-archive{padding:84px 22px}.ets-hebi-map{min-height:470px;padding:15px}.ets-hebi-reading{left:16px;right:16px;bottom:16px}.ets-walking-shop{min-height:470px}.ets-shop-building{top:11%}
  .ets-band-lineup{grid-template-columns:1fr}.ets-band-lineup span{min-height:0}.ets-console-head{grid-template-columns:1fr auto}.ets-console-head strong{grid-row:1;grid-column:2}.ets-console-head i{display:none}.ets-track{grid-template-columns:56px 1fr;gap:17px;padding:25px 0}.ets-track-toggle{width:52px;height:52px}.ets-track-toggle span{left:21px;top:16px}.ets-track.is-playing .ets-track-toggle span{left:18px;top:16px}.ets-track-meter,.ets-track-reward{grid-column:1/-1}.ets-music-archive>header{grid-template-columns:1fr}.ets-music-archive>header>strong{justify-self:start}.ets-music-card-grid,.ets-music-card-grid.is-secret-revealed{grid-template-columns:1fr}.ets-music-card-grid .ets-card-face{aspect-ratio:4/5}.ets-track-secret::before{display:none}
  .ets-card-grid{grid-template-columns:1fr}.ets-archive-head{grid-template-columns:1fr}.ets-archive-progress{justify-self:start}.ets-archive-guidance{align-items:flex-start;flex-direction:column}.ets-release{padding:96px 22px}.ets-release-rings{width:390px;height:390px}
  .ets-dialog-shell{padding:64px 22px 30px}.ets-dialog footer{align-items:flex-start;flex-direction:column}.ets-card-detail dl{grid-template-columns:1fr}.ets-toast{right:18px;bottom:18px;width:calc(100vw - 36px)}
  .ets-approved-shop-encounter{width:min(260px,74vw);bottom:12px}.ets-approved-shop-encounter.is-visible{right:12px}.ets-approved-shop-encounter.from-left.is-visible{left:12px}
  .etsuko-world .site-footer{display:grid;grid-template-columns:1fr;justify-items:center;text-align:center}.etsuko-world .site-footer .ets-footer-credit,.etsuko-world .site-footer>span:last-child{justify-self:center}
  .ets-shop-actions{align-items:stretch;flex-direction:column}.ets-shop-actions button{width:100%}.ets-ink-progress-strip{position:static;grid-column:1/-1;margin-top:20px}.ets-ink-shop-shell{padding:66px 20px 28px;background:radial-gradient(circle at 80% 10%,rgba(186,48,59,.15),transparent 25%),linear-gradient(135deg,#071719,#020506 62%)}.ets-ink-shop-head{grid-template-columns:1fr}.ets-ink-shop-meter{justify-self:start}.ets-ink-folio{grid-template-columns:repeat(2,minmax(0,1fr))}.ets-ink-design{min-height:222px}.ets-ink-design strong{margin-top:127px;font-size:16px}.ets-ink-shop-footer{align-items:flex-start;flex-direction:column}
}

@media(prefers-reduced-motion:reduce){
  .ets-final-mist,.ets-hebi-line,.ets-walking-shop,.ets-shop-leg,.ets-approved-shop-encounter,.ets-console-head i,.ets-track-wave i,.ets-track-secret,.ets-signal-console.is-secret-awakening,.ets-release-rings span,.ets-clue-target{animation:none!important}.ets-cover-book,.ets-coin,.ets-card-slot,.ets-ink-design,.ets-toast,.ets-moon-visitor,.ets-approved-shop-encounter{transition:none!important}
}
