:root{font-family:"PingFang SC","Microsoft YaHei",sans-serif;color:#344238;background:#f7f5f0;font-synthesis:none;--green:#425d4d;--muted:#727e6b;--line:#e3e6dc}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0}button,input,textarea{font:inherit}a{color:inherit;text-underline-offset:4px}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #91a17f;outline-offset:4px}[hidden]{display:none!important}
.shell{max-width:800px;margin:auto;padding:0 24px}.home-shell{max-width:488px;padding-top:42px}.site-header{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:16px}.home-shell .site-header{justify-content:center;margin-bottom:24px}.brand{display:flex;align-items:center;gap:9px;font-size:22px;font-weight:500;letter-spacing:2px;text-decoration:none}.brand-icon{font-family:Georgia,serif;font-size:36px;color:var(--green);line-height:1}
.card{background:#fffefa;border:1px solid var(--line);border-radius:20px;padding:24px 26px 0;text-align:center;box-shadow:0 8px 32px #40503605}.card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted);flex-wrap:wrap}.status{padding:5px 9px;background:#edf0e7;border-radius:20px;color:#607153;font-size:11px}.status-dot{display:none}.card h1{font-size:25px;font-weight:500;letter-spacing:.5px;line-height:1.45;margin:34px 0 12px}.description{font-size:14px;line-height:1.8;color:var(--muted);margin:0 0 28px}
.primary,.secondary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;padding:14px 16px;font-size:16px;border:0;border-radius:11px}.primary{color:white;background:var(--green)}.primary:hover:not(:disabled){background:#354d3f}.primary:disabled{background:#a2ad9c}.secondary{background:#edf0e7;color:#53664a;border:1px solid #dce2d3}.secondary:disabled{opacity:.6}.text-button{border:0;background:none;color:#66765a;min-height:44px;font-size:14px;padding:12px 4px;line-height:1.5}.text-button:hover{text-decoration:underline}.invite-toggle{width:100%;margin:4px 0 8px}.consent{display:flex;text-align:left;align-items:center;gap:10px;font-size:12px;line-height:1.9;color:#6d7963;min-height:48px;margin:0 0 16px}.consent input{width:22px;height:22px;flex-shrink:0;accent-color:var(--green);margin:0}.consent a{color:#4e6343}.card-bottom{padding:17px 0;border-top:1px solid #eceee6;font-size:11px;color:#7b8672;line-height:1.7;margin-top:8px}
label[for]{display:block;text-align:left;font-size:13px;color:#65745b;line-height:1.7;margin:12px 0 8px}.invite-row{display:flex;gap:8px}.invite-row input,textarea{font-size:16px;border:1px solid #dce2d3;border-radius:8px;min-height:48px;padding:11px;background:#f8f9f4;color:#65755a;min-width:0}.invite-row input{width:100%;flex:1}.invite-row button{border:1px solid #dce2d3;background:#edf0e7;color:#53664a;border-radius:8px;min-width:60px;font-size:14px}.invite-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;color:#7b8672}.invite-actions .text-button{font-size:12px}textarea{width:100%;resize:vertical;margin-bottom:10px}#import-panel{padding:0 0 16px}.hint{font-size:12px;line-height:1.8;color:#6d7b62;margin:14px 0 6px}.saved{font-size:15px;color:#657f52;background:#eff2e9;border-radius:10px;padding:16px}.match-note{font-size:14px;line-height:1.9;padding:16px 12px;margin:12px 0;background:#f3eee3;color:#836e50;border-radius:10px}.match-note small{display:block;font-size:12px;margin-top:8px}.matched .status{background:#dfe9d5;color:#526c3e}.matched .card{border-color:#cddbbf}.error,.notice{font-size:13px;line-height:1.8;color:#a36b50;overflow-wrap:anywhere}.error:empty{display:none}.notice{padding:10px;background:#f6eee6;border-radius:8px;margin:12px 0}
footer{text-align:center;padding:16px 0 max(24px,env(safe-area-inset-bottom));color:#7a8670}footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:22px}footer nav a{font-size:12px;min-height:44px;display:inline-flex;align-items:center;text-decoration:none}footer nav a:hover{text-decoration:underline}footer p{font-size:11px;line-height:1.8;margin:0}footer p:empty{display:none}.danger{font-size:12px;color:#9a7b68}
dialog{border:1px solid var(--line);border-radius:18px;background:#fffefa;color:inherit;padding:26px;max-width:420px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;text-align:center}dialog::backdrop{background:#27342b70;backdrop-filter:blur(4px)}dialog h2{font-size:22px;font-weight:500}dialog p{font-size:14px;line-height:1.9;color:#727f66}.dialog-actions{display:flex;gap:12px;margin-top:24px}
.legal{margin:32px auto 60px;line-height:1.9;overflow-wrap:anywhere}.legal h1{font-size:32px;font-weight:500}.legal h2{font-size:20px;font-weight:500;margin-top:30px}.legal p,.legal li{font-size:15px;color:#64735a}.legal .notice{font-size:13px}.eyebrow{font-size:10px;letter-spacing:2px;color:#839078}.legal-back{font-size:14px;min-height:44px;display:flex;align-items:center}
@media(max-width:600px){.shell{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}.home-shell{padding-top:8px}.home-shell .site-header{min-height:68px;margin-bottom:12px}.brand{font-size:20px}.brand-icon{font-size:32px}.card{padding:20px 20px 0;border-radius:18px}.card h1{font-size:24px;margin-top:30px}.description{margin-bottom:24px}.consent{font-size:13px}.dialog-actions{flex-direction:column-reverse}.legal{margin-top:24px}.legal h1{font-size:28px}}
@media(max-width:359px){.shell{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.card{padding-left:16px;padding-right:16px}.card h1{font-size:22px}.card-bottom{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Gentle reminder while the active-intent withdrawal control is visible. */
.withdraw-hint{border-radius:8px;animation:withdraw-reminder 2.8s ease-in-out infinite}
.withdraw-hint:disabled,.withdraw-hint[hidden]{animation:none}
@keyframes withdraw-reminder{0%,100%{background-color:transparent;color:#65745b}50%{background-color:#e7eddf;color:#344d38}}
@media(prefers-reduced-motion:reduce){.withdraw-hint{animation:none;background-color:#e7eddf}}

.personal-settings{text-align:left;border-top:1px solid #e5e9df;margin-top:18px;padding:14px 0}.personal-settings summary{cursor:pointer;font-size:14px;color:#52674f;min-height:32px}.personal-settings input,.personal-settings select{width:100%;font:inherit;font-size:16px;border:1px solid #dce2d3;border-radius:8px;padding:12px;background:#fffefa;color:#344238}.personal-settings .hint{margin:8px 0 12px}.personal-settings label{margin-top:16px}#partner-phrase{display:block;white-space:pre-wrap;overflow-wrap:anywhere;font-size:20px;margin-bottom:8px}#partner-phrase:empty{display:none}

.usage-settings{max-width:440px;margin:10px auto;text-align:left;font-size:12px}.usage-settings summary{cursor:pointer;padding:10px;text-align:center}.usage-settings .consent{padding:10px 0;margin:0}.usage-settings p{padding:0 10px}
