@font-face{font-family:'LGW Google Sans';font-style:normal;font-weight:500;font-display:swap;src:url('google-sans-medium.woff2') format('woff2')}
/* Account chrome is shared; the rest of these styles stay within the auth module. */
.auth-google-mark{width:22px;height:22px;flex:none;display:block}
.auth-signin-link{gap:8px;white-space:nowrap}
.auth-signin-link .auth-google-mark{width:19px;height:19px;background:#fff;border-radius:50%;padding:2px}
.auth-account-link{display:flex;align-items:center;gap:9px;min-height:44px;border-radius:13px;font-size:14px;font-weight:700;white-space:nowrap}
.auth-account-link:hover .auth-account-label{color:var(--accent)}
.auth-avatar{display:inline-grid;place-items:center;width:42px;height:42px;flex:none;border-radius:14px;font-size:16px;font-weight:800;border:1px solid #ffffff75;color:#222b2b;letter-spacing:-.04em}
.auth-avatar-mint{background:#c5f277;color:#233118}.auth-avatar-lilac{background:#c7b8ff;color:#33244f}.auth-avatar-sky{background:#90d9df;color:#18383d}.auth-avatar-peach{background:#f9c298;color:#4b2d21}.auth-avatar-rose{background:#f4b6cb;color:#482436}
.auth-app{max-width:1250px;margin:auto}
.auth-feedback{display:flex;align-items:flex-start;gap:12px;border:1px solid #809b6f;background:#303d2e;color:#edffdc;padding:17px 20px;border-radius:14px;margin:0 0 25px}
.auth-feedback .icon{margin-top:3px}.auth-feedback-error{border-color:#bd8394;background:#49313b;color:#ffe0e6}
.auth-welcome{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,440px);gap:clamp(32px,5vw,72px);padding:24px 0 34px;align-items:start}
.auth-welcome h1{font-size:clamp(2.8rem,4.7vw,4.7rem);line-height:1.05;margin:0 0 24px;letter-spacing:-.055em}
.auth-welcome h1 em{font-style:normal;color:var(--purple)}
.auth-welcome-copy>p{font-size:18px;line-height:1.75;margin:0}
.auth-world-art{height:220px;position:relative;margin:8px 0 12px;max-width:510px;isolation:isolate}
.auth-orbit{position:absolute;width:80%;height:72%;top:15%;left:8%;border:1px solid #89839d;border-radius:50%;transform:rotate(-18deg)}
.auth-orbit-two{width:62%;height:90%;left:19%;top:6%;border-color:#667b71;transform:rotate(40deg)}
.auth-art-world{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%) rotate(-8deg);width:108px;height:108px;display:grid;place-items:center;background:linear-gradient(145deg,#d5caff,#a8a1e1);border:2px solid #e2daff;border-radius:34px;box-shadow:0 16px 45px #bca3e121;color:#3c315b}
.auth-art-world .icon{width:67px;height:67px;stroke-width:1.25}
.auth-art-star{position:absolute;color:var(--accent);font-size:36px}.auth-star-one{left:15%;top:7%;transform:rotate(14deg)}.auth-star-two{right:9%;bottom:3%;font-size:47px;color:var(--purple)}
.auth-art-card{position:absolute;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid #7f9292;border-radius:12px;background:#303d3d;font-size:13px;font-weight:700;color:#e1f8ed;box-shadow:0 8px 20px #0d131e45}
.auth-art-code{right:0;top:10%;transform:rotate(6deg);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:#3b334b;border-color:#9486ae;color:#f1e8ff}
.auth-art-voice{left:0;bottom:12%;transform:rotate(-4deg)}.auth-art-card .icon{width:17px;height:17px}.auth-art-dot{position:absolute;width:13px;height:13px;border:3px solid #cadfa7;border-radius:50%;bottom:13%;right:34%;background:#8fa967}
.auth-benefits{list-style:none;padding:0;margin:0;display:grid;gap:21px}.auth-benefits li{display:flex;align-items:flex-start;gap:15px}
.auth-benefits li>span{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;flex:none;border:1px solid #707d6a;background:#30392b;color:var(--accent)}
.auth-benefits li:nth-child(2)>span{color:var(--purple);background:#373145;border-color:#847796}.auth-benefits li:nth-child(3)>span{color:var(--cyan);background:#293a3c;border-color:#6c8a8d}
.auth-benefits strong{font-size:17px;line-height:1.4;display:block;margin:0 0 4px}.auth-benefits p{font-size:15px;line-height:1.65;margin:0}
.auth-entry-card{background:radial-gradient(circle at top right,#6f597638,transparent 48%),var(--panel);border:1px solid #697281;border-radius:26px;padding:32px;box-shadow:0 15px 45px #0a121d30}
.auth-entry-icon{width:51px;height:51px;display:grid;place-items:center;background:var(--accent);color:#25351b;border:1px solid #e8ffbc;border-radius:16px;transform:rotate(-5deg);margin:0 0 25px}.auth-entry-icon .icon{width:28px;height:28px}
.auth-entry-card h2{font-size:30px;line-height:1.15;letter-spacing:-.045em;margin:0 0 15px}.auth-entry-card>p{font-size:16px;line-height:1.75;margin-bottom:25px}
.auth-google-button{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:52px;background:#fff;color:#1f1f1f;border:1px solid #747775;border-radius:12px;padding:12px 16px;font-family:'LGW Google Sans',Arial,sans-serif;font-weight:500;font-size:16px;transition:background .15s,box-shadow .15s}
.auth-google-button:hover:not(:disabled){background:#eef3fe;box-shadow:0 0 0 2px #cbd5ef}.auth-google-button:disabled{background:#e4e7e8;color:#52575b;opacity:1;border-color:#9ca3a8}
.auth-guest-choice{padding:17px;border:1px solid #7e8e77;border-radius:14px;background:#2c352b;margin:2px 0 23px;min-width:0}.auth-guest-choice legend{font-size:14px;font-weight:700;color:#e5f3db;padding:0 5px}.auth-guest-counts{display:flex;flex-wrap:wrap;gap:6px 13px;margin:2px 0 13px;color:#e5f3db;font-size:13px}.auth-guest-counts strong{font-size:16px}
.auth-checkbox{display:flex;gap:11px;align-items:flex-start;cursor:pointer}.auth-checkbox input{min-height:20px;width:20px;height:20px;flex:none;margin:4px 0 0;padding:0}.auth-checkbox strong{font-size:15px;line-height:1.5;display:block}.auth-checkbox small{display:block;font-size:13px;font-weight:400;line-height:1.65;color:#d3dfcf;margin:6px 0 0}.auth-guest-choice>p{font-size:12px;margin:13px 0 0;line-height:1.65;color:#d3dfcf}
.auth-setup-note{border:1px solid #8d869c;border-radius:12px;background:#393444;padding:14px 16px;margin:15px 0 0;color:#ece6f6;font-size:14px;line-height:1.7}.auth-setup-note strong{display:block;font-size:15px;margin-bottom:5px;color:#fff}
.auth-signin-note{font-size:13px;line-height:1.75;text-align:center;margin:16px 0 0}
.auth-entry-divider{position:relative;display:flex;align-items:center;gap:12px;margin:25px 0 19px;color:#c9d1dd;font-size:12px;text-align:center;line-height:1.5}.auth-entry-divider:before,.auth-entry-divider:after{content:'';height:1px;background:#626c79;flex:1;min-width:10px}.auth-entry-divider span{max-width:78%}
.auth-entry-card .auth-guest-note{font-size:13px;line-height:1.75;margin:14px 0 0;text-align:center;color:#cdd6e1}
.auth-entry-card .auth-key-note{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.75;margin:23px 0 0;padding-top:21px;border-top:1px solid #566171;color:#d9e2ed}.auth-key-note .icon{width:19px;height:19px;margin-top:3px;color:var(--purple)}
.auth-profile-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 0 28px}.auth-profile-identity{display:flex;align-items:center;gap:23px;min-width:0}.auth-profile-identity>div{min-width:0}.auth-avatar-large{width:88px;height:88px;border-radius:28px;font-size:34px;box-shadow:0 10px 30px #0d171e38;transform:rotate(-5deg)}
.auth-profile-hero .eyebrow{margin-bottom:10px}.auth-profile-hero h1{font-size:clamp(2.3rem,3.8vw,3.6rem);line-height:1.08;margin:0 0 10px}.auth-profile-hero p{font-size:16px;margin:0}.auth-profile-hero>.button{flex:none}
.auth-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:8px 0 30px}.auth-stat{display:flex;align-items:center;gap:14px;min-width:0;border:1px solid #667180;border-radius:18px;padding:19px 17px;background:linear-gradient(135deg,#2d3440,#252c34)}
a.auth-stat:hover{border-color:var(--purple);background:#333946}.auth-stat-icon{width:43px;height:43px;border:1px solid #81759c;border-radius:13px;display:grid;place-items:center;color:var(--purple);background:#3b334e;flex:none}.auth-stat:nth-child(2) .auth-stat-icon{border-color:#77948c;color:#b5e9d5;background:#2b403a}.auth-stat:nth-child(3) .auth-stat-icon{border-color:#8d926f;color:#dbeab2;background:#3a402b}.auth-stat:nth-child(4) .auth-stat-icon{border-color:#a9818d;color:#facad8;background:#48313e}
.auth-stat>div{display:flex;flex-direction:column;line-height:1.2}.auth-stat strong{font-size:28px;letter-spacing:-.045em;color:#fff}.auth-stat>div>span{font-size:14px;margin-top:7px;color:#d6dee9}.auth-stat-arrow{margin-left:auto;color:#c5d1e1;font-size:18px}
.auth-profile-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,1fr);gap:26px;align-items:start}.auth-panel{min-width:0;padding:28px;border:1px solid #65717f;border-radius:22px;background:radial-gradient(circle at top right,#76658015,transparent 55%),#252c35}
.auth-panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:0 0 26px}.auth-panel-heading .eyebrow{margin:0 0 11px}.auth-panel h2{font-size:26px;margin:0 0 17px;line-height:1.2}.auth-panel-heading h2{margin:0}.auth-panel-heading>.icon{color:var(--purple);width:28px;height:28px;margin:4px 0 0}
.auth-panel label:not(.auth-color-option),.auth-color-choice legend{display:block;font-size:15px;font-weight:700;margin:0 0 10px}.auth-panel input[type=text],.auth-panel input[type=email],.auth-panel textarea{width:100%;min-width:0}.auth-panel input[readonly]{background:#2c333e;color:#dce4ef;border-color:#677686;font-size:15px}
.auth-field-note{font-size:13px;line-height:1.7;margin:10px 0 24px;color:#c9d3e1}.auth-optional{font-size:13px;font-weight:400;color:#c9d3e1;margin-left:4px}.auth-field-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;font-size:12px;line-height:1.6;color:#c9d3e1;margin:8px 0 25px}.auth-field-meta>span:last-child{white-space:nowrap;flex:none;font-variant-numeric:tabular-nums}
.auth-color-choice{border:0;padding:0;margin:0 0 25px;min-width:0}.auth-color-choice legend{padding:0;margin-bottom:13px}.auth-colors{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.auth-color-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;cursor:pointer;line-height:1.3;min-width:0;padding:9px 2px;border:1px solid transparent;border-radius:12px}.auth-color-option:has(input:checked){background:#323946;border-color:#9da8b9}.auth-color-option input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;inset:50% auto auto 50%;margin:0;padding:0}.auth-color-option:has(input:focus-visible){outline:3px solid var(--cyan);outline-offset:3px}.auth-color-swatch{display:grid;place-items:center;width:34px;height:34px;border:1px solid #ffffff80;border-radius:50%;font-size:22px;font-weight:750;color:transparent}.auth-color-option input:checked+.auth-color-swatch{color:#243128}.auth-color-option>span:last-child{font-size:11px;color:#dce5f1;max-width:62px}
.auth-form-feedback{font-size:15px;line-height:1.7;color:#d6f9ae;margin:15px 0}.auth-form-feedback:empty{display:none}.auth-form-error{color:var(--danger);white-space:pre-wrap}.auth-save-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px}.auth-save-row>span{font-size:12px;color:#c9d3e1;flex-basis:100%}
.auth-account-panel{display:grid;gap:22px}.auth-provider-badge{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;margin:0 0 23px;color:#e4ebf5}.auth-provider-badge .auth-google-mark{background:#fff;border-radius:50%;padding:4px;width:30px;height:30px}.auth-account-tip{display:flex;align-items:flex-start;gap:12px;padding:18px 0;border-top:1px solid #536171}.auth-account-tip:last-child{padding-bottom:0}.auth-account-tip .icon{width:20px;height:20px;color:var(--cyan);margin:3px 0 0}.auth-account-tip p{font-size:13px;line-height:1.75;margin:0}.auth-account-tip:last-child .icon{color:var(--purple)}
.auth-session-panel h2{font-size:23px;margin-bottom:11px}.auth-session-panel>p{font-size:14px;line-height:1.75;margin-bottom:20px}.auth-other-sessions{margin-top:18px;border-top:1px solid #536171;padding-top:10px}.auth-other-sessions summary{cursor:pointer;font-size:13px;min-height:44px;align-content:center;font-weight:650;color:#d7e4fa}.auth-other-sessions p{font-size:13px;line-height:1.7;margin:8px 0 14px}.auth-session-confirm{padding:13px;margin-top:10px;border:1px solid #80798d;border-radius:12px;background:#353241}.auth-session-confirm>div{display:flex;gap:8px;flex-wrap:wrap}.auth-session-confirm button{font-size:12px}
.auth-worlds{margin:39px 0 20px;scroll-margin-top:24px}.auth-worlds-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}.auth-worlds-heading .eyebrow{margin-bottom:10px}.auth-worlds-heading h2{font-size:30px;margin:0 0 11px}.auth-worlds-heading p{font-size:15px;margin:0}.auth-worlds-heading>.button{flex:none}.auth-world-list{border:1px solid #626e7c;border-radius:20px;overflow:hidden;background:#252c35}.auth-world-row{display:flex;align-items:center;gap:17px;padding:22px;border-bottom:1px solid #535f6e}.auth-world-row:last-child{border-bottom:0}.auth-world-symbol{display:grid;place-items:center;width:51px;height:51px;flex:none;border-radius:15px;border:1px solid #8f85a9;background:#3b354c;color:var(--purple)}.auth-world-copy{min-width:0;flex:1}.auth-world-copy h3{font-size:18px;margin:0 0 10px}.auth-world-copy h3 a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.auth-world-copy>div{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px;color:#d5deec}.auth-world-actions{display:flex;gap:8px;flex-wrap:wrap}.auth-world-actions .button{font-size:13px}
.auth-worlds-empty{display:flex;align-items:center;gap:22px;padding:30px;border:1px dashed #828a9e;border-radius:20px;background:#252c35}.auth-worlds-empty>.icon{width:48px;height:48px;color:var(--purple)}.auth-worlds-empty>div{flex:1;min-width:0}.auth-worlds-empty h3{margin:0 0 9px;font-size:22px}.auth-worlds-empty p{font-size:15px;margin:0}.auth-worlds-empty>.button{flex:none}
@media(max-width:1200px){.auth-account-label{display:none}.auth-welcome{gap:30px;grid-template-columns:minmax(0,1fr) minmax(315px,.9fr)}.auth-entry-card{padding:25px}.auth-welcome h1{font-size:3.6rem}.auth-panel{padding:23px}.auth-profile-grid{gap:20px;grid-template-columns:minmax(0,1.2fr) minmax(285px,1fr)}.auth-stat{padding:16px 13px;gap:10px}.auth-stat-icon{width:35px;height:39px}.auth-stat-arrow{display:none}.auth-colors{gap:3px}}
@media(max-width:760px){.auth-welcome{grid-template-columns:minmax(0,1fr);gap:32px;padding:10px 0 20px}.auth-welcome-copy>p{font-size:17px}.auth-welcome h1{font-size:clamp(3rem,9vw,4.3rem)}.auth-world-art{height:190px;margin:10px 0}.auth-benefits{gap:16px}.auth-entry-card{padding:29px}.auth-welcome-copy{display:contents}.auth-welcome-copy>.eyebrow,.auth-welcome-copy>h1,.auth-welcome-copy>p{margin-bottom:0}.auth-welcome{gap:20px}.auth-world-art{display:none}.auth-benefits{grid-row:5;margin-top:8px}.auth-entry-card{grid-row:4;margin-top:4px}.auth-profile-hero{align-items:flex-start;flex-direction:column;padding-top:8px}.auth-avatar-large{width:68px;height:68px;border-radius:23px;font-size:29px}.auth-profile-identity{gap:17px}.auth-profile-hero h1{font-size:2.5rem}.auth-profile-hero .eyebrow{font-size:10px}.auth-profile-hero p{font-size:14px}.auth-profile-grid{grid-template-columns:1fr}.auth-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:24px}.auth-stat-arrow{display:block}.auth-account-panel{grid-template-columns:1fr}.auth-color-choice{margin-bottom:23px}.auth-colors{gap:8px}.auth-color-option>span:last-child{font-size:12px}.auth-worlds-heading{align-items:flex-start;flex-direction:column;gap:15px}.auth-worlds-empty{flex-wrap:wrap;padding:25px;gap:16px}.auth-worlds-empty>div{flex-basis:calc(100% - 70px)}.auth-worlds-empty>.button{width:100%}.auth-world-row{flex-wrap:wrap;gap:14px;padding:20px}.auth-world-actions{margin-left:65px}.auth-world-symbol{width:44px;height:46px}.auth-world-copy{flex-basis:calc(100% - 60px)}}
@media(max-width:480px){.auth-signin-link{padding:9px 10px!important;font-size:13px!important;min-height:44px;gap:6px}.auth-signin-link .auth-google-mark{width:17px;height:17px}.auth-account-link .auth-avatar{width:38px;height:40px;border-radius:12px}.auth-profile-hero h1{font-size:2.1rem}.auth-profile-identity{gap:14px}.auth-avatar-large{width:61px;height:63px;border-radius:20px;font-size:25px}.auth-profile-hero>.button{width:100%}.auth-entry-card{padding:24px 21px;border-radius:21px}.auth-entry-card h2{font-size:28px}.auth-guest-choice{padding:13px}.auth-panel{padding:22px 19px;border-radius:19px}.auth-panel h2{font-size:24px}.auth-colors{gap:2px}.auth-color-option>span:last-child{font-size:10px}.auth-stat{padding:15px 11px;gap:10px}.auth-stat-icon{width:34px;height:37px;border-radius:11px}.auth-stat-icon .icon{width:18px}.auth-stat strong{font-size:24px}.auth-stat>div>span{font-size:12px}.auth-stat-arrow{font-size:15px}.auth-profile-hero p{font-size:13px}.auth-world-copy h3{font-size:17px}.auth-world-actions{margin-left:0;width:100%}.auth-world-actions>.button{flex:1}.auth-worlds-heading h2{font-size:27px}.auth-worlds-empty{padding:23px 19px}.auth-worlds-empty h3{font-size:20px}.auth-field-meta{font-size:11px}.auth-save-row>.button{width:100%}}
@media(prefers-reduced-motion:reduce){.auth-google-button{transition:none}}


/* Google renders the primary sign-in button. The native redirect remains available below it. */
.auth-js-signin{margin:5px 0 0;min-width:0}.auth-js-signin[aria-busy=true]{cursor:progress}
#auth-google-js-button{display:flex;justify-content:center;min-height:44px;width:100%;min-width:0;overflow:hidden;border-radius:8px}
#auth-google-js-button>div{max-width:100%}.auth-js-status{font-size:13px;line-height:1.7;text-align:center;color:#d4dfed;margin:13px 0 4px}.auth-js-status:empty,.auth-js-error:empty{display:none}
.auth-js-error{font-size:14px;line-height:1.7;margin:13px 0 0}.auth-js-signin>.text-button{display:block;margin:7px auto 0;text-align:center}
.auth-redirect-fallback{border-top:1px solid #5c6877;margin:17px 0 0;padding-top:7px}.auth-redirect-fallback summary{cursor:pointer;min-height:44px;align-content:center;font-size:13px;font-weight:650;color:#d4e1f4}.auth-redirect-fallback>p{font-size:13px;line-height:1.7;margin:8px 0 15px}.auth-redirect-fallback .auth-google-button{min-height:46px;font-size:14px}
