:root{--bg: #f5f5f7;--surface: #ffffff;--text: #1d1d1f;--text-secondary: #6e6e73;--border: #d2d2d7;--accent: #0071e3;--accent-hover: #0077ed;--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--radius: 12px;--radius-sm: 8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;color-scheme:light dark}[data-theme=light]{--bg: #f5f5f7;--surface: #ffffff;--text: #1d1d1f;--text-secondary: #6e6e73;--border: #d2d2d7;--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08)}[data-theme=dark]{--bg: #1c1c1e;--surface: #2c2c2e;--text: #f5f5f7;--text-secondary: #a1a1a6;--border: #3a3a3c;--shadow: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh}body{background:var(--bg);color:var(--text);transition:background .3s,color .3s}.app{max-width:720px;margin:0 auto;padding:2rem 1.25rem 4rem}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.header h1{font-size:1.75rem;font-weight:700;letter-spacing:-.03em;color:var(--text)}.theme-toggle{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--surface);cursor:pointer;display:grid;place-items:center;font-size:1.15rem;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}.theme-toggle:hover{transform:scale(1.08);box-shadow:var(--shadow-md)}.editor-section{margin-bottom:1.75rem}.text-input{width:100%;min-height:220px;padding:1rem 1.25rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-family:inherit;font-size:1rem;line-height:1.65;resize:vertical;outline:none;box-shadow:var(--shadow);transition:border-color .2s,box-shadow .2s}.text-input::placeholder{color:var(--text-secondary)}.text-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0071e326,var(--shadow)}.actions{display:flex;gap:.5rem;margin-top:.75rem;justify-content:flex-end}.btn{font-family:inherit;font-size:.875rem;font-weight:500;padding:.5rem 1.15rem;border-radius:var(--radius-sm);border:none;cursor:pointer;transition:background .15s,color .15s,transform .1s}.btn:active{transform:scale(.97)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow)}.btn-secondary:hover{background:var(--bg)}.btn-text{background:none;border:none;color:var(--accent);padding:.25rem .5rem;font-size:.8rem}.btn-text:hover{text-decoration:underline}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:2rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem .75rem;text-align:center;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.25rem}.stat-value{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--text);line-height:1.2;word-break:break-word}.stat-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.history-section{margin-top:.5rem}.history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.history-header h2{font-size:1.1rem;font-weight:600;letter-spacing:-.02em}.history-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.history-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.85rem 1rem;cursor:pointer;box-shadow:var(--shadow);transition:border-color .15s,box-shadow .15s}.history-item:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}.history-preview{font-size:.9rem;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:.5rem;line-height:1.5;word-break:break-word}.history-meta{display:flex;gap:1rem;font-size:.75rem;color:var(--text-secondary)}@media(max-width:540px){.app{padding:1.25rem 1rem 3rem}.header h1{font-size:1.35rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-value{font-size:1.25rem}.text-input{min-height:180px}}
