@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/caveat-latin-600-normal-CVQZ7gYO.woff2) format("woff2"),url(/assets/caveat-latin-600-normal-B17Hw7-O.woff) format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/playfair-display-latin-500-normal-BAnp1OC4.woff2) format("woff2"),url(/assets/playfair-display-latin-500-normal-BadFOp2V.woff) format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fredoka-latin-500-normal-BpYxueJ9.woff2) format("woff2"),url(/assets/fredoka-latin-500-normal-CFGu1_I7.woff) format("woff")}@font-face{font-family:Permanent Marker;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/permanent-marker-latin-400-normal-BF23djCy.woff2) format("woff2"),url(/assets/permanent-marker-latin-400-normal-BnZj5c41.woff) format("woff")}:root{--color-bg: #fff7ee;--color-surface: #ffffff;--color-surface-2: #fff0e0;--color-text: #2b1d3a;--color-muted: #6b5b7b;--color-accent: #d6336c;--color-accent-2: #9c36b5;--color-accent-hover: #b82659;--color-on-accent: #ffffff;--color-accent-soft: #ffe0ec;--color-border: #f1dcc9;--color-danger: #c92a2a;--color-danger-soft: #ffe3e3;--fun-pink: #d6336c;--fun-pink-soft: #ffe0ec;--fun-yellow: #ffc83d;--fun-yellow-soft: #fff2c4;--fun-mint: #0a8f6a;--fun-mint-soft: #d4f5e8;--fun-sky: #1971c2;--fun-sky-soft: #d8ebff;--fun-grape: #7b2fbf;--fun-grape-soft: #ecdcff;--fun-orange: #e8590c;--fun-orange-soft: #ffe4d1;--gradient-main: linear-gradient(135deg, #e0336f 0%, #b536b0 100%);--gradient-rainbow: linear-gradient(135deg, #ff6b9d, #ffc83d 33%, #4fd1a5 66%, #5aa9ff);--shadow-sm: 0 1px 2px rgb(90 40 90 / 10%), 0 1px 1px rgb(90 40 90 / 6%);--shadow-md: 0 10px 26px rgb(150 50 120 / 16%), 0 2px 6px rgb(90 40 90 / 8%);--shadow-lg: 0 20px 48px rgb(150 50 120 / 22%), 0 4px 10px rgb(90 40 90 / 10%);--shadow-pop: 0 8px 20px rgb(214 51 108 / 38%);--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2.25rem;--radius: 1.4rem;--radius-sm: 1rem;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: ui-rounded, "SF Pro Rounded", "Hiragino Maru Gothic ProN", "Nunito", "Segoe UI", system-ui, sans-serif;--nav-height: 4.5rem}@media (prefers-color-scheme: dark){:root{--color-bg: #190f26;--color-surface: #281a38;--color-surface-2: #33224a;--color-text: #fbf0ff;--color-muted: #c9b6dc;--color-accent: #ff7aa8;--color-accent-2: #c58bff;--color-accent-hover: #ff97bb;--color-on-accent: #2a0a1a;--color-accent-soft: #4a2140;--color-border: #433058;--color-danger: #ff8787;--color-danger-soft: #4a2024;--fun-pink: #ff7aa8;--fun-pink-soft: #4a2140;--fun-yellow: #ffd45e;--fun-yellow-soft: #4a3d17;--fun-mint: #4fe0b6;--fun-mint-soft: #153e36;--fun-sky: #7fc0ff;--fun-sky-soft: #1b3350;--fun-grape: #c58bff;--fun-grape-soft: #3b2459;--fun-orange: #ffa06b;--fun-orange-soft: #4a2c1b;--gradient-main: linear-gradient(135deg, #ff7aa8 0%, #c58bff 100%);--shadow-sm: 0 1px 2px rgb(0 0 0 / 40%);--shadow-md: 0 10px 26px rgb(0 0 0 / 40%);--shadow-lg: 0 20px 48px rgb(0 0 0 / 55%);--shadow-pop: 0 8px 20px rgb(255 122 168 / 28%)}}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-body);line-height:1.5;background:var(--color-bg);background-image:radial-gradient(50% 32% at 0% 0%,color-mix(in srgb,var(--fun-pink) 22%,transparent),transparent),radial-gradient(45% 30% at 100% 6%,color-mix(in srgb,var(--fun-yellow) 30%,transparent),transparent),radial-gradient(60% 30% at 100% 100%,color-mix(in srgb,var(--fun-mint) 20%,transparent),transparent),radial-gradient(55% 30% at 0% 96%,color-mix(in srgb,var(--fun-sky) 18%,transparent),transparent);background-attachment:fixed;color:var(--color-text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;line-height:1.2;margin:0 0 var(--space-1)}h1{font-size:1.65rem}h2{font-size:1.2rem}p{margin:0 0 var(--space-1)}a{color:var(--color-accent);text-underline-offset:.18em}@media (prefers-reduced-motion: no-preference){a,button,input,select,textarea,.tile{transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease,opacity .15s ease}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--color-accent) 55%,transparent);outline-offset:2px}.app-shell{max-width:720px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-2) 0}.brand{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-display);font-size:1.3rem;font-weight:700;letter-spacing:-.02em;color:var(--color-text);text-decoration:none}.brand svg{width:1.7rem;height:1.7rem;color:var(--color-accent)}main{flex:1;padding:var(--space-3) var(--space-2) calc(var(--nav-height) + var(--space-3))}.app-shell.signed-out main{padding-bottom:var(--space-4)}.nav{position:fixed;inset:auto 0 0 0;z-index:10;display:flex;justify-content:center;padding:0 var(--space-1) env(safe-area-inset-bottom);background:color-mix(in srgb,var(--color-surface) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--color-border)}.nav-inner{width:100%;max-width:720px;height:var(--nav-height);display:grid;grid-template-columns:repeat(5,1fr);align-items:center}.nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-height:48px;font-size:.72rem;font-weight:600;color:var(--color-muted);text-decoration:none}.nav a svg{width:1.5rem;height:1.5rem}.nav a[aria-current=page]{color:var(--tab-color, var(--color-accent))}.nav a[aria-current=page]:not(.nav-create) svg{background:var(--tab-soft, var(--color-accent-soft));border-radius:.8rem;padding:.2rem;width:2.4rem;height:1.9rem}.nav-frame{--tab-color: var(--fun-pink);--tab-soft: var(--fun-pink-soft)}.nav-moments{--tab-color: var(--fun-sky);--tab-soft: var(--fun-sky-soft)}.nav-family{--tab-color: var(--fun-mint);--tab-soft: var(--fun-mint-soft)}.nav-profile{--tab-color: var(--fun-grape);--tab-soft: var(--fun-grape-soft)}.nav a.nav-create .nav-pill{display:grid;place-items:center;width:3.1rem;height:3.1rem;margin-top:-1.1rem;border-radius:50%;background:var(--gradient-main);color:var(--color-on-accent);box-shadow:var(--shadow-pop)}.nav a.nav-create[aria-current=page] .nav-pill{box-shadow:0 0 0 4px var(--color-accent-soft),var(--shadow-md)}.nav a.nav-create{color:var(--color-text)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);box-shadow:var(--shadow-sm)}.stack{display:flex;flex-direction:column;gap:var(--space-2)}.muted{color:var(--color-muted)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.family-switcher{padding:0}.family-switcher select{min-height:38px;font-size:.9rem;font-weight:600;border-radius:999px;padding:0 var(--space-2);background:var(--color-surface)}form{display:flex;flex-direction:column;gap:var(--space-2)}label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem;font-weight:600}label.inline{flex-direction:row;align-items:center;gap:var(--space-1);font-weight:500}input,select,textarea{min-height:48px;padding:0 .9rem;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:400}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--color-accent)}input[type=checkbox],input[type=radio],label.inline input{min-height:auto;width:1.15rem;height:1.15rem;padding:0;accent-color:var(--color-accent)}input[type=file]{padding:.6rem .9rem;height:auto}textarea{padding:.75rem .9rem;resize:vertical;line-height:1.5}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.2rem;background-image:linear-gradient(45deg,transparent 50%,var(--color-muted) 50%),linear-gradient(135deg,var(--color-muted) 50%,transparent 50%);background-position:calc(100% - 1.15rem) 52%,calc(100% - .8rem) 52%;background-size:.35rem .35rem,.35rem .35rem;background-repeat:no-repeat}fieldset{border:1.5px solid var(--color-border);border-radius:var(--radius);padding:var(--space-2);margin:0;display:flex;flex-direction:column;gap:var(--space-1);min-width:0}legend{padding:0 .4rem;font-size:.85rem;font-weight:700;color:var(--color-muted)}.segmented{display:flex;gap:var(--space-1);flex-wrap:wrap}.error-text{color:var(--color-danger);font-size:.875rem;margin:0}.privacy-summary{margin:0;padding:.65rem .85rem;border-radius:var(--radius-sm);background:var(--color-accent-soft);font-size:.9rem;font-weight:600}button,.button-link{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:48px;padding:0 var(--space-3);border:1.5px solid transparent;border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-on-accent);font:inherit;font-weight:700;text-decoration:none;cursor:pointer;box-shadow:var(--shadow-sm)}button:hover:not(:disabled),.button-link:hover{background:var(--color-accent-hover)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border);box-shadow:none}button.secondary:hover:not(:disabled){background:var(--color-surface-2)}button.danger,button.secondary.danger{color:var(--color-danger);border-color:var(--color-danger)}.list{list-style:none;padding:0;margin:var(--space-2) 0 0}.row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-2);padding:.8rem 0;border-top:1px solid var(--color-border)}.row:first-child{border-top:none}.row-main{display:flex;align-items:center;gap:.8rem;flex:1 1 14rem;min-width:0}.row-main>div:last-child{min-width:0;overflow-wrap:anywhere}.row>div:first-child{min-width:0}.row-actions{display:flex;gap:var(--space-1);flex-wrap:wrap;align-items:center}.row-actions button,.row select{min-height:40px;padding-left:.8rem;padding-right:.8rem;padding-top:0;padding-bottom:0;font-size:.9rem}.row select{padding-right:2rem}.avatar{flex:none;display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--color-accent-soft);color:var(--color-accent);font-family:var(--font-display);font-weight:700;font-size:1.05rem}.badge{display:inline-flex;align-items:center;font-size:.72rem;font-weight:700;letter-spacing:.02em;padding:.15rem .6rem;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent)}.dot{display:inline-block;width:.5rem;height:.5rem;margin-right:.4rem;border-radius:50%;background:var(--color-accent)}.banner{margin:0;padding:.55rem var(--space-2);background:var(--color-danger);color:var(--color-on-accent);font-size:.85rem;font-weight:600;text-align:center}.banner.subtle{background:var(--color-surface-2);color:var(--color-muted)}.frame{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);border-radius:calc(var(--radius) + .4rem);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-lg)}.frame:fullscreen{justify-content:center;border-radius:0;padding:var(--space-3);background:#0f0d0b;color:#f3ede4}.frame-title{margin:0;text-align:center;font-family:var(--font-display);font-size:1rem;letter-spacing:.04em}.frame-stage{display:flex;justify-content:center;align-items:center;padding:var(--space-2);border-radius:var(--radius);background:var(--color-surface-2);box-shadow:inset 0 2px 8px #3c28141f}.frame-controls{display:flex;justify-content:space-between;gap:var(--space-1)}.frame-controls button{flex:1 1 0;min-width:0;padding:0 .5rem;white-space:nowrap}.moment-photo{max-width:100%;height:auto;border-radius:.4rem;box-shadow:var(--shadow-md)}.moment-photo.full{max-height:62vh;object-fit:contain}.moment-photo.tile{width:100%;aspect-ratio:1;object-fit:cover;border-radius:0;box-shadow:none;display:block}.moment-card{width:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--space-3);border-radius:.4rem;font-family:var(--font-display);color:#2a2420;overflow-wrap:anywhere;box-shadow:var(--shadow-md)}.moment-card.full{min-height:38vh;font-size:1.6rem;line-height:1.35}.moment-card.tile{aspect-ratio:1;font-size:.9rem;padding:var(--space-1);border-radius:0;overflow:hidden;box-shadow:none}.moment-card .muted{color:#6f6357}.moment-card p{margin:0;white-space:pre-wrap}.theme-paper{background:linear-gradient(160deg,#fffbe8,#ffeeb8)}.theme-sunrise{background:linear-gradient(160deg,#ffd3b0,#ff9fb6)}.theme-sky{background:linear-gradient(160deg,#c6e7ff,#9cc7ff)}.theme-meadow{background:linear-gradient(160deg,#c9f5dc,#8fe3c2)}.theme-dusk{background:linear-gradient(160deg,#e6d4ff,#c4a8ff)}.swatch{flex-direction:row;align-items:center;gap:.4rem;padding:.5rem .85rem;border-radius:999px;border:1.5px solid transparent;color:#2a2420;font-weight:600}.swatch:has(input:checked){border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-soft)}.moment-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.moment-meta .caption{flex-basis:100%;margin:0;font-family:var(--font-display);font-size:1.05rem}.reactions{display:flex;flex-direction:column;gap:.35rem}.reaction-buttons{display:flex;gap:var(--space-1)}button.reaction{min-width:52px;min-height:48px;padding:0 .9rem;border-radius:999px;font-size:1.35rem}button.reaction[aria-pressed=true]{background:var(--color-accent-soft);border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-soft)}.reaction-names{margin:0;font-size:.85rem}.gallery{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}a.tile{display:block;position:relative;overflow:hidden;border-radius:var(--radius);border:1px solid var(--color-border);text-decoration:none;color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-sm)}a.tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.tile-meta{display:block;padding:.5rem .7rem;font-size:.8rem;font-weight:600}.preview{max-width:100%;max-height:40vh;border-radius:var(--radius-sm);margin-top:var(--space-1);box-shadow:var(--shadow-md)}@media (min-width: 720px){main{padding-left:var(--space-3);padding-right:var(--space-3)}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}h1,h2,h3{font-weight:800;letter-spacing:-.02em}.brand{font-weight:800;background:var(--gradient-main);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--color-accent)}.brand svg{color:var(--fun-pink);-webkit-text-fill-color:initial;filter:drop-shadow(0 2px 0 var(--fun-yellow))}button:not(.secondary),.button-link{background:var(--gradient-main);border-radius:999px;box-shadow:var(--shadow-pop);color:var(--color-on-accent)}button:hover:not(:disabled):not(.secondary),.button-link:hover{background:var(--gradient-main);filter:brightness(1.08) saturate(1.1);transform:translateY(-1px)}button.secondary{border-radius:999px;border:2px solid var(--color-border);background:var(--color-surface)}button.secondary:hover:not(:disabled){border-color:var(--fun-pink);background:var(--fun-pink-soft)}.card{border:2px solid var(--color-border);border-radius:var(--radius)}input,select,textarea{border-width:2px;border-radius:var(--radius-sm)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--fun-pink)}.card h2{display:flex;align-items:center;gap:.5rem}.card h2:before{content:"";width:.7rem;height:.7rem;border-radius:50%;background:var(--gradient-rainbow);flex:none}.frame{border:5px solid transparent;background:linear-gradient(var(--color-surface),var(--color-surface)) padding-box,var(--gradient-rainbow) border-box}.frame:fullscreen{background:#12091c}.frame-title{font-weight:800;font-size:1.05rem;letter-spacing:.02em;color:var(--fun-pink)}.frame-stage{background:linear-gradient(135deg,var(--fun-yellow-soft),var(--fun-pink-soft));box-shadow:inset 0 2px 10px #96327829}button.reaction{border-width:2px;box-shadow:none}button.reaction:nth-child(1){--rx: var(--fun-pink);--rx-soft: var(--fun-pink-soft)}button.reaction:nth-child(2){--rx: #e0a100;--rx-soft: var(--fun-yellow-soft)}button.reaction:nth-child(3){--rx: var(--fun-sky);--rx-soft: var(--fun-sky-soft)}button.reaction:hover:not(:disabled){border-color:var(--rx);background:var(--rx-soft)}button.reaction[aria-pressed=true]{background:var(--rx-soft);border-color:var(--rx);box-shadow:0 0 0 3px var(--rx-soft)}@media (prefers-reduced-motion: no-preference){button.reaction[aria-pressed=true] span{display:inline-block;animation:pop .38s cubic-bezier(.3,1.6,.5,1)}.tile:hover{transform:translateY(-3px) rotate(-.6deg)}}@keyframes pop{0%{transform:scale(.6) rotate(-12deg)}to{transform:scale(1) rotate(0)}}.badge{background:var(--fun-pink-soft);color:var(--fun-pink)}.badge.badge-location{background:var(--fun-mint-soft);color:var(--fun-mint)}.badge.badge-private{background:var(--fun-grape-soft);color:var(--fun-grape)}.avatar{font-weight:800}.avatar.c0{background:var(--fun-pink-soft);color:var(--fun-pink)}.avatar.c1{background:var(--fun-yellow-soft);color:#a86b00}.avatar.c2{background:var(--fun-mint-soft);color:var(--fun-mint)}.avatar.c3{background:var(--fun-sky-soft);color:var(--fun-sky)}.avatar.c4{background:var(--fun-grape-soft);color:var(--fun-grape)}.privacy-summary{background:var(--fun-yellow-soft);border:2px dashed var(--fun-yellow)}.swatch:has(input:checked){border-color:var(--fun-pink);box-shadow:0 0 0 3px var(--fun-pink-soft)}.tile{border:2px solid var(--color-border)}.tile-meta{font-weight:700}.nav{background:color-mix(in srgb,var(--color-surface) 90%,transparent);border-top:2px solid var(--color-border)}.frame-chosen{margin:0;font-size:.85rem;font-weight:600;color:var(--color-accent)}.frame-choice{display:flex;flex-direction:column;gap:var(--space-1)}.frame-choice p{margin:0}.bg-paper{background:#f7f1e5}.bg-sunrise{background:#f9d9b8}.bg-sky{background:#cfe5f5}.bg-meadow{background:#d5e8c8}.bg-dusk{background:#d9cce8}.bg-linen{background-color:#f3ede2;background-image:repeating-linear-gradient(0deg,rgba(120,100,70,.08) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(120,100,70,.08) 0 1px,transparent 1px 3px)}.bg-kraft{background-color:#d8bb92;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .35  0 0 0 0 .22  0 0 0 0 .1  0 0 0 .45 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"),radial-gradient(120% 120% at 30% 20%,rgba(255,255,255,.25),transparent 60%)}.bg-dots{background-color:#fff3ee;background-image:radial-gradient(circle,rgba(214,84,120,.4) 3.5px,transparent 4px);background-size:24px 24px}.bg-stripes{background:repeating-linear-gradient(45deg,#ffd9e2 0,#ffd9e2 14px,#fff8f6 14px,#fff8f6 28px)}.bg-gingham{background-color:#fff;background-image:linear-gradient(90deg,rgba(222,92,92,.32) 50%,transparent 50%),linear-gradient(rgba(222,92,92,.32) 50%,transparent 50%);background-size:36px 36px}.bg-grid{background-color:#fbfbf2;background-image:linear-gradient(rgba(80,120,200,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(80,120,200,.22) 1px,transparent 1px);background-size:22px 22px}.bg-confetti{background-color:#fffaf0;background-image:radial-gradient(circle at 12% 18%,#ff8fa3 0 5px,transparent 6px),radial-gradient(circle at 78% 12%,#ffd166 0 6px,transparent 7px),radial-gradient(circle at 40% 8%,#7bdff2 0 4px,transparent 5px),radial-gradient(circle at 90% 46%,#b2f7ef 0 5px,transparent 6px),radial-gradient(circle at 8% 60%,#ffd166 0 5px,transparent 6px),radial-gradient(circle at 30% 88%,#ff8fa3 0 6px,transparent 7px),radial-gradient(circle at 64% 82%,#cdb4db 0 5px,transparent 6px),radial-gradient(circle at 92% 90%,#7bdff2 0 5px,transparent 6px),radial-gradient(circle at 55% 40%,#ffc8dd 0 3px,transparent 4px),radial-gradient(circle at 20% 38%,#a2d2ff 0 3px,transparent 4px)}.bg-watercolor{background-color:#fffdf8;background-image:radial-gradient(60% 50% at 20% 25%,rgba(255,170,190,.75),transparent 70%),radial-gradient(55% 55% at 82% 30%,rgba(150,200,255,.75),transparent 70%),radial-gradient(60% 60% at 50% 88%,rgba(190,235,170,.75),transparent 70%)}.bg-night{background-color:#0d1033;background-image:radial-gradient(circle at 18% 22%,#fff 0 1.5px,transparent 2.5px),radial-gradient(circle at 70% 14%,#fff 0 1px,transparent 2px),radial-gradient(circle at 44% 40%,#ffeaa0 0 1.5px,transparent 2.5px),radial-gradient(circle at 86% 52%,#fff 0 1.5px,transparent 2.5px),radial-gradient(circle at 10% 70%,#fff 0 1px,transparent 2px),radial-gradient(circle at 60% 78%,#ffeaa0 0 1.5px,transparent 2.5px),radial-gradient(circle at 32% 92%,#fff 0 1px,transparent 2px),linear-gradient(180deg,#0d1033,#2a2d6b)}.bg-sunset{background:linear-gradient(180deg,#2b1b5a,#8e3b8c 45%,#f08a4b)}.bg-forest{background-color:#17402e;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 2px,transparent 2px 14px),linear-gradient(160deg,#12382a,#25603f)}.font-plain{font-family:inherit}.font-hand{font-family:Caveat,cursive;font-weight:600;--font-scale: 1.3}.font-elegant{font-family:Playfair Display,Georgia,serif;font-weight:500;--font-scale: .95}.font-bubbly{font-family:Fredoka,system-ui,sans-serif;font-weight:500;--font-scale: 1}.font-marker{font-family:Permanent Marker,cursive;font-weight:400;--font-scale: .9}.note-card{container-type:inline-size;position:relative;aspect-ratio:1;width:100%;overflow:hidden;display:grid;place-items:center;padding:8%;border-radius:var(--radius);box-shadow:inset 0 0 0 1px #00000014}.note-card.full{width:min(100%,70vh);margin-inline:auto}.note-card.tile{border-radius:0;padding:6%}.note-text{margin:0;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.25;font-size:calc(var(--t, 7) * var(--font-scale, 1) * var(--scale, 1) * var(--fit, 1) * 1cqw);max-height:100%}.sticker{position:absolute;line-height:1;-webkit-user-select:none;user-select:none;pointer-events:none;text-shadow:0 2px 4px rgba(0,0,0,.18)}.sticker.editable{pointer-events:auto;touch-action:none;cursor:grab;background:transparent;border:2px dashed transparent;border-radius:12px;min-height:0;padding:0;color:inherit;box-shadow:none;filter:none}.sticker.editable:hover,.sticker.editable:active{background:transparent;box-shadow:none;filter:none}.sticker.editable.selected{border-color:var(--color-accent);background:#ffffff40}.picker{gap:var(--space-1)}.swatches{display:flex;flex-wrap:wrap;gap:.5rem}.swatch-tile,.color-dot{position:relative;flex-direction:row;width:44px;height:44px;border-radius:12px;border:2px solid var(--color-border);cursor:pointer;overflow:hidden;display:grid;place-items:center}.color-dot{border-radius:50%}.color-dot.auto{background:linear-gradient(135deg,#2b2520 50%,#fff 50%);color:#fff;font-weight:700;mix-blend-mode:normal}.swatch-tile.chip-none{background:repeating-linear-gradient(45deg,transparent 0 6px,rgba(128,128,128,.3) 6px 8px)}.swatch-tile input,.color-dot input,.font-choice input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;min-height:0;cursor:pointer}.swatch-tile:has(input:checked),.color-dot:has(input:checked),.font-choice:has(input:checked){border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent)}.swatch-tile:has(input:focus-visible),.color-dot:has(input:focus-visible),.font-choice:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:3px}.font-choices{display:flex;flex-wrap:wrap;gap:.5rem}.font-choice{position:relative;flex-direction:column;align-items:center;min-width:78px;padding:.4rem .6rem;border:2px solid var(--color-border);border-radius:12px;cursor:pointer;font-size:1.5rem;line-height:1.1}.font-choice .font-name{font-family:inherit;font-size:.7rem;font-weight:500}.tray{display:flex;flex-direction:column;gap:.25rem;max-height:14rem;overflow-y:auto;padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius)}.tray-label{margin:.25rem 0 0;font-size:.75rem}.tray-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:2px}button.emoji-button{min-height:44px;min-width:44px;padding:0;background:transparent;border:0;font-size:1.5rem;line-height:1;color:inherit}button.emoji-button:hover:not(:disabled){background:var(--color-border)}.sticker-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-1)}.note-preview{display:flex;flex-direction:column;gap:.25rem}.note-preview .muted{margin:0;font-size:.8rem}.caption.chip-paper,.caption-preview.chip-paper{background:#f7f1e5}.caption.chip-sunrise,.caption-preview.chip-sunrise{background:#f9d9b8}.caption.chip-sky,.caption-preview.chip-sky{background:#cfe5f5}.caption.chip-meadow,.caption-preview.chip-meadow{background:#d5e8c8}.caption.chip-dusk,.caption-preview.chip-dusk{background:#d9cce8}.caption.size-small,.caption-preview.size-small{font-size:.95rem}.caption.size-large,.caption-preview.size-large{font-size:1.45rem}.caption.size-xlarge,.caption-preview.size-xlarge{font-size:1.85rem}.caption,.caption-preview{margin:0;overflow-wrap:anywhere;white-space:pre-wrap;font-size:1.15rem}.caption[class*=chip-]:not(.chip-none),.caption-preview:not(.chip-none){display:inline-block;padding:.5rem .9rem;border-radius:14px;color:#2b2520}textarea.font-hand{font-size:1.3rem}.legal h2{font-size:1.05rem;margin:1.25rem 0 .35rem}.legal ul{padding-left:1.2rem;margin:.25rem 0}.legal li{margin:.3rem 0}.legal-links{text-align:center;font-size:.85rem;margin:1.5rem 0 .5rem}.size-choices{display:flex;flex-wrap:wrap;gap:.5rem}.size-choice{position:relative;flex-direction:column;align-items:center;justify-content:flex-end;min-width:64px;padding:.4rem .6rem;border:2px solid var(--color-border);border-radius:12px;cursor:pointer;line-height:1}.size-choice input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;min-height:0;cursor:pointer}.size-choice:has(input:checked){border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent)}.size-choice:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:3px}.size-choice .size-name{font-size:.7rem;margin-top:.25rem}.photo-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:.25rem 0 .5rem}.photo-actions button{flex:1 1 9rem}.frame-mode{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:1rem;background:#12091c;color:#fff;overflow:hidden}.frame-mode-shell{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%;max-width:1000px}.frame-mode-stage{width:100%;display:flex;flex-direction:column;align-items:center;gap:.75rem}.frame-mode-stage .moment-card{width:min(96vw,82vh,900px)}.frame-mode-photo{max-width:96vw;max-height:78vh;object-fit:contain;border-radius:12px}.frame-mode-caption{margin:0;font-size:clamp(1rem,2.6vw,1.8rem);text-align:center}.frame-mode-note{font-size:clamp(1rem,2.4vw,1.5rem);text-align:center;max-width:34rem;color:#e9defa}.frame-mode-meta{margin:0;font-size:.95rem;color:#cbbce6}.frame-mode-pair{display:flex;flex-direction:column;align-items:center;gap:1rem}.frame-mode-code{margin:0;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:clamp(2.6rem,11vw,6rem);letter-spacing:.12em;font-weight:700;color:var(--fun-yellow)}.frame-mode-full{position:fixed;right:.75rem;bottom:.75rem;opacity:.35;min-height:0;padding:.35rem .7rem;font-size:.8rem}.frame-mode-full:hover,.frame-mode-full:focus-visible{opacity:1}.frame-device{display:flex;flex-direction:column;gap:.5rem}.frame-device-options{display:flex;flex-wrap:wrap;gap:.75rem}.frame-device-options label{flex:1 1 10rem}.online{color:var(--fun-mint);font-weight:600}
