:root{color-scheme:light;--bg:#f5efe7;--bg-2:#f2e2d0;--surface:#fff;--surface-2:hsla(0,0%,100%,.65);--ink:#1a1a1a;--muted:#5b4f45;--accent:#b84d2e;--accent-2:#2f6f6c;--border:rgba(26,26,26,.1);--shadow:0 24px 48px rgba(26,26,26,.12)}@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600&family=Instrument+Serif:ital@0;1&display=swap");*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top left,#ffe5d4 0,#f5efe7 45%,#e2efe8 100%);color:var(--ink);font-family:Space Grotesk,system-ui,sans-serif}.landing{min-height:100vh}.info-page,.landing-hero{min-height:100vh;padding:64px 6vw 48px}.landing-hero{display:grid;grid-template-columns:minmax(240px,1fr) minmax(320px,1.2fr);align-items:center;grid-gap:40px;gap:40px}.landing-copy{max-width:560px}.landing-art{width:min(360px,60vw);aspect-ratio:1/1;display:grid;place-items:center;background:transparent;border-radius:0;filter:none}.landing-art img{width:92%;height:auto;object-fit:contain;opacity:.92}.scroll-cta{margin-top:18px;border:none;background:transparent;color:var(--accent-2);font-size:1rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:0}.scroll-cta .arrow{display:inline-block;transition:transform .2s ease}.landing-login{padding:24px 0 80px}.landing-about{padding:0 6vw 40px}.about-inner{max-width:720px;margin:0 auto;background:transparent;border:none;border-radius:0;padding:0;box-shadow:none}.about-inner h2{margin:0 0 12px}.about-inner p{margin:0 0 10px;color:var(--muted)}.about-inner ul{margin:0;padding-left:18px;color:var(--muted)}.landing-faq{padding:0 6vw 80px}.faq-inner{max-width:720px;margin:0 auto;background:transparent;border:none;border-radius:0;padding:0;box-shadow:none}.faq-inner h2{margin:0 0 16px}.faq-inner details{border-top:1px solid var(--border);padding:12px 0}.faq-inner details:first-of-type{border-top:none}.faq-inner summary{cursor:pointer;font-weight:600;color:var(--ink)}.faq-inner p{margin:8px 0 0;color:var(--muted)}.landing-footer{padding:0 6vw 40px;display:flex;justify-content:center;gap:24px}.landing-footer a{color:var(--accent-2);text-decoration:none;font-weight:600}.scroll-cta:hover .arrow{transform:translateX(4px)}@media (max-width:980px){.landing-hero{grid-template-columns:1fr}.landing-art{width:min(240px,60vw);margin:0 auto}}.muted{color:var(--muted);margin:0}.auth-page{min-height:100vh;padding:56px 6vw 48px;display:grid;place-items:center}.auth-card{width:min(420px,100%);background:var(--surface);border-radius:24px;padding:24px;border:1px solid var(--border);box-shadow:var(--shadow);display:grid;grid-gap:12px;gap:12px}.page{min-height:100vh;padding:56px 6vw 48px;display:flex;flex-direction:column;gap:32px}.hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);grid-gap:32px;gap:32px;align-items:stretch}.hero h1{font-family:"Instrument Serif",serif;font-size:clamp(2.6rem,4vw,4rem);margin:0 0 12px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem}.eyebrow,.subtext{color:var(--muted)}.subtext{font-size:1rem;max-width:480px}.hero-actions{margin-top:16px;display:inline-flex;align-items:center;gap:12px;padding:8px 14px;border-radius:999px;background:hsla(0,0%,100%,.65);border:1px solid var(--border);color:var(--muted)}.hero-card{background:linear-gradient(135deg,#fff,#f8efe4);border-radius:24px;padding:24px;box-shadow:var(--shadow);display:grid;grid-gap:16px;gap:16px}.stat{background:var(--surface-2);border-radius:16px;padding:16px;border:1px solid var(--border);display:grid;grid-gap:4px;gap:4px}.stat span{font-size:.8rem;color:var(--muted)}.stat strong{font-size:1rem}.grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-gap:28px;gap:28px}.grid.results-active{grid-template-columns:1fr}.grid.results-active .form-panel,.grid.results-active .result-panel{max-width:920px;margin:0 auto;width:100%}.result-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.result-actions{display:inline-flex;gap:8px;align-items:center}.ghost-button{border:1px solid var(--border);background:#fff;color:var(--muted);padding:6px 12px;border-radius:999px;cursor:pointer;transition:all .2s ease}.ghost-button:hover{border-color:var(--accent-2);color:var(--accent-2)}.auth-panel{border:1px solid var(--border);border-radius:16px;padding:16px;margin-bottom:16px;background:#faf6f0}.auth-header{justify-content:space-between;margin-bottom:12px}.auth-header,.auth-user{display:flex;align-items:center}.auth-user{gap:8px;color:var(--muted)}.auth-tabs{display:flex;gap:8px;margin-bottom:12px}.tab{border:1px solid var(--border);background:#fff;border-radius:999px;padding:6px 12px;cursor:pointer}.tab.active{border-color:var(--accent-2);color:var(--accent-2)}.auth-body{display:grid;grid-gap:12px;gap:12px}.reset-block{display:grid;grid-gap:8px;gap:8px}.link{background:none;border:none;color:var(--accent-2);text-align:left;padding:0;cursor:pointer}.hint{margin:0;color:var(--muted);font-size:.85rem}.card-click{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.card-click:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(26,26,26,.12)}.chip.mini{display:inline-block;margin-top:8px;font-size:.75rem;padding:4px 10px}.panel{background:var(--surface);border-radius:24px;padding:24px;border:1px solid var(--border);box-shadow:var(--shadow)}.form{display:grid;grid-gap:16px;gap:16px}.field{display:grid;grid-gap:8px;gap:8px}.field label{font-size:.85rem;color:var(--muted)}input,select,textarea{border-radius:12px;border:1px solid var(--border);padding:10px 12px;font-size:.95rem;font-family:Space Grotesk,system-ui,sans-serif;background:#fff;resize:none}.inline{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--border);background:#f7f1ea;color:var(--ink);border-radius:999px;padding:6px 14px;cursor:pointer;transition:all .2s ease}.chip.active{background:var(--accent);color:#fff;border-color:transparent}.submit{border:none;border-radius:14px;padding:12px 16px;font-size:1rem;background:var(--accent-2);color:#fff;cursor:pointer;transition:transform .2s ease}.submit:disabled{opacity:.7;cursor:not-allowed}.submit:hover:not(:disabled){transform:translateY(-1px)}.error{color:#b42318;margin:0}.history-panel h2,.result-panel h2{margin-bottom:12px}.history-list{display:grid;grid-gap:12px;gap:12px}.history-list.with-current{margin-top:12px}.history-current{display:grid;grid-gap:8px;gap:8px;margin-bottom:14px}.history-label{font-size:.85rem;color:var(--muted)}.history-item{border:1px solid var(--border);background:#fff8f1;border-radius:16px;padding:14px;text-align:left;cursor:pointer;transition:all .2s ease}.history-item:hover{border-color:var(--accent-2);box-shadow:0 8px 18px rgba(26,26,26,.08)}.history-item.static{cursor:default}.history-item.static:hover{border-color:var(--border);box-shadow:none}.history-title{font-weight:600;margin-bottom:6px}.history-meta{color:var(--muted);font-size:.85rem}.empty{padding:32px;border-radius:16px;background:#f7efe5;border:1px dashed var(--border);color:var(--muted)}.results{display:grid;grid-gap:24px;gap:24px}.cards{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.card{background:#fff8f1;border-radius:16px;padding:16px;border:1px solid var(--border)}.card h4{margin:0 0 8px}.card ul{padding-left:18px;margin:0 0 10px}.card ul,.meta{color:var(--muted)}.meta{margin:4px 0;font-size:.85rem}.day-grid{display:grid;grid-gap:16px;gap:16px}.day-card{background:#fefcf9;border-radius:16px;padding:16px;border:1px solid var(--border)}.segment{border-top:1px dashed var(--border);padding-top:12px;margin-top:12px}.segment-title{display:flex;justify-content:space-between;gap:12px}.alt,.segment-title span{color:var(--muted);font-size:.85rem}.budget-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.budget-grid div{background:#f7efe3;border-radius:14px;padding:12px;border:1px solid var(--border);display:grid;grid-gap:4px;gap:4px}.budget-grid span{color:var(--muted);font-size:.8rem}.warnings{padding-left:18px}.footer,.warnings{color:var(--muted)}.footer{font-size:.85rem;display:flex;justify-content:space-between;gap:12px}.footer-version{margin-left:auto;text-align:right}.footer-links{display:inline-flex;gap:12px}.footer-links a{color:var(--accent-2);text-decoration:none}@media (max-width:980px){.grid,.hero{grid-template-columns:1fr}}@media (max-width:1200px){.grid{grid-template-columns:1fr}.panel{max-width:100%}.auth-card{width:min(520px,100%)}}