:root{--bg-deep: #06060c;--bg: #0a0a12;--bg-card: #0f0f1a;--bg-card2: #151520;--bg-card3: #1a1a28;--gold: #c9a84c;--gold-dim: #7a6830;--gold-bright: #f0d060;--gold-glow: rgba(201, 168, 76, .15);--gold-hover: #e0c050;--text: #e0d8c8;--text-dim: #8a7e6e;--text-muted: #5e5648;--placeholder: #6e6458;--red: #c0392b;--red-soft: #e74c3c;--green: #27ae60;--green-soft: #2ecc71;--blue: #3498db;--border: #1e1e2e;--border-light: #2e2e40;--border-input: #3a3a50;--radius: 10px;--radius-lg: 14px;--font-serif: "Crimson Pro", "Cormorant Garamond", "Noto Serif TC", Georgia, serif;--font-han: "Noto Serif TC", serif;--shadow-soft: 0 2px 12px rgba(0,0,0,.3);--shadow-gold: 0 0 20px rgba(201, 168, 76, .12);--transition: .25s ease;--section-gap: 20px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-serif);background:var(--bg-deep);color:var(--text);min-height:100vh;line-height:1.7;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 20%,rgba(201,168,76,.03) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(201,168,76,.02) 0%,transparent 50%);pointer-events:none;z-index:0}#root{position:relative;z-index:1}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}h1,h2,h3,h4{font-weight:600;color:var(--gold);letter-spacing:.05em}a{color:var(--gold);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--gold-bright)}input,select,textarea{width:100%;padding:11px 14px;background:var(--bg-card2);border:1px solid var(--border-input);color:var(--text);border-radius:var(--radius);font-size:.95rem;font-family:var(--font-serif);outline:none;transition:border-color var(--transition),box-shadow var(--transition)}input:focus,select:focus,textarea:focus{border-color:var(--gold-dim);box-shadow:0 0 0 2px var(--gold-glow)}input::placeholder,textarea::placeholder{color:var(--placeholder)}input:disabled,textarea:disabled{opacity:.5;cursor:not-allowed}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238a7e6e' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}select:hover{border-color:var(--gold-dim)}textarea{resize:vertical;min-height:60px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border:none;border-radius:var(--radius);font-size:.95rem;font-family:var(--font-serif);font-weight:600;cursor:pointer;transition:all var(--transition);letter-spacing:.05em}.btn-primary{background:var(--gold);color:var(--bg-deep)}.btn-primary:hover:not(:disabled){background:var(--gold-hover);box-shadow:0 0 24px #c9a84c33;transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--gold-dim);border:1px solid var(--gold-dim)}.btn-outline:hover:not(:disabled){color:var(--gold-bright);border-color:var(--gold);box-shadow:0 0 16px #c9a84c1a}.btn-ghost{background:transparent;color:var(--text-dim);border:1px solid var(--border-light)}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--text-dim)}.btn:disabled{opacity:.35;cursor:not-allowed;transform:none!important}.btn-full{width:100%}.container{max-width:600px;margin:0 auto;padding:0 20px}.page{min-height:100vh;padding-bottom:40px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInSlow{0%{opacity:0}to{opacity:1}}@keyframes pulseGold{0%,to{box-shadow:0 0 #c9a84c4d}50%{box-shadow:0 0 16px 4px #c9a84c26}}@keyframes breathe{0%,to{opacity:.6}50%{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .4s ease forwards}.animate-slide-up{animation:slideUp .5s ease forwards}.stagger>*{opacity:0;animation:fadeIn .4s ease forwards}.stagger>*:nth-child(1){animation-delay:.05s}.stagger>*:nth-child(2){animation-delay:.1s}.stagger>*:nth-child(3){animation-delay:.15s}.stagger>*:nth-child(4){animation-delay:.2s}.stagger>*:nth-child(5){animation-delay:.25s}.stagger>*:nth-child(6){animation-delay:.3s}.stagger>*:nth-child(7){animation-delay:.35s}.stagger>*:nth-child(8){animation-delay:.4s}.glass-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#06060c8c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:var(--radius);cursor:pointer;transition:background var(--transition)}.glass-overlay:hover{background:#06060c73}.glass-box{text-align:center;padding:10px 20px;background:#151520d9;border-radius:var(--radius);border:1px solid var(--border-light);box-shadow:0 4px 20px #0000004d}@media(max-width:360px){html{font-size:14px}.container{padding:0 12px}}@media(max-width:480px){.container{padding:0 14px}html{font-size:15px}}@media(min-width:640px){.container{max-width:680px;padding:0 24px}:root{--section-gap: 24px}}@media(min-width:900px){html{font-size:17px}.container{max-width:780px;padding:0 32px}:root{--section-gap: 28px}}@media(min-width:1200px){.container{max-width:840px}}.ai-section{margin-top:var(--section-gap, 1.5rem);padding:1.5rem;background:linear-gradient(135deg,#c9a84c0f,#06060ccc);border:1px solid rgba(201,168,76,.2);border-radius:12px}.ai-section.ai-locked{opacity:.6;text-align:center;padding:2rem 1.5rem}.ai-title{font-family:"Noto Serif TC",Crimson Pro,serif;color:var(--gold, #c9a84c);font-size:1.1rem;margin:0 0 .3rem}.ai-subtitle{color:var(--text-muted, #8a8090);font-size:.78rem;margin:0 0 1.2rem}.ai-textarea{width:100%;padding:.8rem 1rem;background:#06060c99;border:1px solid var(--border-input, #3a3a50);border-radius:8px;color:var(--text, #e8e0d4);font-family:Crimson Pro,serif;font-size:.88rem;resize:vertical;min-height:80px;transition:border-color .2s;box-sizing:border-box}.ai-textarea:focus{outline:none;border-color:var(--gold, #c9a84c)}.ai-textarea::placeholder{color:var(--placeholder, #6e6458)}.ai-input-footer{display:flex;justify-content:space-between;margin:.4rem 0 .8rem;font-size:.72rem}.ai-quota{color:var(--gold, #c9a84c)}.ai-charcount{color:var(--text-muted, #8a8090)}.ai-submit-btn{width:100%;padding:.75rem;background:linear-gradient(135deg,var(--gold, #c9a84c) 0%,#a88a3c 100%);border:none;border-radius:8px;color:#06060c;font-family:"Noto Serif TC",Crimson Pro,serif;font-size:.92rem;font-weight:600;cursor:pointer;transition:all .2s}.ai-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--gold-hover, #e0c050) 0%,#c9a84c 100%);transform:translateY(-1px);box-shadow:0 4px 12px #c9a84c4d}.ai-submit-btn:disabled{opacity:.5;cursor:not-allowed}.ai-error{color:#e05050;font-size:.8rem;margin:.5rem 0;text-align:center}.ai-result{margin-top:.5rem}.ai-result-content{line-height:1.7;font-size:.88rem;color:var(--text, #e8e0d4)}.ai-result-content h3.ai-heading,.ai-result-content h4.ai-heading{font-family:"Noto Serif TC",Crimson Pro,serif;color:var(--gold, #c9a84c);margin:1.2rem 0 .5rem;font-size:.95rem;border-bottom:1px solid rgba(201,168,76,.15);padding-bottom:.3rem}.ai-result-content h4.ai-heading:first-child,.ai-result-content h3.ai-heading:first-child{margin-top:0}.ai-result-content p{margin:.5rem 0}.ai-result-content strong{color:var(--gold, #c9a84c)}.ai-cursor{display:inline-block;animation:blink .8s infinite;color:var(--gold, #c9a84c);font-size:1rem}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.ai-usage-info{margin-top:1rem;padding-top:.5rem;border-top:1px solid rgba(201,168,76,.1);font-size:.68rem;color:var(--text-muted, #8a8090);text-align:right}.ai-retry-btn{display:block;margin:1rem auto 0;padding:.5rem 1.5rem;background:transparent;border:1px solid var(--gold, #c9a84c);border-radius:6px;color:var(--gold, #c9a84c);font-family:Crimson Pro,serif;font-size:.82rem;cursor:pointer;transition:all .2s}.ai-retry-btn:hover{background:#c9a84c1a}
