:root{--color-primary: #4f46e5;--color-primary-hover: #4338ca;--color-primary-light: #eef2ff;--color-primary-lighter: #c7d2fe;--color-primary-disabled: #a5b4fc;--color-primary-ring: rgba(79, 70, 229, .15);--color-text: #1a1a1a;--color-text-secondary: #374151;--color-text-muted: #6b7280;--color-text-faint: #9ca3af;--color-bg: #f5f5f5;--color-bg-card: #ffffff;--color-bg-subtle: #f9fafb;--color-bg-muted: #f3f4f6;--color-border: #d1d5db;--color-border-light: #e5e7eb;--color-border-faint: #f3f4f6;--color-success: #059669;--color-success-bg: #f0fdf4;--color-success-border: #bbf7d0;--color-success-text: #065f46;--color-success-light: #d1fae5;--color-success-dark: #166534;--color-error: #dc2626;--color-error-bg: #fef2f2;--color-error-border: #fecaca;--color-error-text: #991b1b;--color-error-light: #fee2e2;--color-error-disabled: #fca5a5;--color-warning: #d97706;--color-warning-bg: #fffbeb;--color-warning-border: #fde68a;--color-warning-text: #92400e;--color-warning-light: #fef3c7;--color-info: #1e40af;--color-info-bg: #eff6ff;--color-info-border: #bfdbfe;--color-info-text: #1e40af;--color-info-light: #dbeafe;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", monospace;--text-2xs: .55rem;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.6;--space-xs: .25rem;--space-sm: .5rem;--space-md: .75rem;--space-lg: 1rem;--space-xl: 1.5rem;--space-2xl: 2rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 1px 3px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 60px rgba(0, 0, 0, .15);--focus-ring: 0 0 0 2px var(--color-primary-ring);--transition-fast: .15s ease;--transition-normal: .2s ease;--overlay-bg: rgba(0, 0, 0, .4);--z-dropdown: 50;--z-modal: 1000}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);color:var(--color-text);line-height:var(--leading-normal)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-semibold);font-family:inherit;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background var(--transition-fast),border-color var(--transition-fast)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;border-color:transparent}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:disabled{background:var(--color-primary-disabled);opacity:1}.btn-secondary{background:var(--color-bg-muted);color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-border-light)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-danger:disabled{background:var(--color-error-disabled);opacity:1}.btn-outline{border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-secondary)}.btn-outline:hover:not(:disabled){background:var(--color-bg-subtle)}.btn-text{background:none;border:none;color:var(--color-primary);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;padding:0;text-decoration:underline}.btn-text:disabled{color:var(--color-text-faint);cursor:not-allowed;text-decoration:none}.btn-sm{padding:var(--space-xs) .625rem;font-size:var(--text-sm)}.btn-large{padding:.6rem var(--space-2xl);font-size:var(--text-md);width:100%;text-align:center}.btn-group{display:flex;gap:var(--space-sm);flex-wrap:wrap}.field{margin-bottom:var(--space-lg)}.field label{display:block;font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.field input,.field textarea,.field select{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);font-family:inherit;background:var(--color-bg-card);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.field input:disabled,.field textarea:disabled,.field select:disabled{background:var(--color-bg-subtle);color:var(--color-text-faint);cursor:not-allowed}.field textarea{min-height:80px;resize:vertical}.field textarea.auto-textarea{min-height:0;resize:none;overflow:hidden}.field select{cursor:pointer}.field-row{display:flex;gap:var(--space-lg)}.field-row .field{flex:1}.field-hint{display:block;font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-xs)}.field-error{display:block;font-size:var(--text-sm);color:var(--color-error);margin-top:var(--space-xs)}.field.field-invalid input,.field.field-invalid textarea,.field.field-invalid select{border-color:var(--color-error);box-shadow:0 0 0 1px var(--color-error)}.field.field-invalid label{color:var(--color-error)}.collapsible-group{margin-bottom:var(--space-lg);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);overflow:hidden}.collapsible-group-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-lg);background:var(--color-bg-subtle);border:none;cursor:pointer;font-size:var(--text-base);font-weight:var(--font-semibold);font-family:inherit}.collapsible-group-body{padding:var(--space-sm)}.alert{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);font-size:var(--text-base);margin-bottom:var(--space-lg);line-height:var(--leading-normal)}.alert-success{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success-dark)}.alert-error{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error-text)}.alert-info{background:var(--color-info-bg);border:1px solid var(--color-info-border);color:var(--color-info-text)}.alert-warning{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning-text)}.banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);font-size:var(--text-base);line-height:var(--leading-normal)}.banner-warning{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning-text)}.banner-info{background:var(--color-info-bg);border:1px solid var(--color-info-border);color:var(--color-info-text)}.banner-error{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error-text)}.error-banner{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);margin-bottom:var(--space-lg);font-size:var(--text-base)}.badge{display:inline-flex;align-items:center;padding:.125rem var(--space-sm);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium)}.badge-green{background:var(--color-success-light);color:var(--color-success-text)}.badge-red{background:var(--color-error-light);color:var(--color-error-text)}.badge-amber{background:var(--color-warning-light);color:var(--color-warning-text)}.badge-blue{background:var(--color-info-light);color:var(--color-info)}.badge-gray{background:var(--color-bg-muted);color:var(--color-text-secondary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.modal{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:var(--space-xl);max-width:560px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.modal-sm{max-width:420px}.modal-wide{max-width:680px}.modal-xl{max-width:700px}.modal h2{font-size:var(--text-lg);margin-bottom:var(--space-lg)}.modal-actions{display:flex;gap:var(--space-sm);justify-content:flex-end;margin-top:1.25rem}.empty-state{text-align:center;padding:3rem var(--space-lg);color:var(--color-text-faint)}.empty-state p{margin-bottom:var(--space-lg)}.page-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--color-text-muted);font-size:var(--text-md)}.spinner{width:40px;height:40px;border:4px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto var(--space-lg)}@keyframes spin{to{transform:rotate(360deg)}}.text-muted{color:var(--color-text-muted)}.text-faint{color:var(--color-text-faint)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.text-right{text-align:right}.mt-1{margin-top:var(--space-sm)}.mt-2{margin-top:var(--space-lg)}.mb-1{margin-bottom:var(--space-sm)}.mb-2{margin-bottom:var(--space-lg)}.flex{display:flex}.items-center{align-items:center}.gap-1{gap:var(--space-sm)}.gap-2{gap:var(--space-lg)}body{background:var(--color-bg)}.auth-page,.wizard-page,.home-page{min-height:100vh;padding:var(--space-2xl) var(--space-lg)}.auth-page{display:flex;align-items:center;justify-content:center}.auth-card,.wizard-card,.welcome-card{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:var(--space-2xl);max-width:480px;width:100%;box-shadow:var(--shadow-md)}.wizard-card{max-width:640px;margin:0 auto}.home-page{max-width:800px;margin:0 auto}h1{font-size:var(--text-2xl);margin-bottom:var(--space-sm)}h2{font-size:var(--text-xl);margin-bottom:var(--space-lg);color:var(--color-text-secondary)}h3{font-size:var(--text-md);margin-bottom:var(--space-xs)}.auth-subtitle,.step-description{color:var(--color-text-muted);margin-bottom:var(--space-xl)}.auth-links{margin-top:var(--space-xl);display:flex;justify-content:space-between}.auth-links a{color:var(--color-primary);font-size:var(--text-base);text-decoration:none}.auth-links a:hover{text-decoration:underline}.wizard-progress{display:flex;gap:var(--space-lg);margin-bottom:var(--space-2xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-border-light)}.wizard-step{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--color-text-faint)}.wizard-step.active{color:var(--color-primary);font-weight:var(--font-semibold)}.wizard-step.completed{color:var(--color-success)}.step-number{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--color-border-light);font-size:var(--text-xs);font-weight:var(--font-bold)}.wizard-step.active .step-number{background:var(--color-primary);color:#fff}.wizard-step.completed .step-number{background:var(--color-success);color:#fff}.wizard-actions{display:flex;justify-content:space-between;gap:var(--space-lg);margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--color-border-light)}.angles-list,.angles-grid{display:flex;flex-direction:column;gap:var(--space-lg)}.angle-card{background:var(--color-bg-subtle);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-lg)}.angle-name{width:100%;font-weight:var(--font-semibold);font-size:var(--text-base);border:1px solid transparent;background:transparent;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);margin-bottom:var(--space-sm);font-family:inherit;transition:border-color var(--transition-fast),background var(--transition-fast)}.angle-name:focus{border-color:var(--color-primary);background:var(--color-bg-card);outline:none}.angle-description{width:100%;font-size:var(--text-base);color:var(--color-text-muted);border:1px solid transparent;background:transparent;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);resize:none;overflow:hidden;font-family:inherit;transition:border-color var(--transition-fast),background var(--transition-fast)}.angle-description:focus{border-color:var(--color-primary);background:var(--color-bg-card);outline:none}.angle-card-editable{background:var(--color-bg-card);border-color:var(--color-primary-lighter);box-shadow:0 0 0 1px var(--color-primary-ring);padding:var(--space-lg) var(--space-lg) var(--space-md)}.angle-card-editable .angle-name{border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:var(--radius-md);padding:.4rem var(--space-sm);margin-bottom:var(--space-sm)}.angle-card-editable .angle-name:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.angle-card-editable .angle-description{border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:var(--radius-md);padding:.4rem var(--space-sm)}.angle-card-editable .angle-description:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.home-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2xl)}.home-header-actions{display:flex;align-items:center;gap:var(--space-lg)}.user-email{font-size:var(--text-sm);color:var(--color-text-muted)}.subscription-badge{background:var(--color-info-light);color:var(--color-info);padding:.2rem .6rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase}.home-section{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:var(--space-xl);margin-bottom:var(--space-xl);box-shadow:var(--shadow-sm)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.section-header h2{margin-bottom:0}.profile-summary{font-size:var(--text-base)}.summary-row{padding:var(--space-xs) 0}.summary-row strong{color:var(--color-text-muted)}.welcome-card{text-align:center;margin:0 auto}.welcome-card p{color:var(--color-text-muted);margin-bottom:var(--space-xl);line-height:var(--leading-relaxed)}.generation-page{min-height:100vh;padding:var(--space-2xl) var(--space-lg)}.generation-card{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:var(--space-2xl);max-width:640px;width:100%;margin:0 auto;box-shadow:var(--shadow-md)}.chip-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.chip-grid-small{grid-template-columns:repeat(3,1fr)}.chip{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.6rem .8rem;border:2px solid var(--color-border-light);border-radius:var(--radius-lg);background:var(--color-bg-subtle);cursor:pointer;font-size:var(--text-sm);text-align:left;transition:all var(--transition-fast)}.chip:hover{border-color:var(--color-primary-disabled);background:var(--color-primary-light)}.chip-selected{border-color:var(--color-primary);background:var(--color-primary-light);box-shadow:0 0 0 1px var(--color-primary)}.chip-desc{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:var(--font-normal)}.chip-sm{flex-direction:row;padding:.4rem .7rem;font-size:var(--text-sm);font-weight:var(--font-medium)}.radio-group{display:flex;flex-direction:column;gap:var(--space-sm)}.radio-card{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border:2px solid var(--color-border-light);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast)}.radio-card:hover{border-color:var(--color-primary-disabled);background:var(--color-bg-subtle)}.radio-card:has(input:checked){border-color:var(--color-primary);background:var(--color-primary-light)}.radio-card input[type=radio]{margin-top:.2rem;accent-color:var(--color-primary)}.radio-desc{display:block;font-size:var(--text-sm);color:var(--color-text-muted);font-weight:var(--font-normal)}.context-hint,.quota-info{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-sm)}.quota-warning{font-size:var(--text-sm);color:var(--color-error);margin-top:var(--space-sm);font-weight:var(--font-medium)}.plan-view-page{min-height:100vh;padding:var(--space-xl) var(--space-lg);max-width:1100px;margin:0 auto}.plan-view-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--space-lg);margin-bottom:var(--space-xl)}.plan-view-header-left h1{margin-bottom:.15rem}.plan-meta{font-size:var(--text-sm);color:var(--color-text-muted)}.view-toggle{display:flex;background:var(--color-bg-muted);border-radius:var(--radius-lg);padding:3px}.view-toggle-btn{border:none;background:transparent;padding:.4rem var(--space-lg);font-size:var(--text-sm);font-weight:var(--font-semibold);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-muted);transition:all var(--transition-fast)}.view-toggle-btn.active{background:var(--color-bg-card);color:var(--color-text);box-shadow:var(--shadow-sm)}.generation-progress{text-align:center;padding:4rem var(--space-lg)}.progress-detail{font-size:var(--text-sm);color:var(--color-text-faint);margin-top:var(--space-xs)}.badge{font-weight:var(--font-semibold);text-transform:uppercase}.badge-format{background:var(--color-info-light);color:var(--color-info)}.badge-angle{background:var(--color-warning-light);color:var(--color-warning-text)}.badge-sm{font-size:.65rem;padding:.1rem .4rem}.badge-xs{font-size:.6rem;padding:.05rem .35rem}.status-creating{color:var(--color-warning)}.status-ready{color:var(--color-success)}.status-posted{color:var(--color-primary)}.status-skip{color:var(--color-text-faint)}.cards-view{display:grid;grid-template-columns:1fr;gap:var(--space-lg)}@media (min-width: 700px){.cards-view{grid-template-columns:repeat(2,1fr)}}.post-card{background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.post-card.status-creating{border-left:3px solid var(--color-warning)}.post-card.status-ready{border-left:3px solid var(--color-success)}.post-card.status-posted{border-left:3px solid var(--color-primary)}.post-card.status-skip{border-left:3px solid var(--color-border);opacity:.65}.post-card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border-faint);background:var(--color-bg-subtle)}.post-badges{display:flex;gap:.35rem}.post-meta{display:flex;gap:var(--space-sm);font-size:var(--text-xs);color:var(--color-text-muted)}.post-card-body{padding:var(--space-lg);flex:1}.post-hook{font-size:var(--text-md);font-weight:var(--font-semibold);line-height:1.4;margin-bottom:var(--space-md);color:var(--color-text)}.post-field{font-size:var(--text-sm);margin-bottom:var(--space-sm);line-height:var(--leading-normal)}.post-field strong{display:block;font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.15rem}.post-field p{color:var(--color-text-secondary);white-space:pre-wrap}.post-hashtags{font-size:var(--text-sm);color:var(--color-primary)}.post-card-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border-faint);background:var(--color-bg-subtle)}.status-buttons{display:flex;gap:var(--space-xs);margin-bottom:var(--space-sm)}.status-btn{border:1px solid var(--color-border-light);background:var(--color-bg-card);padding:.2rem var(--space-sm);border-radius:var(--radius-sm);font-size:.7rem;cursor:pointer;text-transform:capitalize;transition:all var(--transition-fast)}.status-btn.active{font-weight:var(--font-bold)}.status-btn.active.status-draft{background:var(--color-bg-muted);border-color:var(--color-text-faint)}.status-btn.active.status-creating{background:var(--color-warning-light);border-color:var(--color-warning);color:var(--color-warning-text)}.status-btn.active.status-ready{background:var(--color-success-light);border-color:var(--color-success);color:var(--color-success-text)}.status-btn.active.status-posted{background:var(--color-info-light);border-color:var(--color-primary);color:var(--color-info)}.status-btn.active.status-skip{background:var(--color-bg-muted);border-color:var(--color-text-faint);color:var(--color-text-muted)}.post-card-actions{display:flex;gap:var(--space-md);align-items:center}.version-count{font-size:.7rem;color:var(--color-text-faint);margin-left:auto}.refresh-feedback{display:flex;gap:var(--space-sm);margin-top:var(--space-sm)}.refresh-feedback input{flex:1;padding:.35rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm)}.refresh-error{margin-top:.4rem;padding:.35rem .6rem;background:var(--color-error-bg);color:var(--color-error);font-size:var(--text-sm);border-radius:var(--radius-md);border:1px solid var(--color-error-border)}.week-view{display:flex;flex-direction:column;gap:var(--space-xl)}.week-heading{font-size:var(--text-md);color:var(--color-primary);padding-bottom:var(--space-sm);border-bottom:2px solid var(--color-primary-light)}.week-list{display:flex;flex-direction:column;gap:var(--space-xs)}.week-row{display:flex;align-items:center;gap:var(--space-md);padding:.6rem var(--space-md);background:var(--color-bg-card);border-radius:var(--radius-md);border:1px solid var(--color-border-faint);font-size:var(--text-sm);transition:background var(--transition-fast),border-color var(--transition-fast)}.week-row[style*="cursor: pointer"]:hover{background:var(--color-bg-subtle);border-color:var(--color-primary-lighter)}.week-platforms{display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0}.platform-icon-sm{font-size:var(--text-xs)}.platform-icon-xs{font-size:var(--text-2xs);font-weight:var(--font-bold)}.month-post-badges{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.platform-adapt-badge{font-size:var(--text-2xs);font-weight:var(--font-bold);color:var(--color-bg-card);border-radius:var(--radius-sm);padding:0 var(--space-xs);line-height:var(--leading-tight)}.week-day{width:80px;font-weight:var(--font-semibold);color:var(--color-text-secondary)}.week-date{width:90px;color:var(--color-text-muted);font-size:var(--text-sm)}.week-hook{flex:1;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-label{font-size:.7rem;font-weight:var(--font-semibold);text-transform:uppercase;padding:.15rem .4rem;border-radius:var(--radius-sm);background:var(--color-bg-muted)}.status-label.status-ready{background:var(--color-success-light);color:var(--color-success-text)}.status-label.status-posted{background:var(--color-info-light);color:var(--color-info)}.status-label.status-creating{background:var(--color-warning-light);color:var(--color-warning-text)}.status-label.status-skip{background:var(--color-bg-muted);color:var(--color-text-faint)}.month-view{background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);overflow:hidden}.month-header{display:grid;grid-template-columns:repeat(7,1fr);background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border-light)}.month-header-cell{padding:var(--space-sm);text-align:center;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-muted);text-transform:uppercase}.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.month-cell{min-height:90px;border-right:1px solid var(--color-border-faint);border-bottom:1px solid var(--color-border-faint);padding:.35rem;background:var(--color-bg-card);transition:background .1s}.month-cell:nth-child(7n){border-right:none}.month-cell-outside{background:var(--color-bg-subtle);opacity:.5}.month-cell.drop-target:hover{background:var(--color-primary-light)}.month-cell-date{display:block;font-size:.7rem;color:var(--color-text-faint);margin-bottom:.2rem}.month-post{padding:var(--space-xs) .35rem;border-radius:var(--radius-sm);margin-bottom:.2rem;cursor:grab;background:var(--color-bg-muted);border-left:2px solid var(--color-border);transition:box-shadow .1s}.month-post:active{cursor:grabbing}.month-post:hover{box-shadow:var(--shadow-lg)}.month-post.status-ready{border-left-color:var(--color-success);background:var(--color-success-bg)}.month-post.status-posted{border-left-color:var(--color-primary);background:var(--color-primary-light)}.month-post.status-creating{border-left-color:var(--color-warning);background:var(--color-warning-bg)}.month-post.status-skip{border-left-color:var(--color-border);opacity:.6}.month-post-hook{display:block;font-size:.65rem;color:var(--color-text-secondary);line-height:var(--leading-tight);margin-top:.1rem}.section-count{font-size:var(--text-sm);color:var(--color-text-faint)}.plan-list{display:flex;flex-direction:column;gap:var(--space-xs)}.plan-list-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--color-border-faint);cursor:pointer;transition:all var(--transition-fast);background:var(--color-bg-card)}.plan-list-item:hover{border-color:var(--color-primary-lighter);background:var(--color-primary-light)}.plan-list-label{font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:.15rem}.plan-list-meta{display:flex;gap:.4rem;font-size:var(--text-xs);color:var(--color-text-faint)}.plan-status{font-weight:var(--font-semibold)}.plan-status-processing{color:var(--color-warning)}.plan-status-ready,.plan-status-completed{color:var(--color-success)}.plan-status-failed{color:var(--color-error)}.plan-rename{display:flex;gap:var(--space-sm);align-items:center}.plan-rename input{padding:.3rem var(--space-sm);border:1px solid var(--color-primary);border-radius:var(--radius-sm);font-size:var(--text-base);width:200px}.plan-manager-loading{text-align:center;padding:var(--space-lg);color:var(--color-text-faint);font-size:var(--text-sm)}.error-sm{font-size:var(--text-sm);padding:var(--space-sm) var(--space-md)}.version-btn{color:var(--color-text-muted);text-decoration:underline;text-decoration-style:dotted}.version-history{margin-top:var(--space-md);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);background:var(--color-bg-card);overflow:hidden}.version-history-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border-light);font-size:var(--text-sm)}.version-list{max-height:240px;overflow-y:auto}.version-item{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border-faint)}.version-item:last-child{border-bottom:none}.version-item-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:.2rem}.version-number{font-weight:var(--font-bold);font-size:var(--text-xs);color:var(--color-primary)}.version-date{font-size:.7rem;color:var(--color-text-faint);flex:1}.version-hook{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.4;margin:0}.publish-modal{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:var(--space-xl);max-width:480px;width:90%;box-shadow:var(--shadow-xl)}.publish-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.publish-modal-header h2{font-size:var(--text-lg);margin:0}.publish-steps{display:flex;flex-direction:column;gap:var(--space-lg)}.publish-step{display:flex;gap:var(--space-md);opacity:.4;transition:opacity var(--transition-normal)}.publish-step.active{opacity:1}.publish-step-number{width:28px;height:28px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary);font-weight:var(--font-bold);font-size:var(--text-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.publish-step.active .publish-step-number{background:var(--color-primary);color:#fff}.publish-step-content h3{font-size:var(--text-base);margin-bottom:.2rem}.publish-step-content p{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-sm)}.publish-step-actions{display:flex;gap:var(--space-sm);align-items:center}.publish-btn{color:var(--color-primary);font-weight:var(--font-semibold)}.publish-btn:disabled{color:var(--color-text-faint);font-weight:var(--font-normal)}.export-dropdown{position:relative}.export-dropdown-menu{position:absolute;top:100%;right:0;margin-top:var(--space-xs);background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);min-width:180px;overflow:hidden}.export-dropdown-item{display:block;width:100%;text-align:left;padding:.6rem var(--space-lg);border:none;background:none;font-size:var(--text-sm);cursor:pointer;color:var(--color-text-secondary);transition:background .1s}.export-dropdown-item:hover{background:var(--color-bg-muted)}.export-dropdown-item+.export-dropdown-item{border-top:1px solid var(--color-border-faint)}.billing-page,.settings-page{min-height:100vh;padding:var(--space-2xl) var(--space-lg);max-width:720px;margin:0 auto}.page-header{display:flex;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-2xl)}.page-header h1{margin-bottom:0}.billing-section{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:var(--space-xl);margin-bottom:var(--space-xl);box-shadow:var(--shadow-sm)}.billing-section h2{margin-bottom:var(--space-lg)}.current-plan-card{padding:0}.plan-tier{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-lg)}.plan-label{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text)}.plan-price{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-primary)}.plan-details{display:flex;flex-direction:column;gap:var(--space-sm)}.detail-row{display:flex;justify-content:space-between;font-size:var(--text-base);padding:.35rem 0;border-bottom:1px solid var(--color-border-faint)}.detail-row:last-child{border-bottom:none}.detail-row span:first-child{color:var(--color-text-muted)}.no-plan{color:var(--color-text-faint);font-size:var(--text-base);text-align:center;padding:var(--space-lg) 0}.cancel-notice{margin-top:var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:var(--radius-lg);color:var(--color-warning-text);font-size:var(--text-sm);line-height:var(--leading-normal)}.status-badge{display:inline-block;padding:.2rem .65rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:capitalize}.status-active{background:var(--color-success-light);color:var(--color-success-text)}.status-trialing{background:var(--color-info-light);color:var(--color-info)}.status-cancelled{background:var(--color-error-light);color:var(--color-error-text)}.status-past_due{background:var(--color-warning-light);color:var(--color-warning-text)}.plans-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}@media (max-width: 540px){.plans-grid{grid-template-columns:1fr}}.plan-card{border:2px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-xl);text-align:center;transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.plan-card:hover{border-color:var(--color-primary-lighter);box-shadow:var(--shadow-lg)}.plan-current{border-color:var(--color-primary);background:var(--color-primary-light)}.plan-card h3{font-size:var(--text-lg);margin-bottom:var(--space-xs)}.plan-card-price{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-primary);margin-bottom:var(--space-lg)}.plan-features{list-style:none;margin-bottom:1.25rem;text-align:left}.plan-features li{font-size:var(--text-sm);color:var(--color-text-secondary);position:relative;padding:.3rem 0 .3rem 1.2rem}.plan-features li:before{content:"✓";position:absolute;left:0;color:var(--color-success);font-weight:var(--font-bold)}.plan-card .btn-primary,.plan-card .btn-secondary{width:100%}.upgrade-hint{color:var(--color-text-muted);font-size:var(--text-base);text-align:center;padding:var(--space-sm) 0}.subscription-banners{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg)}.banner .btn-text,.banner .btn-sm{white-space:nowrap;flex-shrink:0;font-weight:var(--font-semibold)}.read-only-modal{text-align:center;max-width:420px;width:90%;background:var(--color-bg-card);border-radius:16px;padding:2.5rem var(--space-2xl);box-shadow:var(--shadow-xl)}.read-only-modal h2{font-size:1.3rem;color:var(--color-text);margin-bottom:var(--space-md)}.read-only-modal p{color:var(--color-text-muted);font-size:var(--text-base);line-height:var(--leading-relaxed);margin-bottom:var(--space-md)}.modal-detail{font-size:var(--text-sm)!important;color:var(--color-text-faint)!important}.modal-actions{margin-top:var(--space-xl)}.modal-actions .btn-primary{padding:var(--space-md) var(--space-2xl);font-size:var(--text-md)}.modal-content{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:var(--space-xl);max-width:480px;width:90%;box-shadow:var(--shadow-xl)}.settings-section{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:var(--space-xl);margin-bottom:var(--space-xl);box-shadow:var(--shadow-sm)}.settings-section h2{margin-bottom:var(--space-lg)}.profile-edit-form{display:flex;flex-direction:column;gap:0}.profile-edit-form textarea{resize:none;overflow:hidden}.danger-zone{border:1px solid var(--color-error-border)}.danger-zone h2{color:var(--color-error)}.danger-zone p{color:var(--color-text-muted);font-size:var(--text-base);line-height:var(--leading-relaxed);margin-bottom:var(--space-lg)}.delete-confirm{background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius-lg);padding:1.25rem}.delete-confirm p{margin-bottom:var(--space-md);color:var(--color-error-text)}.input-confirm{width:100%;padding:var(--space-sm) var(--space-md);border:2px solid var(--color-error-disabled);border-radius:var(--radius-lg);font-size:var(--text-base);font-family:inherit;margin-bottom:var(--space-lg);transition:border-color var(--transition-fast)}.input-confirm:focus{outline:none;border-color:var(--color-error)}.confirm-actions{display:flex;gap:var(--space-lg);align-items:center}.settings-divider{border:none;border-top:1px solid var(--color-border-light);margin:var(--space-md) 0 1.25rem}.settings-subheading{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-muted);margin:var(--space-md) 0 var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border-light)}.angle-editor-actions{display:flex;gap:var(--space-md);margin-top:1.25rem}.empty-state-inline{color:var(--color-text-faint);font-size:var(--text-base);margin-bottom:var(--space-lg)}.angle-readonly{cursor:default;border-color:transparent!important;background:transparent!important}.angle-readonly:focus{border-color:transparent!important;box-shadow:none!important;background:transparent!important}.profile-edit-actions{display:flex;gap:var(--space-lg);align-items:center;margin-top:var(--space-sm)}.settings-section .section-header{margin-bottom:var(--space-lg)}.settings-section .section-header h2{margin-bottom:0}
