:root{--bg:#fae9ee;--ink:#58233f;--muted:#946a80;--accent:#df3589;--surface:#fff6fa;--soft:#f4c8df;--ball:#ed65aa;--deep:#ad1d67;--line:#ddbdcc;--secondary:#cfdf9d}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,'Segoe UI',sans-serif;transition:background .35s,color .35s}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}button{border:0}a{color:inherit;text-decoration:none}.app{max-width:1040px;margin:auto;padding:0 38px 140px}header{height:100px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:26px;font-weight:800;letter-spacing:-1.5px;display:flex;align-items:center}.brand span{color:var(--accent)}.brand img{height:40px;width:40px;border-radius:13px;margin-right:11px;box-shadow:0 3px 8px #0001}.round{width:42px;height:42px;border-radius:50%;background:transparent;border:1px solid var(--line);font-size:22px}.page{text-align:center;max-width:820px;margin:18px auto 0}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--muted);font-weight:700}h1{font-weight:500;letter-spacing:-1.8px;font-size:38px;margin:13px 0 9px;line-height:1.2}.lead{color:var(--muted);font-size:13px;margin:0 0 10px}.stage{height:340px;max-width:480px;margin:12px auto 0;position:relative;perspective:900px}.scene{height:100%;transform-style:preserve-3d;transition:transform .16s ease-out}.bubble{width:225px;height:225px;position:absolute;left:calc(50% - 112px);top:50px;border-radius:50%;background:radial-gradient(ellipse at 30% 23%,#fffc 0%,#fff8 5%,var(--ball) 29%,var(--ball) 45%,var(--deep) 90%);box-shadow:inset -15px -20px 28px #0002,inset 5px 7px 18px #fff4,0 28px 30px -21px #0004;animation:float 5s ease-in-out infinite;transform:translateZ(65px)}.bubble:before{content:'';position:absolute;width:82px;height:38px;left:24px;top:20px;border-radius:50%;background:linear-gradient(160deg,#fffb,#fff0);filter:blur(7px);transform:rotate(-35deg)}.shadow{position:absolute;width:160px;height:18px;left:calc(50% - 80px);bottom:26px;background:var(--deep);opacity:.17;filter:blur(14px);border-radius:50%}.orb{position:absolute;width:47px;height:47px;left:25px;top:77px;border-radius:50%;background:radial-gradient(circle at 27% 23%,#fff,var(--secondary) 30%,color-mix(in srgb,var(--secondary),black 35%));transform:translateZ(105px);animation:float 6s infinite reverse}.orb.small{left:auto;right:23px;top:240px;width:24px;height:24px;background:radial-gradient(circle at 27% 23%,#fff,var(--ball) 30%,var(--deep))}.spark{position:absolute;font-size:45px;color:var(--accent);transform:translateZ(100px)}.spark.one{right:22px;top:17px}.spark.two{left:49px;top:240px;font-size:25px}.bubble.inflating{animation:inflate 1.8s ease-in forwards}.bubble.pop{animation:pop .25s forwards}.quote{position:absolute;inset:20px 5px;display:flex;flex-direction:column;justify-content:center;align-items:center;animation:reveal .6s}.quote h2{font:38px/1.17 Georgia,serif;letter-spacing:-.8px;max-width:380px;margin:22px 0 15px}.quote p{color:var(--muted);font-size:13px;max-width:300px;line-height:1.8;margin:0}.primary{background:var(--ink);color:var(--bg);border-radius:28px;padding:16px 25px;display:block;width:100%;font-size:13px;font-weight:650;transition:transform .2s}.primary:hover{transform:translateY(-2px)}.primary:disabled{opacity:.65;cursor:wait}#today>.primary{max-width:340px;margin:auto}.caption{font-size:11px;color:var(--muted);line-height:1.7;margin:13px 0}.actions{display:flex;justify-content:center;gap:16px;margin-top:15px}.actions button,.install-inline{background:none;color:var(--muted);font-size:11px;padding:7px}.install-inline{color:var(--accent);border-bottom:1px solid var(--line);margin:2px auto 0}.theme-bar{display:flex;justify-content:center;align-items:center;gap:18px;margin:30px auto 0}.theme-bar>span{color:var(--muted);font-size:10px}#themes{display:flex;gap:10px}.swatch{height:27px;width:27px;min-width:27px;border-radius:50%;background:var(--sw);border:3px solid var(--bg);outline:1px solid transparent}.swatch.active{outline-color:var(--ink)}.bottom-nav{display:flex;justify-content:center;gap:70px;padding:17px 0 max(17px,env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(15px);border-top:1px solid var(--line);z-index:6}.bottom-nav button{background:none;color:var(--muted);display:grid;gap:4px;font-size:10px;min-width:65px}.bottom-nav b{font-size:23px;font-weight:400;line-height:25px}.bottom-nav button.active{color:var(--accent)}.wall-layout{display:grid;grid-template-columns:300px 1fr;gap:50px;align-items:center;text-align:left;margin:26px auto}.wall-frame{max-width:300px;line-height:0;border-radius:30px;overflow:hidden;box-shadow:0 17px 35px #0002;border:5px solid var(--surface)}canvas#wall{display:block;width:100%;height:auto}.style-label{display:flex;justify-content:space-between;margin-bottom:16px;font-size:13px}.style-label span{color:var(--muted);font-size:11px}.styles{display:flex;gap:9px;margin-bottom:25px}.styles button{width:48px;height:67px;border-radius:9px;padding:0;background:var(--surface);border:2px solid transparent;overflow:hidden;line-height:0}.styles button.active{border-color:var(--ink);outline:2px solid var(--bg);box-shadow:0 0 0 3px var(--ink)}.styles canvas{width:100%;height:100%}.field-label{display:block;color:var(--muted);font-size:10px;margin:16px 0 7px}select{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;font-size:12px}#download{margin-top:23px}.secondary{background:transparent;border:1px solid var(--line);width:100%;border-radius:24px;padding:13px;margin-top:10px;font-size:11px}.saved-card{padding:25px;border:1px solid var(--line);border-radius:22px;text-align:left;background:var(--surface);margin:18px 0}.saved-card h2{font:28px/1.25 Georgia,serif;margin:5px 0 15px}.saved-card button{background:none;color:var(--muted);padding:0;font-size:11px}.saved-card p{color:var(--muted);font-size:12px}dialog{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:26px;padding:26px;width:min(420px,calc(100% - 32px));max-height:85dvh}dialog::backdrop{background:#21152166;backdrop-filter:blur(8px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:21px}.dialog-top h2{font-size:23px;font-weight:500;margin:0;letter-spacing:-.7px}dialog p{font-size:13px;line-height:1.8;color:var(--muted)}.menu-row{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;padding:16px 0;border-bottom:1px solid var(--line);font-size:13px;text-align:left;gap:12px}.menu-row small{color:var(--muted);font-size:10px}.gender-choice{width:100%;padding:20px;border:1px solid var(--line);border-radius:17px;background:var(--surface);margin:8px 0;text-align:left;font-size:16px}.gender-choice small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.gender-choice.active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.toast{position:fixed;bottom:100px;left:50%;max-width:90%;transform:translate(-50%,180px);transition:transform .3s;background:var(--ink);color:var(--bg);padding:13px 22px;border-radius:23px;z-index:20;font-size:12px;text-align:center}.toast.show{transform:translate(-50%,0)}.particle{position:absolute;width:12px;height:17px;border-radius:50%;left:50%;top:48%;background:var(--ball);animation:burst .8s forwards;pointer-events:none}.install-picture{width:75px;height:75px;border-radius:20px;display:block;margin:0 auto 17px}.steps{font-size:13px;color:var(--muted);line-height:1.8;padding-left:20px}.steps li{margin:12px 0}.fine{font-size:10px!important}.replay{background:none;font-size:10px;color:var(--muted);padding:4px;text-decoration:underline}@keyframes float{50%{translate:0 -13px;rotate:3deg}}@keyframes inflate{20%{scale:.92 1.05}65%{scale:1.2}100%{scale:1.42}}@keyframes pop{to{scale:1.7;opacity:0;filter:blur(8px)}}@keyframes reveal{from{opacity:0;transform:translateY(15px) scale(.93)}to{opacity:1;transform:none}}@keyframes burst{to{transform:translate(var(--dx),var(--dy)) rotate(140deg);opacity:0}}@media(max-width:650px){.app{padding:0 23px 120px}header{height:78px}.brand{font-size:23px}.brand img{width:34px;height:34px;border-radius:11px}.page{margin-top:17px}h1{font-size:30px;letter-spacing:-1.2px}.stage{height:clamp(285px,42dvh,360px);margin-top:10px}.bubble{top:40px;width:216px;height:216px;left:calc(50% - 108px)}.orb{left:2px;width:37px;height:37px}.orb.small{right:4px;top:230px}.spark.one{right:4px}.spark.two{left:22px;top:231px}.quote h2{font-size:33px}.quote p{font-size:12px}.theme-bar{gap:12px;margin-top:23px;flex-wrap:wrap}#themes{gap:9px}.bottom-nav{gap:34px;padding-top:13px}.wall-layout{display:flex;flex-direction:column;gap:23px;margin-top:23px}.wall-frame{width:min(72vw,270px)}.wall-controls{width:100%;max-width:390px}.styles{justify-content:space-between;gap:10px}.styles button{width:53px;height:77px}#wallpapers .lead{font-size:12px}#wallpapers h1{font-size:28px}#today>.primary{max-width:360px}.quote{inset:8px 0 22px}.actions{gap:10px}.actions button{font-size:10px}.caption{font-size:10px}.theme-bar>span{font-size:9px}}@media(display-mode:standalone){.install-inline{display:none}header{padding-top:env(safe-area-inset-top);height:calc(78px + env(safe-area-inset-top))}}@media(prefers-reduced-motion:reduce){*,*:before{animation-duration:.01ms!important;transition:none!important}.scene{transform:none!important}}
.random-choice{display:flex;gap:9px;align-items:center;font-size:11px;margin-bottom:15px;color:var(--muted)}input[type=checkbox]{accent-color:var(--ink)}.auth-screen{position:fixed;inset:0;background:#e7ece5;color:#343c38;overflow:auto;z-index:30;perspective:1400px;padding:25px max(22px,env(safe-area-inset-left)) 35px}.auth-wrap{max-width:1080px;min-height:calc(100dvh - 60px);margin:auto;display:grid;grid-template-columns:1.15fr .85fr;gap:65px;align-items:center}.auth-intro{padding:30px 0}.auth-logo{font-weight:800;letter-spacing:-1px;font-size:25px}.auth-logo span{color:#9a6856}.auth-kicker{text-transform:uppercase;letter-spacing:3px;font-size:10px;color:#738177;margin:55px 0 20px}.auth-title{font:54px/1.05 Georgia,serif;letter-spacing:-2.5px;margin:0 0 18px}.auth-copy{font-size:13px;color:#748078;line-height:1.8;max-width:350px}.auth-panel{padding:28px 0;max-width:430px;width:100%;margin:auto}.auth-tabs{display:flex;padding:5px;background:#d9e1d7;border-radius:30px;gap:5px;margin-bottom:25px}.auth-tabs button{width:50%;padding:13px 12px;border-radius:25px;background:transparent;color:#708071;font-size:14px}.auth-tabs button.active{background:#fbf8ef;color:#343c38;box-shadow:0 3px 7px #35413913}.auth-field{display:block;margin:14px 0}.auth-field span{display:block;font-size:10px;color:#6c776e;letter-spacing:.3px;margin:0 0 7px 3px}.auth-field input{display:block;width:100%;border:1px solid #bfcbbb;border-radius:17px;background:#f4f5ec;padding:16px 18px;font:15px system-ui;color:#343c38;outline:none}.auth-field input:focus{border-color:#788d78;box-shadow:0 0 0 3px #a4b59e44}.sex-label,.birth-label{font-size:10px;color:#6c776e;margin:21px 0 10px 3px}.sex-buttons{display:flex;gap:12px}.sex-buttons button{width:50%;height:51px;border-radius:15px;background:#f4f5ec;border:1px solid #bfcbbb;color:#607465;font-size:16px;font-weight:600;box-shadow:0 4px 0 #bfcbbb55}.sex-buttons button.active{color:#fffbf1;background:#6c826e;border-color:#607665;box-shadow:0 4px 0 #4a6152}.radio-stage{width:100%;position:relative;margin:34px auto 12px;perspective:1100px;filter:drop-shadow(0 20px 16px #53644730)}.radio-device{position:relative;transform-style:preserve-3d;transition:transform .15s ease-out;transform:rotateY(var(--rx,0deg)) rotateX(var(--ry,0deg));isolation:isolate;aspect-ratio:1840/864}.radio-device>img{display:block;width:100%;height:auto}.radio-mode{position:absolute;top:-2%;width:16%;height:12%;background:linear-gradient(#f9edcd,#e2d0a9);color:#5f6855;box-shadow:0 3px 0 #a79978,0 5px 7px #0003,inset 0 1px #fff;border:1px solid #c3b38e;border-radius:7px;font-size:clamp(9px,1.1vw,13px);font-weight:750;letter-spacing:.1px;z-index:4;min-height:28px}.radio-mode.month{left:35%}.radio-mode.year{left:53%}.radio-mode.active{background:linear-gradient(#c0cfad,#7c946c);color:#263b2b;box-shadow:0 2px 0 #687b5f,0 3px 5px #0003,inset 0 1px #e7efd9;translate:0 2px}.radio-screen{position:absolute;left:15%;top:22%;width:70%;height:39%;display:flex;gap:6%;padding:2% 2.5%;align-items:center;transform:translateZ(2px)}.flap{position:relative;display:grid;place-items:center;height:100%;width:60%;border:1px solid #33372f;border-radius:4px;background:linear-gradient(#31372f 49.5%,#171c17 50%,#272d26 51%);color:#f4eedc;text-shadow:0 1px 2px #000;font-weight:650;letter-spacing:1px;font-size:clamp(18px,2.3vw,32px);box-shadow:inset 0 1px 1px #69745d44,0 3px 7px #0008;line-height:1}.flap.year-display{width:37%;font-size:clamp(23px,3.1vw,43px)}.flap:after{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:#0009;box-shadow:0 1px #fff1}.flap.flip{animation:flap .24s ease-out}.radio-slider{position:absolute;left:13%;top:69%;width:63%;height:7%;background:linear-gradient(#181b17,#36382c 60%,#111);border-radius:20px;box-shadow:inset 0 2px 3px #0008;z-index:3;display:flex;align-items:center}.radio-slider:before{content:'';position:absolute;inset:27% 3%;background:repeating-linear-gradient(90deg,transparent 0 9px,#e6d3aa88 9px 10px);pointer-events:none}.radio-slider input{position:relative;margin:0;width:100%;height:44px;appearance:none;-webkit-appearance:none;background:none;cursor:ew-resize;z-index:2;outline:none}.radio-slider input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:24px;height:30px;border-radius:6px;background:linear-gradient(90deg,#e9d9b4 43%,#c97c5d 44% 57%,#efe0bf 58%);border:1px solid #bcac89;box-shadow:0 3px 4px #0007,inset 0 1px #fff9}.radio-slider input::-moz-range-thumb{width:24px;height:30px;border-radius:6px;background:linear-gradient(90deg,#e9d9b4 43%,#c97c5d 44% 57%,#efe0bf 58%);border:1px solid #bcac89}.radio-ok{position:absolute;left:79%;top:68%;width:10%;height:18%;border-radius:50%;background:radial-gradient(circle at 40% 30%,#d18e6c,#b66148);color:#fff0d2;font-size:clamp(13px,1.8vw,22px);box-shadow:inset 0 1px 3px #fff5,0 3px 3px #5b422e66;border:1px solid #a46347;z-index:3;min-height:35px;min-width:35px}.radio-ok:active{scale:.95}.radio-help{text-align:center;font-size:10px;color:#71806f;margin:15px 0 5px}.birth-confirm{text-align:center;color:#677f64;font-size:11px;min-height:20px}.auth-submit{width:100%;padding:17px;border-radius:27px;background:#35493b;color:#faf5e7;margin-top:19px;font-weight:600;box-shadow:0 5px 0 #263d2d,0 9px 16px #38583f22}.auth-error{font-size:12px;color:#9a4d3d;line-height:1.7;min-height:20px;margin-top:15px}.preview-button{background:none;color:#6b786b;font-size:11px;display:block;margin:18px auto 0;padding:7px;text-decoration:underline}.auth-small{color:#7b867a;font-size:10px;line-height:1.8;text-align:center;margin-top:22px}.auth-install{color:#667b63;background:none;border-bottom:1px solid #a7b59d;padding:6px 0;font-size:11px;margin-top:20px}.auth-orbit{position:relative;width:150px;height:150px;margin-top:45px;border-radius:50%;background:radial-gradient(circle at 28% 24%,#faf9dd,#b3c5a4 33%,#627b66 90%);box-shadow:inset -10px -12px 20px #40543f44,0 22px 25px -15px #52684a66;transform:rotate(-17deg)}.auth-orbit:after{content:'';position:absolute;width:175px;height:57px;border:13px solid #d09b84;left:-12px;top:44px;border-radius:50%;transform:rotate(-18deg);box-shadow:0 3px 5px #0002}.motion-note{font-size:9px;color:#92a08e;letter-spacing:.5px;margin-top:22px}#dialog.neutral{--bg:#e7ece5;--ink:#343c38;--muted:#748078;--surface:#f4f5ec;--line:#bfcbbb;--accent:#6c826e}.birth-inline{display:flex;justify-content:space-between;gap:8px;margin:12px 0}.birth-inline select{min-width:0}@keyframes flap{0%{transform:rotateX(-65deg);filter:brightness(.65)}100%{transform:rotateX(0);filter:brightness(1)}}@media(max-width:700px){.auth-screen{padding:20px 22px 35px}.auth-wrap{display:block;min-height:0;max-width:450px}.auth-intro{padding:4px 0 15px}.auth-logo{text-align:center;font-size:24px}.auth-kicker{margin:23px 0 9px;text-align:center;font-size:9px;letter-spacing:2px}.auth-title{font-size:38px;letter-spacing:-1.7px;text-align:center;line-height:1.08;margin-bottom:10px}.auth-copy{text-align:center;font-size:11px;max-width:320px;margin:auto}.auth-orbit,.motion-note{display:none}.auth-panel{padding:12px 0}.auth-tabs{margin-bottom:20px}.auth-field input{padding:16px}.radio-stage{width:calc(100% + 28px);margin:31px -14px 7px}.radio-mode{font-size:9px}.radio-help{font-size:10px;margin-top:13px}.flap{font-size:clamp(15px,4.7vw,23px)}.flap.year-display{font-size:clamp(21px,6.5vw,30px)}.auth-install{display:block;margin:10px auto 0}.auth-small{margin-top:16px}.auth-submit{margin-top:12px}.radio-slider input::-webkit-slider-thumb{width:21px;height:27px}.radio-slider input::-moz-range-thumb{width:21px;height:27px}}
.toast{z-index:100}.auth-screen button:focus-visible,.auth-screen input:focus-visible{outline:3px solid #7a9476;outline-offset:4px}.auth-submit:disabled{opacity:.65;cursor:wait}.wall-frame{transition:transform .16s ease-out;will-change:transform}@media(max-width:700px){#auth-motion{margin:5px auto 0!important}}
/* Compact mobile registration and continuous whole-scene depth. */
:root{--tilt-x:0deg;--tilt-y:0deg;--drift-x:0px;--drift-y:0px}body{perspective:1400px}.app{transform:rotateX(var(--tilt-y)) rotateY(var(--tilt-x));transform-style:preserve-3d;transform-origin:50% 40%;transition:transform .13s ease-out}.auth-wrap{transform:rotateX(var(--tilt-y)) rotateY(var(--tilt-x));transform-style:preserve-3d;transform-origin:50% 45%;transition:transform .13s ease-out}.auth-logo{transform:translate3d(var(--drift-x),var(--drift-y),35px)}.auth-title{transform:translate3d(var(--drift-x),var(--drift-y),24px)}.auth-tabs,.auth-field,.sex-buttons{transform:translateZ(12px)}.radio-stage{transform:translate3d(var(--drift-x),var(--drift-y),38px)}.radio-device{transform:none}.auth-submit{transform:translateZ(22px)}.auth-error:empty{display:none}.auth-screen{padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom))}.auth-screen .auth-copy,.auth-screen .auth-orbit{display:none}.auth-field span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.auth-error{font-size:11px;line-height:1.4;margin:9px 0 0;min-height:0}.auth-tabs{margin-bottom:16px}.auth-panel{padding:12px 0}.auth-intro{padding:0}.auth-title{margin-top:30px}.auth-field{margin:10px 0}.sex-buttons{margin-top:13px}.radio-stage{margin-top:24px;margin-bottom:8px}.preview-button{margin:10px auto 0}.radio-ok.confirmed{background:radial-gradient(circle at 40% 30%,#a2b583,#637e5b);color:#fff8df}
/* A real hinged upper card falls forward over the lower card. */
.flap{display:block;perspective:700px;transform-style:preserve-3d;overflow:visible;background:#20261f}.flap:after{z-index:8;pointer-events:none}.half{position:absolute;left:0;width:100%;height:50%;overflow:hidden;display:block;border-radius:3px;background:linear-gradient(#343b30,#292f26);backface-visibility:hidden;-webkit-backface-visibility:hidden}.half.upper{top:0}.half.lower{top:50%;background:linear-gradient(#252b23,#30372b)}.half-text{position:absolute;left:0;right:0;height:200%;display:flex;align-items:center;justify-content:center;font:inherit;line-height:1;letter-spacing:inherit;white-space:nowrap}.upper>.half-text{top:0}.lower>.half-text{top:-100%}.flip-leaf{position:absolute;z-index:5;left:0;top:0;width:100%;height:50%;transform-origin:50% 100%;transform-style:preserve-3d;animation:card-fall .17s cubic-bezier(.45,.05,.78,.57) both}.flip-leaf>.half{top:0;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden}.flip-leaf>.leaf-front{transform:rotateX(0deg);box-shadow:0 2px 4px #0006}.flip-leaf>.leaf-back{transform:rotateX(180deg);background:linear-gradient(#252b23,#30372b)}.flip-leaf>.leaf-back>.half-text{top:-100%}.flip-leaf:after{content:'';position:absolute;inset:0;background:#000;opacity:0;backface-visibility:hidden;animation:card-shadow .17s both;pointer-events:none}@keyframes card-fall{0%{transform:rotateX(0)}100%{transform:rotateX(-180deg)}}@keyframes card-shadow{0%{opacity:0}55%{opacity:.45}100%{opacity:0}}
@media(max-width:700px){.auth-screen{padding-left:22px;padding-right:22px;overflow-x:hidden}.auth-wrap{width:100%;max-width:390px;min-height:calc(100svh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)));display:flex;flex-direction:column;justify-content:center;gap:0}.auth-intro{width:100%;padding:0 0 12px}.auth-logo{font-size:25px;line-height:31px}.auth-title{font-size:27px;line-height:1.08;letter-spacing:-1px;margin:10px auto 0;max-width:330px}.auth-title br{display:none}.auth-panel{padding:0;max-width:none;margin:0}.auth-tabs{margin-bottom:11px;padding:4px}.auth-tabs button{padding:9px 10px;font-size:13px}.auth-field{margin:0 0 9px}.auth-field input{height:46px;padding:11px 16px;font-size:16px;border-radius:14px}.sex-buttons{gap:10px;margin:11px 0 0}.sex-buttons button{height:41px;box-shadow:0 3px 0 #bfcbbb55}.sex-buttons button.active{box-shadow:0 3px 0 #4a6152}.radio-stage{width:min(calc(100% + 20px),calc((100svh - 365px)*2.13));max-width:410px;margin:22px auto 9px;filter:drop-shadow(0 12px 10px #53644725)}.auth-submit{margin-top:7px;padding:12px 18px;min-height:43px;font-size:13px;box-shadow:0 3px 0 #263d2d,0 5px 11px #38583f22}.preview-button{margin:8px auto 0;padding:3px;font-size:10px}.auth-error{margin-top:6px}.radio-mode{min-height:27px}.radio-slider input{height:40px}.radio-ok{min-height:31px;min-width:31px}.auth-wrap .auth-install{display:none}}
@media(max-width:700px) and (max-height:650px){.auth-intro{padding-bottom:9px}.auth-logo{font-size:22px;line-height:26px}.auth-title{font-size:23px;margin-top:6px;line-height:1.05;max-width:none}.auth-field input{height:42px}.auth-field{margin-bottom:7px}.auth-tabs{margin-bottom:9px}.auth-tabs button{padding:7px}.sex-buttons{margin-top:8px}.sex-buttons button{height:36px}.radio-stage{width:min(100%,calc((100svh - 324px)*2.13));margin-top:20px;margin-bottom:7px}.auth-submit{min-height:39px;padding:9px 16px}.auth-wrap{min-height:calc(100svh - 24px)}}
@media(prefers-reduced-motion:reduce){.auth-wrap,.app,.auth-title,.auth-logo,.radio-stage{transform:none!important}.flip-leaf{animation:none!important}}
/* Keep fixed navigation anchored while every visible group tilts. */
body{perspective:none}.app{transform:none;transform-style:flat}.app>header,.app>main,.app>.theme-bar,.bottom-nav{transform:perspective(1400px) rotateX(var(--tilt-y)) rotateY(var(--tilt-x));transform-style:preserve-3d;transition:transform .13s ease-out}.bottom-nav{transform-origin:50% 100%}.auth-screen{overflow:hidden}.auth-screen:has(.auth-field input:focus){overflow-y:auto}@media(max-width:700px){.auth-wrap{min-height:calc(100svh - 64px)}}@media(prefers-reduced-motion:reduce){.app>header,.app>main,.app>.theme-bar,.bottom-nav{transform:none!important}}
.auth-logo{position:relative}.auth-install-icon{position:absolute;right:0;top:50%;translate:0 -50%;width:34px;height:34px;display:grid;place-items:center;border:1px solid #bfcbbb;border-radius:50%;background:#f4f5ec;color:#607465;box-shadow:0 2px 0 #bfcbbb44}.auth-logo>span{color:#9a6856}@media(display-mode:standalone){.auth-install-icon{display:none}}
.confirm-actions{display:flex;align-items:center;gap:12px;margin:22px 0 6px}.confirm-actions button{width:50%;margin:0;padding:14px}.auth-submit[hidden]{display:none!important}
.bubble:after,.bubble::after{content:none!important;display:none!important}.consent-check{display:flex;gap:10px;align-items:flex-start;margin:16px 0;font-size:12px;line-height:1.6}.consent-check input{margin-top:4px;min-width:16px;min-height:16px}.consent-check a,.policy-link{text-decoration:underline;text-underline-offset:3px}.policy-link{font-size:10px;color:var(--muted)}.mail-wrap{width:min(390px,100%);margin:auto;min-height:calc(100svh - 60px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transform:perspective(1200px) rotateX(var(--tilt-y)) rotateY(var(--tilt-x));transition:transform .13s ease-out}.mail-wrap p{font-size:12px;color:#71806f;line-height:1.8}.mail-wrap .auth-title{font-size:34px;margin:15px 0}.mail-symbol{font-size:75px;color:#789277;line-height:1;margin-top:30px}.mail-wrap .auth-submit{max-width:300px}.mail-wrap .preview-button{margin-top:13px}.mail-wrap #mail-status{min-height:20px}.auth-screen .auth-submit:disabled{opacity:.65}
/* Both tabs share the registration grid; optional controls retain their slots. */
.auth-mode-area{display:flow-root;min-height:300px}.name-ghost{visibility:hidden;pointer-events:none}.auth-policy{display:block;text-align:center;font-size:10px;color:#71806f;text-decoration:underline;text-underline-offset:3px;margin:10px auto 0}.auth-wrap,.app>header,.app>main,.app>.theme-bar,.bottom-nav,.mail-wrap{transition:none}.auth-logo{transform:translateZ(20px)}.auth-title{transform:translateZ(16px)}.radio-stage{transform:translateZ(28px)}
@media(max-width:700px){.auth-mode-area{min-height:calc(83px + min(calc(100vw - 44px),390px)*.47)}.radio-stage{width:min(100%,390px)}.auth-policy{margin-top:9px}}
@media(max-width:700px) and (max-height:650px){.auth-mode-area{min-height:calc(71px + min(calc(100vw - 44px),calc((100svh - 324px)*2.13))*.47)}.radio-stage{width:min(100%,calc((100svh - 324px)*2.13))}}

/* Keep installation visible on the entry screen without adding a layout row. */
.auth-install-icon{width:auto;min-width:34px;padding:0 10px;border-radius:18px;display:flex;gap:5px;font-size:11px;white-space:nowrap}.auth-install-icon svg{width:16px;height:16px}.auth-install-icon span{color:inherit}@media(display-mode:standalone){.auth-install-icon{display:none}}
