@charset "UTF-8";
:root{color-scheme:dark;--bg:#171123;--paper:#fff3dc;--gold:#e7c585;--muted:#c6b8cd;--mint:#94dccb;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:18px;background:var(--bg);color:var(--paper)}
*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 77% 48%,#48264d55,transparent 55%),radial-gradient(ellipse at 7% 0%,#47313b4a,transparent 50%),#171123}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:radial-gradient(#fae3b9 1px,transparent 1px),radial-gradient(#decaed 1px,transparent 1px);background-size:143px 151px,231px 199px;background-position:24px 43px,65px 121px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--mint);outline-offset:6px}a{color:inherit}button{touch-action:manipulation}button:disabled{cursor:wait} [hidden]{display:none!important}
.topbar{max-width:1600px;margin:auto;min-height:105px;padding:22px 5vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e7c58520;position:relative;z-index:2}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;letter-spacing:.12em;font-size:19px}.brand-mark{color:var(--gold);font-size:44px;line-height:1}.brand-sub{display:block;font-size:16px;letter-spacing:.16em;margin-top:3px;color:var(--muted)}.text-button{border:0;background:none;padding:12px 4px;font-size:18px;line-height:1.5}.text-button:hover{color:var(--gold)}.topbar .text-button{border-bottom:1px solid #a48b63}.topbar .text-button span{padding-left:16px}
.experience{max-width:1600px;margin:auto;display:grid;grid-template-columns:40% 60%;align-items:center;min-height:calc(100svh - 182px);padding:35px 4vw 24px 6vw;position:relative}.intro{position:relative;z-index:2;padding:10px 0}.eyebrow{font-size:11px;letter-spacing:.27em;color:var(--gold);margin:0 0 25px;line-height:1.7}.intro h1{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500;font-size:clamp(40px,4.4vw,72px);line-height:1.42;letter-spacing:.03em;margin:0}.intro h1 span{color:#f5d9a0}.lead{font-size:19px;color:#d6cbdc;line-height:1.95;margin:22px 0 30px;letter-spacing:.05em}.intro-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.open-button{display:flex;align-items:center;justify-content:space-between;gap:26px;min-width:285px;padding:18px 25px;border:1px solid #f9ddaa;border-radius:5px;background:linear-gradient(110deg,#f5dcad,#dcae64);box-shadow:0 5px 35px #eabd5530,inset 0 0 0 4px #ffe8b730;color:#302030;font-size:20px;font-weight:600;transition:box-shadow .3s,transform .3s}.open-button:hover{transform:translateY(-3px);box-shadow:0 8px 42px #eabd5560}.open-button span:first-child{font-size:26px}.secondary{font-size:16px;color:#d5c8dc}.inventory{display:flex;align-items:baseline;gap:7px;font-size:16px;color:var(--muted);margin:21px 0}.inventory span{font-family:Georgia,serif;font-size:25px;color:var(--paper)}.inventory i{height:16px;width:1px;background:#8b6f76;margin:0 12px}.guide{display:flex;align-items:center;gap:14px;margin-top:25px}.guide img{border-radius:50%;border:1px solid #d9ad6266;width:60px;height:60px;object-fit:cover}.guide p{font-size:16px;line-height:1.8;margin:0;color:#e0d5e5}.guide p span{display:block;color:var(--gold);font-size:16px}
.stage{height:clamp(470px,67svh,720px);min-width:0;position:relative;isolation:isolate}.stage canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}.stage-halo{position:absolute;width:85%;height:85%;top:5%;left:7.5%;background:radial-gradient(ellipse,#e9b68525,transparent 64%);filter:blur(14px)}.celestial-ring{position:absolute;left:50%;top:46%;border-radius:50%;border:1px solid #e9c68b25;transform:translate(-50%,-50%);width:85%;aspect-ratio:1}.ring-outer:before,.ring-outer:after{content:"";position:absolute;inset:11px;border:1px solid #e9c68b15;border-radius:50%}.ring-outer:after{inset:-9px;border-style:dashed;opacity:.5}.ring-inner{width:68%;border-color:#e9c68b12}.stage-star{position:absolute;color:#e7c585b3;font-size:28px;z-index:1}.star-a{top:7%;left:48%}.star-b{top:30%;right:2%}.star-c{top:65%;left:2%;font-size:18px}.stage-caption{position:absolute;bottom:3%;left:0;right:0;text-align:center;font-size:16px;color:#dcc9ae;letter-spacing:.03em;z-index:3}.stage-caption span{margin-right:10px;color:var(--gold)}.bottom-bar{position:relative;max-width:1440px;margin:auto;padding:0 5vw 19px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#b5a6c0}.bottom-bar p{font-size:16px;margin:0}.motion{font-size:16px;white-space:nowrap}
.category-orbit{position:absolute;inset:0;z-index:4}.category{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:132px;background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:9px;font-size:16px;animation:unfold .85s both;animation-delay:var(--delay);line-height:1.4;text-shadow:0 2px 10px #150d20}.medallion{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;border:1px solid var(--tone);background:radial-gradient(circle at 35% 25%,#6c4e73,#281933 75%);box-shadow:0 0 0 5px #ead39509,0 8px 28px #09050f60,inset 0 0 20px #ead39515;color:var(--tone);transition:transform .2s,box-shadow .2s}.medallion svg{width:35px;height:35px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.category:hover .medallion{transform:translateY(-5px) scale(1.08);box-shadow:0 0 30px #ecd28a40}.category-label{color:#fff1d6;background:#20152bdd;padding:4px 7px;border-radius:6px}.opened .stage-caption{display:none}.opened .stage{height:clamp(560px,72svh,740px)}.opened .lead{color:#e5d2b7}.opened .open-button{background:transparent;color:var(--gold);box-shadow:none;min-width:250px}.opened .stage-halo{background:radial-gradient(ellipse,#ddb88333,transparent 65%)}@keyframes unfold{from{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.2)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.fallback-chest{display:none;position:absolute;top:35%;left:20%;width:60%;height:40%;z-index:2;filter:drop-shadow(0 0 35px #e6b35666)}.fallback-lid{height:42%;background:linear-gradient(160deg,#895775,#442340);border:6px solid #d6ae65;border-radius:60% 60% 0 0;transform-origin:50% 100%;transition:transform 1s}.fallback-base{height:58%;background:linear-gradient(110deg,#754464,#3b203d);border:6px solid #d6ae65;border-top-width:4px;text-align:center;font-size:48px;color:#a3edcd;border-radius:0 0 10px 10px}.no-webgl .fallback-chest{display:block}.opened .fallback-lid{transform:perspective(600px) rotateX(-65deg)}
dialog{width:min(1080px,calc(100% - 40px));max-height:90svh;border:1px solid #a88855;border-radius:20px;padding:32px;background:#241a2c;color:var(--paper);box-shadow:0 30px 120px #0009}dialog::backdrop{background:#0d091bd9;backdrop-filter:blur(12px)}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.dialog-head .eyebrow{margin-bottom:8px}.dialog-head h2{font-family:"Yu Mincho",serif;font-size:30px;margin:0;line-height:1.5}.close-button{background:#3c2a46;border:1px solid #90795e;border-radius:50%;width:48px;height:48px;flex-shrink:0;font-size:32px;line-height:1}.dialog-intro,.dialog-note{font-size:18px;line-height:1.8;color:#d4c6da}.dialog-note{font-size:16px;margin:26px 0 0}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.filter{font-size:16px;border:1px solid #6d5477;background:transparent;padding:9px 14px;border-radius:22px}.filter[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#2e2132}.diagnosis-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.diagnosis-card{border:1px solid #725c705c;border-radius:12px;overflow:hidden;background:#302135;display:flex;flex-direction:column}.diagnosis-card img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#211927}.card-content{padding:18px;display:flex;flex-direction:column;flex:1}.card-content h3{font-size:18px;line-height:1.7;margin:0 0 15px}.card-condition{font-size:16px;line-height:1.5;color:#cbb9d0;margin:0 0 17px}.diagnosis-link{margin-top:auto;display:block;text-align:center;text-decoration:none;font-size:18px;background:#e8c68d;color:#2a1f2c;padding:12px;border-radius:6px}.diagnosis-link:hover{background:#ffe1a5}.nojs{padding:30px;position:relative}.paused .category{animation:none!important}
@media(min-width:1500px){.text-button{font-size:20px}.lead{font-size:22px}}
@media(max-width:1050px) and (min-width:701px){.experience{grid-template-columns:40% 60%;padding-left:4vw}.intro h1{font-size:43px}.open-button{min-width:250px}.category{width:108px}.medallion{width:58px;height:58px}.stage{height:560px}}
@media(max-width:700px){.topbar{min-height:84px;padding:14px 22px}.brand{font-size:17px}.brand-mark{font-size:35px}.brand-sub{font-size:16px}.topbar .text-button{font-size:16px}.topbar .text-button span{padding-left:6px}.experience{display:flex;flex-direction:column;padding:25px 18px 12px;min-height:0}.intro{display:contents}.intro .eyebrow{font-size:9px;margin:0 0 12px;order:0}.intro h1{order:1;font-size:39px;line-height:1.3;text-align:center}.intro h1 br{display:none}.intro h1 span{display:block}.lead{order:2;text-align:center;margin:14px 0 0;font-size:18px;line-height:1.75}.stage{order:3;width:100%;height:310px;margin-top:-5px}.intro-actions{order:4;align-items:center;width:100%;margin-top:3px}.open-button{min-width:0;width:min(310px,100%);padding:15px 21px;font-size:18px}.secondary{padding:10px 3px}.inventory{order:5;margin:9px 0 14px}.guide{order:6;margin:4px 0 12px}.guide img{width:52px;height:52px}.stage-caption{font-size:16px;bottom:0;margin:0}.celestial-ring{width:84%;top:45%}.bottom-bar{padding:8px 20px 20px;flex-direction:column;gap:5px}.bottom-bar p{text-align:center;line-height:1.7}.opened .stage{height:auto;min-height:0;padding-top:250px;margin-top:0}.opened .stage canvas{height:270px;top:0}.opened .stage .celestial-ring{width:230px;top:140px}.opened .stage-halo{height:290px;top:0}.opened .stage-star{display:none}.category-orbit{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 0 15px}.category{position:relative;left:auto;top:auto;transform:none;width:auto;flex-direction:row;padding:12px 9px;gap:9px;background:#30203c;border:1px solid #8e6e534d;border-radius:12px;text-align:left;animation:mobileUnfold .5s both;animation-delay:var(--delay)}.medallion{width:38px;height:38px;flex:0 0 38px;box-shadow:none}.medallion svg{width:24px;height:24px}.category-label{background:none;padding:0;font-size:16px}.opened .lead{margin-bottom:0}.opened .inventory{display:none}.opened .guide{margin-top:10px}.opened .fallback-chest{height:145px;width:210px;left:calc(50% - 105px);top:65px}dialog{width:calc(100% - 20px);max-height:94svh;padding:22px 16px;border-radius:16px}.dialog-head h2{font-size:25px}.diagnosis-grid{grid-template-columns:1fr}.diagnosis-card{display:grid;grid-template-columns:104px 1fr;align-items:start}.diagnosis-card img{margin:14px 0 0 12px;width:92px;border-radius:7px}.card-content{padding:14px 12px}.card-content h3{font-size:18px}.card-condition{font-size:16px}.diagnosis-link{font-size:16px}.filters{gap:7px}.filter{padding:8px 10px}.close-button{width:44px;height:44px}.dialog-intro{font-size:18px}.dialog-head .eyebrow{font-size:10px}.stage-caption{letter-spacing:0}@keyframes mobileUnfold{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}}
@media(max-width:360px){.experience{padding-left:12px;padding-right:12px}.intro h1{font-size:35px}.stage{height:265px}.guide p{font-size:16px}.topbar{padding-left:16px;padding-right:16px}.category{gap:6px;padding:11px 7px}.medallion{width:32px;height:32px;flex-basis:32px}.diagnosis-card{display:flex}.diagnosis-card img{width:150px;margin:16px auto 0}.card-content{padding:16px}.stage-caption{font-size:16px}.bottom-bar{padding-left:14px;padding-right:14px}}
@media(min-width:701px) and (max-height:720px){.topbar{min-height:84px;padding-top:14px;padding-bottom:14px}.experience{padding-top:18px;padding-bottom:5px;min-height:calc(100svh - 144px)}.intro h1{font-size:48px}.lead{margin:13px 0 19px}.eyebrow{margin-bottom:16px}.guide{margin-top:15px}.stage,.opened .stage{height:500px}.bottom-bar{padding-bottom:5px}.inventory{margin:15px 0}}
@media(min-width:701px){.category{width:158px}.category-label{white-space:nowrap}.opened .stage{margin-bottom:42px}}
.dialog-head{position:sticky;top:-1px;z-index:2;background:#241a2c;padding-bottom:14px;box-shadow:0 12px 14px #241a2ce6}.category-label{word-break:keep-all}
@media(max-width:700px) and (max-height:650px){.topbar{min-height:72px;padding-top:9px;padding-bottom:9px}.experience{padding-top:14px}.intro .eyebrow{margin-bottom:7px}.intro h1{font-size:32px;line-height:1.2}.lead{font-size:16px;margin-top:10px;line-height:1.6}.stage{height:225px}.stage-caption{font-size:16px}.intro-actions{margin-top:8px}.open-button{padding-top:12px;padding-bottom:12px}.opened .stage{padding-top:235px}.opened .stage canvas{height:250px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Official site remains a secondary exit; keep the narrow header readable. */
.official-link{text-decoration:none;text-align:right;flex-shrink:0}
@media(max-width:700px){.topbar:has(.official-link){flex-wrap:wrap;gap:6px 16px}.official-link{margin-left:auto}}
