@charset "UTF-8";
:root{--ink:#292638;--muted:#898591;--purple:#7554af;--purple-dark:#60418f;--line:#e9e5ed;--paper:#f7f5f0}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ad91d6;outline-offset:4px}button{transition:background .18s,transform .18s}a{color:inherit}.page-shell{max-width:1440px;margin:auto;padding:36px 6.25% 0;min-height:100svh;display:flex;flex-direction:column}.site-header{display:flex;justify-content:space-between;align-items:center}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:750;font-size:29px;letter-spacing:-1.3px}.brand-dot{color:var(--purple);margin-left:-10px}.brand-icon{position:relative;display:grid;place-items:center;width:35px;height:38px;background:var(--purple);color:white;border-radius:12px 12px 12px 4px;font-family:Georgia,serif;font-size:32px;line-height:1;padding-bottom:7px;letter-spacing:-2px}.brand-icon span{position:absolute;top:1px;right:4px;font-size:13px;color:#e9dbff;letter-spacing:0}.header-note{font-size:12px;color:#8c8792;letter-spacing:.1px}.login-layout{display:grid;grid-template-columns:1.12fr 1fr;gap:9%;align-items:center;flex:1;padding:64px 0 62px}.eyebrow,.card-eyebrow{font-size:10px;font-weight:700;letter-spacing:1.75px;color:var(--purple)}.eyebrow{display:flex;align-items:center;gap:9px}.eyebrow>span{width:6px;height:6px;background:var(--purple);border-radius:50%}h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,4.45vw,64px);line-height:1.12;letter-spacing:-2.4px;font-weight:400;margin:22px 0 20px}h1 em{color:var(--purple);font-weight:400}.story-description{font-size:14px;line-height:1.85;color:#827d89;margin:0}.memory-scene{height:302px;position:relative;margin:30px 0 5px;width:100%;max-width:500px}.orbit{position:absolute;border:1px solid #e6dfec;border-radius:50%;width:265px;height:265px;top:6px;left:90px}.orbit-two{width:320px;height:220px;top:42px;left:44px;transform:rotate(-28deg)}.photo{position:absolute;background:#fff;padding:9px 9px 0;box-shadow:0 12px 26px #3e2d4920;border:1px solid #ece7ed;border-radius:3px}.photo img{width:100%;height:100%;object-fit:cover;display:block}.photo-main{width:230px;height:238px;left:153px;top:5px;transform:rotate(9deg);z-index:2}.photo-main img{height:190px}.photo-caption{display:flex;justify-content:space-between;align-items:center;padding:9px 5px;color:#6e6577;font-size:10px;letter-spacing:.2px}.photo-caption>span:last-child{font-size:21px;color:var(--purple);line-height:1}.photo-back{width:190px;height:224px;top:12px;left:28px;transform:rotate(-13deg)}.photo-back .photo-detail{height:181px;object-position:15%;filter:hue-rotate(325deg) saturate(.65);object-fit:cover;width:100%}.photo-back>span{font-family:Georgia,serif;font-style:italic;font-size:11px;display:block;text-align:center;padding-top:9px}.memory-label{position:absolute;z-index:3;left:24px;top:199px;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #efe9f1;border-radius:13px;padding:13px 17px;box-shadow:0 8px 28px #49315710;font-size:10px;color:#8c8596;transform:rotate(-4deg)}.memory-label strong{display:block;color:#51465f;font-size:12px;margin-top:3px;font-weight:600}.label-icon{display:grid;place-items:center;background:#f2edf8;border-radius:50%;width:34px;height:34px;color:var(--purple);font-size:24px}.label-spark{font-size:20px;color:#b49acb;margin-left:10px}.scene-spark{position:absolute;color:#a38abb}.spark-one{left:3px;top:100px;font-size:27px}.spark-two{left:408px;top:40px;font-size:43px}.handwritten{position:absolute;right:26px;bottom:18px;color:#96839f;font:italic 16px Georgia,serif;transform:rotate(-7deg)}.handwritten span{font-size:35px;position:absolute;right:12px;top:-37px;transform:rotate(20deg)}.story-bottom{display:flex;align-items:center;gap:9px;color:#8d8792;font-size:11px}.tiny-star{color:#a58aba;font-size:16px}.login-card{background:#fff;border:1px solid #ebe7ef;border-radius:23px;padding:38px 39px 28px;box-shadow:0 12px 50px #39304405;max-width:450px;width:100%;justify-self:end}.welcome-icon{height:46px;width:46px;border-radius:14px;background:#f2edf8;display:grid;place-items:center;margin-bottom:24px}.welcome-icon svg{width:25px;stroke:var(--purple);stroke-width:1.5}.card-eyebrow{font-size:9px;letter-spacing:1.65px}h2{font-size:27px;font-weight:650;letter-spacing:-.95px;line-height:1.3;margin:10px 0}.login-card h2>span{color:var(--purple)}.card-description{font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 29px}.field{margin-bottom:19px}.field>label{display:block;font-size:11px;font-weight:600;margin-bottom:9px}.input-wrap{height:49px;border:1px solid #e5e1e9;background:#fdfcfe;border-radius:9px;display:flex;align-items:center;padding:0 13px;gap:10px;transition:border-color .2s,box-shadow .2s}.input-wrap:focus-within{border-color:#a58acb;box-shadow:0 0 0 3px #7554af0d}.input-wrap>svg{width:17px;flex:none;stroke:#a09aa9;stroke-width:1.4;fill:none}.input-wrap input{width:100%;min-width:0;outline:none;border:0;background:transparent;font-size:12px;color:var(--ink);height:100%}.input-wrap input::placeholder{color:#aaa4b1}.password-toggle{border:0;background:transparent;color:#a09aa9;padding:4px;display:grid;place-items:center}.password-toggle svg{width:18px;stroke:currentColor;stroke-width:1.4;fill:none}.password-toggle[aria-pressed=true]{color:var(--purple)}.form-options{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:1px 0 24px;font-size:10px}.remember{display:flex;align-items:center;gap:7px;cursor:pointer;color:#7d7687}.text-button{padding:0;border:0;background:none;color:var(--purple);font-size:inherit;font-weight:600;line-height:1.5}.text-button:hover{text-decoration:underline}.submit-button{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;height:49px;border:0;border-radius:9px;color:#fff;background:var(--purple);font-size:12px;font-weight:600;box-shadow:0 4px 9px #7554af15}.submit-button>span{font-size:20px;font-weight:400}.submit-button:hover{background:var(--purple-dark);transform:translateY(-1px)}.register-prompt{text-align:center;font-size:11px;color:#8d8696;margin:23px 0 28px}.register-prompt button{margin-left:3px}.guest-note{border-top:1px solid #efecf2;padding-top:20px;display:flex;gap:10px;align-items:center}.guest-note>span{font-size:25px;color:#ab97bd}.guest-note p{font-size:10px;color:#8d8795;line-height:1.85;margin:0}.guest-note strong{font-weight:400;font-size:9px;color:#a29ba9}.site-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e8e3eb;padding:22px 0 25px;color:#9a939f;font-size:10px}.footer-tag{display:flex;align-items:center;gap:7px}.footer-tag>span{font-size:15px;color:#a58cb8}.form-notice{padding:12px;background:#f4effa;border:1px solid #e4d8f2;border-radius:8px;font-size:12px;line-height:1.6;color:#695180;margin-bottom:20px}dialog{border:1px solid var(--line);border-radius:20px;padding:32px;max-width:400px;width:calc(100% - 40px);color:var(--ink);box-shadow:0 24px 100px #29263830}dialog::backdrop{background:#29263865;backdrop-filter:blur(4px)}dialog h2{font-size:24px}dialog p{font-size:14px;line-height:1.7;color:#82788e;margin-bottom:24px}.dialog-close{position:absolute;right:15px;top:10px;background:none;border:0;font-size:27px;color:#91879e}.dialog-symbol{font-size:30px;color:var(--purple)}
@media(min-width:1500px){.login-layout{padding-top:90px;padding-bottom:90px}}
@media(max-width:1100px){.page-shell{padding:28px 5% 0}.login-layout{gap:5%}.login-card{padding:30px 27px}.memory-scene{transform:scale(.88);transform-origin:left center;margin-right:-40px}h1{font-size:49px}.eyebrow{font-size:8px;letter-spacing:1.3px}}
@media(max-width:800px){.page-shell{padding:24px 6% 0}.header-note{font-size:10px}.login-layout{grid-template-columns:1fr;gap:32px;padding:42px 0}.story{text-align:center}.eyebrow{justify-content:center;font-size:9px}h1{font-size:46px;margin:18px 0 14px}.story-description{font-size:13px}.memory-scene{display:none}.story-bottom{display:none}.login-card{justify-self:center;max-width:430px;padding:30px}.welcome-icon{margin-bottom:19px}.site-footer{font-size:9px;gap:15px}.footer-tag{font-size:9px}}
@media(max-width:420px){.header-note{display:none}.brand{font-size:26px}.login-layout{padding-top:34px;gap:28px}h1{font-size:40px}.eyebrow{font-size:8px;letter-spacing:1px}.login-card{padding:26px 23px;border-radius:19px}h2{font-size:25px}.form-options{font-size:10px}.footer-tag{display:none}.site-footer{justify-content:center}.desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.password-toggle{flex:none;font-size:10px;font-weight:600}
/* Keep focused form controls at a readable size on touch screens. */
@media(max-width:800px),(hover:none){input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]):not([type="hidden"]),select,textarea{font-size:16px!important}}

