:root{font-family:Manrope,PingFang SC,sans-serif;color:#17343b;background:#d8e3dc;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}.app-shell{--bg-soft: #d8e3dc;--bg-deep: #719193;--active-ink: #173942;position:relative;min-height:100vh;overflow:hidden;padding:28px 0 34px;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.94),rgba(255,255,255,.22) 42%,transparent 68%),linear-gradient(145deg,var(--bg-soft),color-mix(in srgb,var(--bg-deep) 38%,var(--bg-soft)));transition:background .9s cubic-bezier(.22,.7,.22,1),color .7s ease;color:var(--active-ink);isolation:isolate}.app-shell:before{content:"";position:absolute;inset:0;z-index:-2;opacity:.28;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg width='120' height='120' viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.ambient{position:absolute;border-radius:50%;filter:blur(70px);opacity:.24;pointer-events:none;z-index:-1;transition:background .9s ease,transform 1.2s ease}.ambient-one{width:38vw;height:38vw;left:-8vw;top:24%;background:var(--bg-deep)}.ambient-two{width:32vw;height:32vw;right:-9vw;bottom:-5vw;background:var(--bg-soft)}.topbar{width:min(1320px,calc(100% - 56px));margin:0 auto;display:flex;align-items:center;justify-content:space-between}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:11px}.brand-mark{width:37px;height:37px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50% 50% 46% 54%;font-family:"Noto Serif SC",serif;font-size:18px}.brand b,.brand small{display:block}.brand b{font:600 14px/1.15 "Noto Serif SC",serif;letter-spacing:.18em}.brand small{margin-top:5px;font-size:7px;letter-spacing:.18em;opacity:.6}.edition{font:500 10px/1 Manrope,sans-serif;letter-spacing:.22em;opacity:.64}.intro{width:min(780px,calc(100% - 44px));margin:clamp(24px,4vh,52px) auto clamp(18px,3vh,30px);text-align:center}.kicker{margin:0 0 10px;display:flex;justify-content:center;align-items:center;gap:8px;font-size:10px;letter-spacing:.28em;text-transform:uppercase;opacity:.68}.intro h1{margin:0;font:500 clamp(34px,4.4vw,62px)/1.08 "Noto Serif SC",serif;letter-spacing:.08em}.intro h1 i{font-style:normal;color:#956a2c}.intro-copy{max-width:510px;margin:14px auto 0;font:400 12px/1.8 "Noto Serif SC",serif;letter-spacing:.08em;opacity:.67}.carousel-wrap{position:relative}.carousel-viewport{width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;cursor:grab;touch-action:pan-y}.carousel-viewport::-webkit-scrollbar{display:none}.carousel-viewport.is-dragging{cursor:grabbing;scroll-snap-type:none}.single-card-viewport{cursor:default;overflow-x:hidden}.carousel-track{display:flex;gap:clamp(22px,3.1vw,48px);width:max-content;padding:7px max(5.5vw,calc((100vw - 1120px)/2)) 24px}.single-track{width:100%;justify-content:center;padding-inline:0}.card-slot{width:min(78vw,1120px);min-width:min(78vw,1120px);scroll-snap-align:center;scroll-snap-stop:always}.roof-card{position:relative;min-height:clamp(620px,72vh,720px);border:1px solid rgba(255,255,255,.52);border-radius:8px;overflow:hidden;background:linear-gradient(180deg,#fffffff5,#f8f5ede0),#f7f4ec;box-shadow:0 18px 60px #1634391f,inset 0 1px #fff;opacity:.52;transform:scale(.965);transition:transform .55s cubic-bezier(.22,.8,.2,1),opacity .55s ease,box-shadow .55s ease}.roof-card.is-active{opacity:1;transform:scale(1);box-shadow:0 26px 80px #16343933,inset 0 1px #fff}.roof-card:after{content:"";position:absolute;inset:0;pointer-events:none;border:10px solid rgba(255,255,255,.17);border-radius:inherit}.card-index{position:absolute;right:30px;top:24px;z-index:4;font-size:9px;letter-spacing:.18em;opacity:.38}.card-copy{position:absolute;z-index:4;left:clamp(26px,4vw,58px);top:clamp(25px,4.2vh,48px);pointer-events:none}.card-copy>p:first-child{margin:0 0 7px;font-size:9px;letter-spacing:.24em;opacity:.56}.title-row{display:flex;align-items:center;gap:13px}.title-row h2{margin:0;font:600 clamp(34px,4vw,55px)/1 "Noto Serif SC",serif;letter-spacing:.14em}.seal{display:grid;place-items:center;width:31px;height:31px;border:1px solid #9b3e32;color:#9b3e32;border-radius:2px;font:500 15px/1 "Noto Serif SC",serif;transform:rotate(3deg)}.subtitle{margin:12px 0 0;font:500 10px/1 "Noto Serif SC",serif;letter-spacing:.22em;opacity:.7}.roof-stage{position:absolute;inset:0}.roof-image{position:absolute;left:11%;top:3%;width:78%;height:auto;-webkit-user-select:none;user-select:none;pointer-events:none;transform:translateZ(0)}.physics-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:3;touch-action:none}.card-footer{position:absolute;z-index:4;top:clamp(29px,4.6vh,52px);right:clamp(62px,6.5vw,94px);width:min(29%,300px);display:grid;justify-items:end;gap:9px;text-align:right;pointer-events:none}.card-rule{width:46px;height:1px;flex:0 0 auto;background:currentColor;opacity:.38}.card-footer p{max-width:300px;margin:0;font:400 9px/1.7 "Noto Serif SC",serif;letter-spacing:.08em;opacity:.54}.controls{width:min(460px,calc(100% - 44px));height:42px;margin:3px auto 0;display:flex;align-items:center;justify-content:center;gap:13px}.controls>button{width:36px;height:36px;padding:0;display:grid;place-items:center;color:inherit;border:1px solid color-mix(in srgb,currentColor 28%,transparent);border-radius:50%;background:#ffffff40;cursor:pointer;transition:background .2s ease,transform .2s ease,opacity .2s ease}.controls>button:hover:not(:disabled){background:#fff9;transform:translateY(-1px)}.controls>button:disabled{opacity:.25;cursor:default}.dots{display:flex;align-items:center;gap:8px;padding:0 8px}.dots button{width:5px;height:5px;border:0;border-radius:50%;padding:0;background:currentColor;opacity:.26;cursor:pointer;transition:width .25s ease,opacity .25s ease,border-radius .25s ease}.dots button.is-active{width:25px;border-radius:5px;opacity:.78}.interaction-hint{position:absolute;left:calc(50% + 115px);display:flex;align-items:center;gap:6px;white-space:nowrap;margin:0;font-size:9px;letter-spacing:.12em;opacity:.5}.single-interaction-hint{display:flex;align-items:center;gap:7px;margin:0;font-size:9px;letter-spacing:.16em;opacity:.52}.controls>.sound-toggle{width:auto;height:32px;padding:0 13px;display:inline-flex;grid-template-columns:none;align-items:center;gap:7px;border-radius:999px;font-size:9px;letter-spacing:.12em;background:#ffffff57}.controls>.sound-toggle.is-enabled{color:#795521;border-color:#956a2c5c;background:#fff6dc8f}.parameter-note{position:absolute;right:26px;bottom:20px;display:flex;align-items:center;gap:5px;font:500 8px/1 Manrope,sans-serif;letter-spacing:.08em;opacity:.34}.parameter-note span{font-weight:700}.parameter-note i{width:2px;height:2px;border-radius:50%;background:currentColor;margin:0 2px}.status-card{width:min(78vw,1120px);min-height:450px;margin:0 auto 24px;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:12px;background:#ffffffc7;font:500 12px/1 "Noto Serif SC",serif;letter-spacing:.12em}.loader{width:18px;height:18px;border:1px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:780px){.app-shell{padding-top:20px}.topbar{width:calc(100% - 34px)}.edition{display:none}.intro{margin-top:28px}.intro-copy{max-width:340px}.carousel-track{padding-inline:5vw;gap:18px}.card-slot{width:90vw;min-width:90vw}.roof-card{min-height:520px}.roof-image{width:122%;left:-11%;top:10%}.card-copy{top:27px}.card-footer,.interaction-hint,.parameter-note{display:none}}@media(max-height:780px)and (min-width:781px){.app-shell{padding-top:20px}.intro{margin-top:20px;margin-bottom:12px}.intro-copy{display:none}.roof-card{min-height:650px;height:85vh}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
