/* A tiny paper cast welcomes the director. Everything stays local and CSS-driven. */
#login-screen{display:none}.login-mode #login-screen{display:block}.login-mode>main,.login-mode>.sidebar{display:none}
.login-header,.login-footer{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:28px 5%}.login-header .brand{padding:0}.motion-control{display:flex;align-items:center;gap:8px;font-size:11px;color:#68725d;cursor:pointer}.motion-control input{accent-color:#52673d}
.login-layout{max-width:1320px;margin:10px auto 0;display:grid;grid-template-columns:1.12fr 1fr;min-height:670px;border:1px solid #dce1d1;border-radius:24px;overflow:hidden;background:var(--paper)}
.login-world{position:relative;overflow:hidden;padding:42px 42px 30px;background:#e2e8d5;background-image:radial-gradient(#a6b19155 .7px,transparent .7px);background-size:14px 14px;display:flex;flex-direction:column}
.world-caption,.login-kicker{font-size:9px;letter-spacing:2px;color:#61704f;font-weight:600}.login-world h2{font-family:Manrope,sans-serif;font-size:clamp(36px,4.2vw,59px);line-height:1.1;letter-spacing:-2px;font-weight:500;margin:28px 0 0;z-index:1}.login-world h2>span{color:#879853}
.paper-cast{position:relative;height:300px;margin:16px 0 10px}.paper-friend{position:absolute;width:170px;height:207px;border:2px solid #2e3a2b;border-radius:3px 3px 18px 3px;box-shadow:6px 7px 0 #3b4d3020;padding:17px;z-index:2;transform-origin:50% 100%}.friend-back{left:9%;top:40px;background:#fffef5;transform:rotate(-12deg);animation:paper-sway 6s ease-in-out infinite}.friend-front{right:8%;top:77px;background:#d4eb83;transform:rotate(11deg);animation:paper-bob 5s ease-in-out infinite}.panel-number{font-size:8px;letter-spacing:1px;border-bottom:1px solid #41503955;display:block;padding-bottom:10px}.friend-face{position:absolute;top:77px;left:39px;width:87px;height:66px}.friend-face i{display:block;position:absolute;top:6px;width:9px;height:16px;border-radius:50%;background:#293b28;animation:paper-blink 7s infinite}.friend-face i:nth-child(2){right:7px}.friend-face b{position:absolute;width:26px;height:13px;border-bottom:3px solid #293b28;border-radius:50%;left:29px;top:33px}.friend-back .friend-face b{width:12px;left:35px}.friend-caption{position:absolute;bottom:17px;font-size:10px;font-style:italic}.speech-bubble{position:absolute;right:0;top:0;z-index:3;background:#fffef5;border:1px solid #4e6145;border-radius:50% 50% 50% 6px;padding:16px;font-size:12px;transform:rotate(7deg);animation:bubble-arrive .7s .3s both}.paper-shadow{position:absolute;bottom:1px;left:14%;width:76%;height:19px;border-radius:50%;background:#5367471a;filter:blur(5px)}.doodle-star{position:absolute;color:#566c3e;font-size:42px}.star-one{left:0;bottom:22px;animation:star-turn 18s linear infinite}.star-two{right:6%;top:43px;font-size:25px}.orbit-note{position:absolute;left:5%;top:0;font-size:11px;font-style:italic;transform:rotate(-7deg)}.scribble-arrow{position:absolute;right:0;bottom:0;font-size:58px;color:#637647;transform:rotate(20deg)}.world-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:auto}.handwritten{font-size:12px;font-style:italic;color:#657554;max-width:200px;line-height:1.7}.edition-stamp{border:1px solid #81936b;border-radius:50%;padding:16px 10px;text-align:center;font-size:8px;letter-spacing:1px;line-height:1.6;transform:rotate(-12deg)}
.login-desk{padding:65px 52px 25px;display:flex;flex-direction:column;justify-content:center;min-width:0}.login-desk #account{border:0;padding:0;background:transparent}.login-desk h1{font-size:38px;letter-spacing:-1.5px;margin:19px 0 14px;line-height:1.2}.login-desk .login-description{font-size:13px;color:#7b8270;line-height:1.9;margin-bottom:26px}.login-desk .production-card label{font-size:11px;margin:18px 0}.login-desk input:not([type=checkbox]){height:46px;transition:border-color .2s,box-shadow .2s}.login-desk input:focus{border-color:#809a54;box-shadow:0 0 0 4px #d4eb8333}.login-desk .buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.login-desk #signin{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;height:48px;font-size:13px}.login-desk #signup,.login-desk #reset{background:transparent;border-color:#dce1d3;font-size:11px}.login-desk .account-fineprint{font-size:10px;line-height:1.8;margin-top:21px;color:#7b8270}.login-bottom{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:23px;margin-top:28px;font-size:9px;color:#79816d}.login-bottom a{white-space:nowrap;color:#53683c}.login-footer{font-size:9px;letter-spacing:.6px;border:0;margin:0 auto}.login-footer nav{display:flex;gap:22px}.login-footer a{text-decoration:none}#auth-notice:empty{display:none}#auth-notice{font-size:12px;padding:12px;border:1px solid #d4dac7;border-radius:7px;background:#edf1df;line-height:1.7}
.production-card,.feature-card{animation:card-arrive .5s both}.feature-card{animation-delay:.08s}button{transition:background .18s,transform .18s,box-shadow .18s}button:hover:enabled{transform:translateY(-2px);box-shadow:0 4px 10px #2e422514}button:active:enabled{transform:translateY(0)}.nav-item:hover:enabled{box-shadow:none}.dropzone{transition:background .2s,border-color .2s,transform .2s}.dropzone.dragging{transform:scale(1.015)}.login-desk:focus-within .friend-face i{animation-play-state:paused}
@keyframes card-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes bubble-arrive{from{opacity:0;transform:translateY(8px) rotate(7deg) scale(.94)}to{opacity:1;transform:translateY(0) rotate(7deg) scale(1)}}@keyframes paper-sway{0%,100%{transform:rotate(-12deg) translateY(0)}50%{transform:rotate(-9deg) translateY(-6px)}}@keyframes paper-bob{0%,100%{transform:rotate(11deg) translateY(0)}50%{transform:rotate(8deg) translateY(-10px)}}@keyframes paper-blink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.12)}}@keyframes star-turn{to{transform:rotate(360deg)}}
@media(max-width:1100px){.login-layout{margin:10px 24px 0}.login-world{padding:32px 26px}.login-desk{padding:48px 30px 28px}.paper-friend{width:145px}.friend-face{left:26px}.friend-back{left:3%}.friend-front{right:3%}.speech-bubble{font-size:10px}}
@media(max-width:760px){.login-layout{grid-template-columns:1fr;max-width:480px;margin:6px auto 0;min-height:0}.login-world{padding:24px 28px;min-height:240px}.login-world h2{font-size:32px;letter-spacing:-1px;margin-top:20px;max-width:190px}.world-caption{font-size:7px}.paper-cast{position:absolute;width:225px;right:5px;top:53px;height:170px;transform:scale(.64);transform-origin:100% 50%;margin:0}.paper-friend{height:190px}.friend-back{left:-26%;top:0}.friend-front{right:4%;top:28px}.speech-bubble{top:-27px;right:-5px}.orbit-note,.world-footer,.star-one,.scribble-arrow{display:none}.login-desk{padding:30px 28px}.login-desk h1{font-size:31px}.login-bottom{font-size:9px}.login-header{padding:21px 24px}.login-header .brand{font-size:27px}.login-header .brand-mark{font-size:29px}.login-header .brand-dot{display:block}.login-footer{padding:24px;gap:20px}.login-footer>span{font-size:8px}.login-footer nav{gap:14px}.login-footer>nav{display:flex}.login-kicker{font-size:8px}}
@media(max-width:520px){.login-layout{margin:0 14px}.login-world h2{font-size:29px}.login-world{min-height:205px;padding:23px}.paper-cast{right:4px;top:33px;transform:scale(.53)}.login-desk{padding:29px 23px}.login-desk .buttons{gap:8px}.login-footer{padding:24px 18px;letter-spacing:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.less-motion *,.less-motion *::before,.less-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}

/* Auth restoration never paints the wrong account screen or an empty project. */
.auth-pending>#login-screen,.auth-pending>main,.auth-pending>.sidebar{display:none!important}
.session-restored .production-card,.session-restored .feature-card{animation:none!important}
#startup-error{max-width:420px;margin:20vh auto;padding:28px;background:var(--paper);border:1px solid var(--line);border-radius:12px;line-height:1.8}#startup-error h2{margin-bottom:16px}#startup-error p{font-size:13px}
