:root{--ink:#321014;--soft-ink:#63404a;--muted:#8e6670;--line:#7e1f2c33;--surface:#fff7f8;--surface-strong:#ffe6ec;--rose:#d94f76;--red:#9f1729;--burgundy:#5b0a0f;--burgundy-deep:#270307;--pink:#ffb7ca;--baby-blue:#a8dcff;--blue-deep:#2f5f84;--sage:#637a62;--gold:#d4af37;--gold-soft:#f3d982;--wax-mid:#8d1527;--wax-deep:#42060e;--glass:#fff5fa24;--glass-strong:#fff8fb38;--glass-light:#ffffffb3;--glass-line:#ffffff3d;--shadow-soft:0 24px 70px #23000938;color:var(--soft-ink);background:var(--burgundy-deep);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Aptos,Segoe UI Variable Text,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0;overflow-x:hidden}#root{overflow-x:hidden}button,input,textarea,select{letter-spacing:0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #a8dcff5c}a{color:inherit}img{max-width:100%;display:block}p,h1,h2,h3{overflow-wrap:anywhere}.app-shell{background:linear-gradient(120deg,#a8dcff2e,#0000 34%),linear-gradient(260deg,#ffb7ca33,#0000 38%),linear-gradient(145deg,#5c081af5,#2b030bf7 54%,#680d22f0),url(/images/romantic-paper.png) 50%/cover fixed;grid-template-columns:286px minmax(0,1fr);min-height:100svh;display:grid;overflow-x:hidden}.sidebar{-webkit-backdrop-filter:blur(28px)saturate(140%);backdrop-filter:blur(28px)saturate(140%);background:linear-gradient(#ffffff1f,#ffb7ca12),linear-gradient(#7f11279e,#340511c2),url(/images/romantic-paper.png) 0 0/780px;border-right:1px solid #ffffff29;flex-direction:column;height:100svh;padding:22px;display:flex;position:sticky;top:0;box-shadow:18px 0 70px #1600053d}.sidebar-brand,.profile-pill,.panel-title,.letter-card-top,.button-row,.tag-row,.reader-topbar,.collection-foot,.settings-row{align-items:center;display:flex}.sidebar-brand{gap:12px;margin-bottom:22px}.brand-icon,.brand-mark,.timeline-icon{color:#fff;background:linear-gradient(145deg,#ffffff75,#ffffff14 36%),linear-gradient(135deg,#ffb7cab3,#9f1729e0 58%,#a8dcff85);place-items:center;display:grid;box-shadow:inset 0 1px #ffffff6b,inset 0 -12px 22px #5805142e,0 16px 34px #3400083d}.brand-icon{border-radius:12px;width:42px;height:42px}.brand-icon svg,.brand-mark svg{width:21px;height:21px}.sidebar-brand strong,.profile-pill strong{color:#fff4f6;display:block}.sidebar-brand span,.profile-pill span,.date-card small,.idea-card small,.place-card span{color:#ffdce29e;font-size:.82rem}.nav-list{gap:6px;padding-right:4px;display:grid;overflow-y:auto}.nav-button,.text-button,.ghost-button,.primary-button,.icon-label-button,.icon-button,.role-switcher button,.theme-switcher button,.letter-card,.action-tile,.reply-row,.map-pin{font:inherit;cursor:pointer;border:0}.nav-button{color:#ffe7ebb8;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;min-height:42px;padding:10px 12px;display:flex}.nav-button:hover,.nav-button.active{color:#fff9fb;box-shadow:inset 3px 0 0 var(--gold), inset 0 1px 0 #ffffff38;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(145deg,#fff3,#ffb7ca1a),#ffffff14;border-color:#ffffff38}.sidebar-footer{gap:12px;margin-top:auto;padding-top:20px;display:grid}.profile-pill{border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(18px)saturate(135%);backdrop-filter:blur(18px)saturate(135%);background:linear-gradient(145deg,#ffffff29,#ffffff0f),#ffffff12;border-radius:8px;gap:10px;padding:10px;box-shadow:inset 0 1px #ffffff2e}.role-switcher{grid-template-columns:1fr 1fr;gap:6px;display:grid}.role-switcher button{color:#ffeef2b8;background:#ffffff14;border:1px solid #ffffff1a;border-radius:8px;min-height:36px}.role-switcher button:hover{color:#fff8fb;background:#d4af371f}.workspace{min-width:0}.cloud-banner{color:#dff3ff;-webkit-backdrop-filter:blur(22px)saturate(140%);backdrop-filter:blur(22px)saturate(140%);background:linear-gradient(145deg,#ffffff2e,#a8dcff1a),#2f5f8438;border:1px solid #6bbeff6b;border-radius:8px;align-items:center;gap:8px;width:min(1180px,100vw - 354px);margin:18px auto 0;padding:10px 14px;display:flex;box-shadow:inset 0 1px #fff3}.cloud-banner.error{color:#8c2039;background:#ffe8eee6;border-color:#e83a576b}.view{color:#fff2f5db;gap:24px;width:min(1180px,100vw - 286px);margin:0 auto;padding:34px;display:grid}.view-header{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.view-header>div:first-child{max-width:760px}.eyebrow{color:#ffcfdcd6;letter-spacing:.22em;text-transform:uppercase;margin:0 0 8px;font-size:.72rem;font-weight:850}.view-header h1,.login-panel h1{color:#fff3f6;letter-spacing:0;text-shadow:0 20px 46px #1f00064d;margin:0;font-family:Aptos Display,Segoe UI Variable Display,Segoe UI,Inter,sans-serif;font-size:clamp(2.3rem,5vw,5.3rem);font-style:normal;font-weight:820;line-height:.98}.view-header h1:first-letter,.login-panel h1:first-letter{color:var(--pink)}.view-header p,.login-copy,.panel p,.collection-card p,.mood-card p,.letter-card p,.timeline-item p,.idea-card p,.place-card p{color:#ffe1e7b8}.header-action{flex:none}.primary-button,.ghost-button,.text-button,.icon-label-button{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;font-weight:750;display:inline-flex}.primary-button{color:#fff;background:linear-gradient(145deg,#fff3,#0000 34%),linear-gradient(135deg,#ff577ee6,#9f1729eb 55%,#4f0412f5);border:1px solid #ffffff2e;padding:0 16px;box-shadow:inset 0 1px #ffffff47,0 16px 36px #30000857}.primary-button:hover{background:linear-gradient(145deg,#ffffff3d,#0000 34%),linear-gradient(135deg,#ff628d,#a71932 58%,#5a0718)}.ghost-button{color:#fff1f5;border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);background:linear-gradient(145deg,#ffffff29,#ffffff0d),#ffffff12;padding:0 14px;box-shadow:inset 0 1px #fff3}.ghost-button:hover,.ghost-button.active{background:#d4af371f;border-color:#d4af3770}.ghost-button.danger,.text-button.danger{color:#9d2f3e}.text-button{min-height:34px;color:var(--baby-blue);background:0 0;padding:0}.icon-label-button{color:#fff5f7;background:#ffffff14;border:1px solid #ffffff1f;padding:0 12px}.button-row{flex-wrap:wrap;gap:10px}.metric-grid,.quick-actions,.letter-grid,.collection-grid,.mood-grid,.date-grid,.settings-grid,.date-night-grid{gap:16px;display:grid}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card,.panel,.letter-card,.action-tile,.collection-card,.mood-card,.date-card,.idea-card,.place-card,.vault-lock,.reader-card,.memory-tile{border:1px solid var(--glass-line);background-blend-mode:normal, normal, soft-light;-webkit-backdrop-filter:blur(22px)saturate(145%);backdrop-filter:blur(22px)saturate(145%);background:linear-gradient(145deg,#ffffffc7,#ffdde86b 46%,#a8dcff2e),linear-gradient(#ffffff61,#ffffff1f),url(/images/romantic-paper.png) 50%/920px;border-radius:8px;box-shadow:inset 0 1px #ffffffa3,inset 0 -24px 50px #ffb7ca24,0 24px 70px #19000538}.metric-card,.panel,.letter-card,.action-tile,.collection-card,.mood-card,.date-card,.idea-card,.place-card,.vault-lock,.reader-card,.memory-tile,.letter-compose,.search-bar,.list-row,.reply-row,.reply-note,.voice-card{position:relative}.metric-card:before,.panel:before,.letter-card:before,.action-tile:before,.collection-card:before,.mood-card:before,.date-card:before,.idea-card:before,.place-card:before,.vault-lock:before,.reader-card:after,.memory-tile:before,.letter-compose:before,.search-bar:before{pointer-events:none;content:"";background:linear-gradient(145deg,#ffffff6b,#0000 42%);border-radius:7px;position:absolute;inset:1px}.metric-card{gap:8px;padding:18px;display:grid}.metric-card svg{color:var(--wax-mid)}.metric-card strong{color:var(--ink);font-size:2rem;line-height:1}.metric-card span{color:var(--muted);font-size:.9rem}.quick-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.action-tile{min-height:148px;color:var(--soft-ink);text-align:left;background:linear-gradient(145deg,#ffffffb8,#ffdde866,#a8dcff29),url(/images/romantic-paper.png) 50%/820px;gap:10px;padding:18px;transition:transform .18s,box-shadow .18s;display:grid}.action-tile:hover,.letter-card:hover{transform:translateY(-2px);box-shadow:inset 0 1px #ffffffad,0 28px 76px #19000547}.action-tile svg{color:var(--blue-deep)}.action-tile strong,.letter-card h3,.collection-card h3,.mood-card strong,.date-card h3,.idea-card h3,.place-card h3,.timeline-item h3,.panel-title h2{color:var(--ink);letter-spacing:0;margin:0}.action-tile span,.metric-card p,.panel p,.collection-card p,.mood-card p,.date-card p,.idea-card p,.place-card p,.letter-card p,.memory-tile p{color:var(--muted)}.collection-card .eyebrow,.mood-card .eyebrow,.date-card .eyebrow,.idea-card .eyebrow,.place-card .eyebrow{color:var(--wax-mid)}.collection-foot,.collection-foot span,.date-card small,.idea-card small,.place-card span{color:var(--soft-ink)}.two-column,.editor-layout,.map-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.42fr);align-items:start;gap:18px;display:grid}.panel{gap:16px;padding:18px;display:grid}.panel-title{justify-content:flex-start;gap:10px}.panel-title svg{color:var(--rose)}.panel-title h2{font-size:1rem}.stack-list{gap:10px;display:grid}.list-row,.reply-row{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(145deg,#ffffff9e,#ffdde842),#ffffff47;border:1px solid #ffffff57;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex;box-shadow:inset 0 1px #ffffff94}.list-row div,.reply-row{min-width:0}.list-row strong,.list-row span,.reply-row strong,.reply-row span{display:block}.list-row span,.reply-row span{color:var(--muted);font-size:.9rem}.reply-row{width:100%;color:inherit;text-align:left}.badge,.status-dot{width:fit-content;min-height:24px;color:var(--ink);text-transform:capitalize;background:linear-gradient(145deg,#ffffff8f,#ffb7ca6b),#ffe0e899;border:1px solid #7e1f2c1f;border-radius:999px;align-items:center;padding:0 9px;font-size:.78rem;font-weight:700;display:inline-flex}.status-dot.visible{background:#e0f3ff}.status-dot.archived{background:#e1e5ea}.letter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.letter-card{min-height:210px;color:inherit;text-align:left;gap:12px;padding:18px;display:grid;position:relative;overflow:hidden}.letter-card:before{background:linear-gradient(180deg, var(--pink), var(--rose), var(--baby-blue));content:"";border-radius:8px 0 0 8px;width:5px;position:absolute;inset:0 auto 0 0}.letter-card:after{opacity:.52;content:"";background:linear-gradient(32deg,#0000 48%,#7e1f2c2e 49%,#0000 51%),linear-gradient(148deg,#0000 48%,#7e1f2c2e 49%,#0000 51%),linear-gradient(135deg,#fff8ec,#eed6bb);border:1px solid #7e1f2c29;border-radius:4px;width:58px;height:38px;position:absolute;bottom:14px;right:14px}.letter-card-top{color:var(--gold);justify-content:space-between;gap:10px}.letter-card h3{font-size:1.35rem}.letter-card p{-webkit-line-clamp:3;-webkit-box-orient:vertical;min-height:66px;display:-webkit-box;overflow:hidden}.tag-row{flex-wrap:wrap;gap:6px;margin-top:auto}.tag-row span{color:var(--soft-ink);background:#ffffff75;border:1px solid #7e1f2c1f;border-radius:999px;padding:5px 8px;font-size:.78rem}.search-bar{border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(20px)saturate(145%);backdrop-filter:blur(20px)saturate(145%);background:linear-gradient(145deg,#ffffffb8,#ffdde852),#ffffff57;border-radius:8px;align-items:center;gap:10px;padding:12px 14px;display:flex;box-shadow:inset 0 1px #ffffff9e,0 18px 46px #19000529}.search-bar input{width:100%;font:inherit;background:0 0;border:0;outline:0}.editor-view{width:min(1360px,100vw - 286px)}.letter-compose{border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(22px)saturate(145%);backdrop-filter:blur(22px)saturate(145%);background:linear-gradient(145deg,#ffffffc2,#ffdde870,#a8dcff29),url(/images/romantic-paper.png) 50%/cover;border-radius:8px;gap:14px;padding:20px;display:grid;box-shadow:inset 0 1px #ffffff9e,0 28px 70px #14000538}.title-input{width:100%;color:var(--ink);letter-spacing:0;background:0 0;border:0;outline:0;font-family:Aptos Display,Segoe UI Variable Display,Segoe UI,Inter,sans-serif;font-size:clamp(2rem,4vw,4.3rem);font-weight:820}.editor-toolbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff7a;border:1px solid #7e1f2c24;border-radius:8px;flex-wrap:wrap;gap:6px;padding:8px;display:flex}.icon-button{width:36px;height:36px;color:var(--soft-ink);background:0 0;border-radius:7px;place-items:center;display:grid}.icon-button:hover,.icon-button.active{color:var(--ink);background:#fff}.rich-editor{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#ffffffad,#ffeef670),url(/images/romantic-paper.png) 50%/980px;border:1px solid #7e1f2c24;border-radius:8px;min-height:430px;padding:26px}.rich-editor .ProseMirror{min-height:380px;color:var(--soft-ink);outline:0;font-family:Aptos,Segoe UI Variable Text,Inter,system-ui,sans-serif;font-size:1.12rem;line-height:1.78}.rich-editor h2{color:var(--ink);font-size:1.8rem}.rich-editor blockquote{border-left:3px solid var(--rose);color:var(--ink);margin-left:0;padding-left:18px}.editor-footer{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;display:flex}.editor-aside{gap:16px;display:grid}.form-grid,.inline-form{gap:12px;display:grid}.inline-form{grid-template-columns:minmax(0,1fr) minmax(0,180px) minmax(0,160px) auto;align-items:end}label{color:var(--soft-ink);gap:7px;font-weight:700;display:grid}input,select,textarea{box-sizing:border-box;width:100%;min-height:42px;color:var(--ink);font:inherit;background:#ffffffad;border:1px solid #7e1f2c29;border-radius:8px;padding:10px 12px;box-shadow:inset 0 1px #ffffffb3}textarea{resize:vertical;min-height:96px}.toggle-row{align-items:center;gap:10px;font-weight:600;display:flex}.toggle-row input{width:18px;min-height:18px}.upload-drop{min-height:78px;color:var(--blue-deep);background:#e7f6ffad;border:1px dashed #a8dcff80;border-radius:8px;justify-content:center;align-items:center;gap:10px;display:flex}.upload-drop input{display:none}.photo-strip{gap:10px;display:grid}.photo-item{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:74px minmax(0,1fr) 28px;align-items:center;gap:10px;padding:8px;display:grid;position:relative}.photo-item img{object-fit:cover;border-radius:6px;width:74px;height:58px}.photo-item button{background:#fff;border:0;border-radius:7px;place-items:center;width:28px;height:28px;display:grid}.voice-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:12px;padding:12px;display:flex}.voice-card audio{width:min(100%,320px);margin-top:8px;display:block}.reader-card{color:var(--soft-ink);gap:18px;padding:clamp(22px,4vw,42px);display:grid;position:relative;overflow:hidden}.reader-card:before{pointer-events:none;content:"";border:1px solid #ffffff6b;border-radius:8px;position:absolute;inset:18px;box-shadow:inset 0 1px #ffffff6b,inset 0 -24px 50px #ffb7ca1a}.reader-card h2{color:var(--ink);letter-spacing:0;margin:0;font-family:Aptos Display,Segoe UI Variable Display,Segoe UI,Inter,sans-serif;font-size:clamp(2rem,4vw,4.2rem);font-weight:820;line-height:1}.reader-body{color:var(--soft-ink);font-family:Aptos,Segoe UI Variable Text,Inter,system-ui,sans-serif;font-size:1.08rem;line-height:1.82}.reader-midnight{color:#f7efe9;background:linear-gradient(145deg,#ffffff1a,#a8dcff0f),linear-gradient(145deg,#550812e6,#160205f0),url(/images/romantic-paper.png) 50%/cover}.reader-midnight h2,.reader-midnight .reader-body,.reader-midnight .eyebrow{color:#fff7f1}.reader-candle{background-blend-mode:normal, soft-light;background:linear-gradient(145deg,#ffffffd1,#ffdde87a,#a8dcff29),url(/images/romantic-paper.png) 50%/cover}.reader-paper{background-blend-mode:normal, soft-light;background:linear-gradient(145deg,#ffffffd6,#ffdde880,#a8dcff2e),url(/images/romantic-paper.png) 50%/cover}.theme-switcher{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff6b;border:1px solid #7e1f2c29;border-radius:8px;gap:6px;padding:4px;display:flex}.theme-switcher button{min-height:32px;color:var(--soft-ink);text-transform:capitalize;background:0 0;border-radius:6px;padding:0 10px}.theme-switcher button.active{color:var(--ink);background:#ffffffad;box-shadow:inset 0 1px #ffffffc7}.reader-card .theme-switcher,.reader-card .icon-label-button{color:var(--soft-ink);background:#fff9f7c7;border-color:#7e1f2c2e}.reader-card .icon-label-button:hover{color:var(--red);background:#ffe7eddb;border-color:#9f172947}.reader-topbar{justify-content:space-between;gap:14px}.reader-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.reader-gallery figure{margin:0}.reader-gallery img{aspect-ratio:4/3;object-fit:cover;border-radius:8px;width:100%}.reader-gallery figcaption{color:var(--muted);margin-top:6px;font-size:.86rem}.sealed{text-align:center;background:linear-gradient(135deg,#9f172940,#a8dcff2e),url(/images/romantic-paper.png) 50%/cover;place-items:center;min-height:300px}.reply-composer{gap:10px;padding-top:8px;display:grid}.reply-list{gap:10px;display:grid}.reply-note{border:1px solid var(--line);background:#ffffffb8;border-radius:8px;padding:12px}.timeline{gap:16px;display:grid;position:relative}.timeline:before{background:var(--line);content:"";width:1px;position:absolute;top:16px;bottom:16px;left:22px}.timeline-item{grid-template-columns:44px minmax(0,1fr);gap:14px;display:grid;position:relative}.timeline-icon{z-index:1;background:radial-gradient(circle at 30% 22%, #ffffff52, transparent 30%), linear-gradient(135deg, var(--wax-mid), var(--blue-deep));border-radius:999px;width:44px;height:44px}.timeline-item>div:last-child{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(145deg,#ffffffb3,#ffdde852),#ffffff57;border:1px solid #ffffff57;border-radius:8px;padding:18px}.timeline-item span{color:var(--muted);font-size:.84rem}.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.collection-card,.mood-card,.date-card,.idea-card,.place-card{gap:14px;padding:18px;display:grid}.collection-card{border-top:1px solid #ffffff5c;min-height:218px;position:relative;box-shadow:inset 0 4px #d94f76b8,inset 0 1px #ffffffa3,0 24px 70px #19000538}.collection-card:after,.mood-card:after,.date-card:after{content:"";background:linear-gradient(90deg,#0000,#ba536647);width:44px;height:1px;position:absolute;bottom:10px;right:14px;transform:rotate(-18deg)}.collection-card.accent-sage{box-shadow:inset 0 4px #637a62b8,inset 0 1px #ffffffa3,0 24px 70px #19000538}.collection-card.accent-midnight{box-shadow:inset 0 4px #a8dcffbd,inset 0 1px #ffffffa3,0 24px 70px #19000538}.collection-card.accent-teal{box-shadow:inset 0 4px #a8dcffc7,inset 0 1px #ffffffa3,0 24px 70px #19000538}.collection-card.accent-gold{box-shadow:inset 0 4px #d4af37bd,inset 0 1px #ffffffa3,0 24px 70px #19000538}.collection-foot{justify-content:space-between;margin-top:auto}.mood-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.mood-card{min-height:170px;position:relative}.date-grid,.date-night-grid,.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.date-card strong{color:var(--ink);font-size:2rem}.date-card{position:relative}.map-layout{grid-template-columns:minmax(0,1fr) 380px}.map-board{border:1px solid var(--line);background:linear-gradient(120deg,#ffb7ca2e,#0000 34%),linear-gradient(260deg,#a8dcff33,#0000 40%),url(/images/romantic-paper.png) 50%/cover,repeating-linear-gradient(0deg,#27262d0f 0 1px,#0000 1px 72px),repeating-linear-gradient(90deg,#27262d0d 0 1px,#0000 1px 72px),#fffdf8;border-radius:8px;min-height:560px;position:relative;overflow:hidden}.map-pin{color:#fff;background:var(--wax-mid);border-radius:999px;place-items:center;width:42px;height:42px;display:grid;position:absolute;box-shadow:0 12px 28px #9f172952}.vault-lock{text-align:center;place-items:center;gap:16px;max-width:440px;padding:34px;display:grid}.reminder-prompt{background:#e7f6ff29;border:1px solid #a8dcff5c;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;padding:18px;display:flex}.reminder-prompt.compact{background:0 0;border:0;padding:0;display:block}.empty-state{border:1px dashed var(--line);min-height:120px;color:var(--muted);background:#ffffff8c;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:18px;display:flex}.login-screen{background:radial-gradient(circle at 82% 14%,#a8dcff38,#0000 28%),radial-gradient(circle at 16% 82%,#ffb7ca33,#0000 30%),linear-gradient(140deg,#5b0a0ff0,#270307f5),url(/images/romantic-paper.png) 50%/cover;grid-template-columns:minmax(0,.9fr) minmax(360px,.72fr);gap:32px;width:100%;max-width:100vw;min-height:100svh;padding:clamp(24px,5vw,72px);display:grid;overflow-x:hidden}.login-panel,.login-preview{align-self:center;width:100%;min-width:0}.login-panel{gap:18px;max-width:760px;display:grid}.access-screen{grid-template-columns:minmax(0,560px);place-content:center}.access-panel{border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(24px)saturate(145%);backdrop-filter:blur(24px)saturate(145%);background:linear-gradient(145deg,#ffffff2e,#ffb7ca14),#5008187a;border-radius:8px;padding:clamp(24px,6vw,46px);box-shadow:inset 0 1px #ffffff3d,0 30px 90px #1c00084d}.access-code-field{color:#ffeef3d6}.access-code-field input{color:#fff8fb;background:#ffffff1a;border-color:#ffffff38}.brand-mark{border-radius:16px;width:54px;height:54px}.login-actions{flex-wrap:wrap;gap:10px;margin-top:6px;display:flex}.fine-print,.notice{color:#ffe2e8ad;font-size:.9rem}.notice{color:#9d2f3e}.notice.info{color:var(--baby-blue)}.login-preview{gap:18px;display:grid}.preview-letter{border:1px solid var(--line);color:#fff;background:linear-gradient(160deg, #27030724, #270307b8), url(/images/romantic-paper.png) center / cover, linear-gradient(135deg, var(--wax-mid), var(--rose) 52%, var(--blue-deep));border-radius:8px;gap:14px;min-height:420px;padding:30px;display:grid;box-shadow:0 32px 80px #16000557}.preview-letter span{border:1px solid #ffffff59;border-radius:999px;align-self:start;width:fit-content;padding:8px 12px}.preview-letter strong{letter-spacing:0;align-self:end;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,4.8rem);line-height:1}.preview-stack{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.memory-tile{gap:10px;min-height:118px;padding:16px;display:grid}.memory-tile svg{color:var(--rose)}.teal-tile svg{color:var(--baby-blue)}.sage-tile svg{color:var(--sage)}@media (width<=1120px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;position:static}.nav-list{grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}.sidebar-footer{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.view,.editor-view{width:min(100%,1180px)}.cloud-banner{width:calc(100% - 44px)}.login-screen{grid-template-columns:minmax(0,1fr)}.metric-grid,.mood-grid,.quick-actions,.letter-grid,.collection-grid,.date-grid,.date-night-grid,.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column,.editor-layout,.map-layout{grid-template-columns:1fr}}@media (width<=720px){.app-shell,.workspace{max-width:100vw;overflow-x:hidden}.view{width:100%;max-width:100vw;padding:22px}.view-header,.reader-topbar,.reminder-prompt{flex-direction:column;align-items:stretch}.header-action,.header-action .primary-button,.header-action .ghost-button{width:100%}.nav-list,.metric-grid,.quick-actions,.letter-grid,.collection-grid,.mood-grid,.date-grid,.settings-grid,.date-night-grid,.reader-gallery,.preview-stack,.inline-form,.sidebar-footer{grid-template-columns:1fr}.login-screen{padding:22px;overflow:hidden}.login-panel,.login-preview{max-width:346px}.login-panel h1{font-size:clamp(1.9rem,8.5vw,2.35rem);line-height:1.08}.view-header h1{text-wrap:balance;max-width:100%;font-size:clamp(2rem,8vw,2.55rem);line-height:1.06}.view-header p{max-width:32ch}.login-actions{grid-template-columns:1fr;display:grid}.login-actions .primary-button,.login-actions .ghost-button{width:100%}.login-copy,.fine-print,.notice{max-width:100%}.preview-letter{width:100%;min-height:300px;padding:24px}.preview-letter strong{font-size:clamp(2rem,9vw,2.65rem)}.map-board{min-height:360px}.title-input{font-size:2.2rem}.rich-editor{padding:18px}}
