@import "https://fonts.googleapis.com/css2?family=Noto+Sans+Thai:wght@400;600;700&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:#fff9f0;min-height:100dvh;font-family:Noto Sans Thai,sans-serif}.app{flex-direction:column;gap:1rem;max-width:480px;margin:0 auto;padding:1rem;display:flex}.app-header{justify-content:space-between;align-items:center;display:flex}.app-title{color:#111;font-size:1.4rem;font-weight:700}.idle-screen,.captured-screen,.generating-screen,.result-screen{flex-direction:column;align-items:center;gap:1rem;display:flex}.preview-img{border:2.5px solid #222;border-radius:12px;width:100%;box-shadow:4px 4px #222}.preview-img.loading{opacity:.5;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.5}50%{opacity:.8}}.loading-text{color:#555;font-size:1rem}.camera-container{flex-direction:column;align-items:center;gap:.75rem;width:100%;display:flex}.camera-feed{border:2.5px solid #222;border-radius:12px;width:100%}.camera-actions{align-items:center;gap:1rem;display:flex}.divider-text{color:#aaa;margin:.25rem 0;font-size:.85rem}.upload-container{flex-direction:column;align-items:center;gap:.5rem;display:flex}.upload-label{cursor:pointer;color:#555;border:2.5px dashed #888;border-radius:12px;flex-direction:column;align-items:center;gap:.5rem;width:100%;padding:2rem;font-size:1rem;transition:border-color .2s;display:flex}.upload-label:hover{color:#111;border-color:#333}.mood-selector{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.mood-btn{cursor:pointer;background:#fff;border:2px solid #333;border-radius:999px;padding:.4rem 1rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:all .15s}.mood-btn.active,.mood-btn:hover{color:#fff;background:#333}.lang-toggle{border:2px solid #333;border-radius:999px;align-items:center;gap:.25rem;padding:.2rem .5rem;display:flex}.lang-btn{cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.1rem .3rem;font-family:inherit;font-size:.8rem;font-weight:700;transition:all .15s}.lang-btn.active{color:#fff;background:#333}.lang-divider{color:#aaa}.btn-primary{cursor:pointer;background:#ffd600;border:2.5px solid #222;border-radius:999px;padding:.7rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:700;transition:transform .1s,box-shadow .1s;box-shadow:3px 3px #222}.btn-primary:active{transform:translate(2px,2px);box-shadow:1px 1px #222}.btn-secondary{cursor:pointer;background:#fff;border:2.5px solid #222;border-radius:999px;padding:.7rem 1.2rem;font-family:inherit;font-weight:600;box-shadow:3px 3px #222}.btn-ghost{color:#666;cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:.9rem;text-decoration:underline}.action-row{align-items:center;gap:.75rem;display:flex}.capture-btn{cursor:pointer;background:#ffd600;border:2.5px solid #222;border-radius:999px;padding:.7rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:700;box-shadow:3px 3px #222}.bubble-style-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.style-group{border:2px solid #333;border-radius:10px;gap:.25rem;padding:.2rem;display:flex}.style-btn{cursor:pointer;background:0 0;border:none;border-radius:7px;padding:.3rem .6rem;font-family:inherit;font-size:1rem;transition:background .15s}.style-btn:hover{background:#eee}.style-btn.active{color:#fff;background:#333}.style-divider{background:#ddd;width:1px;height:1.5rem}.share-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex}.toast-error{color:#c62828;font-size:.85rem}.error-hint{color:#888;font-size:.8rem}.bubble-stage{-webkit-user-select:none;user-select:none;width:100%;max-width:480px;display:inline-block;position:relative;overflow:visible}.stage-image{border:2.5px solid #222;border-radius:12px;width:100%;display:block;box-shadow:4px 4px #222}.bubble-wrapper{cursor:grab;touch-action:none;z-index:10;position:absolute;top:16px;left:50%}.bubble-wrapper:active{cursor:grabbing}.comic-bubble{background:#fff;border:2.5px solid #222;border-radius:16px;min-width:160px;max-width:260px;padding:10px 16px;box-shadow:3px 3px #222}.bubble-text{color:#111;margin:0;font-family:Noto Sans Thai,sans-serif;font-size:.9rem;font-weight:600;line-height:1.5}
