:root{color-scheme:light;--bg:var(--tg-theme-bg-color,#f5f7fa);--card:var(--tg-theme-secondary-bg-color,#fff);--ink:var(--tg-theme-text-color,#1f2937);--hint:var(--tg-theme-hint-color,#8b94a3);--accent:var(--tg-theme-button-color,#4778ee);--button-text:var(--tg-theme-button-text-color,#fff);--line:#8b94a322;--soft:#4778ee10}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.5}button,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}.app{max-width:640px;min-height:100vh;margin:auto;padding:24px 18px calc(28px + env(safe-area-inset-bottom))}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.identity{display:flex;gap:12px;align-items:center}.logo{display:flex;align-items:center;justify-content:center;width:43px;height:43px;border-radius:14px;color:#4266bd;background:#e7edff;font-size:31px;font-weight:500;transform:rotate(-6deg)}h1{font-size:21px;font-weight:700;letter-spacing:-.5px;line-height:1.2;margin:0}.identity p{font-size:12px;color:var(--hint);margin:5px 0 0}.round-button{border:1px solid var(--line);background:var(--card);color:var(--hint);width:37px;height:37px;border-radius:12px;font-size:24px;line-height:1}.tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--card);padding:5px;border-radius:14px;gap:5px;border:1px solid var(--line)}.tabs button{border:0;background:none;color:var(--hint);border-radius:10px;padding:12px 8px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:600;white-space:nowrap}.tabs .active{background:var(--accent);color:var(--button-text);box-shadow:0 3px 8px #4778ee24}.tabs b{font-weight:500;border-radius:5px;font-size:10px;background:#8b94a315;padding:1px 5px}.tabs .active b{background:#ffffff28}.search{display:flex;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:0 12px;gap:8px;margin:18px 0}.search>span{font-size:26px;color:var(--hint);line-height:1}.search input{width:100%;padding:12px 0;border:0;outline:none;background:transparent;color:var(--ink);font-size:13px}.search input::placeholder{color:var(--hint)}.list-caption{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--hint);margin:23px 2px 12px}.message-list{display:flex;flex-direction:column;gap:10px}.message-card{display:block;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:15px 16px;color:var(--ink);position:relative}.message-card:hover{border-color:#4778ee55}.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.sender{display:flex;align-items:center;gap:8px;min-width:0;color:var(--hint);font-size:11px}.sender>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{display:flex;flex:0 0 25px;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;background:#edf1fb;color:#8a9cbe;font-size:10px;font-weight:600}.card-date{font-size:10px;color:var(--hint);white-space:nowrap}.card-subject{font-size:14px;font-weight:600;line-height:1.5;padding-right:18px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px;color:var(--hint);font-size:10px}.card-bottom>span:last-child{font-size:17px;line-height:1}.sent{color:#6ba68a!important}.pending{color:#c0954a!important}.empty{text-align:center;padding:45px 15px}.empty>span{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;width:50px;height:50px;background:#eaf4ec;color:#6c9975;font-size:24px}.empty h2{font-size:18px;margin:15px 0 6px}.empty p,.privacy-note{font-size:11px;color:var(--hint);line-height:1.7}.privacy-note{text-align:center;margin:25px 0 0}.load-more{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px;width:100%;margin-top:15px;color:var(--accent);font-size:12px}.back{color:var(--accent);border:0;background:none;padding:0 0 20px;font-size:13px}.letter{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px 18px}.letter h2{font-size:20px;line-height:1.4;letter-spacing:-.4px;margin:0 0 16px;overflow-wrap:anywhere}.letter-meta{font-size:12px;color:var(--hint);line-height:1.8;padding-bottom:18px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.letter-meta strong{font-weight:500;color:var(--ink)}.body-text{font-family:inherit;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.8;margin:20px 0 0}.send-panel{padding-top:20px}.recipient-label{font-size:11px;color:var(--hint);margin:0 0 10px;overflow-wrap:anywhere}.primary{display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--button-text);border:0;border-radius:12px;padding:15px 16px;width:100%;text-decoration:none;font-weight:600;font-size:14px;gap:10px}.primary span{font-size:19px;line-height:1}.text-button{display:block;background:transparent;color:var(--accent);border:0;width:100%;padding:13px;font-size:13px}.template{margin-top:16px;border-top:1px solid var(--line);padding-top:13px}.template summary{font-size:11px;color:var(--hint);cursor:pointer}.template .preview{white-space:pre-wrap;font-size:11px;color:var(--hint);line-height:1.8;max-height:220px;overflow:auto;padding:12px 0}.send-result{border-radius:12px;background:#6ba68a12;padding:15px;color:#5e967a;font-size:13px;line-height:1.7}.send-result.error{color:#b58549;background:#c0954a12}.send-result small{display:block;font-size:10px;color:var(--hint);margin-top:4px}.banner,.warning{font-size:11px;line-height:1.6;padding:12px;border-radius:10px;background:#f7eacb;color:#a38244;margin:0 0 15px}.gate{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:330px;margin:auto}.gate .logo{height:66px;width:66px;font-size:45px;border-radius:20px;margin-bottom:25px}.gate h1{font-size:29px}.gate p{font-size:14px;color:var(--hint);line-height:1.7;margin:16px 0 25px}.gate .primary{font-size:13px}dialog{border:1px solid var(--line);border-radius:20px;max-width:360px;width:calc(100vw - 38px);padding:26px 22px 13px;background:var(--bg);color:var(--ink);text-align:center;box-shadow:0 20px 80px #15233c33}dialog::backdrop{background:#17223866;backdrop-filter:blur(3px)}dialog h2{font-size:20px;line-height:1.35;margin:15px 0 10px}dialog p{font-size:12px;color:var(--hint);line-height:1.7}dialog strong{font-size:13px;overflow-wrap:anywhere;font-weight:600}dialog .muted{font-size:11px;margin:15px 0 22px}.confirm-icon{display:flex;align-items:center;justify-content:center;height:45px;width:45px;border-radius:15px;background:#e7edff;color:#678adc;font-size:29px;margin:auto}#toast{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);width:max-content;border-radius:12px;background:#28374b;color:white;padding:13px 17px;font-size:12px;box-shadow:0 6px 30px #10203a26;z-index:10}@media(max-width:370px){.app{padding-left:12px;padding-right:12px}.tabs button{font-size:11px;gap:5px}.tabs b{font-size:9px;padding:1px 4px}.list-caption{font-size:9px}}@media(min-width:700px){.app{padding-top:40px}.header{margin-bottom:30px}.message-card{padding:18px 20px}.card-subject{font-size:15px}}
