*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}html{color-scheme:dark}body{margin:0;min-height:100vh;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#0b0d10;color:#f3f4f6}button,input,select,textarea{font:inherit}button{cursor:pointer}main{width:100%}.setup-shell{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 1rem) calc(env(safe-area-inset-right,0px) + 1rem) calc(env(safe-area-inset-bottom,0px) + 1rem) calc(env(safe-area-inset-left,0px) + 1rem);background:radial-gradient(circle at top,#1f2937,#0b0d10 58%)}.setup-card{width:min(100%,42rem);display:grid;gap:1rem;padding:1.25rem;border-radius:1.25rem;background:#0f172aeb;border:1px solid rgba(148,163,184,.22);box-shadow:0 20px 60px #00000059}.setup-card h1{margin:0;font-size:clamp(2rem,6vw,3rem);line-height:1.05}.setup-card label{display:grid;gap:.5rem}.setup-card textarea{width:100%;min-height:42vh;padding:.9rem 1rem;resize:vertical}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.settings-grid input,.settings-grid select,.setup-card textarea,.controls-overlay input,.controls-overlay select{width:100%;padding:.75rem .85rem;border-radius:.8rem;border:1px solid rgba(148,163,184,.32);background:#111827;color:#f9fafb}.setup-card>label:last-of-type{display:flex;align-items:center;gap:.7rem}.primary-button,.controls-overlay button,.controls-toggle{min-height:48px;border:0;border-radius:.9rem;padding:.8rem 1rem;font-weight:700;transition:transform .12s ease,background-color .12s ease,color .12s ease,opacity .12s ease}.primary-button{background:#f8fafc;color:#020617}.primary-button:hover,.controls-overlay button:hover,.controls-toggle:hover{transform:translateY(-1px)}.error-message{margin:0;padding:.85rem 1rem;border-radius:.8rem;background:#7f1d1d;color:#fee2e2;border:1px solid #fca5a5}.prompter-shell{position:fixed;top:0;right:0;bottom:0;left:0;height:100vh;height:100dvh;overflow:hidden;background:#000}.prompter-stage{position:relative;width:100%;height:100%;overflow:hidden}.prompter-scroll{height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain}.prompter-scroll::-webkit-scrollbar{display:none}.prompter-text{white-space:pre-wrap;line-height:1.65;padding-top:45vh;padding-bottom:60vh;padding-left:clamp(1rem,4vw,4rem);padding-right:clamp(1rem,4vw,4rem);word-break:break-word}.prompter-text.mirrored{transform:scaleX(-1)}.theme-white-on-black{background:#000;color:#fff}.theme-black-on-white{background:#fff;color:#000}.theme-yellow-on-black{background:#000;color:#facc15}.controls-overlay{position:absolute;left:calc(env(safe-area-inset-left,0px) + .75rem);right:calc(env(safe-area-inset-right,0px) + .75rem);bottom:calc(env(safe-area-inset-bottom,0px) + .75rem);display:grid;gap:.75rem;padding:.9rem;border-radius:1rem;background:#0a0f19e0;border:1px solid rgba(148,163,184,.28);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#f8fafc;transform:none;max-height:min(70dvh,34rem);overflow-y:auto;overscroll-behavior:contain;touch-action:manipulation}.controls-overlay button{background:#e2e8f0;color:#020617}.controls-overlay label{display:grid;gap:.45rem}.controls-overlay input[type=range]{padding:0}.controls-toggle{position:absolute;top:calc(env(safe-area-inset-top,0px) + .75rem);right:calc(env(safe-area-inset-right,0px) + .75rem);min-width:11rem;background:#0f172acc;color:#f8fafc;border:1px solid rgba(148,163,184,.32);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.prompter-shell.is-landscape .controls-overlay-landscape{top:50%;right:auto;bottom:auto;left:50%;width:min(32rem,calc(100vw - 4rem));max-height:min(82dvh,24rem);transform:translate(-50%,-50%)}.prompter-shell.is-landscape .controls-toggle-landscape{top:calc(env(safe-area-inset-top,0px) + 1rem);right:50%;transform:translate(50%)}.prompter-shell.is-landscape .controls-toggle-landscape:hover{transform:translate(50%) translateY(-1px)}@media (min-width: 768px){.setup-card{width:min(100%,48rem);padding:1.5rem}.controls-overlay{left:50%;right:auto;width:min(calc(100% - 2rem),48rem);transform:translate(-50%)}}
