.account{flex:none;width:44px;height:44px;border:0;border-radius:50%;display:grid;place-items:center;background:#222225;color:#f4f4f5;cursor:pointer;position:relative;overflow:hidden}.account:hover{background:#303034}.account svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round}.account img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.account:focus-visible{outline:2px solid #fff;outline-offset:2px}.auth-dialog{width:min(400px,calc(100% - 40px));border:0;border-radius:24px;background:#18181a;color:#fff;padding:var(--sp-5);font:14px/1.5 var(--sans);box-shadow:0 20px 60px #0008}.auth-dialog::backdrop{background:#0009}.auth-dialog h2{font:600 19px var(--sans);color:#fff;letter-spacing:0;text-transform:none;margin:0 38px var(--sp-3) 0}.auth-dialog p{color:#a8a8ae;margin:var(--sp-3) 0}.auth-x{position:absolute;top:15px;right:15px;border:0;border-radius:50%;background:#262629;color:#fff;width:36px;height:36px;cursor:pointer;font-size:20px}.auth-code{font-size:23px;font-weight:700;letter-spacing:.04em;overflow-wrap:anywhere;padding:var(--sp-3);background:#222225;border-radius:14px}.auth-button{display:block;text-align:center;width:100%;border:0;border-radius:999px;padding:13px 16px;background:#2c2c2e;color:#fff;text-decoration:none;font:600 14px var(--sans);cursor:pointer;margin-top:18px}.auth-button.primary{background:#0088ff}.auth-button:hover{filter:brightness(1.1)}.auth-button:disabled{opacity:.5}.auth-status{color:#ff8a80;font-size:13px;margin:var(--sp-2) 0 0}
.account [hidden]{display:none!important}

/* Account and back controls share the home page alignment on every screen. */
.account{width:40px;height:40px;border-radius:12px;position:fixed;top:calc(16px + env(safe-area-inset-top,0px));right:max(20px,calc((100vw - 760px)/2 + 20px));z-index:11}
.top .back{border-radius:14px;background:#232329}
.editor-toolbar{padding-right:50px!important}
@media(min-width:900px){.account{top:24px;right:max(32px,calc((100vw - 1160px)/2 + 32px))}}

#ed.on .bar{padding-right:50px}

.account svg{fill:currentColor;stroke:none}

/* Frame follows the widget itself; no padding, baseline gap or clipping. */
.auth-dialog{box-sizing:border-box;max-height:calc(100dvh - 24px);overflow-y:auto}
.auth-captcha{width:100%;min-width:0;margin:var(--sp-4) 0 var(--sp-2);padding:0;box-sizing:border-box}
.auth-captcha-widget{width:100%;min-width:0;min-height:65px;display:flow-root;line-height:0;border-radius:4px;background:#232325;box-shadow:0 0 0 1px #ffffff26,0 6px 18px #00000026}
.auth-captcha-widget>div{display:block;line-height:0}
.auth-captcha-widget iframe{display:block;vertical-align:top}
.auth-captcha-widget:focus-within{box-shadow:0 0 0 1px #66b6ff80,0 0 0 3px #66b6ff12,0 6px 18px #00000026}
@media(max-width:440px){.auth-dialog{width:calc(100% - 16px);max-width:400px;padding:var(--sp-4) var(--sp-4);border-radius:22px}.auth-captcha{margin-top:var(--sp-4)}}
/* Keep a 300px horizontal panel on 320px screens, inside the dialog. */
@media(max-width:347px){.auth-captcha{width:calc(100% + 28px);margin-left:-14px}}

.content-pending{visibility:hidden;opacity:0;pointer-events:none}
.content-ready{animation:content-appear .18s ease-out}
@keyframes content-appear{from{opacity:0}to{opacity:1}}
.project-list{min-height:180px}
#storage-location,#skin-account{min-height:1.4em}
.island-profile{min-height:40px}
.project-art,.project-art-small{aspect-ratio:1/1}
@media(prefers-reduced-motion:reduce){.content-ready{animation:none}}

html[data-animations=false] *,html[data-animations=false] *::before,html[data-animations=false] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-density=compact] .setting-row{padding:var(--sp-3) var(--sp-3)}
html[data-density=compact] .project-controls{margin-top:var(--sp-3);margin-bottom:var(--sp-3)}
html[data-density=compact] .project-list{gap:var(--sp-1)}
#preference-feedback{position:fixed;z-index:100;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);padding:var(--sp-3) var(--sp-4);border:1px solid #ffffff20;border-radius:14px;background:#222225;color:#fff;font:13px/1.5 var(--sans);box-shadow:0 8px 30px #0007}
#preference-feedback[hidden]{display:none}
.profile-avatar img{display:block;width:100%;height:100%;object-fit:cover}

/* Mini-profile: edge-to-edge cover, overlapping avatar and an always-visible close control. */
.auth-dialog.is-profile{width:min(400px,calc(100% - 32px));max-width:400px;padding:0;border:1px solid #ffffff16;border-radius:24px;overflow-x:hidden;overflow-y:auto;isolation:isolate;animation:profile-open .18s ease-out}
.auth-dialog.is-profile #auth-body{min-width:0}
.auth-dialog.is-profile .auth-x{position:absolute;z-index:10;top:12px;right:12px;width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid #ffffff38;background:#101012b8;color:#fff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 2px 8px #0003;cursor:pointer}
.auth-dialog.is-profile .auth-x:hover{background:#101012e6;border-color:#ffffff70}
.auth-dialog.is-profile .auth-x:focus-visible,.account-settings-link:focus-visible{outline:2px solid #70bdff;outline-offset:3px}
.account-banner{position:relative;width:100%;aspect-ratio:10/3;margin:0;background:#082844}
.account-banner>.account-banner-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.account-banner-avatar{position:absolute;z-index:2;left:24px;bottom:-28px;display:grid;place-items:center;width:76px;height:76px;overflow:hidden;border:4px solid #18181a;border-radius:50%;background:#2c2c2e;color:#d5e9ff;box-shadow:0 2px 10px #0003}
.account-banner-avatar>img{display:block;width:100%;height:100%;object-fit:cover}
.account-banner-avatar>.ui-icon{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.75}
.auth-dialog.is-profile .account-summary{padding:44px 24px 24px}
.auth-dialog.is-profile .account-summary h2{margin:0;font-size:20px;line-height:1.3;letter-spacing:-.02em;overflow-wrap:anywhere}
.auth-dialog.is-profile .account-summary p{margin:5px 0 0;font-size:13px;line-height:1.5;color:#a8a8b3;overflow-wrap:anywhere}
.account-settings-link{display:flex;align-items:center;gap:10px;margin-top:22px;padding:13px 14px;border:1px solid #ffffff12;border-radius:14px;background:#242427;color:#f5f5f7;text-decoration:none;font:500 13px/1.4 var(--sans);transition:background .15s,border-color .15s}
.account-settings-link:hover{background:#303034;border-color:#ffffff25}
.account-settings-link>.ui-icon{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75}
.account-settings-link>span{flex:1}
.account-settings-link>.ui-icon:last-child{width:16px;height:16px;color:#9c9ca7}
.auth-dialog.is-profile .auth-status:empty{display:none}
.auth-dialog.is-profile .auth-status:not(:empty){margin:0;padding:0 var(--sp-5) var(--sp-4)}
@keyframes profile-open{from{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:440px){.account-banner-avatar{left:20px}.auth-dialog.is-profile .account-summary{padding:42px 20px 20px}}
@media(prefers-reduced-motion:reduce){.auth-dialog.is-profile{animation:none}}

/* The disclosure accompanies every Telegram login/registration entry point. */
.login-card .auth-terms,.auth-dialog .auth-terms{margin:var(--sp-2) 0 0;color:#b8b8c2;font:12px/1.5 var(--sans);text-align:center;overflow-wrap:anywhere}
.auth-terms a{color:#9dcaff;text-decoration:underline;text-underline-offset:2px}
.auth-terms a:focus-visible{outline:2px solid #9dcaff;outline-offset:3px}
.auth-dialog.is-profile .auth-terms{display:none}
