:root{--bg:#f6f3ee;--paper:#fffdf9;--ink:#24312d;--muted:#727b75;--line:#e6e1d8;--accent:#a65d3c;--accent2:#dca17c;--shadow:0 18px 60px rgba(41,45,39,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 90% 0%,#ead9c8 0,transparent 32%),var(--bg);color:var(--ink);line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--accent);color:#fff;border:0;border-radius:999px;padding:.78rem 1.2rem;font-weight:700;cursor:pointer;box-shadow:0 7px 20px rgba(166,93,60,.15)}button:hover,.button:hover{background:#87472e;text-decoration:none}.button.secondary,button.secondary{background:transparent;color:var(--ink);border:1px solid var(--line);box-shadow:none}.wrap{width:min(1120px,calc(100% - 32px));margin:0 auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:20px 0}.brand{display:flex;align-items:center;gap:.7rem;color:var(--ink);font-weight:800;letter-spacing:-.03em}.brand-icon,.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#ead6c5;color:var(--accent);font-size:1.5rem}.nav{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.nav a{color:var(--muted);font-size:.94rem}.hero{padding:70px 0 80px;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:800;color:var(--accent)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.4rem,6vw,5rem);line-height:1.04;letter-spacing:-.065em;margin:.6rem 0 1.2rem}h2{letter-spacing:-.035em;line-height:1.2}.lead{font-size:1.15rem;color:var(--muted);max-width:650px}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.8rem}.hero-art{background:linear-gradient(145deg,#d8b59a,#f2e7d9);border-radius:34px;min-height:350px;padding:28px;display:flex;align-items:end;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-art:before{content:"";position:absolute;width:270px;height:270px;border:1px solid rgba(255,255,255,.65);border-radius:50%;top:-50px;right:-25px}.memory-note{background:rgba(255,253,249,.9);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.7);border-radius:22px;padding:24px;max-width:300px;position:relative;box-shadow:var(--shadow);transform:rotate(-3deg)}.memory-note .quote{font-size:1.5rem;line-height:1.25;letter-spacing:-.04em}.section{padding:40px 0 70px}.section-head{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:24px}.section-head h2{font-size:2rem;margin-bottom:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card,.panel,.memory-card,.stat-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow)}.card h3{margin:.2rem 0 .6rem}.card p,.muted{color:var(--muted)}.icon-tile{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#f2e4d8;color:var(--accent);font-size:1.3rem;margin-bottom:18px}.page{padding:34px 0 80px}.page-title{font-size:clamp(2rem,5vw,3.4rem);margin-bottom:.5rem}.page-subtitle{color:var(--muted);margin-bottom:28px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin:20px 0}.list{display:grid;gap:14px}.memory-card{display:flex;justify-content:space-between;gap:20px;align-items:start}.memory-card h2{font-size:1.3rem;margin-bottom:.5rem}.memory-body{white-space:pre-wrap;overflow-wrap:anywhere}.badge{display:inline-block;border-radius:999px;padding:.22rem .65rem;font-size:.75rem;background:#eee8df;color:#6c5a4b}.badge.public{background:#e0eee3;color:#2f6943}.badge.private{background:#f2e4d8;color:#87472e}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}label{font-size:.9rem;font-weight:700}input,textarea,select{width:100%;border:1px solid #dcd6cc;background:#fffefa;color:var(--ink);padding:.85rem 1rem;border-radius:12px;outline:none}textarea{min-height:180px;resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(166,93,60,.12)}.field-help,.tiny{font-size:.84rem;color:var(--muted)}.alert,.notice{padding:14px 16px;border-radius:14px;background:#f8e5de;color:#833c2d;margin:16px 0}.alert.success,.notice.success{background:#e1f0e3;color:#2c6740}.panel{padding:clamp(20px,4vw,34px)}.auth-wrap,.install-wrap{width:min(720px,calc(100% - 32px));margin:6vh auto}.auth-wrap{max-width:520px}.auth-wrap h1,.install-wrap h1{font-size:clamp(2.2rem,6vw,3.5rem)}.auth-form{display:grid;gap:18px}.auth-form .field{gap:8px}.install-form h2{font-size:1.25rem;margin:1.6rem 0 1rem}.install-form h2:first-child{margin-top:0}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-grid label{display:grid;gap:7px}.field-grid .full{grid-column:1/-1}.install-form .button{width:100%;margin-top:22px}.success{border-color:#b7d9bf}.site-footer{padding:30px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:600px}.data-table th,.data-table td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}.data-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.inline-form{display:flex;gap:8px;align-items:center}.inline-form select{min-width:125px;padding:.55rem}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.stat-card strong{display:block;font-size:2rem;letter-spacing:-.05em}.stat-card span{color:var(--muted);font-size:.85rem}.empty{padding:40px 20px;text-align:center;border:1px dashed #d6cabc;border-radius:20px;color:var(--muted)}.message{padding:16px;border-radius:18px;background:#f1e7dd;max-width:80%;margin:10px 0}.message.mine{margin-left:auto;background:#e2ece3}.message p{margin:0 0 8px;white-space:pre-wrap;overflow-wrap:anywhere}.message small{color:var(--muted)}.notification{padding:16px;border-bottom:1px solid var(--line)}.notification.unread{background:#f9efe7}.brand-mark{margin-bottom:16px;width:56px;height:56px;font-size:2rem}.privacy-note{border-left:3px solid var(--accent2);padding-left:12px;color:var(--muted);font-size:.9rem}.footer-links{display:flex;gap:14px;flex-wrap:wrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:3px solid #c27a45;outline-offset:3px}@media(max-width:800px){.hero{grid-template-columns:1fr;padding:42px 0 55px;gap:30px}.hero-art{min-height:270px}.grid{grid-template-columns:1fr 1fr}.nav{gap:.65rem}.stats{grid-template-columns:1fr 1fr}}@media(max-width:560px){.site-header{align-items:flex-start;flex-direction:column}.grid,.form-grid,.field-grid,.stats{grid-template-columns:1fr}.field.full,.field-grid .full{grid-column:auto}.memory-card{display:block}.memory-card .actions{margin-top:16px}.hero{padding-top:30px}.card,.panel{padding:20px}.nav{font-size:.88rem}.section-head{align-items:start;flex-direction:column}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
