:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#3e3034;background:#f9f4f2;font-synthesis:none}*{box-sizing:border-box}body{margin:0;padding-bottom:calc(82px + env(safe-area-inset-bottom))}header{background:#754852;color:white;padding:calc(14px + env(safe-area-inset-top)) 16px 15px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:12px}.brand strong{font-size:19px}.brand small{display:block;opacity:.8;font-size:12px}.heart{font-size:35px}main{max-width:780px;margin:auto;padding:18px 14px 30px}h1{font-size:24px;margin:0 0 4px}h2{margin:0 0 15px}h3{margin:0 0 12px;font-size:17px}p{line-height:1.45}.top{display:flex;justify-content:space-between;margin-bottom:16px;align-items:center}.top p,.hint{font-size:13px;color:#786e72;margin:5px 0 12px}.panel{background:white;border-radius:17px;padding:17px;margin-bottom:14px;box-shadow:0 2px 10px #6c46500b}.metrics,.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.metric{background:white;border-radius:14px;padding:15px;box-shadow:0 2px 10px #6c46500b}.metric strong{display:block;font-size:23px;color:#754852}.metric span{font-size:12px;color:#756a6d}.stats .metric{background:#f0e3e4}button{border:0;border-radius:11px;background:#865460;color:white;padding:12px 15px;font-size:15px;font-weight:600;cursor:pointer}button:disabled{opacity:.6}.outline{background:white;border:1px solid #cfb7bf;color:#754852}.subtle,.link{background:transparent;color:inherit;padding:8px}.link{color:#865460;text-decoration:underline;margin-top:10px}.danger{background:#b53e49}.hidden{display:none!important}label{display:block;margin:12px 0;font-size:13px;font-weight:600;color:#65565b}input,select,textarea{display:block;width:100%;font:inherit;font-size:16px;background:white;color:#392e33;border:1px solid #d9cdd0;border-radius:10px;padding:12px;margin-top:6px}textarea{min-height:80px;resize:vertical}input[type=checkbox]{width:20px;height:20px;margin:0}.item{border-top:1px solid #f0e7e7;padding:12px 0;display:flex;justify-content:space-between;align-items:center;gap:10px}.item:first-child{border-top:0}.item .title{font-weight:650}.item .detail{font-size:12px;color:#807174;margin-top:5px}.item button{background:#f5ebee;color:#754852;padding:8px 11px;font-size:13px;flex-shrink:0}.item .done{text-decoration:line-through;color:#8a8385}.empty{color:#86777c;font-size:13px;padding:12px 0}nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e7dadd;display:flex;justify-content:space-around;padding:7px 3px calc(8px + env(safe-area-inset-bottom));z-index:5;box-shadow:0 -3px 10px #44282e0c}nav button{background:transparent;color:#8a7b81;border-radius:9px;padding:5px 1px;font-size:23px;min-width:43px;flex:1}nav button span{display:block;font-size:10px;font-weight:600;margin-top:2px}nav button.active{background:#f6edef;color:#754852}dialog{border:0;border-radius:20px;width:min(93vw,490px);max-height:85vh;overflow:auto;padding:20px;box-shadow:0 10px 60px #321d2244}dialog::backdrop{background:#24181c8a}.modal-head{display:flex;justify-content:space-between;align-items:center}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.sep{text-align:center;color:#aa999e;margin:18px}#toast{position:fixed;bottom:98px;left:50%;transform:translateX(-50%);background:#433239;color:white;border-radius:12px;padding:11px 17px;max-width:90vw;z-index:10;display:none}#progress{height:13px;border-radius:10px;background:#eee3e6;overflow:hidden}#progress div{height:100%;background:#a97381}#invite-result{font-weight:700;letter-spacing:1px;overflow-wrap:anywhere;margin-top:12px;color:#754852}@media(min-width:750px){nav{left:calc(50% - 390px);right:calc(50% - 390px);border-radius:16px 16px 0 0}} 
