*,*:before,*:after{box-sizing:border-box}:root{--bg-main: #FFFFFF;--text-primary: #000000;--border-color: #000000;--border-style: 5px solid var(--border-color);--font-family-body: "Patrick Hand", cursive;--font-family-header: "Patrick Hand SC", cursive;--accent-color: #00AEEF}html,body{height:100%;margin:0;padding:0}body{font-family:var(--font-family-body);color:var(--text-primary);box-sizing:border-box;background-color:var(--bg-main);padding:0;overflow-x:hidden}#app-container{width:100%;min-height:100%;background-color:var(--bg-main);border:none;display:flex;flex-direction:column;position:relative;box-sizing:border-box;padding:25px 35px}#app-header{display:none;flex-shrink:0;border-bottom:var(--border-style);justify-content:space-between;align-items:center;margin:0 -35px;padding:15px 35px;background-color:var(--bg-main);z-index:10}#app-container.journey-active{padding-top:150px}#app-container.journey-active #app-header{display:flex;position:absolute;top:0;left:0;right:0}.app-branding{display:flex;align-items:center;gap:20px}.app-titles{display:flex;flex-direction:column}.app-titles h3{margin:0;font-size:24px;font-weight:500;color:var(--text-primary);line-height:1.1}.app-subtitle-header{margin:2px 0 0;font-size:16px;font-family:var(--font-family-body);opacity:.8}.creator-credit-header{margin:4px 0 0;font-size:13px;font-family:var(--font-family-body)}.creator-credit-header a{color:var(--text-primary);font-family:var(--font-family-header);text-decoration:underline}.vibe-logo{width:56px;height:56px;fill:var(--text-primary);stroke:none}h2,h3,h4,h5,button{font-family:var(--font-family-header);letter-spacing:.5px}.screen{display:none;flex-direction:column;padding:25px 35px;box-sizing:border-box;flex-grow:1;overflow:visible;animation:fadeIn .3s ease-in-out;margin:0 -35px;gap:24px}#start-screen{margin-top:0;overflow-y:auto;gap:0}.screen.visible{display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.screen-header,.screen-title-area{text-align:center;flex-shrink:0}.screen-header h2,.screen-title-area h2{font-size:32px;font-weight:500;color:var(--text-primary);margin:0 0 8px}.screen-header p,.screen-title-area p{font-size:20px;color:var(--text-primary);margin:4px 0 0;line-height:1.5}.app-description{font-size:16px;color:var(--text-primary);max-width:500px;margin:16px 0 0;line-height:1.5}.header-icon{width:96px;height:96px;color:var(--text-primary)}.screen-title-area .header-icon{margin-bottom:16px}button{display:inline-flex;align-items:center;justify-content:center;padding:7px 13px;border:4px solid var(--border-color);border-radius:4px 3px 5px 2px;font-size:14px;font-weight:500;cursor:pointer;transition:all .1s ease-out;outline:none;box-shadow:3px 3px 0 0 var(--border-color);background-color:var(--bg-main);color:var(--text-primary);box-sizing:border-box;text-align:center}button:disabled{cursor:not-allowed;opacity:.6;box-shadow:1px 1px 0 0 var(--border-color);transform:translate(2px,2px)}button:hover:not(:disabled){transform:translate(1px,1px);box-shadow:2px 2px 0 0 var(--border-color)}button:active:not(:disabled){transform:translate(3px,3px);box-shadow:none}.btn-primary{background-color:#0000000d}.btn-secondary{background-color:transparent}.btn-text{background:none;border:none;box-shadow:none;padding:6px}.btn-text:hover:not(:disabled){transform:none;box-shadow:none;color:var(--text-primary);opacity:.7}.close-icon{width:24px;height:24px}textarea{width:100%;padding:14px 16px;font-size:18px;border-radius:3px 5px 2px 4px;border:4px solid var(--accent-color);box-sizing:border-box;font-family:var(--font-family-body);resize:none;background-color:var(--bg-main);color:var(--text-primary);min-height:100px;transition:all .2s ease;box-shadow:0 0 6px #00aeef66}textarea:focus{outline:none;border-width:5px;padding:13px 15px;border-color:var(--accent-color);box-shadow:0 0 10px 2px #00aeef99}textarea::placeholder{color:#00000080}#start-screen{justify-content:space-between;text-align:center;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}#start-screen::-webkit-scrollbar{display:none}.start-content{display:flex;flex-direction:column;align-items:center;gap:24px;padding:0 16px;margin:auto 0;width:100%}.start-branding-group{display:flex;flex-direction:column;align-items:center;gap:8px}.start-screen-title{display:flex;align-items:center;justify-content:center;gap:20px}.start-screen-title h2{font-size:32px;font-weight:500;margin:0}.app-subtitle{font-family:var(--font-family-header);font-size:24px;margin:4px 0 8px;color:var(--text-primary)}.creator-credit-main{margin:0 0 16px;font-size:14px;font-family:var(--font-family-body)}.creator-credit-main a{color:var(--text-primary);font-family:var(--font-family-header);text-decoration:underline}.subtitle-chain{display:flex;gap:8px;align-items:center;font-size:20px;font-family:var(--font-family-header);color:var(--text-primary)}.subtitle-chain span{font-weight:500}.start-main-interaction{display:flex;flex-direction:column;align-items:center;gap:32px;width:100%}.start-layout{display:flex;align-items:flex-end;justify-content:center;gap:16px;width:100%;max-width:800px}.start-character-area{flex-shrink:0}#robot-mascot{width:130px;height:auto;margin-bottom:-5px}.speech-bubble-guide{border:var(--border-style);padding:16px 20px;width:100%;max-width:500px;text-align:left;position:relative;background:var(--bg-main);border-radius:16px;box-sizing:border-box}.speech-bubble-guide:before,.speech-bubble-guide:after{content:"";position:absolute;background-color:var(--bg-main);border:5px solid var(--border-color);border-radius:50%;bottom:20px;z-index:-1}.speech-bubble-guide:before{width:30px;height:30px;left:-25px}.speech-bubble-guide:after{width:15px;height:15px;left:-45px;bottom:15px}.speech-bubble-guide h4{margin:0 0 12px;font-weight:500;font-size:22px}.speech-bubble-guide p{font-size:17px;line-height:1.6;margin:0 0 12px}.speech-bubble-guide ol{margin:0;padding-left:20px;font-size:17px;line-height:1.6;color:var(--text-primary)}.speech-bubble-guide li{margin-bottom:8px}.speech-bubble-guide li strong{font-family:var(--font-family-header);font-weight:500}.speech-bubble-guide li:last-child{margin-bottom:0}.start-input-group{display:flex;flex-direction:column;gap:16px;width:100%;max-width:450px}.user-character-container{display:flex;justify-content:center}#user-mascot{width:100px;height:auto}.start-input-group textarea,.start-input-group button{width:100%}#qna-layout-container{flex-grow:1;overflow-y:visible;scrollbar-width:none;-ms-overflow-style:none}#qna-layout-container::-webkit-scrollbar{display:none}#qna-main-content{display:flex;flex-direction:column}#journey-map{margin:0 0 16px;width:100%;padding:0;box-sizing:border-box;flex-shrink:0}#journey-path-fg{stroke:var(--border-color);stroke-width:3;transition:d .4s ease-in-out;filter:none;stroke-dasharray:4,3}.journey-stop{transition:all .4s ease-in-out;r:4;fill:var(--bg-main);stroke:var(--border-color);stroke-width:3}.journey-stop.completed{fill:var(--border-color)}.journey-stop.current{fill:var(--border-color);r:6}.journey-stop.endpoint{r:4;fill:none;stroke-dasharray:2 2}#question-container{border:var(--border-style);padding:20px 24px;border-radius:8px;background-color:var(--bg-main);box-shadow:6px 6px #0000001a;margin-bottom:16px;min-height:80px;display:flex;align-items:center;justify-content:center}#question-text{font-size:24px;line-height:1.6;margin:0;text-align:center;font-weight:500}.qna-screen-content{display:flex;flex-direction:column}.qna-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}.qna-actions-right{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}#qna-journey-so-far{width:auto;border-left:none;border-top:var(--border-style);padding-left:0;padding-top:24px;margin-top:24px;margin-left:0}#qna-journey-so-far h4{margin:0 0 16px;font-size:24px}#conversation-history{display:flex;flex-direction:column;gap:20px}.history-entry{display:flex;align-items:flex-start;gap:12px;line-height:1.5}.history-icon-container{flex-shrink:0;width:48px;height:48px}.history-icon{width:100%;height:100%}.history-content{flex-grow:1;border-radius:6px;padding:10px 14px}.history-content h5{margin:0 0 4px;font-size:16px;opacity:.8}.history-content p{margin:0;font-size:17px;word-wrap:break-word}.user-entry .history-content{background-color:#0000000a}.model-entry .history-content{background-color:#00aeef14}.screen-content-container{flex-grow:1;overflow-y:visible;border:var(--border-style);padding:20px 24px;border-radius:8px;background-color:var(--bg-main);box-shadow:6px 6px #0000001a;position:relative;scrollbar-width:none;-ms-overflow-style:none}.screen-content-container::-webkit-scrollbar{display:none}#prd-content{line-height:1.7;font-size:17px}#prd-content h3{font-size:24px;margin:32px 0 12px;padding-bottom:8px;border-bottom:4px solid var(--border-color)}#prd-content strong{font-family:var(--font-family-header);font-weight:500}#prd-content ul{padding-left:20px;margin:12px 0}.screen-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-shrink:0;flex-wrap:wrap}.screen-actions-right{display:flex;justify-content:flex-end;align-items:center;gap:16px;flex-wrap:wrap}#qna-screen .screen-title-area,#prd-screen .screen-title-area,#vibe-journey-screen .screen-title-area{display:flex;flex-direction:row;align-items:center;gap:16px;text-align:left}#qna-screen .screen-title-area{border-bottom:var(--border-style);padding-bottom:24px}#qna-screen .screen-title-area .header-icon,#prd-screen .screen-title-area .header-icon,#vibe-journey-screen .screen-title-area .header-icon{margin-bottom:0;flex-shrink:0;width:40px;height:40px}#qna-screen .screen-title-area h2,#prd-screen .screen-title-area h2,#vibe-journey-screen .screen-title-area h2{margin:0;font-size:28px}#qna-screen .screen-title-area p,#prd-screen .screen-title-area p,#vibe-journey-screen .screen-title-area p{margin:2px 0 0;font-size:18px;line-height:1.3}#vibe-prompts-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.prompt-card{border:var(--border-style);border-radius:8px;background-color:var(--bg-main);padding:16px;display:flex;flex-direction:column;gap:12px}.prompt-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.prompt-header h4{margin:0;font-size:20px}.copy-prompt-btn{padding:4px 10px;font-size:12px;border-width:3px;box-shadow:2px 2px 0 0 var(--border-color)}.copy-prompt-btn:hover:not(:disabled){transform:translate(1px,1px);box-shadow:1px 1px 0 0 var(--border-color)}.copy-prompt-btn:active:not(:disabled){transform:translate(2px,2px);box-shadow:none}.prompt-card p{margin:0;line-height:1.6;font-size:16px;word-break:break-word}.prompt-note{background-color:#0000000d;padding:10px;border-radius:4px;font-size:15px;line-height:1.5;border-left:3px solid rgba(0,0,0,.3)}#ai-builder-info,#additional-instructions-container{margin-top:24px;padding:16px;border:4px solid var(--border-color);border-radius:8px;background-color:#0000000a}#ai-builder-info h4,#additional-instructions-container h4{margin:0 0 8px;font-size:22px}#ai-builder-info p,#additional-instructions-container p{margin:0;font-size:17px;line-height:1.6}#ai-builder-info a{color:var(--text-primary);font-family:var(--font-family-header);text-decoration:underline}.faq-container{width:100%;max-width:800px;margin-top:32px;display:flex;flex-direction:column;gap:16px}.faq-item{border:var(--border-style);border-radius:8px;background-color:var(--bg-main);text-align:left}.faq-item[open]>summary{border-bottom:var(--border-style)}.faq-item summary{font-family:var(--font-family-header);font-size:20px;font-weight:500;padding:16px 20px;cursor:pointer;list-style:none;position:relative;display:block}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-family:var(--font-family-header);position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:28px;font-weight:500;transition:transform .2s ease-in-out}.faq-item[open] summary:after{content:"−"}.faq-content{padding:0 20px 20px}.faq-content p{margin:16px 0 0;font-size:17px;line-height:1.6}.loader{width:48px;height:48px;border:5px solid var(--border-color);border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation 1s linear infinite;margin:0 auto}#prd-loader,#vibe-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#session-history{margin-top:24px;padding-top:16px;border-top:var(--border-style);width:100%;max-width:800px}#session-history h4{font-size:22px;margin:0 0 16px;text-align:center}#session-history-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.history-card{border:var(--border-style);padding:12px 16px;border-radius:6px;display:flex;flex-direction:column;gap:12px}.history-card p{margin:0;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.history-card-actions{display:flex;gap:8px}.history-card-actions button{width:100%;padding:6px;font-size:12px;border-width:3px;box-shadow:2px 2px 0 0 var(--border-color)}.history-card-actions button:hover:not(:disabled){transform:translate(1px,1px);box-shadow:1px 1px 0 0 var(--border-color)}.history-card-actions button:active:not(:disabled){transform:translate(2px,2px);box-shadow:none}.pdf-render-container{padding:40px;background-color:#fff;font-family:Patrick Hand,cursive;color:#000}.pdf-header{display:flex;align-items:center;gap:20px;padding-bottom:24px;margin-bottom:24px;border-bottom:5px solid #000}.pdf-header .vibe-logo{width:80px;height:80px;fill:#000;stroke:none;flex-shrink:0}.pdf-header-text h2{font-family:Patrick Hand SC,cursive;font-size:36px;margin:0}.pdf-header-text p{font-size:22px;margin:2px 0 0}.pdf-footer{margin-top:40px;padding-top:20px;border-top:3px solid #000;text-align:center;font-size:16px;font-family:Patrick Hand,cursive}.pdf-footer a{color:#000;font-family:Patrick Hand SC,cursive;text-decoration:none}.pdf-render-container #prd-content{line-height:1.8;font-size:20px}.pdf-render-container #prd-content h3{font-family:Patrick Hand SC,cursive;font-size:28px;margin:36px 0 16px;padding-bottom:10px;border-bottom:5px solid #000000}.pdf-render-container #prd-content strong{font-family:Patrick Hand SC,cursive;font-weight:500}.pdf-render-container #prd-content ul{padding-left:24px;margin:16px 0}.pdf-prompts-container{color:#000;display:grid;grid-template-columns:1fr;gap:24px;margin-top:24px}.pdf-prompts-container .prompt-card{border:5px solid #000;border-radius:8px;padding:20px;display:flex;flex-direction:column;gap:16px;break-inside:avoid}.pdf-prompts-container .prompt-header h4{margin:0;font-size:24px;font-family:Patrick Hand SC,cursive}.pdf-prompts-container .copy-prompt-btn{display:none}.pdf-prompts-container .prompt-card p{margin:0;line-height:1.7;font-size:18px;word-break:break-word}.pdf-prompts-container .prompt-note{background-color:transparent;padding:12px;border-radius:4px;font-size:17px;line-height:1.6;border-left:4px solid #ccc}.pdf-render-container .info-box,.pdf-render-container #additional-instructions-container{margin-top:24px;padding:20px;border:5px solid #000;border-radius:8px;background-color:transparent}.pdf-render-container h4{font-family:Patrick Hand SC,cursive;margin:0 0 10px;font-size:24px}.pdf-render-container p{margin:0;font-size:18px;line-height:1.7}#app-footer{flex-shrink:0;text-align:center;padding-top:24px;margin-top:auto;font-size:14px;opacity:.7;border-top:var(--border-style)}#app-footer p{margin:0}@media(min-width:901px){body{display:flex;justify-content:center;align-items:center}#app-container{height:100%;overflow:hidden}.screen{overflow:hidden}.screen-content-container{overflow-y:auto}#qna-layout-container{display:flex;flex-direction:row;gap:24px;overflow-y:hidden}#qna-main-content{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.qna-screen-content{flex-grow:1;display:flex;flex-direction:column}#question-container{flex-grow:1}#qna-journey-so-far{width:420px;flex-shrink:0;border-left:var(--border-style);padding-left:24px;border-top:none;padding-top:0;margin-top:0;max-height:none;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}#qna-main-content::-webkit-scrollbar,#qna-journey-so-far::-webkit-scrollbar{display:none}.start-main-interaction{flex-direction:row;align-items:flex-start;justify-content:center;gap:48px}.start-layout{flex:1 1 55%;max-width:550px;justify-content:flex-end}.start-input-group{flex:1 1 45%;max-width:420px;margin-top:40px}#vibe-journey-screen #vibe-prompts-container{grid-template-columns:repeat(2,1fr);gap:24px}}@media(max-width:900px){#app-container.journey-active #app-footer{display:none}}@media(max-width:768px){.start-layout{flex-direction:column;align-items:center;gap:24px}.speech-bubble-guide:before,.speech-bubble-guide:after{display:none}.qna-actions,.screen-actions{justify-content:flex-end}.qna-actions-right,.screen-actions-right{display:contents}}@media(max-width:480px){#app-container{padding:15px}#app-container.journey-active{padding-top:135px}#app-header{padding:10px 15px;margin:0 -15px}.screen{padding:15px;margin:0 -15px}.screen-actions{flex-direction:column;gap:12px;align-items:stretch}.screen-actions button{width:100%}.qna-actions{justify-content:center}#prd-screen .screen-title-area .header-icon,#vibe-journey-screen .screen-title-area .header-icon{width:32px;height:32px}#qna-screen .screen-title-area h2,#prd-screen .screen-title-area h2,#vibe-journey-screen .screen-title-area h2{font-size:22px}#qna-screen .screen-title-area p,#prd-screen .screen-title-area p,#vibe-journey-screen .screen-title-area p{font-size:16px}}
