*{box-sizing:border-box}body{margin:0;background:linear-gradient(145deg,#f7fbfc,#e8f3f2);font-family:Arial,"Malgun Gothic",sans-serif;color:#20383b}.page{width:min(100% - 32px,560px);margin:30px auto}.brand{text-align:center;font:700 34px Georgia,serif;letter-spacing:6px;color:#176b70}.page header p,footer{text-align:center;color:#718687;font-size:13px}.panel{margin-top:22px;padding:30px;background:white;border:1px solid #dce9e8;border-radius:22px;box-shadow:0 16px 45px #244b4b12}small{color:#398487;letter-spacing:2px}h1{font-size:36px;line-height:1.3;color:#183e42}h2{font-size:19px;margin:20px 0 12px}.intro{line-height:1.7}nav{display:flex;gap:8px;background:#eff5f4;padding:5px;border-radius:10px;margin-top:22px}button{cursor:pointer;border:0;border-radius:10px;padding:13px;font-size:14px}button:disabled{opacity:.55;cursor:not-allowed}.tab{flex:1;background:transparent;color:#627778}.tab.active{background:white;color:#176b70;font-weight:bold}label{display:block;margin:15px 0 7px;font-size:13px}input,textarea{width:100%;padding:13px;border:1px solid #d4e1e0;border-radius:9px;font-size:15px;font-family:inherit;color:#20383b}textarea{resize:vertical;line-height:1.65}.primary,.secondary{width:100%;margin-top:16px;font-weight:bold}.primary{background:#176b70;color:white}.secondary{background:#edf4f3;color:#31595b}.hidden{display:none!important}#message{min-height:22px;color:#176b70;font-size:13px;margin-top:18px;line-height:1.5}.muted{color:#718687;font-size:13px;line-height:1.6}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-head h2{margin:18px 0 10px}.code-pill,.owner-pill{font-size:11px;border-radius:30px;padding:6px 10px;background:#edf4f3;color:#176b70;white-space:nowrap}.owner-pill{background:#e8f4ee;color:#26714a}.memory-photo{display:block;width:100%;max-height:420px;object-fit:contain;border-radius:12px;margin:14px 0;background:#f4f7f6}.audio-player{width:100%;margin:14px 0}.letter{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;background:#fbf8ef;border:1px solid #eee7d7;border-radius:12px;padding:18px;margin:14px 0}.upload-block{border-top:1px solid #edf1f0;margin-top:22px;padding-top:8px}.button-row{display:flex;gap:10px}.button-row button{flex:1}.nfc-box{margin-top:24px;padding:16px;border-radius:12px;background:#f3f8f7}.url-text{overflow-wrap:anywhere;font-size:12px;color:#176b70;line-height:1.6}footer{margin:22px 0;font-size:11px}@media(max-width:480px){.page{margin:18px auto}.panel{padding:22px}h1{font-size:30px}.section-head{align-items:flex-start}}
