body[data-theme=light]{--ink:#202723;--muted:#69736e;--faint:#b6c0ba;--line:#20272324;--panel:#f7f8f4;--panel-light:#e8ede8;--sidebar:#eef2ed;--night:#fbfcf8;--accent:#6d9d3b;--prayer:#7770c4;--meal:#bd6b2e;--rest:#398889;--study:#6d9d3b}body{min-height:100vh;color:var(--ink);background:var(--night);margin:0;font-family:DM Sans,sans-serif;transition:background .3s,color .3s}button,input,select{font:inherit}button{cursor:pointer}.app{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--sidebar);flex-direction:column;padding:34px 25px;display:flex}.brand{color:var(--ink);letter-spacing:-.04em;align-items:center;gap:10px;margin:0 0 69px;font-size:20px;font-weight:600;text-decoration:none;display:flex}.brand-mark{border:5px solid var(--accent);border-radius:50%;width:21px;height:21px;position:relative}.brand-mark:after{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;top:-5px;right:-5px}.nav{gap:5px;display:grid}.nav a{color:var(--muted);text-align:left;background:0 0;border:0;border-radius:4px;justify-content:space-between;padding:12px 14px;font-size:13px;text-decoration:none;display:flex}.nav a.active:after{content:"↗";color:var(--accent)}.page-icon{width:20px;color:var(--accent);margin-right:auto;font-size:15px;line-height:1}.sidebar-foot{border-top:1px solid var(--line);color:var(--muted);margin-top:auto;padding-top:18px;font-size:12px;line-height:1.6}.eyebrow,.date-label,.block-time,.block-category,.week-time,.week-cell b,.field label{font-family:DM Mono,monospace}.eyebrow{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:10px}.sidebar-foot strong{color:var(--ink);margin:6px 0;font:500 18px Newsreader,serif;display:block}.main{width:100%;max-width:1440px;padding:37px clamp(28px,5vw,78px) 58px}.topline{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.date-label{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;font-size:11px}h1{letter-spacing:-.045em;margin:14px 0 0;font:500 clamp(36px,4.7vw,66px)/.95 Newsreader,serif}h2{font:500 24px Newsreader,serif}.top-actions{align-items:center;gap:14px;display:flex}.add-btn,.save{background:var(--accent);color:#171b0f;border:0;padding:12px 16px;font-size:12px;font-weight:700}.view-tabs{border-bottom:1px solid var(--line);gap:26px;margin-top:54px;display:flex}.view-tabs a{color:var(--muted);padding:0 0 14px;font-size:13px;text-decoration:none}.view-tabs a.active{color:var(--ink);border-bottom:2px solid var(--accent)}.day-summary{align-items:baseline;gap:12px;margin:36px 0 27px;display:flex}.day-summary h2{margin:0}.day-summary span{color:var(--muted);font:11px DM Mono,monospace}.timeline{max-width:850px;position:relative}.timeline:before{content:"";background:var(--line);width:1px;position:absolute;top:14px;bottom:25px;left:71px}.block{grid-template-columns:57px 28px minmax(0,1fr);gap:0 14px;min-height:105px;display:grid}.block-time{color:var(--muted);text-align:right;padding-top:5px;font-size:10px}.block-node{z-index:1;background:var(--night);border:1px solid var(--faint);border-radius:50%;width:9px;height:9px;margin:7px auto 0}.block-card{border-left:2px solid var(--category);cursor:pointer;padding:1px 0 22px 17px;transition:opacity .2s,transform .2s}.block-card:hover{transform:translate(3px)}.block.current .block-card{border-left-color:var(--accent)}.block.current .block-node{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent),0 0 14px color-mix(in srgb,var(--accent) 40%,transparent);background:var(--accent)}.block.current .block-card:before{content:"NOW";color:var(--accent);letter-spacing:.1em;margin-bottom:6px;font:500 9px DM Mono,monospace;display:block}.block.completed{opacity:.42}.block.completed h3{text-decoration:line-through}.block-category{color:var(--category);text-transform:uppercase;letter-spacing:.1em;font-size:10px}.block-card h3{margin:7px 0 6px;font-size:17px;font-weight:500}.block-card p{color:var(--muted);margin:0;font-size:12px}.progress{background:var(--line);max-width:310px;height:2px;margin-top:13px}.progress span{background:var(--accent);height:100%;display:block}.week-wrap{overflow-x:auto}.week-grid{border-top:1px solid var(--line);grid-template-columns:57px repeat(7,minmax(80px,1fr));min-width:720px;margin-top:35px;display:grid}.week-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:76px;padding:9px 7px}.week-head{min-height:55px;padding-top:14px}.week-head strong{font-size:12px;display:block}.week-head span{color:var(--muted);font:10px DM Mono,monospace}.week-time{color:var(--muted);text-align:right;font-size:9px}.settings{max-width:720px;margin-top:36px}.settings h2{margin:0 0 26px}.setting-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 0;display:flex}.setting-row.group{display:block}.setting-row label{font-size:14px}.setting-row small{color:var(--muted);margin-top:5px;font-size:11px;display:block}.toggle{border:1px solid var(--faint);background:var(--panel);border-radius:20px;width:39px;height:22px;padding:2px}.toggle:after{content:"";background:var(--muted);border-radius:50%;width:16px;height:16px;transition:transform .2s,background .2s;display:block}.toggle.on{border-color:var(--accent)}.toggle.on:after{background:var(--accent);transform:translate(15px)}.alarm-time{color:var(--ink);background:var(--panel);border:1px solid var(--line);padding:8px 10px}.theme-switcher{border:1px solid var(--line);background:var(--panel);gap:4px;width:max-content;margin-top:12px;padding:4px;display:flex}.theme-switcher a{color:var(--muted);padding:8px 12px;font-size:11px;text-decoration:none}.theme-switcher a.active{color:var(--ink);background:var(--panel-light);box-shadow:inset 0 -2px var(--accent)}.color-dot{vertical-align:middle;border-radius:50%;width:19px;height:19px;margin-left:10px;display:inline-block}.color-dot.study{background:var(--study)}.color-dot.prayer{background:var(--prayer)}.color-dot.meal{background:var(--meal)}.color-dot.rest{background:var(--rest)}.week-event{border-left:2px solid var(--category);background:var(--panel-light);font-size:10px;line-height:1.2}.week-event.prayer{--category:var(--prayer)}.week-event.study{--category:var(--study)}.week-event.meal{--category:var(--meal)}.week-event.rest{--category:var(--rest)}.modal-backdrop{z-index:3;background:#030504bf;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-backdrop[hidden]{display:none}.modal{background:var(--panel);border:1px solid var(--line);width:min(100%,460px);padding:28px}.modal-top{justify-content:space-between;display:flex}.modal h2{margin:0 0 26px}.close{color:var(--muted);background:0 0;border:0;font-size:20px}.form-grid{grid-template-columns:1fr 1fr;gap:17px;display:grid}.field{gap:8px;display:grid}.field.full{grid-column:1/-1}.field input,.field select{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--panel);outline:none;padding:11px}.save{width:100%;margin-top:27px}@media (width<=700px){.app{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);padding:18px 20px;display:block}.brand{margin:0}.nav{flex-wrap:wrap;gap:6px;margin-top:21px;display:flex}.nav a{padding:8px 10px}.sidebar-foot{display:none}.main{padding:29px 20px 44px}.topline{display:block}.top-actions{justify-content:space-between;margin-top:28px}.view-tabs{margin-top:34px}.timeline:before{left:63px}.block{grid-template-columns:49px 28px minmax(0,1fr)}.setting-row{gap:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.block.study{--category:var(--study)}.block.prayer{--category:var(--prayer)}.block.meal{--category:var(--meal)}.block.rest{--category:var(--rest)}.progress{appearance:none;border:0;width:100%}.progress::-webkit-progress-bar{background:var(--line)}.progress::-webkit-progress-value{background:var(--accent)}.progress::-moz-progress-bar{background:var(--accent)}.today-tools{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin:28px 0 22px;padding:14px 0;display:flex}.tool-search{min-width:220px;color:var(--ink);background:var(--panel);border:1px solid var(--line);outline:none;padding:10px 12px}.tool-search:focus{border-color:var(--accent)}.filter-pills{flex-wrap:wrap;gap:5px;display:flex}.filter-pill{color:var(--muted);background:0 0;border:1px solid #0000;padding:8px 9px;font-size:11px}.filter-pill:hover,.filter-pill.active{color:var(--ink);border-color:var(--line);background:var(--panel-light)}.stats-strip{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 0 34px;display:grid}.stat{background:var(--panel);padding:13px 15px}.stat strong{color:var(--ink);font:500 21px Newsreader,serif;display:block}.stat span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font:10px DM Mono,monospace}.focus-launch{color:var(--ink);background:var(--panel);border:1px solid var(--line);white-space:nowrap;padding:10px 12px;font-size:11px}.focus-launch:hover{border-color:var(--accent);color:var(--accent)}.timer-display{text-align:center;color:var(--accent);letter-spacing:.03em;padding:18px 0 5px;font:500 44px DM Mono,monospace}.timer-status{color:var(--muted);text-align:center;margin:0;font-size:12px}.timer-actions{gap:8px;margin-top:20px;display:flex}.timer-actions button{flex:1}.danger-button{color:#dc8a7e;background:0 0;border:1px solid #dc8a7e59;padding:10px 12px;font-size:11px}.danger-button:hover{background:#dc8a7e14}.empty-state{color:var(--muted);border-left:2px solid var(--line);padding:18px;font-size:13px}@media (width<=700px){.today-tools{display:block}.tool-search{width:100%;margin-bottom:10px}.stats-strip{grid-template-columns:1fr 1fr 1fr}.stat{padding:11px 8px}.stat strong{font-size:18px}.filter-pill{padding:7px 8px}}.story-main{max-width:1040px}.story-opening{max-width:690px;padding:76px 0 58px}.story-opening h2{color:var(--ink);letter-spacing:-.04em;margin:17px 0 24px;font:500 clamp(34px,5vw,62px)/1.02 Newsreader,serif}.story-opening p{max-width:570px;color:var(--muted);font-size:16px;line-height:1.75}.story-opening .story-signature{color:var(--ink);margin-top:28px;font:500 18px/1.45 Newsreader,serif}.story-chapters{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin:0 0 56px;display:grid}.story-chapter{background:var(--panel);min-height:300px;padding:23px 22px 26px}.chapter-number{color:var(--accent);font:11px DM Mono,monospace}.story-chapter h3{color:var(--ink);letter-spacing:-.02em;margin:53px 0 15px;font:500 24px/1.08 Newsreader,serif}.story-chapter p{color:var(--muted);margin:0 0 23px;font-size:12px;line-height:1.7}.chapter-tag{text-transform:uppercase;letter-spacing:.08em;font:10px DM Mono,monospace}.study-tag{color:var(--study)}.prayer-tag{color:var(--prayer)}.rest-tag{color:var(--rest)}.quote-panel{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:30px;padding:28px 0 32px;display:flex}.quote-panel blockquote{max-width:650px;color:var(--ink);letter-spacing:-.025em;margin:14px 0 10px;font:500 clamp(25px,3vw,38px)/1.1 Newsreader,serif}.quote-source{color:var(--muted);margin:0;font:10px DM Mono,monospace}.reflection{grid-template-columns:minmax(0,1fr) minmax(260px,420px);gap:36px;padding:60px 0 20px;display:grid}.reflection h2{margin:14px 0 10px;font-size:30px}.reflection p{color:var(--muted);font-size:12px;line-height:1.6}.reflection textarea{resize:vertical;min-height:140px;color:var(--ink);background:var(--panel);border:1px solid var(--line);outline:none;padding:15px;line-height:1.6}.reflection textarea:focus{border-color:var(--accent)}.reflection-footer{grid-column:2;justify-content:space-between;align-items:center;gap:12px;margin-top:-24px;display:flex}.reflection-footer span{color:var(--muted);font:10px DM Mono,monospace}@media (width<=700px){.story-opening{padding:48px 0 40px}.story-chapters{grid-template-columns:1fr}.story-chapter{min-height:0}.story-chapter h3{margin-top:30px}.quote-panel{display:block}.quote-panel .focus-launch{margin-top:18px}.reflection{grid-template-columns:1fr;gap:18px;padding-top:42px}.reflection-footer{grid-column:1;margin-top:0}}.gallery-intro{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:40px;max-width:920px;padding:64px 0 42px;display:flex}.gallery-intro h2{max-width:620px;color:var(--ink);letter-spacing:-.04em;margin:16px 0 0;font:500 clamp(35px,5vw,62px)/1 Newsreader,serif}.gallery-intro p{max-width:300px;color:var(--muted);margin:0 0 4px;font-size:13px;line-height:1.7}.gallery-upload{align-items:center;display:inline-flex}.gallery-upload input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.gallery-grid{grid-template-columns:repeat(12,1fr);gap:18px;max-width:1120px;padding-top:28px;display:grid}.memory-card{border:1px solid var(--line);background:var(--panel);cursor:pointer;grid-column:span 4;transition:transform .25s,border-color .25s}.memory-card:hover{border-color:var(--accent);transform:translateY(-4px)}.memory-card.memory-1{margin-top:42px}.memory-card.memory-2{margin-top:84px}.memory-image{aspect-ratio:4/5;background:var(--panel-light);overflow:hidden}.memory-image img{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.memory-card:hover .memory-image img{transform:scale(1.04)}.memory-copy{padding:19px 19px 21px}.memory-copy h3{color:var(--ink);margin:11px 0 10px;font:500 26px/1 Newsreader,serif}.memory-copy p{min-height:58px;color:var(--muted);margin:0;font-size:12px;line-height:1.65}.memory-open{border:0;border-bottom:1px solid var(--accent);color:var(--ink);text-transform:uppercase;letter-spacing:.08em;background:0 0;margin-top:17px;padding:0 0 4px;font:10px DM Mono,monospace}.memory-open span{color:var(--accent);margin-left:8px}.memory-modal{z-index:5;background:#030504d1;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.memory-modal-card{background:var(--panel);border:1px solid var(--line);grid-template-columns:minmax(260px,1fr) minmax(220px,.7fr);max-width:850px;max-height:90vh;display:grid;overflow:auto}.memory-modal-card img{object-fit:cover;width:100%;height:100%;min-height:330px}.memory-modal-card>div{align-self:center;padding:36px}.memory-modal-card h2{margin:15px 0;font-size:38px;line-height:1}.memory-modal-card p{color:var(--muted);margin-bottom:26px;font-size:13px;line-height:1.7}@media (width<=700px){.gallery-intro{padding:48px 0 32px;display:block}.gallery-intro p{margin-top:22px}.gallery-grid{grid-template-columns:1fr;gap:20px}.memory-card,.memory-card.memory-1,.memory-card.memory-2{grid-column:auto;margin-top:0}.memory-image{aspect-ratio:5/4}.memory-modal-card{grid-template-columns:1fr;max-height:88vh}.memory-modal-card img{min-height:220px;max-height:44vh}.memory-modal-card>div{padding:24px}.memory-modal-card h2{font-size:32px}}.portrait-intro,.dua-opening{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:40px;max-width:920px;padding:64px 0 38px;display:flex}.portrait-intro h2,.dua-opening h2{color:var(--ink);letter-spacing:-.04em;margin:16px 0 0;font:500 clamp(35px,5vw,62px)/1 Newsreader,serif}.portrait-intro p,.dua-opening p{max-width:300px;color:var(--muted);margin:0 0 4px;font-size:13px;line-height:1.7}.portrait-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1120px;padding:28px 0 62px;display:grid}.portrait-card{border:1px solid var(--line);background:var(--panel);grid-template-columns:minmax(260px,1.35fr) minmax(150px,.65fr);align-items:center;gap:24px;padding:18px;display:grid}.portrait-image{aspect-ratio:4/5;cursor:zoom-in;background:linear-gradient(145deg,var(--panel-light),var(--panel));border:1px solid var(--line);place-items:center;width:100%;padding:0;display:grid;overflow:hidden}.portrait-image img{object-fit:contain;image-rendering:auto;width:100%;height:100%;display:block}.portrait-placeholder{color:var(--accent);font:500 82px Newsreader,serif}.portrait-copy h3{color:var(--ink);margin:10px 0 18px;font:500 30px Newsreader,serif}.portrait-upload{display:inline-flex;position:relative}.portrait-upload input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.portrait-copy .danger-button{margin:10px 0 0;display:block}.portrait-lightbox{z-index:10;background:#172a35d6;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.portrait-lightbox-inner{background:var(--panel);border-radius:16px;max-width:min(90vw,900px);max-height:90vh;padding:10px;position:relative;box-shadow:0 25px 80px #0000004d}.portrait-lightbox img{object-fit:contain;max-width:calc(90vw - 20px);max-height:calc(90vh - 20px);display:block}.portrait-lightbox-close{z-index:1;color:#fff;background:var(--accent);border:0;border-radius:50%;width:36px;height:36px;font-size:24px;line-height:1;position:absolute;top:-15px;right:-15px}.gallery-controls{align-items:center;gap:18px;max-width:1120px;padding:22px 0 0;display:flex}.gallery-size-switch{border:1px solid var(--line);background:var(--panel);border-radius:10px;gap:3px;padding:4px;display:flex}.gallery-size-switch button{color:var(--muted);background:0 0;border:0;border-radius:7px;padding:8px 12px;font-size:11px}.gallery-size-switch button:hover,.gallery-size-switch button.active{color:var(--ink);background:var(--panel-light);box-shadow:inset 0 -2px var(--accent)}.portrait-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px}.portrait-grid-compact .portrait-card{grid-template-columns:1fr;gap:13px;padding:13px}.portrait-grid-compact .portrait-image{aspect-ratio:1}.portrait-grid-compact .portrait-copy h3{margin:8px 0 13px;font-size:24px}.portrait-grid-large{grid-template-columns:1fr;max-width:1120px}.portrait-grid-large .portrait-card{grid-template-columns:minmax(400px,1.5fr) 1fr}.portrait-grid-large .portrait-image{aspect-ratio:16/10}.dua-opening{max-width:780px;padding-bottom:42px;display:block}.dua-opening p{max-width:520px;margin-top:22px}.dua-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1020px;padding:28px 0 54px;display:grid}.dua-card{background:var(--panel);border:1px solid var(--line);padding:24px}.dua-card-top{justify-content:space-between;display:flex}.dua-mark{color:var(--accent);font-size:22px}.dua-card h3{color:var(--ink);margin:28px 0 20px;font:500 27px Newsreader,serif}.arabic{color:var(--ink);margin:0 0 18px;font-family:serif;font-size:24px;line-height:1.9}.transliteration{color:var(--accent)!important;font:italic 13px/1.7 Newsreader,serif!important}.meaning{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.dua-note{border-top:1px solid var(--line);max-width:1020px;padding:32px 0}.dua-note h2{margin:14px 0 18px;font:500 34px Newsreader,serif}.dua-note small{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font:10px DM Mono,monospace}@media (width<=700px){.portrait-intro,.dua-opening{padding:48px 0 32px;display:block}.portrait-intro p,.dua-opening p{margin-top:22px}.gallery-controls{display:block}.gallery-size-switch{width:max-content;max-width:100%;margin-top:10px}.portrait-grid,.portrait-grid-compact,.portrait-grid-large,.dua-grid{grid-template-columns:1fr}.portrait-card,.portrait-grid-compact .portrait-card,.portrait-grid-large .portrait-card{grid-template-columns:1fr;gap:17px;padding:14px}.portrait-image,.portrait-grid-compact .portrait-image,.portrait-grid-large .portrait-image{aspect-ratio:4/5;min-height:310px}.portrait-copy h3{font-size:25px}.dua-card{padding:19px}.dua-card h3{margin-top:22px}.arabic{font-size:21px}}.love-guidance{border-top:1px solid var(--line);max-width:1020px;padding:36px 0 20px}.love-guidance-heading{max-width:700px}.love-guidance-heading h2{color:var(--ink);letter-spacing:-.035em;margin:15px 0 16px;font:500 clamp(32px,4vw,51px)/1.05 Newsreader,serif}.love-guidance-heading p{max-width:580px;color:var(--muted);margin:0;font-size:13px;line-height:1.75}.love-guidance-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:34px;display:grid}.love-guidance-card{background:var(--panel);min-height:220px;padding:20px}.love-guidance-card h3{color:var(--ink);margin:40px 0 13px;font:500 23px/1.05 Newsreader,serif}.love-guidance-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.7}@media (width<=700px){.love-guidance{padding-top:30px}.love-guidance-grid{grid-template-columns:1fr}.love-guidance-card{min-height:0}.love-guidance-card h3{margin-top:28px}}.quran-opening{border-bottom:1px solid var(--line);max-width:760px;padding:64px 0 38px}.quran-opening h2{color:var(--ink);letter-spacing:-.04em;margin:16px 0 0;font:500 clamp(35px,5vw,62px)/1 Newsreader,serif}.quran-opening p{max-width:520px;color:var(--muted);margin:22px 0 0;font-size:13px;line-height:1.7}.quran-tools{border-bottom:1px solid var(--line);align-items:center;gap:18px;max-width:860px;padding:24px 0 18px;display:flex}.quran-tools .tool-search{flex:1}.quran-tools span{color:var(--muted);white-space:nowrap;font:10px DM Mono,monospace}.surah-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;max-width:1020px;margin-top:18px;display:grid}.surah-card{background:var(--panel);grid-template-columns:42px 1fr auto;align-items:center;gap:10px;min-height:82px;padding:13px 14px;display:grid}.surah-number{color:var(--accent);font:10px DM Mono,monospace}.surah-card h3{color:var(--ink);margin:0 0 4px;font:500 20px Newsreader,serif}.surah-card small{color:var(--muted);font:9px DM Mono,monospace}.surah-read{color:var(--ink);border-bottom:1px solid var(--accent);padding-bottom:3px;font:10px DM Mono,monospace;text-decoration:none}.surah-read:hover{color:var(--accent)}@media (width<=700px){.quran-opening{padding:48px 0 32px}.quran-tools{display:block}.quran-tools .tool-search{width:100%;margin-bottom:12px}.surah-grid{grid-template-columns:1fr}}.birthday-opening{border-bottom:1px solid var(--line);max-width:780px;padding:76px 0 40px}.birthday-opening h2{color:var(--ink);letter-spacing:-.04em;margin:16px 0;font:500 clamp(38px,5vw,66px)/1 Newsreader,serif}.birthday-opening p{max-width:540px;color:var(--muted);margin:0;font-size:13px;line-height:1.75}.birthday-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:1040px;padding:30px 0 54px;display:grid}.birthday-card{border:1px solid var(--line);border-top:4px solid var(--birthday-color);background:var(--panel);border-radius:16px;padding:28px;position:relative;overflow:hidden;box-shadow:0 10px 30px #172a350f}.birthday-card:after{content:"✦";color:var(--birthday-color);opacity:.18;font-size:90px;position:absolute;bottom:7px;right:24px}.birthday-card-top{justify-content:space-between;gap:15px;display:flex}.birthday-date{color:var(--birthday-color);text-transform:uppercase;letter-spacing:.1em;font:10px DM Mono,monospace}.birthday-card h2{margin:30px 0 24px;font:500 32px DM Serif Display,Georgia,serif}.birthday-countdown{z-index:1;border:1px solid var(--line);background:var(--line);border-radius:10px;grid-template-columns:repeat(4,1fr);gap:1px;display:grid;position:relative;overflow:hidden}.birthday-countdown div{background:var(--panel-light);padding:14px 8px}.birthday-countdown strong{color:var(--birthday-color);font:500 clamp(24px,3vw,38px) DM Mono,monospace;display:block}.birthday-countdown span{color:var(--muted);text-transform:uppercase;font:9px DM Mono,monospace}.birthday-card p{z-index:1;color:var(--muted);margin:20px 0 0;font-size:12px;position:relative}.birthday-note{border-top:1px solid var(--line);max-width:760px;padding:30px 0}.birthday-note h2{color:var(--ink);margin:15px 0 10px;font:500 32px DM Serif Display,Georgia,serif}.birthday-note p{color:var(--muted);max-width:600px;margin:0;font-size:13px;line-height:1.75}@media (width<=700px){.birthday-opening{padding:48px 0 32px}.birthday-grid{grid-template-columns:1fr;padding-top:22px}.birthday-card{padding:22px}.birthday-card h2{margin-top:24px;font-size:28px}}.quran-back{text-decoration:none}.quran-state{max-width:720px;padding:70px 0}.quran-state h2{color:var(--ink);margin:15px 0 24px;font:500 34px Newsreader,serif}.reader-wrap{max-width:900px;padding:58px 0 30px}.reader-heading{border-bottom:1px solid var(--line);padding-bottom:28px}.reader-heading h2{color:var(--ink);letter-spacing:-.04em;margin:14px 0 8px;font:500 clamp(38px,5vw,64px)/1 Newsreader,serif}.reader-heading p{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin:0;font:10px DM Mono,monospace}.ayah-list{padding-top:8px}.ayah{border-bottom:1px solid var(--line);grid-template-columns:42px 1fr;align-items:start;gap:22px;padding:25px 0;display:grid}.ayah-number{border:1px solid var(--accent);width:30px;height:30px;color:var(--accent);border-radius:50%;place-items:center;font:10px DM Mono,monospace;display:grid}.ayah p{color:var(--ink);margin:0;font-family:serif;font-size:clamp(24px,3vw,34px);line-height:2}.ayah-progress{background:var(--line);height:3px;margin:26px 0 0}.ayah-progress span{background:var(--accent);height:100%;transition:width .25s;display:block}.ayah-page{border-bottom:1px solid var(--line);touch-action:pan-y;min-height:390px;padding:34px clamp(20px,7vw,80px)}.ayah-page .ayah{border:0;padding:0;display:inline}.ayah-page .ayah-number{vertical-align:middle;width:25px;height:25px;margin:0 8px 0 4px;display:inline-grid}.ayah-page p{color:var(--ink);margin:0;font-family:serif;font-size:clamp(19px,2.5vw,28px);line-height:2;display:inline}.ayah-navigation{justify-content:space-between;align-items:center;gap:14px;padding-top:22px;display:flex}.ayah-navigation span{color:var(--muted);font:10px DM Mono,monospace}.ayah-navigation button:disabled{opacity:.3;cursor:not-allowed}.reader-hint{color:var(--muted);text-align:center;margin:19px 0 0;font:10px DM Mono,monospace}@media (width<=700px){.reader-wrap{padding-top:44px}.ayah{grid-template-columns:30px 1fr;gap:13px;padding:20px 0}.ayah-number{width:26px;height:26px;font-size:9px}.ayah p{font-size:24px;line-height:1.9}.ayah-page{min-height:48vh;padding:28px 16px}.ayah-page .ayah-number{width:22px;height:22px;margin-left:3px;margin-right:6px;font-size:8px}.ayah-page p{font-size:18px;line-height:2}.ayah-navigation button{padding:9px 8px}}@media print{.sidebar,.view-tabs,.focus-launch,.story-main .date-label{display:none!important}.app{display:block}.main{padding:20px}}.wedding-main{max-width:1120px}.wedding-hero{grid-template-columns:minmax(280px,.85fr) minmax(0,1fr);align-items:center;gap:clamp(34px,6vw,90px);padding:62px 0 70px;display:grid}.photo-frame{border:1px solid var(--line);background:linear-gradient(145deg, var(--panel-light), var(--panel));place-items:center;min-height:390px;display:grid;position:relative;overflow:hidden}.photo-frame:before{content:"";border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:50%;width:180px;height:180px;position:absolute}.photo-frame:after{content:"";background:color-mix(in srgb, var(--accent) 30%, transparent);width:260px;height:1px;position:absolute;transform:rotate(-42deg)}.photo-frame img{object-fit:cover;z-index:1;width:100%;height:100%;min-height:390px;display:none;position:absolute;inset:0}.photo-frame.has-photo img{display:block}.photo-frame.has-photo:before,.photo-frame.has-photo:after{display:none}.photo-empty{z-index:2;color:var(--muted);text-align:center;justify-items:center;gap:8px;display:grid;position:relative}.photo-empty strong{color:var(--ink);font:500 23px Newsreader,serif}.photo-empty small{font-size:11px}.photo-mark{border:1px solid var(--accent);width:38px;height:38px;color:var(--accent);border-radius:50%;place-items:center;font-size:24px;font-weight:300;display:grid}.wedding-copy{max-width:590px}.wedding-copy h2{color:var(--ink);letter-spacing:-.055em;margin:20px 0;font:500 clamp(40px,6vw,77px)/.9 Newsreader,serif}.wedding-copy h2 span{display:block}.wedding-copy h2 em{color:var(--accent);padding-left:5px;font-size:.48em;font-style:normal;line-height:1.2;display:block}.wedding-copy>p{color:var(--muted);max-width:380px;font-size:14px;line-height:1.65}.countdown{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(4,minmax(60px,1fr));gap:1px;margin:38px 0 24px;display:grid}.countdown div{background:var(--panel);padding:14px 10px}.countdown strong{color:var(--accent);font:500 clamp(22px,3vw,34px) DM Mono,monospace;display:block}.countdown span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font:9px DM Mono,monospace}.wedding-date{text-transform:uppercase;letter-spacing:.08em;font:10px DM Mono,monospace!important}.wedding-controls{border-top:1px solid var(--line);grid-template-columns:minmax(190px,.6fr) minmax(0,1.4fr);gap:42px;padding:30px 0 12px;display:grid}.wedding-controls h2{margin:13px 0 8px;font-size:27px}.wedding-controls p{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.wedding-fields{grid-template-columns:1fr 1fr;gap:14px;display:grid}.wedding-fields label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;gap:8px;font:10px DM Mono,monospace;display:grid}.wedding-fields input{width:100%;color:var(--ink);background:var(--panel);border:1px solid var(--line);outline:none;padding:11px}.wedding-fields input:focus{border-color:var(--accent)}.file-label{grid-column:1/-1}.wedding-actions{align-items:center;gap:12px;margin-top:18px;display:flex}.wedding-actions .save{padding:11px 14px}.wedding-actions span{color:var(--muted);font:10px DM Mono,monospace}@media (width<=700px){.wedding-hero{grid-template-columns:1fr;gap:34px;padding:42px 0 50px}.photo-frame,.photo-frame img{min-height:300px}.wedding-copy h2{font-size:57px}.wedding-controls{grid-template-columns:1fr;gap:22px}.wedding-fields{grid-template-columns:1fr}.file-label{grid-column:auto}.wedding-actions{flex-wrap:wrap}}.nav-theme{border-top:1px solid var(--line);margin-top:28px;padding:17px 0 0}.nav-theme .theme-switcher{width:100%;margin-top:9px}.nav-theme .theme-switcher a,.nav-theme .theme-switcher button{text-align:center;flex:1;padding:8px 4px}.theme-switcher button{color:var(--muted);background:0 0;border:0}.theme-switcher button.active{color:var(--ink);background:var(--panel-light);box-shadow:inset 0 -2px var(--accent)}.chat-main{max-width:920px}.chat-presence{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:8px;font:10px DM Mono,monospace;display:flex}.presence-dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 10px color-mix(in srgb,var(--accent) 70%,transparent);border-radius:50%}.chat-shell{border:1px solid var(--line);background:var(--panel);max-width:760px;margin-top:46px}.chat-header{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:18px 20px;display:flex}.avatar{border:1px solid var(--accent);width:36px;height:36px;color:var(--accent);border-radius:50%;place-items:center;font:500 16px Newsreader,serif;display:grid}.chat-header h2{margin:0;font:500 21px Newsreader,serif}.chat-header p{color:var(--muted);margin:4px 0 0;font:10px DM Mono,monospace}.secure-label{color:var(--muted);letter-spacing:.1em;margin-left:auto;font:9px DM Mono,monospace}.message-list{background:linear-gradient(180deg, color-mix(in srgb,var(--panel-light) 25%,transparent), transparent);flex-direction:column;gap:13px;min-height:390px;max-height:520px;padding:25px 20px;display:flex;overflow-y:auto}.message{flex-direction:column;gap:5px;max-width:75%;display:flex}.message.incoming{align-self:flex-start}.message.outgoing{align-self:flex-end;align-items:flex-end}.message-bubble{white-space:pre-wrap;word-break:break-word;padding:11px 14px;font-size:13px;line-height:1.5}.incoming .message-bubble{background:var(--panel-light);border-left:2px solid var(--prayer)}.outgoing .message-bubble{background:var(--accent);color:#171b0f}.message-meta{color:var(--muted);font:9px DM Mono,monospace}.voice-message{align-items:center;gap:10px;min-width:190px;display:flex}.voice-message audio{width:160px;height:28px}.voice-label{color:inherit;font:10px DM Mono,monospace}.message-composer{border-top:1px solid var(--line);padding:15px}.message-composer textarea{resize:none;width:100%;color:var(--ink);background:0 0;border:0;outline:0;min-height:44px;line-height:1.5;display:block}.composer-actions{justify-content:space-between;align-items:center;margin-top:9px;display:flex}.voice-button,.send-button{border:1px solid var(--line);color:var(--muted);background:0 0;padding:9px 11px;font-size:11px}.voice-button:hover,.voice-button.recording{color:#d97d74;border-color:#d97d74}.mic-icon{margin-right:6px;font-size:8px}.send-button{color:#171b0f;border-color:var(--accent);background:var(--accent);font-weight:700}.send-button span{margin-left:9px;font-size:14px}.chat-notice{max-width:760px;color:var(--muted);margin-top:13px;font:10px/1.6 DM Mono,monospace}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width<=700px){.chat-presence{margin-top:20px}.chat-shell{margin-top:30px}.message-list{min-height:360px;padding:18px 13px}.message{max-width:88%}.chat-notice{margin-bottom:0}.nav-theme{margin-top:18px}}.login-page{background:radial-gradient(circle at 50% 20%, var(--panel-light), var(--night) 55%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);background:var(--panel);width:min(100%,420px);padding:42px;box-shadow:0 22px 80px #00000047}.login-brand{margin-bottom:48px}.login-card h1{margin:15px 0 12px;font-size:50px}.login-card p{color:var(--muted);margin:0 0 27px;font-size:13px;line-height:1.7}.login-card form{gap:9px;display:grid}.login-card label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font:10px DM Mono,monospace}.login-card input{color:var(--ink);background:var(--night);border:1px solid var(--line);outline:none;padding:12px}.login-card input:focus{border-color:var(--accent)}.login-card .save{margin-top:10px}.login-card small{color:#db8b7f;min-height:15px;font-size:11px}.login-note{color:var(--muted);margin-top:24px;font:10px DM Mono,monospace;display:block}:root,body[data-theme=light]{--ink:#172a35;--muted:#6c7c80;--faint:#b9c5c2;--line:#dce5e1;--panel:#fff;--panel-light:#eef5f1;--sidebar:#172a35;--night:#f4f7f3;--accent:#ec765d;--prayer:#7b82cf;--meal:#d58a4e;--rest:#429d9a;--study:#4c9b7e}body[data-theme=ember]{--ink:#322a2b;--muted:#887575;--faint:#ccb8ad;--line:#eadbd2;--panel:#fffaf5;--panel-light:#f7e9df;--sidebar:#322a2b;--night:#f8f2ed;--accent:#d86b55;--prayer:#8a80c8;--meal:#cf8a4e;--rest:#4c9990;--study:#6e9f76}*{box-sizing:border-box}html{background:var(--night)}body{color:var(--ink);background:var(--night);letter-spacing:0;font-family:DM Sans,sans-serif}button,input,textarea,select{font-family:DM Sans,sans-serif}.app{background:var(--night);grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--sidebar);color:#eff8f2;border:0;height:100vh;padding:30px 20px 24px;position:sticky;top:0;box-shadow:10px 0 35px #172a3512}.brand{color:#fff;letter-spacing:-.04em;gap:11px;margin:0 0 54px;font-size:21px}.brand-mark{border:6px solid var(--accent);width:24px;height:24px}.brand-mark:after{width:6px;height:6px;top:-6px;right:-6px}.nav{gap:7px}.nav a{color:#eff8f29e;border-radius:12px;padding:11px 13px;font-size:12px;position:relative}.nav a:hover,.nav a.active{color:#fff;background:#ffffff1a}.nav a.active:after{content:"•";color:var(--accent);font-size:20px;line-height:10px}.page-icon{color:#a9d4bf}.sidebar-foot{color:#eff8f29e;border-color:#ffffff24}.sidebar-foot strong{color:#fff;font-size:19px}.nav-theme{border-color:#ffffff24}.nav-theme .eyebrow{color:#eff8f28c}.theme-switcher{background:#ffffff14;border-color:#ffffff1f}.theme-switcher button{color:#eff8f29e;border-radius:8px}.theme-switcher button.active{color:#fff;box-shadow:none;background:#ffffff1f}.main{max-width:1500px;padding:42px clamp(28px,5vw,84px) 72px}.topline{align-items:center}.date-label{color:var(--muted);letter-spacing:.13em;font-size:10px}h1{letter-spacing:-.035em;color:var(--ink);margin-top:10px;font-family:DM Serif Display,Georgia,serif;font-size:clamp(42px,5vw,70px)}h2,h3{color:var(--ink)}.view-tabs{border-bottom:1px solid var(--line);gap:22px;margin-top:48px}.view-tabs a{color:var(--muted);padding:0 0 15px;font-size:12px}.view-tabs a.active{color:var(--ink);border-color:var(--accent)}.focus-launch,.send-button,.voice-button,.danger-button,.save{border-radius:9px;transition:transform .2s,box-shadow .2s,background .2s}.focus-launch{color:var(--ink);background:var(--panel);border-color:var(--line);box-shadow:0 2px 8px #172a350a}.focus-launch:hover,.send-button:hover,.save:hover{transform:translateY(-2px);box-shadow:0 8px 18px #172a351a}.save,.send-button{background:var(--accent);border-color:var(--accent);color:#fff}.day-summary{margin:40px 0 22px}.day-summary h2{font-size:30px}.stats-strip{border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 8px 28px #172a350d}.stat{padding:17px 18px}.stat strong{font-size:25px}.today-tools{padding:15px 0}.tool-search,.wedding-fields input,.login-card input{border-color:var(--line);background:var(--panel);border-radius:9px}.filter-pill{border-radius:999px}.filter-pill:hover,.filter-pill.active{border-color:var(--accent);color:var(--ink);background:#ec765d14}.timeline{max-width:920px}.block-card{border-left-width:3px;padding:12px 18px 25px}.block-card h3{font-size:19px}.block-card p{font-size:13px}.block-node{width:11px;height:11px}.week-grid,.story-chapters,.surah-grid,.love-guidance-grid{border-radius:14px;overflow:hidden;box-shadow:0 8px 28px #172a350d}.week-cell{background:var(--panel)}.week-event{background:var(--panel-light)}.story-opening,.gallery-intro,.portrait-intro,.dua-opening,.quran-opening{padding-top:76px}.story-opening h2,.gallery-intro h2,.portrait-intro h2,.dua-opening h2,.quran-opening h2{font-family:DM Serif Display,Georgia,serif}.story-chapter,.memory-card,.portrait-card,.dua-card,.surah-card,.love-guidance-card,.chat-shell,.modal,.login-card{border-color:var(--line);background:var(--panel);box-shadow:0 8px 28px #172a350a}.story-chapter:first-child,.memory-card:first-child,.love-guidance-card:first-child{border-top:3px solid var(--accent)}.story-chapter h3,.memory-copy h3,.portrait-copy h3,.dua-card h3,.love-guidance-card h3{font-family:DM Serif Display,Georgia,serif}.memory-card:hover{box-shadow:0 15px 30px #172a351c}.memory-image,.portrait-image{background:var(--panel-light)}.portrait-card{border-radius:16px;padding:20px}.portrait-upload{border-radius:9px}.love-guidance{padding-top:48px}.love-guidance-heading h2{font-family:DM Serif Display,Georgia,serif}.love-guidance-card{min-height:245px}.dua-card,.surah-card{box-shadow:none;border-radius:0}.dua-card:first-child{border-top:3px solid var(--accent)}.surah-read{color:var(--accent)}.reader-wrap{max-width:980px}.ayah-page{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 30px #172a350f}.chat-shell{border-radius:16px;overflow:hidden}.chat-header{background:var(--panel-light)}.message-composer{background:var(--panel)}.message-bubble{border-radius:12px}.incoming .message-bubble{border-left:0;border-bottom-left-radius:3px}.outgoing .message-bubble{border-bottom-right-radius:3px}.wedding-hero{padding-top:70px}.photo-frame{border-color:var(--line);border-radius:18px;box-shadow:0 15px 35px #172a3514}.countdown{border-radius:12px;overflow:hidden}.wedding-controls{border-color:var(--line)}.settings{max-width:820px}.setting-row{border:1px solid var(--line);background:var(--panel);border-bottom:0;padding:21px 18px}.setting-row:first-of-type{border-radius:14px 14px 0 0}.setting-row:last-child{border-bottom:1px solid var(--line);border-radius:0 0 14px 14px}.toggle{border-radius:999px}.login-page{background:linear-gradient(135deg,#dfeee8 0%,#f8f3e9 55%,#f3d9cf 100%)}.login-card{border-radius:22px;padding:48px;box-shadow:0 24px 70px #172a3524}.login-card h1{font-family:DM Serif Display,Georgia,serif}@media (width<=700px){.app{display:block}.sidebar{height:auto;box-shadow:none;padding:19px 20px 16px;position:relative}.brand{margin-bottom:20px}.nav{flex-wrap:nowrap;padding-bottom:3px;overflow-x:auto}.nav a{flex:none}.main{padding:28px 20px 48px}.view-tabs{white-space:nowrap;gap:18px;overflow-x:auto}.view-tabs a{flex:none}.topline h1{max-width:340px}.focus-launch{max-width:100%}.stats-strip{border-radius:10px}.portrait-card{border-radius:14px}.login-card{padding:32px 24px}}
