@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inter:wght@400;500;600;700;800&display=swap";.hackathon-canvas{--canvas-card:#1e254ea3;--canvas-border:#a3b1ff29;--canvas-text:#f5f7ff;--canvas-muted:#aeb9e5;--canvas-violet:#9587ff;--canvas-cyan:#57d5f9;border:1px solid var(--canvas-border);max-height:min(52vh,500px);color:var(--canvas-text);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);scrollbar-color:#8791eb80 transparent;scrollbar-width:thin;background:radial-gradient(circle at 100% 0,#5fccff21,#0000 34%),radial-gradient(circle at 0 100%,#8f74ff29,#0000 38%),#121735b8;border-radius:22px;flex:none;margin:0 clamp(16px,4vw,48px) 18px;padding:24px;overflow:auto;box-shadow:0 16px 40px #0000002e,inset 0 1px #ffffff0b}.canvas-header{margin-bottom:20px}.canvas-kicker{color:var(--canvas-cyan);letter-spacing:.13em;margin:0 0 7px;font-family:DM Mono,monospace;font-size:.64rem;font-weight:500}.canvas-header h2{color:#fbfcff;letter-spacing:-.04em;margin:0;font-size:clamp(1.3rem,3vw,1.7rem)}.canvas-header>p:last-child{color:var(--canvas-muted);margin:7px 0 0;font-size:.85rem}.canvas-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;display:grid}.canvas-card{border:1px solid var(--canvas-border);background:var(--canvas-card);border-radius:16px;grid-column:span 4;min-height:154px;padding:16px;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s;overflow:hidden;box-shadow:0 8px 22px #0000001a,inset 0 1px #ffffff09}.canvas-card:hover{background:#293166c7;border-color:#978bff7a;transform:translateY(-3px);box-shadow:0 13px 28px #0000002e}.canvas-card--ideaSummary,.canvas-card--mvp,.canvas-card--plan48Hours,.canvas-card--winningTips{grid-column:span 6}.canvas-card--winningTips{background:linear-gradient(135deg, #6757e730, #2cace21a), var(--canvas-card);border-color:#74d3ff33}.canvas-card__title{align-items:center;gap:9px;margin-bottom:12px;display:flex}.canvas-card__title span{background:#7465e826;border:1px solid #a4a0ff29;border-radius:9px;flex:none;place-items:center;width:30px;height:30px;font-size:.95rem;display:grid}.canvas-card__title h3{color:#eef0ff;letter-spacing:-.01em;margin:0;font-size:.89rem}.canvas-card__content{color:var(--canvas-muted);font-size:.82rem;line-height:1.58}.canvas-card__content p{white-space:pre-line;margin:0}.canvas-card__content ul{gap:7px;margin:0;padding-left:17px;display:grid}.canvas-card__content li::marker{color:var(--canvas-cyan)}.canvas-card{cursor:pointer;animation:.4s both canvasEnter}.canvas-card.active{border-color:#57d5f9b3;transform:translateY(-5px)}.canvas-expand{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:50%;width:26px;height:26px;margin-left:auto}.canvas-card__content{opacity:0;max-height:0;transition:max-height .3s,opacity .3s;overflow:hidden}.canvas-card__content.show{opacity:1;max-height:400px}.preview{color:#57d5f9;font-size:.75rem}@keyframes canvasEnter{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media (width<=680px){.hackathon-canvas{border-radius:18px;max-height:46vh;margin:0 16px 14px;padding:17px}.canvas-grid{gap:10px}.canvas-card,.canvas-card--ideaSummary,.canvas-card--mvp,.canvas-card--plan48Hours,.canvas-card--winningTips{grid-column:span 12;min-height:0}}.canvas-actions{gap:8px;margin-left:auto;display:flex}.canvas-action-button{cursor:pointer;border-radius:8px;padding:6px 12px;font-size:.75rem;transition:background-color .2s}.canvas-action-button.edit{color:#57d5f9;background-color:#57d5f933;border:1px solid #57d5f980}.canvas-action-button.edit:hover{background-color:#57d5f94d}.canvas-action-button.save{color:#9587ff;background-color:#9587ff33;border:1px solid #9587ff80}.canvas-action-button.save:hover{background-color:#9587ff4d}.canvas-action-button.cancel{color:tomato;background-color:#ff634733;border:1px solid #ff634780}.canvas-action-button.cancel:hover{background-color:#ff63474d}.canvas-card__textarea{border:1px solid var(--canvas-border);width:100%;min-height:150px;color:var(--canvas-text);resize:vertical;background-color:#0000004d;border-radius:8px;padding:10px;font-family:inherit;font-size:.82rem;line-height:1.58}.canvas-card__title span{color:#fff;background:linear-gradient(135deg,#7c3aed,#4f46e5);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:18px;display:flex}.landing-page{color:#f8faff;background:radial-gradient(circle at 50% -10%,#6e61ff3d,#0000 33rem),#080b18;place-items:center;min-height:100vh;display:grid;position:relative;overflow:hidden}.landing-orb{filter:blur(100px);opacity:.22;pointer-events:none;border-radius:50%;width:32rem;height:32rem;position:absolute}.landing-orb--violet{background:#6d5dff;top:-18rem;left:-14rem}.landing-orb--cyan{background:#00c9ff;bottom:-19rem;right:-15rem}.landing-content{z-index:1;text-align:center;width:min(100%,760px);padding:40px 24px;animation:1s pageFade;position:relative}.landing-logo{justify-content:center;align-items:center;gap:12px;margin:0 auto 30px;display:flex}.logo-icon{background:linear-gradient(135deg,#6c63ff,#00d4ff);border-radius:18px;justify-content:center;align-items:center;width:64px;height:64px;font-size:30px;animation:3s ease-in-out infinite floatLogo;display:flex;box-shadow:0 0 35px #6c63ff73}.logo-text{letter-spacing:2px;color:#fff;font-size:34px;font-weight:800}.landing-eyebrow{color:#9eadff;letter-spacing:.16em;margin:0 0 14px;font-family:DM Mono,monospace;font-size:.7rem;font-weight:500}.landing-content h1{letter-spacing:-.075em;margin:0;font-size:clamp(3.3rem,10vw,6.5rem);font-weight:800;line-height:.95}.landing-content h1 span{background:linear-gradient(135deg,#a296ff,#56d8ff);color:#0000;-webkit-background-clip:text;background-clip:text}.landing-content h2{color:#e7eaff;letter-spacing:-.03em;margin:20px 0 0;font-size:clamp(1.15rem,3vw,1.5rem);font-weight:500}.landing-description{color:#aeb8e3;max-width:500px;margin:18px auto 30px;font-size:clamp(1rem,2vw,1.12rem);line-height:1.65}.landing-cta{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7469ee,#4d96ed);border:1px solid #c6c1ff57;border-radius:14px;padding:15px 27px;font-size:1rem;font-weight:700;transition:transform .18s,box-shadow .18s,filter .18s;box-shadow:0 14px 30px #4a5fe659,inset 0 1px #ffffff2e}.landing-cta:hover{transform:translateY(-5px)scale(1.05);box-shadow:0 0 25px #6c63ff80,0 0 60px #00d4ff40}.landing-cta:active{transform:scale(.96)}.landing-features{grid-template-columns:repeat(4,1fr);gap:10px;margin:54px auto 0;display:grid}.landing-feature{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1c224b80;border:1px solid #a0aeff24;border-radius:16px;min-height:108px;padding:17px 10px;transition:all .35s;box-shadow:inset 0 1px #ffffff0a}.landing-feature:hover{background:#28305ad9;border-color:#6c63ff;transform:translateY(-8px)scale(1.04)rotate(-1deg);box-shadow:0 0 25px #6c63ff59}.landing-feature span{color:#ab9eff;background:#7b6cf12e;border-radius:9px;place-items:center;width:31px;height:31px;margin:0 auto 10px;transition:all .3s;display:grid}.landing-feature p{color:#d8ddf7;margin:0;font-size:.76rem;font-weight:600;line-height:1.35}@media (width<=580px){.landing-content{padding:36px 18px}.landing-features{grid-template-columns:repeat(2,1fr);margin-top:42px}.landing-feature{min-height:96px}}.landing-page:before{content:"";opacity:.25;pointer-events:none;background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-size:40px 40px;animation:25s linear infinite gridMove;position:absolute;inset:0}.landing-page:after{content:"";filter:blur(80px);pointer-events:none;background:radial-gradient(circle,#6c63ff55,#0000 70%);width:700px;height:700px;animation:6s ease-in-out infinite pulseGlow;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes gridMove{0%{transform:translateY(0)}to{transform:translateY(40px)}}@keyframes pulseGlow{0%,to{opacity:.45;transform:translate(-50%,-50%)scale(1)}50%{opacity:.75;transform:translate(-50%,-50%)scale(1.12)}}@keyframes floatLogo{0%{transform:translateY(0)}50%{transform:translateY(-12px)}to{transform:translateY(0)}}.landing-feature:hover span{color:#00d4ff;transform:scale(1.25)rotate(12deg)}:root{color:#f8faff;font-synthesis:none;background:#080b18;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html,body{background:radial-gradient(circle at 12% 10%,#5b5cff38,#0000 26rem),radial-gradient(circle at 88% 0,#2dcdff24,#0000 28rem),#080b18;min-width:320px;margin:0}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{place-items:center;min-height:100vh;padding:32px;display:grid}.chat-card{-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);background:#0e122bc2;border:1px solid #a2aeff2b;border-radius:28px;flex-direction:column;width:min(100%,1100px);height:min(880px,100vh - 64px);min-height:600px;display:flex;overflow:hidden;box-shadow:0 32px 90px #0000007a,inset 0 1px #ffffff0f}.chat-header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#131836ad;border-bottom:1px solid #a2aeff1f;align-items:center;gap:14px;padding:18px 24px;display:flex}.header-copy{min-width:0}.brand-mark,.message-avatar{color:#0000;background:linear-gradient(145deg,#ffffff73,#0000 44%),linear-gradient(135deg,#8b7bff,#5b61f6 48%,#20c9f4);flex:none;place-items:center;font-weight:800;display:grid;box-shadow:0 10px 22px #5058ee4d,inset 0 1px 1px #ffffff80}.brand-mark{border-radius:14px;width:42px;height:42px;position:relative;transform:rotate(-7deg)}.brand-mark:before,.brand-mark:after{content:"";background:#fff;border-radius:99px;position:absolute;box-shadow:0 0 10px #ffffffe6}.brand-mark:before{width:17px;height:5px;transform:rotate(45deg)}.brand-mark:after{width:5px;height:17px;transform:rotate(45deg)}.eyebrow{color:#98a5df;letter-spacing:.13em;margin:0 0 3px;font-family:DM Mono,monospace;font-size:.61rem;font-weight:500}h1{color:#fbfcff;letter-spacing:-.025em;margin:0;font-size:1.08rem;font-weight:700}.status{color:#a7eec8;background:#2cbe7814;border:1px solid #5feaa824;border-radius:999px;align-items:center;gap:7px;margin-left:auto;padding:7px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.status span{background:#54e89d;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #54e89d1a}.new-chat-button{color:#dce2ff;cursor:pointer;background:#3d468957;border:1px solid #96a0ed38;border-radius:10px;align-items:center;gap:6px;padding:8px 11px;font-size:.75rem;font-weight:700;transition:transform .16s,background .16s,border-color .16s;display:inline-flex}.new-chat-button span{color:#8fdcfb;font-size:1rem;line-height:0}.new-chat-button:hover:not(:disabled){background:#5f55d352;border-color:#8180ffa6;transform:translateY(-1px)}.new-chat-button:disabled{cursor:not-allowed;opacity:.5}.chat-window{scroll-behavior:smooth;scrollbar-color:#8791eb80 transparent;scrollbar-width:thin;flex-direction:column;flex:1;gap:20px;min-height:0;padding:30px clamp(18px,4vw,48px);display:flex;overflow-y:auto}.chat-window::-webkit-scrollbar{width:8px}.chat-window::-webkit-scrollbar-thumb{background:#8791eb6b padding-box padding-box;border:2px solid #0000;border-radius:99px}.message-row{align-items:flex-end;gap:10px;max-width:min(82%,730px);animation:.26s ease-out both message-enter;display:flex}.message-row--user{align-self:flex-end}.message-avatar{border-radius:10px;width:31px;height:31px}.message-avatar:after{content:"";border:2px solid #fff;border-radius:4px;width:12px;height:12px;box-shadow:inset 0 0 0 2px #5e62f699}.message-bubble{color:#f8faff;-webkit-backdrop-filter:blur(18px);background:#12172bb8;border:1px solid #ffffff14;border-radius:18px;padding:16px 18px;transition:all .25s;position:relative;box-shadow:0 8px 30px #00000059,inset 0 1px #ffffff0d}.message-bubble:hover{transform:translateY(-2px);box-shadow:0 14px 38px #00000073,0 0 18px #6c63ff2e}.message-bubble--user{color:#fff;background:linear-gradient(135deg,#6c63ff,#4d96ff);border:1px solid #ffffff14;border-radius:18px 18px 6px;box-shadow:0 10px 30px #4c96ff40}.message-label{color:#a5b3eb;font-family:DM Mono,monospace;font-size:.62rem}.message-bubble--user .message-label{color:#ffffffc2}.message-bubble p{white-space:pre-wrap;margin:5px 0 0}.chat-composer{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#10142fe6;border-top:1px solid #a2aeff1f;flex:none}.chat-input{gap:10px;padding:16px 24px 9px;display:flex}.chat-input input{color:#f4f6ff;background:#080c22b8;border:1px solid #8b96e640;border-radius:13px;outline:none;flex:1;min-width:0;padding:13px 16px}.chat-input input:focus{border-color:#7b73ffdb;box-shadow:0 0 0 4px #6961f221}.chat-input button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7469ee,#4e8bea);border:0;border-radius:13px;padding:0 20px;font-weight:700;box-shadow:0 8px 18px #4f62de47}.quick-actions{scrollbar-width:none;gap:8px;padding:0 24px 16px;display:flex;overflow-x:auto}.quick-actions::-webkit-scrollbar{display:none}.quick-action{color:#bfc8f1;cursor:pointer;background:#30396f6b;border:1px solid #919cec29;border-radius:999px;flex:none;padding:8px 12px;font-size:.73rem;font-weight:600}.loading-bubble{color:#fff;background:#1b2345;border-radius:18px;padding:14px 18px;animation:.4s fadeLoading}.thinking-text{color:#cfd8ff;font-weight:600}.dots{gap:5px;display:flex}.dots i{background:#6ea8ff;border-radius:50%;width:8px;height:8px;animation:.8s infinite bounce}.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}@keyframes bounce{50%{opacity:.45;transform:translateY(-5px)}}@keyframes message-enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media (width<=680px){.app-shell{padding:0}.chat-card{border:0;border-radius:0;width:100%;height:100dvh;min-height:0}.chat-header{gap:10px;padding:15px 16px}.status{display:none}.new-chat-button{margin-left:auto}.chat-window{padding:22px 16px}.message-row{max-width:91%;animation:.35s messageAppear}.chat-input{padding:13px 16px 8px}.quick-actions{padding:0 16px 13px}}.canvas-actions-bottom{justify-content:center;gap:10px;margin-top:20px;display:flex}.export-button{color:#fff;cursor:pointer;background-color:#007bff;border:none;border-radius:8px;padding:10px 20px;font-size:1rem;transition:background-color .2s}.export-button:hover{background-color:#0056b3}.message-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.copy-btn{color:#fff;cursor:pointer;background:#2b7fff;border:none;border-radius:8px;padding:4px 10px;font-size:12px;transition:all .2s}.copy-btn:hover{background:#1c66d8;transform:scale(1.05)}.copy-btn:active{transform:scale(.95)}.app-footer{text-align:center;color:#9aa4b2;margin-top:25px;padding:18px;font-size:14px}.footer-links{justify-content:center;gap:22px;margin-top:10px;display:flex}.footer-links a{color:#5ea7ff;text-decoration:none;transition:all .25s}.footer-links a:hover{color:#fff;transform:translateY(-2px)}@keyframes messageAppear{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.message-time{text-align:right;color:#9aa6d6;opacity:.8;margin-top:8px;font-size:11px}@keyframes fadeLoading{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.theme-toggle{cursor:pointer;color:#fff;background:#1c2345;border:none;border-radius:50%;width:42px;height:42px;font-size:20px;transition:all .3s}.theme-toggle:hover{transform:rotate(20deg)scale(1.08)}body.light-mode{background:#eef2ff}body.light-mode .chat-card{background:#fff}body.light-mode .message-bubble{color:#111827;background:#edf3ff}body.light-mode .chat-header{background:#fff}body.light-mode input{color:#111827;background:#fff}
