:root{--ps-navy: #1a2a5e;--ps-navy-light: #2d4185;--ps-navy-dark: #0f1a3d;--ps-navy-deep: #0a1128;--ps-gold: #c5a847;--ps-gold-light: #d4bc6a;--ps-gold-muted: #b8a04a;--color-primary: var(--ps-navy);--color-primary-light: var(--ps-navy-light);--color-primary-dark: var(--ps-navy-dark);--color-accent: var(--ps-gold);--color-accent-light: var(--ps-gold-light);--color-success: #1b8a4a;--color-warning: #e07b00;--color-danger: #c42b2b;--color-bg: #f7f8fb;--color-surface: #ffffff;--color-surface-raised: #ffffff;--color-border: #e2e5ee;--color-border-light: #eef0f5;--color-text: #111827;--color-text-secondary: #4b5563;--color-text-muted: #9ca3af;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius: 8px;--radius-lg: 14px;--radius-xl: 20px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08), 0 1px 3px rgba(0, 0, 0, .04);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .1), 0 4px 12px rgba(0, 0, 0, .04);--shadow-glow: 0 0 30px rgba(26, 42, 94, .08);--transition-fast: .12s ease;--transition: .2s ease;--transition-slow: .35s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth}::selection{background:#1a2a5e26;color:var(--ps-navy-dark)}.app-container{max-width:1440px;margin:0 auto;padding:var(--spacing-lg) var(--spacing-xl);min-height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;background:linear-gradient(135deg,var(--ps-navy-deep) 0%,var(--ps-navy) 20%,var(--ps-navy-light) 40%,var(--ps-navy) 60%,var(--ps-navy-deep) 80%,var(--ps-navy) 100%);background-size:300% 300%;animation:headerGradientShift 15s ease 2;color:#fff;border-radius:var(--radius-xl);margin-bottom:var(--spacing-xl);box-shadow:var(--shadow-lg);position:relative}.app-header:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 20%,rgba(197,168,71,.08) 0%,transparent 50%),radial-gradient(circle at 15% 80%,rgba(255,255,255,.03) 0%,transparent 40%);pointer-events:none}.app-header:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(197,168,71,.04) 45%,rgba(255,255,255,.06) 50%,rgba(197,168,71,.04) 55%,transparent 60%);background-size:200% 100%;animation:headerSheen 8s ease-in-out 4;pointer-events:none}.app-header>*{position:relative;z-index:1}.app-header h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.app-header .subtitle{font-size:.875rem;opacity:.8;font-weight:400;margin-top:2px}.header-actions{display:flex;gap:var(--spacing-sm);align-items:center}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow);margin-bottom:var(--spacing-lg);transition:box-shadow var(--transition)}.card:hover{box-shadow:var(--shadow-md)}.chart-copy-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid rgba(26,42,94,.18);border-radius:14px;background:#1a2a5e0f;color:var(--ps-navy, #1a2a5e);font-family:inherit;font-size:.65rem;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s;white-space:nowrap;flex-shrink:0;line-height:1.4}.chart-copy-btn:hover{background:#1a2a5e1f;box-shadow:0 1px 6px #0000001a}.chart-copy-btn:active{background:#1a2a5e38;transform:scale(.96);box-shadow:none}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-light)}.card-header h2{font-size:1.125rem;font-weight:700;color:var(--color-primary);letter-spacing:-.01em}.card-header h3{font-size:1rem;font-weight:750;color:var(--color-text);letter-spacing:-.01em}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary)}.form-group input,.form-group select{width:100%;box-sizing:border-box;padding:10px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius);font-size:.9375rem;font-family:inherit;color:var(--color-text);background:var(--color-surface);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.form-group input:hover,.form-group select:hover{border-color:#c0c5d4}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--ps-navy-light);box-shadow:0 0 0 3px #1a2a5e1a;background:#fafbff}.form-group input[type=number]{font-variant-numeric:tabular-nums}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:9px 18px;border:1.5px solid transparent;border-radius:var(--radius);font-size:.8125rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all var(--transition);white-space:nowrap;letter-spacing:.01em}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-light);box-shadow:0 2px 8px #1a2a5e40}.btn-accent{background:linear-gradient(135deg,var(--ps-gold) 0%,var(--ps-gold-light) 100%);color:var(--ps-navy-dark);font-weight:700;border:1.5px solid rgba(197,168,71,.3)}.btn-accent:hover{background:linear-gradient(135deg,var(--ps-gold-light) 0%,var(--ps-gold) 100%);box-shadow:0 2px 12px #c5a8474d}.btn-outline{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline:hover{background:var(--color-primary);color:#fff}.btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:var(--color-border)}.btn-ghost:hover{background:var(--color-bg);border-color:var(--color-text-muted);color:var(--color-text)}.btn-danger{background:transparent;color:var(--color-danger);border-color:var(--color-danger)}.btn-danger:hover{background:var(--color-danger);color:#fff}.btn-sm{padding:5px 12px;font-size:.75rem}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:1rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--spacing-md)}.metric-card{background:var(--color-bg);border-radius:var(--radius);padding:var(--spacing-md);text-align:center;border:1px solid var(--color-border-light);transition:box-shadow var(--transition),transform var(--transition)}.metric-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.metric-card .metric-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:var(--spacing-xs)}.metric-card .metric-value{font-size:1.5rem;font-weight:800;color:var(--color-primary);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.metric-card .metric-sub{font-size:.75rem;color:var(--color-text-secondary);margin-top:2px}.metric-card.positive .metric-value{color:var(--color-success)}.metric-card.warning .metric-value{color:var(--color-warning)}.metric-card.negative .metric-value{color:var(--color-danger)}.metric-card.accent .metric-value{color:var(--color-accent)}.price-tier-row{display:grid;grid-template-columns:140px repeat(4,1fr);gap:var(--spacing-md);align-items:center;padding:var(--spacing-md) 0;border-bottom:1px solid var(--color-border-light);transition:background var(--transition-fast)}.price-tier-row:hover{background:#1a2a5e04}.price-tier-row:last-child{border-bottom:none}.price-tier-row .tier-label{font-weight:700;font-size:.875rem;color:var(--color-text)}.price-tier-row .tier-label.everyday{color:var(--color-primary)}.price-tier-row .tier-label.tpr{color:var(--color-warning)}.price-tier-row .tier-label.feature{color:var(--color-danger)}.section-tabs{display:flex;gap:2px;background:var(--color-border-light);border-radius:12px;padding:3px;margin-bottom:var(--spacing-lg);box-shadow:inset 0 1px 2px #0000000a}.section-tab{flex:1;padding:10px var(--spacing-md);background:transparent;border:none;border-radius:10px;font-size:.8125rem;font-weight:600;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition);font-family:inherit;letter-spacing:.01em}.section-tab:hover{color:var(--color-text-secondary);background:#ffffff80}.section-tab.active{background:var(--color-surface);color:var(--color-primary);font-weight:700;box-shadow:var(--shadow)}.section-tab:disabled{opacity:.4;cursor:not-allowed}.scenario-tabs{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.scenario-tab{padding:8px 16px;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:10px;font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);font-family:inherit;display:flex;align-items:center;gap:var(--spacing-sm)}.scenario-tab:hover{border-color:var(--ps-navy-light);color:var(--color-text);box-shadow:var(--shadow-xs)}.scenario-tab.active{background:linear-gradient(135deg,var(--ps-navy) 0%,var(--ps-navy-light) 100%);color:#fff;border-color:var(--ps-navy);box-shadow:0 2px 8px #1a2a5e33}.scenario-tab .remove-btn{background:none;border:none;cursor:pointer;opacity:.5;font-size:.7rem;color:inherit;padding:0 2px;transition:opacity var(--transition-fast)}.scenario-tab .remove-btn:hover{opacity:1}.upload-area{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-2xl);text-align:center;cursor:pointer;transition:all var(--transition)}.upload-area:hover{border-color:var(--ps-navy-light);background:#1a2a5e05;box-shadow:var(--shadow-glow)}.upload-area .upload-icon{font-size:2.5rem;margin-bottom:var(--spacing-md)}.upload-area .upload-text{font-size:.9375rem;color:var(--color-text-secondary)}.upload-area .upload-text strong{color:var(--color-primary)}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--spacing-lg)}.privacy-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:4px 12px;background:#1b8a4a1f;color:#1b8a4a;border-radius:20px;font-size:.7rem;font-weight:700;letter-spacing:.02em}.tooltip-wrapper{position:relative;display:inline-flex;align-items:center;gap:4px;cursor:help}.tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--color-border);color:var(--color-text-secondary);font-size:.55rem;font-weight:800;flex-shrink:0;cursor:help;transition:all var(--transition-fast)}.tooltip-icon:hover{background:var(--ps-navy-light);color:#fff;box-shadow:0 0 0 3px #1a2a5e1a}.tooltip-wrapper .tooltip-text{visibility:hidden;opacity:0;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);background:var(--ps-navy-dark);color:#fff;padding:12px 16px;border-radius:var(--radius);font-size:.75rem;font-weight:400;line-height:1.55;width:280px;max-width:300px;z-index:100;box-shadow:var(--shadow-lg);pointer-events:none;transition:opacity var(--transition-fast),visibility var(--transition-fast);text-transform:none;letter-spacing:normal}.tooltip-wrapper:hover .tooltip-text{visibility:visible;opacity:1}.tooltip-wrapper .tooltip-text:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--ps-navy-dark)}.card-header .tooltip-wrapper .tooltip-text{left:auto;right:-8px;transform:none}.card-header .tooltip-wrapper .tooltip-text:after{left:auto;right:16px;transform:none}.tooltip-wide .tooltip-text{width:360px;max-width:min(360px,calc(100vw - 32px))}.input-subgroup{margin-bottom:var(--spacing-lg)}.input-subgroup:last-child{margin-bottom:0}.input-subgroup-header{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border-light);display:flex;align-items:center;gap:6px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}:focus-visible{outline:2px solid var(--ps-navy-light);outline-offset:2px}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{opacity:.3}input[type=number]:hover::-webkit-inner-spin-button,input[type=number]:hover::-webkit-outer-spin-button{opacity:.7}input::placeholder{color:#bbb;font-weight:400}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.ai-shimmer{background-size:200% 100%!important;animation:shimmer 2s linear infinite}@keyframes headerGradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes headerSheen{0%,to{background-position:200% center}50%{background-position:-200% center}}.playbook-sku-card{transition:box-shadow var(--transition)}.playbook-sku-card:hover{box-shadow:var(--shadow-md)}.playbook-sku-summary:hover{background:#1a2a5e05}.playbook-form-section{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-light)}.playbook-form-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.playbook-form-section-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.playbook-segment-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.65rem;font-weight:700;letter-spacing:.03em;background:#1a2a5e12;color:var(--ps-navy)}.playbook-total-row td{background:#1a2a5e08}@media(display-mode:standalone){body{background:#0a1128}}@media(max-width:768px){.app-container{padding:var(--spacing-md)}.app-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md);padding:16px 20px;border-radius:var(--radius-lg)}.form-grid,.metrics-grid{grid-template-columns:repeat(2,1fr)}.price-tier-row{grid-template-columns:1fr 1fr}.charts-grid{grid-template-columns:1fr}.section-tabs{border-radius:var(--radius)}}@media(max-width:480px){.form-grid,.metrics-grid{grid-template-columns:1fr}}@media(max-width:600px){.tooltip-wrapper .tooltip-text{bottom:auto;top:calc(100% + 8px);left:0;right:auto;transform:none;width:calc(100vw - 48px);max-width:calc(100vw - 48px)}.tooltip-wrapper .tooltip-text:after{inset:auto auto 100% 16px;transform:none;border-top-color:transparent;border-bottom-color:var(--ps-navy-dark)}.app-container{padding:var(--spacing-sm)}.app-header{flex-direction:row;align-items:center;padding:8px 12px;gap:var(--spacing-sm);border-radius:var(--radius)}.card{padding:var(--spacing-md);margin-bottom:var(--spacing-md);border-radius:var(--radius)}.card-header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm)}.card-header h2{font-size:1rem}.card-header h3{font-size:.9375rem}.form-grid,.metrics-grid{grid-template-columns:1fr}.price-tier-row{grid-template-columns:1fr;gap:var(--spacing-sm)}.section-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;gap:1px;border-radius:var(--radius);padding:2px;flex-wrap:nowrap}.section-tab{padding:8px var(--spacing-md);font-size:.75rem;flex-shrink:0;min-width:max-content}.scenario-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.scenario-tab{padding:6px 12px;font-size:.75rem;flex-shrink:0}.btn{min-height:44px}.btn-sm{min-height:36px}.form-group input,.form-group select{min-height:44px;font-size:16px}.tooltip-wrapper .tooltip-text{bottom:auto;top:calc(100% + 8px);left:0;transform:none;width:calc(100vw - 48px);max-width:calc(100vw - 48px)}.tooltip-wrapper .tooltip-text:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--ps-navy-dark)}.charts-grid{grid-template-columns:1fr}.upload-area{padding:var(--spacing-lg)}::-webkit-scrollbar{width:4px;height:4px}}@media(max-width:380px){.app-container{padding:var(--spacing-xs)}.card{padding:var(--spacing-sm) var(--spacing-md)}}@media(max-height:500px)and (orientation:landscape)and (pointer:coarse){.app-container{padding:var(--spacing-sm)}.app-header{flex-direction:row;align-items:center;padding:6px 12px;gap:var(--spacing-xs)}.card{padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-sm)}.card-header{margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs)}.form-group input,.form-group select{min-height:36px;font-size:16px}}
