@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
:root{--black:#151515;--gold:#c6a15b;--gold2:#e1c88f;--paper:#f6f3ed;--ink:#242321;--muted:#6e6b65;--line:#e5dccb}
*{box-sizing:border-box}body{margin:0;background:#eeece7;color:var(--ink);font:300 10px/1.6 Inter,"Arial",sans-serif}
.top{background:var(--black);color:#fff;padding:28px max(20px,calc((100vw - 1080px)/2));display:flex;align-items:center;gap:15px;border-bottom:4px solid var(--gold)}
.brand-mark{width:44px;height:44px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font:400 24px Georgia,serif}
.eyebrow{font-size:9px;letter-spacing:2px;color:var(--gold);margin:0 0 3px}h1{font-size:clamp(20px,3vw,29px);line-height:1.2;font-weight:400;margin:0;letter-spacing:-.5px}h1 span{display:block;font-size:12px;color:var(--gold2);font-weight:300;letter-spacing:1px;margin-top:4px}
main{max-width:1080px;margin:auto;padding:22px 18px 35px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.toolbar p{color:var(--muted);margin:0}.actions{display:flex;gap:7px;flex-wrap:wrap}
button{font:500 10px Inter,Arial,sans-serif;border:1px solid var(--gold);background:var(--black);color:var(--gold2);padding:9px 14px;border-radius:5px;cursor:pointer}button:hover{filter:brightness(1.12)}button.secondary{background:#fff;color:var(--black);border-color:#d8c8a6}
.panel{padding:17px 18px;margin:12px 0;border-radius:9px;border:1px solid var(--line);box-shadow:0 3px 12px #2520160b;background:#fff}
.overview{background:#fbf8f0}.rituals{background:#f7f3e9}.gut{background:#f0f5f0}.exercise{background:#f4f1eb}.skill{background:#f5f0f8}.output{background:#f0f4f7}.weakness{background:#fbf1ed}.way{background:#f1f5ec}.food{background:#fbf7ed}
.section-title{display:flex;align-items:center;gap:10px;margin-bottom:13px;border-bottom:1px solid #c6a15b55;padding-bottom:8px}.section-title span{color:#8f6c2c;font-size:10px;letter-spacing:1px}.section-title h2{font-size:14px;line-height:1.3;font-weight:500;margin:0;letter-spacing:.1px}
.grid{display:grid;gap:12px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}label{display:flex;flex-direction:column;gap:5px;font-weight:400;color:#393732}.full{grid-column:1/-1}
input:not([type=checkbox]):not([type=file]),select,textarea{width:100%;border:1px solid #d9d2c6;background:#fffdf9;border-radius:5px;padding:9px 10px;color:var(--ink);font:300 10px/1.5 Inter,Arial,sans-serif;outline:none}
textarea{resize:vertical;min-height:75px}input:focus,select:focus,textarea:focus{border-color:#b58c42;box-shadow:0 0 0 2px #c6a15b25}
.check{display:flex;align-items:center;gap:8px;min-height:37px;background:#ffffff9c;border:1px solid #e5dccb;border-radius:5px;padding:7px 10px}.check input{accent-color:#9c772e;width:14px;height:14px}
.hint{color:var(--muted);font-size:9px}#photoPreview{max-width:100%;max-height:220px;object-fit:contain;border-radius:6px;margin-top:8px}#status{min-height:18px;color:#69501f;font-weight:500}footer{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #d8c8a6;padding-top:14px;color:var(--muted)}footer span{letter-spacing:1px;font-size:8px}
@media(max-width:650px){.top{padding:22px 17px}.grid.three,.grid.two{grid-template-columns:1fr}.full{grid-column:auto}main{padding:15px 11px 25px}.panel{padding:14px 12px}.toolbar{align-items:flex-start}.actions{width:100%}.actions button{flex:1}footer{flex-direction:column}}
@media print{body{background:white}.top{padding:16px;background:#151515!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}main{padding:10px}.toolbar .actions{display:none}.panel{break-inside:avoid;box-shadow:none}textarea{min-height:45px}}

.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.reading-row,.meditation-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}.photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;margin-top:8px}.photo-thumb{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;border:1px solid #d9c89f;cursor:zoom-in;background:#fff}.photo-thumb:focus{outline:2px solid #b58c42;outline-offset:2px}.photo-viewer{position:fixed;inset:0;background:#080808e8;display:flex;align-items:center;justify-content:center;padding:24px;z-index:9999;cursor:zoom-out}.photo-viewer img{max-width:95vw;max-height:90vh;object-fit:contain;border-radius:5px}.photo-viewer button{position:absolute;top:16px;right:16px;background:#151515;color:#e1c88f}@media(max-width:650px){.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.reading-row,.meditation-row{grid-template-columns:1fr}}

/* Name, prominent tagline and weight progress chart */
.intro-copy{flex:1;min-width:250px;display:flex;flex-direction:column;gap:10px}
.tagline{font-size:clamp(16px,2.1vw,23px);font-weight:600;line-height:1.3;letter-spacing:-.35px;color:var(--black);margin:0;position:relative;padding-left:13px}
.tagline:before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:4px;border-radius:4px;background:var(--gold)}
.name-field{max-width:420px;font-size:10px;font-weight:500}
.name-field input{margin-top:2px}
.weight-progress{background:linear-gradient(135deg,#fbf8f0,#f3eee2);border-color:#d9c69d}
.graph-intro{color:var(--muted);margin:0 0 10px}
.weight-summary{font-weight:500;color:#70531d;margin:5px 0 10px}
.chart-wrap{width:100%;overflow:hidden;border-radius:7px;background:#fffdf9;border:1px solid #e5dccb;padding:8px}
#weightChart{display:block;width:100%;height:auto;min-height:200px;overflow:visible}
#weightChart .gridline{stroke:#e8e0d2;stroke-width:1}
#weightChart .axis-label{font:10px Inter,Arial,sans-serif;fill:#6e6b65}
#weightChart .weight-line{fill:none;stroke:#b58c42;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
#weightChart .weight-point{fill:#151515;stroke:#c6a15b;stroke-width:3}
#weightChart .chart-title{font:600 11px Inter,Arial,sans-serif;fill:#242321}
@media(max-width:650px){.toolbar{gap:14px}.intro-copy{width:100%;min-width:0}.tagline{font-size:19px}.name-field{max-width:none}.chart-wrap{padding:3px}#weightChart{min-height:160px}}

.photo-thumb-wrap{position:relative;min-width:0}.remove-photo{position:absolute;right:3px;top:3px;width:22px;height:22px;padding:0;border-radius:50%;background:#151515e8;color:#fff;border:1px solid #c6a15b;font-size:15px;line-height:1}.photo-thumb-wrap .photo-thumb{display:block}
