@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=JetBrains+Mono:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap";:root{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#302d28;background:#f4f1ec;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--paper: #f4f1ec;--card: #fffefa;--ink: #302d28;--muted: #928d84;--line: #e7e2d9;--orange: #e96735;--orange-dark: #d95325;--pale: #fbf5ef;--shadow: 0 16px 48px rgba(63, 48, 32, .05);--green: #48a55e;--red: #d9432e}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);transition:background .25s ease,color .25s ease}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}.page-shell{width:min(100% - 40px,800px);margin:0 auto;padding-top:24px;padding-bottom:50px}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(80,67,53,.08)}.brand{display:inline-flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);transition:transform .2s ease}.brand:hover{transform:translateY(-1px)}.brand-cat-icon{width:38px;height:38px;display:grid;place-items:center;background:var(--pale);border:1px solid #ebd3c5;border-radius:12px;color:var(--orange);transition:background .2s,border-color .2s}.brand:hover .brand-cat-icon{border-color:var(--orange);background:#faeae0}.brand-name,.footer-brand{font-family:Playfair Display,Georgia,serif;font-size:23px;letter-spacing:-.8px;font-weight:600}.brand-name span,.footer-brand span{font-style:italic;color:var(--orange);margin-left:2px}.top-actions{display:flex;gap:9px;align-items:center}.quiet-button,.icon-button{height:36px;border:1px solid var(--line);background:var(--card);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .18s cubic-bezier(.16,1,.3,1);color:var(--ink);font-size:11px;font-weight:500}.quiet-button{padding:0 14px}.quiet-button:hover,.icon-button:hover{border-color:#d8b5a2;background:var(--pale);transform:translateY(-1px)}.meow-action-btn{background:var(--pale);border-color:#eac8b8;color:var(--orange-dark);font-weight:600}.meow-action-btn:hover{background:#faede5;border-color:var(--orange)}.meow-action-btn:active{transform:scale(.96)}.btn-paw{font-size:13px;display:inline-block;transition:transform .2s}.meow-action-btn:hover .btn-paw{transform:rotate(15deg) scale(1.15)}.key-dot{width:7px;height:7px;border-radius:50%;background:#c4b9aa;transition:background .2s}.key-dot.history-dot{background:var(--orange)}.icon-button{width:36px}.icon-button svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.intro{padding:34px 0 26px;text-align:center;display:flex;flex-direction:column;align-items:center}.cat-mascot-wrapper{position:relative;display:inline-flex;flex-direction:column;align-items:center;margin-bottom:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.cat-hero-svg{width:185px;height:auto;max-width:100%;overflow:visible;filter:drop-shadow(0 10px 24px rgba(233,103,53,.12));transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.cat-mascot-wrapper:hover .cat-hero-svg{transform:scale(1.05) translateY(-3px)}.cat-mascot-wrapper.is-meowing .cat-hero-svg{animation:meow-jump .6s cubic-bezier(.34,1.56,.64,1)}@keyframes meow-jump{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-12px) scale(1.1) rotate(-2deg)}65%{transform:translateY(-4px) scale(1.04) rotate(2deg)}to{transform:translateY(0) scale(1)}}.cat-mascot-wrapper.celebrating .cat-hero-svg{animation:celebrate-bounce 1s cubic-bezier(.34,1.56,.64,1)}@keyframes celebrate-bounce{0%{transform:translateY(0) scale(1)}25%{transform:translateY(-16px) scale(1.12) rotate(-4deg)}50%{transform:translateY(2px) scale(.96)}75%{transform:translateY(-8px) scale(1.06) rotate(3deg)}to{transform:translateY(0) scale(1)}}.cat-mascot-wrapper.is-meowing #cat-meow-hearts{animation:float-heart .8s ease-out forwards}@keyframes float-heart{0%{opacity:0;transform:translateY(10px) scale(.5)}40%{opacity:1;transform:translateY(-8px) scale(1.2)}to{opacity:0;transform:translateY(-24px) scale(1)}}.ear-left{transform-origin:72px 70px;animation:twitch-left 6s infinite ease-in-out}.ear-right{transform-origin:148px 70px;animation:twitch-right 6s infinite ease-in-out .8s}@keyframes twitch-left{0%,90%,to{transform:rotate(0)}92%{transform:rotate(-5deg)}95%{transform:rotate(2deg)}}@keyframes twitch-right{0%,90%,to{transform:rotate(0)}92%{transform:rotate(5deg)}95%{transform:rotate(-2deg)}}.cat-tail-group{transform-origin:165px 130px;animation:tail-wag 3.8s infinite ease-in-out}@keyframes tail-wag{0%,to{transform:rotate(0)}50%{transform:rotate(7deg)}}.cat-eyes{transform-origin:110px 74px;animation:blink-cycle 4.5s infinite}@keyframes blink-cycle{0%,94%,98%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}.sparkle-1{animation:float-sparkle 3s infinite ease-in-out}.sparkle-2{animation:float-sparkle 2.6s infinite ease-in-out 1.2s}@keyframes float-sparkle{0%,to{transform:translateY(0) rotate(0);opacity:.9}50%{transform:translateY(-6px) rotate(15deg);opacity:.4}}.halo-pulse{animation:halo-breathe 4s infinite ease-in-out;transform-origin:110px 95px}@keyframes halo-breathe{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.08);opacity:.7}}.cat-speech-bubble{position:absolute;top:-12px;right:-70px;background:var(--card);border:1px solid #eccbc0;border-radius:12px;padding:6px 12px;box-shadow:0 4px 14px #e967351f;pointer-events:none;animation:float-bubble 3.2s infinite ease-in-out;transition:transform .2s}.cat-speech-bubble:before{content:"";position:absolute;bottom:-6px;left:20px;width:10px;height:10px;background:var(--card);border-right:1px solid #eccbc0;border-bottom:1px solid #eccbc0;transform:rotate(45deg)}.bubble-text{font-size:11px;font-weight:600;color:var(--orange-dark);white-space:nowrap}@keyframes float-bubble{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.eyebrow{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:1.6px;font-size:10px;font-weight:700;color:#a19b91;margin-top:4px}.eyebrow-line{display:inline-block;width:22px;height:1.5px;background:var(--orange)}h1{font-family:Playfair Display,Georgia,serif;font-size:clamp(40px,6.5vw,62px);line-height:1.02;letter-spacing:-2px;font-weight:500;margin:16px 0 12px}h1 em,.result-heading h2 em,.about-intro h2 em{color:var(--orange);font-style:italic;font-weight:500}.intro-copy{max-width:560px;color:#79746c;font-size:14.5px;line-height:1.65;margin:0 auto}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.composer{padding:24px 26px 18px}.section-top{display:flex;justify-content:space-between;align-items:center}.field-label{font-size:10px;font-weight:700;letter-spacing:1.25px;color:#908a80;text-transform:uppercase}.counter{font-size:11px;color:#aaa49a;font-variant-numeric:tabular-nums}.composer textarea{display:block;width:100%;border:0;outline:0;resize:vertical;min-height:110px;padding:14px 0 10px;background:transparent;font-size:15px;line-height:1.7;color:var(--ink)}textarea::placeholder,input::placeholder{color:#b3ada3}.examples{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px 0}.examples-label{font-size:10.5px;color:#a39c92;margin-right:2px;font-weight:500}.example-chip{border:1px solid #eae5dc;border-radius:99px;padding:5px 11px;background:transparent;color:#7f786e;font-size:10.5px;transition:all .15s ease}.example-chip:hover{border-color:#e3aa90;background:var(--pale);color:var(--orange-dark);transform:translateY(-1px)}.upload-area{margin-top:14px;padding:10px 14px;border:1px dashed #dfd6ca;border-radius:12px;background:#ffffff73;transition:border-color .18s,background .18s;display:flex;flex-direction:column;gap:8px}.upload-icon-trigger{display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:#746e65;font-size:11px;font-weight:500}.upload-symbol{width:26px;height:26px;border:1px solid #ecc4b3;border-radius:8px;background:var(--card);display:grid;place-items:center;color:var(--orange);font-size:16px;transition:all .15s}.upload-icon-trigger:hover .upload-symbol{border-color:var(--orange);background:var(--pale);transform:scale(1.08)}.upload-area.drag-over{border-color:var(--orange);background:var(--pale)}.upload-note{margin:2px 0 0;color:#a29b91;font-size:10px}.upload-note.error{color:var(--red);font-weight:500}.attachment-list{display:flex;flex-wrap:wrap;gap:8px}.attachment-chip{display:flex;align-items:center;gap:7px;padding:5px 8px;border:1px solid var(--line);border-radius:9px;background:var(--card)}.attachment-chip img{width:30px;height:30px;object-fit:cover;border-radius:6px}.attachment-chip .file-kind{width:30px;height:30px;display:grid;place-items:center;border-radius:6px;background:var(--pale);color:var(--orange);font-size:11px;font-weight:700}.attachment-chip .file-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#716b62;font-size:10px}.attachment-chip .file-size{color:#aaa398;font-size:9px}.attachment-chip button{width:20px;height:20px;border:0;border-radius:50%;background:transparent;color:#8b8378;font-size:15px}.attachment-chip button:hover{background:var(--pale);color:var(--orange-dark)}.divider{height:1px;background:var(--line);margin:18px 0}.options-row{display:flex;align-items:flex-end;gap:14px}.select-wrap{display:flex;flex-direction:column;gap:7px;flex:1;position:relative}.select-wrap select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--card);border:1px solid var(--line);border-radius:10px;min-height:42px;padding:0 32px 0 12px;color:#555047;font-size:12px;font-weight:500;outline:none;cursor:pointer;transition:border-color .18s,box-shadow .18s}.select-wrap:after{content:"▾";position:absolute;right:12px;bottom:11px;color:#938b80;font-size:13px;pointer-events:none}.select-wrap select:focus{border-color:#e69a78;box-shadow:0 0 0 3px #e967351a}.generate-button{min-height:42px;flex:1.1;border:0;border-radius:10px;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:12px;font-weight:700;box-shadow:0 6px 16px #e9673540;transition:all .2s cubic-bezier(.16,1,.3,1);letter-spacing:.2px}.generate-button:hover{background:var(--orange-dark);transform:translateY(-1.5px);box-shadow:0 8px 22px #d9532552}.generate-button:active{transform:translateY(0)}.generate-button:disabled{opacity:.65;cursor:wait;transform:none;box-shadow:none}.button-spark{font-size:14px}.button-arrow{font-size:16px;font-weight:400}.form-note{margin-top:14px;display:flex;align-items:center;gap:7px;color:#9f998d;font-size:10px}.result-section{padding-top:42px}.result-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:14px}.result-actions-top{display:flex;align-items:center;gap:8px}.small-eyebrow{font-size:9px;letter-spacing:1.5px}.result-heading h2{font-family:Playfair Display,Georgia,serif;font-size:28px;letter-spacing:-.8px;font-weight:500;margin:6px 0 0}.result-badge{border:1px solid #ecc9b9;border-radius:99px;padding:5px 11px;color:var(--orange-dark);background:var(--pale);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.secondary-mini-btn{border:1px solid var(--line);border-radius:8px;background:var(--card);padding:5px 10px;font-size:10.5px;color:#797369;font-weight:500;transition:all .15s}.secondary-mini-btn:hover{border-color:#d8b5a2;color:var(--orange-dark);background:var(--pale)}.result-card{min-height:160px;border:1px dashed #ded7cc;border-radius:16px;background:#fffefabf;padding:22px;position:relative;transition:border-color .2s,background .2s}.empty-state{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-cat-mark{color:#e59d81;margin-bottom:8px;transition:transform .2s}.empty-state:hover .empty-cat-mark{transform:rotate(-6deg) scale(1.1)}.empty-state p{font-family:Playfair Display,Georgia,serif;font-size:18px;margin:0 0 6px;color:#555047}.empty-state>span:last-child{font-size:11.5px;color:#9f998d;max-width:380px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:130px;text-align:center;animation:fadein .25s ease}.cat-loader-container{display:flex;align-items:center;justify-content:center}.paw-track{display:flex;gap:12px}.cat-paw{font-size:24px;opacity:.2;transform:scale(.85);animation:paw-step 1.2s infinite ease-in-out}.paw-1{animation-delay:0s}.paw-2{animation-delay:.4s}.paw-3{animation-delay:.8s}@keyframes paw-step{0%,to{opacity:.2;transform:scale(.85)}50%{opacity:1;transform:scale(1.15) translateY(-4px)}}.loading-details{display:flex;flex-direction:column;gap:4px}.loading-details strong{font-size:13px;font-weight:600;color:var(--ink)}.loading-details span{font-size:11.5px;color:#9c9488}.error-state{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border-radius:12px;background:#fdf2ef;border:1px solid #f6c8ba;color:#973c24;animation:fadein .25s ease}.error-mark{width:28px;height:28px;flex:none;border-radius:50%;background:#f38f75;color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px}.error-content{flex:1}.error-content strong{font-size:13px;font-weight:600;display:block}.error-content p{font-size:12px;line-height:1.6;margin:6px 0 10px;color:#834333}.error-actions{display:flex;gap:10px;flex-wrap:wrap}.retry-button{padding:7px 14px;border:1px solid #e89980;border-radius:8px;background:#fff;color:#973c24;font-size:11px;font-weight:600;transition:all .15s}.retry-button:hover{background:#fbeae4;border-color:#d95325}.output-state{animation:fadein .25s cubic-bezier(.16,1,.3,1)}.output-header-bar{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--line)}.output-title-group{display:flex;align-items:center;gap:10px}.output-title-label{font-size:11px;font-weight:700;letter-spacing:1.25px;color:var(--orange);text-transform:uppercase}.output-model-badge{font-family:JetBrains Mono,monospace;font-size:9.5px;color:#938c82;background:var(--pale);border:1px solid var(--line);border-radius:6px;padding:2px 7px}.output-quick-actions{display:flex;gap:8px}.copy-button{border:1px solid #e9bda9;background:var(--pale);border-radius:8px;padding:7px 13px;color:var(--orange-dark);font-size:11.5px;font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:all .18s}.copy-button:hover{border-color:var(--orange);background:#faeae0;transform:translateY(-1px)}.copy-button.copied{background:#ebf6ee;border-color:#9bd2a9;color:var(--green)}.output-formatted-container{max-height:520px;overflow-y:auto;border-radius:10px;background:#fff9;border:1px solid #eee8df;padding:16px 18px}.output-text{font-family:DM Sans,sans-serif;font-size:13.5px;line-height:1.85;color:#433e37;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;outline:none}.output-footer{border-top:1px solid var(--line);margin-top:16px;padding-top:12px;display:flex;justify-content:space-between;align-items:center}.output-meta{font-size:10.5px;color:#9e978b}.footer-buttons{display:flex;gap:8px}.about-section{border-top:1px solid rgba(80,67,53,.1);margin-top:50px;padding:36px 0 32px;display:grid;grid-template-columns:.9fr 1.1fr;gap:40px}.about-intro h2{font-family:Playfair Display,Georgia,serif;font-size:28px;line-height:1.2;margin:8px 0}.about-intro>p{font-size:12px;line-height:1.75;color:#817b72;max-width:290px;margin:0}.feature-list{display:flex;flex-direction:column;gap:18px}.feature{display:flex;align-items:flex-start;gap:14px}.feature-icon{flex:none;width:32px;height:32px;border-radius:9px;background:#fff4eb;border:1px solid #f6d1c0;color:var(--orange);display:grid;place-items:center;font-size:15px}.feature h3{font-size:12px;margin:2px 0 4px;font-weight:600}.feature p{font-size:11px;color:#8d867c;line-height:1.6;margin:0}footer{border-top:1px solid rgba(80,67,53,.1);min-height:64px;display:flex;align-items:center;justify-content:space-between;color:#a29b91;font-size:10.5px;margin-top:20px;flex-wrap:wrap;gap:12px;padding:16px 0}.footer-brand{font-size:18px;color:var(--ink);text-decoration:none}.github-nav-btn{text-decoration:none;font-weight:500}.repo-note-link{color:var(--orange);text-decoration:none;font-weight:500;display:inline-flex;align-items:center;transition:color .15s ease}.repo-note-link:hover{color:var(--orange-dark);text-decoration:underline}.footer-github-link{color:#7b7468;text-decoration:none;display:inline-flex;align-items:center;gap:4px;font-weight:500;transition:color .15s ease}.footer-github-link:hover{color:var(--orange);text-decoration:underline}.text-button{border:0;background:transparent;color:#8f887e;font-size:11px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.text-button:hover{color:var(--orange-dark)}.history-sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadein .2s ease}.history-sidebar{position:fixed;top:0;right:0;bottom:0;width:min(420px,92vw);background:var(--card);z-index:1000;padding:24px;overflow-y:auto;box-shadow:-8px 0 32px #0000001f;display:flex;flex-direction:column;gap:12px;animation:slidein .25s cubic-bezier(.16,1,.3,1)}@keyframes slidein{0%{transform:translate(100%)}to{transform:translate(0)}}.settings-heading{display:flex;justify-content:space-between;align-items:center}.settings-heading h2{font-family:Playfair Display,Georgia,serif;font-size:22px;font-weight:500;margin:4px 0 0}.history-note{margin:0;font-size:10.5px;color:#9c958b}.history-list{display:flex;flex-direction:column;gap:8px;margin-top:8px;flex:1;overflow-y:auto}.history-item{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:11px 13px;transition:border-color .15s,transform .15s}.history-item:hover{border-color:#e3b29b;transform:translateY(-1px)}.history-item-top{display:flex;align-items:center;justify-content:space-between;width:100%}.history-item-top span{font-size:9.5px;font-weight:600;color:var(--orange);text-transform:uppercase}.history-date{font-size:9px;color:#aaa49a}.history-item strong{font-size:11px;font-weight:600;color:#555047;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-response{color:#8c8579;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-empty-note{font-size:11px;color:#a29b91;text-align:center;margin-top:30px}.dark-theme{--paper: #1c1a17;--card: #272420;--ink: #f0ebe2;--muted: #a39c91;--line: #3d3932;--pale: #352e27;--shadow: 0 16px 48px rgba(0, 0, 0, .35);background:var(--paper);color:var(--ink)}.dark-theme .intro-copy,.dark-theme .about-intro>p,.dark-theme .feature p{color:#b2aa9d}.dark-theme .brand-cat-icon{background:#352a22;border-color:#574134}.dark-theme .meow-action-btn{background:#362921;border-color:#5d4032;color:#ff9e79}.dark-theme .cat-speech-bubble{background:#2f2a24;border-color:#5d4032}.dark-theme .cat-speech-bubble:before{background:#2f2a24;border-color:#5d4032}.dark-theme .bubble-text{color:#ff9e79}.dark-theme .result-card{background:#24211d;border-color:#443e35}.dark-theme .empty-state p{color:#e5ded4}.dark-theme .output-formatted-container{background:#1e1b18;border-color:#3d3830}.dark-theme .output-text{color:#e8e2d8}.dark-theme .error-state{background:#381f18;border-color:#6b3324;color:#f7a692}.dark-theme .error-content p{color:#f3beb1}.dark-theme .retry-button{background:#2a1914;border-color:#793c2b;color:#fba18c}.dark-theme .example-chip{border-color:#454038;color:#c0b7aa}.dark-theme .select-wrap select{background:#272420;border-color:#423d35;color:#ded7cc}.dark-theme .history-sidebar{background:#24211d}.dark-theme .history-item{background:#2b2723;border-color:#3f3931}.dark-theme .history-item strong{color:#e8e1d5}@keyframes fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}[hidden]{display:none!important}@media (max-width: 680px){.page-shell{width:min(100% - 24px,540px)}.topbar{height:70px}.cat-hero-svg{width:145px}.cat-speech-bubble{right:-10px;top:-16px}.options-row{display:grid;grid-template-columns:1fr;gap:12px}.generate-button{width:100%}.about-section{grid-template-columns:1fr;gap:26px;margin-top:36px;padding:26px 0}.output-header-bar{flex-direction:column;align-items:flex-start;gap:8px}.output-quick-actions{width:100%;justify-content:flex-end}}@media (max-width: 480px){.page-shell{width:min(100% - 16px,100%);padding-top:12px}.topbar{height:62px;gap:4px}.brand-name{font-size:18px;letter-spacing:-.5px}.brand-cat-icon{width:32px;height:32px;border-radius:10px}.top-actions{gap:5px}.quiet-button{padding:0 8px;font-size:10px;height:30px;gap:4px}.icon-button{width:30px;height:30px}.icon-button svg{width:15px}.intro{padding:20px 0 16px}.cat-hero-svg{width:120px}}
