:root{--purple-950:#3b0764;--purple-900:#4c1d95;--purple-800:#5b21b6;--purple-700:#6d28d9;--purple-100:#ede9fe;--purple-50:#f5f3ff;--page-bg:#f3f4f6;--surface:#fff;--script-bg:#fff;--script-ink:#111827;--script-muted:#6b7280;--script-line:#00000014;--line-highlight:#6d28d924;--line-highlight-border:#6d28d947;--ink:#111827;--muted:#6b7280;--line:#0000001a;--accent:var(--purple-700);--accent-ink:#fff;--danger:#dc2626;--ok:#15803d;--listen:#2563eb;--radius:12px;--radius-sm:8px;--font-body:"DM Sans", system-ui, -apple-system, sans-serif;--font-script:"Courier Prime", "Courier New", monospace;--font-hand:"Pacifico", "Segoe Script", cursive;--app-bar-h:3.5rem;--rehearsal-dock-h:8.75rem;--dock-gap:.75rem;--dialogue-width:100%;--space-page:.75rem;--touch-min:44px}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-y:contain}html,body{min-height:100%;margin:0}body.app{font-family:var(--font-body);color:var(--ink);background:var(--page-bg);-webkit-tap-highlight-color:transparent;padding-top:calc(var(--app-bar-h) + env(safe-area-inset-top,0px));padding-bottom:env(safe-area-inset-bottom,0px)}.ptr-indicator{top:calc(var(--app-bar-h) + env(safe-area-inset-top,0px) - 2.75rem);z-index:180;pointer-events:none;opacity:0;justify-content:center;align-items:center;gap:.5rem;height:2.5rem;transition:opacity .12s;display:flex;position:fixed;left:0;right:0}.ptr-indicator.is-visible{opacity:1}.ptr-spinner{border:2px solid #d1d5db;border-top-color:#111;border-radius:50%;width:1.1rem;height:1.1rem;transform:rotate(0)}.ptr-indicator.is-ready .ptr-spinner{border-top-color:var(--ok)}.ptr-spinner.is-spinning{animation:.7s linear infinite ptr-spin}.ptr-label{color:var(--muted);letter-spacing:.02em;font-size:.78rem;font-weight:600}.ptr-indicator.is-ready .ptr-label{color:var(--ink)}@keyframes ptr-spin{to{transform:rotate(360deg)}}body.view-rehearsal{padding-bottom:calc(var(--rehearsal-dock-h) + var(--dock-gap) + env(safe-area-inset-bottom,0px))}.app-bar{top:var(--vv-top,0px);left:var(--vv-left,0px);z-index:200;height:calc(var(--app-bar-h) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);background:#fff;border-bottom:1px solid #e5e7eb;position:fixed;right:0}.app-bar-inner{height:var(--app-bar-h);grid-template-columns:auto 1fr auto;align-items:center;width:100%;max-width:720px;margin:0 auto;padding:0 .85rem;display:grid}.app-bar-side{align-items:center;gap:.4rem;display:flex}.app-bar-side-end{justify-content:flex-end}.app-wordmark{color:#111;font-family:var(--font-hand);text-align:center;white-space:nowrap;margin:0;font-size:1.55rem;font-weight:400;line-height:1.1}.back-btn-circle,.icon-btn{color:#fff;cursor:pointer;background:#111;border:1px solid #111;border-radius:50%;flex-shrink:0;place-items:center;width:2.125rem;height:2.125rem;padding:0;transition:transform 80ms,opacity .14s;display:grid}.back-btn-circle svg,.icon-btn svg{width:1.05rem;height:1.05rem}.back-btn-circle svg{margin-left:-1px}.back-btn-circle:active,.icon-btn:active{opacity:.85;transform:scale(.94)}.icon-btn.is-active{color:#111;background:#fff;box-shadow:inset 0 0 0 2px #111}.user-menu-wrap{position:relative}.user-menu{z-index:300;text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:12px;gap:.6rem;width:15rem;padding:.75rem;display:grid;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 12px 30px #00000024}.user-menu:before{content:"";background:#fff;border-top:1px solid #e5e7eb;border-left:1px solid #e5e7eb;width:10px;height:10px;position:absolute;top:-5px;right:.85rem;transform:rotate(45deg)}.user-menu-email{overflow-wrap:anywhere;margin:0;font-size:.82rem;font-weight:600}.user-credits{gap:.35rem;display:grid}.user-credits-line{margin:0;font-size:.82rem}.user-credits-note{color:var(--muted);margin:0;font-size:.76rem}.credit-bar{background:#ececec;border-radius:999px;height:6px;overflow:hidden}.credit-bar span{background:#111;height:100%;display:block}.user-menu-item{color:#fff;width:100%;min-height:2.25rem;font:inherit;cursor:pointer;background:#111;border:1px solid #111;border-radius:8px;padding:0 .6rem;font-size:.85rem}.user-menu-item:active{opacity:.85}.library-header{margin-bottom:1rem}.library-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.new-script-btn{flex-shrink:0;min-height:2.5rem;padding-inline:.9rem}.library-title{letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:700}.library-hint{color:var(--muted);margin:.35rem 0 0;font-size:.88rem}.library-section-head{margin-top:2rem}.library-heading-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.group-list{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.group-card{border-radius:var(--radius-sm);background:#fff;border:1px solid #e5e7eb;padding:.85rem .9rem}.group-card-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.group-card-name{margin:0;font-size:1.05rem;font-weight:700}.group-card-meta{color:var(--muted);margin:.25rem 0 0;font-size:.82rem}.group-empty{color:var(--muted);margin:.75rem 0 0;font-size:.88rem}.group-script-list{margin-top:.75rem}.script-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.script-item{display:block}.script-card{width:100%;min-height:var(--touch-min);border-radius:var(--radius);background:var(--surface);color:inherit;border:1px solid #e5e7eb;grid-template-columns:1fr auto;align-items:stretch;gap:.15rem;padding:.35rem .35rem .35rem 1rem;display:grid;position:relative}.script-card-main{width:100%;min-height:var(--touch-min);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.5rem .5rem .5rem 0;display:flex}.script-card-menu{place-items:center;display:grid;position:relative}.script-kebab{width:var(--touch-min);height:var(--touch-min);border-radius:var(--radius-sm);color:#6b7280;cursor:pointer;background:0 0;border:none;place-items:center;padding:0;font-size:1.15rem;line-height:1;display:grid}.script-menu{z-index:30;border-radius:var(--radius-sm);background:var(--surface);border:1px solid #e5e7eb;min-width:10rem;margin-top:.15rem;padding:.35rem;position:absolute;top:100%;right:0;box-shadow:0 10px 30px #0000001f}.btn-danger{color:var(--danger);border-color:#fecaca;margin-top:.65rem}.script-list.compact .script-card{border-radius:var(--radius-sm);padding:.35rem .35rem .35rem .75rem}.script-card-main:active{opacity:.72}.script-card.active{border-color:var(--purple-700);box-shadow:0 0 0 3px #6d28d91f}.script-card-name{font-size:.95rem;font-weight:700}.script-card-meta{color:var(--muted);font-size:.78rem}.new-script-card{border-radius:var(--radius);background:var(--surface);border:1px dashed #d1d5db;margin-top:1rem;padding:1rem}.import-card{gap:.65rem;display:grid}.import-thumbs{grid-template-columns:repeat(3,1fr);gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.import-thumbs li{position:relative}.import-thumbs img{object-fit:cover;border-radius:var(--radius-sm);background:#f3f4f6;border:1px solid #e5e7eb;width:100%;height:5.5rem;display:block}.import-thumb-remove{color:#fff;cursor:pointer;background:#111827bf;border:none;border-radius:999px;width:1.6rem;height:1.6rem;font-size:1rem;line-height:1;position:absolute;top:.2rem;right:.2rem}.import-roles{flex-wrap:wrap;gap:.45rem;display:flex}.import-role.is-selected{background:var(--purple-700);border-color:var(--purple-700);color:#fff}.modal-backdrop{top:var(--vv-top,0px);bottom:0;right:0;left:var(--vv-left,0px);z-index:300;padding:.75rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px));background:#11182773;place-items:center;display:grid;position:fixed}.modal{background:var(--surface);border-radius:var(--radius);width:min(28rem,100%);max-height:min(92dvh,52rem);overflow:auto;box-shadow:0 16px 48px #0003}.modal-head{justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1rem .5rem;display:flex}.modal-title{margin:0;font-size:1.15rem;font-weight:700}.modal-close{width:2.25rem;height:2.25rem;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;place-items:center;padding:0;font-size:1.5rem;line-height:1;display:grid}.modal-body{gap:.75rem;padding:.5rem 1rem 1.15rem;display:grid}.modal-narrow{width:min(22rem,100%)}.cost-prompt-lead{margin:0;font-size:.95rem}.cost-prompt-note{color:var(--muted);margin:0;font-size:.85rem}.modal-back{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;justify-self:start;padding:0;font-size:.88rem}.view-rehearsal-panel[hidden],.view-library-panel[hidden]{display:none!important}.settings-panel{border-radius:var(--radius);background:var(--surface);border:1px solid #e5e7eb;margin-bottom:.85rem;overflow:hidden}.settings-panel-summary{min-height:var(--touch-min);color:var(--ink);cursor:pointer;align-items:center;padding:0 1rem;font-size:.92rem;font-weight:700;list-style:none;display:flex}.settings-panel-summary::-webkit-details-marker{display:none}.settings-panel-summary:after{content:"▾";color:var(--muted);margin-left:auto;transition:transform .16s}.settings-panel[open] .settings-panel-summary:after{transform:rotate(180deg)}.settings-panel-body{border-top:1px solid #f3f4f6;padding:0 1rem 1rem}.main{max-width:720px;padding:var(--space-page);margin:0 auto;padding-bottom:.5rem}.script-section{margin-bottom:.75rem}.script-page{background:var(--script-bg);border-radius:var(--radius-sm);border:1px solid #e5e7eb;padding:1.25rem .85rem 1rem;box-shadow:0 1px 3px #0000000f}.script-page-loading{align-content:start;gap:1.25rem;min-height:22rem;display:grid}.script-loading-kicker{text-align:center;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:600}.page-loading-kicker{padding:4rem 1rem}.script-skeleton{justify-items:center;gap:.55rem;padding:.5rem .75rem 1rem;display:grid}.script-skel-name,.script-skel-line{background:#ececec;border-radius:4px;animation:1.2s ease-in-out infinite script-skel-pulse;display:block}.script-skel-name{width:5.5rem;height:.7rem;margin-top:.65rem}.script-skel-line{width:70%;height:.85rem}.script-skel-mid{width:58%}.script-skel-wide{width:82%}.script-skel-name:first-child,.script-skel-line:nth-child(2){animation-delay:0s}.script-skel-name:nth-child(3),.script-skel-line:nth-child(4){animation-delay:.12s}.script-skel-name:nth-child(5),.script-skel-line:nth-child(6){animation-delay:.24s}.script-skel-name:nth-child(7),.script-skel-line:nth-child(8){animation-delay:.36s}@keyframes script-skel-pulse{0%,to{opacity:.45}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.script-skel-name,.script-skel-line{animation:none}}.ai-quota{text-align:center;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 .85rem;font-size:.78rem;font-weight:600}.ai-quota.is-max{color:var(--danger)}.beats{display:grid}.line-item{cursor:pointer;scroll-margin-top:calc(var(--app-bar-h) + env(safe-area-inset-top,0px) + .75rem);scroll-margin-bottom:calc(var(--rehearsal-dock-h) + var(--dock-gap) + env(safe-area-inset-bottom,0px) + .75rem);border-radius:6px;margin-bottom:.85rem;transition:background .16s,box-shadow .16s;position:relative}.line-item.line-active .dialogue-wrap{background:var(--line-highlight);border-radius:4px}.line-item:last-child{margin-bottom:0}.beat-marker{color:#6b6b6b;font-family:var(--font-script);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:.6rem;margin:.35rem 0 .85rem;font-size:9.5pt;display:flex}.beat-marker:before,.beat-marker:after{content:"";background:repeating-linear-gradient(90deg,#c9c9c9 0 4px,#0000 4px 8px);flex:1;height:1px}.character-name{font-family:var(--font-script);letter-spacing:.04em;text-transform:uppercase;text-align:center;color:var(--script-ink);margin:0 0 .2rem;font-size:11pt;font-weight:700}.dialogue-wrap{width:var(--dialogue-width);margin:0 auto;position:relative}.dialogue-static{width:100%;color:var(--script-ink);font-family:var(--font-script);text-align:center;white-space:pre-wrap;overflow-wrap:anywhere;min-height:1.25em;margin:0;padding:.2rem 0;font-size:11pt;line-height:1.25;display:block}.dialogue-static.is-empty{color:#9ca3af}.dialogue{width:100%;color:var(--script-ink);font-family:var(--font-script);text-align:center;resize:none;field-sizing:content;appearance:none;background:0 0;border:none;outline:none;min-height:1.25em;margin:0;padding:.2rem 0;font-size:16px;line-height:1.25;display:block;overflow:hidden}.dialogue::placeholder{color:#9ca3af}.dialogue:focus{background:#6d28d90a;border-radius:4px}.line-item textarea,.line-item input,.line-item select{cursor:text}.line-item.is-editing{cursor:default;margin-bottom:.9rem}.line-item.is-editing .character-name{text-align:left;letter-spacing:.08em;color:var(--ink);margin:0;font-size:.72rem;font-weight:700}.character-name-row{justify-content:center;align-items:center;gap:.35rem;margin-bottom:.2rem;display:flex}.line-item.is-editing .character-name-row{justify-content:flex-start;margin-bottom:.3rem}.character-name-btn{cursor:pointer;text-underline-offset:2px;background:0 0;border:none;margin:0;padding:0;text-decoration:underline}.character-name-input-row{align-items:center;gap:.4rem;display:flex}.character-name-input-row input{flex:1;min-width:0}.ai-chip{color:#9ca3af;letter-spacing:.04em;cursor:pointer;background:#f9fafb;border:1px solid #d1d5db;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;min-width:1.6rem;height:1.35rem;padding:0 .35rem;font-size:.62rem;font-weight:700;line-height:1;display:inline-flex}button.ai-chip:hover{color:#6b7280;border-color:#9ca3af}.ai-chip.is-on{color:#fff;background:#111;border-color:#111}button.ai-chip.is-on:hover{color:#fff;background:#374151;border-color:#374151}.ai-chip-inline{cursor:default;pointer-events:none;opacity:.45}.ai-chip-inline.is-on{opacity:1}.line-edit-row{grid-template-columns:1fr auto;align-items:start;gap:.4rem;width:100%;display:grid}.dialogue-box{border-radius:var(--radius-sm);text-align:left;background:#fff;border:1px solid #d1d5db;min-height:2.5rem;padding:.55rem .7rem}.dialogue-box:focus{background:#fff;border-color:#111;box-shadow:0 0 0 3px #11111114}.line-menu-wrap{position:relative}.line-kebab{border-radius:var(--radius-sm);color:#6b7280;width:2.25rem;height:2.5rem;font:inherit;cursor:pointer;background:#fff;border:1px solid #d1d5db;place-items:center;padding:0;font-size:1.05rem;line-height:1;display:grid}.line-kebab[aria-expanded=true]{color:#111;border-color:#111}.line-menu{z-index:30;border-radius:var(--radius-sm);background:var(--surface);border:1px solid #e5e7eb;gap:.5rem;width:14rem;padding:.65rem;display:grid;position:absolute;top:calc(100% + .25rem);right:0;box-shadow:0 12px 32px #00000024}.line-menu .line-menu-item{text-align:center;border:1px solid #e5e7eb;min-height:2.25rem;padding:.45rem .5rem;font-size:.85rem;font-weight:600}.line-menu-item.is-danger{color:var(--danger);border-color:#fecaca}.line-menu-item{width:100%;min-height:var(--touch-min);border-radius:var(--radius-sm);color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:.55rem .65rem;font-size:.9rem;display:block}.line-menu-item:active{background:var(--purple-50)}.line-tags{flex-wrap:wrap;justify-content:center;gap:.3rem;margin-top:.4rem;display:flex}.tag-pill{letter-spacing:.04em;text-transform:uppercase;color:var(--script-muted);background:#f9fafb;border:1px solid #e5e7eb;border-radius:999px;padding:.15rem .5rem;font-size:.62rem;font-weight:600}.tone-pill{color:#92400e;background:#fffbeb;border-color:#fde68a}.custom-tone-pill{color:#4338ca;text-transform:none;letter-spacing:0;background:#eef2ff;border-color:#c7d2fe;font-size:.68rem}.wait-pill{color:var(--purple-700);background:var(--purple-50);border-color:#ddd6fe}.wait-label{margin-top:.35rem;display:block}.audio-status{text-align:center;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:-.5rem 0 .95rem;font-size:.72rem;font-weight:600}.audio-status[data-state=ready]{color:var(--ok)}.audio-status[data-state=missing]{color:#92400e}.audio-status[data-state=loading]{color:var(--listen)}.audio-credit-note{text-align:center;color:var(--muted);margin:-.55rem 0 .95rem;font-size:.82rem;line-height:1.35}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.controls{grid-template-columns:1fr;gap:.65rem;margin:0 0 .85rem;display:grid}.field{gap:.35rem;display:grid}.label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600}input,select,textarea{width:100%;min-height:var(--touch-min);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;appearance:none;border:1px solid #e5e7eb;outline:none;padding:.65rem .75rem;font-size:16px}input:focus,select:focus,textarea:focus{border-color:var(--purple-700);box-shadow:0 0 0 3px #6d28d926}.cache-status{color:var(--muted);text-align:center;margin:.65rem 0 0;font-size:.82rem}.cache-status[data-state=error]{color:var(--danger)}.cache-status[data-state=ok]{color:var(--ok)}.btn{appearance:none;min-height:var(--touch-min);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;border:1px solid #e5e7eb;justify-content:center;align-items:center;padding:.6rem 1rem;font-size:.92rem;font-weight:600;transition:background .12s,transform 80ms;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-block{width:100%}.btn-primary{color:#fff;background:#111;border-color:#111}.btn-primary:active:not(:disabled){background:#000}.btn-outline{color:#111;background:#fff;border-color:#111}.app-bar-save{border-radius:999px;min-height:2.125rem;padding:0 .85rem;font-size:.85rem}.btn-ghost{background:0 0}.add-beat{color:var(--muted);border-style:dashed;margin-top:.85rem}.bottom-dock{left:50%;right:auto;bottom:calc(var(--dock-gap) + env(safe-area-inset-bottom,0px));z-index:150;width:min(calc(100vw - 2 * var(--space-page) - 2rem), calc(720px - 2 * var(--space-page) - 2rem));transform:translateX(-50%) translateY(var(--vv-top,0px));-webkit-backdrop-filter:blur(16px);border-radius:var(--radius);background:#fffffff5;border:1px solid #e5e7eb;position:fixed;overflow:hidden;box-shadow:0 8px 32px #0000001f}.monitor-card{border-bottom:1px solid #f3f4f6;padding:.65rem 1rem .5rem}.monitor-top{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.monitor-title{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.68rem;font-weight:700}.meter{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:999px;height:.45rem;margin-bottom:.35rem;overflow:hidden}.meter-fill{border-radius:inherit;background:linear-gradient(90deg, var(--purple-700), #22c55e);width:0%;height:100%;transition:width 60ms linear}.listen-hint{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.78rem;overflow:hidden}.status,.counter{color:var(--muted);margin:0;font-size:.78rem}.status{margin-top:.15rem}.status[data-state=busy]{color:var(--purple-700)}.status[data-state=error]{color:var(--danger)}.status[data-state=ok]{color:var(--ok)}.status[data-state=listen]{color:var(--listen)}.action-bar{align-items:stretch;gap:.5rem;padding:.55rem .75rem .65rem;display:flex}.action-bar .btn{white-space:nowrap;height:2.5rem;min-height:2.5rem;padding-inline:.5rem;font-size:.88rem;line-height:1.2}.action-bar .action-primary{flex:auto;min-width:0}.action-bar .action-skip{flex:none;min-width:4.5rem}.action-bar-solo .action-primary{width:100%}@media (min-width:640px){:root{--space-page:1rem;--dialogue-width:min(22rem, 88%)}.action-bar{max-width:960px;margin:0 auto;padding-inline:1rem}.monitor-card{max-width:960px;margin:0 auto}.app-bar-inner{max-width:none;padding-inline:1.25rem}.main{max-width:960px;padding-inline:1rem}.script-page{padding:1.75rem 1.5rem 1.25rem}.dialogue,.character-name{font-size:12pt}}@media (min-width:900px){body.app{padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px))}body.view-rehearsal{padding-bottom:calc(var(--rehearsal-dock-h) + var(--dock-gap) + env(safe-area-inset-bottom,0px))}.app-bar-inner{padding-inline:1.75rem}.main{max-width:1100px}.modal{max-height:92dvh}.action-bar,.monitor-card{max-width:1100px}.script-page{padding:2rem 2rem 1.5rem}.bottom-dock{left:auto;right:var(--dock-gap);bottom:calc(var(--dock-gap) + env(safe-area-inset-bottom,0px));width:min(340px,100vw - 2rem);transform:none}.action-bar{grid-template-columns:unset;display:flex}.action-bar .btn-primary{order:unset}}body.login-body{font-family:var(--font-body);color:#111;background:#fff;min-height:100dvh}.login-page{isolation:isolate;min-height:100dvh;padding:calc(2rem + env(safe-area-inset-top,0px)) 1.5rem calc(2rem + env(safe-area-inset-bottom,0px));place-items:center;display:grid;position:relative;overflow:hidden}.login-atmosphere{z-index:0;pointer-events:none;position:absolute;inset:0}.login-script{color:#00000012;width:min(32rem,94vw);font-family:var(--font-script);white-space:pre;-webkit-user-select:none;user-select:none;margin:0;font-size:clamp(.82rem,2.7vw,1.05rem);line-height:2.15;animation:1.6s both login-fade;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.login-hero{z-index:1;text-align:center;justify-items:center;gap:1.75rem;width:min(22.5rem,100%);display:grid;position:relative}.login-title{color:#111;font-family:var(--font-hand);letter-spacing:-.01em;margin:0 0 .5rem;font-size:clamp(3.1rem,13vw,4.4rem);font-weight:400;line-height:1.15;animation:.85s cubic-bezier(.22,1,.36,1) .12s both login-rise}.login-tagline{color:#6b7280;margin:0 0 1.25rem;font-size:.95rem;line-height:1.45;animation:.85s cubic-bezier(.22,1,.36,1) .32s both login-rise}.login-hint{z-index:1;color:#6b7280;margin:0;font-size:.9rem;position:relative}.login-error{color:#111;margin:.75rem 0 0;font-size:.85rem}.login-footnote{color:#9ca3af;margin:.5rem 0 0;font-size:.78rem;animation:.85s cubic-bezier(.22,1,.36,1) .72s both login-rise}.btn-google{color:#111;background:#fff;border:1px solid #111;border-radius:999px;gap:.65rem;width:100%;animation:.85s cubic-bezier(.22,1,.36,1) .52s both login-rise}.btn-google:hover:not(:disabled){color:#fff;background:#111}.google-icon{width:1.15rem;height:1.15rem}@keyframes login-fade{0%{opacity:0}to{opacity:1}}@keyframes login-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.login-script,.login-title,.login-tagline,.btn-google,.login-footnote{animation:none}}
