:root{--wine:#491822;--gold:#af8d52;--paper:#f6f3ec}body{background:var(--paper);color:#30272a;font-family:Arial,sans-serif}.container{max-width:1240px}.editorial,.signup-story h1{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.045em}.eyebrow{font-size:.65rem;letter-spacing:.2em;font-weight:700;color:#8c7043}.signup-shell{display:grid;grid-template-columns:1fr 1.12fr;max-width:1100px;border-radius:22px;overflow:hidden;background:#fffdf8;box-shadow:0 22px 80px #43142112;border:1px solid #e8e0d4}.signup-story{background:radial-gradient(ellipse at 0 100%,#80433555,transparent 70%),#36121c;color:#f5ebda;padding:46px;display:flex;flex-direction:column;position:relative;overflow:hidden}.signup-story:after{content:'';position:absolute;width:360px;height:360px;border:1px solid #bc986c30;border-radius:50%;right:-180px;top:150px;box-shadow:0 0 0 40px #bc986c09,0 0 0 80px #bc986c06;pointer-events:none}.wordmark{color:#e5c791;text-decoration:none;font:italic 32px Georgia;display:flex;align-items:center;gap:14px}.wordmark span{font:700 10px Arial;letter-spacing:.18em;color:#f5ebda}.story-main{margin:auto 0;padding:75px 0;position:relative;z-index:1}.signup-story h1{font-size:clamp(3rem,5vw,4.9rem);line-height:1.02;margin:24px 0}.signup-story h1 em{color:#d9b47a;font-weight:normal}.story-main>p:last-child{color:#c5b0b1;max-width:285px;font-size:.9rem;line-height:1.8}.story-bottom{border-top:1px solid #ffffff24;padding-top:24px;display:flex;justify-content:space-between;font-size:.6rem;letter-spacing:.12em}.signup-form{padding:46px 50px}.signup-form .form-label{font-size:.78rem;font-weight:600}.form-control{background:#fffcf7;border-color:#e3dcd2}.form-control-lg{font-size:.9rem;min-height:49px}.btn-primary{background:var(--wine);border-color:var(--wine)}.btn-lg{font-size:.9rem;padding:15px}.form-text{font-size:.72rem}.password-meter{height:3px;background:#eee8df;border-radius:4px;overflow:hidden}.password-meter span{height:100%;display:block;background:#997c46;width:0;transition:width .2s}#password-rules{font-size:.65rem!important;color:#8b827b}.dashboard-wrap{max-width:1120px}.dashboard-nav{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:32px;padding-bottom:25px;border-bottom:1px solid #ded5c7}.dashboard-nav .nav-link{font-size:.8rem}.dashboard-hero{background:var(--wine);color:#fff3e4;border-radius:18px;padding:45px;display:flex;justify-content:space-between;gap:25px;align-items:center}.dashboard-hero .eyebrow{color:#dbb884}.dashboard-hero h1{font-size:clamp(2rem,4vw,3.6rem)}.dashboard-hero p:last-child{color:#d5bdc1;margin-bottom:0;line-height:1.8}.hero-symbol{color:#d3ad72;font-size:100px}.card{background:#fffdf8;border:1px solid #e9e1d7;box-shadow:0 6px 25px #32142103}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:23px}.section-heading h2{font-size:2.2rem;margin:0}.empty-state{padding:38px;border:1px dashed #cfc0ab;border-radius:16px;text-align:center;color:#85796a;background:#ffffff55}.album-image{width:100%;height:235px;object-fit:cover;transition:filter .2s}.album-image:hover{filter:brightness(1.06)}.auth-card{margin-top:3vh}button:focus-visible,a:focus-visible{outline:3px solid #b58b45;outline-offset:4px}@media(max-width:767px){.signup-shell{grid-template-columns:1fr}.signup-story{padding:28px}.story-main{padding:25px 0}.signup-story h1{font-size:2.7rem}.story-main>p:last-child,.story-bottom{display:none}.signup-form{padding:30px 24px}.signup-form .mb-5{margin-bottom:1.5rem!important}.dashboard-hero{padding:28px}.hero-symbol{display:none}.section-heading{align-items:start;flex-direction:column}.dashboard-nav .brand{width:100%}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Album kenangan: filmstrip dan viewer layar penuh. */
.memory-album{background:#ebe3d6;border:1px solid #ded1be;border-radius:22px;padding:36px 30px 22px;overflow:hidden}.memory-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}.memory-heading h2{font-size:clamp(2.3rem,4vw,3.5rem);line-height:1.02;margin-bottom:16px}.memory-heading h2 em{font-weight:normal;color:#79513e}.memory-intro{max-width:440px;font-size:.85rem;line-height:1.7;color:#756553;margin:0}.memory-navigation{display:flex;align-items:center;gap:8px;flex-shrink:0}.memory-total{font-size:.7rem;color:#78644e;margin-right:10px}.memory-round{border:1px solid #bba98e;background:transparent;color:#503628;border-radius:50%;width:42px;height:42px;font-size:20px}.memory-round:hover:not(:disabled){background:#491822;color:#fff}.memory-round:disabled{opacity:.3;cursor:default}.memory-rail{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:16px 5px 22px;scrollbar-width:thin;scrollbar-color:#b69b74 transparent}.memory-card{flex:0 0 min(310px,82vw);scroll-snap-align:start;background:#fffdf6;padding:12px 12px 0;box-shadow:0 8px 18px #5b392315;transform:rotate(-1deg);transition:transform .25s,box-shadow .25s}.memory-card:nth-child(even){transform:rotate(1deg)}.memory-card:hover,.memory-card:focus-within{transform:translateY(-5px) rotate(0);box-shadow:0 13px 28px #5b392325}.memory-open{display:block;text-decoration:none;color:#332723}.memory-preview{height:255px;position:relative;background:linear-gradient(130deg,#46212c,#1f1c22);overflow:hidden}.memory-preview img,.memory-preview video{width:100%;height:100%;object-fit:cover}.memory-kind{position:absolute;top:12px;left:12px;color:#fff5e5;background:#21171999;padding:5px 8px;font-size:9px;letter-spacing:.2em;border:1px solid #ffffff44}.memory-expand{position:absolute;right:12px;bottom:12px;width:32px;height:32px;border-radius:50%;background:#fff9e7ed;display:grid;place-items:center;font-size:20px}.memory-play{position:absolute;inset:0;display:grid;place-items:center;color:#eacc97;font-size:64px}.memory-caption{display:flex;gap:14px;padding:20px 4px 22px}.memory-number{font:italic 25px Georgia;color:#b29b7c}.memory-caption h3{font:normal 19px Georgia;margin:0 0 6px;overflow-wrap:anywhere}.memory-caption time{font-size:10px;letter-spacing:.08em;color:#8c7a68}.memory-delete{padding-bottom:12px}.memory-footnote{display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:.13em;color:#8b7860;margin:15px 0 0}.memory-footnote span{letter-spacing:0}.memory-empty{text-align:center;padding:45px 15px;color:#7e6a54}.memory-empty>span{display:block;font-size:40px;color:#a18558;margin-bottom:16px}.memory-empty p{font-size:.85rem}.preview-unavailable:after{content:'Momen ini belum dapat dimuat · Klik untuk mencoba';position:absolute;inset:50% 20px auto;color:#e9d4b8;text-align:center;font-size:12px}.memory-viewer{border:0;padding:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;background:radial-gradient(ellipse at 50% 35%,#322829,#100e11 80%);color:#f8eedc;overflow:hidden}.memory-viewer::backdrop{background:#100e11ef}.viewer-layout{height:100%;display:flex;flex-direction:column;padding:20px 32px max(14px,env(safe-area-inset-bottom))}.viewer-top{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.17em}.viewer-top-detail{font-weight:normal;color:#af9c87}.viewer-close,.viewer-arrow{border:1px solid #dfcba544;background:#1e191cbb;color:#f8eedc;border-radius:50%;display:grid;place-items:center;cursor:pointer}.viewer-close{width:42px;height:42px;font-size:18px}.viewer-close:hover,.viewer-arrow:hover:not(:disabled){background:#6c4b36}.viewer-stage{position:relative;flex:1;min-height:0;margin:16px 0;touch-action:pan-y pinch-zoom;overflow:hidden}.viewer-canvas{height:100%;display:flex;align-items:center;justify-content:center;padding:5px 64px}.viewer-canvas img,.viewer-canvas video{display:block;max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 16px 65px #0007}.viewer-canvas img{background:#241e22}.viewer-canvas video{width:100%;height:100%;box-shadow:none}.viewer-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:24px;z-index:2}.viewer-arrow:disabled{opacity:.2;cursor:default}.viewer-prev{left:0}.viewer-next{right:0}.viewer-feedback{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none;text-align:center;padding:50px 80px;font-size:13px;color:#e6cfac}.viewer-feedback p:not(:empty){background:#151115df;padding:16px;border-radius:10px;max-width:420px}.viewer-feedback p:empty{display:none}.viewer-feedback button{pointer-events:auto;background:#f8eedc;border:0;border-radius:5px;color:#352621;padding:9px 16px}.viewer-bottom{display:flex;align-items:end;justify-content:space-between;gap:24px;flex-shrink:0;max-height:25vh;overflow:auto;padding:5px 64px 16px}.viewer-bottom h2{font-size:clamp(1.3rem,3vw,2.2rem);margin:0;overflow-wrap:anywhere}.viewer-bottom .eyebrow{color:#b8a07a;margin-bottom:7px}.viewer-position{flex-shrink:0;text-align:right}.viewer-position>span{font:italic 26px Georgia;color:#d3b783}.viewer-position p{color:#af9c87;font-size:10px;margin:5px 0 0}.viewer-thumbnails{display:flex;justify-content:flex-start;gap:8px;max-width:100%;margin:0 auto;overflow-x:auto;flex-shrink:0;padding:7px 0;scrollbar-width:thin}.viewer-thumbnails button{flex-shrink:0;border:1px solid #6d5746;background:transparent;color:#b9a48b;border-radius:5px;min-width:38px;height:32px;font:12px Georgia}.viewer-thumbnails button[aria-current=true]{background:#e4c695;color:#2c1e17;border-color:#e4c695}@media(max-width:600px){.memory-album{padding:25px 16px 16px}.memory-heading{display:block}.memory-navigation{margin-top:20px}.memory-card{flex-basis:82%}.memory-preview{height:220px}.memory-footnote{flex-direction:column}.viewer-layout{padding:12px 10px max(12px,env(safe-area-inset-bottom))}.viewer-top-detail{display:none}.viewer-canvas{padding:0}.viewer-arrow{width:38px;height:38px;background:#21181dcc;top:auto;bottom:8px;transform:none}.viewer-prev{left:8px}.viewer-next{right:8px}.viewer-bottom{padding:8px 5px;gap:10px}.viewer-feedback{padding:40px 25px}.viewer-position p{max-width:100px}.viewer-stage{margin:12px 0}.viewer-top{padding:0 5px}}@media(prefers-reduced-motion:reduce){.memory-card{transition:none}.memory-rail{scroll-behavior:auto}}
