@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');
:root{font-family:Inter,Arial,sans-serif;color:#faf7fc;background:#100e13;font-synthesis:none;--purple:#b450e8;--bright:#ce8af4;--muted:#b3a8bd;--border:#493352;--card:#1b171ff5;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}a{color:inherit}button,input,a,summary{touch-action:manipulation}button:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #e1a4ff;outline-offset:4px}.site-background{position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,#0f0c1255,#0f0c12b3 65%),url('./assets/brand-background.jpeg') left top/cover no-repeat;pointer-events:none}.header,main{max-width:1190px;margin:auto;padding-left:40px;padding-right:40px}.header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px;padding-bottom:20px;border-bottom:1px solid #8d4eb93d}.logo-panel{display:block;width:150px;flex-shrink:0}.logo-panel img{width:100%;height:auto;display:block}.header-label{font-size:10px;letter-spacing:2.4px;display:flex;align-items:center;gap:9px;font-weight:600;color:#d6c9de}.accent-dot{width:6px;height:6px;background:var(--purple);border-radius:50%;box-shadow:0 0 15px #b450e8}.quiet-button{border:0;background:none;color:#e4cfef;font-size:11px;padding:10px 0}.quiet-button span{padding-left:12px}.intro{padding:32px 0}.eyebrow{font-size:9px;letter-spacing:2.2px;color:var(--bright);font-weight:600;margin:0 0 12px}.intro h1{font-family:var(--display);font-size:64px;letter-spacing:.4px;line-height:.98;margin:0 0 16px;font-weight:800}.intro h1 span{color:var(--purple)}.intro>p:last-child{font-size:12px;color:#cec2d6;line-height:1.8;margin:0}.layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:start}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:23px;margin:0 0 16px;box-shadow:0 8px 24px #0002}.section-title{display:flex;gap:11px;margin-bottom:23px}.step-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;font-family:var(--display);font-weight:700;color:var(--bright);background:#442550;border:1px solid #6a397f;border-radius:6px;font-size:14px}.section-title h2{font-family:var(--display);font-size:23px;letter-spacing:.7px;line-height:1;margin:0 0 7px;font-weight:700}.section-title p{font-size:10px;margin:0;color:var(--muted);line-height:1.5}.target-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.target-grid fieldset{border:1px solid #51385d;background:#221a28;border-radius:8px;padding:14px;min-width:0;margin:0}.target-grid legend{font-size:10px;font-weight:600;padding:0 7px;color:#e5c8f6;letter-spacing:.8px}.type-icon{color:var(--bright);font-size:14px;margin-right:4px}.type-icon.rest{color:#aaa0b4}label{font-size:10px;color:#d3c7dc;display:block;margin:0 0 6px;font-weight:500}.number-input{position:relative;margin-bottom:15px}.number-input:last-child{margin-bottom:0}.number-input input{height:51px;padding:12px 51px 12px 11px;width:100%;min-width:0;font-size:22px;letter-spacing:-.4px;font-weight:600;background:#110e16;color:white;border:1px solid #684b78;border-radius:6px}.number-input input::placeholder{font-size:16px;letter-spacing:0;color:#9c89a6;font-weight:400}.number-input>span{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:9px;color:#c0aaca;pointer-events:none}.number-input input:focus{background:#18101f;border-color:var(--bright)}.micro-note{font-size:9px;color:var(--muted);line-height:1.7;margin:14px 0 0}.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.day-button{border:1px solid #665071;background:#211b28;color:#c7b7d2;border-radius:7px;min-width:0;padding:11px 2px;min-height:64px;font-size:10px}.day-button strong{font-size:12px;display:block;margin-bottom:7px;font-weight:600}.day-button>span{font-size:8px}.day-button[aria-pressed=true]{border-color:#bd6ce9;background:linear-gradient(150deg,#6f2e91,#422054);color:white;box-shadow:inset 0 0 0 1px #9f4ad51f}.day-button[aria-pressed=true]>span{color:#ead0fa}.schedule-caption{font-size:9px;display:flex;align-items:center;gap:6px;margin:15px 0 0;color:var(--muted)}.legend-dot{display:inline-block;width:5px;height:5px;border-radius:50%}.legend-dot.purple{background:var(--purple)}.legend-dot.grey{background:#a590b5;margin-left:10px}.event-card input[type=date]{display:block;width:100%;height:45px;border-radius:6px;background:#110e16;color:white;border:1px solid #684b78;padding:10px 12px;font-size:13px;margin-bottom:18px;color-scheme:dark}.number-input.large{margin-bottom:9px}.number-input.large input{font-size:28px;height:58px;padding-right:88px}.number-input.large>span{font-size:10px}.input-help{font-size:10px;color:var(--muted);line-height:1.7;margin:0 0 21px;max-width:360px}.primary-button{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;border:1px solid #c077ea;background:linear-gradient(110deg,#a13bce,#7928a5);border-radius:7px;padding:15px 18px;font-size:12px;letter-spacing:1.2px;font-weight:600;color:white;box-shadow:0 5px 24px #6b158539}.primary-button:hover{background:linear-gradient(110deg,#b451de,#9137bc)}.primary-button span{font-size:20px;line-height:1}.no-admin{text-align:center;font-size:9px;color:#bca6c9;margin:12px 0 0}.results-column{position:sticky;top:20px}.results-title{margin:2px 0 23px}.results-title h2{font-family:var(--display);font-size:36px;letter-spacing:.5px;line-height:1.04;margin:0;font-weight:600}.results-title .eyebrow{margin-bottom:7px;font-size:9px}.empty-state{padding:36px 30px;text-align:center;border-style:dashed;min-height:350px;background:#19141fe8}.empty-icon{width:48px;height:48px;border:1px solid #a15fbf;border-radius:10px;background:#40204f;margin:0 auto 23px;display:flex;align-items:center;justify-content:center;font-size:30px;color:#d595f6}.empty-state h3{font-family:var(--display);font-size:28px;margin:0 0 12px;letter-spacing:.4px}.empty-state p{font-size:11px;line-height:1.8;max-width:300px;margin:0 auto;color:var(--muted)}.empty-state>span{font-size:9px;color:#c0a4d0}.empty-bars{height:93px;max-width:240px;display:flex;align-items:flex-end;gap:10px;margin:22px auto 14px}.empty-bars i{display:block;flex:1;background:#8751a1;border-radius:4px 4px 0 0;height:45%}.empty-bars i:nth-child(3){height:35%}.empty-bars i:nth-child(5){height:40%}.empty-bars i:nth-child(6){height:100%;background:#b854e6}.empty-bars i:last-child{height:63%;background:#76528d}.event-result{padding:21px 24px;background:linear-gradient(125deg,#74309a,#452057 72%,#34193f);border:1px solid #a05cc3;border-radius:11px}.result-topline{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.4px;color:#e8c5fa}.result-symbol{font-size:26px;line-height:1}.event-kcal{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;margin:10px 0 17px}.event-kcal strong{font-family:var(--display);font-size:66px;line-height:1;letter-spacing:-.5px;font-weight:600}.event-kcal>span{font-size:11px;color:#e2c3f1}.event-bottom{border-top:1px solid #ffffff26;padding-top:13px;display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#e5ccec}.event-bottom b{font-weight:600;color:white}.total-strip{background:#201927eb;border:1px solid var(--border);padding:17px 18px;display:flex;gap:12px;align-items:center;justify-content:space-between;border-radius:8px;margin:13px 0 16px;font-size:10px;color:var(--muted)}.total-strip strong{font-size:18px;color:white;font-weight:600}.unchanged{font-size:8px;letter-spacing:.5px;color:#e1c5f0;border:1px solid #865798;background:#392344;padding:5px 7px;border-radius:4px}.week-card{padding:18px 0 0;overflow:hidden}.week-header{padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:10px}.week-header h3{font-family:var(--display);font-size:20px;letter-spacing:.4px;margin:0;font-weight:600}.week-header>span{font-size:8px;color:var(--muted)}.week-chart{display:grid;grid-template-columns:repeat(7,1fr);gap:11px;padding:20px 23px 16px}.chart-day{text-align:center;font-size:8px;color:var(--muted)}.chart-day .value{font-size:9px;color:#ded0e7;font-weight:600;margin-bottom:8px}.chart-track{height:85px;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid #674872;margin-bottom:8px}.chart-bar{width:23px;border-radius:4px 4px 0 0;min-height:1px;background:#9568aa}.chart-day.is-event{color:#e0a3ff;font-weight:600}.chart-day.is-event .chart-bar{background:linear-gradient(#d085f7,#9138be)}.chart-day.is-event .value{color:#e4a9ff}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap;text-align:right;font-size:11px}thead{background:#211a27;color:#cdb8d9;font-size:9px}th{font-weight:500}th,td{border-top:1px solid #493352;padding:13px 17px}th:first-child,td:first-child{text-align:left;padding-left:21px}td small{display:block;font-size:8px;color:#bfa8cd;margin-top:4px}td:last-child{font-size:9px;color:#d8b2eb}.event-row{background:#3c214b}.event-row td{color:#ebc5ff}.event-row td:last-child{color:#ebc5ff}tfoot{background:#221a2a;font-size:10px}.explanation{background:#2b1c35;border:1px solid #784987;border-radius:8px;padding:14px 16px;font-size:11px;line-height:1.8;color:#e2c7ef;margin:15px 0}.result-actions{display:flex;gap:10px}.result-actions .primary-button{width:auto;flex:1;font-size:10px;padding:13px 15px;letter-spacing:.7px}.secondary-button{background:#211927;border:1px solid #80558f;border-radius:7px;color:#e2cdee;font-size:10px;padding:12px 15px}.secondary-button:hover{background:#382341}.notice{border:1px solid #9c7542;background:#3a2b1cef;color:#ffe1af;font-size:11px;line-height:1.8;padding:15px 17px;border-radius:9px;margin-bottom:16px}.notice.success{border-color:#9659b1;background:#32203de8;color:#e5c7f4}.notice button{display:block;background:#c78ae9;border:0;border-radius:5px;font-size:11px;font-weight:600;padding:10px 12px;margin-top:12px;color:#26112f}.how-details{border-top:1px solid #784c8d;margin-top:24px;padding:18px 0 0}.how-details summary{font-size:10px;color:#dec1ef;cursor:pointer;font-weight:500}.how-details p{font-size:10px;line-height:1.8;color:#c3aecd}.care-note{display:flex;gap:11px;margin-top:17px;padding-bottom:10px}.care-note>span{font-size:24px;color:var(--bright);line-height:1.2}.care-note p{font-size:10px;color:#c3aecd;line-height:1.8;margin:0}.example-banner{display:flex;align-items:center;justify-content:space-between;gap:13px;background:#3d224b;border:1px solid #985cb3;border-radius:8px;padding:12px 16px;font-size:10px;margin-bottom:22px;color:#e6c8f5}.example-banner button{background:none;border:0;color:#f4dfff;font-size:10px;white-space:nowrap;font-weight:600}footer{border-top:1px solid #784c8d;margin:37px 0 0;padding:23px 0 28px;display:flex;align-items:flex-start;justify-content:space-between;gap:40px}footer>div{max-width:660px}footer>div>span{font-family:var(--display);font-size:17px;letter-spacing:1.4px;color:#ce9be4}footer p{font-size:8px;color:#bfa9cd;line-height:1.9;margin:9px 0 0}footer>p{margin:3px 0 0;min-width:175px;text-align:right}footer a{text-underline-offset:2px}.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);padding:13px 20px;box-shadow:0 8px 24px #0006;border:1px solid #a161bd;border-radius:8px;background:#412150;color:white;font-size:11px;max-width:90%;z-index:10}[hidden]{display:none!important}input[type=number]{appearance:textfield;-moz-appearance:textfield}input::-webkit-inner-spin-button{appearance:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}textarea.copy-fallback{width:100%;height:230px;background:#17101c;color:white;border:1px solid #7b4c92;border-radius:7px;padding:12px;margin-top:12px;font:11px Inter,Arial,sans-serif}
@media(max-width:1000px){.header,main{padding-left:26px;padding-right:26px}.layout{gap:20px}.card{padding:20px}.target-grid{gap:10px}.target-grid fieldset{padding:12px 10px}.days{gap:5px}.day-button strong{font-size:10px}.day-button>span{font-size:7px}.week-card{padding:18px 0 0}.week-header h3{font-size:18px}.week-header{padding:0 15px}.week-chart{padding:20px 15px 16px;gap:7px}.chart-bar{width:20px}th,td{padding:12px}.event-bottom{font-size:10px}.results-title h2{font-size:33px}.event-kcal strong{font-size:60px}.unchanged{font-size:7px}.total-strip{padding:15px 13px;gap:7px}.result-actions{flex-wrap:wrap}.result-actions .primary-button{min-width:170px}}
@media(max-width:760px){.header{padding-top:18px;padding-bottom:18px}.header-label{font-size:8px;letter-spacing:1.4px}.logo-panel{width:132px}.quiet-button{font-size:10px}.intro{padding-top:30px}.intro h1{font-size:60px}.layout{grid-template-columns:1fr}.results-column{position:static}.card{padding:23px}.target-grid{gap:18px}.target-grid fieldset{padding:16px}.target-grid legend{font-size:11px}.days{gap:9px}.day-button strong{font-size:13px}.day-button>span{font-size:9px}.results-title{margin:4px 0 20px}.results-title h2{font-size:37px}.event-result{padding:24px}.event-kcal strong{font-size:72px}.event-bottom{font-size:12px}.week-card{padding:20px 0 0}.week-header{padding:0 22px}.week-header h3{font-size:23px}.week-header>span{font-size:10px}.week-chart{padding:24px;gap:14px}.chart-bar{width:26px}.chart-track{height:100px}.chart-day,.chart-day .value{font-size:10px}th,td{padding:14px 22px;font-size:12px}.total-strip{padding:18px 20px;gap:12px;font-size:12px}.total-strip strong{font-size:22px}.unchanged{font-size:8px}.result-actions .primary-button{min-width:0}.empty-state{min-height:300px;padding:30px}.site-background{background:linear-gradient(90deg,#0f0c1260,#0f0c12bc 85%),url('./assets/brand-background.jpeg') left top/auto 1250px no-repeat}.how-details p,.care-note p,.how-details summary{font-size:11px}footer{gap:25px;flex-direction:column}footer>p{text-align:left;margin:0}}
@media(max-width:440px){.header,main{padding-left:18px;padding-right:18px}.header{gap:10px}.header-label{display:none}.logo-panel{width:137px}.quiet-button{font-size:11px}.intro h1{font-size:54px}.intro .eyebrow{font-size:8px;letter-spacing:1.7px}.intro>p:last-child{font-size:11px}.card{padding:21px 17px}.target-grid{gap:10px}.target-grid fieldset{padding:13px 10px}.target-grid legend{font-size:9px;letter-spacing:.4px}.number-input input{font-size:22px;padding-right:44px}.number-input>span{right:8px;font-size:8px}.number-input input::placeholder{font-size:14px}.days{gap:5px}.day-button{padding:11px 1px;min-height:61px}.day-button strong{font-size:11px}.day-button>span{font-size:8px}.results-title h2{font-size:33px}.week-card{padding:18px 0 0}.week-header{padding:0 17px;gap:6px}.week-header h3{font-size:20px}.week-header>span{font-size:8px}.week-chart{padding:20px 15px 16px;gap:8px}.chart-day,.chart-day .value{font-size:8px}.chart-bar{width:22px}.chart-track{height:85px}th,td{padding:13px;font-size:10px}th:first-child,td:first-child{padding-left:17px}.event-kcal strong{font-size:64px}.event-bottom{font-size:10px}.event-result{padding:20px}.total-strip{padding:16px;font-size:10px;gap:8px}.total-strip strong{font-size:20px}.unchanged{font-size:7px}.result-actions .primary-button{font-size:10px;letter-spacing:.5px;gap:10px}.secondary-button{font-size:9px;padding:12px}.example-banner{align-items:flex-start;font-size:9px}.example-banner button{font-size:9px}.empty-state{padding:30px 22px}.section-title h2{font-size:22px}}
@media print{body{background:white;color:#17111c}.site-background,.header,.intro,.example-banner,form,.empty-state,.how-details,.care-note,.result-actions,.toast,footer{display:none!important}main{padding:0;max-width:none}.layout{display:block}.results-column{position:static}.results-title h2{font-size:30px;color:#17111c}.eyebrow{color:#703291}.event-result{background:#f2e9f7;color:#271231;border-color:#ad85c1;padding:15px 20px}.result-topline,.event-kcal>span,.event-bottom,.event-bottom b{color:#4c2860}.event-kcal strong{font-size:50px}.event-kcal{margin:4px 0 10px}.event-bottom{border-color:#c8acd8;padding-top:10px}.total-strip,.card,.explanation{background:white;color:#271231;border-color:#c8acd8;box-shadow:none}.total-strip strong{color:#271231}.unchanged{color:#703291;background:#f2e9f7;border-color:#c8acd8}.week-header>span,.chart-day,.chart-day .value,.micro-note{color:#67546f}.chart-bar{background:#8f66a3;print-color-adjust:exact;-webkit-print-color-adjust:exact}.week-card{break-inside:avoid}.chart-track{height:60px}.chart-day.is-event .value,.chart-day.is-event{color:#703291}table{color:#271231}thead,tfoot,.event-row{background:#f4eef7}.event-row td,.event-row td:last-child{color:#703291}td:last-child,td small{color:#67546f}th,td{border-color:#ddd0e4;padding:10px 17px}.notice{color:#271231;background:white;border-color:#c8acd8}.result-symbol{display:none}.results-title:before{content:'KPcomposition Social Calorie Bank';font-family:Inter,Arial,sans-serif;font-size:10px;color:#703291;display:block;margin-bottom:8px}.explanation{padding:10px 15px}.week-chart{padding:15px 25px}}

.coaching-note{margin:30px 0 0;padding:22px 24px;border:1px solid #855099;border-radius:10px;background:linear-gradient(110deg,#43234eae,#1a151ff2)}.coaching-note strong{font-family:var(--display);font-size:24px;letter-spacing:.4px;color:#ebd6f5}.coaching-note p{font-size:11px;line-height:1.9;color:#cbb4d5;max-width:700px;margin:8px 0 0}@media print{.coaching-note{display:none}}
