*{box-sizing:border-box}[hidden]{display:none!important}:root{font-family:system-ui,-apple-system,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;color:#72544a;background:#faf0e7}body{margin:0;background:radial-gradient(ellipse at top left,#fffaf0,transparent 60%),linear-gradient(135deg,#f8efe4,#f1dedc);min-height:100svh}.development{background:#71544a;color:#fff8f1;text-align:center;padding:9px 12px;font-size:12px;line-height:1.5}main{max-width:520px;margin:auto;padding:25px 20px calc(30px + env(safe-area-inset-bottom,0px))}header{text-align:center;margin-bottom:24px}.monogram{font-family:Georgia,serif;font-size:54px;color:#aa7a6a}h1{font-size:25px;margin:5px 0 10px}h2{font-size:20px;margin:8px 0 12px}p{font-size:14px;line-height:1.75;margin:10px 0}header p,.help,footer{color:#886e60}.card{padding:22px;margin:16px 0;border:1px solid #d7bbaa;border-radius:20px;background:#fffaf3e8;box-shadow:0 5px 15px #88604a0c}.tabs{display:flex;gap:7px}.tabs button{flex:1;padding:10px 5px;font-size:14px}.tabs [aria-pressed=true]{background:#e9cfc2;border-color:#af8470;font-weight:600}label{display:block;font-size:14px;margin:17px 0 8px;font-weight:500}input{box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;margin-top:8px;padding:12px;border:1px solid #d9bcaa;border-radius:11px;font:inherit;font-size:16px;background:#fffefa;color:#694e45;min-height:47px}input[type=date]{appearance:none;-webkit-appearance:none;overflow:hidden;text-align:left}input::-webkit-date-and-time-value{min-width:0;text-align:left}button{font:inherit;border:1px solid #c3a18e;color:#795546;background:#fff8ee;border-radius:11px;min-height:44px;padding:10px 15px;cursor:pointer}button.primary{width:100%;margin-top:18px;background:linear-gradient(125deg,#b78976,#95665b);border-color:#a87d6a;color:#fff;font-weight:600}button:disabled{opacity:.6;cursor:wait}button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #8e6454;outline-offset:3px}.help{font-size:13px}.account-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}.hero{text-align:center;background:linear-gradient(135deg,#fffaf0,#ecdae6)}.eyebrow{font-size:12px;letter-spacing:2px;color:#9c7863}#days{font-size:48px;font-weight:700;color:#8c594f;margin:14px 0}#couple-name,#members{overflow-wrap:anywhere}#status{padding:12px 14px;border-radius:12px;background:#f6e3d2;border:1px solid #c9a98f;overflow-wrap:anywhere;scroll-margin-top:15px}#status:empty{display:none}#status[data-kind=error]{background:#ffede7;color:#914c3b;border-color:#c99b89}#status[data-kind=success]{background:#e8f0e5;color:#426246;border-color:#b3c6a9}.invite-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;padding-top:12px}.invite-row button{flex-shrink:0}#issued{margin-top:16px;padding:12px;background:#f3e5da;border-radius:12px}#issued input{font-size:14px}summary{cursor:pointer;min-height:32px;font-size:15px}footer{text-align:center;font-size:12px;margin-top:25px}.planned{background:#f4ece3}#since{font-size:13px}@media(max-width:360px){main{padding-inline:14px}.card{padding:18px}.tabs button{font-size:13px}}
.hero{background:transparent;border:0;box-shadow:none;padding:12px 0}.love-jewel{background:url('/jewel.svg') center/100% 100% no-repeat;min-height:300px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:48px 28px}.love-label{margin:0;font-size:15px}.love-jewel #days{font-size:55px;letter-spacing:-2px;margin:6px 0}.love-jewel #since{margin:6px 0;font-size:12px}.milestone-section{margin:22px 0}.milestone-section>h2{font-size:17px}#milestone-list{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.milestone-card{min-width:0;display:grid;grid-template-columns:1fr auto;gap:10px;padding:16px;border:1px solid #c8a997;border-radius:17px;background:linear-gradient(135deg,#fffaf4,#eadced);box-shadow:inset 0 0 0 3px #fff8ec90,0 4px 10px #9c78631a}.milestone-card:first-child{grid-column:1/-1}.milestone-card:nth-child(4n+2){background:linear-gradient(135deg,#fffaf4,#d6eae4)}.milestone-card:nth-child(4n+3){background:linear-gradient(135deg,#fffaf4,#f1e3ba)}.milestone-card:nth-child(4n+4){background:linear-gradient(135deg,#fffaf4,#f0d4d8)}.milestone-card>div{min-width:0}.milestone-card h3{font-size:14px;margin:0;overflow-wrap:anywhere}.milestone-card p{font-size:12px;margin:5px 0;color:#83685b}.milestone-card strong{font-size:23px;white-space:nowrap;align-self:center;color:#87584e}.milestone-buttons{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end}.milestone-buttons button{padding:6px 12px;font-size:12px;min-height:40px;background:#fffaf480}.repeat{display:flex;align-items:center;gap:9px}.repeat input{width:20px;min-height:20px;height:20px;margin:0;accent-color:#9b7160}#milestone-cancel{margin-top:10px;width:100%}#milestone-loading:empty{display:none}#milestone-editor hr{border:0;border-top:1px solid #dac2af;margin:24px 0}#milestone-empty{padding:18px;border:1px dashed #cdb09c;border-radius:14px}@media(max-width:460px){.milestone-card:not(:first-child){grid-template-columns:1fr}.milestone-card:not(:first-child) strong{text-align:right}.love-jewel #days{font-size:48px}.love-jewel{min-height:280px;padding:44px 22px}}
textarea{width:100%;min-width:0;border:1px solid #d9bcaa;border-radius:11px;padding:12px;font:inherit;font-size:16px;color:#694e45;background:#fffefa;margin:8px 0;resize:vertical}.story-ring-list,#story-days{display:flex;gap:13px}.story-ring-list{overflow-x:auto;padding:6px 0}.story-ring{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:7px;background:none;border:0;font-size:12px;padding:0}.story-ring>img,.story-ring>span:first-child{width:68px;height:68px;object-fit:cover;border-radius:50%;border:3px solid #b18378;outline:2px solid #f7d6bf;display:grid;place-items:center;font-size:30px;background:#f0ded2}.story-ring>img+span{white-space:nowrap}#story-modal,#story-lightbox{position:fixed;inset:auto;top:calc(var(--story-top,0px) + var(--story-height,100dvh)/2);left:calc(var(--story-left,0px) + var(--story-width,100vw)/2);transform:translate(-50%,-50%);margin:0;width:min(540px,calc(var(--story-width,100vw) - 20px));height:calc(var(--story-height,100dvh) - 24px);max-height:880px;max-width:none;border:1px solid #c1a28c;border-radius:21px;padding:0;background:#fff7ee;color:#72544a;overflow:hidden}dialog::backdrop{background:#5f484475;backdrop-filter:blur(4px)}.story-shell{display:flex;flex-direction:column;height:100%;min-height:0}.story-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f1ded0;flex-shrink:0}.story-head h2{font-size:16px;margin:0}.story-head button{font-size:24px;min-width:44px}.story-scroll{flex:1;min-height:0;overflow:auto;padding:14px 16px;overscroll-behavior:contain;scroll-padding:18px}.story-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid #d7bca9;flex-shrink:0}.story-footer button.primary{margin:0}#story-notice{margin:8px 14px;padding:10px 12px;background:#f2e2cf;border-radius:10px;font-size:13px;max-height:24%;overflow:auto;flex-shrink:0}#story-notice:empty{display:none}#story-notice[data-kind=error]{background:#fbe1d9;color:#8e4238}#story-notice[data-kind=success]{background:#e3eddf;color:#426048}.story-picker{position:relative;text-align:center;padding:20px;border:1px dashed #b9917d;border-radius:14px;background:#efd9ce;overflow:hidden}.story-picker input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.story-picker:focus-within{outline:2px solid #a17460;outline-offset:3px}#story-previews{display:flex;gap:7px;flex-wrap:wrap}#story-previews img{width:50px;height:50px;object-fit:cover;border-radius:8px}#story-image-open{border:0;background:#eee0d3;padding:0;width:100%;cursor:zoom-in}#story-image{display:block;width:100%;height:min(40dvh,350px);object-fit:contain}.story-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0;font-size:13px}#story-caption,.story-comment-row p{white-space:pre-wrap;overflow-wrap:anywhere}.story-comment-row{border-bottom:1px solid #dfc7b4;padding:14px 0}.story-comment-row strong{font-size:13px}.story-comment-row button{font-size:12px;margin-right:8px}#story-delete{margin:12px 0}#story-lightbox{width:min(1000px,calc(var(--story-width,100vw) - 20px));background:#302521}#story-lightbox-close{position:absolute;right:10px;top:10px;z-index:1}#story-large{width:100%;height:100%;object-fit:contain}#story-comment-cancel{margin-left:8px}#story-upload input[type=date]{max-width:100%;min-width:0}

/* Shared memories keep the same warm card treatment on narrow screens. */
.sharing-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid #e5d2c8;padding:12px 0;flex-wrap:wrap}.sharing-row img{width:64px;height:64px;object-fit:cover;border-radius:12px}.sharing-row p{flex:1;min-width:100px;overflow-wrap:anywhere}.discovery-card{margin:20px 0;padding:16px;border:1px solid #e5d2c8;border-radius:18px;background:#fffaf6}.discovery-card>img{width:100%;max-height:480px;object-fit:contain;border-radius:12px}.discovery-card p{overflow-wrap:anywhere}.discovery-card textarea{width:100%;box-sizing:border-box}#discovery details{margin:14px 0}#discovery summary{cursor:pointer;padding:10px 0}#discovery button{max-width:100%;white-space:normal}
