.ascii-shell{--ascii-ink: #ece7ff;--ascii-muted: #b8addb;--ascii-border: rgba(168, 142, 255, .3);--ascii-panel: rgba(17, 11, 34, .9);--ascii-panel-strong: rgba(20, 13, 41, .96);--ascii-accent: #7ee9ff;--ascii-accent-2: #c17cff;--ascii-soft: rgba(126, 233, 255, .14);--ascii-output-fg: #ede8ff;--ascii-output-bg: #090616;--ascii-output-glow: #a38aff;background:radial-gradient(circle at 10% -12%,rgba(203,114,255,.24),transparent 34%),radial-gradient(circle at 94% 10%,rgba(79,202,255,.18),transparent 34%),linear-gradient(180deg,#0d0a1f,#120f28 58%,#0b0919);color:var(--ascii-ink);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.ascii-backdrop{position:fixed;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(154,120,255,.1) 0 1px,transparent 1px 34px),repeating-linear-gradient(90deg,rgba(100,198,255,.1) 0 1px,transparent 1px 34px);opacity:.45}.ascii-wrap{width:calc(100vw - .8rem);max-width:none;margin:0 auto;padding:.9rem 0 2.4rem;display:grid;gap:1rem;min-height:calc(100vh - .8rem)}.ascii-topbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.ascii-return{border:1px solid var(--ascii-border);border-radius:999px;padding:.42rem .86rem;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;color:var(--ascii-accent);background:#180e2eb8;transition:transform .14s ease,background .14s ease}.ascii-return:hover{background:#22143ed1;transform:translateY(-1px)}.ascii-topline{margin:0;font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ascii-muted)}.ascii-panel{border:1px solid var(--ascii-border);border-radius:1rem;background:var(--ascii-panel);box-shadow:0 22px 50px -35px #28185db8;backdrop-filter:blur(2px)}.ascii-hero{padding:1rem 1.2rem 1.08rem;background:linear-gradient(180deg,#201444d1,#120d2cbd),repeating-linear-gradient(90deg,rgba(160,118,255,.06) 0 1px,transparent 1px 28px)}.ascii-kicker{margin:0;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#9ddfff}.ascii-hero h1{margin:.32rem 0 0;font-size:clamp(1.95rem,4.7vw,3.05rem);font-weight:800;line-height:1.02;letter-spacing:-.01em;color:#f2ecff;text-shadow:0 0 22px rgba(193,124,255,.24)}.ascii-hero p{margin:.62rem 0 0;max-width:70ch;color:#d7ceff;line-height:1.62;font-size:.95rem}.ascii-main{padding:1rem;background:linear-gradient(180deg,#140d2be0,#0d0a1eeb);min-height:calc(100vh - 12rem)}.ascii-grid{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:.85rem;min-height:100%}.ascii-controls,.ascii-stage{border:1px solid var(--ascii-border);border-radius:.9rem;background:var(--ascii-panel-strong)}.ascii-controls{padding:.95rem;display:grid;gap:.52rem;align-content:start}.ascii-controls h2,.ascii-stage h2,.ascii-notes h2{margin:0;font-size:1.02rem;color:#d4ffe6;letter-spacing:.01em}.ascii-controls label{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:#b5abff;font-weight:700}.ascii-controls textarea,.ascii-controls select,.ascii-controls input[type=text],.ascii-controls input[type=color]{width:100%;border:1px solid rgba(167,141,255,.36);border-radius:.72rem;background:#0f0922e6;color:#ece7ff;padding:.58rem .7rem;font:inherit}.ascii-controls textarea::-moz-placeholder{color:#a48fc9}.ascii-controls textarea::placeholder{color:#a48fc9}.ascii-presets{display:flex;flex-wrap:wrap;gap:.42rem;margin-top:-.05rem;margin-bottom:.2rem}.ascii-input-hint{margin:-.15rem 0 .08rem;font-size:.73rem;line-height:1.45;color:#b7abd8}.ascii-presets button{border:1px solid rgba(167,141,255,.35);border-radius:999px;background:#1a1035b8;color:#cfbfff;padding:.3rem .62rem;font:inherit;font-size:.67rem;letter-spacing:.05em;cursor:pointer}.ascii-presets button:hover{background:#231546db;border-color:#97e0ff80}.ascii-controls input[type=range]{width:100%;accent-color:var(--ascii-accent)}.ascii-color-grid{display:grid;gap:.45rem;grid-template-columns:repeat(3,minmax(0,1fr))}.ascii-color-grid label{margin-bottom:.22rem;display:block}.ascii-color-grid input[type=color]{height:2.2rem;padding:.2rem;cursor:pointer}.ascii-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:.2rem}.ascii-btn{border:1px solid rgba(165,145,255,.36);border-radius:.72rem;padding:.52rem .72rem;background:#160e2fc2;color:#ddd4ff;font:inherit;font-size:.75rem;font-weight:700;cursor:pointer;transition:transform .12s ease,background .12s ease}.ascii-btn:hover{transform:translateY(-1px);background:#201440d6}.ascii-btn--primary{background:linear-gradient(135deg,#5a6dff,#c17cff);border-color:#bf7cff8c;color:#f7f3ff}.ascii-note{margin:.12rem 0 0;font-size:.74rem;color:#ad9fd3;line-height:1.5}.ascii-stage{padding:.9rem;display:flex;flex-direction:column;gap:.56rem;min-height:100%}.ascii-stage-head{display:flex;justify-content:space-between;align-items:end;gap:.6rem}.ascii-stage-kicker{margin:0;font-size:.63rem;text-transform:uppercase;letter-spacing:.14em;color:#b8a8ff}.ascii-frame{border:1px solid rgba(165,145,255,.4);border-radius:.9rem;background:#090616eb;min-height:620px;max-height:84vh;overflow:auto;padding:.9rem;box-shadow:inset 0 0 0 1px #c17cff1f;flex:1 1 auto;background:var(--ascii-output-bg)}#ascii-output{margin:0;min-height:100%;color:var(--ascii-output-fg);font-size:clamp(8.8px,1.05vw,12.8px);line-height:.86;letter-spacing:.05em;white-space:pre;-moz-tab-size:2;-o-tab-size:2;tab-size:2;text-shadow:0 0 10px color-mix(in srgb,var(--ascii-output-glow) 38%,transparent);font-family:JetBrains Mono,Noto Sans SC,Noto Sans Arabic,Segoe UI Symbol,Apple Symbols,ui-monospace,monospace;direction:ltr;unicode-bidi:plaintext}.ascii-notes{padding:.95rem 1.04rem}.ascii-notes ul{margin:.72rem 0 0;padding-left:1rem;display:grid;gap:.36rem;color:#d0c6ff;font-size:.88rem;line-height:1.56}@media (max-width: 980px){.ascii-grid{grid-template-columns:1fr}.ascii-frame{min-height:500px;max-height:68vh}}@media (max-width: 560px){.ascii-wrap{width:calc(100vw - .35rem)}.ascii-topline{display:none}.ascii-main{padding:.65rem;min-height:unset}.ascii-controls,.ascii-stage{border-radius:.8rem}.ascii-actions,.ascii-color-grid{grid-template-columns:1fr}.ascii-frame{min-height:420px;padding:.7rem}}
