:root{--bg:#0a0e17;--bg-2:#0d1322;--cyan:#00f0ff;--magenta:#ff2d95;--violet:#7b5cff;--ink:#e8f4ff;--ink-dim:#7d8aa5;--card-bg:#ffffff08;--card-border:#00f0ff29;--glow-cyan:0 0 12px #00f0ff73;--glow-magenta:0 0 12px #ff2d9573;--font:"SF Mono", "Cascadia Code", ui-monospace, "Segoe UI Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;margin:0;padding:0}body{min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:radial-gradient(1200px 500px at 50% -10%, #7b5cff24, transparent 60%), radial-gradient(900px 400px at 85% 110%, #ff2d951a, transparent 60%), radial-gradient(900px 400px at 10% 100%, #00f0ff14, transparent 60%), var(--bg);flex-direction:column;display:flex}#root{flex-direction:column;min-height:100dvh;display:flex}.bg-grid{pointer-events:none;background-image:linear-gradient(#00f0ff0b 1px,#0000 1px),linear-gradient(90deg,#00f0ff0b 1px,#0000 1px);background-size:44px 44px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(90% 70% at 50% 30%,#000 30%,#0000 100%);mask-image:radial-gradient(90% 70% at 50% 30%,#000 30%,#0000 100%)}.app-header{text-align:center;padding:26px 16px 8px;position:relative}.logo{filter:drop-shadow(0 0 6px #00f0ff99);width:44px;height:44px}.app-header h1{letter-spacing:.55em;text-indent:.55em;color:var(--ink);text-shadow:0 0 14px #00f0ff8c,0 0 40px #00f0ff33;margin:6px 0 2px;font-size:26px;font-weight:700}.tagline{letter-spacing:.4em;text-indent:.4em;color:var(--ink-dim);margin:0;font-size:10px}main{flex-direction:column;flex:1;gap:14px;width:100%;max-width:560px;margin:0 auto;padding:14px 14px 24px;display:flex;position:relative}.card{background:var(--card-bg);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(8px);border-radius:16px;flex-direction:column;gap:14px;padding:16px;display:flex;box-shadow:0 0 0 1px #00000040,0 10px 30px #00000059}.card-title{letter-spacing:.3em;text-indent:.3em;color:var(--ink-dim);margin:0;font-size:11px}[hidden]{display:none!important}.btn{letter-spacing:.25em;text-indent:.25em;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:13px 18px;font-family:inherit;font-size:13px;transition:box-shadow .2s,background .2s,transform .1s,opacity .2s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;pointer-events:none}.btn-outline{color:var(--cyan);text-shadow:0 0 8px #00f0ff80;background:#00f0ff0f;border:1px solid #00f0ff73}.btn-outline:hover{box-shadow:var(--glow-cyan)}.btn-ghost{color:var(--ink-dim);background:0 0;border:1px solid #7d8aa559}.btn-primary{color:#04070d;background:linear-gradient(135deg,#00f0ffe6,#7b5cffe6 55%,#ff2d95e6);border:none;width:100%;font-weight:700;box-shadow:0 0 18px #00f0ff59,0 0 34px #ff2d9533}.btn-primary:hover{box-shadow:0 0 26px #00f0ff8c,0 0 48px #ff2d9559}.btn-small{letter-spacing:.18em;text-indent:.18em;border-radius:9px;flex-shrink:0;padding:8px 12px;font-size:10px}.btn-icon{border-radius:9px;flex-shrink:0;width:30px;height:30px;padding:0;font-size:15px}.switch{cursor:pointer;flex-shrink:0;align-items:center;gap:9px;display:flex;position:relative}.switch input{opacity:0;cursor:pointer;width:38px;height:22px;margin:0;position:absolute}.switch-track{pointer-events:none;background:#0006;border:1px solid #7d8aa580;border-radius:999px;flex-shrink:0;width:38px;height:22px;transition:border-color .2s,box-shadow .2s;position:relative}.switch-track:after{content:"";background:var(--ink-dim);border-radius:50%;width:14px;height:14px;transition:transform .2s,background .2s,box-shadow .2s;position:absolute;top:3px;left:3px}.switch input:focus-visible+.switch-track{box-shadow:var(--glow-cyan)}.switch input:checked+.switch-track{border-color:var(--cyan);box-shadow:inset 0 0 8px #00f0ff40}.switch input:checked+.switch-track:after{background:var(--cyan);transform:translate(16px);box-shadow:0 0 8px #00f0ffcc}.switch-label{letter-spacing:.15em;color:var(--ink);font-size:11px}.segmented{border:1px solid #00f0ff4d;border-radius:12px;gap:0;display:flex;overflow:hidden}.segmented-btn{letter-spacing:.15em;text-indent:.15em;color:var(--ink-dim);cursor:pointer;background:0 0;border:none;flex:1;padding:10px 8px;font-family:inherit;font-size:11px;transition:background .2s,color .2s,text-shadow .2s}.segmented-btn.active{color:var(--cyan);text-shadow:0 0 8px #00f0ff99;background:#00f0ff1f}.text-input{color:var(--ink);background:#00000059;border:1px solid #00f0ff2e;border-radius:9px;outline:none;padding:9px 11px;font-family:inherit;font-size:13px;transition:border-color .2s,box-shadow .2s}.text-input:focus{border-color:var(--cyan);box-shadow:var(--glow-cyan)}.text-input::placeholder{color:#7d8aa599}textarea.text-input{resize:vertical;min-height:90px;line-height:1.5}.source-list{flex-direction:column;gap:12px;display:flex}.source-item{flex-direction:column;gap:6px;display:flex}.source-item-head{align-items:center;gap:8px;display:flex}.source-label-input{letter-spacing:.1em;flex:1;min-width:0;padding:7px 10px;font-size:11px}.control-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.stanza{flex-direction:column;gap:2px;display:flex}.stanza-line{border-bottom:1px solid #ffffff0d;align-items:center;gap:10px;padding:10px 4px;display:flex}.stanza-line:last-child{border-bottom:none}.stanza-line-text{color:var(--ink);word-break:break-word;flex:1;font-size:14px;line-height:1.5}.stanza-empty{text-align:center;letter-spacing:.1em;color:var(--ink-dim);padding:18px 8px;font-size:11px}.pin-btn{width:30px;height:30px;color:var(--cyan);cursor:pointer;background:#00f0ff0d;border:1px solid #00f0ff40;border-radius:9px;flex-shrink:0;font-size:14px;transition:background .15s,box-shadow .15s,transform .1s}.pin-btn:hover{box-shadow:var(--glow-cyan)}.pin-btn:active{transform:scale(.94)}.pin-btn.pinned{box-shadow:var(--glow-cyan);background:#00f0ff38}.keepers-list{flex-direction:column;gap:8px;max-height:260px;display:flex;overflow-y:auto}.keeper-item{background:#00000040;border:1px solid #00f0ff1a;border-radius:9px;align-items:center;gap:10px;padding:8px 10px;display:flex}.keeper-text{color:var(--ink);word-break:break-word;flex:1;font-size:13px}.remove-btn{width:24px;height:24px;color:var(--ink-dim);cursor:pointer;background:0 0;border:1px solid #ff2d954d;border-radius:7px;flex-shrink:0;font-size:13px;line-height:1;transition:color .15s,border-color .15s}.remove-btn:hover{color:var(--magenta);border-color:var(--magenta)}.keepers-actions{gap:10px;display:flex}.keepers-actions .btn{flex:1}.session-row{gap:8px;display:flex}.session-row .text-input{flex:1;min-width:0}.session-select{color:var(--ink);background:#00000059;border:1px solid #00f0ff2e;border-radius:9px;outline:none;padding:9px 11px;font-family:inherit;font-size:12px}.session-list{flex-direction:column;gap:6px;display:flex}.session-item{background:#00000040;border:1px solid #00f0ff1a;border-radius:9px;align-items:center;gap:8px;padding:7px 10px;font-size:12px;display:flex}.session-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);flex:1;overflow:hidden}.status-msg{text-align:center;letter-spacing:.1em;min-height:1.2em;color:var(--ink-dim);margin:0;font-size:11px}.status-msg.ok{color:var(--cyan);text-shadow:0 0 8px #00f0ff80}.app-footer{text-align:center;letter-spacing:.15em;color:#7d8aa599;padding:10px 16px 18px;font-size:10px}
