@font-face{font-family:'Bodoni Moda';src:url('assets/bodoni-moda.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{color-scheme:dark;--background:#101010;--ink:#f9f4f4;--coin-zoom:1.68;--coin-center-x:51.5%;--coin-nudge-x:.6%;background:var(--background);color:var(--ink);font-family:'Bodoni Moda',Didot,'Bodoni MT','Times New Roman',serif}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--background)}
body{overflow-x:hidden}
.landing,.language-picker{transition:opacity .6s ease}
body:not([data-ready=true]) .landing,body:not([data-ready=true]) .language-picker{opacity:0;visibility:hidden;pointer-events:none}
.startup-error{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;font-size:18px}
.startup-error[hidden]{display:none}
.startup-error button{background:transparent;border:1px solid #f9f4f480;padding:12px 20px;cursor:pointer;font:inherit;color:inherit}
@media(prefers-reduced-motion:reduce){.landing,.language-picker{transition:none}}
.landing{min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:max(10px,env(safe-area-inset-top)) 16px max(10px,env(safe-area-inset-bottom));overflow:clip}
.composition{display:flex;flex-direction:column;align-items:center;width:100%;min-width:0}
.object-stage{position:relative;width:min(76svh,88vw,860px);aspect-ratio:1;flex-shrink:0}
.object-stage video,.object-stage>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;transform:translateX(calc(50% - var(--coin-center-x) + var(--coin-nudge-x))) scale(var(--coin-zoom));transform-origin:var(--coin-center-x) 50.6%;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 3%,#000 97%,transparent);mask-composite:intersect}
.object-stage video{opacity:0}
.object-stage>img[hidden]{display:none}
button{font:inherit;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.language-picker{position:fixed;z-index:5;top:max(22px,env(safe-area-inset-top));right:max(26px,env(safe-area-inset-right));text-align:center}
.language-button{display:block;width:44px;min-height:44px;border:0;padding:8px 4px;background:transparent;font-family:inherit;font-size:18px;font-weight:400;line-height:1.3;letter-spacing:.035em;cursor:pointer}
.language-button:focus-visible{outline:1px solid #f9f4f480;outline-offset:2px}
.language-alternative{opacity:.65}
.language-alternative:hover,.language-alternative:focus-visible{opacity:1}
#language-options[hidden]{display:none}
.coin-trigger{position:absolute;left:calc(50% + var(--coin-nudge-x));top:50.6%;transform:translate(-50%,-50%) scale(var(--coin-zoom));width:23%;height:23%;min-width:44px;min-height:44px;border:0;border-radius:50%;background:transparent;padding:0;cursor:pointer}
.coin-trigger[hidden]{display:none}
.coin-trigger:focus-visible{outline:1px solid #f9f4f480;outline-offset:8px}
@media(any-pointer:coarse){.coin-trigger{width:64%;height:64%;transform:translate(-50%,-50%)}}
.brand-trigger{position:relative;display:block;width:min(80vw,360px);height:58px;margin-top:8px;border:0;padding:0;background:transparent;cursor:pointer}
.brand-trigger:focus-visible{outline:1px solid #f9f4f480;outline-offset:4px}
.brand-layer{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;will-change:opacity,filter,transform}
.brand-logo{width:140px;height:auto;filter:url(#logo-dissolve) blur(0)}
.brand-message{opacity:0;white-space:nowrap;font-weight:400;font-size:clamp(16px,2.7vw,21px);letter-spacing:.075em;line-height:1.25;filter:url(#message-dissolve) blur(8px)}
.brand-trigger[data-message=wish]{width:min(90vw,520px)}
.brand-trigger[data-message=wish] .brand-message{width:100%;white-space:normal;line-height:1.4;text-align:center}
button[aria-disabled=true]{cursor:default}
.filter-definitions{position:absolute;overflow:hidden;pointer-events:none}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:640px){.object-stage{width:min(145vw,72svh)}.brand-logo{width:120px}.brand-trigger{height:56px;margin-top:12px}.brand-message{font-size:17px;letter-spacing:.055em}}
@media(max-height:500px) and (min-width:641px){.object-stage{width:68svh}.brand-trigger{height:44px;margin-top:0}.brand-logo{width:112px}.brand-message{font-size:17px}}
@media(prefers-reduced-motion:reduce){.brand-layer{will-change:auto}}
@media(max-width:640px){.language-picker{top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right))}}
.contact-card{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:min(460px,calc(100vw - 40px));max-height:calc(100svh - 160px);overflow:auto;background:#101010;border:1px solid #f9f4f435;padding:46px 30px 22px;opacity:0;scrollbar-width:thin;scrollbar-color:#f9f4f455 transparent}
.contact-card[hidden]{display:none}
.contact-close{position:absolute;top:2px;right:5px;width:44px;height:44px;border:0;background:none;font-size:26px;line-height:1;cursor:pointer;color:#f9f4f4b3}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.form-field{min-width:0;margin-bottom:22px}
.form-field label{display:block;font-size:16px;line-height:1.35;margin-bottom:8px}
.form-field input,.form-field textarea{display:block;width:100%;border:0;border-bottom:1px solid #f9f4f440;border-radius:0;background:transparent;color:var(--ink);font:400 16px/1.5 'Bodoni Moda',serif;padding:6px 0 8px;outline:none}
.form-field input:focus,.form-field textarea:focus{border-color:#f9f4f4cc}
.form-field input::placeholder{color:#f9f4f46e}
.form-field textarea{height:126px;min-height:90px;max-height:180px;overflow-y:auto;resize:vertical;scrollbar-width:thin;scrollbar-color:#f9f4f455 transparent}
.form-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px}
#form-status{font-family:Georgia,serif;font-size:14px;line-height:1.45;margin:0;color:#f9f4f4c0}
.contact-submit{padding:10px 0 10px 16px;margin-left:auto;border:0;background:transparent;font-size:18px;cursor:pointer}
.contact-submit:disabled{opacity:.45;cursor:wait}
.contact-submit:focus-visible,.contact-close:focus-visible{outline:1px solid #f9f4f480;outline-offset:2px}
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#announcement:not(.visually-hidden){position:fixed;bottom:20px;left:24px;right:24px;text-align:center;font-size:14px}
[data-state=loading] .coin-trigger,[data-state=loading]~.brand-trigger{cursor:progress}
@media(max-width:400px){.contact-card{padding:43px 23px 20px}.form-row{gap:16px}}
@media(max-height:650px){.contact-card{max-height:calc(100svh - 120px)}.form-field{margin-bottom:15px}.form-field textarea{height:96px}}
