:root{--ink:#2c302d;--muted:#777970;--paper:#faf8f4;--surface:#fffefa;--line:#e9e5dd;--sage:#91a68b;--sage-dark:#657b60;--butter:#f6e7a7;--red:#ca6c5c;--shadow:0 15px 40px rgba(53,51,44,.11);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:#e9e6df;color:var(--ink);min-height:100vh}button,input,textarea,select{font:inherit}button{border:0;cursor:pointer}.phone{background:var(--paper);margin:auto;max-width:460px;min-height:100vh;overflow:hidden;position:relative}.page{min-height:100vh;padding:18px 18px 98px}.topbar{align-items:center;display:flex;justify-content:space-between;margin-bottom:22px}.wordmark{align-items:center;display:flex;font-size:17px;font-weight:800;gap:9px;letter-spacing:.04em}.mark{align-items:center;background:var(--sage);border-radius:9px 9px 9px 2px;color:#fff;display:flex;font-family:Georgia,serif;font-size:17px;height:30px;justify-content:center;width:30px}.icon-button{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:50%;color:var(--ink);display:inline-flex;font-size:18px;height:38px;justify-content:center;width:38px}.eyebrow{color:var(--sage-dark);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,"Songti SC",serif;font-weight:500;letter-spacing:-.04em}h1{font-size:32px;line-height:1.18;margin:7px 0}h2{font-size:23px}.subcopy{color:var(--muted);font-size:13px;line-height:1.65}.hero{background:var(--surface);border:1px solid var(--line);border-radius:22px;margin:17px 0 28px;overflow:hidden;padding:17px;position:relative}.hero:after{background:var(--butter);border-radius:50%;content:"";height:115px;opacity:.65;position:absolute;right:-28px;top:-32px;width:115px}.hero-content{position:relative;z-index:1}.hero-stats{display:flex;gap:15px;margin-top:16px}.hero-stat{border-left:1px solid var(--line);padding-left:13px}.hero-stat:first-child{border-left:0;padding-left:0}.hero-stat b{display:block;font-family:Georgia,serif;font-size:18px;font-weight:500}.hero-stat span{color:var(--muted);font-size:11px}.section-head{align-items:flex-end;display:flex;justify-content:space-between;margin:22px 0 12px}.text-action{background:none;color:var(--sage-dark);font-size:12px;font-weight:700;padding:3px 0}.folder-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}.folder-row::-webkit-scrollbar,.tabs::-webkit-scrollbar{display:none}.folder{background:#f2eee5;border-radius:13px;color:#535a50;flex:0 0 auto;font-size:12px;padding:9px 12px}.folder.active{background:var(--sage-dark);color:#fff}.album-list{display:grid;gap:14px}.album-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden;text-align:left;width:100%}.album-cover{align-items:flex-end;background-position:center;background-size:cover;display:flex;height:145px;padding:12px;position:relative}.album-cover:before{background:linear-gradient(180deg,transparent 35%,rgba(20,25,18,.55));content:"";inset:0;position:absolute}.album-place{color:#fff;font-size:12px;position:relative;text-shadow:0 1px 5px rgba(0,0,0,.3)}.album-info{align-items:center;display:flex;justify-content:space-between;padding:13px 14px 14px}.album-info h3{font-size:16px;margin:0 0 5px}.album-info p{color:var(--muted);font-size:11px}.member-stack{display:flex;padding-left:7px}.avatar{align-items:center;background:#d8ccba;border:2px solid var(--surface);border-radius:50%;color:#fff;display:flex;flex:0 0 auto;font-size:10px;font-weight:700;height:28px;justify-content:center;margin-left:-7px;width:28px}.avatar.a2{background:#bb998c}.avatar.a3{background:#91a68b}.avatar.a4{background:#a5a0bf}.empty-add{align-items:center;border:1px dashed #cfc9bd;border-radius:20px;color:var(--sage-dark);display:flex;flex-direction:column;gap:6px;justify-content:center;min-height:106px}.empty-add b{font-size:25px;font-weight:400}.empty-add span{font-size:12px;font-weight:700}.bottom-nav{background:rgba(255,254,250,.93);backdrop-filter:blur(10px);border-top:1px solid var(--line);bottom:0;display:flex;justify-content:space-around;left:50%;max-width:460px;padding:9px 34px calc(9px + env(safe-area-inset-bottom));position:fixed;transform:translateX(-50%);width:100%;z-index:12}.nav-item{align-items:center;background:transparent;color:#9d9c94;display:flex;flex-direction:column;font-size:10px;gap:3px;min-width:65px;padding:2px}.nav-item strong{font-size:19px;font-weight:400;line-height:1}.nav-item.active{color:var(--sage-dark);font-weight:700}.album-page{padding-top:13px}.back{background:transparent;color:var(--ink);font-size:22px;margin-left:-4px;padding:4px}.cover-head{background-position:center;background-size:cover;border-radius:18px;height:174px;margin:9px 0 17px;overflow:hidden;position:relative}.cover-head:after{background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(15,20,16,.62));content:"";inset:0;position:absolute}.cover-title{bottom:17px;color:#fff;left:16px;position:absolute;z-index:1}.cover-title h1{font-size:27px;margin:0 0 4px}.cover-title p{font-size:12px;opacity:.88}.album-actions{display:flex;gap:9px;margin-bottom:18px}.action{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:13px;color:var(--ink);display:flex;flex:1;font-size:12px;font-weight:700;gap:6px;justify-content:center;padding:11px 7px}.action.primary{background:var(--sage-dark);border-color:var(--sage-dark);color:#fff}.album-meta{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.album-meta .subcopy{font-size:12px;margin-top:4px}.tabs{border-bottom:1px solid var(--line);display:flex;gap:20px;margin:0 -18px 15px;overflow-x:auto;padding:0 18px;scrollbar-width:none}.tab{background:transparent;color:#979790;flex:0 0 auto;font-size:13px;padding:0 0 11px;position:relative}.tab.active{color:var(--ink);font-weight:800}.tab.active:after{background:var(--sage-dark);border-radius:2px;bottom:-1px;content:"";height:2px;left:0;position:absolute;width:100%}.tab small{color:var(--muted);font-size:10px;font-weight:500;margin-left:3px}.memory-grid{column-count:2;column-gap:9px}.memory{background:#e8e3d9;border-radius:14px;break-inside:avoid;margin-bottom:9px;overflow:hidden;position:relative;width:100%}.memory img{display:block;object-fit:cover;width:100%}.memory.tall img{height:238px}.memory.medium img{height:179px}.memory.short img{height:145px}.memory-overlay{align-items:flex-end;background:linear-gradient(0deg,rgba(0,0,0,.46),transparent 48%);bottom:0;color:#fff;display:flex;justify-content:space-between;left:0;padding:9px;position:absolute;right:0}.memory-overlay span{font-size:10px}.memory-like{background:rgba(255,255,255,.18);border-radius:99px;padding:4px 6px}.video-badge{align-items:center;background:rgba(28,31,26,.66);border-radius:50%;color:#fff;display:flex;font-size:14px;height:38px;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:38px}.profile-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;margin:6px 0 19px;padding:19px}.profile-top{align-items:center;display:flex;gap:13px}.profile-avatar{background:linear-gradient(135deg,#eec9a9,#a5b59f);border-radius:50%;color:#fff;font-family:Georgia,serif;font-size:25px;height:58px;padding-top:13px;text-align:center;width:58px}.profile-name{font-size:18px;margin-bottom:4px}.profile-id{color:var(--muted);font-size:11px}.profile-buttons{display:flex;gap:8px;margin-top:16px}.profile-buttons button{background:#f3f0e9;border-radius:10px;color:#51584f;flex:1;font-size:12px;font-weight:700;padding:10px}.profile-buttons button:last-child{background:var(--sage-dark);color:#fff}.menu-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden}.menu-item{align-items:center;background:transparent;border-bottom:1px solid #f0ede6;color:var(--ink);display:flex;font-size:13px;justify-content:space-between;padding:15px 16px;text-align:left;width:100%}.menu-item:last-child{border-bottom:0}.menu-item span:first-child{color:var(--sage-dark);margin-right:10px}.chev{color:#b8b5ac}.friend-list{display:grid;gap:9px}.friend{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:15px;display:flex;gap:10px;padding:11px}.friend .avatar{height:36px;margin:0;width:36px}.friend-info{flex:1}.friend-info b{display:block;font-size:13px;margin-bottom:3px}.friend-info span{color:var(--muted);font-size:11px}.friend button{background:#f2eee5;border-radius:9px;color:var(--sage-dark);font-size:11px;font-weight:700;padding:7px 9px}.modal-layer{align-items:flex-end;background:rgba(36,38,33,.35);display:flex;inset:0;justify-content:center;position:fixed;z-index:30}.modal{background:var(--paper);border-radius:24px 24px 0 0;max-width:460px;padding:22px 18px calc(24px + env(safe-area-inset-bottom));width:100%}.modal-handle{background:#d5d1c8;border-radius:9px;height:4px;margin:0 auto 18px;width:40px}.modal-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:17px}.modal-head h2{font-size:21px}.close{background:transparent;color:var(--muted);font-size:22px;padding:0 2px}.field{margin-bottom:13px}.field label{color:#60635b;display:block;font-size:11px;font-weight:700;margin:0 0 7px}.field input,.field textarea,.field select{background:var(--surface);border:1px solid var(--line);border-radius:11px;color:var(--ink);outline:none;padding:11px 12px;width:100%}.modal-submit{background:var(--sage-dark);border-radius:12px;color:#fff;font-size:14px;font-weight:800;margin-top:5px;padding:13px;width:100%}.upload-target{align-items:center;background:#f2efe8;border:1px dashed #c9c3b6;border-radius:15px;color:var(--sage-dark);display:flex;flex-direction:column;gap:6px;justify-content:center;min-height:120px;text-align:center;width:100%}.upload-target b{font-size:24px;font-weight:400}.upload-target span{font-size:12px;font-weight:700}.upload-target em{color:var(--muted);font-size:10px;font-style:normal}.chosen-file{background:#eef2ea;border-radius:10px;color:var(--sage-dark);font-size:11px;margin-top:8px;padding:8px 10px}.check-list{background:var(--surface);border:1px solid var(--line);border-radius:11px;display:flex;flex-wrap:wrap;gap:10px;padding:11px}.check-list label{font-size:12px;margin:0}.detail-sheet{background:var(--surface);border-radius:24px 24px 0 0;bottom:0;left:50%;max-width:460px;padding:15px 18px calc(23px + env(safe-area-inset-bottom));position:fixed;transform:translateX(-50%);width:100%;z-index:31}.detail-media{border-radius:16px;max-height:42vh;object-fit:cover;width:100%}.detail-info{display:flex;justify-content:space-between;margin:12px 1px}.detail-info b{font-size:13px}.detail-info span{color:var(--muted);font-size:11px}.detail-actions{display:flex;gap:8px}.detail-actions button{background:#f3f0e9;border-radius:10px;color:#555a52;flex:1;font-size:12px;font-weight:700;padding:10px}.detail-actions button.liked{background:#f5dfda;color:var(--red)}.comments-title{font-size:13px;margin:18px 0 10px}.comment{display:flex;gap:8px;margin:11px 0}.comment .avatar{height:25px;margin:0;width:25px}.comment p{color:#54574f;font-size:12px;line-height:1.45}.comment p b{color:var(--ink);margin-right:5px}.comment-add{display:flex;gap:7px;margin-top:11px}.comment-add input{background:#f5f2eb;border:0;border-radius:10px;flex:1;font-size:12px;padding:10px}.comment-add button{background:var(--sage-dark);border-radius:10px;color:#fff;font-size:12px;font-weight:700;padding:0 12px}.toast{background:#31382f;border-radius:99px;bottom:88px;box-shadow:var(--shadow);color:#fff;font-size:12px;left:50%;padding:11px 16px;position:fixed;transform:translateX(-50%);z-index:50}.login{align-items:center;background:linear-gradient(155deg,#f7f2e9,#e7eee4);display:flex;min-height:100vh;padding:25px}.login-card{background:rgba(255,254,250,.88);border:1px solid rgba(255,255,255,.9);border-radius:25px;box-shadow:var(--shadow);padding:27px 21px;width:100%}.login-symbol{background:var(--sage-dark);border-radius:17px 17px 17px 4px;color:#fff;font-family:Georgia,serif;font-size:34px;height:62px;margin-bottom:19px;padding-top:11px;text-align:center;width:62px}.login h1{font-size:31px}.login .subcopy{margin:9px 0 24px}.login-switch{background:transparent;color:var(--sage-dark);font-size:12px;font-weight:700;margin-top:15px;text-align:center;width:100%}@media(min-width:600px){body{padding:18px}.phone{border-radius:25px;box-shadow:0 24px 75px rgba(53,51,44,.19);min-height:calc(100vh - 36px)}.bottom-nav{bottom:18px;border-radius:0 0 25px 25px}}
