:root{--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--bg-app:#fff;--bg-card:#fff;--color-primary:#0d9488;--color-primary-light:#5eead4;--color-primary-dark:#0f766e;--color-secondary:#334155;--color-accent:#0f766e;--color-accent-light:#99f6e4;--color-text:#1e293b;--color-text-muted:#475569;--color-border:#e2e8f0;--color-danger:#dc2626;--color-success:#16a34a;--gradient-primary:linear-gradient(135deg, #0d9488, #14b8a6);--gradient-hero:linear-gradient(135deg, #0d9488 0%, #14b8a6 50%, #0f766e 100%);--gradient-card:linear-gradient(135deg, #0d94880a, #1e293b0f);--gradient-gold:linear-gradient(135deg, #1e293b, #334155);--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 16px #0000000f;--shadow-lg:0 8px 32px #00000014;--shadow-xl:0 20px 60px #0000001a;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:22px;--radius-2xl:28px;font-family:var(--font-sans);background-color:var(--bg-app);color:var(--color-text);line-height:1.7}.dark-mode{--bg-app:#0f172a;--bg-card:#1e293b;--color-primary:#5eead4;--color-primary-light:#99f6e4;--color-primary-dark:#14b8a6;--color-secondary:#94a3b8;--color-accent:#5eead4;--color-text:#f1f5f9;--color-text-muted:#cbd5e1;--color-border:#334155;--gradient-primary:linear-gradient(135deg, #5eead4, #14b8a6);--gradient-hero:linear-gradient(135deg, #0d9488 0%, #14b8a6 50%, #0e7490 100%);--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 16px #0000004d;--shadow-lg:0 8px 32px #0006}body{background:var(--bg-app);color:var(--color-text);background-image:radial-gradient(at 20%,#0d94880d 0%,#0000 50%),radial-gradient(at 80% 20%,#1e293b0a 0%,#0000 50%);min-height:100vh;margin:0;padding:0;font-size:20px;transition:background-color .4s,color .4s}*{box-sizing:border-box}a,button,input,select,textarea,[role=button],.feature-card,.interactive-item{transition:color .25s,background-color .25s,border-color .25s,box-shadow .25s,transform .25s}button,input,select,textarea,.btn,.senior-touch-target{border-radius:var(--radius-md);min-height:48px}.senior-touch-target{min-width:48px}:focus-visible{outline:3px solid var(--color-primary-light);outline-offset:2px;border-radius:8px}.app-container{flex-direction:column;max-width:900px;min-height:100vh;margin:0 auto;padding:16px 20px;display:flex;position:relative}.gradient-text{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:10px;min-width:52px;min-height:52px;padding:14px 28px;font-family:inherit;font-size:18px;font-weight:700;text-decoration:none;transition:all .25s;display:inline-flex;position:relative;overflow:hidden}.btn-raised{box-shadow:var(--shadow-lg);transition:transform .25s,box-shadow .25s;transform:translateY(0)}.btn-raised:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.btn:active{transform:scale(.96)}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px #0d948852}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px #0d948866}.btn-secondary{color:#fff;background:linear-gradient(135deg,#1e293b,#334155);box-shadow:0 4px 15px #1e293b4d}.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 10px 30px #1e293b6b}.btn-accent{color:#fff;background:linear-gradient(135deg,#0f766e,#14b8a6);box-shadow:0 4px 15px #0f766e4d}.btn-accent:hover{transform:translateY(-2px);box-shadow:0 10px 30px #0f766e6b}.btn-outline{border:2px solid var(--color-primary);color:var(--color-primary);background:0 0}.btn-outline:hover{background:#0d948814;transform:translateY(-2px)}.btn-circle{border-radius:50%;width:56px;height:56px;padding:0}.cards-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-bottom:28px;display:grid}.feature-card{background:var(--bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;min-height:200px;color:inherit;box-shadow:var(--shadow-sm);flex-direction:column;justify-content:space-between;padding:28px;text-decoration:none;transition:all .3s;display:flex;position:relative;overflow:hidden}.feature-card:before{content:"";background:var(--gradient-primary);opacity:0;height:4px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.feature-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-primary-light);transform:translateY(-6px)}.feature-card:hover:before{opacity:1}.card-icon{background:var(--gradient-card);border-radius:var(--radius-md);width:64px;height:64px;color:var(--color-primary);justify-content:center;align-items:center;margin-bottom:16px;font-size:36px;display:flex}.feature-card h2{margin:0 0 8px;font-size:24px;font-weight:700}.feature-card p{color:var(--color-text-muted);margin:0;font-size:17px;line-height:1.5}.greeting-banner{background:var(--gradient-hero);color:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);margin-bottom:32px;padding:32px 36px;position:relative;overflow:hidden}.greeting-banner:before{content:"";background:#ffffff0d;border-radius:50%;width:300px;height:300px;position:absolute;top:-50%;right:-20%}.greeting-banner:after{content:"";background:#ffffff08;border-radius:50%;width:200px;height:200px;position:absolute;bottom:-30%;left:-10%}.greeting-banner h2{z-index:1;margin:0 0 8px;font-size:32px;font-weight:800;position:relative}.greeting-banner p{opacity:.92;z-index:1;margin:0;font-size:20px;position:relative}.chat-container{background:var(--bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);height:550px;box-shadow:var(--shadow-md);flex-direction:column;display:flex;overflow:hidden}.chat-header{background:var(--gradient-primary);color:#fff;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.chat-messages{flex-direction:column;flex:1;gap:16px;padding:20px;display:flex;overflow-y:auto}.chat-bubble{border-radius:20px;max-width:80%;padding:16px 20px;font-size:18px;line-height:1.5}.chat-bubble-ai{background:var(--gradient-card);color:var(--color-text);border:1px solid var(--color-border);border-bottom-left-radius:4px;align-self:flex-start}.chat-bubble-user{background:var(--gradient-primary);color:#fff;border-bottom-right-radius:4px;align-self:flex-end;box-shadow:0 4px 12px #7c3aed33}.chat-input-bar{border-top:1px solid var(--color-border);background:var(--bg-app);align-items:center;gap:12px;padding:16px;display:flex}.input-text{border-radius:var(--radius-sm);border:2px solid var(--color-border);background:var(--bg-card);min-height:48px;color:var(--color-text);flex:1;padding:10px 16px;font-family:inherit;font-size:18px;transition:border-color .2s}.input-text:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #7c3aed1a}.detail-page{background:var(--bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);margin-bottom:24px;padding:32px}.back-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}.back-header h2{margin:0;font-size:28px;font-weight:800}.tips-box{border-radius:var(--radius-md);background:linear-gradient(135deg,#f59e0b14,#fbbf240d);border:1px solid #f59e0b4d;margin-bottom:24px;padding:20px}.tips-box h3{color:var(--color-text);margin:0 0 8px;font-size:20px}.interactive-item{border:1px solid var(--color-border);background:var(--bg-app);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:16px 20px;transition:all .2s;display:flex}.interactive-item:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-sm)}.item-taken{border-color:var(--color-success);background:linear-gradient(135deg,#0596690f,#10b9810a)}.form-group{margin-bottom:20px}.form-group label{margin-bottom:8px;font-weight:700;display:block}.form-control{border-radius:var(--radius-sm);border:2px solid var(--color-border);background:var(--bg-card);width:100%;min-height:48px;color:var(--color-text);padding:10px 16px;font-family:inherit;font-size:18px;transition:border-color .2s}.form-control:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #7c3aed1a}.footer{text-align:center;border-top:1px solid var(--color-border);color:var(--color-text-muted);margin-top:auto;padding:28px 0;font-size:16px}.premium-overlay{border:1px solid var(--color-accent);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#7c3aed0a,#a855f70a);margin-bottom:24px;padding:28px}.gold-banner{background:linear-gradient(135deg,#d97706 0%,#f59e0b 50%,#d97706 100%)!important}.gold-banner:before{background:#ffffff1a!important}.gold-overlay{background:linear-gradient(135deg,#d977060f,#f59e0b0f)!important;border-color:#f59e0b4d!important}.gold-badge{color:#fff;background:linear-gradient(135deg,#d97706,#f59e0b);border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:14px;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #d977064d}.gold-border{border-color:#f59e0b4d!important}.gold-border:hover{border-color:#f59e0b99!important}.high-contrast{--bg-app:#fff!important;--bg-card:#fff!important;--color-primary:#00f!important;--color-secondary:green!important;--color-accent:#f90!important;--color-text:#000!important;--color-text-muted:#111!important;--color-border:#000!important}.high-contrast.dark-mode{--bg-app:#000!important;--bg-card:#000!important;--color-primary:#55f!important;--color-secondary:#5f5!important;--color-accent:#ff5!important;--color-text:#fff!important;--color-text-muted:#eee!important;--color-border:#fff!important}body.font-extra-large{font-size:22px!important}body.font-large{font-size:19px!important}body.font-normal{font-size:17px!important}.glass-card{-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);background:#ffffffb3;border:1px solid #ffffff4d;padding:32px}.dark-mode .glass-card{background:#1a1035b3;border-color:#ffffff0d}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #7c3aed33}50%{box-shadow:0 0 40px #7c3aed66}}.pulse-glow{animation:3s ease-in-out infinite pulse-glow}.badge{border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:14px;font-weight:600;display:inline-flex}.badge-primary{color:var(--color-primary);background:#7c3aed1a}.badge-success{color:var(--color-success);background:#0596691a}.section-divider{background:linear-gradient(90deg, transparent, var(--color-border), transparent);height:1px;margin:32px 0}
