*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #FFFFFF;--text: #000000;--text-muted: #555555;--border: #E5E5E3;--button: #000000;--accent: #E19167;--accent-dark: #C36F42;--radius: 10px}body{font-family:Outfit,system-ui,-apple-system,sans-serif;font-weight:300;font-size:16px;line-height:1.7;letter-spacing:.01em;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.app{width:100%;max-width:1040px;margin:0 auto;background:var(--bg)}.main-content{padding-bottom:40px}.top-nav{display:flex;gap:28px;flex-wrap:wrap;padding:20px 16px 0;border-bottom:1px solid var(--border)}.nav-tab{background:none;border:none;cursor:pointer;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding:4px 2px 12px;border-bottom:2px solid transparent;-webkit-tap-highlight-color:transparent}.nav-tab--active{color:var(--text);border-bottom-color:var(--accent)}.status-line{font-size:13px;color:var(--text-muted);padding:12px 16px 0}.screen{padding:16px}.section-title{font-family:Outfit,sans-serif;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px;margin-top:4px}.plan-section,.bucket{margin-bottom:24px}.bucket-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}.bucket-header--done{border-color:var(--accent)}.bucket-title{font-family:Outfit,sans-serif;font-size:14px;font-weight:600;color:var(--text)}.bucket-count{font-size:12px;font-weight:700;background:var(--bg);color:var(--text-muted);padding:2px 7px;border-radius:99px;border:1px solid var(--border)}.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.card-grid--library{margin-top:4px}.action-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:12px 12px 14px;cursor:pointer;display:flex;flex-direction:column;gap:4px;min-height:72px;position:relative;transition:opacity .1s,transform .1s;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;-moz-user-select:none;-webkit-touch-callout:none}.action-card:active{opacity:.85;transform:scale(.98)}.action-card--library{min-height:80px}.action-card--done{background:#fafafa!important}.action-card--in-plan{border:2px solid var(--accent)}.action-card--dragging{opacity:.6;transform:scale(1.03)}.drag-ghost{position:fixed;top:0;left:0;z-index:50;pointer-events:none;transform:translate(-50%,-50%);width:152px}.drag-ghost-card{opacity:.95;box-shadow:0 8px 20px #0000002e}.bucket--drop-active{background:#e191671a;border:2px solid var(--accent);border-radius:var(--radius)}.card-theme-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.card-money-tag{font-weight:700;letter-spacing:.02em}.card-ongoing-badge{display:inline-block;margin-top:4px;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;border:1px dashed var(--border);color:var(--text-muted);align-self:flex-start}.card-title{font-family:Outfit,sans-serif;font-size:15px;font-weight:300;line-height:1.4;color:var(--text)}.card-title--done{text-decoration:line-through;color:var(--text-muted)!important}.card-in-plan-badge{position:absolute;top:6px;right:6px;font-size:9px;font-weight:700;padding:2px 5px;border-radius:4px;text-transform:uppercase;letter-spacing:.08em;background:var(--text);color:#fff}.hub-intro{font-size:15px;color:var(--text-muted);margin-bottom:20px;line-height:1.6}.hub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.hub-card{display:flex;flex-direction:column;align-items:flex-start;padding:16px 14px 18px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);cursor:pointer;text-align:left;gap:3px;font-family:inherit;width:100%;transition:border-color .15s,transform .1s;-webkit-tap-highlight-color:transparent}.hub-card:active{transform:scale(.98)}.hub-emoji{font-size:26px;line-height:1;margin-bottom:6px}.hub-label{font-family:Outfit,sans-serif;font-size:15px;font-weight:700;color:var(--text)}.hub-desc{font-size:12px;color:var(--text-muted);line-height:1.4}.hub-count{font-size:11px;font-weight:600;margin-top:8px;color:var(--text-muted)}.back-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text);padding:0 0 16px;-webkit-tap-highlight-color:transparent}.type-header{font-family:Outfit,sans-serif;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}.filter-row{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}.filter-row--scroll{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.filter-row--scroll::-webkit-scrollbar{display:none}.filter-chip{white-space:nowrap;padding:7px 14px;border-radius:99px;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);font-family:Outfit,sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:all .12s;-webkit-tap-highlight-color:transparent}.filter-chip--active{background:var(--button);border-color:var(--button);color:#fff}.empty-state{color:var(--text-muted);font-size:15px;text-align:center;padding:32px 16px;line-height:1.6}.empty-state-center{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 24px;gap:8px}.empty-icon{font-size:40px;margin-bottom:4px}.empty-title{font-family:Bodoni Moda,serif;font-size:20px;font-weight:400;color:var(--text)}.empty-body{font-size:15px;color:var(--text-muted);line-height:1.6;max-width:280px}.inline-panel{grid-column:1 / -1;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin:2px 0 6px}.inline-panel-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:99px;border:1px solid var(--border);margin-bottom:16px;max-width:100%}.inline-panel-chip-theme{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.inline-panel-chip-title{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inline-panel-heading{font-family:Bodoni Moda,serif;font-size:18px;font-weight:400;color:var(--text);margin-bottom:16px;line-height:1.4}.inline-panel-year-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.inline-panel-year-btn{padding:12px 8px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);color:var(--text);font-family:Outfit,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .12s;-webkit-tap-highlight-color:transparent}.inline-panel-year-btn.active{border:2px solid var(--accent)}.inline-panel-year-btn--ongoing{grid-column:1 / -1;border-style:dashed;color:var(--text-muted);font-size:13px}.inline-panel-year-btn--ongoing.active{border-style:solid}.inline-panel-done-btn{margin-bottom:12px}.inline-panel-remove-btn,.inline-panel-cancel-btn{display:block;width:100%;text-align:center;padding:10px;background:none;border:none;font-family:Outfit,sans-serif;font-size:14px;font-weight:600;color:var(--text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent}.inline-panel-remove-btn{color:#c0392b}.btn-primary{background:var(--button);color:#fff;border:none;border-radius:var(--radius);padding:12px 20px;min-height:44px;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:opacity .12s;-webkit-tap-highlight-color:transparent}.btn-primary:active{opacity:.8}.btn-secondary{background:var(--bg);color:var(--text);border:1px solid var(--text);border-radius:var(--radius);padding:12px 20px;min-height:44px;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;-webkit-tap-highlight-color:transparent}.btn-full{display:block;width:100%;text-align:center}.onboarding{background:var(--bg);padding:40px 16px}.onboarding-inner{width:100%;max-width:640px}.hero{margin-bottom:32px}.hero-title{font-family:Bodoni Moda,serif;font-size:clamp(32px,4vw,44px);font-weight:700;letter-spacing:-.02em;color:var(--text);line-height:1.15;margin-bottom:14px}.hero-sub{font-family:Bodoni Moda,serif;font-size:24px;font-weight:400;color:var(--accent-dark);line-height:1.4;margin-bottom:16px}.hero-intro{font-size:16px;font-weight:300;line-height:1.7;letter-spacing:.01em;color:var(--text-muted)}.how-it-works{padding-top:24px;margin-bottom:32px;border-top:1px solid var(--border)}.how-it-works-title{font-family:Outfit,sans-serif;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px}.how-it-works-steps{list-style:none;display:flex;flex-direction:column;gap:14px}.how-it-works-steps li{display:flex;align-items:flex-start;gap:12px;font-size:16px;font-weight:300;color:var(--text);line-height:1.5}.step-num{flex-shrink:0;width:24px;height:24px;border-radius:50%;border:1px solid var(--accent);color:var(--text);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.onboarding-form{display:flex;flex-direction:column;gap:16px;padding-top:24px;margin-bottom:20px;max-width:440px;border-top:1px solid var(--border)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-family:Outfit,sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.field input,.field select{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);font-size:16px;font-family:Outfit,sans-serif;background:var(--bg);color:var(--text);outline:none;transition:border-color .15s;-moz-appearance:none;appearance:none;-webkit-appearance:none}.field input:focus,.field select:focus{border-color:var(--accent)}.select-wrap{position:relative}.select-wrap:after{content:"▾";position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-muted);font-size:14px}.form-error{font-size:13px;color:#c0392b;font-weight:600}.onboarding-note{font-size:13px;color:var(--text-muted);line-height:1.6;max-width:440px}.your-plan-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;margin-bottom:8px;border-bottom:1px solid var(--border)}.your-plan-title{font-family:Bodoni Moda,serif;font-size:24px;font-weight:400;color:var(--text)}.your-plan-blurb{font-size:15px;color:var(--text-muted);line-height:1.6;margin-bottom:20px}.download-hint{font-size:12px;color:var(--text-muted);margin-bottom:12px}.toolbar-btns{display:flex;gap:8px;flex-shrink:0}.your-plan-footer{font-size:12px;color:var(--text-muted);text-align:center;padding-top:16px;margin-top:8px;border-top:1px solid var(--border)}.filter-chip--star{border-color:var(--accent)}.profile-header{text-align:left;padding:8px 0 20px;margin-bottom:20px;border-bottom:1px solid var(--border)}.profile-avatar{font-size:36px;margin-bottom:10px}.profile-stage-label{font-family:Bodoni Moda,serif;font-size:20px;font-weight:400;color:var(--text)}.profile-form{display:flex;flex-direction:column;gap:16px}.profile-confirm-note{font-family:Outfit,sans-serif;font-size:16px;font-weight:300;line-height:1.7;color:var(--text);margin:0}.profile-saved-msg{text-align:center;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text);border:1px solid var(--accent);padding:12px;border-radius:var(--radius)}.sprint-section{margin-bottom:24px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.sprint-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--bg);border-bottom:1px solid var(--border)}.sprint-header-info{display:flex;align-items:center;gap:8px}.sprint-header-icon{font-size:18px}.sprint-title{font-family:Outfit,sans-serif;font-size:13px;font-weight:700;color:var(--text)}.sprint-days{font-size:11px;color:var(--text-muted);margin-top:1px}.sprint-end-btn{font-family:Outfit,sans-serif;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text);background:none;border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;cursor:pointer;-webkit-tap-highlight-color:transparent}.sprint-cards{padding:12px 12px 14px}.sprint-empty{padding:12px 10px;font-size:14px;color:var(--text-muted);line-height:1.5}.sprint-cta{width:100%;margin-bottom:24px;padding:16px;background:var(--bg);border:1px dashed var(--accent);border-radius:var(--radius);display:flex;align-items:center;gap:12px;cursor:pointer;text-align:left;font-family:inherit;-webkit-tap-highlight-color:transparent}.sprint-cta-icon{font-size:22px;flex-shrink:0}.sprint-cta-body{flex:1}.sprint-cta-title{font-family:Outfit,sans-serif;font-size:14px;font-weight:700;color:var(--text);margin-bottom:2px}.sprint-cta-desc{font-size:13px;color:var(--text-muted);line-height:1.4}.sprint-cta-arrow{font-size:20px;color:var(--text-muted);flex-shrink:0}@media (min-width: 700px){.card-grid{grid-template-columns:repeat(3,1fr)}.screen{padding:24px}.top-nav{padding:24px 24px 0}.status-line{padding:12px 24px 0}}@media (min-width: 1000px){.card-grid{grid-template-columns:repeat(4,1fr)}.screen{padding:40px}.top-nav{padding:40px 40px 0}.status-line{padding:16px 40px 0}}.print-only{display:none}@media print{body{background:#fff!important;color:#000!important;font-family:Outfit,sans-serif}.top-nav,.status-line,.toolbar-btns,.your-plan-blurb,.download-hint{display:none!important}.print-only{display:block!important}.print-header{padding-bottom:16px;margin-bottom:20px;border-bottom:2px solid #000;display:flex;align-items:flex-start;justify-content:space-between}.print-logo{font-family:Bodoni Moda,serif;font-size:20px;font-weight:700;color:#000;margin-bottom:4px}.print-user{font-size:13px;color:#000}.print-date{font-size:11px;color:#555;text-align:right}.your-plan-toolbar{border-bottom:none;padding:0;margin-bottom:0}.your-plan-title{font-size:18px}.action-card,.bucket{break-inside:avoid}.your-plan-footer{margin-top:24px;font-size:11px}}
