:root{--bg-color: #111111;--panel-color: #181818;--elevated-color: #202020;--border-color: #2B2B2B;--text-primary: #F2F0EA;--text-secondary: #99958E;--accent-color: #D79A4A;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,sans-serif;background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{width:100%;min-height:100dvh;display:flex;flex-direction:column}.editor-container{padding:calc(1rem + var(--safe-top)) calc(1rem + var(--safe-right)) calc(1rem + var(--safe-bottom)) calc(1rem + var(--safe-left));max-width:600px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:1.5rem}.header{text-align:center}.header h1{font-size:1.5rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.header p{color:var(--text-secondary);font-size:.875rem;margin-top:.25rem}.input-section{display:flex;flex-direction:column;gap:.5rem}.message-input{width:100%;min-height:100px;background-color:var(--panel-color);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:1.25rem;padding:1rem;resize:vertical;font-family:inherit;outline:none;transition:border-color .2s}.message-input:focus{border-color:var(--accent-color)}.char-count{text-align:right;font-size:.75rem;color:var(--text-secondary)}.controls-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.control-group{display:flex;flex-direction:column;gap:.5rem}.control-group label{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);font-weight:600;letter-spacing:.05em}select,.btn-secondary{width:100%;background-color:var(--elevated-color);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;padding:.75rem;font-size:.9rem;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.presets{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;-webkit-overflow-scrolling:touch}.preset-btn{background-color:var(--panel-color);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:20px;white-space:nowrap;font-size:.85rem;cursor:pointer;transition:background-color .2s}.preset-btn:active{background-color:var(--elevated-color)}.actions{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.btn-primary{background-color:var(--accent-color);color:#000;border:none;border-radius:12px;padding:1rem;font-size:1.1rem;font-weight:600;cursor:pointer;width:100%;transition:opacity .2s,transform .1s}.btn-primary:active{opacity:.9;transform:scale(.98)}.status-indicator{text-align:center;font-size:.75rem;color:var(--text-secondary);height:1rem}.display-container{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;overflow:hidden;touch-action:none}.display-container.active{display:flex;align-items:center;justify-content:center}.display-container.mode-scroll-left,.display-container.mode-scroll-right{justify-content:flex-start}.ticker-wrapper{will-change:transform;display:flex}.ticker-text{white-space:nowrap;font-weight:700;display:inline-block;line-height:1}@keyframes scroll-left{0%{transform:translate(100vw)}to{transform:translate(-100%)}}@keyframes scroll-right{0%{transform:translate(-100%)}to{transform:translate(100vw)}}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes bounce{0%,to{transform:translate(10vw)}50%{transform:translate(-10vw)}}.mode-scroll-left .ticker-wrapper{animation:scroll-left var(--duration, 10s) linear infinite}.mode-scroll-right .ticker-wrapper{animation:scroll-right var(--duration, 10s) linear infinite}.mode-bounce .ticker-wrapper{animation:bounce var(--duration, 5s) ease-in-out infinite}.mode-static .ticker-wrapper{justify-content:center;width:100%;display:flex}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.modifier-blink .ticker-text{animation:blink 1s step-start infinite}.modifier-pulse .ticker-text{animation:pulse 2s ease-in-out infinite}.exit-hint{position:fixed;top:calc(env(safe-area-inset-top,20px) + 20px);left:50%;transform:translate(-50%);color:#ffffff80;font-size:.85rem;pointer-events:none;opacity:0;transition:opacity .5s ease-out;z-index:1001;background:#0006;padding:4px 12px;border-radius:12px}.exit-hint.show{opacity:1}body.display-active{overflow:hidden;touch-action:none;overscroll-behavior:none}.effect-glow .ticker-text{text-shadow:0 0 10px currentColor,0 0 30px currentColor}.effect-matrix .ticker-text{text-shadow:0 0 8px currentColor}.effect-matrix:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(var(--bg-color) 3px,transparent 4px);background-size:8px 8px;pointer-events:none;z-index:10}.effect-scanlines:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(#12101000 50%,#00000040 50%),linear-gradient(90deg,#ff00000f,#00ff0005,#0000ff0f);background-size:100% 4px,3px 100%;pointer-events:none;z-index:10}
