/* SAKATA Monsters V18 — original summon art direction, minimal chrome, deep ritual stage */
:root{--v18-ivory:#fff1cc;--v18-gold:#d5a961;--v18-warm:#fce5ad;--v18-purple:#bda0ff}
.v18-gacha-page{background:linear-gradient(180deg,#080c16 0%,#151221 28%,#080c18 100%);padding-top:0!important;color:#f9eddb}
.v18-summon-hero{margin:0 -15px;min-height:450px;position:relative;overflow:hidden;isolation:isolate;background:#080a13;box-shadow:inset 0 -40px 70px #0a0b19}
.v18-summon-art{position:absolute;inset:0;overflow:hidden;background:radial-gradient(circle at 50% 70%,#8644a1bb,transparent 37%),linear-gradient(180deg,#05071277,#03030840 50%,#080a16 100%),url('assets/summon_chamber.webp') center 48% /cover no-repeat;z-index:-2}
.v18-summon-art:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#060811c9 0%,#0c0b1599 38%,#140e2499 100%),linear-gradient(0deg,#080d18 0%,transparent 65%)}
.v18-summon-art:after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 19.5%,#d6a55d08 19.5% 20%,transparent 20% 39.5%,#d6a55d08 39.5% 40%);mix-blend-mode:screen}
.v18-magic-disk{position:absolute;width:300px;height:300px;left:44%;top:120px;border-radius:50%;border:1px solid #dbc17c70;box-shadow:0 0 30px #7c49c37f,inset 0 0 70px #d4a75733,0 0 0 17px #e6ad4720,0 0 0 34px #957bc220;display:grid;place-items:center;animation:v18-orbit 24s linear infinite;background:repeating-conic-gradient(from 14deg,#d7ae6c21 0 4deg,transparent 4deg 23deg)}
.v18-magic-disk:before{content:'✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧';position:absolute;inset:18px;border:1px dashed #d6b88f99;border-radius:50%;color:#edd3a3a8;text-align:center;font-size:16px;letter-spacing:3px;line-height:60px}
.v18-magic-disk span{font-size:90px;color:#e7c58b90;text-shadow:0 0 46px #b48dff}
.v18-showcase{position:absolute;width:290px;height:340px;object-fit:contain;right:-90px;top:94px;filter:drop-shadow(0 10px 12px #000b) drop-shadow(0 0 26px #bc9af244);opacity:.93;animation:v18-float 5s ease-in-out infinite alternate}
.v18-summon-heading{position:relative;padding:35px 22px 22px;max-width:390px;min-height:450px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}
.v18-kicker{color:#e6c890;font-size:9px;letter-spacing:.23em;font-weight:800;text-shadow:0 1px 4px #000}
.v18-summon-heading h1{font-family:Georgia,'Yu Mincho',serif;letter-spacing:.09em;font-size:clamp(38px,11vw,56px);line-height:1.08;color:#fce5af;margin:8px 0 12px;text-shadow:0 5px 18px #000,0 0 28px #b6886c60}
.v18-summon-heading h1 span{color:#f6ebfb}.v18-summon-heading p{font-size:13px;color:#f0e2dd;text-shadow:0 2px 12px #000;margin:0 0 18px;letter-spacing:.06em}
.v18-live{font-size:9px;letter-spacing:.18em;color:#e1cbf5;border:1px solid #d5be9877;background:#181022b0;padding:8px 11px;border-radius:3px}
.v18-currencies{display:flex;align-items:stretch;gap:5px;padding:12px 0 9px}
.v18-currencies>span{background:linear-gradient(#1e2135,#111625);border:1px solid #9b80664a;border-radius:5px;padding:8px 7px;flex:1;display:flex;justify-content:center;align-items:center;gap:4px;flex-wrap:wrap;font-size:10px;color:#c5b8c7}
.v18-currencies b{font-size:12px;color:#ffe0a2;font-variant-numeric:tabular-nums}
.v18-offer{border:1px solid #b28c5b91;background:linear-gradient(160deg,#30253a,#181529 47%,#101526);box-shadow:inset 0 0 0 1px #edc88e17,0 14px 35px #0008;border-radius:15px;padding:18px 13px 15px;position:relative;isolation:isolate;overflow:hidden}
.v18-offer:before,.v18-offer:after{content:'❖';color:#d6b273;position:absolute;font-size:20px;top:3px}.v18-offer:before{left:5px}.v18-offer:after{right:5px}
.v18-offer-top{text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;color:#f8deb0;font-family:Georgia,'Yu Mincho',serif;font-weight:800;letter-spacing:.08em;font-size:21px}
.v18-offer-top small{font-family:inherit;color:#c5adc4;font-size:10px;letter-spacing:.07em;font-weight:500}
.v18-offer>p{font-size:11px;color:#d7cdd8;line-height:1.6;text-align:center;margin:10px 0 19px}
.v18-draw-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:9px}
.v18-draw-actions button{font-family:inherit;border:1px solid #b4a6b280;color:#ecddf8;background:linear-gradient(150deg,#273853,#151c35 70%);border-radius:10px;min-height:90px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;box-shadow:0 4px 11px #0008,inset 0 1px #ffffff18;transition:transform .1s}
.v18-draw-actions button:active{transform:scale(.97)}.v18-draw-actions button:disabled{opacity:.42}
.v18-draw-actions button.ten{background:linear-gradient(145deg,#77512c,#392542 58%,#211a39);border-color:#f0c583;box-shadow:0 0 23px #d5943b44,inset 0 1px #fceabb48}
.v18-draw-actions small{font-size:9px;letter-spacing:.07em;color:#bfc8e1}.v18-draw-actions .ten small{color:#ffdda0}.v18-draw-actions b{font-family:Georgia,'Yu Mincho',serif;font-weight:900;font-size:19px;color:#fff4de}
.v18-draw-actions em{font-style:normal;color:#f2d396;font-size:12px;font-weight:850}
.v18-preview{display:block;border:0;background:transparent;color:#c5adf6;text-decoration:underline;text-underline-offset:4px;margin:16px auto 0;font-size:11px;padding:4px}
.v18-haruno-hint{display:flex;align-items:center;gap:10px;padding:7px 12px;min-height:88px;background:radial-gradient(circle at 8% 50%,#9b715029,transparent 39%),#111523;border-bottom:1px solid #9e7b5955;margin:13px 0}
.v18-haruno-hint img{width:70px;height:78px;object-fit:contain;align-self:end;filter:drop-shadow(0 8px 8px #000)}
.v18-haruno-hint b{font-size:12px;color:#f6dba7}.v18-haruno-hint p{font-size:11px;color:#d6c5d6;margin:4px 0 0;line-height:1.6}
.v18-disclosure{border-top:1px solid #a181624a;padding:11px 3px 15px}.v18-disclosure h3{font-size:14px;color:#ebd3ae;margin:5px 0 12px}
.v18-odds{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.v18-odds span{background:#161b2b;border:1px solid #63566a;padding:10px 5px;border-radius:5px;font-size:12px;display:flex;justify-content:space-around}.v18-odds b{color:#f2cd8c}
.v18-disclosure p{font-size:10px;line-height:1.65;color:#b3afc5}.v18-history-heading{font-family:Georgia,'Yu Mincho',serif;color:#dfc491;font-size:15px;padding-top:8px}
.v18-history{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-bottom:11px}.v18-history>div{display:flex;align-items:center;gap:6px;border:1px solid #564f66;border-radius:8px;background:#1c2030;padding:5px}.v18-history img{width:37px;height:43px;object-fit:contain}.v18-history span{flex:1;min-width:0;font-size:10px;font-weight:800}.v18-history small{display:block;color:#adb4cc;font-size:8px}.v18-history b{font-size:10px;color:#d7c0ff}.v18-history b.ur{color:#f9d079}
.v18-gacha-page .sg-pool{padding-bottom:26px}
/* Fullscreen ritual — cinematic cathedral, physical crystal and particles */
#gacha-root .sg-overlay{background-color:#060713}
#gacha-root .sg-ready .sg-backdrop,#gacha-root .sg-cinematic .sg-backdrop{background:radial-gradient(ellipse at 50% 52%,#bd80fd38,transparent 39%),linear-gradient(180deg,#080a18c0,#08061170 45%,#070511c9 100%),url('assets/summon_chamber.webp') center /cover no-repeat}
#gacha-root .sg-overlay:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#050712c7 0%,transparent 21%,transparent 79%,#03030ab5),repeating-linear-gradient(0deg,#ffffff03 0 1px,transparent 1px 4px);z-index:0}
#gacha-root .sg-arcana{top:15%;width:min(88vw,430px);height:min(88vw,430px);filter:drop-shadow(0 0 32px #b29cf777)}
#gacha-root .sg-orbit{border-color:#e4c68ca8;box-shadow:inset 0 0 18px #b99de941,0 0 20px #bba4ff33}
#gacha-root .sg-glyph{color:#ffebbd;text-shadow:0 0 45px #d7b8ff}
#gacha-root .sg-top{z-index:4;background:linear-gradient(90deg,#0b0d189e,transparent);border-bottom:1px solid #dfb37354;letter-spacing:.19em}
#gacha-root .sg-callout{z-index:4;text-shadow:0 2px 8px #000;color:#fff5e7}
#gacha-root .sg-callout h2{font-family:Georgia,'Yu Mincho',serif;font-size:clamp(23px,6vw,31px);color:#fbe3b4}
#gacha-root .sg-force{border-color:#d5b478;background:#080a16aa}
#gacha-root .sg-access{z-index:8;min-height:46px;border:1px solid #f6d89a;background:linear-gradient(140deg,#fce2b0,#b692f6);box-shadow:0 0 0 1px #f4c87a2e,0 3px 35px #b778dc5c,0 7px 24px #000}
#gacha-root .sg-cost-note{z-index:4}
#gacha-root .sg-cinematic .sg-cine-title{font-family:Georgia,'Yu Mincho',serif;color:#ffebc6;font-size:clamp(21px,6vw,28px);text-shadow:0 3px 14px #000,0 0 30px #dcaff5}
#gacha-root .sg-cine-orbit{border-color:#f4ca7b8f;box-shadow:inset 0 0 70px #e6bf7944,0 0 60px #9c70dd66}
.v18-ritual-mark{position:absolute;z-index:3;color:#edce9a;letter-spacing:.24em;font-size:10px;font-weight:850;left:0;right:0;top:26%;text-align:center;animation:v18-fade-in .6s ease-out}
.v18-cine-cracks{position:absolute;inset:0;pointer-events:none;z-index:2;opacity:0;background:conic-gradient(from 10deg at 50% 46%,transparent 0 7%,#fff7d8e0 7.3%,transparent 7.7% 19%,#d7affbd0 19.3%,transparent 20% 45%,#f7edb2b8 45.5%,transparent 46% 69%,#fbd6b9dd 69.4%,transparent 70%);clip-path:polygon(49% 45%,38% 0,52% 40%,78% 10%,55% 47%,100% 55%,57% 52%,71% 97%,51% 55%,18% 96%,46% 50%,0 33%)}
#gacha-root .sg-cinematic.exploding .v18-cine-cracks{animation:v18-rift .7s ease-out both}
#gacha-root .sg-cinematic.v18-ritual-eclipse .sg-backdrop{filter:hue-rotate(50deg);background-color:#120920}
#gacha-root .sg-cinematic.v18-ritual-nova .sg-backdrop{filter:hue-rotate(-20deg) saturate(1.4)}
#gacha-root .sg-surge .sg-ur-beast{filter:drop-shadow(0 8px 11px #000b) drop-shadow(0 0 28px #edc58b9c)}
/* Clearer reveal with luxury typography, no white-out and no flat blue rectangle */
#gacha-root .sg-reveal .sg-backdrop{background:radial-gradient(circle at 50% 43%,#614b8759,transparent 55%),linear-gradient(180deg,#070817ae,#05060ccb),url('assets/summon_chamber.webp') center / cover no-repeat}
#gacha-root .sg-reveal.sg-ur .sg-backdrop{background:radial-gradient(circle at 50% 35%,#e6b15a58,transparent 57%),linear-gradient(180deg,#130c19be,#130b18dd),url('assets/summon_chamber.webp') center /cover no-repeat}
#gacha-root .v10-monster-frame{background:none!important;box-shadow:none!important}
#gacha-root .v10-reveal-portrait{filter:drop-shadow(0 12px 14px #000a)!important;mix-blend-mode:normal}
#gacha-root .v10-portrait-zone{height:min(48dvh,405px)}
#gacha-root .v10-identity{top:calc(84px + env(safe-area-inset-top) + min(48dvh,405px))}
#gacha-root .v10-identity h2{font-family:Georgia,'Yu Mincho',serif;text-shadow:0 5px 14px #000,0 0 15px #554267}
#gacha-root .v10-identity .sg-stars{filter:drop-shadow(0 0 12px currentColor)}
#gacha-root .v10-reveal-foot .sg-continue{background:linear-gradient(130deg,#f8deae,#d3a8dc);border:1px solid #ffe4b7;box-shadow:0 5px 26px #91649d77}
#gacha-root .sg-results-screen{background:linear-gradient(180deg,#080a18e0,#0e0b1ade),url('assets/summon_chamber.webp') center /cover fixed no-repeat}
#gacha-root .sg-results-screen .sg-result-scroll{max-width:520px}
#gacha-root .sg-res-head h2{font-family:Georgia,'Yu Mincho',serif;color:#f9dfaa}
#gacha-root .sg-result-card{background:linear-gradient(145deg,#272b43dd,#0c1328f5);border-color:#867c9e99;box-shadow:0 6px 16px #0007,inset 0 1px 0 #ffffff0f}
#gacha-root .sg-result-card.sg-border-ur{background:linear-gradient(155deg,#624d35,#211a26);border-color:#edc17d;box-shadow:0 0 0 1px #edc17d66,0 0 23px #e8a74a5c}
#gacha-root .sg-result-card.sg-border-ssr{background:linear-gradient(155deg,#463460,#17192f);border-color:#b793e3}
#gacha-root .sg-result-card img{filter:none!important;object-fit:contain!important}
/* Haruno-Mushi: real person face preserved; animated gestures are separate authored layers. */
#guide-trigger{z-index:180;min-width:102px;background:linear-gradient(145deg,#4b2f34,#171329);border:1px solid #e2c18d;box-shadow:0 5px 24px #000b,0 0 16px #dcb1762d;overflow:visible;transition:transform .15s}
#guide-trigger:active{transform:scale(.95)}
#guide-trigger img{object-fit:contain;object-position:center 45%;background:#241a30}
.guide-portrait{background:radial-gradient(circle at 50% 28%,#86664d,#181022 65%);isolation:isolate;overflow:hidden}
.guide-portrait img{object-fit:contain;object-position:center bottom;animation:v18-puppet-idle 3.2s ease-in-out infinite alternate;filter:drop-shadow(0 10px 12px #000a)}
.guide-portrait:before{content:'✧';position:absolute;left:10px;top:10px;color:#efd49b;opacity:.7;font-size:30px;animation:v18-spark 2.4s ease-in-out infinite;z-index:2}
#v18-haruno-scene{position:fixed;right:14px;bottom:calc(100px + env(safe-area-inset-bottom));z-index:175;display:none;pointer-events:none;max-width:min(210px,55vw);align-items:flex-end;filter:drop-shadow(0 10px 14px #000b)}
#v18-haruno-scene.shown{display:flex;animation:v18-enter .45s cubic-bezier(.16,1.24,.45,1) both}
#v18-haruno-scene .v18-puppet{width:93px;height:130px;position:relative;flex-shrink:0;isolation:isolate;transform-origin:50% 86%;animation:v18-puppet-idle 2.2s ease-in-out infinite alternate}
#v18-haruno-scene .v18-puppet img{width:100%;height:100%;object-fit:contain;position:relative;z-index:3;filter:drop-shadow(0 0 13px #d6aa8647)}
#v18-haruno-scene .v18-antenna{position:absolute;top:1px;left:15%;width:75%;height:62%;z-index:1;transform-origin:bottom center;animation:v18-antenna 2.4s ease-in-out infinite alternate}
#v18-haruno-scene .v18-wing{position:absolute;width:75px;height:78px;left:39px;top:49px;background:linear-gradient(110deg,#f2dbb656,#a26b3959 43%,transparent);border:1px solid #d5b58a85;border-radius:5% 96% 10% 90%;transform-origin:5px 70px;transform:rotate(23deg);z-index:0;animation:v18-wing 1.8s ease-in-out infinite alternate}
#v18-haruno-scene .v18-arm{position:absolute;left:15%;top:55%;width:68px;height:28px;border:5px solid #a17647;border-left:0;border-bottom:0;border-radius:25px 100% 0 0;z-index:4;transform-origin:5% 40%;animation:v18-wave 1.6s ease-in-out infinite alternate}
#v18-haruno-scene .v18-speech{position:absolute;right:98px;bottom:100px;max-width:215px;min-width:154px;background:linear-gradient(130deg,#292032,#0e1120);border:1px solid #e6c487;padding:9px 11px;border-radius:12px 12px 4px 12px;color:#f8e9c9;font-size:11px;line-height:1.5;box-shadow:0 8px 22px #0009;animation:v18-fade-in .3s ease-in both;text-align:left}
#v18-haruno-scene .v18-speech:after{content:'';position:absolute;right:-7px;bottom:5px;border-left:8px solid #b39a79;border-top:7px solid transparent;border-bottom:7px solid transparent}
#v18-haruno-scene.excited .v18-puppet{animation:v18-cheer .42s ease-in-out 3}
#v18-haruno-scene.excited .v18-wing{animation:v18-wing .13s ease-in-out infinite alternate}
#v18-haruno-scene.alert .v18-puppet{animation:v18-shock .35s ease-in-out 2}
/* Gacha overlay uses its own character; no touch interception */
#gacha-root #v18-gacha-haruno{position:absolute;z-index:9;left:9px;bottom:calc(101px + env(safe-area-inset-bottom));display:flex;align-items:flex-end;pointer-events:none;animation:v18-enter .4s cubic-bezier(.2,1.2,.5,1) both}
#gacha-root #v18-gacha-haruno .v18-mini{width:62px;height:89px;object-fit:contain;filter:drop-shadow(0 6px 10px #000)}
#gacha-root #v18-gacha-haruno .v18-mini-say{margin:0 0 55px -2px;border:1px solid #b89671;background:linear-gradient(130deg,#291d2c,#0e0f1a);border-radius:11px 11px 11px 1px;padding:8px 9px;max-width:196px;min-width:100px;color:#f2dfbd;font-size:10px;line-height:1.45;text-shadow:0 1px #000;box-shadow:0 5px 18px #0008}
#gacha-root #v18-gacha-haruno.celebrate .v18-mini{animation:v18-cheer .35s ease-in-out 4}
#gacha-root .sg-results-screen~#v18-gacha-haruno,#gacha-root .sg-inspect~#v18-gacha-haruno{display:none}
/* preserve safe-area and gacha swipe areas */
@media(max-height:780px){.v18-summon-hero{min-height:365px}.v18-summon-heading{min-height:365px}.v18-showcase{top:60px;width:220px;height:270px}.v18-magic-disk{top:82px;width:250px;height:250px}#gacha-root .v10-portrait-zone{height:39dvh;top:calc(66px + env(safe-area-inset-top))}#gacha-root .v10-identity{top:calc(68px + env(safe-area-inset-top) + 39dvh)}#gacha-root #v18-gacha-haruno{bottom:calc(95px + env(safe-area-inset-bottom))}#gacha-root #v18-gacha-haruno .v18-mini{height:65px;width:48px}#gacha-root #v18-gacha-haruno .v18-mini-say{font-size:9px;max-width:140px;margin-bottom:39px}}
@media(max-width:370px){.v18-summon-heading h1{font-size:38px}.v18-magic-disk{left:33%}.v18-draw-actions b{font-size:15px}.v18-odds span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.v18-gacha-page *,#v18-haruno-scene *,#v18-gacha-haruno *{animation-duration:.001s!important;animation-iteration-count:1!important}}
@keyframes v18-orbit{to{transform:rotate(360deg)}}@keyframes v18-float{to{transform:translateY(-13px) rotate(1deg)}}@keyframes v18-fade-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes v18-rift{0%{opacity:0;transform:scale(.7)}45%{opacity:1;transform:scale(1.2)}100%{opacity:0;transform:scale(2.3)}}@keyframes v18-enter{0%{transform:translateY(50px) scale(.77);opacity:0}75%{transform:translateY(-9px) scale(1.02);opacity:1}100%{transform:none;opacity:1}}@keyframes v18-puppet-idle{from{transform:translateY(1px) rotate(-2deg)}to{transform:translateY(-6px) rotate(2deg)}}@keyframes v18-antenna{to{transform:rotate(7deg)}}@keyframes v18-wing{to{transform:rotate(-13deg) scaleX(.91)}}@keyframes v18-wave{from{transform:rotate(20deg)}to{transform:rotate(-27deg)}}@keyframes v18-cheer{0%,100%{transform:translateY(0) rotate(0)}45%{transform:translateY(-12px) rotate(-8deg)}}@keyframes v18-shock{0%,100%{transform:rotate(0)}33%{transform:rotate(-10deg)}66%{transform:rotate(10deg)}}@keyframes v18-spark{to{transform:rotate(24deg);opacity:1}}

/* V18 small-screen QA fixes */
body:has(#gacha-root .sg-overlay) #guide-trigger,body:has(#gacha-root .sg-overlay) #v18-haruno-scene{display:none!important}
.v18-summon-hero{min-height:340px}.v18-summon-heading{min-height:340px}.v18-showcase{top:30px;right:-52px;height:245px;width:230px}.v18-magic-disk{width:250px;height:250px;top:46px;left:38%}
#gacha-root .sg-ready~#v18-gacha-haruno{bottom:calc(197px + env(safe-area-inset-bottom))}
#gacha-root .sg-cinematic~#v18-gacha-haruno{bottom:calc(177px + env(safe-area-inset-bottom))}
#gacha-root .sg-reveal~#v18-gacha-haruno{top:calc(54px + env(safe-area-inset-top));bottom:auto;transform:scale(.79);transform-origin:top left}
#gacha-root .sg-reveal~#v18-gacha-haruno .v18-mini-say{margin-bottom:49px;max-width:156px}
@media(max-height:740px){.v18-summon-hero,.v18-summon-heading{min-height:300px}.v18-showcase{height:202px;width:205px}.v18-magic-disk{width:206px;height:206px}#gacha-root .sg-ready~#v18-gacha-haruno{bottom:calc(170px + env(safe-area-inset-bottom))}#gacha-root .sg-cinematic~#v18-gacha-haruno{bottom:calc(150px + env(safe-area-inset-bottom))}}
body:has(.v18-gacha-page) #guide-trigger,body:has(.v18-gacha-page) #v18-haruno-scene{display:none!important}
