html,body{width:100%;height:100%}input::-ms-clear{display:none}input::-ms-reveal{display:none}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:#0000;font-family:sans-serif;line-height:1.15}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{text-align:left;caption-side:bottom;padding-top:.75em;padding-bottom:.3em}input,button,select,optgroup,textarea{color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical;overflow:auto}fieldset{border:0;min-width:0;margin:0;padding:0}legend{width:100%;max-width:100%;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal;margin-bottom:.5em;padding:0;display:block}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}html,body,#root{min-height:100%;margin:0}html{background:#eeebe5}#root{width:100%}:root{--paper:#fbf8f2;--surface:#fffdf9;--ink:#393632;--muted:#968c81;--accent:#d98562;--line:#e9e1d7;--green:#789566}*{box-sizing:border-box}body{color:var(--ink);background:#eeebe5;margin:0;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.6}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.site{background:var(--paper);width:100%;max-width:1160px;min-height:100vh;margin:auto}.nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:76px;padding:0 44px;display:flex}.wordmark{color:var(--ink);background:0 0;border:0;padding:0;font-size:14px}.wordmark:first-letter{color:var(--accent);font-size:22px}.nav nav{align-items:center;gap:24px;display:flex}.nav nav button{color:#82766c;background:0 0;border:0;font-size:13px}.nav-login{color:var(--accent)!important}.user-chip{color:#9b654e;background:#ead9cd;border-radius:50%;place-items:center;width:31px;height:31px;font-size:12px;display:grid}.mobile-menu{background:0 0;border:0;font-size:20px;display:none}.eyebrow{letter-spacing:2px;color:var(--accent);font-size:10px;font-weight:600}.hero{grid-template-columns:1.16fr .84fr;align-items:center;gap:72px;padding:84px 84px 88px;display:grid}.hero h1{margin:20px 0;font-family:Georgia,Songti SC,serif;font-size:clamp(36px,4.6vw,56px);font-weight:600;line-height:1.45}.hero h1 em{color:#b47554;font-style:normal}.hero p{color:#8c8075;font-size:14px;line-height:2}.hero-actions{align-items:center;gap:22px;margin-top:28px;display:flex}.hero-copy small{letter-spacing:2px;color:#ac9e90;margin-top:26px;font-size:10px;display:block}.button{border:1px solid #0000;border-radius:999px;align-items:center;gap:7px;padding:11px 19px;font-size:13px;font-weight:600;display:inline-flex}.button.primary{background:var(--accent);color:#fff}.button.soft{color:#9a634e;background:#f4e7dc;border-color:#f0ddd0}.button:disabled{opacity:.6;cursor:wait}.text-button{color:#886c5d;background:0 0;border:0;padding:5px 0;font-size:13px}.hero-card{background:#fffdf9;border:1px solid #eaded2;border-radius:28px;padding:28px;transform:rotate(2deg);box-shadow:0 25px 60px #8d6f5012}.card-top,.hero-line{letter-spacing:1.5px;color:#a68d80;justify-content:space-between;font-size:10px;display:flex}.hero-avatar{background:#f4e5da;border-radius:50%;place-items:center;width:132px;height:132px;margin:29px auto 18px;font-size:48px;display:grid}.hero-card h2{margin:0;font:600 28px Georgia,Songti SC,serif}.hero-card p{margin:7px 0 22px;font-size:12px}.hero-line{border-top:1px solid var(--line);padding-top:16px}.hero-line b{color:var(--ink);letter-spacing:0;font-size:11px}.features{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:40px;padding:42px 84px 60px;display:grid}.feature-icon{color:var(--accent);margin-bottom:15px;font-size:20px;display:block}.feature h3{margin:12px 0 7px;font:600 18px Georgia,Songti SC,serif}.feature p{color:#8c8075;margin:0;font-size:13px;line-height:1.8}.content{width:100%;max-width:900px;min-height:calc(100vh - 76px);margin:auto;padding:42px 44px 80px}.content.narrow{max-width:700px}.heading-row{justify-content:space-between;align-items:flex-end;gap:24px;min-height:112px;margin-bottom:30px;display:flex}.heading-row h1,.form-title h1{margin:8px 0;font:600 34px Georgia,Songti SC,serif}.heading-row p,.form-title p{color:var(--muted);margin:0;font-size:13px}.back{color:#8c7769;background:0 0;border:0;padding:0;font-size:13px}.pet-card{background:var(--surface);border:1px solid var(--line);border-radius:23px;align-items:center;gap:25px;min-height:185px;margin-bottom:18px;padding:24px;display:flex}.pet-avatar{object-fit:cover;border-radius:20px;width:132px;height:132px}.image-placeholder{color:#c58e74;background:#f4e5da;place-items:center;font-size:32px;display:grid}.pet-content{flex:1}.pill{border-radius:99px;padding:4px 10px;font-size:10px;display:inline-block}.pill.green{color:var(--green);background:#edf3e8}.muted-pill{color:#9a8b7e;background:#f4eee8}.pet-content h2{margin:7px 0 0;font:600 27px Georgia,Songti SC,serif}.pet-content p{color:var(--muted);margin:3px 0 17px;font-size:13px}.card-links{align-items:center;gap:18px;display:flex}.account-caption{color:#aa9d91;margin-top:25px;font-size:11px}.loading{min-height:180px;color:var(--muted);justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.loading span{border:2px solid #edcfc0;border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.notice{background:#fff1ed;border-radius:12px;margin:20px 0;padding:14px 16px;font-size:13px}.empty{text-align:center;border:1px dashed #dccabd;border-radius:20px;padding:64px 20px}.empty>span{color:var(--accent);font-size:33px}.empty h2{margin:8px 0;font:600 23px Georgia,serif}.empty p{color:var(--muted);margin:0 0 20px;font-size:13px}.error{color:#b55d4a}.success{color:var(--green);font-size:12px}.form-title{margin:27px 0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:27px}.form label,.auth-card label,.share-panel label,.modal label{margin:17px 0 8px;font-size:12px;font-weight:600;display:block}.form input,.form textarea,.form select,.auth-card input,.share-panel input,.share-panel select,.modal input,.modal textarea,.locked input{width:100%;color:var(--ink);background:#fff;border:1px solid #ded3c9;border-radius:10px;padding:11px 12px;font-size:13px;display:block}.form textarea,.modal textarea{resize:vertical}.form label small,.auth-card label small{color:var(--muted);margin-left:5px;font-weight:400}.two-col{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:12px;margin-top:26px;padding-top:19px;display:flex}.memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.memory-card{background:var(--surface);border:1px solid var(--line);border-radius:19px;padding:20px}.memory-head{justify-content:space-between;display:flex}.memory-card h2{margin:5px 0;font:600 20px Georgia,serif}.memory-card p{color:#716962;font-size:13px;line-height:1.8}.delete{color:#aa7660;background:0 0;border:0;font-size:11px}.memory-images{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.memory-images img{aspect-ratio:4/3;object-fit:cover;border-radius:8px;width:100%}.modal-layer{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:10;background:#31282188;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{width:min(100%,540px);max-height:90vh;overflow:auto}.modal-head{justify-content:space-between;display:flex}.modal-head h2{margin:5px 0;font:600 24px Georgia,serif}.close{color:#9f897a;background:0 0;border:0;font-size:28px}.share-preview{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-bottom:18px;display:flex}.share-avatar{object-fit:cover;border-radius:14px;width:54px;height:54px}.share-preview b,.share-preview span{display:block}.share-preview b{font-size:14px}.share-preview span{color:var(--muted);font-size:11px}.share-url{gap:8px;margin:20px 0;display:flex}.share-url input{flex:1}.share-url button{color:#9b654e;background:#f4e7dc;border:0;border-radius:10px;padding:0 15px}.full{justify-content:center;width:100%}.auth-page,.public{place-items:center;min-height:100vh;padding:28px 20px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;width:min(100%,430px);padding:38px 34px;box-shadow:0 20px 60px #8d6f5010}.brand-star{color:var(--accent);font-size:26px;display:block}.auth-card h1{margin:9px 0;font:600 32px Georgia,serif}.auth-card>p{color:var(--muted);margin:0 0 22px;font-size:13px}.auth-switch{text-align:center!important;margin:20px 0 0!important;font-size:12px!important}.auth-switch button{color:var(--accent);background:0 0;border:0;padding:0}.locked{text-align:center;width:min(100%,430px)}.locked h1{font:600 27px Georgia,serif}.locked p{color:var(--muted);font-size:13px}.public{align-items:start}.public-sheet{background:var(--paper);width:min(100%,480px);min-height:100vh;padding:30px 22px 55px}.public-intro{text-align:center;padding:35px 0 24px}.public-avatar{object-fit:cover;border-radius:50%;width:126px;height:126px;margin:auto}.public-intro h1{margin:18px 0 5px;font:600 38px Georgia,Songti SC,serif}.public-intro p{color:#817970;font-size:13px}.public-stats{border-block:1px solid var(--line);grid-template-columns:repeat(3,1fr);padding:15px 0;display:grid}.public-stats div{text-align:center;border-right:1px solid var(--line)}.public-stats div:last-child{border:0}.public-stats b,.public-stats span{display:block}.public-stats b{font-size:13px}.public-stats span{color:var(--muted);margin-top:4px;font-size:10px}.public-sheet section{padding-top:28px}.section-title{align-items:baseline;gap:10px;display:flex}.section-title h2{margin:0;font:600 24px Georgia,serif}.section-title span{letter-spacing:2px;color:var(--accent);font-size:9px}.public-bio{color:#716962;white-space:pre-wrap;font-size:14px;line-height:1.9}.public-memory{background:#fff;border-radius:17px;margin-top:14px;padding:17px}.public-memory h3{margin:5px 0;font:600 17px Georgia,serif}.public-memory p{color:#716962;font-size:13px}.public-memory img{object-fit:cover;border-radius:9px;width:100%;max-height:230px}.public-sheet blockquote{text-align:center;color:#806b5f;background:#f3e7dc;border-radius:19px;margin:32px 0 0;padding:25px 15px;font:20px/1.7 Georgia,serif}.public-sheet cite{color:#aa8f80;margin-top:9px;font:11px sans-serif;display:block}@media (width<=760px){.nav{height:68px;padding:0 20px}.nav nav{display:none}.mobile-menu{display:block}.hero{grid-template-columns:1fr;gap:42px;padding:50px 22px 58px}.hero-card{transform:none}.features{grid-template-columns:1fr;gap:25px;padding:35px 22px}.content{min-height:calc(100vh - 68px);padding:30px 20px 60px}.heading-row{flex-direction:column;align-items:start;gap:17px;min-height:0}.pet-card{align-items:flex-start;gap:16px;padding:17px}.pet-avatar{border-radius:15px;width:86px;height:86px}.card-links{flex-wrap:wrap;gap:9px}.memory-grid{grid-template-columns:1fr}.hero h1{font-size:39px}}@media (width<=430px){.two-col{grid-template-columns:1fr}.hero-actions{flex-wrap:wrap;gap:11px}.pet-content h2{font-size:23px}.pet-content p{margin-bottom:11px}.card-links .button{padding:8px 12px}.auth-card{padding:30px 22px}}.soft-ant{color:#9a634e!important;background:#f4e7dc!important;border-color:#f0ddd0!important}.full-input{width:100%}.ant-form-warm .ant-form-item-label>label{color:var(--ink);font-size:12px}.ant-form-warm .ant-input,.ant-form-warm .ant-select-selector,.ant-form-warm .ant-picker{border-color:#ded3c9;border-radius:10px}.ant-form-warm .ant-input:focus,.ant-form-warm .ant-input-focused,.ant-form-warm .ant-select-focused .ant-select-selector,.ant-form-warm .ant-picker-focused{border-color:var(--accent);box-shadow:0 0 0 2px #d9856220}.upload-hint{color:var(--muted);margin-top:7px;font-size:11px;display:block}.memory-actions{align-items:start;gap:2px;display:flex}.memory-photo{object-fit:cover;border-radius:10px;width:100%;max-height:280px;margin-top:14px;display:block}.modal-title{margin:5px 0 0;font:600 24px Georgia,Songti SC,serif}.qr-wrap{text-align:center;border-bottom:1px solid var(--line);padding:22px 0 8px}.qr-wrap img{width:190px;height:190px}.qr-wrap p{color:var(--muted);margin:8px 0 0;font-size:11px}.profile-grid{color:#716962;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;padding:16px 0;font-size:12px;display:grid}.public-memory img{object-fit:cover;border-radius:9px;width:100%;max-height:260px;margin-top:12px;display:block}.ant-modal-content{background:var(--paper)!important;border-radius:22px!important}.ant-modal-header,.ant-modal-footer{background:0 0!important}.ant-upload-wrapper .ant-upload-list-picture-card .ant-upload-list-item-container{width:104px;height:104px}.ant-upload-wrapper .ant-upload-select{border-radius:10px!important}@media (width<=760px){.nav{height:68px}.nav nav{gap:13px;display:flex}.nav nav button{font-size:12px}.mobile-menu{display:none}.content{padding:26px 16px 56px}.heading-row h1,.form-title h1{font-size:29px}.heading-row{margin-bottom:22px}.pet-card{align-items:flex-start;min-height:0}.pet-content{min-width:0}.pet-content h2{overflow-wrap:anywhere}.card-links{gap:8px}.memory-card{padding:16px}.memory-head{gap:5px}.memory-actions{flex-shrink:0}.public{padding:0}.public-sheet{padding:24px 17px 45px}.auth-page{padding:18px}.auth-card{padding:28px 20px}.qr-wrap img{width:170px;height:170px}}@media (width<=420px){.pet-card{display:block}.pet-avatar{width:96px;height:96px;margin-bottom:12px}.two-col{gap:0}.profile-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions .ant-btn{width:100%}.share-url{flex-wrap:wrap}.share-url .ant-input{width:100%}.share-url .ant-btn{width:100%;height:38px}.ant-modal{max-width:calc(100vw - 24px);margin:12px auto}.ant-modal-body{padding:10px 0}.memory-photo{max-height:220px}}.publish-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:19px 0;display:flex}.publish-row b,.publish-row span{display:block}.publish-row b{font-size:13px}.publish-row span{color:var(--muted);margin-top:3px;font-size:11px}
