:root{--ink:#19231e;--muted:#68726c;--paper:#f5f1e8;--cream:#fffdf8;--green:#285c43;--line:#dcd8ce}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:radial-gradient(circle at 12% 8%,rgba(230,194,105,.16),transparent 26rem),linear-gradient(180deg,#f8f5ee 0%,var(--paper) 100%);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",system-ui,sans-serif}button,textarea,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.hidden{display:none!important}.page{min-height:100vh;display:flex;flex-direction:column}.topbar{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:28px 0;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;gap:10px;align-items:center;color:var(--ink);font-weight:750;text-decoration:none;letter-spacing:.04em}.brandMark{width:34px;height:34px;display:grid;place-items:center;color:#fff;background:var(--green);border-radius:10px 10px 10px 3px;font-size:15px;box-shadow:0 5px 14px rgba(40,92,67,.2)}.privacyPill{color:var(--muted);font-size:13px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.45)}.newLink{color:var(--green);font-size:14px;font-weight:700;text-decoration:none}.centerView{min-height:60vh;display:grid;place-items:center}.composer{width:min(820px,calc(100% - 40px));margin:64px auto 48px;flex:1}.intro{margin-bottom:38px}.eyebrow{color:var(--green);font-size:13px;font-weight:800;letter-spacing:.12em}.intro h1{margin:12px 0 18px;font-family:"Noto Serif SC","Songti SC",Georgia,serif;font-size:clamp(42px,7vw,72px);line-height:1.08;letter-spacing:-.04em;font-weight:700}.intro h1 span{color:var(--green)}.subtitle{color:var(--muted);font-size:17px;line-height:1.8;margin:0}.editorCard,.textCard{background:rgba(255,253,248,.94);border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 70px rgba(37,49,41,.08);overflow:hidden}.editorCard label{display:block;padding:20px 22px 0;font-size:13px;color:var(--muted);font-weight:700}.editorCard textarea{width:100%;min-height:280px;padding:18px 22px;resize:vertical;border:0;outline:0;background:transparent;color:var(--ink);font-size:16px;line-height:1.8}.editorCard textarea::placeholder{color:#a6aaa6}.editorCard:focus-within{border-color:#8ca694;box-shadow:0 24px 70px rgba(37,49,41,.1),0 0 0 3px rgba(40,92,67,.08)}.editorFooter{border-top:1px solid #ebe7de;padding:14px 14px 14px 22px;display:flex;gap:14px;align-items:center;justify-content:space-between;color:#929790;font-size:12px}.primaryButton,.copyButton{border:0;border-radius:12px;color:#fff;background:var(--green);font-weight:750;cursor:pointer;padding:13px 18px;box-shadow:0 8px 18px rgba(40,92,67,.18);text-decoration:none}.primaryButton:disabled{cursor:not-allowed;opacity:.45;box-shadow:none}.primaryButton:not(:disabled):hover,.copyButton:hover{background:#1f4c36;transform:translateY(-1px)}.resultCard{margin-top:18px;padding:20px;border:1px solid #b9cdbf;background:#edf5ef;border-radius:18px;animation:rise .35s ease both}.resultIntro{display:flex;gap:12px;align-items:center}.resultCard strong{font-size:15px}.resultCard p{margin:3px 0 0;font-size:12px;color:var(--muted)}.successDot{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-weight:800}.linkRow{display:flex;gap:8px;margin-top:16px}.linkRow input{flex:1;min-width:0;border:1px solid #c8d7cc;border-radius:10px;background:#fff;color:#4b5c51;padding:11px 12px;outline:none}.linkRow button{white-space:nowrap;border:0;border-radius:10px;background:#fff;color:var(--green);padding:11px 15px;font-weight:800;cursor:pointer}.readerWrap{width:min(760px,calc(100% - 40px));margin:70px auto;text-align:center;flex:1}.readerWrap .eyebrow{margin-bottom:18px}.textCard{text-align:left}.textCard pre{margin:0;padding:clamp(24px,5vw,48px);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);font-family:inherit;font-size:17px;line-height:1.85}.copyButton{width:100%;margin-top:16px;font-size:16px;padding:16px}.expiry{color:var(--muted);font-size:12px;margin-top:16px}.emptyCard{padding:54px 28px;border:1px solid var(--line);background:var(--cream);border-radius:22px}.emptyIcon{display:block;color:#a0a69f;font-size:50px}.emptyCard h1{font-family:"Songti SC",serif;font-size:30px;margin:10px 0}.emptyCard p{color:var(--muted);margin:0 0 28px}footer{padding:26px 20px 34px;text-align:center;color:#8a908b;font-size:12px}.error{color:#a53c32;font-size:14px;text-align:center;margin-top:16px}.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:#17221c;color:#fff;padding:11px 17px;border-radius:999px;font-size:13px;box-shadow:0 12px 30px rgba(0,0,0,.18);animation:rise .25s ease both}.loader{width:32px;height:32px;border:3px solid #d6dcd7;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rise{from{opacity:0;transform:translateY(8px)}}@media(max-width:640px){.topbar{width:calc(100% - 28px);padding:18px 0}.composer{width:calc(100% - 28px);margin-top:40px}.intro h1{font-size:44px}.subtitle{font-size:15px}.editorCard textarea{min-height:260px}.editorFooter{align-items:flex-end}.primaryButton{padding:13px 15px}.readerWrap{width:calc(100% - 28px);margin-top:44px}.linkRow{flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
