:root {
  --bg:#f6f9ff;--surface:rgba(255,255,255,.84);--text:#10213d;--muted:#687990;
  --primary:#17498f;--primary2:#2775cc;--soft:#e5efff;--line:rgba(26,74,139,.14);
  --shadow:0 25px 80px rgba(23,73,143,.12);--serif:Georgia,"Times New Roman",serif;
  --script:"Brush Script MT","Segoe Script","Snell Roundhand",cursive;
}
[data-theme=romantic] {
  --bg:#fff8f9;--surface:rgba(255,255,255,.88);--text:#3d1e2b;--muted:#856873;
  --primary:#a9144f;--primary2:#e63b79;--soft:#fde8f0;--line:rgba(169,20,79,.14);
  --shadow:0 25px 80px rgba(122,25,67,.12);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 10% 5%,color-mix(in srgb,var(--soft) 75%,transparent),transparent 32rem),var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;min-height:100vh}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:13px;padding:.85rem 1rem;background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text);outline:none}input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--primary2) 50%,transparent);outline-offset:3px}label{display:grid;gap:.45rem;font-size:.85rem;font-weight:700}.section-shell{width:min(1160px,calc(100% - 2rem));margin-inline:auto}.eyebrow{margin:0;color:var(--primary2);font-size:.69rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase}.brand-mark{font-family:var(--serif);font-size:2rem;letter-spacing:.06em}.brand-mark span{color:#ed4c84}.primary-button,.secondary-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;border:0;border-radius:999px;padding:.9rem 1.4rem;font-weight:800}.primary-button{background:linear-gradient(135deg,var(--primary),var(--primary2));color:white;box-shadow:0 12px 30px color-mix(in srgb,var(--primary) 20%,transparent)}.primary-button:hover{transform:translateY(-2px)}.secondary-button{border:1px solid var(--line);background:var(--surface)}.danger-button{background:#a20f3b;color:white}.form-stack{display:grid;gap:1rem}.form-grid{display:grid;grid-template-columns:1fr .45fr;gap:1rem}.form-error,.flash{border-radius:14px;padding:1rem;font-size:.9rem}.form-error,.flash.error{background:#fee2e2;color:#991b1b}.flash.success{background:#dcfce7;color:#166534}.flash{position:fixed;z-index:300;top:1rem;left:50%;transform:translateX(-50%);box-shadow:var(--shadow)}small{color:var(--muted)}

/* installer + lock */
.install-page,.gate-page,.admin-login-page{background:#091a35 url("../assets/romantic-hero.png") center/cover fixed no-repeat}.install-shell,.gate-shell,.admin-login-shell{min-height:100vh;display:grid;place-items:center;padding:2rem;background:linear-gradient(rgba(5,18,41,.4),rgba(5,12,28,.72))}.install-card,.gate-card,.admin-login-card{width:min(560px,100%);padding:2.5rem;border:1px solid rgba(255,255,255,.2);border-radius:32px;background:rgba(10,28,59,.74);color:#fff;box-shadow:0 35px 110px rgba(0,0,0,.35);backdrop-filter:blur(20px)}.install-card h1,.gate-card h1,.admin-login-card h1{font:2.6rem/1.05 var(--serif);margin:.8rem 0 1rem}.install-card>p,.gate-card>p,.admin-login-card>p{color:#d5deeb;line-height:1.7}.install-card label,.gate-card label,.admin-login-card label{color:#eef4ff}.install-card input,.gate-card input,.admin-login-card input{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}.install-card small,.gate-card small{display:block;text-align:center;margin-top:1.2rem;color:#bcc9da}.gate-card{text-align:center}.gate-mark{font-size:5.6rem;margin:1rem 0}.heartbeat{display:flex;align-items:center;justify-content:center;gap:.6rem;color:#ff8bb3}.heartbeat i{width:28%;max-width:100px;height:1px;background:linear-gradient(90deg,transparent,#ff8bb3)}.heartbeat i:last-child{transform:rotate(180deg)}.heartbeat b{animation:pulse 1.6s infinite}.gate-form{display:grid;gap:1rem;margin:1.8rem 0 0}.gate-form input{text-align:center;font-size:1.45rem;letter-spacing:.35em}.petal{position:fixed;color:rgba(255,150,190,.45);font-size:3rem;animation:drift 7s ease-in-out infinite}.petal-one{left:8%;top:15%}.petal-two{right:10%;top:25%;animation-delay:-2s}.petal-three{left:16%;bottom:14%;animation-delay:-4s}

/* intro */
.intro-overlay{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:1rem;background:linear-gradient(rgba(4,14,33,.22),rgba(4,10,25,.52)),url("../assets/romantic-hero.png") center/cover;transition:opacity .65s,transform .65s}.intro-overlay.leaving{opacity:0;transform:scale(1.035)}.intro-panel{width:min(600px,100%);padding:3.2rem 2rem;text-align:center;border:1px solid rgba(255,255,255,.22);border-radius:44px;background:rgba(6,22,50,.45);color:white;box-shadow:0 40px 120px rgba(0,0,0,.38);backdrop-filter:blur(18px)}.intro-mark{font-size:6rem;margin:1.3rem 0}.intro-panel h1{font:clamp(2.3rem,5vw,4rem)/1.05 var(--serif);margin:1.5rem 0}.intro-panel>p:not(.eyebrow){max-width:460px;margin:0 auto 2rem;color:#e2e9f2;line-height:1.7}.intro-panel small{display:block;margin-top:1.25rem;color:#cbd6e5;letter-spacing:.18em}.intro-stars{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 20% 25%,rgba(255,255,255,.65) 0 1px,transparent 2px),radial-gradient(circle at 75% 18%,rgba(255,220,235,.7) 0 1px,transparent 2px),radial-gradient(circle at 82% 78%,rgba(255,255,255,.5) 0 1px,transparent 2px);background-size:210px 180px;animation:starMove 20s linear infinite}

/* visitor */
.site-header{position:sticky;top:0;z-index:50;height:76px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 max(1rem,calc((100% - 1160px)/2));border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:blur(20px)}.site-logo{display:flex;align-items:center;gap:.65rem}.site-logo>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--primary);color:white}.site-logo b{font:1.1rem var(--serif)}.site-logo i{color:var(--primary2);font-style:normal}.site-header nav{display:flex;gap:1.6rem}.site-header nav a{position:relative;padding:.5rem 0;color:var(--muted);font-size:.78rem;font-weight:800}.site-header nav a:after{content:"";position:absolute;left:50%;right:50%;bottom:0;height:2px;background:var(--primary2);transition:.25s}.site-header nav a:hover:after,.site-header nav a.active:after{left:0;right:0}.header-actions{display:flex;align-items:center;gap:.5rem}.header-actions form{display:flex}.icon-button,.theme-button{height:40px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text)}.icon-button{display:grid;place-items:center;width:40px;font-size:1.3rem}.theme-button{padding:0 .85rem}.admin-link{padding:.7rem 1rem;border-radius:999px;background:var(--primary);color:white;font-size:.75rem;font-weight:800}.mobile-menu{display:none;border:0;background:transparent;color:var(--text);font-size:1.4rem}.hero{min-height:720px;display:grid;grid-template-columns:1.05fr .95fr;gap:5rem;align-items:center;padding-block:5rem}.couple-badges{display:flex;align-items:center;gap:.8rem;margin-bottom:1.5rem}.couple-badges span{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;border:2px solid white;background:var(--soft);color:var(--primary);font:1.2rem var(--serif);box-shadow:0 8px 25px var(--line)}.couple-badges b{color:var(--primary2)}.hero h1{max-width:660px;margin:.7rem 0 1.2rem;font:clamp(3rem,6vw,5.3rem)/.98 var(--serif);letter-spacing:-.055em}.hero-description{max-width:610px;color:var(--muted);font-size:1.05rem;line-height:1.8}.hero-buttons{display:flex;flex-wrap:wrap;gap:.75rem;margin:2rem 0}.counter-card{display:flex;max-width:500px;padding:1rem 0;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.counter-card div{flex:1;text-align:center;border-right:1px solid var(--line)}.counter-card div:last-child{border:0}.counter-card strong{display:block;color:var(--primary2);font:2.2rem var(--serif)}.counter-card span{font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}.hero-art{position:relative;display:grid;place-items:center}.polaroid{padding:12px 12px 2.8rem;background:#fff;color:#422433;box-shadow:0 30px 80px rgba(31,27,47,.22)}.hero-polaroid{width:min(430px,88%);transform:rotate(3deg)}.polaroid>p{text-align:center;margin:.8rem 0 -1.8rem;font:1.55rem var(--script)}.photo-placeholder,.album-cover{display:grid;place-items:center;min-height:360px;background:radial-gradient(circle at 70% 20%,#7db6ff,transparent 22%),linear-gradient(145deg,var(--primary),var(--primary2));color:rgba(255,255,255,.85);text-align:center}.memory-sticker{position:absolute;padding:.85rem 1rem;border-radius:13px;background:var(--surface);box-shadow:var(--shadow);font-size:.72rem;font-weight:900}.sticker-one{left:-1rem;top:16%;transform:rotate(-7deg)}.sticker-two{right:-.5rem;bottom:18%;transform:rotate(5deg)}.love-note{display:grid;grid-template-columns:.6fr 1fr;gap:3rem;align-items:center;margin-block:5rem;padding:3rem;border-radius:28px;background:repeating-linear-gradient(#fff 0 29px,#f9d9e5 30px);color:#482333;box-shadow:0 30px 80px rgba(128,34,77,.12)}.love-note h2{margin:.7rem 0 0;font:3rem/1 var(--script)}.love-note blockquote{margin:0;padding-left:2rem;border-left:1px solid #e8b1c4;font:italic 1.05rem/1.8 var(--serif)}.love-note cite{display:block;margin-top:1rem;text-align:right;color:#bb2862}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:2rem}.section-heading h2,.timeline-preview>h2,.page-hero h1{margin:.5rem 0 0;font:clamp(2.2rem,4vw,3.6rem)/1 var(--serif);letter-spacing:-.035em}.section-heading>a{color:var(--primary2);font-size:.8rem;font-weight:800}.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.album-card,.empty-card{padding:.7rem;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:0 12px 35px var(--line);transition:.3s}.album-card:hover{transform:translateY(-6px) rotate(-.4deg);box-shadow:var(--shadow)}.album-cover{min-height:250px;border-radius:15px;overflow:hidden}.album-cover img{width:100%;height:250px;object-fit:cover}.album-cover span{font:4rem var(--serif)}.album-card small{display:block;margin:1rem .6rem .3rem;color:var(--primary2);font-size:.65rem;font-weight:900;text-transform:uppercase}.album-card h2,.album-card h3{margin:.3rem .6rem;font:1.5rem var(--serif)}.album-card p{margin:.3rem .6rem 1rem;color:var(--muted);font-size:.75rem}.empty-card{grid-column:1/-1;text-align:center;padding:4rem}.empty-card>span{font-size:3rem;color:var(--primary2)}.story-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:1.5rem;margin-block:7rem}.timeline-preview,.quote-card,.special-card,.song-card{border:1px solid var(--line);border-radius:25px;background:var(--surface);box-shadow:0 15px 45px var(--line)}.timeline-preview{padding:2.2rem}.timeline-preview article{display:grid;grid-template-columns:90px 1fr;gap:1rem;padding:1.1rem 0}.timeline-preview time{color:var(--primary2);font-size:.68rem;font-weight:900}.timeline-preview article>div{position:relative;padding-left:1.3rem;border-left:1px solid var(--line)}.timeline-preview article>div:before{content:"";position:absolute;left:-5px;top:4px;width:9px;height:9px;border-radius:50%;background:var(--primary2)}.timeline-preview h3{margin:0;font-size:.95rem}.timeline-preview p{margin:.35rem 0;color:var(--muted);font-size:.78rem;line-height:1.6}.story-side{display:grid;gap:1rem}.quote-card{margin:0;padding:2.5rem;background:linear-gradient(145deg,var(--primary),var(--primary2));color:white;font:1.6rem/1.5 var(--serif)}.quote-card cite{display:block;margin-top:1.5rem;font:normal .65rem Arial}.special-card,.song-card{display:flex;align-items:center;gap:1rem;padding:1.5rem}.special-card>span,.song-card>span{display:grid;place-items:center;flex:0 0 50px;height:50px;border-radius:15px;background:var(--soft);color:var(--primary2);font-size:1.4rem}.special-card small,.song-card small{color:var(--primary2);font-size:.63rem;font-weight:900;text-transform:uppercase}.special-card h3,.song-card h3{margin:.25rem 0;font-size:1rem}.special-card p,.song-card p{margin:0;color:var(--muted);font-size:.75rem}.site-footer{margin-top:7rem;padding:3.5rem 1rem;text-align:center;border-top:1px solid var(--line);color:var(--muted)}.site-footer .brand-mark{color:var(--text)}.site-footer p{font-size:.8rem}.site-footer small{font-size:.68rem}

/* inner pages */
.inner-page{padding-block:4rem;min-height:70vh}.page-hero{text-align:center;max-width:760px;margin:0 auto 4rem}.page-hero p:last-child{color:var(--muted);line-height:1.8}.masonry{columns:3;column-gap:1rem}.gallery-item{position:relative;width:100%;margin-bottom:1rem;padding:0;border:0;border-radius:18px;overflow:hidden;background:var(--soft);break-inside:avoid}.gallery-item img{width:100%}.gallery-item span{position:absolute;left:0;right:0;bottom:0;padding:2rem 1rem 1rem;background:linear-gradient(transparent,rgba(0,0,0,.6));color:#fff;text-align:left}.lightbox{width:100vw;height:100vh;max-width:none;max-height:none;border:0;background:rgba(4,8,18,.94)}.lightbox::backdrop{background:transparent}.lightbox img{width:100%;height:100%;object-fit:contain}.lightbox button{position:fixed;right:2rem;top:1rem;z-index:2;border:0;background:transparent;color:white;font-size:3rem}.full-timeline{max-width:850px;margin:auto}.full-timeline article{display:grid;grid-template-columns:110px 30px 1fr;gap:1rem;padding-bottom:2rem}.full-timeline time{padding-top:1.5rem;color:var(--primary2);font-size:.75rem;font-weight:900}.full-timeline i{position:relative}.full-timeline i:before{content:"";position:absolute;top:1.5rem;left:50%;width:12px;height:12px;border-radius:50%;background:var(--primary2);transform:translateX(-50%)}.full-timeline i:after{content:"";position:absolute;top:2.2rem;bottom:-1.5rem;left:50%;width:1px;background:var(--line)}.full-timeline article>div{padding:1.5rem;border:1px solid var(--line);border-radius:22px;background:var(--surface)}.full-timeline h2{margin:0;font:1.6rem var(--serif)}.full-timeline p{color:var(--muted);line-height:1.7}.letter-grid,.date-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.letter-card,.date-grid article{padding:2rem;border:1px solid var(--line);border-radius:22px;background:linear-gradient(rgba(255,255,255,.92),rgba(255,255,255,.92)),repeating-linear-gradient(0deg,transparent 0 28px,#f6d7e3 29px);color:#482333;box-shadow:0 20px 60px rgba(115,35,69,.1)}.letter-card>span,.date-grid article>span{color:#df3973;font-size:1.6rem}.letter-card small{display:block;margin-top:1rem;color:#c12860;font-weight:900}.letter-card h2,.date-grid h2{font:1.6rem var(--serif)}.letter-card p,.date-grid p{color:#82636f;line-height:1.7}.letter-card i{display:block;text-align:right;color:#ca2d65}.letter-reading{max-width:800px;padding-block:4rem}.letter-reading>a{color:var(--primary2);font-weight:800}.letter-reading article{margin-top:3rem;padding:4rem;border-radius:25px;background:repeating-linear-gradient(#fff 0 31px,#f8dce6 32px);color:#482333;box-shadow:0 30px 90px rgba(120,34,72,.14)}.letter-reading h1{font:3.5rem var(--script)}.letter-reading article>div{font:1.1rem/2 var(--serif)}.letter-reading article footer{text-align:right;margin-top:3rem;font:2rem var(--script);color:#bd2760}.about-story{display:grid;grid-template-columns:.8fr 1fr;gap:5rem;align-items:center;max-width:950px;margin:auto}.about-story .photo-placeholder{min-height:500px}.about-story>div:last-child{font:1.25rem/2 var(--serif);color:var(--muted)}.about-story blockquote{padding-left:1.5rem;border-left:2px solid var(--primary2);color:var(--text)}.search-form{display:flex;max-width:700px;margin:0 auto 3rem}.search-form label{position:absolute;clip:rect(0 0 0 0)}.search-form input{border-radius:18px 0 0 18px}.search-form button{width:60px;border:0;border-radius:0 18px 18px 0;background:var(--primary);color:#fff;font-size:1.5rem}.search-results{display:grid;gap:.7rem;max-width:800px;margin:auto}.search-results a{padding:1.5rem;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.search-results h2{margin:.25rem 0;font:1.3rem var(--serif)}.search-results p{color:var(--muted)}

/* admin */
.admin-page{background:#f3f6fb}.admin-layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.admin-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:1rem;border-right:1px solid #dfe7f1;background:#fff;color:#233651}.admin-brand{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:.7rem;padding:1rem;border-radius:18px;background:#edf3fb}.admin-brand>span{grid-row:1/3;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#173f79;color:#fff}.admin-brand b{font:1.35rem var(--serif)}.admin-brand small{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase}.admin-sidebar nav{display:grid;gap:.25rem;margin-top:1rem}.admin-sidebar nav a{display:flex;align-items:center;gap:.8rem;padding:.8rem 1rem;border-radius:12px;color:#68778d;font-size:.82rem;font-weight:800}.admin-sidebar nav a:hover,.admin-sidebar nav a.active{background:#edf3fb;color:#17498f}.admin-sidebar nav i{width:22px;text-align:center;font-style:normal}.admin-user{margin-top:auto;padding:1rem;border-top:1px solid #e5ebf2}.admin-user b,.admin-user small{display:block}.admin-user button{margin-top:.7rem;padding:0;border:0;background:transparent;color:#a32043;font-size:.75rem}.admin-main{min-width:0;padding:1.5rem 2rem 4rem}.admin-topbar{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.2rem;border:1px solid #e0e7f0;border-radius:16px;background:#fff}.admin-topbar small,.admin-topbar b{display:block}.admin-topbar>div:last-child{display:flex;align-items:center;gap:1rem;font-size:.72rem}.admin-topbar span{padding:.45rem .7rem;border-radius:999px;background:#dcfce7;color:#166534;font-weight:800}.admin-welcome{position:relative;display:flex;justify-content:space-between;align-items:end;margin-top:1.5rem;padding:2.3rem;border-radius:24px;background:linear-gradient(135deg,#fff,#eaf1fb);overflow:hidden}.admin-welcome:after{content:"♥";position:absolute;right:4%;top:-30%;font:12rem var(--serif);color:rgba(23,73,143,.06)}.admin-welcome h1,.admin-title h1{margin:.5rem 0;font:2.5rem var(--serif)}.admin-welcome p{color:#718097}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1rem 0}.stat-grid article{padding:1.3rem;border:1px solid #e0e7f0;border-radius:18px;background:#fff}.stat-grid article>span{color:#2874c9}.stat-grid strong,.stat-grid small{display:block}.stat-grid strong{margin-top:1.2rem;font:2rem var(--serif)}.admin-grid{display:grid;grid-template-columns:1fr .65fr;gap:1rem}.admin-card,.security-card{padding:1.5rem;border:1px solid #e0e7f0;border-radius:20px;background:#fff}.activity-row{display:flex;justify-content:space-between;padding:1rem 0;border-bottom:1px solid #edf0f5;font-size:.8rem}.activity-row small{display:block;margin-top:.25rem}.security-card{background:linear-gradient(145deg,#163b71,#275f9e);color:#fff}.security-card>span{font-size:2rem}.security-card p{color:#d5e2f1;line-height:1.6}.security-card a{font-weight:800}.admin-title{display:flex;align-items:end;justify-content:space-between;margin:2rem 0 1rem}.data-table{border:1px solid #e0e7f0;border-radius:18px;background:#fff;overflow:hidden}.data-table>article{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:center;padding:1rem 1.2rem;border-bottom:1px solid #edf0f5}.data-table article>div>b,.data-table article>div>small{display:block}.data-table article>div>small{margin-top:.25rem}.data-table article>a,.data-table article>form>button{padding:.55rem .8rem;border:1px solid #dce4ef;border-radius:10px;background:#fff;font-size:.72rem;font-weight:800}.status{padding:.4rem .7rem;border-radius:999px;font-size:.65rem;font-weight:900}.status.published{background:#dcfce7;color:#166534}.status.draft{background:#fef3c7;color:#92400e}.status.unpublished{background:#f1f5f9;color:#475569}.empty-admin{padding:4rem;text-align:center;color:#718097}.editor-form,.upload-form{display:grid;gap:1.2rem;padding:1.5rem;border:1px solid #e0e7f0;border-radius:20px;background:#fff}.editor-form{max-width:860px}.editor-form textarea{min-height:120px;resize:vertical}.form-actions{display:flex;gap:1rem}.upload-form{grid-template-columns:1fr 1fr;align-items:end}.file-drop{grid-column:1/-1;padding:1.4rem;border:2px dashed #ccd8e8;border-radius:16px}.media-admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.5rem}.media-admin-grid article{overflow:hidden;border:1px solid #e0e7f0;border-radius:16px;background:#fff}.media-admin-grid img,.video-placeholder{width:100%;height:170px;object-fit:cover}.video-placeholder{display:grid;place-items:center;background:#dce6f3}.media-admin-grid article>div{padding:1rem}.media-admin-grid b,.media-admin-grid small{display:block}.danger-link{padding:.4rem 0!important;border:0!important;color:#a20f3b!important}.settings-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem}.inline-actions{display:flex;align-items:center;gap:.5rem}.inline-actions input{width:180px;padding:.55rem}.error-page{display:grid;place-items:center;min-height:100vh}.error-card{max-width:500px;padding:3rem;text-align:center;border-radius:25px;background:var(--surface);box-shadow:var(--shadow)}.error-card>span{font-size:3rem;color:var(--primary2)}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@keyframes pulse{50%{transform:scale(1.35)}}@keyframes drift{50%{transform:translateY(-25px) rotate(12deg)}}@keyframes starMove{to{transform:translateY(180px)}}

@media(max-width:900px){
  .site-header nav{display:none;position:absolute;left:1rem;right:1rem;top:68px;flex-direction:column;padding:1rem;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.site-header nav.open{display:flex}.mobile-menu{display:block}.admin-link{display:none}.theme-button span{display:none}.hero{grid-template-columns:1fr;gap:3rem;padding-block:3rem}.hero-copy{text-align:center}.couple-badges,.hero-buttons{justify-content:center}.hero-description,.counter-card{margin-inline:auto}.hero-art{max-width:560px;margin:auto}.love-note,.story-grid,.about-story{grid-template-columns:1fr}.album-grid,.letter-grid,.date-grid{grid-template-columns:repeat(2,1fr)}.admin-layout{display:block}.admin-sidebar{position:relative;width:100%;height:auto}.admin-sidebar nav{grid-template-columns:repeat(4,1fr)}.admin-user{display:none}.admin-main{padding:1rem}.stat-grid,.media-admin-grid{grid-template-columns:repeat(2,1fr)}.admin-grid,.settings-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .site-header{height:65px}.site-header nav{top:60px}.header-actions .icon-button{display:none}.hero h1{font-size:3.25rem}.hero{min-height:auto}.hero-polaroid{width:90%}.memory-sticker{font-size:.6rem}.love-note{padding:2rem;gap:1.5rem}.love-note blockquote{padding:0;border:0}.album-grid,.letter-grid,.date-grid{grid-template-columns:1fr}.story-grid{margin-block:4rem}.section-heading{align-items:start}.masonry{columns:2}.full-timeline article{grid-template-columns:25px 1fr}.full-timeline time{grid-column:2}.full-timeline i{grid-row:1/3}.letter-reading article{padding:2rem}.about-story{gap:2rem}.admin-sidebar nav{grid-template-columns:repeat(2,1fr)}.admin-topbar>div:last-child a{display:none}.admin-welcome{align-items:start;flex-direction:column}.stat-grid{grid-template-columns:1fr 1fr}.data-table>article{grid-template-columns:1fr auto}.data-table>article>a{grid-column:1/-1;text-align:center}.upload-form{grid-template-columns:1fr}.media-admin-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.install-card,.gate-card,.admin-login-card{padding:1.7rem}.intro-panel{padding:2rem 1rem}.intro-mark,.gate-mark{font-size:4.2rem}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* 2026 keepsake refinement */
body:not(.admin-page):not(.install-page):not(.gate-page):not(.admin-login-page):before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.26;background-image:radial-gradient(circle at 15% 18%,var(--primary2) 0 1px,transparent 1.5px),radial-gradient(circle at 82% 68%,var(--primary2) 0 1px,transparent 1.5px);background-size:95px 105px,145px 155px;mask-image:linear-gradient(to bottom,black,transparent 80%)}
.site-header{box-shadow:0 8px 35px color-mix(in srgb,var(--primary) 5%,transparent)}
.site-logo>span{position:relative;box-shadow:0 5px 18px color-mix(in srgb,var(--primary) 28%,transparent)}
.site-logo>span:after{content:"";position:absolute;inset:-5px;border:1px dashed color-mix(in srgb,var(--primary2) 45%,transparent);border-radius:50%;animation:slowSpin 18s linear infinite}
.primary-button{position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s}
.primary-button:after{content:"";position:absolute;width:90px;height:90px;left:var(--shine-x,-120px);top:var(--shine-y,-120px);transform:translate(-50%,-50%);border-radius:50%;background:rgba(255,255,255,.18);filter:blur(10px);pointer-events:none}
.hero{position:relative}
.hero:before{content:"our story";position:absolute;z-index:-1;left:-3rem;top:5rem;color:color-mix(in srgb,var(--primary2) 7%,transparent);font:8rem/1 var(--script);transform:rotate(-8deg);white-space:nowrap}
.hero-copy{position:relative}
.hero-copy:after{content:"♡";position:absolute;right:8%;top:18%;color:color-mix(in srgb,var(--primary2) 25%,transparent);font:4rem var(--script);transform:rotate(12deg)}
.couple-badges span{position:relative;font-size:1.35rem;background:linear-gradient(145deg,#fff,var(--soft))}
.couple-badges span:first-child{transform:rotate(-5deg)}.couple-badges span:last-child{transform:rotate(5deg)}
.counter-label{display:flex;align-items:center;gap:.7rem;max-width:500px;margin:.2rem 0 .65rem;color:var(--muted);font:italic .78rem var(--serif);letter-spacing:.04em}
.counter-label span{height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--line))}
.counter-label span:last-child{transform:rotate(180deg)}
.counter-card{overflow:hidden;position:relative;background:linear-gradient(125deg,var(--surface),color-mix(in srgb,var(--soft) 34%,var(--surface)))}
.counter-card:after{content:"♥";position:absolute;right:-10px;bottom:-33px;color:color-mix(in srgb,var(--primary2) 8%,transparent);font:6rem var(--serif)}
.hero-art{--parallax-x:0px;--parallax-y:0px;transition:transform .2s ease;transform:translate(var(--parallax-x),var(--parallax-y))}
.hero-polaroid{position:relative;z-index:2;border:1px solid #eee;box-shadow:0 35px 100px rgba(21,24,48,.25),9px 12px 0 color-mix(in srgb,var(--soft) 80%,white)}
.hero-polaroid:before{content:"";position:absolute;z-index:3;top:-16px;left:50%;width:110px;height:32px;background:rgba(244,220,195,.66);transform:translateX(-50%) rotate(-2deg);box-shadow:0 2px 5px rgba(56,40,30,.08)}
.photo-placeholder{position:relative;overflow:hidden;background:radial-gradient(circle at 67% 20%,rgba(255,255,255,.28),transparent 22%),linear-gradient(150deg,color-mix(in srgb,var(--primary) 88%,#071326),var(--primary2))}
.photo-placeholder:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.13) 48%,transparent 64%);transform:translateX(-100%);animation:photoGlimmer 7s ease-in-out infinite}
.photo-placeholder span{display:grid;gap:.55rem;position:relative;z-index:1;font:italic .8rem/1.55 var(--serif);letter-spacing:.04em}
.photo-placeholder span b{font:3rem/1 var(--serif);color:#fff;font-style:normal}
.memory-sticker{z-index:4;border:1px solid var(--line);backdrop-filter:blur(12px)}
.date-stamp{position:absolute;z-index:5;right:-28px;top:4%;display:grid;place-items:center;width:92px;height:92px;border:2px solid color-mix(in srgb,var(--primary2) 72%,transparent);border-radius:50%;color:var(--primary);background:color-mix(in srgb,var(--bg) 92%,transparent);transform:rotate(9deg);box-shadow:0 12px 35px var(--line);font-family:var(--serif)}
.date-stamp:after{content:"";position:absolute;inset:5px;border:1px dashed currentColor;border-radius:50%;opacity:.5}.date-stamp strong{font-size:1.75rem;line-height:.8}.date-stamp span{font-size:.52rem;font-weight:900;letter-spacing:.12em}.date-stamp small{font-size:.58rem;color:inherit}
.paper-heart{position:absolute;z-index:1;color:var(--primary2);text-shadow:0 10px 20px var(--line);font:4.5rem var(--script);animation:heartFloat 5s ease-in-out infinite}.paper-heart-one{left:1%;bottom:5%;transform:rotate(-18deg)}.paper-heart-two{right:4%;bottom:2%;font-size:2.4rem;animation-delay:-2s}
.hand-divider{display:flex;align-items:center;gap:1rem;color:var(--primary2);margin-block:1rem}.hand-divider:before,.hand-divider:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--line))}.hand-divider:after{transform:rotate(180deg)}.hand-divider span{font:italic .72rem var(--serif);letter-spacing:.2em}.hand-divider b{font-weight:400}
.love-note{position:relative;transform:rotate(-.35deg);border:1px solid rgba(193,40,96,.1);box-shadow:0 35px 90px rgba(128,34,77,.13),6px 8px 0 rgba(219,139,170,.08)}
.love-note:after{content:"E ♥ N";position:absolute;right:2rem;bottom:1rem;color:rgba(187,40,98,.14);font:2.5rem var(--script);transform:rotate(-8deg)}
.paperclip{position:absolute;right:10%;top:-19px;width:20px;height:58px;border:3px solid #b6a895;border-radius:12px;transform:rotate(7deg);box-shadow:2px 3px 4px rgba(40,25,15,.08)}
.album-grid{gap:1.35rem}.album-card{position:relative;border-radius:6px 6px 18px 18px;padding:.8rem .8rem 1.1rem}.album-card:nth-child(3n+1){transform:rotate(-.6deg)}.album-card:nth-child(3n+2){transform:translateY(10px) rotate(.5deg)}.album-card:nth-child(3n){transform:rotate(-.25deg)}.album-card:hover{transform:translateY(-7px) rotate(0)}
.album-card:before{content:"";position:absolute;top:-8px;left:42%;width:56px;height:18px;background:rgba(230,205,178,.55);transform:rotate(-2deg)}
.album-cover{border-radius:3px;filter:saturate(.9)}.timeline-preview{position:relative}.timeline-preview:after{content:"♡";position:absolute;right:1.5rem;top:1rem;color:var(--line);font:4rem var(--script);transform:rotate(10deg)}
.gate-card{position:relative;overflow:visible}
.gate-card:before,.gate-card:after{content:"";position:absolute;width:76px;height:28px;background:rgba(226,204,179,.25);top:-10px}.gate-card:before{left:8%;transform:rotate(-7deg)}.gate-card:after{right:8%;transform:rotate(7deg)}
.gate-signature{position:absolute;right:1.4rem;bottom:-3.2rem!important;color:rgba(255,255,255,.72)!important;font:1.15rem var(--script);transform:rotate(-4deg)}
.site-footer{position:relative;overflow:hidden}.site-footer:before{content:"E  ♥  N";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:8rem var(--serif);color:color-mix(in srgb,var(--primary2) 4%,transparent);white-space:nowrap}
@keyframes slowSpin{to{transform:rotate(360deg)}}@keyframes heartFloat{50%{translate:0 -12px;rotate:5deg}}@keyframes photoGlimmer{0%,58%{transform:translateX(-120%)}80%,100%{transform:translateX(120%)}} 
@media(max-width:900px){.hero:before{font-size:5rem;left:0}.counter-label{margin-inline:auto}.date-stamp{right:0}}
@media(max-width:600px){.hero-copy:after{display:none}.hero:before{font-size:3.5rem;top:2rem}.paper-heart{font-size:3rem}.date-stamp{width:76px;height:76px;right:-2px}.date-stamp strong{font-size:1.35rem}.love-note{transform:none}.gate-signature{position:static!important;margin-top:1.8rem!important}.album-card:nth-child(n){transform:none}}

/* Two distinct romantic atmospheres */
[data-theme=blue] body:not(.admin-page):not(.install-page):not(.gate-page):not(.admin-login-page){background:radial-gradient(circle at 80% 14%,rgba(117,166,231,.16),transparent 22rem),radial-gradient(circle at 8% 62%,rgba(39,117,204,.09),transparent 28rem),linear-gradient(180deg,#f7faff 0%,#f3f7fd 48%,#eef4fb 100%)}
[data-theme=romantic] body:not(.admin-page):not(.install-page):not(.gate-page):not(.admin-login-page){background:radial-gradient(circle at 83% 9%,rgba(255,194,216,.32),transparent 21rem),radial-gradient(circle at 6% 55%,rgba(230,59,121,.09),transparent 26rem),linear-gradient(180deg,#fffafb 0%,#fff5f8 52%,#fdf0f4 100%)}
.theme-button{display:flex;align-items:center;gap:.5rem;overflow:hidden;transition:border-color .25s,transform .25s,background .25s}.theme-button:hover{transform:translateY(-2px);border-color:var(--primary2)}.theme-button i{position:relative;display:block;width:25px;height:25px;border-radius:50%;background:linear-gradient(135deg,#112e58 50%,#ee789f 50%);box-shadow:inset 0 0 0 2px white,0 2px 8px var(--line)}.theme-button i:after{content:"♥";position:absolute;inset:0;display:grid;place-items:center;color:white;font:9px Arial;font-style:normal}
.theme-atmosphere{position:fixed;inset:76px 0 0;z-index:-1;pointer-events:none;overflow:hidden}.theme-atmosphere i{position:absolute;display:block;opacity:0}
[data-theme=blue] .theme-atmosphere:before{content:"☾";position:absolute;right:6vw;top:7vh;color:rgba(36,85,151,.11);font:10rem/1 var(--serif);filter:drop-shadow(0 0 30px rgba(62,119,195,.14))}
[data-theme=blue] .theme-atmosphere:after{content:"✦  ·  ✧       ·  ✦";position:absolute;left:7vw;top:12vh;color:rgba(39,117,204,.18);font:1.2rem var(--serif);letter-spacing:1.4rem;transform:rotate(-8deg)}
[data-theme=blue] .theme-atmosphere i{opacity:.2;width:3px;height:3px;border-radius:50%;background:#4f82c3;box-shadow:0 0 9px #75a5df;animation:blueTwinkle 4s ease-in-out infinite}
[data-theme=blue] .theme-atmosphere i:nth-child(1){left:12%;top:18%}[data-theme=blue] .theme-atmosphere i:nth-child(2){left:74%;top:38%;animation-delay:-1s}[data-theme=blue] .theme-atmosphere i:nth-child(3){left:88%;top:72%;animation-delay:-2s}[data-theme=blue] .theme-atmosphere i:nth-child(4){left:25%;top:78%;animation-delay:-3s}[data-theme=blue] .theme-atmosphere i:nth-child(5){left:55%;top:12%;animation-delay:-.5s}[data-theme=blue] .theme-atmosphere i:nth-child(6){left:42%;top:58%;animation-delay:-2.5s}
[data-theme=romantic] .theme-atmosphere i{opacity:.17;width:17px;height:24px;border-radius:90% 10% 80% 20%;background:linear-gradient(145deg,#ef6e9b,#ffd2df);animation:petalFall 13s linear infinite}
[data-theme=romantic] .theme-atmosphere i:nth-child(1){left:8%;top:-10%;animation-delay:-1s}[data-theme=romantic] .theme-atmosphere i:nth-child(2){left:24%;top:-10%;animation-delay:-7s}[data-theme=romantic] .theme-atmosphere i:nth-child(3){left:48%;top:-10%;animation-delay:-3s}[data-theme=romantic] .theme-atmosphere i:nth-child(4){left:66%;top:-10%;animation-delay:-10s}[data-theme=romantic] .theme-atmosphere i:nth-child(5){left:82%;top:-10%;animation-delay:-5s}[data-theme=romantic] .theme-atmosphere i:nth-child(6){left:94%;top:-10%;animation-delay:-12s}
[data-theme=romantic] .hero:before{content:"mon amour";color:rgba(201,40,96,.065)}
[data-theme=blue] .hero:before{content:"to the moon";color:rgba(23,73,143,.06)}
[data-theme=romantic] .photo-placeholder{background:radial-gradient(circle at 68% 20%,rgba(255,235,241,.3),transparent 22%),linear-gradient(150deg,#721534,#df4779)}
[data-theme=blue] .photo-placeholder{background:radial-gradient(circle at 68% 20%,rgba(205,229,255,.26),transparent 22%),linear-gradient(150deg,#0c284e,#3478bf)}
[data-theme=romantic] .love-note{background:linear-gradient(90deg,transparent 38px,rgba(229,109,149,.18) 39px,transparent 40px),repeating-linear-gradient(#fffdfd 0 29px,#f5dbe4 30px)}
[data-theme=blue] .love-note{background:linear-gradient(90deg,transparent 38px,rgba(61,114,181,.15) 39px,transparent 40px),repeating-linear-gradient(#fff 0 29px,#dce8f7 30px);color:#233651}
[data-theme=blue] .love-note blockquote{border-color:#b9cee9}[data-theme=blue] .love-note cite{color:#2764aa}
.page-hero{position:relative}.page-hero:after{content:"";display:block;width:130px;height:18px;margin:1.1rem auto 0;background:radial-gradient(ellipse at center,var(--primary2) 0 2px,transparent 3px) center/13px 8px no-repeat,linear-gradient(90deg,transparent,var(--line),transparent) center/100% 1px no-repeat}.page-hero:before{content:"♡";position:absolute;left:50%;bottom:-2px;z-index:1;transform:translateX(-50%);padding:0 .45rem;background:var(--bg);color:var(--primary2)}
.quote-card{position:relative;overflow:hidden}.quote-card:before{content:"“";position:absolute;right:1rem;top:-2.4rem;color:rgba(255,255,255,.1);font:9rem var(--serif)}.quote-card:after{content:"E  ·  N";position:absolute;right:1.5rem;bottom:1rem;color:rgba(255,255,255,.32);font:.55rem Arial;letter-spacing:.25em}
.special-card,.song-card{transition:transform .25s,box-shadow .25s}.special-card:hover,.song-card:hover{transform:translateX(5px);box-shadow:var(--shadow)}
[data-theme=romantic] .date-grid article:nth-child(odd),[data-theme=romantic] .letter-card:nth-child(odd){transform:rotate(-.45deg)}[data-theme=romantic] .date-grid article:nth-child(even),[data-theme=romantic] .letter-card:nth-child(even){transform:rotate(.45deg)}
@keyframes blueTwinkle{50%{opacity:.7;transform:scale(1.8)}}@keyframes petalFall{0%{translate:0 -10vh;rotate:0deg}50%{translate:45px 48vh;rotate:190deg}100%{translate:-25px 110vh;rotate:420deg}}
@media(max-width:900px){.theme-atmosphere{inset:65px 0 0}[data-theme=blue] .theme-atmosphere:before{font-size:6rem}.theme-button{padding:0 .45rem}.theme-button i{width:27px;height:27px}}

/* admin users */
.user-list{display:grid;gap:.65rem}.user-list article{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:.8rem;padding:.85rem;border:1px solid #e7edf4;border-radius:14px;background:#f8fafc}.user-list article>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#e8f0fb;color:#17498f;font:1.2rem var(--serif)}.user-list b,.user-list small,.user-list em{display:block}.user-list small{margin:.15rem 0;color:#718097}.user-list em{color:#54708f;font-size:.65rem;font-style:normal}.user-list article>i{padding:.35rem .55rem;border-radius:999px;background:#dcfce7;color:#166534;font-size:.62rem;font-style:normal;font-weight:800}
.gallery-video{padding:0;background:#081225}.gallery-video video{display:block;width:100%;max-height:620px;background:#000}.gallery-video figcaption{padding:.9rem 1rem;color:#fff;font-size:.8rem}.media-admin-grid video{width:100%;height:170px;object-fit:cover;background:#071120}

/* responsive and rendering performance */
.install-page,.gate-page,.admin-login-page{background-color:#091a35;background-image:url("../assets/romantic-hero.webp");background-position:center;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}
.intro-overlay{background-image:linear-gradient(rgba(4,14,33,.22),rgba(4,10,25,.52)),url("../assets/romantic-hero.webp")}
.install-shell,.gate-shell,.admin-login-shell{min-height:100vh;min-height:100dvh}
main>section:not(.hero),.site-footer{content-visibility:auto;contain-intrinsic-size:auto 600px}
.album-cover img,.gallery-item img,.media-admin-grid img{content-visibility:auto}
@media(max-width:1200px){.section-shell{width:min(1080px,calc(100% - 3rem))}.site-header{padding-inline:1.5rem}.hero{gap:3rem}.hero h1{font-size:clamp(3.2rem,5.5vw,4.6rem)}}
@media(max-width:1024px){.site-header nav{gap:1rem}.hero{min-height:650px}.hero-art{max-width:480px}.date-stamp{right:0}.admin-sidebar{width:auto}.admin-layout{grid-template-columns:230px 1fr}}
@media(max-width:900px){
  .install-card,.gate-card,.admin-login-card,.intro-panel{backdrop-filter:blur(10px)}
  .site-header{backdrop-filter:blur(12px)}
  .memory-sticker{backdrop-filter:blur(6px)}
  .hero{min-height:auto}
  .admin-sidebar nav a{min-height:44px}
}
@media(max-width:700px){
  .install-page,.gate-page,.admin-login-page{background-image:url("../assets/romantic-hero-mobile.webp")}
  .intro-overlay{background-image:linear-gradient(rgba(4,14,33,.22),rgba(4,10,25,.52)),url("../assets/romantic-hero-mobile.webp")}
  .section-shell{width:calc(100% - 1.5rem)}
  .gate-shell,.install-shell,.admin-login-shell{padding:1rem}
  .gate-card{padding:1.8rem 1.25rem;border-radius:26px}
  .gate-mark{font-size:4.4rem;margin:.65rem 0}
  .gate-card h1{font-size:clamp(2rem,10vw,2.65rem)}
  .gate-card>p{font-size:.9rem;line-height:1.65}
  .gate-form{margin-top:1.35rem}
  .gate-form input{font-size:1.2rem;letter-spacing:.25em}
  .site-header{padding-inline:.75rem}
  .site-logo b{font-size:1rem}
  .hero{padding-block:2.5rem}
  .hero h1{font-size:clamp(2.85rem,14vw,4rem)}
  .hero-description{font-size:.95rem}
  .hero-buttons>a{width:100%}
  .counter-card{width:100%}
  .counter-card strong{font-size:1.8rem}
  .photo-placeholder{min-height:300px}
  .love-note{margin-block:3.5rem}
  .story-grid{gap:1rem}
  .timeline-preview{padding:1.4rem}
  .quote-card{font-size:1.35rem}
  .site-footer{margin-top:4rem}
  .admin-main{padding:.75rem}
  .admin-topbar{padding:.8rem}
  .admin-title{align-items:flex-start;gap:1rem}
  .admin-title h1{font-size:2rem}
  .settings-grid{gap:.75rem}
}
@media(max-width:420px){
  .gate-card{padding-inline:1rem}
  .gate-mark{font-size:3.8rem}
  .gate-form input{letter-spacing:.18em}
  .gate-signature{font-size:1rem}
  .header-actions{gap:.25rem}
  .theme-button{border:0;background:transparent}
  .hero h1{letter-spacing:-.045em}
  .couple-badges span{width:48px;height:48px}
  .hero-polaroid{width:94%}
  .memory-sticker{padding:.65rem}
  .date-stamp{right:-4px}
  .love-note{padding:1.5rem}
  .full-timeline article>div{padding:1.1rem}
  .masonry{columns:1}
  .stat-grid,.media-admin-grid{grid-template-columns:1fr}
  .admin-sidebar nav{grid-template-columns:1fr 1fr}
  .user-list article{grid-template-columns:40px 1fr}.user-list article>i{grid-column:2}
}
@media(max-height:700px) and (orientation:landscape){.gate-shell{padding:.75rem}.gate-card{padding:1.15rem 2rem}.gate-mark{font-size:3rem;margin:.2rem}.gate-card h1{font-size:2rem;margin:.4rem}.gate-card>p{margin:.4rem}.heartbeat{display:none}.gate-form{grid-template-columns:1fr 1fr;align-items:end;margin-top:.7rem}.gate-form label{grid-column:1}.gate-form input{grid-column:1}.gate-form button{grid-column:2;grid-row:2}.gate-signature{display:none}}
@media(hover:none),(pointer:coarse){.album-card:hover,.special-card:hover,.song-card:hover,.primary-button:hover{transform:none}.photo-placeholder:after{animation:none}}
@media(prefers-reduced-data:reduce){.theme-atmosphere,.petal,.intro-stars,.paper-heart{display:none}.photo-placeholder:after{animation:none}.install-card,.gate-card,.admin-login-card,.intro-panel,.site-header{backdrop-filter:none}}

/* unified album and media presentation */
.photo-placeholder.has-photo{display:block;background:#101a2c}.photo-placeholder.has-photo img{width:100%;height:100%;min-height:360px;object-fit:cover}
.album-page{max-width:1240px}.album-heading{margin-bottom:2.6rem}.album-heading>small{display:inline-flex;margin-top:1rem;padding:.45rem .8rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--primary);font-size:.65rem;font-weight:800;letter-spacing:.08em}
.masonry{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.25rem;columns:unset}
.gallery-item{display:block;width:100%;margin:0;padding:.55rem;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:0 14px 40px var(--line);overflow:hidden;break-inside:auto;transition:transform .25s,box-shadow .25s}
.gallery-photo{text-align:left}.gallery-item:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.media-frame{position:relative;width:100%;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#081225}
.gallery-item .media-frame img,.gallery-item .media-frame video{width:100%;height:100%;object-fit:cover}
.gallery-item .media-kind{position:absolute;z-index:2;left:.65rem;top:.65rem;right:auto;bottom:auto;width:auto;padding:.42rem .62rem;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(8,18,37,.66);color:#fff;font-size:.57rem;font-weight:900;letter-spacing:.1em;line-height:1;backdrop-filter:blur(8px)}
.gallery-item .media-caption,.gallery-video figcaption{position:static;display:block;padding:.85rem .45rem .35rem;background:none;color:var(--text);font:italic .85rem/1.5 var(--serif);text-align:left}
.gallery-video{margin:0;background:var(--surface)}.gallery-video video{display:block;max-height:none;background:#000}.gallery-video figcaption{padding-inline:.45rem}
.mute-option{grid-template-columns:auto 1fr;align-items:center}.mute-option input{width:18px;height:18px}.mute-option span{font-weight:800}.mute-option small{grid-column:2}
.media-admin-grid article{position:relative;transition:border-color .2s,box-shadow .2s}.media-admin-grid article.selected-cover{border-color:#2874c9;box-shadow:0 0 0 3px rgba(40,116,201,.12)}.media-admin-grid article.selected-cover:before{content:"Albüm kapağı";position:absolute;z-index:2;left:.55rem;top:.55rem;padding:.35rem .55rem;border-radius:999px;background:#17498f;color:#fff;font-size:.58rem;font-weight:900}.media-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.65rem}.media-actions button{padding:.45rem .6rem;border:1px solid #dce4ef;border-radius:9px;background:#fff;color:#17498f;font-size:.65rem;font-weight:800}.media-actions button:disabled{background:#e8f0fb;cursor:default}
@media(max-width:700px){.masonry{grid-template-columns:1fr;gap:.9rem}.album-heading{margin-bottom:1.6rem}.photo-placeholder.has-photo img{min-height:300px}.gallery-item:hover{transform:none}}
@media(min-width:701px) and (max-width:1050px){.masonry{grid-template-columns:repeat(2,1fr)}}

/* navigable album lightbox */
.lightbox{padding:0;overflow:hidden;color:#fff;touch-action:pan-y;background:rgba(4,8,18,.96)}.lightbox figure{position:absolute;inset:1rem 5.5rem 3.5rem;display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center;margin:0}.lightbox figure img{width:100%;height:100%;object-fit:contain}.lightbox figcaption{max-width:760px;padding:.75rem 1rem 0;color:#eef3fb;text-align:center;font:italic .9rem/1.4 var(--serif)}.lightbox .lightbox-close{position:fixed;z-index:3;right:1.2rem;top:.8rem;width:48px;height:48px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(10,20,38,.7);color:#fff;font-size:2rem;line-height:1}.lightbox .lightbox-nav{position:fixed;z-index:3;top:50%;display:grid;place-items:center;width:54px;height:76px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(10,20,38,.72);color:#fff;font:3rem/1 var(--serif);transform:translateY(-50%);backdrop-filter:blur(10px)}.lightbox .lightbox-prev{left:1.2rem}.lightbox .lightbox-next{right:1.2rem}.lightbox-count{position:fixed;left:50%;bottom:1rem;z-index:3;translate:-50% 0;padding:.45rem .75rem;border-radius:999px;background:rgba(10,20,38,.75);font-size:.7rem;letter-spacing:.12em}
@media(max-width:700px){.lightbox figure{inset:3.5rem .5rem 4rem}.lightbox .lightbox-nav{top:auto;bottom:.65rem;width:48px;height:44px;border-radius:14px;transform:none;font-size:2.2rem}.lightbox .lightbox-prev{left:.75rem}.lightbox .lightbox-next{right:.75rem}.lightbox .lightbox-close{right:.7rem;top:.6rem;width:42px;height:42px}.lightbox-count{bottom:1.2rem}.lightbox figcaption{font-size:.78rem}}

/* polished settings and profile */
.settings-grid{align-items:start}.profile-editor{position:sticky;top:1rem;gap:1rem;padding:1.25rem}.profile-card-head{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:18px;background:linear-gradient(135deg,#edf4fd,#fff)}.profile-card-head>span{display:grid;place-items:center;flex:0 0 58px;height:58px;border-radius:50%;background:linear-gradient(145deg,#173f79,#3278c1);color:#fff;font:1.65rem var(--serif);box-shadow:0 10px 25px rgba(23,63,121,.2)}.profile-card-head h2{margin:.25rem 0;font:1.55rem var(--serif)}.profile-card-head small{font-size:.68rem}.profile-summary{display:flex;align-items:center;gap:.75rem;padding:.8rem 1rem;border:1px solid #d8eee0;border-radius:14px;background:#f0fdf4}.profile-summary>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#dcfce7;color:#166534;font-weight:900}.profile-summary b,.profile-summary small{display:block}.profile-summary b{font-size:.78rem}.profile-summary small{margin-top:.15rem;font-size:.65rem}.profile-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.profile-actions>*{width:100%;padding:.78rem 1rem}.song-settings{display:grid;gap:1rem;margin:0;padding:1.2rem;border:1px solid #f0d5df;border-radius:18px;background:linear-gradient(145deg,#fff8fa,#fff)}.song-settings legend{padding:0 .5rem;color:#a9144f;font:1.25rem var(--serif);font-weight:700}.song-settings>p{margin:0;color:#856873;font-size:.75rem}.song-card{color:inherit}
@media(max-width:900px){.profile-editor{position:static}.profile-actions{grid-template-columns:1fr}}

/* embedded song, editable note and daily quote library */
.song-player{overflow:hidden;border:1px solid var(--line);border-radius:25px;background:var(--surface);box-shadow:0 15px 45px var(--line)}.song-player header{display:flex;align-items:center;gap:.8rem;padding:1rem 1.2rem}.song-player header>span{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:14px;background:var(--soft);color:var(--primary2);font-size:1.35rem}.song-player small{color:var(--primary2);font-size:.6rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.song-player h3{margin:.2rem 0;font-size:.95rem}.song-player p{margin:0;color:var(--muted);font-size:.72rem}.song-player iframe{display:block;width:100%;height:152px;border:0;background:#121212}.quote-card{font-size:clamp(1.05rem,2vw,1.45rem)}.love-note-settings{display:grid;gap:1rem;margin:0;padding:1.2rem;border:1px solid #d9e5f3;border-radius:18px;background:linear-gradient(145deg,#f7faff,#fff)}.love-note-settings legend{padding:0 .5rem;color:#17498f;font:1.25rem var(--serif);font-weight:700}.love-note-settings>p{margin:0;color:#687990;font-size:.75rem}
.native-song-player{position:relative;display:grid;grid-template-columns:86px 1fr;min-height:174px;padding:1rem;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 88%,var(--soft)),var(--surface));isolation:isolate}.native-song-player:before{position:absolute;inset:auto -28px -42px auto;width:130px;height:130px;border:1px solid var(--line);border-radius:50%;content:"";opacity:.6;z-index:-1}.native-song-player header{align-self:center;padding:.2rem .7rem .7rem}.native-song-player audio{position:absolute;width:1px;height:1px;opacity:.01}.record-art{position:relative;grid-row:1/3;align-self:center;width:76px;height:76px;border-radius:50%;background:repeating-radial-gradient(circle,#271824 0 5px,#482237 6px 8px);box-shadow:0 10px 25px color-mix(in srgb,var(--primary2) 25%,transparent);transition:transform .5s ease}.record-art:after{position:absolute;inset:28px;border:6px solid var(--soft);border-radius:50%;background:var(--primary2);content:""}.record-art i{position:absolute;inset:7px;border:1px solid #ffffff22;border-radius:50%}.record-art span{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:.65rem;z-index:1}.native-song-player.is-playing .record-art{animation:record-spin 5s linear infinite}.audio-controls{grid-column:2;display:flex;align-items:center;gap:.65rem;padding:0 .7rem .25rem}.audio-controls button{display:grid;place-items:center;flex:0 0 40px;height:40px;border:0;border-radius:50%;background:var(--primary2);color:#fff;cursor:pointer;box-shadow:0 7px 18px color-mix(in srgb,var(--primary2) 30%,transparent)}.audio-controls button:last-child{flex-basis:32px;height:32px;background:var(--soft);color:var(--primary2);box-shadow:none}.audio-track{min-width:0;flex:1}.audio-track input{width:100%;height:4px;margin:0;appearance:none;border-radius:99px;background:linear-gradient(90deg,var(--primary2) var(--audio-progress,0%),var(--line) var(--audio-progress,0%));cursor:pointer}.audio-track input::-webkit-slider-thumb{width:13px;height:13px;appearance:none;border:3px solid var(--surface);border-radius:50%;background:var(--primary2);box-shadow:0 1px 5px #0003}.audio-track input::-moz-range-thumb{width:9px;height:9px;border:3px solid var(--surface);border-radius:50%;background:var(--primary2)}.audio-track div{display:flex;justify-content:space-between;gap:.4rem;margin-top:.35rem;color:var(--muted);font-size:.57rem}.audio-track div span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audio-error{grid-column:1/-1;margin:.4rem 0 0!important;text-align:center;color:#a41d41!important}.external-song-player>a{display:block;padding:.65rem 1rem;text-align:center;color:var(--primary2);font-size:.7rem;font-weight:800}.audio-library-item{display:grid;place-items:center;gap:.5rem;min-height:155px;padding:1rem;background:linear-gradient(145deg,var(--soft),var(--surface))}.audio-library-item>span{font-size:2rem;color:var(--primary2)}.audio-library-item audio{width:min(100%,300px)}.about-settings{display:grid;gap:1rem;margin:0;padding:1.2rem;border:1px solid #edd6df;border-radius:18px;background:linear-gradient(145deg,#fff9fb,#fff)}.about-settings legend{padding:0 .5rem;color:#a82352;font:1.25rem var(--serif);font-weight:700}.about-settings>p{margin:0;color:#7f6670;font-size:.75rem}.about-copy>span{display:block;margin-top:1rem;color:var(--primary2);font:1.05rem var(--script);text-align:right}@keyframes record-spin{to{transform:rotate(360deg)}}
.story-side{align-content:start;grid-auto-rows:max-content}
.letter-reading h1,.letter-reading article>div{overflow-wrap:anywhere;word-break:break-word}
.quote-admin-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:1rem;align-items:start}.quote-admin-grid>div{display:grid;gap:1rem}.daily-quote-preview{padding:2rem;border-radius:22px;background:linear-gradient(145deg,#173f79,#2d70b8);color:#fff;box-shadow:0 20px 50px rgba(23,63,121,.2)}.daily-quote-preview small{color:#cfe0f5;font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.daily-quote-preview blockquote{margin:1rem 0;font:1.25rem/1.55 var(--serif)}.daily-quote-preview p{margin:0;color:#dbe8f7;font-size:.7rem}.quote-library>header{display:flex;justify-content:space-between;align-items:center}.quote-library header h2,.quote-library header p{margin:.15rem 0}.quote-library header p{color:#718097;font-size:.7rem}.quote-library header>span{padding:.45rem .65rem;border-radius:999px;background:#dcfce7;color:#166534;font-size:.62rem;font-weight:900}.quote-explainer{padding:.75rem;border-radius:12px;background:#f3f7fc;color:#58708d;font-size:.72rem;line-height:1.5}.quote-library>div{display:grid;gap:.5rem;max-height:640px;overflow:auto;padding-right:.25rem}.quote-library>div>article{display:grid;grid-template-columns:1fr auto;gap:.7rem;align-items:center;padding:.75rem;border:1px solid #e7edf4;border-radius:12px}.quote-library article p{margin:0;color:#40536b;font:italic .75rem/1.5 var(--serif)}.quote-library article button{padding:.4rem .55rem;border:1px solid #dce4ef;border-radius:8px;background:#fff;color:#17498f;font-size:.62rem;font-weight:800}
.spotify-song-card{position:relative;overflow:hidden;background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--soft) 72%,var(--surface)))}.spotify-song-card:after{position:absolute;right:-22px;width:92px;height:92px;border:1px solid var(--line);border-radius:50%;content:""}.spotify-song-card>i{margin-left:auto;padding-right:.2rem;color:var(--primary2);font:1rem var(--serif);font-style:normal;letter-spacing:.12em;z-index:1}
@media(max-width:900px){.quote-admin-grid{grid-template-columns:1fr}.song-player iframe{height:152px}}
@media(max-width:430px){.native-song-player{grid-template-columns:62px 1fr;padding:.8rem}.record-art{width:58px;height:58px}.record-art:after{inset:21px;border-width:4px}.native-song-player header{padding:.1rem .45rem .6rem}.audio-controls{grid-column:1/-1;padding:.5rem 0 0}.audio-track div span{display:none}}

/* Premium romantic finish */
body:not(.admin-page):not(.gate-page):before{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 8% 16%,color-mix(in srgb,var(--primary2) 9%,transparent),transparent 24%),radial-gradient(circle at 92% 74%,color-mix(in srgb,var(--primary) 8%,transparent),transparent 28%);content:"";z-index:-1}.section-shell{position:relative}.hero:after{position:absolute;inset:8% -3% auto auto;width:180px;height:180px;border:1px solid color-mix(in srgb,var(--primary2) 14%,transparent);border-radius:48% 52% 60% 40%;content:"";transform:rotate(18deg);pointer-events:none}.album-card,.timeline-preview,.special-card,.song-card,.native-song-player{box-shadow:0 18px 50px color-mix(in srgb,var(--primary) 9%,transparent),inset 0 1px #fff9}.album-card{border-color:color-mix(in srgb,var(--primary2) 18%,var(--line))}.album-cover{position:relative}.album-cover:after{position:absolute;inset:10px;border:1px solid #ffffff55;border-radius:11px;content:"";pointer-events:none}.quote-card{position:relative;overflow:hidden}.quote-card:before{position:absolute;right:1rem;top:-1.8rem;color:#ffffff18;font:8rem var(--serif);content:"“"}.love-note{border:1px solid #f4cad9;box-shadow:0 35px 90px rgba(128,34,77,.15),inset 0 0 0 8px #fff8}.native-song-player{min-height:205px;padding:1.25rem;border-color:color-mix(in srgb,var(--primary2) 24%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 92%,var(--soft)),var(--surface) 54%,color-mix(in srgb,var(--primary2) 7%,var(--surface)))}.native-song-player:after{position:absolute;inset:8px;border:1px solid color-mix(in srgb,var(--primary2) 10%,transparent);border-radius:18px;content:"";pointer-events:none}.record-art{width:92px;height:92px;box-shadow:0 16px 35px color-mix(in srgb,var(--primary2) 35%,transparent),inset 0 0 0 1px #ffffff18}.record-art:after{inset:34px}.native-song-player header h3{font:1.25rem var(--serif)}.native-song-player header small{letter-spacing:.14em}.audio-controls{position:relative;z-index:2}.audio-controls button{transition:transform .2s,box-shadow .2s}.audio-controls button:hover{transform:scale(1.07);box-shadow:0 10px 25px color-mix(in srgb,var(--primary2) 42%,transparent)}.copy-editor{max-width:none}.copy-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.copy-settings-grid label{display:grid;gap:.45rem;padding:1rem;border:1px solid #e4eaf2;border-radius:16px;background:linear-gradient(145deg,#fff,#f9fbff)}.copy-settings-grid label>span{color:#7a5264;font-size:.7rem;font-weight:900}.copy-settings-grid textarea{min-height:95px}.sticky-save{position:sticky;bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.2rem;padding:1rem 1.2rem;border:1px solid #d9e5f3;border-radius:18px;background:#fffffff2;box-shadow:0 18px 45px #253b5e1f;backdrop-filter:blur(14px);z-index:5}.sticky-save small{color:#687990;font-weight:800}
@media(max-width:700px){.copy-settings-grid{grid-template-columns:1fr}.native-song-player{min-height:180px}.record-art{width:68px;height:68px}.record-art:after{inset:25px}.sticky-save{align-items:stretch;flex-direction:column}.hero:after{display:none}}

/* Modern music player */
.native-song-player{grid-template-columns:78px minmax(0,1fr);min-height:168px;padding:1.15rem;border-radius:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 95%,var(--soft)),color-mix(in srgb,var(--soft) 68%,var(--surface)));box-shadow:0 22px 60px color-mix(in srgb,var(--primary) 12%,transparent),inset 0 1px rgba(255,255,255,.9)}.native-song-player:before{inset:-45% auto auto 56%;width:190px;height:190px;border:0;background:radial-gradient(circle,color-mix(in srgb,var(--primary2) 13%,transparent),transparent 68%);filter:blur(2px)}.native-song-player:after{inset:7px;border-radius:18px;border-color:color-mix(in srgb,var(--primary2) 9%,transparent)}.record-art{display:grid;grid-row:1/3;place-items:center;align-self:center;width:68px;height:82px;overflow:hidden;border:1px solid color-mix(in srgb,var(--primary2) 24%,transparent);border-radius:18px;background:linear-gradient(145deg,var(--primary),var(--primary2));box-shadow:0 14px 30px color-mix(in srgb,var(--primary2) 24%,transparent);transform:none!important}.record-art:before{position:absolute;inset:0;background:linear-gradient(125deg,#ffffff26,transparent 46%),radial-gradient(circle at 72% 18%,#ffffff38 0 2px,transparent 3px);content:""}.record-art:after{inset:auto 9px 9px;height:18px;border:0;border-radius:7px;background:#ffffff1e;box-shadow:none;content:""}.record-art i{position:absolute;left:15px;right:15px;bottom:15px;inset:auto 15px 15px;display:block;height:7px;border:0;border-radius:4px;background:linear-gradient(90deg,#fff 0 9%,transparent 9% 16%,#fff 16% 31%,transparent 31% 38%,#fff 38% 60%,transparent 60% 67%,#fff 67% 82%,transparent 82% 89%,#fff 89%);opacity:.8;z-index:2}.record-art span{position:relative;inset:auto;display:block;margin-top:-15px;color:#fff;font-size:0;font-weight:800;letter-spacing:.08em;text-shadow:0 2px 12px #0003;z-index:2}.record-art span:after{content:"E ♥ N";font:1rem var(--serif)}.native-song-player.is-playing .record-art{animation:none}.native-song-player.is-playing .record-art i{animation:music-wave 1.1s ease-in-out infinite alternate}.native-song-player header{position:relative;align-self:end;padding:.15rem .8rem .55rem}.native-song-player header:after{position:absolute;right:.65rem;top:.15rem;width:7px;height:7px;border-radius:50%;background:var(--primary2);box-shadow:0 0 0 5px color-mix(in srgb,var(--primary2) 10%,transparent);content:""}.native-song-player header h3{max-width:80%;margin:.3rem 0 .18rem;font:1.18rem/1.15 var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.native-song-player header p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audio-controls{grid-column:2;align-self:start;gap:.7rem;padding:0 .8rem .15rem}.audio-controls button{flex-basis:38px;height:38px;border-radius:13px}.audio-controls button:last-child{flex-basis:30px;height:30px;border-radius:10px}.audio-track input{height:3px}.audio-track div{margin-top:.42rem}.spotify-song-card{min-height:110px;border-radius:24px;background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--soft) 82%,var(--surface)))}@keyframes music-wave{0%{transform:scaleY(.55);opacity:.55}100%{transform:scaleY(1.35);opacity:1}}
@media(max-width:430px){.native-song-player{grid-template-columns:58px minmax(0,1fr);min-height:156px;padding:.85rem}.record-art{width:52px;height:66px;border-radius:14px}.record-art i{left:10px;right:10px;bottom:12px}.record-art:after{inset:auto 7px 7px}.record-art span:after{font-size:.78rem}.native-song-player header{padding:.1rem .55rem .5rem}.native-song-player header:after{display:none}.native-song-player header h3{max-width:100%;font-size:1.05rem}.audio-controls{grid-column:1/-1;padding:.7rem .1rem 0}.audio-controls button{flex-basis:36px;height:36px}}

/* Luxury music suite */
.native-song-player{grid-template-columns:92px minmax(0,1fr);min-height:184px;padding:1.15rem;border:1px solid color-mix(in srgb,var(--primary2) 20%,var(--line));border-radius:28px;background:linear-gradient(142deg,color-mix(in srgb,var(--primary) 92%,#090b13),color-mix(in srgb,var(--primary) 78%,#1f1320));color:#fff;box-shadow:0 28px 70px color-mix(in srgb,var(--primary) 28%,transparent),inset 0 1px rgba(255,255,255,.15);isolation:isolate}.native-song-player:before{inset:-90px -45px auto auto;width:230px;height:230px;background:radial-gradient(circle,color-mix(in srgb,var(--primary2) 38%,transparent),transparent 68%);filter:blur(8px);opacity:.7}.native-song-player:after{inset:7px;border:1px solid rgba(255,255,255,.1);border-radius:21px}.record-art{width:78px;height:104px;border:1px solid rgba(255,255,255,.22);border-radius:22px;background:radial-gradient(circle at 68% 23%,rgba(255,255,255,.42) 0 2px,transparent 3px),radial-gradient(circle at 45% 44%,color-mix(in srgb,var(--primary2) 85%,#fff) 0 7%,transparent 8%),conic-gradient(from 210deg at 45% 44%,transparent,color-mix(in srgb,var(--primary2) 65%,transparent),transparent 42%),linear-gradient(155deg,color-mix(in srgb,var(--primary2) 64%,#5d2745),#121624 72%);box-shadow:0 18px 38px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.2)}.record-art:before{inset:11px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:linear-gradient(125deg,rgba(255,255,255,.12),transparent 42%)}.record-art:after{left:50%;bottom:18px;width:32px;height:1px;inset:auto auto 18px 50%;border:0;border-radius:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);transform:translateX(-50%)}.record-art span{margin:0;font-size:0}.record-art span:after{content:"♥";font:1.05rem var(--serif);color:#fff;text-shadow:0 0 18px color-mix(in srgb,var(--primary2) 85%,#fff)}.record-art i{left:23px;right:23px;bottom:30px;height:12px;background:linear-gradient(90deg,#fff 0 8%,transparent 8% 18%,#fff 18% 27%,transparent 27% 38%,#fff 38% 55%,transparent 55% 66%,#fff 66% 76%,transparent 76% 88%,#fff 88%);transform-origin:center bottom;opacity:.66}.native-song-player header{padding:.1rem .85rem .7rem}.native-song-player header:after{width:6px;height:6px;background:color-mix(in srgb,var(--primary2) 58%,#fff);box-shadow:0 0 14px color-mix(in srgb,var(--primary2) 75%,#fff)}.native-song-player header small{color:color-mix(in srgb,var(--primary2) 44%,#fff);font-size:.57rem;letter-spacing:.16em}.native-song-player header h3{color:#fff;font:1.3rem/1.2 var(--serif);letter-spacing:.01em}.native-song-player header p{color:rgba(255,255,255,.62)}.audio-controls{gap:.75rem;padding:0 .85rem .1rem}.audio-controls button{flex-basis:42px;height:42px;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:linear-gradient(145deg,color-mix(in srgb,var(--primary2) 88%,#fff),var(--primary2));box-shadow:0 9px 24px color-mix(in srgb,var(--primary2) 30%,transparent),inset 0 1px rgba(255,255,255,.35)}.audio-controls button:last-child{flex-basis:34px;height:34px;border-color:rgba(255,255,255,.13);border-radius:50%;background:rgba(255,255,255,.09);color:rgba(255,255,255,.85)}.audio-track input{height:3px;background:linear-gradient(90deg,color-mix(in srgb,var(--primary2) 55%,#fff) var(--audio-progress,0%),rgba(255,255,255,.18) var(--audio-progress,0%))}.audio-track input::-webkit-slider-thumb{border-color:#252231;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.1)}.audio-track div{color:rgba(255,255,255,.48)}.audio-track div span{letter-spacing:.05em}.audio-error{color:#ffd6df!important}
@media(max-width:430px){.native-song-player{grid-template-columns:64px minmax(0,1fr);min-height:166px;padding:.85rem;border-radius:23px}.record-art{width:58px;height:78px;border-radius:17px}.record-art:before{inset:8px;border-radius:11px}.record-art i{left:16px;right:16px;bottom:23px;height:9px}.record-art:after{bottom:14px;width:24px}.native-song-player header{padding:.05rem .6rem .55rem}.native-song-player header h3{font-size:1.08rem}.audio-controls{grid-column:1/-1;padding:.7rem .15rem 0}.audio-controls button{flex-basis:38px;height:38px}}

/* Coverless premium player */
.native-song-player{display:grid;grid-template-columns:1fr;min-height:0;padding:1.35rem 1.4rem 1.2rem;border-radius:25px;background:linear-gradient(138deg,color-mix(in srgb,var(--primary) 94%,#080a10),color-mix(in srgb,var(--primary) 79%,#24101d));box-shadow:0 24px 65px color-mix(in srgb,var(--primary) 24%,transparent),inset 0 1px rgba(255,255,255,.13)}.native-song-player:before{inset:-120px -70px auto auto;width:270px;height:270px;background:radial-gradient(circle,color-mix(in srgb,var(--primary2) 30%,transparent),transparent 67%);filter:blur(13px)}.native-song-player:after{inset:6px;border-radius:19px}.native-song-player .record-art{display:none}.native-song-player header{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.4rem;padding:0 0 1rem;border-bottom:1px solid rgba(255,255,255,.1)}.native-song-player header:before{grid-column:2;grid-row:1/4;display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(255,255,255,.06);color:color-mix(in srgb,var(--primary2) 50%,#fff);font-size:.85rem;content:"♫";box-shadow:inset 0 1px rgba(255,255,255,.12)}.native-song-player header:after{display:none}.native-song-player header small{grid-column:1;display:flex;align-items:center;gap:.5rem;color:color-mix(in srgb,var(--primary2) 48%,#fff);font-size:.56rem;letter-spacing:.17em}.native-song-player header small:before{width:18px;height:1px;background:currentColor;content:"";opacity:.7}.native-song-player header h3{grid-column:1;max-width:none;margin:.15rem 0;color:#fff;font:1.34rem/1.18 var(--serif);letter-spacing:.005em}.native-song-player header p{grid-column:1;margin:0;color:rgba(255,255,255,.58);font-size:.72rem}.native-song-player .audio-controls{grid-column:1;display:grid;grid-template-columns:44px minmax(0,1fr) 34px;gap:.85rem;padding:1rem 0 0}.native-song-player .audio-controls button{width:44px;height:44px;box-shadow:0 9px 24px color-mix(in srgb,var(--primary2) 28%,transparent),inset 0 1px rgba(255,255,255,.4)}.native-song-player .audio-controls button:last-child{width:34px;height:34px;align-self:center}.native-song-player .audio-track{align-self:center}.native-song-player .audio-track input{display:block;height:4px}.native-song-player .audio-track div{margin-top:.5rem}.native-song-player .audio-track div span{color:rgba(255,255,255,.36);text-transform:lowercase}.native-song-player.is-playing header:before{animation:music-pulse 1.8s ease-in-out infinite}.native-song-player.is-playing:before{opacity:1;animation:ambient-glow 3.4s ease-in-out infinite alternate}@keyframes music-pulse{50%{transform:scale(1.08);border-color:color-mix(in srgb,var(--primary2) 55%,#fff);box-shadow:0 0 20px color-mix(in srgb,var(--primary2) 35%,transparent)}}@keyframes ambient-glow{from{transform:scale(.9);opacity:.48}to{transform:scale(1.08);opacity:.9}}
@media(max-width:430px){.native-song-player{display:grid;grid-template-columns:1fr;min-height:0;padding:1.05rem;border-radius:21px}.native-song-player header{padding:0 0 .85rem}.native-song-player header:before{width:30px;height:30px}.native-song-player header h3{font-size:1.12rem}.native-song-player .audio-controls{grid-column:1;grid-template-columns:40px minmax(0,1fr) 32px;gap:.65rem;padding-top:.85rem}.native-song-player .audio-controls button{width:40px;height:40px}.native-song-player .audio-controls button:last-child{width:32px;height:32px}.native-song-player .audio-track div span{display:none}}

.quote-library{min-width:0}.quote-library>header form label{display:flex;align-items:center;gap:.5rem;font-size:.7rem}.quote-library>header select{width:auto;padding:.5rem .75rem}.quote-bulk-form{display:grid;gap:1rem}.quote-bulk-toolbar{position:sticky;top:76px;display:grid;grid-template-columns:1fr minmax(180px,260px) auto;align-items:end;gap:.8rem;padding:1rem;border:1px solid #e2e9f2;border-radius:16px;background:#fffffff2;box-shadow:0 12px 35px #1d345315;backdrop-filter:blur(12px);z-index:4}.quote-bulk-toolbar>label:first-child{display:flex;align-items:center;gap:.55rem;padding-bottom:.7rem;font-size:.72rem;font-weight:800}.quote-bulk-toolbar input[type=checkbox],.quote-check input{width:18px;height:18px;accent-color:#c52262}.quote-delete-actions{display:flex;align-items:center;gap:.45rem}.quote-delete-actions button{white-space:nowrap}.quote-list{display:grid;gap:.65rem}.quote-list article{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem}.quote-check{display:grid!important;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:.7rem;margin:0!important}.quote-check span{font:1rem/1.55 var(--serif);color:#4e3340}.quote-list article>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.quote-list article button{white-space:nowrap}.quote-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding-top:1rem}.quote-pagination a,.quote-pagination span{padding:.6rem .9rem;border:1px solid #e1e8f1;border-radius:999px;font-size:.7rem;font-weight:800}.native-song-player .audio-controls button:focus-visible,.native-song-player .audio-track input:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:800px){.quote-bulk-toolbar{position:static;grid-template-columns:1fr}.quote-list article{grid-template-columns:1fr}.quote-list article>div{justify-content:flex-start}.quote-admin-grid{grid-template-columns:1fr}}
.quote-bulk-form.is-soft-delete .quote-bulk-toolbar{grid-template-columns:1fr auto}.trash-bulk-bar{position:sticky;top:75px;display:grid;grid-template-columns:1fr minmax(200px,300px) auto;align-items:end;gap:.8rem;margin-bottom:1rem;padding:1rem;border:1px solid #e2e9f2;border-radius:17px;background:#fffffff2;box-shadow:0 12px 35px #1d345315;backdrop-filter:blur(12px);z-index:4}.trash-bulk-bar>label:first-child{display:flex;align-items:center;gap:.55rem;padding-bottom:.7rem;font-weight:800}.trash-bulk-bar input[type=checkbox],.trash-check input{width:18px;height:18px;accent-color:#c52262}.trash-check{display:grid;grid-template-columns:20px minmax(0,1fr);gap:.25rem .65rem}.trash-check span{font-weight:800}.trash-check small{grid-column:2;color:#778397}.trash-list article{grid-template-columns:minmax(0,1fr) auto}
@media(max-width:800px){.trash-bulk-bar{position:static;grid-template-columns:1fr}.trash-list article{grid-template-columns:1fr}.quote-bulk-form.is-soft-delete .quote-bulk-toolbar{grid-template-columns:1fr}}

/* Romantic theme polish */
[data-theme=romantic] body{background:radial-gradient(circle at 8% 8%,rgba(255,199,220,.34),transparent 28rem),radial-gradient(circle at 92% 45%,rgba(246,177,205,.2),transparent 30rem),#fff8fa}[data-theme=blue] body{background:radial-gradient(circle at 9% 7%,rgba(168,202,255,.28),transparent 28rem),radial-gradient(circle at 94% 52%,rgba(211,185,245,.14),transparent 30rem),#f6f9ff}.site-header:after{position:absolute;left:50%;bottom:-4px;width:7px;height:7px;border:1px solid var(--primary2);border-radius:50% 50% 50% 0;background:var(--bg);content:"";transform:translateX(-50%) rotate(-45deg)}.counter-card,.special-card,.album-card{backdrop-filter:blur(12px)}.hero-polaroid{box-shadow:0 35px 90px color-mix(in srgb,var(--primary) 22%,transparent),0 0 0 1px rgba(255,255,255,.8)}.love-note:after{position:absolute;right:2rem;bottom:1.2rem;color:#e5a2b9;font:2rem var(--script);content:"♡";opacity:.65}.quote-card{box-shadow:0 24px 60px color-mix(in srgb,var(--primary2) 22%,transparent)}.site-footer .brand-mark span{display:inline-block;animation:footer-heart 2.8s ease-in-out infinite}@keyframes footer-heart{50%{transform:scale(1.12);text-shadow:0 0 18px color-mix(in srgb,var(--primary2) 45%,transparent)}}@media(prefers-reduced-motion:reduce){.site-footer .brand-mark span{animation:none}}

/* Stable admin action bars */
.quote-bulk-toolbar,.trash-bulk-bar{top:12px;background:#fff;border-color:#dce5f0;box-shadow:0 12px 30px rgba(31,50,78,.16);backdrop-filter:none}.quote-bulk-form.is-soft-delete .quote-bulk-toolbar{grid-template-columns:minmax(210px,1fr) auto;align-items:center}.quote-bulk-toolbar>label:first-child,.trash-bulk-bar>label:first-child{padding:0}.quote-delete-actions{display:grid;grid-template-columns:auto auto;align-items:center;gap:.65rem}.quote-delete-actions .danger-button{min-height:46px;padding:.75rem 1.2rem;border-radius:14px;background:linear-gradient(135deg,#9f1647,#c51f5d);box-shadow:0 9px 22px rgba(159,22,71,.2)}.quote-delete-actions .danger-link{min-height:46px;padding:.7rem 1rem!important;border:1px solid #efcad7!important;border-radius:14px!important;background:#fff7fa!important;color:#9f1647!important;font-weight:800}.quote-delete-actions .danger-link:before{margin-right:.4rem;content:"♲"}.quote-list{position:relative;z-index:1}.quote-list article{background:#fff}.trash-bulk-bar{grid-template-columns:minmax(170px,1fr) minmax(220px,300px) auto}.trash-bulk-bar .danger-button{min-height:44px;border-radius:13px}.inline-actions button{min-height:36px;border-radius:9px}.inline-actions .danger-link{padding:.55rem .7rem!important;border:1px solid #f0d0db!important;background:#fff8fa!important}.admin-topbar{position:relative;z-index:6}
@media(max-width:1100px){.quote-bulk-form.is-soft-delete .quote-bulk-toolbar{grid-template-columns:1fr}.quote-delete-actions{grid-template-columns:1fr 1fr}.quote-delete-actions button{width:100%}.trash-bulk-bar{grid-template-columns:1fr 1fr}.trash-bulk-bar .danger-button{grid-column:1/-1}}
@media(max-width:620px){.quote-delete-actions,.trash-bulk-bar{grid-template-columns:1fr}.trash-bulk-bar .danger-button{grid-column:auto}.quote-bulk-toolbar,.trash-bulk-bar{top:6px;padding:.8rem}.quote-delete-actions .danger-button,.quote-delete-actions .danger-link{min-height:42px}}

/* Prefer production-sized WebP artwork */
.install-page,.gate-page,.admin-login-page{background-image:url("../assets/romantic-hero.webp")}.intro-overlay{background-image:linear-gradient(rgba(4,14,33,.22),rgba(4,10,25,.52)),url("../assets/romantic-hero.webp")}
@media(max-width:700px){.install-page,.gate-page,.admin-login-page{background-image:url("../assets/romantic-hero-mobile.webp");background-attachment:scroll}.intro-overlay{background-image:linear-gradient(rgba(4,14,33,.22),rgba(4,10,25,.52)),url("../assets/romantic-hero-mobile.webp")}}

.quote-bulk-form.is-soft-delete .quote-bulk-toolbar{grid-template-columns:1fr}.quote-delete-actions{display:grid;width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}.quote-delete-actions button{min-width:0!important;white-space:normal!important;line-height:1.25}.quote-delete-actions .danger-button{padding:.75rem 1rem}.quote-delete-actions .danger-link{padding:.7rem .85rem!important}
@media(max-width:800px){.quote-bulk-toolbar,.trash-bulk-bar{position:sticky}}
@media(max-width:620px){.quote-delete-actions{grid-template-columns:1fr}}

html,body{overflow-x:clip}.letter-grid,.letter-card{min-width:0}.letter-card{overflow-wrap:anywhere;word-break:break-word}

/* Consistent vertical rhythm */
.admin-login-card>.eyebrow,.install-card>.eyebrow,.gate-card>.eyebrow{margin-bottom:.65rem}.admin-login-card h1,.install-card h1,.gate-card h1{margin-bottom:1.35rem}.admin-login-card>.form-error,.install-card>.form-error,.gate-card>.form-error{margin:.15rem 0 1.25rem}.admin-login-card .form-stack,.install-card .form-stack,.gate-card .gate-form{gap:1.2rem}.admin-login-card .form-stack label,.install-card .form-stack label,.gate-card .gate-form label{gap:.6rem}.admin-login-card .form-stack button,.install-card .form-stack button,.gate-card .gate-form button{margin-top:.25rem;min-height:48px}.admin-login-card>a{display:inline-flex;margin-top:1.3rem;padding:.35rem .15rem;color:#dce6f3}.admin-login-card>a:hover{text-decoration:underline}.editor-form>h2,.editor-form>p,.admin-card>h2,.admin-card>p{margin-top:0}.editor-form label{gap:.55rem}.editor-form label+label{margin-top:.1rem}.editor-form small{line-height:1.5}.admin-title>div>p:last-child{margin:.5rem 0 0;color:#718097}.data-table>article:last-child{border-bottom:0}.quote-library>header{margin-bottom:.8rem}.quote-explainer{margin:0 0 1rem;line-height:1.55}.quote-bulk-toolbar{margin-bottom:.35rem}.profile-card-head{margin-bottom:.25rem}.settings-grid fieldset>p{line-height:1.55}.inline-actions{flex-wrap:wrap}
@media(max-width:620px){.admin-login-card h1,.install-card h1,.gate-card h1{margin-bottom:1.1rem}.admin-login-card>.form-error,.install-card>.form-error,.gate-card>.form-error{margin-bottom:1rem}.admin-login-card .form-stack,.install-card .form-stack,.gate-card .gate-form{gap:1rem}.admin-login-card>a{margin-top:1.1rem}}

/* Değişmez romantik sahne: kilit, karşılama ve yönetici girişi tek kaynaktan beslenir. */
:root{--en-romantic-scene:linear-gradient(rgba(4,14,33,.22),rgba(4,10,25,.52)),url("../assets/romantic-hero.webp")}
.intro-overlay,[data-theme] body.gate-page,[data-theme] body.admin-login-page{background-image:var(--en-romantic-scene)!important;background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important}
[data-theme] body.gate-page,[data-theme] body.admin-login-page{background-color:#091a35!important;background-attachment:fixed!important}
.gate-shell,.admin-login-shell{background:transparent!important}

/* Romantik hikâye bölümleri */
.story-chapter-preview{position:relative;margin-block:7rem}.story-chapter-preview:before{position:absolute;inset:-4rem -8vw;z-index:-1;background:radial-gradient(circle at 15% 20%,color-mix(in srgb,var(--primary2) 12%,transparent),transparent 24rem),radial-gradient(circle at 85% 75%,color-mix(in srgb,var(--primary) 10%,transparent),transparent 26rem);content:"";pointer-events:none}.story-chapter-stack{display:grid;gap:2.2rem}.story-chapter-card{position:relative;display:grid;grid-template-columns:minmax(260px,.88fr) 1.12fr;align-items:center;min-height:390px;border:1px solid color-mix(in srgb,var(--primary2) 18%,var(--line));border-radius:34px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 28px 80px color-mix(in srgb,var(--primary) 13%,transparent);overflow:hidden}.story-chapter-card:nth-child(even){grid-template-columns:1.12fr minmax(260px,.88fr)}.story-chapter-card:nth-child(even) .story-chapter-photo{grid-column:2}.story-chapter-card:nth-child(even) .story-chapter-copy{grid-column:1;grid-row:1}.story-chapter-photo{position:relative;height:100%;min-height:390px;overflow:hidden;background:linear-gradient(145deg,var(--primary),var(--primary2));display:grid;place-items:center;color:#fff;font:2rem var(--serif)}.story-chapter-photo:after{position:absolute;inset:0;background:linear-gradient(130deg,rgba(255,255,255,.2),transparent 38%,rgba(10,14,35,.14));content:"";pointer-events:none}.story-chapter-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.story-chapter-card:hover .story-chapter-photo img{transform:scale(1.035)}.story-chapter-copy{position:relative;padding:clamp(2rem,5vw,4.5rem)}.story-chapter-copy time,.story-journey-copy time{display:inline-flex;align-items:center;gap:.7rem;color:var(--primary2);font-size:.68rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.story-chapter-copy time:before,.story-journey-copy time:before{width:30px;height:1px;background:currentColor;content:""}.story-chapter-copy h3{max-width:560px;margin:.8rem 0 1rem;font:clamp(2rem,4vw,3.6rem)/1 var(--serif);letter-spacing:-.04em}.story-chapter-copy p{max-width:590px;margin:0;color:var(--muted);font:1rem/1.85 var(--serif)}.story-seal{position:absolute;right:2rem;top:2rem;display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;color:var(--primary2);font-size:1.5rem;animation:story-seal 3.4s ease-in-out infinite}.story-page{max-width:1180px}.story-page-hero{margin-bottom:6rem}.story-heart-line{display:flex;align-items:center;justify-content:center;gap:.8rem;margin:2rem auto 0;color:var(--primary2)}.story-heart-line i{width:90px;height:1px;background:linear-gradient(90deg,transparent,currentColor)}.story-heart-line i:last-child{transform:rotate(180deg)}.story-heart-line b{animation:pulse 1.8s ease-in-out infinite}.story-journey{position:relative;display:grid;gap:7rem}.story-journey:before{position:absolute;left:50%;top:2rem;bottom:2rem;width:1px;background:linear-gradient(transparent,var(--primary2) 8%,var(--primary2) 92%,transparent);content:"";opacity:.3}.story-journey-chapter{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,7rem);align-items:center}.story-journey-chapter.is-reverse .story-journey-photo{grid-column:2}.story-journey-chapter.is-reverse .story-journey-copy{grid-column:1;grid-row:1}.story-journey-photo{position:relative;min-height:480px;padding:12px 12px 3rem;background:#fff;box-shadow:0 30px 90px color-mix(in srgb,var(--primary) 19%,transparent);transform:rotate(-1.4deg);overflow:hidden}.is-reverse .story-journey-photo{transform:rotate(1.4deg)}.story-journey-photo img{width:100%;height:430px;object-fit:cover}.story-journey-photo>span{display:grid;place-items:center;height:430px;background:linear-gradient(145deg,var(--primary),var(--primary2));color:#fff;font:2.5rem var(--serif)}.story-journey-photo>span i{color:#ffbad2;font-style:normal}.story-journey-photo>b{position:absolute;right:1rem;bottom:.8rem;color:#dab1c0;font:2rem var(--script)}.story-journey-copy{position:relative;padding:2rem}.story-journey-copy:before{position:absolute;left:-3.5rem;top:50%;width:13px;height:13px;border:4px solid var(--bg);border-radius:50%;background:var(--primary2);box-shadow:0 0 0 5px color-mix(in srgb,var(--primary2) 13%,transparent);content:""}.is-reverse .story-journey-copy:before{left:auto;right:-3.5rem}.story-journey-copy h2{margin:.9rem 0 1.2rem;font:clamp(2.4rem,5vw,4.4rem)/.98 var(--serif);letter-spacing:-.045em}.story-journey-copy>div{color:var(--muted);font:1.05rem/1.95 var(--serif)}.story-journey-copy>span{display:block;margin-top:1.5rem;color:var(--primary2);font:1.2rem var(--script)}.story-empty{margin:4rem auto;max-width:760px}

/* Yükleme geri bildirimi */
.upload-progress{grid-column:1/-1;display:grid;gap:.55rem}.upload-progress[hidden]{display:none}.upload-progress>span{height:8px;border-radius:999px;background:#e8edf5;overflow:hidden}.upload-progress i{display:block;width:2%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#a8134e,#ed3477);transition:width .2s}.upload-progress b{color:#5f6d82;font-size:.75rem}.upload-form button:disabled{cursor:wait;opacity:.76}.check-label{display:flex;align-items:center;gap:.65rem}.check-label input{width:20px;height:20px;accent-color:var(--primary2)}

/* Cihaz kapasitesine göre efekt bütçesi */
[data-effects=simple] .theme-atmosphere,[data-effects=simple] .paper-heart,[data-effects=simple] .petal{display:none!important}[data-effects=simple] body:not(.admin-page):not(.install-page):not(.gate-page):not(.admin-login-page):before{display:none!important}[data-effects=simple] .site-logo>span:after,[data-effects=simple] .photo-placeholder:after,[data-effects=simple] .story-seal,[data-effects=simple] .site-footer .brand-mark span,[data-effects=simple] .intro-stars,[data-effects=simple] .heartbeat b,[data-effects=simple] .native-song-player:before,[data-effects=simple] .native-song-player.is-playing header:before{animation:none!important}[data-effects=simple] .site-header,[data-effects=simple] .counter-card,[data-effects=simple] .special-card,[data-effects=simple] .album-card,[data-effects=simple] .memory-sticker,[data-effects=simple] .quote-bulk-toolbar,[data-effects=simple] .trash-bulk-bar{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}[data-effects=simple] .story-chapter-photo img,[data-effects=simple] .hero-polaroid,[data-effects=simple] .hero-art{transition:none!important}[data-effects=simple] .hero-art{transform:none!important}[data-effects=simple] .primary-button:after{display:none}[data-effects=simple] .reveal{opacity:1!important;transform:none!important;transition:none!important}[data-effects=still] *,[data-effects=still] *:before,[data-effects=still] *:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}[data-effects=still] .reveal{opacity:1!important;transform:none!important}
@keyframes story-seal{50%{transform:rotate(-7deg) scale(1.07);box-shadow:0 0 24px color-mix(in srgb,var(--primary2) 22%,transparent)}}

@media(max-width:900px){.story-chapter-card,.story-chapter-card:nth-child(even){grid-template-columns:1fr}.story-chapter-card:nth-child(even) .story-chapter-photo,.story-chapter-card:nth-child(even) .story-chapter-copy{grid-column:auto;grid-row:auto}.story-chapter-photo{min-height:340px}.story-journey:before{left:18px}.story-journey-chapter,.story-journey-chapter.is-reverse{grid-template-columns:1fr;gap:1.4rem;padding-left:2.7rem}.story-journey-chapter.is-reverse .story-journey-photo,.story-journey-chapter.is-reverse .story-journey-copy{grid-column:auto;grid-row:auto}.story-journey-copy:before,.is-reverse .story-journey-copy:before{left:-2.95rem;right:auto;top:3.1rem}.story-journey-photo,.is-reverse .story-journey-photo{min-height:380px;transform:rotate(-.6deg)}.story-journey-photo img,.story-journey-photo>span{height:340px}}
@media(max-width:700px){:root{--en-romantic-scene:linear-gradient(rgba(4,14,33,.22),rgba(4,10,25,.52)),url("../assets/romantic-hero-mobile.webp")}[data-theme] body.gate-page,[data-theme] body.admin-login-page{background-attachment:scroll!important}.story-chapter-preview{margin-block:4.5rem}.story-chapter-stack{gap:1.2rem}.story-chapter-card{min-height:0;border-radius:25px}.story-chapter-photo{min-height:280px}.story-chapter-copy{padding:1.7rem}.story-seal{right:1rem;top:1rem;width:38px;height:38px}.story-chapter-copy h3{padding-right:2.5rem;font-size:2.25rem}.story-page-hero{margin-bottom:4rem}.story-journey{gap:4rem}.story-journey-photo{min-height:300px;padding:8px 8px 2.5rem}.story-journey-photo img,.story-journey-photo>span{height:270px}.story-journey-copy{padding:1rem .25rem}.story-journey-copy h2{font-size:2.5rem}.story-heart-line i{width:55px}}
.admin-brand>small{color:#5b6677}

/* Akıcı modda kaydırma sırasında büyük raster katmanlar üreten efektleri kaldır. */
[data-effects=simple] main *{filter:none!important}
[data-effects=simple]{scroll-behavior:auto!important}
[data-effects=simple] .site-header,[data-effects=simple] main .hero-polaroid,[data-effects=simple] main .love-note,[data-effects=simple] main .album-card,[data-effects=simple] main .timeline-preview,[data-effects=simple] main .quote-card,[data-effects=simple] main .special-card,[data-effects=simple] main .song-card,[data-effects=simple] main .native-song-player,[data-effects=simple] main .story-chapter-card,[data-effects=simple] main .story-journey-photo,[data-effects=simple] main .letter-card,[data-effects=simple] main .date-grid article{box-shadow:none!important}

/* Akıcı romantik efektler: yalnız transform ve opacity, scroll dinleyicisi yok. */
.effects-ready[data-effects=simple] .hero-copy>.couple-badges{animation:lite-rise .48s both}
.effects-ready[data-effects=simple] .hero-copy>.eyebrow{animation:lite-rise .48s .06s both}
.effects-ready[data-effects=simple] .hero-copy>h1{animation:lite-rise .55s .1s both}
.effects-ready[data-effects=simple] .hero-copy>.hero-description{animation:lite-rise .52s .15s both}
.effects-ready[data-effects=simple] .hero-copy>.hero-buttons,.effects-ready[data-effects=simple] .hero-copy>.counter-label,.effects-ready[data-effects=simple] .hero-copy>.counter-card{animation:lite-rise .5s .2s both}
.effects-ready[data-effects=simple] .hero-polaroid{animation:lite-photo-float 6s 1s ease-in-out infinite}
.effects-ready[data-effects=simple] .heartbeat b{animation:lite-heart 2.6s ease-in-out infinite!important}
.effects-ready[data-effects=simple] .native-song-player.is-playing .audio-controls button:first-child{animation:lite-player 1.8s ease-in-out infinite}
.effects-ready[data-effects=simple] .story-seal{animation:lite-heart 3.2s ease-in-out infinite!important}
.effects-ready[data-effects=simple] .theme-button i{transition:transform .35s ease}
.effects-ready[data-effects=simple] .theme-button:hover i{transform:rotate(24deg)}
.effects-ready[data-effects=simple] .primary-button:active{transform:scale(.985)}
.effects-ready[data-effects=simple] .album-card,.effects-ready[data-effects=simple] .story-chapter-card,.effects-ready[data-effects=simple] .letter-card{contain:paint}
@media(hover:hover) and (pointer:fine){.effects-ready[data-effects=simple] .album-card:hover{transform:translateY(-3px)!important}.effects-ready[data-effects=simple] .story-chapter-card:hover,.effects-ready[data-effects=simple] .letter-card:hover{transform:translateY(-2px)}}
@keyframes lite-rise{from{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes lite-photo-float{0%,100%{transform:rotate(3deg) translate3d(0,0,0)}50%{transform:rotate(3deg) translate3d(0,-4px,0)}}
@keyframes lite-heart{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
@keyframes lite-player{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
@media(prefers-reduced-motion:reduce){.effects-ready[data-effects=simple] *{animation:none!important;transition:none!important}}

/* Ana sayfa: etkileşimli mühürlü mektup */
.sealed-letter-section{margin-block:clamp(5rem,9vw,8rem);text-align:center}.sealed-letter-heading{max-width:720px;margin:0 auto 2.5rem}.sealed-letter-heading h2{margin:.45rem 0 .8rem;font:clamp(2.5rem,5vw,4.5rem)/.98 var(--serif);letter-spacing:-.045em}.sealed-letter-heading>p:last-child{margin:0;color:var(--muted);font:1rem/1.7 var(--serif)}.envelope-stage{position:relative;isolation:isolate;min-height:410px;transition:min-height .55s cubic-bezier(.2,.75,.2,1)}.sealed-envelope{position:absolute;left:50%;top:45px;z-index:3;width:min(540px,92vw);height:330px;padding:0;border:0;background:transparent;color:var(--text);transform:translateX(-50%);cursor:pointer;perspective:1000px}.envelope-back{position:absolute;inset:42px 0 0;border:1px solid color-mix(in srgb,var(--primary2) 28%,#d8b8b1);border-radius:12px 12px 22px 22px;background:linear-gradient(145deg,#fff6ed,#f7dfd5);overflow:hidden}.envelope-back:before,.envelope-back:after{position:absolute;bottom:-2px;width:72%;height:100%;background:linear-gradient(145deg,#fae8de,#f1d3c9);content:"";clip-path:polygon(0 100%,100% 0,100% 100%)}.envelope-back:before{left:0}.envelope-back:after{right:0;transform:scaleX(-1)}.envelope-back i{position:absolute;inset:auto 0 0;height:62%;background:linear-gradient(165deg,transparent 49.4%,rgba(170,89,98,.14) 50%,transparent 50.6%);clip-path:polygon(0 100%,50% 8%,100% 100%)}.envelope-preview{position:absolute;left:8%;right:8%;top:8px;height:245px;border:1px solid #eaded8;border-radius:8px 8px 2px 2px;background:repeating-linear-gradient(#fffdf9 0,#fffdf9 30px,#eedee0 31px);color:#b73363;transform:translate3d(0,28px,0);transition:transform .65s cubic-bezier(.2,.8,.2,1)}.envelope-preview i{display:block;margin-top:2rem;font:1.25rem var(--script)}.envelope-flap{position:absolute;left:0;right:0;top:42px;height:190px;border-radius:12px 12px 0 0;background:linear-gradient(160deg,#f9e8df,#efd0c7);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;transform:rotateX(0);transition:transform .62s cubic-bezier(.2,.75,.2,1);backface-visibility:hidden}.wax-seal{position:absolute;left:50%;top:145px;z-index:5;display:flex;align-items:center;justify-content:center;gap:.16rem;width:82px;height:82px;border:5px double rgba(255,220,225,.4);border-radius:50%;background:radial-gradient(circle at 36% 28%,#ef668c,#a91249 72%);color:#fff6f7;box-shadow:0 10px 24px rgba(111,14,51,.22);font:1rem var(--serif);transform:translateX(-50%);transition:opacity .25s,transform .45s}.wax-seal i{font-style:normal;font-size:.8rem}.envelope-open-hint{position:absolute;left:50%;bottom:-1rem;display:flex;align-items:center;gap:.5rem;padding:.7rem 1.1rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:.7rem;font-weight:900;letter-spacing:.08em;white-space:nowrap;transform:translateX(-50%)}.envelope-open-hint i{font-style:normal;color:var(--primary2)}.envelope-letter-paper{position:absolute;left:50%;top:18px;z-index:2;width:min(680px,94vw);max-height:640px;overflow:auto;padding:clamp(2rem,6vw,4.5rem);border:1px solid #eadde0;border-radius:13px 13px 22px 22px;outline:0;background:repeating-linear-gradient(to bottom,#fffdfa 0,#fffdfa 34px,#f0e1e3 35px);box-shadow:0 28px 70px color-mix(in srgb,var(--primary) 16%,transparent);text-align:left;opacity:0;transform:translate3d(-50%,145px,0) scale(.92);transition:opacity .35s,transform .68s cubic-bezier(.18,.82,.25,1);pointer-events:none}.envelope-letter-paper:focus-visible{outline:3px solid color-mix(in srgb,var(--primary2) 55%,transparent);outline-offset:5px}.letter-date{display:block;color:var(--primary2);font-size:.67rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.letter-ornament{position:absolute;right:clamp(1.4rem,5vw,3.8rem);top:2rem;color:var(--primary2);font:1.2rem var(--script)}.letter-ornament i{font-style:normal}.envelope-letter-paper h3{max-width:570px;margin:1.2rem 0 1.8rem;font:clamp(2rem,5vw,3.7rem)/1.05 var(--script);color:var(--text);overflow-wrap:anywhere}.letter-body{color:var(--text);font:1.05rem/2.05 var(--serif);overflow-wrap:anywhere}.envelope-letter-paper footer{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-top:2.5rem}.envelope-letter-paper footer>span{max-width:390px;color:var(--primary2);font:1.2rem/1.5 var(--script)}.envelope-letter-paper footer button{padding:.7rem 1rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);font-size:.68rem;font-weight:800}.envelope-letter-paper footer button i{font-style:normal}.sealed-letter-section.is-open .envelope-stage{min-height:700px}.sealed-letter-section.is-open .sealed-envelope{pointer-events:none}.sealed-letter-section.is-open .envelope-flap{transform:rotateX(178deg)}.sealed-letter-section.is-open .envelope-preview{transform:translate3d(0,-55px,0)}.sealed-letter-section.is-open .wax-seal{opacity:0;transform:translateX(-50%) scale(.7) rotate(-18deg)}.sealed-letter-section.is-open .envelope-open-hint{opacity:0}.sealed-letter-section.is-open .envelope-letter-paper{z-index:6;opacity:1;transform:translate3d(-50%,0,0) scale(1);pointer-events:auto}.envelope-heart-burst{position:absolute;left:50%;top:190px;z-index:9;width:1px;height:1px;pointer-events:none}.envelope-heart-burst i{position:absolute;color:var(--primary2);font-style:normal;font-size:clamp(.9rem,2vw,1.45rem);opacity:0}.is-bursting .envelope-heart-burst i{animation:envelope-heart-pop .78s cubic-bezier(.15,.75,.25,1) both}.heart-1{--heart-x:-210px;--heart-y:-135px;--heart-r:-25deg}.heart-2{--heart-x:-140px;--heart-y:-205px;--heart-r:18deg}.heart-3{--heart-x:-65px;--heart-y:-170px;--heart-r:-15deg}.heart-4{--heart-x:18px;--heart-y:-220px;--heart-r:22deg}.heart-5{--heart-x:95px;--heart-y:-175px;--heart-r:-22deg}.heart-6{--heart-x:185px;--heart-y:-135px;--heart-r:28deg}.heart-7{--heart-x:-245px;--heart-y:-55px;--heart-r:16deg}.heart-8{--heart-x:245px;--heart-y:-45px;--heart-r:-18deg}.heart-9{--heart-x:0;--heart-y:-265px;--heart-r:12deg}@keyframes envelope-heart-pop{0%{opacity:0;transform:translate3d(0,0,0) scale(.25) rotate(0)}24%{opacity:1}100%{opacity:0;transform:translate3d(var(--heart-x),var(--heart-y),0) scale(1.1) rotate(var(--heart-r))}}
.envelope-settings{display:grid;gap:1rem;margin:0;padding:1.2rem;border:1px solid #efd6df;border-radius:18px;background:linear-gradient(145deg,#fff8fa,#fff)}.envelope-settings legend{padding:0 .5rem;color:#a8134e;font-weight:900}.envelope-settings>p{margin:0;color:#68758a}.envelope-settings a{color:#a8134e;font-weight:800}.form-notice{padding:.85rem 1rem;border:1px solid #f1d5df;border-radius:12px;background:#fff8fa;color:#8b3153;font-size:.75rem;line-height:1.55}
@media(max-width:700px){.sealed-letter-section{margin-block:4.5rem}.sealed-letter-heading{margin-bottom:1.4rem}.envelope-stage{min-height:345px}.sealed-envelope{top:30px;height:280px}.envelope-back{inset:38px 0 0}.envelope-flap{top:38px;height:160px}.envelope-preview{height:210px}.wax-seal{top:126px;width:68px;height:68px}.envelope-open-hint{bottom:-.6rem}.sealed-letter-section.is-open .envelope-stage{min-height:min(760px,82vh)}.envelope-letter-paper{top:0;max-height:min(650px,76vh);padding:3.5rem 1.35rem 2rem}.envelope-letter-paper h3{margin:1rem 0 1.35rem}.letter-body{font-size:.98rem;line-height:1.9}.letter-ornament{right:1.2rem;top:1.35rem}.envelope-letter-paper footer{align-items:stretch;flex-direction:column}.envelope-letter-paper footer button{width:100%}.heart-1{--heart-x:-115px}.heart-2{--heart-x:-85px}.heart-6{--heart-x:95px}.heart-7{--heart-x:-130px}.heart-8{--heart-x:130px}}
@media(prefers-reduced-motion:reduce){.envelope-stage,.envelope-preview,.envelope-flap,.wax-seal,.envelope-letter-paper{transition:none!important}.envelope-heart-burst{display:none!important}}[data-effects=still] .envelope-stage,[data-effects=still] .envelope-preview,[data-effects=still] .envelope-flap,[data-effects=still] .wax-seal,[data-effects=still] .envelope-letter-paper{transition:none!important}[data-effects=still] .envelope-heart-burst{display:none!important}[data-effects=simple] .envelope-letter-paper{box-shadow:none}

/* Mühürlü mektup — premium kırtasiye görünümü */
.sealed-letter-heading{margin-bottom:3.25rem}.envelope-stage{min-height:390px}.sealed-envelope{top:30px;width:min(510px,90vw);height:315px;filter:none}.envelope-back{inset:45px 0 0;border:1px solid #d9b8ad;border-radius:7px 7px 15px 15px;background:#ead1c5;box-shadow:0 20px 42px rgba(92,47,54,.13),0 2px 0 rgba(255,255,255,.8) inset}.envelope-back:before,.envelope-back:after{background:linear-gradient(145deg,#f4dfd5,#e7c5b9)}.envelope-back i{opacity:.45}.envelope-preview{left:7%;right:7%;top:18px;height:225px;border:1px solid #ddcec6;border-radius:4px;background:linear-gradient(90deg,rgba(126,65,74,.025),transparent 15%,transparent 85%,rgba(126,65,74,.025)),#fffaf2;box-shadow:0 -3px 12px rgba(72,38,42,.07);transform:translate3d(0,29px,0)}.envelope-preview:before{position:absolute;inset:10px;border:1px solid rgba(151,104,99,.16);content:""}.envelope-preview i{position:relative;z-index:1;margin-top:1.65rem;color:#8f284d;font:1.05rem var(--serif);letter-spacing:.22em}.envelope-flap{top:45px;height:177px;border:1px solid #d8b5aa;border-bottom:0;border-radius:7px 7px 0 0;background:linear-gradient(155deg,#f4ded3 0,#e9c8bc 72%);box-shadow:0 -1px 0 rgba(255,255,255,.7) inset}.wax-seal{top:143px;width:76px;height:76px;gap:.2rem;border:1px solid #8d153f;background:radial-gradient(circle at 35% 28%,#dc567a 0,#b21d50 44%,#851036 100%);box-shadow:0 0 0 3px #c84a70,0 0 0 5px rgba(255,236,229,.75),0 8px 18px rgba(92,18,48,.24);font:700 1.05rem var(--serif);letter-spacing:.02em}.wax-seal:before{position:absolute;inset:7px;border:1px solid rgba(255,236,232,.48);border-radius:50%;content:""}.wax-seal b,.wax-seal i{position:relative;z-index:1}.wax-seal b{font-weight:700}.wax-seal i{color:#ffd9df;font-size:.82rem}.envelope-open-hint{bottom:-.3rem;padding:.64rem 1.05rem;border-color:#ddc8c5;background:#fffaf6;color:#6e4650;font-size:.64rem;letter-spacing:.12em;box-shadow:0 7px 18px rgba(78,45,51,.08)}.envelope-open-hint i{font-size:.8rem}.envelope-letter-paper{width:min(650px,94vw);max-height:650px;padding:clamp(2.6rem,6vw,4.8rem);border:1px solid #d9c8c1;border-radius:5px;background:linear-gradient(90deg,rgba(117,69,60,.03),transparent 11%,transparent 89%,rgba(117,69,60,.03)),#fffdf7;box-shadow:0 30px 65px rgba(70,37,43,.16);transform:translate3d(-50%,125px,0) scale(.96);transition:opacity .28s ease,transform .56s cubic-bezier(.22,.72,.2,1)}.envelope-letter-paper:before{position:absolute;inset:13px;border:1px solid rgba(147,105,95,.2);pointer-events:none;content:""}.envelope-letter-paper:after{position:absolute;left:50%;top:22px;width:54px;height:1px;background:#c89aa3;box-shadow:-64px 0 0 -0.25px rgba(200,154,163,.55),64px 0 0 -0.25px rgba(200,154,163,.55);content:"";transform:translateX(-50%)}.letter-date{position:relative;color:#9d3658;letter-spacing:.18em}.letter-ornament{right:clamp(2rem,6vw,4.5rem);top:2.7rem;color:#9d3658;font:700 1rem var(--serif);letter-spacing:.16em}.letter-ornament i{color:#d12d65;font-size:.8rem}.envelope-letter-paper h3{position:relative;max-width:520px;margin:1.45rem 0 2rem;font:clamp(2.2rem,4.3vw,3.55rem)/1.08 var(--serif);letter-spacing:-.035em}.letter-body{position:relative;color:#4d3037;font:1.04rem/2 var(--serif)}.envelope-letter-paper footer{position:relative;padding-top:1.2rem;border-top:1px solid rgba(158,112,110,.18)}.envelope-letter-paper footer>span{color:#96365a;font-size:1.1rem}.envelope-letter-paper footer button{border-color:#dac7c3;background:#fffaf6;color:#68434c}.sealed-letter-section.is-open .envelope-stage{min-height:715px}.sealed-letter-section.is-open .envelope-preview{transform:translate3d(0,-42px,0)}.sealed-letter-section.is-open .wax-seal{transform:translateX(-50%) scale(.82);transition-duration:.28s}.envelope-heart-burst i{font-size:clamp(.7rem,1.4vw,1rem);color:#bd315f}.is-bursting .envelope-heart-burst i{animation-duration:.62s}.envelope-heart-burst .heart-2,.envelope-heart-burst .heart-4,.envelope-heart-burst .heart-6,.envelope-heart-burst .heart-8{display:none}@keyframes envelope-heart-pop{0%{opacity:0;transform:translate3d(0,0,0) scale(.4)}30%{opacity:.72}100%{opacity:0;transform:translate3d(var(--heart-x),var(--heart-y),0) scale(.9) rotate(var(--heart-r))}}
@media(max-width:700px){.sealed-letter-heading{margin-bottom:2rem}.envelope-stage{min-height:330px}.sealed-envelope{top:20px;height:270px}.envelope-back{inset:39px 0 0}.envelope-flap{top:39px;height:154px}.envelope-preview{top:14px;height:198px}.wax-seal{top:120px;width:66px;height:66px;font-size:.9rem}.wax-seal:before{inset:6px}.sealed-letter-section.is-open .envelope-stage{min-height:min(770px,84vh)}.envelope-letter-paper{padding:3.8rem 1.75rem 2rem}.envelope-letter-paper:before{inset:9px}.letter-ornament{right:1.8rem;top:2.2rem}.envelope-letter-paper h3{font-size:2.35rem}.letter-body{font-size:.98rem;line-height:1.88}}
.wax-seal b{font-size:1.14rem}.wax-seal i{font-size:.92rem}

/* Mektup vitrini: sakin, fiziksel ve editoryal kompozisyon */
.sealed-letter-section{max-width:1120px;padding:clamp(2.2rem,6vw,5rem);border:1px solid color-mix(in srgb,var(--primary2) 18%,#dfd5d2);border-radius:36px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 97%,#f8e9e4),color-mix(in srgb,var(--surface) 92%,#f4e4e9));box-shadow:0 28px 75px color-mix(in srgb,var(--primary) 10%,transparent);overflow:hidden}.sealed-letter-section:before{position:absolute;inset:16px;border:1px solid color-mix(in srgb,var(--primary2) 10%,transparent);border-radius:25px;content:"";pointer-events:none}.sealed-letter-section:after{position:absolute;left:50%;top:0;width:120px;height:3px;border-radius:0 0 5px 5px;background:linear-gradient(90deg,transparent,var(--primary2),transparent);content:"";transform:translateX(-50%)}.sealed-letter-heading{position:relative;z-index:1;margin-bottom:2.3rem}.sealed-letter-heading h2{font-size:clamp(2.35rem,4.5vw,3.9rem)}.sealed-letter-heading>p:last-child{max-width:570px;margin-inline:auto}.envelope-stage{min-height:365px}.sealed-envelope{top:15px}.sealed-envelope:before{position:absolute;left:50%;bottom:-35px;width:70%;height:28px;border-radius:50%;background:rgba(73,38,45,.12);content:"";transform:translateX(-50%) scaleY(.35);opacity:.55}.envelope-back{box-shadow:0 22px 42px rgba(77,41,47,.14),0 1px 0 rgba(255,255,255,.9) inset}.wax-seal{width:82px;height:82px;font-size:1.1rem}.wax-seal:after{position:absolute;inset:-8px;border:1px dashed rgba(126,31,63,.24);border-radius:50%;content:""}.wax-seal b{font-size:1.2rem}.wax-seal i{font-size:.96rem}.envelope-open-hint{bottom:-.75rem}.sealed-letter-section.is-open{padding-bottom:clamp(2.2rem,5vw,4rem)}.sealed-letter-section.is-open .envelope-stage{min-height:700px}.sealed-letter-section.is-open .sealed-envelope{transform:translate3d(-50%,410px,0) scale(.82);opacity:.46;transition:transform .58s cubic-bezier(.22,.72,.2,1),opacity .35s}.sealed-letter-section.is-open .envelope-flap{transform:rotateX(178deg)}.sealed-letter-section.is-open .envelope-letter-paper{transform:translate3d(-50%,0,0) scale(1)}.envelope-letter-paper{top:0;max-height:610px}.envelope-letter-paper footer button{transition:background .2s,border-color .2s,color .2s}.envelope-letter-paper footer button:hover{border-color:var(--primary2);background:var(--primary2);color:#fff}
[data-theme=blue] .sealed-letter-section{background:linear-gradient(135deg,#f8f5f1,#eef4fb);border-color:#d8e0eb}[data-theme=blue] .envelope-back{border-color:#b9a9a6}[data-theme=blue] .wax-seal{background:radial-gradient(circle at 35% 28%,#d5547b,#9d1747 48%,#69102f)}
@media(max-width:700px){.sealed-letter-section{width:calc(100% - 1.5rem);padding:2.4rem .75rem 2rem;border-radius:27px}.sealed-letter-section:before{inset:9px;border-radius:20px}.sealed-letter-heading{padding-inline:.7rem;margin-bottom:1.6rem}.sealed-letter-heading h2{font-size:2.5rem}.envelope-stage{min-height:310px}.sealed-envelope{top:8px;width:min(340px,88vw)}.wax-seal{width:68px;height:68px}.wax-seal b{font-size:.98rem}.wax-seal i{font-size:.8rem}.sealed-letter-section.is-open .envelope-stage{min-height:min(720px,80vh)}.sealed-letter-section.is-open .sealed-envelope{transform:translate3d(-50%,390px,0) scale(.76)}.envelope-letter-paper{max-height:min(620px,72vh)}}
@media(prefers-reduced-motion:reduce){.sealed-letter-section.is-open .sealed-envelope{transition:none}}
.sealed-letter-section{position:relative}

/* Modern romantik davetiye — hafif, editoryal ve akıcı */
.sealed-letter-section{display:grid;grid-template-columns:minmax(250px,.78fr) minmax(480px,1.22fr);align-items:center;gap:clamp(2rem,6vw,6rem);max-width:1180px;margin-block:clamp(5rem,9vw,8rem);padding:0;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible;text-align:left}.sealed-letter-section:before,.sealed-letter-section:after{display:none}.sealed-letter-heading{align-self:center;margin:0;padding-left:clamp(.25rem,2vw,1.5rem);text-align:left}.sealed-letter-heading .eyebrow{display:flex;align-items:center;gap:.75rem}.sealed-letter-heading .eyebrow:before{width:34px;height:1px;background:var(--primary2);content:""}.sealed-letter-heading h2{max-width:480px;margin:.7rem 0 1rem;font:clamp(2.8rem,5vw,4.7rem)/.98 var(--serif);letter-spacing:-.052em}.sealed-letter-heading>p:last-child{max-width:430px;margin:0;color:var(--muted);font:1.02rem/1.75 var(--serif)}.envelope-stage{position:relative;isolation:isolate;min-height:500px;border-radius:36px;background:linear-gradient(145deg,#491629 0,#761c3e 52%,#351522 100%);box-shadow:0 28px 65px rgba(57,18,34,.16);contain:layout paint;transition:min-height .48s cubic-bezier(.22,.72,.2,1)}.envelope-stage:before{position:absolute;inset:18px;border:1px solid rgba(255,239,231,.15);border-radius:25px;content:"";pointer-events:none}.envelope-stage:after{position:absolute;right:34px;top:26px;color:rgba(255,225,232,.32);font:1.15rem var(--serif);letter-spacing:.55em;content:"♡  ·  ♡";pointer-events:none}.sealed-envelope{top:50%;width:min(470px,84%);height:310px;transform:translate3d(-50%,-50%,0);perspective:1100px}.sealed-envelope:before{bottom:-28px;width:66%;height:22px;background:rgba(12,3,8,.3);opacity:.34}.envelope-back{inset:42px 0 0;border:1px solid rgba(94,43,55,.22);border-radius:5px 5px 14px 14px;background:#ead4cb;box-shadow:0 22px 38px rgba(16,3,9,.24),0 1px 0 rgba(255,255,255,.85) inset}.envelope-back:before,.envelope-back:after{background:linear-gradient(145deg,#f6e8e0,#e7c9bf)}.envelope-back i{opacity:.22}.envelope-preview{left:6.5%;right:6.5%;top:14px;height:224px;border:1px solid #dfd2ca;border-radius:3px;background:linear-gradient(90deg,rgba(125,61,75,.025),transparent 17%,transparent 83%,rgba(125,61,75,.025)),#fffaf2;box-shadow:0 -4px 11px rgba(29,8,16,.1);transform:translate3d(0,32px,0)}.envelope-preview:before{inset:11px;border-color:rgba(119,67,70,.12)}.envelope-preview i{margin-top:1.75rem;color:#8e244b;font-size:1rem;letter-spacing:.26em}.envelope-flap{top:42px;height:174px;border:1px solid rgba(113,60,67,.16);border-bottom:0;border-radius:5px 5px 0 0;background:linear-gradient(155deg,#f7e7de,#e9cbc0 76%);box-shadow:0 -1px 0 rgba(255,255,255,.75) inset}.wax-seal{top:140px;width:78px;height:78px;gap:.18rem;border:1px solid #761233;background:radial-gradient(circle at 34% 26%,#e15a7e 0,#b51f50 42%,#74102f 100%);box-shadow:0 0 0 3px #ca4c70,0 0 0 6px rgba(255,232,226,.68),0 9px 20px rgba(43,5,20,.28);font-family:var(--serif)}.wax-seal:before{inset:7px;border-color:rgba(255,235,232,.44)}.wax-seal:after{inset:-9px;border-color:rgba(255,225,225,.24)}.wax-seal b{font-size:1.12rem}.wax-seal i{font-size:.86rem}.envelope-open-hint{bottom:-.35rem;border-color:rgba(255,255,255,.2);background:#fffaf5;color:#68414b;box-shadow:0 9px 22px rgba(24,5,13,.18)}.envelope-letter-paper{top:50%;width:min(610px,90%);max-height:650px;padding:clamp(2.7rem,5vw,4.2rem);border:1px solid #d9cbc4;border-radius:4px;background:linear-gradient(90deg,rgba(119,67,60,.025),transparent 12%,transparent 88%,rgba(119,67,60,.025)),#fffdf8;box-shadow:0 28px 55px rgba(18,4,10,.28);opacity:0;transform:translate3d(-50%,-36%,0) scale(.9);transition:opacity .25s ease,transform .58s cubic-bezier(.2,.76,.2,1)}.envelope-letter-paper:before{inset:12px}.envelope-letter-paper:after{top:24px}.letter-date{font-size:.63rem}.letter-ornament{top:2.6rem}.envelope-letter-paper h3{font-size:clamp(2.15rem,4vw,3.25rem)}.letter-body{font-size:1rem;line-height:1.92}.sealed-letter-section.is-open .envelope-stage{min-height:760px}.sealed-letter-section.is-open .sealed-envelope{opacity:.38;transform:translate3d(-50%,70%,0) scale(.72);transition:transform .58s cubic-bezier(.2,.76,.2,1),opacity .3s}.sealed-letter-section.is-open .envelope-preview{transform:translate3d(0,-42px,0)}.sealed-letter-section.is-open .envelope-letter-paper{opacity:1;transform:translate3d(-50%,-50%,0) scale(1)}.sealed-letter-section.is-open .envelope-stage:after{opacity:.12}.envelope-heart-burst{top:50%}.envelope-heart-burst .heart-1,.envelope-heart-burst .heart-3,.envelope-heart-burst .heart-5,.envelope-heart-burst .heart-7,.envelope-heart-burst .heart-9{display:block}.envelope-heart-burst .heart-2,.envelope-heart-burst .heart-4,.envelope-heart-burst .heart-6,.envelope-heart-burst .heart-8{display:none}.envelope-heart-burst i{color:#ffd5df;font-size:.8rem}.is-bursting .envelope-heart-burst i{animation:modern-heart-release .64s cubic-bezier(.18,.72,.25,1) both}@keyframes modern-heart-release{0%{opacity:0;transform:translate3d(0,0,0) scale(.5)}28%{opacity:.75}100%{opacity:0;transform:translate3d(var(--heart-x),var(--heart-y),0) scale(.9) rotate(var(--heart-r))}}.effects-ready[data-effects=simple] .envelope-stage:after{animation:envelope-ambient 5.5s ease-in-out infinite}@keyframes envelope-ambient{0%,100%{opacity:.55;transform:translate3d(0,0,0)}50%{opacity:.9;transform:translate3d(-3px,2px,0)}}[data-theme=blue] .envelope-stage{background:linear-gradient(145deg,#132744,#203e68 54%,#101d33 100%);box-shadow:0 28px 65px rgba(13,29,52,.18)}[data-theme=blue] .envelope-stage:after{color:rgba(211,226,255,.35)}[data-theme=blue] .envelope-heart-burst i{color:#d9e6ff}
@media(max-width:900px){.sealed-letter-section{grid-template-columns:1fr;gap:2.2rem;max-width:720px}.sealed-letter-heading{padding:0 1rem;text-align:center}.sealed-letter-heading .eyebrow{justify-content:center}.sealed-letter-heading>p:last-child,.sealed-letter-heading h2{margin-inline:auto}.envelope-stage{min-height:460px}.sealed-letter-section.is-open .envelope-stage{min-height:750px}}
@media(max-width:700px){.sealed-letter-section{width:calc(100% - 1.5rem);margin-block:4.5rem;padding:0;border-radius:0}.sealed-letter-heading{padding-inline:.5rem}.sealed-letter-heading h2{font-size:2.7rem}.envelope-stage{min-height:390px;border-radius:27px}.envelope-stage:before{inset:10px;border-radius:20px}.envelope-stage:after{right:20px;top:18px;font-size:.9rem}.sealed-envelope{top:50%;width:min(330px,88%);height:260px}.envelope-back{inset:37px 0 0}.envelope-flap{top:37px;height:145px}.envelope-preview{top:12px;height:190px}.wax-seal{top:116px;width:66px;height:66px}.wax-seal b{font-size:.96rem}.wax-seal i{font-size:.76rem}.envelope-open-hint{bottom:-.2rem}.sealed-letter-section.is-open .envelope-stage{min-height:min(720px,82vh)}.sealed-letter-section.is-open .sealed-envelope{transform:translate3d(-50%,92%,0) scale(.68)}.envelope-letter-paper{width:92%;max-height:min(650px,74vh);padding:3.6rem 1.65rem 2rem}.envelope-letter-paper h3{font-size:2.25rem}.letter-body{font-size:.96rem;line-height:1.84}}
@media(prefers-reduced-motion:reduce){.effects-ready[data-effects=simple] .envelope-stage:after{animation:none}.sealed-letter-section.is-open .sealed-envelope,.envelope-letter-paper{transition:none!important}}

/* Zarif hareket sırası: mühür, kapak, kâğıt */
.envelope-flap{transition:transform .46s cubic-bezier(.2,.72,.2,1) .26s}.wax-seal{transition:opacity .2s ease .16s,transform .32s cubic-bezier(.2,.72,.2,1) .16s}.envelope-letter-paper{transition:opacity .2s ease,transform .48s cubic-bezier(.2,.76,.2,1)}.sealed-envelope{transition:transform .5s cubic-bezier(.2,.76,.2,1) .18s,opacity .25s ease .12s}.sealed-letter-section.is-open .wax-seal{transition-delay:0s}.sealed-letter-section.is-open .envelope-flap{transition-delay:.09s}.sealed-letter-section.is-open .envelope-letter-paper{transition-delay:.27s}.sealed-letter-section.is-open .sealed-envelope{transition-delay:.14s}.sealed-letter-section.is-closing .envelope-letter-paper{transition-delay:0s}.sealed-letter-section.is-closing .sealed-envelope{transition-delay:.18s}.sealed-letter-section.is-closing .envelope-flap{transition-delay:.34s}.sealed-letter-section.is-closing .wax-seal{transition-delay:.46s}

/* Akıcı romantik mikro efektler: görünür olduğunda yalnız bir kez */
.effects-ready[data-effects=simple] .reveal{transition:opacity .46s ease,transform .56s cubic-bezier(.2,.72,.2,1)!important}.effects-ready[data-effects=simple] .reveal.lite-pending{opacity:0!important;transform:translate3d(0,18px,0)!important}.effects-ready[data-effects=simple] .reveal.visible{opacity:1!important;transform:translate3d(0,0,0)!important}.section-heading h2:after{display:inline-block;margin-left:.45rem;color:color-mix(in srgb,var(--primary2) 62%,transparent);font:.42em var(--serif);vertical-align:top;content:"♡";transform:translateY(.2em)}.section-heading>a{transition:color .2s,transform .25s}.section-heading>a:hover{color:var(--primary);transform:translate3d(3px,0,0)}.hand-divider b{transform-origin:center}.effects-ready[data-effects=simple] .hand-divider b{animation:divider-heart 4.8s ease-in-out infinite}@keyframes divider-heart{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.effects-ready[data-effects=simple] .album-card .album-cover img{transition:transform .55s cubic-bezier(.2,.72,.2,1)}@media(hover:hover) and (pointer:fine){.effects-ready[data-effects=simple] .album-card:hover .album-cover img{transform:scale(1.025)}}@media(prefers-reduced-motion:reduce){.effects-ready[data-effects=simple] .reveal,.effects-ready[data-effects=simple] .hand-divider b,.effects-ready[data-effects=simple] .album-card .album-cover img{animation:none!important;transition:none!important}}

/* Medya oranları ve düzenleme ekranı */
.gallery-video .media-frame{display:grid;place-items:center;background:#070b13;transition:aspect-ratio .2s ease}.gallery-video .media-frame video{width:100%;height:100%;object-fit:contain;background:#070b13}.gallery-video .media-frame.is-portrait{width:min(100%,420px);height:auto;aspect-ratio:9/16;margin-inline:auto}.gallery-video .media-frame.is-landscape{width:100%;height:auto;aspect-ratio:16/9}.media-admin-grid video{object-fit:contain!important;background:#071120}.media-actions a{padding:.45rem .6rem;border:1px solid #dce4ef;border-radius:9px;background:#fff;color:#17498f;font-size:.65rem;font-weight:800}.media-edit-preview{display:grid;place-items:center;max-height:520px;overflow:hidden;border-radius:16px;background:#071120}.media-edit-preview img,.media-edit-preview video{display:block;max-width:100%;max-height:520px;object-fit:contain}.media-edit-preview audio{width:min(100%,620px);margin:3rem}.editor-form .media-edit-preview{margin-bottom:.4rem}
@media(max-width:700px){.gallery-video .media-frame.is-portrait{width:min(100%,360px)}.media-edit-preview{max-height:420px}.media-edit-preview img,.media-edit-preview video{max-height:420px}}

/* Doğal video oranı + boşluksuz stabil galeri */
.masonry{grid-auto-rows:8px;align-items:start}.gallery-item{align-self:start}.gallery-video .media-frame,.gallery-video .media-frame.is-portrait,.gallery-video .media-frame.is-landscape{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;margin:0;transition:none}.gallery-video .media-frame video{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:initial;background:#070b13}

/* Standart albüm ızgarası: her kart aynı ölçü, video kırpılmadan görünür */
.masonry{grid-auto-rows:auto;align-items:stretch}.gallery-item{align-self:stretch;height:100%}.gallery-item .media-frame,.gallery-video .media-frame,.gallery-video .media-frame.is-portrait,.gallery-video .media-frame.is-landscape{display:grid;width:100%;height:auto;max-height:none;aspect-ratio:4/3;margin:0;place-items:center}.gallery-video .media-frame video{display:block;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:contain;background:#070b13}.gallery-item .media-frame img{width:100%;height:100%;object-fit:cover}

/* Portre albüm kartları: tüm anılar aynı zarif 4:5 ölçüde */
.gallery-item .media-frame,.gallery-video .media-frame,.gallery-video .media-frame.is-portrait,.gallery-video .media-frame.is-landscape{aspect-ratio:4/5}.masonry{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));max-width:1120px;margin-inline:auto}.gallery-item{border-radius:22px}.gallery-item .media-frame{border-radius:16px}.gallery-item .media-frame img{object-position:center}
@media(max-width:700px){.masonry{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.gallery-item{padding:.4rem;border-radius:16px}.gallery-item .media-frame{border-radius:12px}.gallery-item .media-kind{left:.4rem;top:.4rem;padding:.35rem .48rem;font-size:.48rem}}
@media(max-width:430px){.masonry{grid-template-columns:1fr;max-width:360px}}

/* Telefon kamerası standardı: tüm kartlar tam dikey 9:16 */
.gallery-item .media-frame,.gallery-video .media-frame,.gallery-video .media-frame.is-portrait,.gallery-video .media-frame.is-landscape{aspect-ratio:9/16}.gallery-item .media-frame img{width:100%;height:100%;object-fit:cover}.gallery-video .media-frame video{width:100%;height:100%;object-fit:cover}.gallery-video .media-frame.is-landscape video{object-fit:contain;background:#070b13}.masonry{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1160px}
@media(max-width:980px){.masonry{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.masonry{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.masonry{grid-template-columns:1fr;max-width:350px}}

/* Hikâyemiz: metin dengesini koruyan dikey fotoğraf kompozisyonu */
.story-chapter-card{grid-template-columns:minmax(250px,.72fr) 1.28fr;min-height:0}.story-chapter-card:nth-child(even){grid-template-columns:1.28fr minmax(250px,.72fr)}.story-chapter-photo{width:min(100%,430px);height:auto;min-height:0;aspect-ratio:4/5;justify-self:center}.story-chapter-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.story-journey-photo,.is-reverse .story-journey-photo{width:min(100%,460px);min-height:0;aspect-ratio:4/5;justify-self:center;padding:10px 10px 2.8rem}.story-journey-photo img,.story-journey-photo>span{width:100%;height:100%;object-fit:cover;object-position:center}.story-journey-chapter{align-items:center}
@media(max-width:900px){.story-chapter-card,.story-chapter-card:nth-child(even){grid-template-columns:minmax(220px,.75fr) 1.25fr}.story-chapter-card:nth-child(even) .story-chapter-photo{grid-column:2}.story-chapter-card:nth-child(even) .story-chapter-copy{grid-column:1;grid-row:1}.story-chapter-photo{width:min(100%,360px)}}
@media(max-width:700px){.story-chapter-card,.story-chapter-card:nth-child(even){grid-template-columns:1fr}.story-chapter-card:nth-child(even) .story-chapter-photo,.story-chapter-card:nth-child(even) .story-chapter-copy{grid-column:auto;grid-row:auto}.story-chapter-photo{width:min(100%,340px);margin-top:1rem}.story-journey-photo,.is-reverse .story-journey-photo{width:min(100%,350px)}}

/* iPhone/iPad Safari: sabit ve bulanık katmanda içeriğin kaybolmasını önler. */
.intro-overlay{min-height:100vh;min-height:100dvh}.intro-stars{z-index:0}.intro-panel{position:relative;z-index:2;isolation:isolate}.intro-panel>*{position:relative;z-index:1;opacity:1;visibility:visible}
@supports(-webkit-touch-callout:none){.intro-overlay{transform:none!important;-webkit-transform:none!important;transition:none!important}.intro-overlay.leaving{opacity:0!important}.intro-panel{max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);overflow-y:auto;-webkit-overflow-scrolling:touch;background:#102444;isolation:auto!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;-webkit-transform:none!important;transform:none!important}.intro-panel>*{opacity:1!important;visibility:visible!important;-webkit-transform:none!important;transform:none!important;animation:none!important}}
@media(max-width:700px){.intro-overlay{place-items:center;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.intro-panel{width:100%;border-radius:30px}.intro-panel .primary-button{min-height:50px}}

/* iOS Safari ilk boyama hatası: kilit kartının formu dokunma beklemeden görünür. */
@supports(-webkit-touch-callout:none){
  .gate-card,.admin-login-card{
    isolation:isolate;
    background:#102444!important;
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
    -webkit-transform:none!important;transform:none!important;
    animation:none!important
  }
  .gate-card>*,.admin-login-card>*{position:relative;z-index:2;opacity:1!important;visibility:visible!important;-webkit-transform:none!important;transform:none!important}
  .gate-card:before,.gate-card:after{z-index:1}
  .gate-form,.gate-form label,.gate-form input,.gate-form button{opacity:1!important;visibility:visible!important}
}
.gate-fetch-error{padding:.75rem 1rem;border:1px solid rgba(255,160,175,.35);border-radius:12px;background:rgba(120,15,45,.45);color:#fff;font-size:.78rem;line-height:1.45;text-align:center}.gate-fetch-error[hidden]{display:none}.gate-form button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}


/* Harici oynatıcılar Apple dahil hiçbir cihazda kullanıcı dokunmadan yüklenmez. */
.external-player-consent{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:.15rem .9rem;width:calc(100% - 1.5rem);min-height:112px;margin:0 .75rem .75rem;padding:1rem 1.2rem;border:1px solid color-mix(in srgb,var(--primary2) 18%,var(--line));border-radius:18px;background:linear-gradient(135deg,var(--soft),var(--surface));color:var(--text);text-align:left}.external-player-consent>span{grid-row:1/3;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff}.external-player-consent>b{align-self:end}.external-player-consent>small{align-self:start;color:var(--muted);font-size:.66rem}.external-player-consent:hover{border-color:var(--primary2)}
