@import "https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@400;500;600;700&family=LXGW+WenKai+TC&family=Noto+Sans:wght@300;400;500&display=swap";
.nav-trigger{border:1px solid var(--border-strong);color:var(--brand-secondary);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;padding:0;transition:border-color .2s,color .2s;display:none}.nav-trigger:hover,.nav-trigger[aria-expanded=true]{border-color:var(--brand-primary);color:var(--brand-primary)}.nav-trigger svg{width:16px;height:16px;display:block}@media (max-width:640px){.nav-trigger{display:inline-flex}.nav-menu-overlay{top:58px}.nav-menu-panel{max-height:calc(80vh - 58px);top:58px}}.nav-menu-overlay{background:rgba(var(--fg-rgb), .12);z-index:998;animation:.18s both navMenuFade;position:fixed;inset:72px 0 0}.nav-menu-panel{z-index:999;background:rgba(var(--surface-deep-rgb), .97);border-top:1px solid var(--border);border-bottom:1px solid var(--border-strong);max-height:calc(80vh - 72px);padding:8px 0 12px;animation:.22s both navMenuSlideDown;position:fixed;left:0;right:0;overflow-y:auto}.nav-menu-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.nav-menu-item{letter-spacing:.3em;width:100%;color:var(--brand-secondary);cursor:pointer;text-align:center;background:0 0;border:none;justify-content:center;align-items:center;gap:12px;padding:14px 20px;font-family:Noto Serif TC,serif;font-size:.95rem;text-decoration:none;transition:color .2s,background .2s;display:flex}.nav-menu-item:hover:not(:disabled):not(.is-disabled):not(.is-current){color:var(--brand-primary);background:var(--brand-hover)}.nav-menu-item.is-disabled,.nav-menu-item:disabled{color:var(--text-faint);cursor:not-allowed}.nav-menu-item.is-current,.nav-menu-item.is-current:disabled{color:var(--brand-primary);cursor:default}.nav-menu-item.is-disabled{pointer-events:none}.nav-menu-item.is-muted{color:var(--text-muted);letter-spacing:.25em;font-size:.85rem}.nav-menu-item.is-muted:hover{color:var(--brand-secondary)}.nav-menu-tag{letter-spacing:.15em;color:var(--text-faint);border:1px solid var(--border-faint);padding:1px 7px;font-family:Noto Sans,sans-serif;font-size:.6rem}.nav-menu-tag.is-pro{color:rgba(var(--brand-rgb), .75);border-color:rgba(var(--brand-rgb), .4)}.nav-menu-identity{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:6px;padding:4px 20px 14px;display:flex}.nav-menu-avatar{border:1px solid rgba(var(--brand-rgb), .4);width:30px;height:30px;color:var(--brand-primary);flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;display:flex}.nav-menu-identity-text{flex-direction:column;gap:1px;min-width:0;display:flex}.nav-menu-identity-role{letter-spacing:.2em;color:rgba(var(--brand-rgb), .55);font-size:.6rem}.nav-menu-identity-name{letter-spacing:.08em;color:var(--brand-secondary);font-size:.92rem}.nav-menu-divider{background:linear-gradient(90deg, transparent, var(--border), transparent);height:1px;margin:6px 20px;list-style:none}@keyframes navMenuFade{0%{opacity:0}to{opacity:1}}@keyframes navMenuSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
:root{--paper:#f6f1e7;--gold:#c9a84c;--gold-light:#e8d5a3;--lotus:#e8a0a0;--bg:#1a0a2e;--bg-dark:#0f0618;--jade:#5a9a78;--lotus-dim:#e8a0a038;--ink-900:#0f0618;--ink-800:#120818;--ink-700:#1a0a2e;--gold-deep:#b08d3c;--paper-deep:#efe8d9;--paper-card:#fffdf6;--cobalt:#425c8a;--cobalt-sub:#6b85ad;--wx-mu:#6aaa7a;--wx-huo:#c44;--wx-tu:#b87a45;--wx-jin:#b0b8b0;--wx-shui:#5a9dd0;--danger:#c0392b;--danger-soft:#c0392b14;--bg-primary:var(--ink-700);--bg-secondary:var(--ink-900);--surface-card:var(--ink-800);--surface-fill:#c9a84c0d;--brand-primary:var(--gold);--brand-secondary:var(--gold-light);--brand-hover:#c9a84c1a;--brand-active:#c9a84c2e;--text-primary:var(--paper);--text-body:#f5efe6a6;--text-muted:#f5efe659;--text-faint:#f5efe633;--text-on-brand:var(--ink-700);--border:#c9a84c2e;--border-strong:#c9a84c59;--border-faint:#c9a84c1a;--rule-gold:linear-gradient(90deg, transparent, var(--gold), transparent);--veil:linear-gradient(135deg, #3c145ab3 0%, #1e053ce6 100%);--btn-primary-bg:var(--veil);--btn-primary-border:rgba(var(--brand-rgb), .35);--btn-primary-text:var(--brand-secondary);--btn-primary-hover-border:var(--brand-primary);--btn-primary-hover-text:var(--brand-primary);--btn-primary-hover-shadow:0 0 32px rgba(var(--brand-rgb), .4);--font-display:"LXGW WenKai TC", "KaiTi", cursive;--font-serif:"Noto Serif TC", Georgia, serif;--font-sans:"Noto Sans", system-ui, sans-serif;--font-mono:"SFMono-Regular", ui-monospace, Menlo, monospace;--text-2xs:.62rem;--text-xs:.7rem;--text-sm:.82rem;--text-md:.92rem;--text-lg:1.1rem;--text-xl:1.4rem;--text-2xl:1.7rem;--display:clamp(2rem, 6vw, 2.8rem);--display-hero:clamp(2.4rem, 7vw, 3.8rem);--fw-light:300;--fw-reg:400;--fw-med:500;--fw-semi:600;--fw-bold:700;--lh-tight:1.25;--lh-snug:1.6;--lh-body:1.95;--lh-loose:2.1;--ls-tight:.04em;--ls-body:.08em;--ls-wide:.15em;--ls-wider:.25em;--ls-widest:.4em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--container:720px;--container-narrow:560px;--page-pad:24px;--radius-0:0;--radius-card:2px;--radius-soft:4px;--radius-sheet:16px;--radius-full:9999px;--breath-ai-ring-fill:#c9a84c12;--breath-ai-ring-stroke:#c9a84c4d;--breath-ai-dot-fill:#c9a84c8c;--confirm-text:#15171d;--confirm-bg-rgb:201, 168, 76;--glow-gold:0 0 40px #c9a84c4d, 0 2px 8px #0009;--glow-inset:inset 0 0 18px #c9a84c1f;--glow-focus:0 0 32px #7832b466;--glow-send:0 0 12px #c9a84c2e;--shadow-toast:0 4px 32px #00000080;--brand-rgb:201, 168, 76;--brand-2-rgb:232, 213, 163;--fg-rgb:245, 239, 230;--surface-rgb:18, 8, 24;--surface-deep-rgb:15, 6, 24;--ease:cubic-bezier(.4, 0, .2, 1);--dur-fast:.2s;--dur:.3s;--dur-slow:.6s;--breath:3s}[data-theme=light]{--bg-primary:var(--paper);--bg-secondary:var(--paper-deep);--surface-card:var(--paper-card);--surface-fill:#425c8a0a;--brand-primary:var(--cobalt);--brand-secondary:var(--cobalt-sub);--brand-hover:#425c8a12;--brand-active:#425c8a24;--text-primary:#1a1008;--text-body:#1a1008a6;--text-muted:#1a100861;--text-faint:#1a100833;--text-on-brand:var(--paper);--border:#425c8a26;--border-strong:#425c8a4d;--border-faint:#425c8a14;--rule-gold:linear-gradient(90deg, transparent, var(--cobalt), transparent);--veil:linear-gradient(135deg, #425c8a1a 0%, #425c8a0a 100%);--glow-inset:inset 0 0 18px #425c8a14;--glow-focus:0 0 32px #425c8a40;--glow-send:0 0 12px #425c8a1f;--glow-gold:0 0 24px #425c8a1a;--shadow-toast:0 4px 24px #0000001f;--brand-rgb:66, 92, 138;--brand-2-rgb:107, 133, 173;--fg-rgb:26, 16, 8;--surface-rgb:255, 254, 249;--surface-deep-rgb:240, 233, 221;--breath-ai-ring-fill:#425c8a12;--breath-ai-ring-stroke:#425c8a4d;--breath-ai-dot-fill:#425c8a8c;--confirm-text:#f6f1e7;--confirm-bg-rgb:90, 154, 120;--btn-primary-bg:linear-gradient(135deg, #425c8a 0%, #2f4366 100%);--btn-primary-border:#425c8a99;--btn-primary-text:#f7f2e6;--btn-primary-hover-border:#425c8a;--btn-primary-hover-text:#fff;--btn-primary-hover-shadow:0 0 26px #425c8a52}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);font-family:var(--font-serif);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.bg-texture{z-index:0;pointer-events:none;background:radial-gradient(ellipse 80% 60% at 50% 0%, rgba(var(--brand-rgb), .1) 0%, transparent 70%), radial-gradient(ellipse 60% 80% at 80% 100%, rgba(var(--brand-rgb), .06) 0%, transparent 60%), radial-gradient(ellipse 50% 50% at 10% 50%, rgba(var(--brand-rgb), .04) 0%, transparent 60%);position:fixed;inset:0}.bg-texture:before{content:"";opacity:.035;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><circle cx='100' cy='100' r='22' fill='none' stroke='white' stroke-width='0.5'/><circle cx='100' cy='100' r='44' fill='none' stroke='white' stroke-width='0.5'/><circle cx='100' cy='100' r='66' fill='none' stroke='white' stroke-width='0.4'/><circle cx='100' cy='100' r='88' fill='none' stroke='white' stroke-width='0.3'/></svg>");background-size:200px 200px;position:absolute;inset:0}.bg-texture:after{content:"";background:repeating-linear-gradient(175deg, transparent 0%, transparent 8%, rgba(var(--brand-rgb), .015) 8.5%, transparent 9%);position:absolute;inset:0}[data-theme=light] .bg-texture{background:radial-gradient(ellipse 95% 75% at 50% 22%, var(--surface-card) 0%, transparent 58%), radial-gradient(ellipse 130% 125% at 50% 48%, transparent 60%, #5c46200b 100%)}[data-theme=light] .bg-texture:before{opacity:.3;background-image:url(/texture.png);background-position:50%;background-repeat:no-repeat;background-size:cover;display:block}[data-theme=light] .bg-texture:after{display:none}[data-theme=light] .cat-btn,[data-theme=light] .result-box,[data-theme=light] .deep-card2,[data-theme=light] .deep-entrance-history,[data-theme=light] .de2-card,[data-theme=light] .deep-bazi-pillar,[data-theme=light] .deep-meta-card,[data-theme=light] .deep-empty-bazi{background:var(--surface-card);border-color:var(--border)}[data-theme=light] .deep-card2:hover{border-color:var(--brand-primary)}[data-theme=light] textarea,[data-theme=light] .modal input,[data-theme=light] .modal select{background:var(--surface-card);border-color:var(--border)}[data-theme=light] .result-header{background:#fffdf699}[data-theme=light] .deep-bubble-user{background:#425c8a0f;border-color:#425c8a33}[data-theme=light] .de2-empty{background:var(--surface-card);border-color:var(--border)}[data-theme=light] .de2-review-panel{background:var(--surface-card)}.container{z-index:1;max-width:720px;margin:0 auto;padding:0 24px 80px;position:relative}@media (min-width:700px){.container{max-width:1000px;padding:0 40px 120px}}@media (max-width:640px){.container{padding:60px 16px 80px}}.container>*{animation:.6s both fadeUp}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes slideUpFromBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes ds-fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes ds-slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.loading-dots{justify-content:center;align-items:center;gap:8px;padding:32px;display:flex}.loading-dots span{background:var(--brand-primary);opacity:.4;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite pulse}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}.loading-text{text-align:center;letter-spacing:.3em;color:var(--brand-primary);padding-bottom:16px;font-size:.75rem}.ds-rule-gold{background:var(--rule-gold);opacity:.9;border:none;height:2px}.ds-divider{opacity:.5;align-items:center;gap:16px;display:flex}.ds-divider:before,.ds-divider:after{content:"";background:linear-gradient(90deg, transparent, var(--brand-primary), transparent);flex:1;height:1px}.ds-lotus{background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'><g fill='rgba(232,160,160,0.25)' stroke='%23c9a84c' stroke-width='0.7'><ellipse cx='20' cy='10' rx='4' ry='10'/><ellipse cx='20' cy='10' rx='4' ry='10' transform='rotate(45 20 20)'/><ellipse cx='20' cy='10' rx='4' ry='10' transform='rotate(90 20 20)'/><ellipse cx='20' cy='10' rx='4' ry='10' transform='rotate(135 20 20)'/><ellipse cx='20' cy='10' rx='4' ry='10' transform='rotate(180 20 20)'/><ellipse cx='20' cy='10' rx='4' ry='10' transform='rotate(225 20 20)'/><ellipse cx='20' cy='10' rx='4' ry='10' transform='rotate(270 20 20)'/><ellipse cx='20' cy='10' rx='4' ry='10' transform='rotate(315 20 20)'/></g><circle cx='20' cy='20' r='4' fill='rgba(201,168,76,0.5)' stroke='%23c9a84c' stroke-width='0.8'/><circle cx='20' cy='20' r='2' fill='rgba(201,168,76,0.8)'/></svg>") 50%/contain no-repeat;flex-shrink:0;width:36px;height:36px;display:inline-block}.ds-fade-up{animation:ds-fadeUp var(--dur-slow) var(--ease) both}@media (prefers-reduced-motion:reduce){.ds-fade-up{animation:none}}
header{flex-wrap:nowrap;align-items:center;padding:28px 0 0;display:flex}.logo{flex-direction:column;gap:3px;display:flex}.logo-top{flex-direction:row;align-items:center;gap:8px;display:flex}.logo-img{object-fit:contain;width:40px;height:40px}.logo-title{font-family:var(--font-display);color:var(--brand-primary);letter-spacing:.12em;text-shadow:0 0 24px rgba(var(--brand-rgb), .35);font-size:1.7rem;line-height:1}.logo-sub{color:var(--brand-secondary);opacity:.7;letter-spacing:.25em;font-size:.72rem}.header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.main-nav{letter-spacing:.15em;white-space:nowrap;align-items:center;gap:2px;margin-left:auto;margin-right:8px;font-size:.82rem;display:flex}.main-nav-link{color:var(--brand-secondary);cursor:pointer;padding:4px 5px;text-decoration:none;transition:color .2s}.main-nav-link:hover{color:var(--brand-primary)}.main-nav-link.is-active{color:var(--brand-primary);cursor:default}.main-nav-link.is-disabled{color:var(--text-faint);cursor:not-allowed}.main-nav-link.has-pro{align-items:baseline;gap:3px;display:inline-flex}.main-nav-sep{color:var(--border);-webkit-user-select:none;user-select:none;padding:0 1px}.main-nav-tip{letter-spacing:.06em;color:var(--text-faint);font-size:.58rem}.main-nav-pro{font-family:var(--font-sans);letter-spacing:.1em;color:rgba(var(--brand-rgb), .6);border:1px solid rgba(var(--brand-rgb), .32);padding:2px 4px;font-size:.5rem;line-height:1;transition:color .2s,border-color .2s}.main-nav-link.has-pro:hover .main-nav-pro,.main-nav-link.has-pro.is-active .main-nav-pro{color:var(--brand-primary);border-color:rgba(var(--brand-rgb), .6)}.theme-toggle{border:1px solid var(--border-strong);color:var(--brand-secondary);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;padding:0;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.theme-toggle:hover{border-color:var(--brand-primary);color:var(--brand-primary);background:var(--brand-hover)}.theme-toggle svg{width:16px;height:16px;display:block}.hdr-btn{border:1px solid rgba(var(--brand-rgb), .4);color:var(--brand-secondary);letter-spacing:.15em;cursor:pointer;background:0 0;align-items:center;height:34px;padding:0 14px;font-size:.78rem;transition:all .3s;display:inline-flex}.hdr-btn:hover{border-color:var(--brand-primary);color:var(--brand-primary)}.hdr-btn.ghost{border-color:rgba(var(--brand-rgb), .2);color:var(--text-faint)}.hdr-btn.ghost:hover{border-color:rgba(var(--brand-rgb), .4);color:var(--brand-secondary)}.footer-note{text-align:center;letter-spacing:.25em;color:var(--text-faint);margin-top:60px;font-size:.68rem;line-height:2.2}@media (max-width:640px){.footer-note{letter-spacing:.1em;font-size:.6rem}}.footer-note:before{content:"";opacity:.35;background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'><ellipse cx='20' cy='10' rx='4' ry='10' fill='rgba(232,160,160,0.2)' stroke='%23c9a84c' stroke-width='0.7'/><ellipse cx='20' cy='10' rx='4' ry='10' fill='rgba(232,160,160,0.2)' stroke='%23c9a84c' stroke-width='0.7' transform='rotate(45 20 20)'/><ellipse cx='20' cy='10' rx='4' ry='10' fill='rgba(232,160,160,0.2)' stroke='%23c9a84c' stroke-width='0.7' transform='rotate(90 20 20)'/><ellipse cx='20' cy='10' rx='4' ry='10' fill='rgba(232,160,160,0.2)' stroke='%23c9a84c' stroke-width='0.7' transform='rotate(135 20 20)'/><ellipse cx='20' cy='10' rx='4' ry='10' fill='rgba(232,160,160,0.2)' stroke='%23c9a84c' stroke-width='0.7' transform='rotate(180 20 20)'/><ellipse cx='20' cy='10' rx='4' ry='10' fill='rgba(232,160,160,0.2)' stroke='%23c9a84c' stroke-width='0.7' transform='rotate(225 20 20)'/><ellipse cx='20' cy='10' rx='4' ry='10' fill='rgba(232,160,160,0.2)' stroke='%23c9a84c' stroke-width='0.7' transform='rotate(270 20 20)'/><ellipse cx='20' cy='10' rx='4' ry='10' fill='rgba(232,160,160,0.2)' stroke='%23c9a84c' stroke-width='0.7' transform='rotate(315 20 20)'/><circle cx='20' cy='20' r='3.5' fill='rgba(201,168,76,0.45)' stroke='%23c9a84c' stroke-width='0.7'/></svg>") 50%/contain no-repeat;width:26px;height:26px;margin:0 auto 14px;display:block}.divider{opacity:.5;align-items:center;gap:16px;margin:36px 0 0;display:flex}.divider:before,.divider:after{content:"";background:var(--rule-gold);flex:1;height:1px}.divider-icon{background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'><ellipse cx='20' cy='10' rx='4' ry='10' fill='rgba(232,160,160,0.25)' stroke='%23c9a84c' stroke-width='0.7'/><ellipse cx='20' cy='10' rx='4' ry='10' fill='rgba(232,160,160,0.25)' stroke='%23c9a84c' stroke-width='0.7' transform='rotate(45 20 20)'/><ellipse cx='20' cy='10' rx='4' ry='10' fill='rgba(232,160,160,0.25)' stroke='%23c9a84c' stroke-width='0.7' transform='rotate(90 20 20)'/><ellipse cx='20' cy='10' rx='4' ry='10' fill='rgba(232,160,160,0.25)' stroke='%23c9a84c' stroke-width='0.7' transform='rotate(135 20 20)'/><ellipse cx='20' cy='10' rx='4' ry='10' fill='rgba(232,160,160,0.25)' stroke='%23c9a84c' stroke-width='0.7' transform='rotate(180 20 20)'/><ellipse cx='20' cy='10' rx='4' ry='10' fill='rgba(232,160,160,0.25)' stroke='%23c9a84c' stroke-width='0.7' transform='rotate(225 20 20)'/><ellipse cx='20' cy='10' rx='4' ry='10' fill='rgba(232,160,160,0.25)' stroke='%23c9a84c' stroke-width='0.7' transform='rotate(270 20 20)'/><ellipse cx='20' cy='10' rx='4' ry='10' fill='rgba(232,160,160,0.25)' stroke='%23c9a84c' stroke-width='0.7' transform='rotate(315 20 20)'/><circle cx='20' cy='20' r='4' fill='rgba(201,168,76,0.5)' stroke='%23c9a84c' stroke-width='0.8'/><circle cx='20' cy='20' r='2' fill='rgba(201,168,76,0.8)'/></svg>") 50%/contain no-repeat;flex-shrink:0;width:36px;height:36px;display:inline-block}.modal-overlay{background:rgba(var(--fg-rgb), .18);z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface-card);border:1px solid var(--border-strong);width:90%;max-width:420px;max-height:90vh;padding:36px 32px;animation:.3s both fadeUp;position:relative;overflow-y:auto}.modal:before{content:"";background:var(--rule-gold);height:2px;position:absolute;top:0;left:0;right:0}.modal h2{font-family:var(--font-display);color:var(--brand-primary);text-align:center;letter-spacing:.15em;margin-bottom:6px;font-size:1.4rem}.modal-subtitle{text-align:center;letter-spacing:.2em;color:var(--text-muted);margin-bottom:24px;font-size:.7rem}.modal-close{border:1px solid rgba(var(--brand-rgb), .2);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:14px;right:16px}.modal-close:hover{border-color:rgba(var(--brand-rgb), .5);color:var(--brand-primary)}.field-label{letter-spacing:.25em;color:rgba(var(--brand-rgb), .6);margin-bottom:5px;font-size:.68rem}.form-row{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.form-row.full{grid-template-columns:1fr}.modal input,.modal select{background:rgba(var(--brand-rgb), .04);border:1px solid rgba(var(--brand-rgb), .2);width:100%;color:var(--text-primary);letter-spacing:.06em;appearance:none;outline:none;padding:10px 12px;font-size:.85rem;transition:border-color .3s}.modal input:focus,.modal select:focus{border-color:rgba(var(--brand-rgb), .5)}.modal input::placeholder{color:var(--text-faint)}.modal select option{background:var(--bg-primary);color:var(--text-primary)}.gender-group{gap:8px;display:flex}.gender-btn{background:rgba(var(--brand-rgb), .04);border:1px solid rgba(var(--brand-rgb), .2);color:var(--text-muted);letter-spacing:.15em;cursor:pointer;flex:1;padding:10px;font-size:.82rem;transition:all .2s}.gender-btn.active{background:rgba(var(--brand-rgb), .12);border-color:rgba(var(--brand-rgb), .55);color:var(--brand-primary)}.modal-btn{background:var(--btn-primary-bg);border:1px solid var(--btn-primary-border);width:100%;color:var(--btn-primary-text);font-family:var(--font-display);letter-spacing:.3em;cursor:pointer;margin-top:16px;padding:14px;font-size:1.05rem;transition:all .3s}.modal-btn:hover{border-color:var(--btn-primary-hover-border);color:var(--btn-primary-hover-text);box-shadow:var(--btn-primary-hover-shadow)}.modal-btn:disabled{opacity:.6;cursor:not-allowed}.modal-actions{gap:10px;margin-top:16px;display:flex}.modal-actions .modal-btn{flex:1;margin-top:0;font-size:.9rem}.modal-btn-cancel{color:var(--text-muted);border-color:rgba(var(--fg-rgb), .18);background:0 0}.modal-btn-cancel:hover{color:var(--text-body);border-color:rgba(var(--fg-rgb), .35)}.modal-btn-danger{color:#f5dcdcd9;background:linear-gradient(135deg,#b43232bf,#781e1ed9);border-color:#c8505059}.modal-btn-danger:hover{color:#fff;border-color:#c8505099}.auth-msg{text-align:center;letter-spacing:.1em;color:rgba(var(--brand-rgb), .7);margin-top:12px;font-size:.75rem;line-height:1.8}.auth-switch{text-align:center;color:var(--text-faint);letter-spacing:.1em;cursor:pointer;margin-top:14px;font-size:.72rem;transition:color .2s}.auth-switch:hover{color:var(--brand-secondary)}.section-label{letter-spacing:.4em;color:var(--brand-primary);opacity:.6;text-align:center;margin-bottom:16px;font-size:.7rem}.skip-link{text-align:center;letter-spacing:.15em;color:var(--text-faint);cursor:pointer;margin-top:12px;font-size:.7rem;transition:color .2s}.skip-link:hover{color:var(--text-muted)}.card-toggle{justify-content:center;gap:8px;margin-bottom:16px;display:flex}.toggle-btn{border:1px solid var(--border-strong);color:var(--text-faint);letter-spacing:.15em;cursor:pointer;background:0 0;padding:6px 20px;font-size:.8rem;transition:all .2s}.toggle-btn.active{border-color:var(--brand-primary);color:var(--brand-primary);background:var(--brand-hover)}@media (max-width:640px){header{z-index:50;-webkit-backdrop-filter:blur(12px);background:rgba(var(--surface-deep-rgb), .85);flex-wrap:nowrap;align-items:center;gap:6px;padding:12px 16px;transition:background .3s;position:fixed;top:0;left:0;right:0}.logo-img{width:28px;height:28px}.logo-title{font-size:1.3rem}.logo-sub,.main-nav{display:none}.header-actions{gap:6px;margin-left:auto}.hdr-btn-mobile-hide{display:none}.hdr-btn{padding:0 10px;font-size:.72rem}.header-actions .hdr-btn:not(.nav-trigger):not(.hdr-btn-mobile-hide){letter-spacing:0;font-size:0}.header-actions .hdr-btn:not(.nav-trigger):not(.hdr-btn-mobile-hide):after{content:"入閣";letter-spacing:.1em;font-size:.72rem}.modal-overlay{align-items:flex-end}.modal{width:100%;max-width:100%;padding:28px 20px calc(24px + env(safe-area-inset-bottom));border-radius:2px 2px 0 0;max-height:90vh;animation:.3s both slideUpFromBottom;overflow-y:auto}.modal:before{border-radius:2px 2px 0 0}}.de2-confirm{z-index:5;border:1px solid rgba(var(--wx-huo), .45);opacity:0;pointer-events:none;align-items:center;gap:14px;transition:opacity .22s;display:flex;position:absolute;inset:0}.de2-confirm-actions{flex-shrink:0;gap:8px;display:flex}.back-btn{font-size:var(--text-sm);letter-spacing:.06em;color:var(--text-muted);border:1px solid var(--border-faint);cursor:pointer;transition:all var(--dur) var(--ease);background:0 0;align-items:center;gap:6px;padding:8px 14px;text-decoration:none;display:inline-flex}.back-btn:hover{color:var(--brand-primary);border-color:var(--border-strong)}.back-btn svg{flex-shrink:0}.more-row{text-align:center;margin-top:18px}.more-btn{font-size:var(--text-sm);letter-spacing:.16em;color:var(--brand-secondary);border:1px solid var(--border);cursor:pointer;transition:all var(--dur) var(--ease);background:0 0;padding:12px 30px;text-decoration:none;display:inline-block}.more-btn:hover{border-color:var(--border-strong);color:var(--brand-primary);background:var(--brand-hover)}.scroll-to-top{z-index:100;background:rgba(var(--surface-deep-rgb), .85);border:1px solid var(--border);width:40px;height:40px;color:var(--text-muted);cursor:pointer;opacity:0;pointer-events:none;transition:all var(--dur) var(--ease);justify-content:center;align-items:center;display:flex;position:fixed;bottom:30px;right:20px;transform:translateY(8px)}.scroll-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.scroll-to-top:hover{color:var(--brand-primary);border-color:var(--border-strong)}.arch-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:18px;display:flex}.arch-title{color:var(--brand-primary);letter-spacing:.16em;text-shadow:0 0 24px rgba(var(--brand-rgb), .22);font-family:LXGW WenKai TC,cursive;font-size:1.5rem}.arch-btn{letter-spacing:.2em;color:rgba(var(--brand-rgb), .65);border:1px solid rgba(var(--brand-rgb), .2);cursor:pointer;white-space:nowrap;font-size:.68rem;font-family:var(--font-serif);background:0 0;padding:6px 12px;transition:all .2s}.arch-btn:hover{border-color:rgba(var(--brand-rgb), .5);color:var(--brand-primary)}.pager-wrap{justify-content:center;margin-top:22px;display:flex}.pager{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.pg-btn{min-width:34px;height:34px;font-size:var(--text-xs);letter-spacing:.06em;color:var(--text-body);border:1px solid var(--border-faint);cursor:pointer;transition:all var(--dur) var(--ease);font-family:var(--font-serif);background:0 0;justify-content:center;align-items:center;padding:0 10px;display:flex}.pg-btn:hover:not(:disabled):not(.active){border-color:var(--border-strong);color:var(--brand-primary)}.pg-btn.active{border-color:var(--brand-primary);color:var(--brand-primary);background:var(--brand-active);box-shadow:var(--glow-inset);cursor:default}.pg-btn:disabled{opacity:.32;cursor:not-allowed}.pg-ellip{font-size:var(--text-xs);color:var(--text-faint);padding:0 2px}.pg-edge{font-family:var(--font-sans);letter-spacing:.04em}.list-loading{text-align:center;font-size:var(--text-sm);color:var(--text-muted);letter-spacing:.1em;padding:20px}.list-error{text-align:center;font-size:var(--text-sm);color:var(--danger);letter-spacing:.06em;padding:20px}.scroll-trigger{height:1px}[data-theme=light] .logo-title{text-shadow:none}[data-theme=light] .modal-overlay{background:#261c0e66}@media (max-width:640px){[data-theme=light] header{border-bottom:1px solid var(--border);background:#f8f3e9eb}.pager-wrap{display:none}.scroll-to-top{width:36px;height:36px;bottom:20px;right:16px}.back-btn{font-size:var(--text-xs);padding:10px 14px}.arch-title{font-size:1.2rem}}
