:root{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-textarea:#fff;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-on-dark-bg:#e2e8f0;--border-color:#e2e8f0;--shadow:0 1px 2px 0 rgb(0 0 0 / .05);--color-blue:#3b82f6;--color-green:#22c55e;--color-purple:#8b5cf6}@media(prefers-color-scheme:dark){:root{--bg-primary:#0f172a;--bg-secondary:rgba(30,41,59,0.5);--bg-textarea:#1e293b;--text-primary:#fff;--text-secondary:#94a3b8;--text-muted:#94a3b8;--text-on-dark-bg:#e2e8f0;--border-color:#334155}}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-family:"Inter",system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{display:flex;flex-direction:column;gap:1.5rem;min-height:100svh;background-color:var(--bg-primary);color:var(--text-on-dark-bg);padding:2rem 1rem}header{text-align:center}header h1{font-size:1.875rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}header p{font-size:1.125rem;color:var(--text-secondary)}main{display:flex;flex-direction:column;flex-grow:1;gap:.75rem;width:100%;max-width:56rem;margin-left:auto;margin-right:auto}.stats-container{display:grid;gap:1rem;list-style:none}.stats-container li{display:flex;align-items:center;gap:1rem;background-color:var(--bg-secondary);padding:1.25rem;border-radius:.5rem;box-shadow:var(--shadow)}.stats-container i{font-size:1.5rem}.stats-container .bi-fonts{color:var(--color-blue)}.stats-container .bi-card-text{color:var(--color-green)}.stats-container .bi-text-left{color:var(--color-purple)}.stats-container span{display:block;font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:2rem}.stats-container p{font-size:.875rem;color:var(--text-muted);line-height:1.25rem}#text-input{flex-grow:1;padding:.75rem;font-size:1.125rem;font-family:inherit;color:var(--text-primary);background-color:var(--bg-textarea);border:2px solid var(--border-color);border-radius:.75rem;box-shadow:var(--shadow);resize:none;transition:border-color .2s ease,box-shadow .2s ease}#text-input::placeholder{color:var(--text-muted)}#text-input:focus{outline:0;border-color:var(--color-blue);box-shadow:0 0 0 3px rgba(59,130,246,0.3)}@media(min-width:768px){body{padding-top:3rem;padding-bottom:3rem}header h1{font-size:2.25rem}.stats-container{grid-template-columns:repeat(3,1fr)}#text-input{padding:1.25rem}}
