*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--color-bg: #faf7f2;--color-surface: #ffffff;--color-border: #e8e0d4;--color-border-light: #f1ebe1;--color-text: #2b2823;--color-text-secondary: #6b6259;--color-text-muted: #9b9286;--color-accent: #b07d52;--color-accent-soft: #c4956a;--color-accent-light: #f4ebe1;--color-accent-hover: #8f6440;--color-tag-bg: #f1ebe1;--color-tag-hover: #e7ddce;--color-positive: #7f8f6a;--color-negative: #b5705c;--color-serenite: #6f8a86;--color-danger: #c97070;--font-sans: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: "Cormorant Garamond", Georgia, serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 3px rgba(60, 45, 30, .05);--shadow-md: 0 2px 10px rgba(60, 45, 30, .08);--transition-fast: .15s ease;--transition-normal: .25s ease}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh}#root{min-height:100vh}input,textarea,button,select{font-family:inherit;font-size:inherit}button{cursor:pointer;border:none;background:none}textarea{resize:vertical}.app{max-width:880px;margin:0 auto;padding:var(--space-lg) var(--space-md) var(--space-2xl)}.app__main{margin-top:var(--space-xl)}.header{text-align:center;padding:var(--space-xl) 0 var(--space-md)}.header__title{font-family:var(--font-serif);font-size:2.6rem;font-weight:600;color:var(--color-text);letter-spacing:.01em;line-height:1.1}.header__subtitle{font-family:var(--font-serif);font-style:italic;font-size:1.1rem;color:var(--color-text-muted);margin-top:var(--space-xs)}.header__actions{margin-top:var(--space-md);display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.header__reload{font-size:.8rem;font-weight:700;color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.35rem .75rem;transition:color var(--transition-fast),border-color var(--transition-fast)}.header__reload:hover{color:var(--color-text);border-color:var(--color-accent)}.header__welcome{font-size:.9rem;color:var(--color-text-secondary)}.auth__loading{text-align:center;padding:var(--space-2xl) 0;color:var(--color-text-muted)}.golden-nugget{max-width:640px;margin:var(--space-md) auto 0;text-align:center;font-family:var(--font-serif);font-style:italic;font-size:1.25rem;line-height:1.5;color:var(--color-accent-hover);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.course-actions{display:flex;justify-content:center;gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap}.course-btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:.5rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);font-size:.88rem;font-weight:700;text-decoration:none;transition:all var(--transition-fast)}.course-btn:hover{border-color:var(--color-accent);color:var(--color-accent-hover);background:var(--color-accent-light)}.tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-xl)}.tabs__tab{display:inline-flex;align-items:center;gap:var(--space-sm);padding:.55rem 1rem;border-radius:999px;font-size:.92rem;font-weight:700;color:var(--color-text-secondary);border:1px solid transparent;transition:all var(--transition-fast)}.tabs__tab:hover{background:var(--color-accent-light);color:var(--color-text)}.tabs__tab--active{background:var(--color-accent);color:#fff}.tabs__tab--active:hover{background:var(--color-accent-hover);color:#fff}.section{margin-bottom:var(--space-2xl)}.section__lead{font-family:var(--font-serif);font-size:1.6rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-xs)}.section__hint{color:var(--color-text-muted);font-size:.9rem;margin-bottom:var(--space-lg)}.block{margin-bottom:var(--space-xl)}.block__title{font-family:var(--font-serif);font-size:1.3rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-xs);display:flex;align-items:baseline;gap:var(--space-sm)}.block__title small{font-family:var(--font-sans);font-size:.78rem;font-weight:400;color:var(--color-text-muted)}.block__intro{color:var(--color-text-secondary);font-size:.92rem;margin-bottom:var(--space-md)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-md)}.card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-md)}.card__title{font-family:var(--font-serif);font-size:1.2rem;font-weight:600;color:var(--color-text)}.field{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-md)}.field:last-child{margin-bottom:0}.field__label{font-size:.8rem;font-weight:700;letter-spacing:.02em;color:var(--color-text-secondary);text-transform:uppercase}.field__label--positive{color:var(--color-positive)}.field__label--negative{color:var(--color-negative)}.text-input,.textarea{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.6rem .75rem;background:var(--color-bg);color:var(--color-text);transition:border-color var(--transition-fast);line-height:1.5}.textarea{min-height:4.5rem}.text-input:focus,.textarea:focus{outline:none;border-color:var(--color-accent)}.segmented{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.segmented__option{padding:.45rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);font-size:.88rem;font-weight:700;transition:all var(--transition-fast)}.segmented__option:hover{border-color:var(--color-accent)}.segmented__option--active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.sync{font-size:.72rem;color:var(--color-text-muted);min-height:1em}.sync--pending{color:var(--color-text-muted)}.sync--error{color:var(--color-danger)}@media(max-width:680px){.app{padding:var(--space-md) var(--space-sm) var(--space-2xl)}.header{padding:var(--space-md) 0 var(--space-sm)}.header__title{font-size:2rem}.golden-nugget{font-size:1.1rem}.tabs__tab{font-size:.82rem;padding:.5rem .75rem}.section__lead{font-size:1.35rem}.card{padding:var(--space-md)}}.suivi-today .field{margin-bottom:var(--space-lg)}.serenite-range{width:100%;height:6px;cursor:pointer}.serenite-scale{display:flex;justify-content:space-between;font-size:.72rem;color:var(--color-text-muted);margin-top:2px}.habits{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm)}.habit{display:flex;align-items:center;gap:var(--space-sm);padding:.7rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;transition:all var(--transition-fast)}.habit:hover{border-color:var(--color-accent)}.habit__check{flex-shrink:0;width:20px;height:20px;border-radius:6px;border:2px solid var(--color-border);transition:all var(--transition-fast);position:relative}.habit--on{border-color:var(--color-positive);background:color-mix(in srgb,var(--color-positive) 10%,var(--color-surface))}.habit--on .habit__check{background:var(--color-positive);border-color:var(--color-positive)}.habit--on .habit__check:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.habit__titre{font-size:.86rem;font-weight:700;color:var(--color-text)}.suivi-count{font-size:.78rem;color:var(--color-text-muted)}.suivi-empty{font-size:.9rem;color:var(--color-text-muted);padding:var(--space-md) 0}.tracker-scroll{overflow-x:auto}.tracker{display:grid;align-items:center;gap:3px;min-width:460px}.tracker__rowlabel{font-size:.78rem;font-weight:700;color:var(--color-text-secondary);padding-right:var(--space-sm);white-space:nowrap}.tracker__rowlabel--muted{color:var(--color-text-muted);font-weight:400}.tracker__cell{display:flex;align-items:flex-end;justify-content:center;height:26px}.tracker__cell--bar{align-items:flex-end}.bar{display:block;width:72%;border-radius:3px 3px 1px 1px;min-height:4px}.dot{width:14px;height:14px;border-radius:4px;background:var(--color-border-light);border:1px solid var(--color-border)}.dot--on{background:var(--color-positive);border-color:var(--color-positive)}.tracker__daylabel{font-size:.62rem;color:var(--color-text-muted);text-align:center;white-space:nowrap}@media(max-width:680px){.habits{grid-template-columns:1fr}}.heritage-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.heritage-grid .field{margin-bottom:0}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);color:var(--color-text-muted);transition:color var(--transition-fast),background var(--transition-fast)}.icon-btn:hover{color:var(--color-negative);background:var(--color-accent-light)}.additem{display:flex;gap:var(--space-sm);margin-top:var(--space-sm)}.additem .text-input{flex:1}.additem__btn{display:inline-flex;align-items:center;justify-content:center;width:40px;border-radius:var(--radius-sm);background:var(--color-accent);color:#fff;transition:background var(--transition-fast)}.additem__btn:hover{background:var(--color-accent-hover)}@media(max-width:680px){.heritage-grid{grid-template-columns:1fr}}.piliers{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.pilier{background:var(--color-accent-light);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs)}.pilier__titre{font-family:var(--font-serif);font-size:1.1rem;font-weight:600;color:var(--color-accent-hover)}.pilier__desc{font-size:.85rem;color:var(--color-text-secondary)}.boussole{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.boussole .field{margin-bottom:0}.boussole .textarea{min-height:8rem}.field__label--peux{color:var(--color-accent-hover)}.boussole .field:last-child .textarea{border-color:var(--color-accent-soft);background:var(--color-accent-light)}@media(max-width:680px){.piliers,.boussole{grid-template-columns:1fr}}.auth{max-width:420px;margin:0 auto;padding:var(--space-2xl) var(--space-md);display:flex;flex-direction:column;gap:var(--space-lg)}.auth__header{text-align:center}.auth__title{font-family:var(--font-serif);font-size:1.6rem;font-weight:600;letter-spacing:-.02em;color:var(--color-text)}.auth__subtitle{margin-top:var(--space-xs);color:var(--color-text-secondary);font-size:.95rem;font-weight:300}.auth__divider{width:40px;height:2px;background:var(--color-accent);border:none;margin:var(--space-md) auto 0}.auth__form{display:flex;flex-direction:column;gap:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl) var(--space-lg);box-shadow:var(--shadow-sm)}.auth__field{display:flex;flex-direction:column;gap:var(--space-xs)}.auth__label{font-size:.85rem;color:var(--color-text-secondary);font-weight:500}.auth__input{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.6rem .75rem;background:var(--color-bg);color:var(--color-text);transition:border-color var(--transition-fast)}.auth__input:focus{outline:none;border-color:var(--color-accent)}.auth__submit{margin-top:var(--space-sm);background:var(--color-accent);color:#fff;border-radius:var(--radius-sm);padding:.65rem 1rem;font-weight:500;transition:background var(--transition-fast)}.auth__submit:hover:not(:disabled){background:var(--color-accent-hover)}.auth__submit:disabled{opacity:.6;cursor:wait}.auth__error{background:#fdeeee;color:#b42318;border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:.85rem}.auth__footer{text-align:center;font-size:.9rem;color:var(--color-text-secondary)}.auth__link{color:var(--color-accent-hover);font-weight:500;text-decoration:none}.auth__link:hover{text-decoration:underline}@media(max-width:480px){.auth{padding:var(--space-lg) var(--space-sm)}.auth__form{padding:var(--space-lg) var(--space-md)}}
