:root{--bg:#12050A;--cream:#F8E9E4;--mut:#B58C93;--rose:#E0526F;--wine:#9B1D3A;--line:rgba(255,255,255,.13)}
*{box-sizing:border-box}
html{color-scheme:dark}
body{margin:0;min-height:100vh;color:var(--cream);font:16px/1.55 'Manrope',system-ui,sans-serif;background:radial-gradient(900px 600px at 82% 8%,#5E1429 0,transparent 62%),radial-gradient(700px 500px at 0 100%,#3A0D1B 0,transparent 60%),var(--bg);background-attachment:fixed;overflow-x:hidden;padding:max(16px,env(safe-area-inset-top)) 18px max(28px,env(safe-area-inset-bottom))}
.shell{max-width:1080px;margin:0 auto}
.top{display:flex;justify-content:space-between;align-items:center;padding:8px 2px 0}
.brand{font:800 1.3rem 'Fraunces',Georgia,serif;letter-spacing:-.02em}
h1,h2{font-family:'Fraunces',Georgia,serif;font-weight:800;margin:0;letter-spacing:-.04em;line-height:.9}
h1{font-size:clamp(3rem,10vw,7.4rem)}
h1 span{display:block}
.it{font-style:italic}
h1.h2{font-size:clamp(2.4rem,7vw,3.6rem)}
h2{font-size:1.7rem;line-height:1.1;margin-bottom:6px}
.sub{color:var(--mut);margin:0 0 22px;max-width:40ch}
.stage{display:grid;grid-template-columns:1fr minmax(250px,390px);align-items:center;gap:8px;min-height:440px;padding:28px 0 8px}
.stage h1{position:relative;z-index:2}
.orb{position:relative;aspect-ratio:1;display:grid;place-items:center;margin-left:-70px}
.tile{position:relative;width:72%;padding:10px;border-radius:36px;rotate:-5deg;background:linear-gradient(145deg,#fff,#EBCFD5);box-shadow:inset 0 2px 0 #fff,0 40px 70px -25px #000,0 0 70px -10px rgba(224,82,111,.55);animation:float 7s ease-in-out infinite;transition:rotate .4s,scale .4s}
.tile img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:27px}
.tile::after{content:"";position:absolute;inset:10px;border-radius:27px;pointer-events:none;background:linear-gradient(130deg,rgba(255,255,255,.4),transparent 42%)}
.tile:hover{rotate:0deg;scale:1.05}
.deco{position:absolute}
.pearl{border-radius:50%;background:radial-gradient(circle at 32% 28%,#fff 0,#eadadd 30%,#a58f94 70%,#5b4a4e 100%);box-shadow:0 10px 16px -5px rgba(0,0,0,.7);animation:drift 6s ease-in-out infinite}
.p1{width:44px;height:44px;left:4%;top:10%}.p2{width:26px;height:26px;right:6%;top:6%;animation-delay:-2s}.p3{width:34px;height:34px;right:10%;bottom:8%;animation-delay:-4s}
.star{width:34px;height:34px;background:linear-gradient(135deg,#fff,#F3B7C0);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);animation:twinkle 3.2s ease-in-out infinite}
.s1{left:0;bottom:22%}.s2{right:-1%;top:38%;width:24px;height:24px;animation-delay:-1s}.s3{left:34%;top:-2%;width:20px;height:20px;animation-delay:-2s}
.ring{width:86%;aspect-ratio:1;left:7%;top:7%;border-radius:50%;border:1px solid var(--line);box-shadow:0 0 0 28px rgba(255,255,255,.025),0 0 0 62px rgba(255,255,255,.015)}
.ball{width:54px;height:54px;border-radius:50%;left:8%;bottom:4%;background:radial-gradient(circle at 32% 28%,#ff8aa0 0,#b0203f 36%,#4a0b1b 100%);box-shadow:0 12px 18px -6px rgba(0,0,0,.75);animation:drift 8s ease-in-out infinite -3s}
.glass{position:relative;background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.025));border:1px solid var(--line);border-radius:28px;padding:clamp(18px,3vw,30px);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 30px 60px -28px #000;margin-top:18px}
input,select{width:100%;font:inherit;color:var(--cream);background:rgba(0,0,0,.38);border:1px solid var(--line);border-radius:999px;padding:15px 22px;outline:0;box-shadow:inset 0 3px 8px rgba(0,0,0,.5)}
input::placeholder{color:#8f6a72}
input:focus,select:focus{border-color:var(--rose);box-shadow:inset 0 3px 8px rgba(0,0,0,.5),0 0 0 3px rgba(224,82,111,.25)}
select option{background:#2a0a14}
button,.btn{display:inline-block;font:700 1rem 'Manrope',sans-serif;color:#fff;text-decoration:none;cursor:pointer;border:0;border-radius:999px;padding:15px 30px;background:linear-gradient(180deg,#E3496A 0,#A91F40 48%,#7A1430 52%,#9A1B3A 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -3px 6px rgba(0,0,0,.35),0 12px 26px -8px rgba(224,82,111,.7);transition:translate .15s,filter .15s,box-shadow .15s}
button:hover,.btn:hover{translate:0 -3px;filter:brightness(1.12)}
button:active,.btn:active{translate:0 1px;filter:brightness(.95)}
.btn.sm{padding:9px 20px;font-size:.9rem}
button.ghost{font-weight:600;font-size:.85rem;padding:7px 15px;margin-left:6px;background:rgba(255,255,255,.07);border:1px solid var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
button.ghost:hover{border-color:var(--rose);box-shadow:0 0 18px -4px rgba(224,82,111,.7)}
button.danger{color:#FF8A96}
:is(button,input,select,a):focus-visible{outline:2px solid var(--rose);outline-offset:3px}
.row{display:flex;gap:12px;flex-wrap:wrap}
.row>input,.row>select{flex:1 1 220px;width:auto}
.err{color:#FF8A96;min-height:1.5em;margin:10px 0 0;font-size:.9rem}
.ok{color:var(--cream)}
.bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 2px;margin-top:14px;border-bottom:2px solid var(--rose)}
.addr{word-break:break-all;font-weight:700}
.msg{display:block;width:100%;text-align:left;font-weight:400;color:var(--cream);background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:16px 4px;box-shadow:none}
.msg:hover{background:rgba(255,255,255,.05);translate:none;filter:none}
.msg b{display:block;font-weight:700}
small,.mut,.empty{color:var(--mut)}
.empty{padding:24px 4px}
iframe{width:100%;height:60vh;border:1px solid var(--line);border-radius:18px;background:#fff;margin-top:12px}
.mb{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 20px;margin-top:12px;border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.02));border:1px solid var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 20px 40px -26px #000;transition:translate .2s,border-color .2s}
.mb:hover{translate:0 -3px;border-color:rgba(224,82,111,.6)}
#box:empty{display:none}
#box{margin-top:18px}
.login{position:relative;max-width:470px;margin:150px auto 0}
.login .orb{position:absolute;left:50%;top:-140px;width:230px;margin:0 0 0 -115px;z-index:2}
.login .glass{padding-top:110px;display:flex;flex-direction:column;gap:14px;text-align:center}
.login .sub{margin:0 auto}
.back{color:var(--mut);font-weight:600;text-decoration:none;font-size:.9rem}
@keyframes up{from{opacity:0;translate:0 44px}to{opacity:1;translate:0 0}}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -14px}}
@keyframes drift{0%,100%{translate:0 0;scale:1}50%{translate:8px -12px;scale:1.08}}
@keyframes twinkle{0%,100%{opacity:.35;scale:.8}50%{opacity:1;scale:1.15}}
h1 span{animation:up .9s cubic-bezier(.2,.8,.2,1) both}
h1 span:nth-child(2){animation-delay:.12s}h1 span:nth-child(3){animation-delay:.24s}
@media (max-width:760px){.stage{grid-template-columns:1fr;padding-top:12px}.orb{order:-1;width:min(300px,78vw);margin:0 auto}h1{text-align:center}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
