.ascii-banner-generator-container{max-width:1200px;margin:0 auto;padding:1rem;min-height:calc(100vh - 135px)}@media(max-width:768px){.ascii-banner-generator-container{padding:.75rem}}.ascii-banner-generator-container .page-header{text-align:center;margin-bottom:1.5rem}.ascii-banner-generator-container .page-header .page-title{font-size:1.75rem;font-weight:700;color:#1a1a1a;margin-bottom:.75rem;letter-spacing:-.5px;transition:color .3s ease}html.dark .ascii-banner-generator-container .page-header .page-title{color:#f8f8f2}@media(min-width:640px){.ascii-banner-generator-container .page-header .page-title{font-size:2.5rem}}@media(min-width:1024px){.ascii-banner-generator-container .page-header .page-title{font-size:3.5rem}}.ascii-banner-generator-container .page-header .page-subtitle{font-size:.85rem;color:#666;max-width:500px;margin:0 auto 1rem;transition:color .3s ease}html.dark .ascii-banner-generator-container .page-header .page-subtitle{color:#bd93f9}@media(min-width:640px){.ascii-banner-generator-container .page-header .page-subtitle{font-size:1.1rem}}.ascii-banner-generator-container .tool-section{background:#fff;padding:1rem;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.1);transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;gap:1rem}html.dark .ascii-banner-generator-container .tool-section{background:#282a36;border-color:#44475a;box-shadow:0 4px 12px rgba(0,0,0,.4)}.ascii-banner-generator-container .generator-area{display:flex;flex-direction:column;gap:1.5rem}@media(min-width:768px){.ascii-banner-generator-container .generator-area{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;grid-gap:1rem;gap:1rem}}@media(min-width:1024px){.ascii-banner-generator-container .generator-area{grid-template-columns:1.5fr 1fr;grid-template-rows:auto auto}}.ascii-banner-generator-container .input-group{grid-column:1/-1;display:flex;flex-direction:column;gap:.5rem}@media(min-width:768px){.ascii-banner-generator-container .input-group{grid-column:1/2;grid-row:1/2}}@media(min-width:1024px){.ascii-banner-generator-container .input-group{grid-column:1/2;grid-row:1/2}}.ascii-banner-generator-container .options-group{display:flex;flex-direction:column;gap:1rem}@media(min-width:768px){.ascii-banner-generator-container .options-group{grid-column:2/3;grid-row:1/2}}@media(min-width:1024px){.ascii-banner-generator-container .options-group{grid-column:2/3;grid-row:1/2}}.ascii-banner-generator-container .option-item{display:flex;flex-direction:column;gap:.25rem}.ascii-banner-generator-container .input-label{font-weight:600;color:#1a1a1a}html.dark .ascii-banner-generator-container .input-label{color:#f8f8f2}.ascii-banner-generator-container .select-input,.ascii-banner-generator-container .text-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:4px;background-color:#fff;color:#1a1a1a;font-size:.875rem;font-family:Roboto Mono,monospace;box-sizing:border-box;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.ascii-banner-generator-container .select-input::placeholder,.ascii-banner-generator-container .text-input::placeholder{color:#9ca3af}.ascii-banner-generator-container .select-input:focus,.ascii-banner-generator-container .text-input:focus{outline:none;border-color:#666;box-shadow:0 0 0 3px hsla(0,0%,40%,.2)}html.dark .ascii-banner-generator-container .select-input,html.dark .ascii-banner-generator-container .text-input{background-color:rgb(37.829787234,39.7212765957,51.070212766);border-color:#44475a;color:#f8f8f2}html.dark .ascii-banner-generator-container .select-input::placeholder,html.dark .ascii-banner-generator-container .text-input::placeholder{color:#6272a4}html.dark .ascii-banner-generator-container .select-input:focus,html.dark .ascii-banner-generator-container .text-input:focus{border-color:#bd93f9;box-shadow:0 0 0 3px rgba(189,147,249,.2)}.ascii-banner-generator-container .text-input{min-height:100px;resize:vertical}.ascii-banner-generator-container .select-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23{$placeholder-text-color}%22%20d%3D%22M287%2C197.398L154.2%2C64.599c-5.4-5.4-14.2-5.4-19.6%2C0L5.4%2C197.398c-5.4%2C5.4-5.4%2C14.2%2C0%2C19.6l19.6%2C19.6c5.4%2C5.4%2C14.2%2C5.4%2C19.6%2C0l99.1-99.1l99.1%2C99.1c5.4%2C5.4%2C14.2%2C5.4%2C19.6%2C0l19.6-19.6C292.4%2C211.599%2C292.4%2C202.798%2C287%2C197.398z%22%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:.8em;padding-right:2.5rem}html.dark .ascii-banner-generator-container .select-input{background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23{$dark-placeholder-text-color}%22%20d%3D%22M287%2C197.398L154.2%2C64.599c-5.4-5.4-14.2-5.4-19.6%2C0L5.4%2C197.398c-5.4%2C5.4-5.4%2C14.2%2C0%2C19.6l19.6%2C19.6c5.4%2C5.4%2C14.2%2C5.4%2C19.6%2C0l99.1-99.1l99.1%2C99.1c5.4%2C5.4%2C14.2%2C5.4%2C19.6%2C0l19.6-19.6C292.4%2C211.599%2C292.4%2C202.798%2C287%2C197.398z%22%2F%3E%3C%2Fsvg%3E")}.ascii-banner-generator-container .output-group{grid-column:1/-1;display:flex;flex-direction:column;gap:.5rem}@media(min-width:768px){.ascii-banner-generator-container .output-group{grid-column:1/-1;grid-row:2/3}}.ascii-banner-generator-container .label-group{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.ascii-banner-generator-container .action-buttons{display:flex;gap:.5rem}.ascii-banner-generator-container .copy-button,.ascii-banner-generator-container .download-button{background-color:#fff;border:1px solid #d1d5db;border-radius:4px;color:#1a1a1a;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;padding:.4rem .8rem;font-size:.85rem;gap:.25rem}html.dark .ascii-banner-generator-container .copy-button,html.dark .ascii-banner-generator-container .download-button{background-color:#282a36;border-color:#44475a;color:#f8f8f2}.ascii-banner-generator-container .copy-button:hover:not(:disabled),.ascii-banner-generator-container .download-button:hover:not(:disabled){color:#1a1a1a;background-color:#fff;border-color:#1a1a1a}html.dark .ascii-banner-generator-container .copy-button:hover:not(:disabled),html.dark .ascii-banner-generator-container .download-button:hover:not(:disabled){color:#f8f8f2;background-color:rgb(29.1489361702,30.6063829787,39.3510638298);border-color:#f8f8f2}.ascii-banner-generator-container .ascii-output-display{width:100%;min-height:250px;max-height:500px;overflow:auto;padding:.75rem;border:1px solid #d1d5db;border-radius:4px;background-color:#fff;color:#1a1a1a;font-size:.875rem;font-family:Roboto Mono,monospace;box-sizing:border-box;white-space:pre;word-wrap:normal;text-align:center;transition:border-color .2s ease,background-color .2s ease}html.dark .ascii-banner-generator-container .ascii-output-display{background-color:rgb(37.829787234,39.7212765957,51.070212766);border-color:#44475a;color:#f8f8f2}.ascii-banner-generator-container .ascii-output-display:empty:not(:focus):before{content:"Your ASCII banner will appear here...";color:#9ca3af;font-style:italic}.ascii-banner-generator-container .loading-indicator{display:flex;align-items:center;gap:.5rem;color:#666}html.dark .ascii-banner-generator-container .loading-indicator{color:#bd93f9}.ascii-banner-generator-container .ad-placeholder{background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:1rem;text-align:center;font-size:.8rem;color:#64748b;margin-top:1rem;transition:background .3s ease,border-color .3s ease,color .3s ease}html.dark .ascii-banner-generator-container .ad-placeholder{background-color:#1a1c24;border-color:#44475a;color:#8be9fd}.ascii-banner-generator-container .error-message{color:#dc2626;font-size:.9rem;margin-top:.5rem;text-align:center}html.dark .ascii-banner-generator-container .error-message{color:#ef4444}.ascii-banner-generator-container .success-message{color:#22c55e;font-size:.9rem;margin-top:.5rem;text-align:center}html.dark .ascii-banner-generator-container .success-message{color:#50fa7b}.ascii-banner-generator-container button:focus-visible,.ascii-banner-generator-container select:focus-visible,.ascii-banner-generator-container textarea:focus-visible{outline:2px solid #1a1a1a;outline-offset:2px}html.dark .ascii-banner-generator-container button:focus-visible,html.dark .ascii-banner-generator-container select:focus-visible,html.dark .ascii-banner-generator-container textarea:focus-visible{outline-color:#f8f8f2}