*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--canvas:#fafafa;--bg-deep:#f5f5f5;--bg-base:#fff;--bg-elevated:#fff;--bg-overlay:#f0f0f0;--surface:#fff;--surface-hover:#f5f5f5;--border-subtle:#e0e0e0;--border-strong:#d1d1d1;--text-primary:#242424;--text-secondary:#616161;--text-muted:#707070;--text-disabled:#bdbdbd;--accent:#c50f1f;--accent-hover:#a10f1a;--accent-soft:#c50f1f14;--accent-glow:#c50f1f29;--gold:#986f0b;--gold-soft:#986f0b1a;--gold-glow:transparent;--amber:#bc4b06;--amber-soft:#bc4b061a;--sky:#0f6cbd;--sky-soft:#0f6cbd14;--sage:#107c10;--sage-soft:#107c101a;--danger:#c50f1f;--danger-soft:#c50f1f14;--font-display:"Segoe UI Variable", "Segoe UI", "Hiragino Sans", "Yu Gothic UI", "Meiryo", sans-serif;--font-body:"Segoe UI Variable", "Segoe UI", "Hiragino Sans", "Yu Gothic UI", "Meiryo", sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--radius-sm:4px;--radius-md:8px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--shadow-sm:0 1px 2px #00000014;--shadow-md:0 2px 4px #0000001a, 0 0 2px #0000000f;--shadow-lg:0 8px 16px #0000001f, 0 0 2px #00000014;--shadow-card:0 0 2px #0000001a, 0 1px 2px #0000000f;--shadow-glow:none;--ease-out:cubic-bezier(.33, 0, .1, 1);--duration:.15s;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--app-bar-height:56px;--content-max-width:720px}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--canvas);color:var(--text-primary);line-height:1.5;font-size:var(--text-base);-webkit-font-smoothing:antialiased;min-height:100dvh}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-bar{z-index:100;justify-content:space-between;align-items:center;gap:var(--space-3);height:var(--app-bar-height);padding:0 var(--space-4);background:var(--bg-base);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);display:flex;position:sticky;top:0}.app-bar-brand{align-items:center;gap:var(--space-3);min-width:0;display:flex}.app-container{width:100%;max-width:var(--content-max-width);padding:var(--space-5) var(--space-4) var(--space-8);flex:1;margin:0 auto}.app-version-badge{padding:2px var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.02em;white-space:nowrap;background:var(--bg-overlay);flex-shrink:0;font-weight:600}.app-logo{background:var(--accent);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.logo-icon{font-family:var(--font-display);color:#fff;font-size:1.25rem;font-weight:700;line-height:1}.app-eyebrow{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-weight:600;line-height:1.2}.app-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--text-primary);font-weight:600;line-height:1.25}.app-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-5);font-weight:400;line-height:1.5}.app-meta{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:flex}.app-user-indicator{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);font-weight:600;display:flex}.user-dot{background:var(--sage);width:8px;height:8px;box-shadow:0 0 0 3px var(--sage-soft);border-radius:50%}.user-switcher{gap:var(--space-1);padding:var(--space-1);background:var(--bg-overlay);border-radius:var(--radius-md);border:1px solid var(--border-subtle);display:flex}.user-switch-button{border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-muted);cursor:pointer;transition:all var(--duration) var(--ease-out);background:0 0;border:none;padding:6px 14px;font-weight:600}.user-switch-button:hover{color:var(--text-secondary);background:var(--surface-hover)}.user-switch-button.active{background:var(--accent);color:#fff}.tab-nav{gap:var(--space-1);margin-bottom:var(--space-5);border-bottom:1px solid var(--border-subtle);scrollbar-width:none;display:flex;overflow-x:auto}.tab-nav::-webkit-scrollbar{display:none}.tab-button{padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:color var(--duration), background var(--duration);white-space:nowrap;background:0 0;border:none;flex-shrink:0;font-weight:600;position:relative}.tab-button:after{content:"";left:var(--space-3);right:var(--space-3);height:2px;transition:background var(--duration);background:0 0;border-radius:2px 2px 0 0;position:absolute;bottom:-1px}.tab-button:hover{color:var(--text-primary);background:var(--surface-hover)}.tab-button.active{color:var(--accent)}.tab-button.active:after{background:var(--accent)}.message-stack{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.message-bar{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);border:1px solid #0000;font-weight:600;line-height:1.5;display:flex}.message-bar-icon{width:20px;height:20px;font-size:var(--text-xs);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.message-bar-text{flex:1;min-width:0}.message-bar-error{background:var(--danger-soft);color:var(--danger);border-color:#c50f1f33}.message-bar-error .message-bar-icon{background:var(--danger);color:#fff}.message-bar-warning{background:var(--amber-soft);color:var(--amber);border-color:#bc4b0633}.message-bar-warning .message-bar-icon{background:var(--amber);color:#fff}.error-banner{background:var(--danger-soft);color:var(--danger);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--text-sm);border:1px solid #c50f1f33;font-weight:600}.storage-warning-banner{background:var(--amber-soft);color:var(--amber);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--text-sm);border:1px solid #bc4b0633;font-weight:600;line-height:1.5}.loading-bar{background:var(--accent-soft);border-radius:var(--radius-full);height:4px;margin-bottom:var(--space-4);position:relative;overflow:hidden}.loading-bar:after{content:"";background:var(--accent);border-radius:var(--radius-full);width:40%;animation:1s ease-in-out infinite loading-slide;position:absolute;inset:0}@keyframes loading-slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}.btn-add-toggle{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-5);background:var(--bg-base);border:1px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;margin-bottom:var(--space-4);transition:background var(--duration), border-color var(--duration), color var(--duration);font-weight:600;display:flex}.btn-add-toggle:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.add-item-form,.review-panel,.settings-panel{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-6);margin-bottom:var(--space-5);box-shadow:var(--shadow-card)}.form-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--text-primary);margin-bottom:var(--space-5);font-weight:600}.form-field{margin-bottom:var(--space-4)}.form-field label{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-2);font-weight:600;display:block}.form-field input[type=text],.form-field input[type=date],.form-field textarea,.form-field select{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-bottom:2px solid var(--border-strong);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);background:var(--bg-base);transition:border-color var(--duration), box-shadow var(--duration);outline:none;font-weight:400}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--text-disabled)}.form-field input:hover,.form-field textarea:hover,.form-field select:hover{border-color:var(--text-muted)}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--sky);border-bottom-color:var(--sky);box-shadow:none;background:var(--bg-base)}.form-field textarea{resize:vertical;min-height:72px}.form-row{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:1fr 1fr;display:grid}@media (width<=520px){.form-row{grid-template-columns:1fr}}.target-days-options{gap:var(--space-2);flex-direction:column;display:flex}.target-option{align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration) var(--ease-out);font-size:var(--text-sm);background:var(--bg-base);display:flex}.target-option:hover{border-color:var(--sky);background:var(--sky-soft)}.target-option.selected{border-color:var(--accent);background:var(--accent-soft)}.target-option input[type=radio]{display:none}.option-label{color:var(--text-primary);white-space:nowrap;font-weight:600}.option-desc{color:var(--text-muted);font-size:var(--text-xs);flex:1;font-weight:400}.custom-days-input{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:64px;font-size:var(--text-sm);text-align:center;color:var(--text-primary);background:#fff;padding:4px 8px;font-weight:600}.science-note{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-2);font-weight:400;line-height:1.5}.plan-limit-notice{text-align:center}.plan-limit-message{color:var(--text-secondary);margin-bottom:var(--space-3);font-size:var(--text-sm);font-weight:600}.btn-primary,button[type=submit]{width:100%;padding:var(--space-2) var(--space-5);border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:background var(--duration);border:none;min-height:32px;font-weight:600}.btn-primary:hover:not(:disabled),button[type=submit]:hover:not(:disabled),.btn-primary:active:not(:disabled),button[type=submit]:active:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled,button[type=submit]:disabled{opacity:.4;cursor:not-allowed}.btn-icon{color:var(--text-muted);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm);transition:all var(--duration) var(--ease-out);background:0 0;border:none;flex-shrink:0;line-height:0}.btn-icon:hover{background:var(--danger-soft);color:var(--danger)}.btn-retry{padding:6px var(--space-4);border-radius:var(--radius-sm);background:var(--amber);color:#fff;font-family:var(--font-body);font-size:var(--text-xs);cursor:pointer;transition:background var(--duration);white-space:nowrap;border:none;font-weight:600}.btn-retry:hover{background:#9a3d05}.btn-upgrade{padding:var(--space-2) var(--space-5);border-radius:var(--radius-sm);background:var(--gold);color:#fff;font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:background var(--duration);border:none;min-height:32px;font-weight:600}.btn-upgrade:hover{background:#7a5809}.btn-restore{padding:var(--space-2) var(--space-5);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:all var(--duration) var(--ease-out);background:#fff;min-height:32px;font-weight:600}.btn-restore:hover{border-color:var(--sky);color:var(--sky);background:var(--sky-soft)}.btn-danger{padding:6px var(--space-4);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:all var(--duration) var(--ease-out);border:none;font-weight:600}.btn-danger:hover{background:var(--danger);color:#fff}.settings-panel button[type=button]:not(.btn-upgrade):not(.btn-restore):not(.user-switch-button){padding:var(--space-2) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-base);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:all var(--duration) var(--ease-out);min-height:32px;font-weight:600}.settings-panel button[type=button]:not(.btn-upgrade):not(.btn-restore):not(.user-switch-button):hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.item-list{gap:var(--space-3);flex-direction:column;display:flex}.app-main>section{animation:section-enter .25s var(--ease-out) both}@keyframes section-enter{0%{opacity:0;transform:translateY(6px)}}.item-card{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-card);transition:border-color var(--duration), box-shadow var(--duration);position:relative;overflow:hidden}.item-card:before{content:"";background:var(--sky);width:4px;transition:background var(--duration);position:absolute;top:0;bottom:0;left:0}.item-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.item-card.status-achieved{border-color:#986f0b59}.item-card.status-achieved:before{background:var(--gold)}.item-card.status-failed{border-color:#bc4b0659}.item-card.status-failed:before,.item-card.progress-stage-2:before{background:var(--amber)}.item-card.progress-stage-3:before{background:var(--sage)}.item-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.item-title-area{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.attempt-badge{padding:2px var(--space-3);background:var(--sky-soft);color:var(--sky);border-radius:var(--radius-sm);font-size:var(--text-xs);width:fit-content;font-weight:600;display:inline-block}.item-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--text-primary);font-weight:600;line-height:1.35}.completed-badge{padding:2px var(--space-2);background:var(--sage-soft);color:var(--sage);border-radius:var(--radius-sm);font-size:var(--text-xs);width:fit-content;font-weight:600;display:inline-block}.reason-section{margin-bottom:var(--space-3)}.reason-toggle{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-muted);cursor:pointer;transition:color var(--duration), background var(--duration);background:0 0;border:none;font-weight:600;display:inline-flex}.reason-toggle:hover{color:var(--text-secondary);background:var(--surface-hover)}.item-reason{color:var(--text-secondary);font-size:var(--text-sm);margin-top:var(--space-2);padding:var(--space-3);background:var(--bg-overlay);border-radius:var(--radius-sm);font-weight:400;line-height:1.5}.achievement-badge{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--gold-soft);border-radius:var(--radius-md);margin-bottom:var(--space-4);border:1px solid #986f0b4d;display:flex}.badge-icon{flex-shrink:0;font-size:1.25rem}.badge-text{font-size:var(--text-sm);color:var(--gold);font-weight:600}.failed-notice{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--amber-soft);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--text-sm);color:var(--amber);border:1px solid #bc4b0640;font-weight:600;display:flex}.progress-section{margin-bottom:var(--space-4)}.progress-labels{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.progress-days{font-size:var(--text-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums;font-weight:600}.progress-percent{font-size:var(--text-xs);color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.progress-meta{margin:0 0 var(--space-2);font-size:var(--text-xs);color:var(--text-muted);font-weight:600}.progress-bar-track{background:var(--bg-overlay);border-radius:var(--radius-full);height:4px;overflow:hidden}.progress-bar-fill{border-radius:var(--radius-full);height:100%;transition:width .6s var(--ease-out)}.progress-bar-fill.ongoing{background:var(--sage)}.progress-bar-fill.failed{background:var(--amber)}.item-footer{justify-content:space-between;align-items:flex-end;gap:var(--space-3);font-size:var(--text-xs);padding-top:var(--space-3);border-top:1px solid var(--border-subtle);font-weight:400;display:flex}.review-info{flex-direction:column;gap:2px;display:flex}.review-count{color:var(--text-secondary);font-weight:600}.review-count.muted{color:var(--text-muted)}.review-last-date{color:var(--text-muted);font-size:.7rem}.item-date{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.meta-info{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.empty-state{text-align:center;padding:var(--space-8) var(--space-6);color:var(--text-muted);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.empty-icon{margin-bottom:var(--space-4);opacity:.7;font-size:2.5rem;line-height:1}.empty-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--text-secondary);margin-bottom:var(--space-2);font-weight:600}.empty-desc{font-size:var(--text-sm);color:var(--text-muted);font-weight:400}.empty-edit{text-align:center;padding:var(--space-7);color:var(--text-muted);font-size:var(--text-sm);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-weight:600}.review-panel h2{font-family:var(--font-display);font-size:var(--text-lg);margin-bottom:var(--space-5);font-weight:600}.review-form{box-shadow:none;background:0 0;border:none;margin-bottom:0;padding:0}.radio-group{gap:var(--space-2);display:flex}.radio-label{padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);text-align:center;cursor:pointer;font-size:var(--text-sm);font-family:var(--font-body);color:var(--text-muted);background:var(--bg-base);transition:all var(--duration) var(--ease-out);flex:1;font-weight:600}.radio-label input[type=radio]{display:none}.radio-label.selected{border-color:var(--sage);background:var(--sage-soft);color:var(--sage)}.radio-label:last-child.selected{border-color:var(--amber);background:var(--amber-soft);color:var(--amber)}.review-history{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border-subtle)}.review-history h3{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-3);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.timeline{flex-direction:column;gap:0;display:flex}.timeline-item{gap:var(--space-3);padding-bottom:var(--space-4);grid-template-columns:20px 1fr;display:grid;position:relative}.timeline-item:not(:last-child):before{content:"";background:var(--border-subtle);width:2px;position:absolute;top:16px;bottom:0;left:9px}.timeline-dot{background:var(--border-strong);border:2px solid var(--bg-elevated);width:12px;height:12px;box-shadow:0 0 0 1px var(--border-subtle);z-index:1;border-radius:50%;margin-top:4px}.timeline-item.kept .timeline-dot{background:var(--sage)}.timeline-item.broke .timeline-dot{background:var(--amber)}.timeline-content{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--bg-overlay);border:1px solid var(--border-subtle)}.timeline-item.kept .timeline-content{background:var(--sage-soft);border-color:#107c1033}.timeline-item.broke .timeline-content{background:var(--amber-soft);border-color:#bc4b0633}.timeline-header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.review-record{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-2);background:var(--bg-overlay);border-left:3px solid #0000}.review-record.kept{background:var(--sage-soft);border-left-color:var(--sage)}.review-record.broke{background:var(--amber-soft);border-left-color:var(--amber)}.review-header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.review-item-name{font-weight:600;font-size:var(--text-sm);color:var(--text-primary)}.review-badge{font-size:var(--text-xs);padding:2px var(--space-3);border-radius:var(--radius-sm);flex-shrink:0;font-weight:600}.review-badge.kept{background:var(--sage);color:#fff}.review-badge.broke{background:var(--amber);color:#fff}.review-reflection{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-2);font-weight:400;line-height:1.5}.review-date{font-size:var(--text-xs);color:var(--text-muted);font-weight:400}.item-edit-list{gap:var(--space-2);flex-direction:column;display:flex}.item-edit-row,.item-edit-form{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:border-color var(--duration), box-shadow var(--duration);box-shadow:var(--shadow-card);display:flex}.item-edit-row:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.item-edit-form{flex-direction:column;align-items:stretch}.item-edit-title{font-family:var(--font-display);font-size:var(--text-base);color:var(--text-primary);font-weight:600}.edit-actions{gap:var(--space-2);justify-content:flex-end;display:flex}.item-edit-form .form-field{width:100%}.settings-panel h2,.settings-panel h3,.account-info h3,.plan-info h3,.data-info h3{font-family:var(--font-display);color:var(--text-primary);font-weight:600}.settings-panel h2{font-size:var(--text-lg);margin-bottom:var(--space-5)}.settings-panel h3,.account-info h3,.plan-info h3,.data-info h3{font-size:var(--text-sm);margin-bottom:var(--space-2);color:var(--text-secondary)}.account-info,.plan-info{margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--border-subtle)}.data-info{margin-bottom:var(--space-2)}.settings-desc{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-4);line-height:1.5}.account-info p,.plan-info p{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-2);font-weight:400}.upgrade-prompt{margin-top:0}.plan-comparison{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:1fr 1fr;display:grid}@media (width<=480px){.plan-comparison{grid-template-columns:1fr}}.plan-tier{padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-overlay)}.plan-tier h4{font-family:var(--font-display);font-size:var(--text-sm);margin-bottom:var(--space-2);color:var(--text-primary);font-weight:600}.plan-tier ul{font-size:var(--text-xs);color:var(--text-muted);font-weight:400;list-style:none}.plan-tier li{padding:var(--space-1) 0;padding-left:var(--space-4);position:relative}.plan-tier li:before{content:"•";color:var(--accent);position:absolute;left:0}.plan-pro{background:var(--gold-soft);border-color:#986f0b59}.plan-pro h4{color:var(--gold)}.upgrade-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.data-manager{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border-subtle)}.data-info .data-manager{border-top:none;margin-top:0;padding-top:0}.data-manager-buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.btn-data{min-width:100px;padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-muted);font-family:var(--font-body);font-size:var(--text-xs);cursor:pointer;text-align:center;transition:all var(--duration) var(--ease-out);flex:1;min-height:32px;font-weight:600}.btn-data:hover:not(:disabled):not(.disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.btn-data:disabled,.btn-data.disabled{opacity:.35;cursor:not-allowed}.btn-data-import{display:block}.data-manager-message{margin-top:var(--space-2);font-size:var(--text-xs);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-weight:600}.data-manager-message.success{color:var(--sage);background:var(--sage-soft);border:1px solid #107c1033}.data-manager-message.error{color:var(--danger);background:var(--danger-soft);border:1px solid #c50f1f33}.json-import-preview{margin-top:var(--space-3);padding:var(--space-3);background:var(--bg-overlay);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--text-muted);font-weight:400}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}:focus-visible{outline:2px solid var(--sky);outline-offset:2px}@media (width<=480px){.app-bar{padding:0 var(--space-3)}.app-container{padding:var(--space-4) var(--space-3) var(--space-7)}.tab-button{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.item-card{padding:var(--space-4)}.item-footer{flex-direction:column;align-items:flex-start}.meta-info{align-items:flex-start}}.lp-nav-cta{padding:var(--space-2) var(--space-4);background:var(--accent);color:#fff;font-size:var(--text-sm);border-radius:var(--radius-sm);white-space:nowrap;transition:background var(--duration) var(--ease-out);flex-shrink:0;font-weight:600;text-decoration:none}.lp-nav-cta:hover{background:var(--accent-hover)}.lp-main{width:100%;max-width:960px;padding:var(--space-8) var(--space-4) var(--space-8);gap:var(--space-8);flex-direction:column;flex:1;margin:0 auto;display:flex}.lp-hero{text-align:center;padding:var(--space-8) var(--space-4);align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.lp-eyebrow{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:600}.lp-hero-title{font-family:var(--font-display);color:var(--text-primary);font-size:2rem;font-weight:700;line-height:1.4}.lp-hero-lead{max-width:480px;font-size:var(--text-base);color:var(--text-secondary);line-height:1.7}.lp-hero-actions{margin-top:var(--space-2)}.lp-btn-primary{padding:var(--space-3) var(--space-7);background:var(--accent);color:#fff;font-size:var(--text-base);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:background var(--duration) var(--ease-out), box-shadow var(--duration) var(--ease-out);font-weight:600;text-decoration:none;display:inline-block}.lp-btn-primary:hover{background:var(--accent-hover);box-shadow:var(--shadow-md)}.lp-section-title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--text-primary);margin-bottom:var(--space-5);text-align:center;font-weight:600}.lp-card-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.lp-card{padding:var(--space-5);background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.lp-card-title{font-size:var(--text-base);color:var(--text-primary);margin-bottom:var(--space-2);font-weight:600}.lp-card-body{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.7}.lp-steps{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.lp-step{gap:var(--space-1);flex-direction:column;display:flex}.lp-step-label{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--accent-soft);-webkit-text-stroke:1px var(--accent);font-weight:700}.lp-step-title{font-size:var(--text-base);color:var(--text-primary);font-weight:600}.lp-step-body{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6}.lp-privacy{padding:var(--space-6);background:var(--bg-overlay);border-radius:var(--radius-lg);text-align:center}.lp-privacy-body{max-width:560px;font-size:var(--text-sm);color:var(--text-secondary);margin:0 auto;line-height:1.7}.lp-cta-band{text-align:center;padding:var(--space-8) var(--space-4);align-items:center;gap:var(--space-5);border-top:1px solid var(--border-subtle);flex-direction:column;display:flex}.lp-cta-title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--text-primary);font-weight:600}.lp-footer{padding:var(--space-5) var(--space-4);text-align:center;font-size:var(--text-xs);color:var(--text-muted);border-top:1px solid var(--border-subtle)}@media (width<=480px){.lp-hero-title{font-size:1.5rem}.lp-hero{padding:var(--space-6) var(--space-2)}}