/* Shared checkbox control: same geometry, colour and interaction on every page. */
html body input[type="checkbox"]{-webkit-appearance:none;appearance:none;box-sizing:border-box;display:inline-block;width:18px;height:18px;min-width:18px;min-height:18px;max-width:18px;max-height:18px;flex:0 0 18px;padding:0;margin:0;vertical-align:middle;border:1.5px solid #c9bed4;border-radius:5px;background-color:#fff;background-image:none;background-position:center;background-size:14px 14px;background-repeat:no-repeat;box-shadow:none;cursor:pointer;transition:background-color .12s,border-color .12s;}
html body input[type="checkbox"]:enabled:hover{border-color:#7554af}
html body input[type="checkbox"]:checked{border-color:#7554af;background-color:#7554af;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 8 3 3 7-7' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
html body input[type="checkbox"]:indeterminate{border-color:#7554af;background-color:#7554af;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8h8' stroke='white' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E")}
html body input[type="checkbox"]:focus-visible{outline:3px solid #ad91d6;outline-offset:3px}
html body input[type="checkbox"]:disabled{opacity:.5;cursor:not-allowed}
@media(prefers-reduced-motion:reduce){html body input[type="checkbox"]{transition:none}}
@media(forced-colors:active){html body input[type="checkbox"],html body input[type="checkbox"]:checked,html body input[type="checkbox"]:indeterminate{-webkit-appearance:auto;appearance:auto;background-image:none;background-color:Canvas;border-color:ButtonText;forced-color-adjust:auto}}
