:root{--yellow:#ffe524;--navy:#101c34;--navy2:#1d2b46;--ink:#0c1730;--white:#f8faff}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--yellow)}button,textarea{font:inherit}button{cursor:pointer}.app{display:flex;height:100dvh;min-height:400px;overflow:hidden}.sidebar{width:300px;flex:none;background:linear-gradient(150deg,#0d192f,#17233c);color:white;display:flex;flex-direction:column;padding:23px 17px 18px;z-index:5}.side-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:35px}.brand,.mobile-brand{font-size:30px;font-weight:1000;font-style:italic;letter-spacing:-1.5px;color:var(--yellow);transform:skew(-8deg);text-shadow:2px 2px 0 #07101f}.new-chat{border:1px solid var(--yellow);border-radius:16px;background:transparent;color:white;text-align:left;font-weight:750;padding:16px 19px;font-size:16px}.new-chat:hover,.history-item:hover{background:#293a59}.history-label{color:#8798b6;font-size:11px;letter-spacing:2px;font-weight:800;margin:32px 10px 12px}.history{overflow:auto;flex:1}.history-item{display:flex;gap:8px;align-items:center;padding:13px 10px;border-radius:10px;margin-bottom:6px}.history-item.active{background:#2a3a57}.history-title{flex:1;min-width:0;border:0;background:none;color:#f7f9ff;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.delete-chat{border:0;background:transparent;color:#b7c5df;font-size:18px;padding:4px}.sidebar-bottom{border-top:1px solid #34435c;padding:16px 8px 0;color:#a6b4cd;font-size:12px}.clear-all{border:0;background:none;color:#f6d15d;padding:8px 0}.main{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;background:radial-gradient(circle at 55% 34%,#ffef53 0%,var(--yellow) 58%,#ffdb0c 100%);isolation:isolate}.main:before,.main:after{content:"";position:absolute;pointer-events:none;z-index:-1;opacity:.95}.main:before{inset:0;background:linear-gradient(131deg,transparent 0 9%,#0d1b35 9.2% 9.8%,transparent 10% 100%),linear-gradient(145deg,transparent 0 89%,#fff 89.2% 90%,transparent 90.3% 100%),linear-gradient(145deg,transparent 0 93%,#0d1b35 93.2% 94%,transparent 94.3% 100%);clip-path:polygon(0 0,34% 0,15% 30%,0 58%,0 100%,100% 100%,100% 67%,93% 80%,100% 0)}.main:after{width:130px;height:120px;top:4px;left:7%;background-image:radial-gradient(#15233c 1.3px,transparent 1.3px);background-size:13px 13px;opacity:.65}.topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;flex:none;min-height:80px}.top-left{display:flex;align-items:center;gap:13px}.menu-btn,.mobile-brand{display:none!important}.icon-btn{background:none;border:0;color:inherit;font-size:23px;padding:5px}.support{display:inline-flex;align-items:center;gap:9px;border-radius:30px;background:var(--navy);color:white;padding:13px 23px;text-decoration:none;font-weight:750;box-shadow:0 4px 0 #0b1428}.support:first-letter{color:var(--yellow)}.chat-scroll{flex:1;min-height:0;overflow-y:auto;scroll-behavior:smooth;padding:12px clamp(20px,7vw,100px) 25px}.welcome{text-align:center;margin:5px auto 33px}.bolt{font-size:68px;line-height:1;font-weight:1000;transform:skew(-12deg);color:var(--navy)}h1{font-family:Impact,Arial Black,system-ui,sans-serif;font-size:clamp(29px,4vw,58px);font-style:italic;letter-spacing:.5px;margin:8px 0 8px;color:var(--navy);line-height:1.1}.welcome p{font-weight:800;font-size:clamp(9px,1vw,13px);letter-spacing:3px;margin:0}.messages{max-width:960px;margin:auto;display:flex;flex-direction:column;gap:22px}.message{display:flex;align-items:flex-start;gap:15px}.message.user{justify-content:flex-end}.avatar{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--yellow);font-size:32px;font-weight:900}.bubble{max-width:min(75%,670px);border-radius:19px;padding:19px 23px;font-size:16px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:0 1px 1px #0b15291a}.coach .bubble{background:#f6f8fd}.user .bubble{background:var(--navy);color:white}.composer-area{flex:none;padding:10px clamp(18px,7vw,100px) 18px}.composer{max-width:980px;margin:auto;background:var(--navy);border-radius:25px;display:flex;align-items:flex-end;padding:11px 12px 11px 21px;gap:10px;box-shadow:0 5px 0 #0a1322}.composer textarea{width:100%;background:transparent;color:white;resize:none;outline:0;border:0;padding:12px 2px;max-height:130px;line-height:1.4;font-size:16px}.composer textarea::placeholder{color:#a6b2ca}.send{border:0;background:var(--yellow);border-radius:50%;width:46px;height:46px;flex:none;color:var(--navy);font-size:29px;font-weight:700}.send:disabled{opacity:.5}.footnote{text-align:center;font-size:11px;padding-top:14px;color:#1b2b46}.scrim{display:none}.mobile-close{display:none}dialog{border:0;border-radius:22px;padding:0;max-width:390px;width:calc(100% - 32px);background:white;color:var(--navy);box-shadow:0 30px 100px #0007}dialog::backdrop{background:#081126ad}.dialog-inner{padding:30px;text-align:center;position:relative}.dialog-close{position:absolute;right:16px;top:14px;border:0;background:none;font-size:20px}.dialog-bolt{font-size:46px;color:#f0bf00}.dialog-inner h2{margin:0;font-size:24px}.dialog-inner p{line-height:1.5}.donation-options{display:flex;gap:10px;justify-content:center;margin:22px 0}.donation-options button{border:2px solid #d7dce6;background:white;border-radius:12px;padding:13px 23px;font-weight:800}.donation-options button.selected{border-color:var(--navy);background:var(--yellow)}.donation-note{font-size:13px;color:#59657b}.dialog-done{background:var(--navy);color:white;border:0;border-radius:12px;padding:13px 24px;font-weight:750}@media(max-width:750px){.sidebar{position:absolute;top:0;bottom:0;left:0;width:min(82vw,310px);transform:translateX(-105%);transition:transform .2s ease}.sidebar.open{transform:translateX(0)}.scrim.show{display:block;position:fixed;inset:0;background:#0009;z-index:4}.mobile-close{display:block}.topbar{padding:13px 17px;min-height:72px}.menu-btn,.mobile-brand{display:block!important}.mobile-brand{font-size:25px}.support{padding:11px 15px;font-size:12px}.chat-scroll{padding:5px 16px 18px}.welcome{margin:28px auto 28px}.bolt{font-size:53px}h1{font-size:clamp(27px,8vw,40px);max-width:330px;margin:9px auto}.welcome p{letter-spacing:1.8px;font-size:9px;max-width:310px;margin:auto;line-height:1.7}.messages{gap:19px}.message{gap:9px}.avatar{width:33px;height:33px;font-size:23px}.bubble{font-size:14px;padding:14px 15px;max-width:83%;border-radius:16px}.composer-area{padding:8px 12px max(12px,env(safe-area-inset-bottom))}.composer{border-radius:28px;padding:7px 8px 7px 14px}.composer textarea{font-size:16px;padding:10px 0}.send{width:42px;height:42px}.footnote{font-size:9px;padding-top:12px}.main:after{width:60px;height:70px;left:0}}@media(prefers-reduced-motion:reduce){.chat-scroll{scroll-behavior:auto}.sidebar{transition:none}}

/* V1.1 visual refinements: crisp lightning marks, upper-left slash accent, and proper send arrow */
.sidebar{position:relative;isolation:isolate;overflow:hidden;padding-top:33px}
.sidebar::before{content:"";position:absolute;top:0;left:0;width:155px;height:94px;z-index:-1;pointer-events:none;background:linear-gradient(131deg,#ffe524 0 8%,transparent 8.4% 14%,#fff 14.4% 20%,transparent 20.4% 27%,#ffe524 27.4% 30%,transparent 30.4%);clip-path:polygon(0 0,100% 0,0 100%)}
.sidebar::after{content:"";position:absolute;top:0;right:0;width:64px;height:74px;z-index:-1;pointer-events:none;background:linear-gradient(128deg,transparent 0 45%,#ffe524 45% 55%,#fff 55% 62%,transparent 62%)}
.side-top{position:relative;z-index:1}
.brand,.mobile-brand{font-family:Impact,'Arial Black',system-ui,sans-serif;font-weight:900;letter-spacing:-.7px;text-shadow:2px 3px 0 #07101f}
.bolt{height:88px;width:65px;margin:0 auto 5px;display:flex;align-items:center;justify-content:center;transform:none;font-size:initial}
.bolt svg{width:48px;height:78px;display:block;filter:drop-shadow(1px 1px 0 #101c34)}
.avatar{font-size:initial}
.avatar svg{width:23px;height:32px;display:block}
.send{display:grid;place-items:center;line-height:1;transition:transform .15s ease,background .15s ease}
.send:not(:disabled):hover{transform:translateY(-2px);background:#fff05e}
.send svg{display:block}
.main:before{clip-path:none;opacity:1;background:linear-gradient(132deg,transparent 0 5%,#fff 5.05% 5.7%,transparent 5.75% 100%),linear-gradient(132deg,transparent 0 7%,#111d35 7.05% 8.25%,transparent 8.3% 100%),linear-gradient(140deg,transparent 0 91%,#fff 91.05% 91.7%,transparent 91.75% 100%),linear-gradient(140deg,transparent 0 93%,#101c34 93.05% 94.2%,transparent 94.25% 100%);mask-image:linear-gradient(110deg,#000 0%,transparent 26%,transparent 74%,#000 100%)}
@media(max-width:750px){.sidebar{padding-top:33px}.bolt{height:68px;width:52px}.bolt svg{width:37px;height:62px}.avatar svg{width:17px;height:25px}.main:before{opacity:.65}}


/* V1.2: keep the logo on clean navy, and frame the chat with energetic edge slashes. */
.sidebar{padding-top:23px}
.sidebar::before{width:88px;height:42px;top:0;left:0;background:linear-gradient(132deg,#ffe524 0 12%,transparent 12.5% 22%,#fff 22.5% 30%,transparent 30.5% 40%,#ffe524 40.5% 44%,transparent 44.5%);clip-path:polygon(0 0,100% 0,0 100%)}
.sidebar::after{width:38px;height:42px;top:0;right:0;background:linear-gradient(128deg,transparent 0 58%,#ffe524 58.5% 68%,#fff 68.5% 76%,transparent 76.5%)}
.side-top{padding-top:9px;margin-bottom:35px}
.brand{margin-left:8px;position:relative;z-index:2}
/* Layered slashes sit on the outer edges; central text and messages remain unobstructed. */
.main:before{inset:0;opacity:1;clip-path:none;mask-image:none;background:
linear-gradient(132deg,transparent 0 10%,#fff 10.15% 11.15%,transparent 11.3% 100%) left top/25% 33% no-repeat,
linear-gradient(132deg,transparent 0 17%,#101c34 17.2% 20.4%,transparent 20.6% 100%) left top/24% 35% no-repeat,
linear-gradient(140deg,transparent 0 40%,#fff 40.2% 42.3%,transparent 42.5% 100%) left 30%/14% 35% no-repeat,
linear-gradient(140deg,transparent 0 54%,#101c34 54.2% 57.3%,transparent 57.5% 100%) left 31%/12% 31% no-repeat,
linear-gradient(130deg,transparent 0 47%,#fff 47.2% 50.2%,transparent 50.4% 100%) left bottom/18% 31% no-repeat,
linear-gradient(130deg,transparent 0 60%,#101c34 60.2% 64.1%,transparent 64.3% 100%) left bottom/20% 30% no-repeat,
linear-gradient(42deg,transparent 0 42%,#fff 42.2% 44.2%,transparent 44.4% 100%) right 9%/15% 27% no-repeat,
linear-gradient(42deg,transparent 0 56%,#101c34 56.2% 59.3%,transparent 59.5% 100%) right 10%/14% 30% no-repeat,
linear-gradient(48deg,transparent 0 42%,#fff 42.2% 44.3%,transparent 44.5% 100%) right 45%/13% 32% no-repeat,
linear-gradient(48deg,transparent 0 56%,#101c34 56.2% 60%,transparent 60.2% 100%) right 47%/15% 31% no-repeat,
linear-gradient(42deg,transparent 0 48%,#fff 48.2% 50.2%,transparent 50.4% 100%) right bottom/24% 35% no-repeat,
linear-gradient(42deg,transparent 0 58%,#101c34 58.2% 61.8%,transparent 62% 100%) right bottom/26% 37% no-repeat;
}
@media(max-width:750px){.sidebar{padding-top:23px}.main:before{opacity:.65;background-size:18% 22%,17% 24%,10% 20%,9% 19%,14% 20%,14% 19%,11% 20%,10% 20%,10% 22%,10% 22%,19% 25%,20% 26%}}
