:root{color-scheme:dark;--bg:#111827;--panel:#1f2937;--panel-hover:#374151;--text:#fff;--muted:#aeb7c5;--accent:#38bdf8;--accent-text:#082f49;--focus:#fde68a}
:root[data-theme="light"]{color-scheme:light;--bg:#fff;--panel:#f3f4f6;--panel-hover:#e5e7eb;--text:#111827;--muted:#4b5563;--focus:#0369a1}
*{box-sizing:border-box}html,body{min-height:100%}
body{margin:0;min-height:100dvh;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;display:flex;flex-direction:column}
button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.toolbar{position:fixed;inset:0 0 auto;z-index:10;padding:max(12px,env(safe-area-inset-top)) 72px 12px 12px;background:var(--panel);box-shadow:0 6px 24px rgb(0 0 0/25%);transform:translateY(-110%);transition:transform .22s ease}
.toolbar.is-open{transform:translateY(0)}
.toolbar__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}
.size-control{display:flex;align-items:center;gap:10px;padding:8px 10px;color:var(--muted);font-size:.9rem;font-weight:650}
.size-control input{width:min(34vw,180px)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:0;border-radius:11px;background:var(--accent);color:var(--accent-text);font-weight:750;text-decoration:none;cursor:pointer}
.button:hover{filter:brightness(.94)}.button--secondary{background:var(--panel-hover);color:var(--text)}
.settings-button{position:fixed;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));z-index:20;width:48px;height:48px;padding:12px;border:0;border-radius:50%;background:var(--panel);color:var(--text);box-shadow:0 5px 20px rgb(0 0 0/35%);cursor:pointer}
.settings-button:hover{background:var(--panel-hover)}.settings-button svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s ease}.settings-button[aria-expanded="true"] svg{transform:rotate(60deg)}
.display{flex:1;min-height:0;display:grid;place-items:center;overflow:hidden;padding:clamp(20px,4vw,52px)}
.message{display:block;width:100%;max-width:100%;height:auto;min-height:1.2em;padding:0;overflow:hidden;resize:none;border:0;outline:0;background:transparent;color:var(--text);font-size:220px;line-height:1.2;font-weight:900;letter-spacing:.01em;text-align:center;caret-color:var(--accent);white-space:pre}
.message::placeholder{color:var(--muted);opacity:.45}
.footer{display:flex;justify-content:center;gap:8px;padding:8px 16px max(16px,env(safe-area-inset-bottom));color:var(--muted);font-size:.78rem}
.footer a,.info-card a:not(.button){color:var(--accent)}
body.is-presenting{cursor:pointer}body.is-presenting .toolbar,body.is-presenting .settings-button,body.is-presenting .footer{display:none}body.is-presenting .display{min-height:100dvh}body.is-presenting .message{cursor:pointer;caret-color:transparent}
.info-page{padding:clamp(16px,5vw,56px)}.info-card{width:min(100%,820px);margin:auto;padding:clamp(24px,5vw,48px);border-radius:24px;background:var(--panel);box-shadow:0 12px 40px rgb(0 0 0/25%)}
.info-card h1{margin:24px 0;font-size:clamp(2.4rem,8vw,4.5rem);line-height:1}.info-card h2{margin:32px 0 10px;font-size:1.35rem}.info-card p{color:var(--muted);font-size:clamp(1.05rem,2.5vw,1.25rem);line-height:1.65}.back-link{font-weight:700}.support-link{margin-top:8px}
@media(max-width:600px){.toolbar{padding-right:68px}.toolbar__inner{justify-content:stretch}.size-control{width:100%}.size-control input{flex:1;width:auto}.toolbar .button{flex:1;padding-inline:10px}.footer span:first-child,.footer span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
