:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}:root{--bg:#0e1015;--bg-2:#151923;--card:#1b2030;--card-2:#202637;--border:#2b3247;--text:#eef0f5;--muted:#97a1b8;--accent:#8b5cf6;--accent-2:#06b6d4;--gold:#eab308;--user:linear-gradient(135deg, #3749a0, #4b2f8f);--user-glow:#5850eb47;--assist:linear-gradient(135deg, #21283a, #1a2131);--assist-glow:#06b6d41f;--error:#f87171;--ok:#34d399;--radius:16px;--shadow:0 10px 30px #00000073}*{box-sizing:border-box}body{color:var(--text);background:radial-gradient(900px 500px at 15% -10%, #8b5cf62e, transparent 60%), radial-gradient(900px 500px at 90% -10%, #06b6d424, transparent 60%), radial-gradient(1200px 700px at 50% 120%, #eab30812, transparent 60%), var(--bg);background-attachment:fixed;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}#root{max-width:1180px;margin:0 auto;padding:22px}.glyph{filter:drop-shadow(0 2px 6px #8b5cf680)}.hero{text-align:center;border:1px solid var(--border);box-shadow:var(--shadow);background:linear-gradient(135deg,#8b5cf647,#06b6d429,#eab3081f);border-radius:22px;margin-bottom:26px;padding:26px 16px 22px;position:relative;overflow:hidden}.hero-inner{z-index:2;position:relative}.hero h1{letter-spacing:.5px;margin:0;font-size:2.1rem}.hero h1 .glyph{margin:0 6px;font-size:1.8rem}.hero .sub{color:#cdd3e4;max-width:560px;margin:8px auto 0;font-size:1.02rem}.hero-deco{color:#eef0f524;letter-spacing:22px;pointer-events:none;z-index:1;opacity:.5;flex-direction:column;justify-content:space-between;align-items:center;font-size:22px;line-height:2;display:flex;position:absolute;inset:0}.section-title{align-items:center;gap:8px;margin:6px 0 14px;font-size:1.25rem;display:flex}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.glow{box-shadow:var(--shadow)}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--error)}.new-story h2{margin:0 0 6px;font-size:1.2rem}input,textarea,select{background:var(--bg-2);width:100%;color:var(--text);border:1px solid var(--border);font:inherit;border-radius:12px;margin:8px 0 12px;padding:11px 13px}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px}textarea{resize:vertical}button{background:linear-gradient(135deg, var(--accent), #6d5ae0);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:11px;padding:11px 18px;font-weight:600;transition:transform 50ms,filter .2s,box-shadow .2s;box-shadow:0 4px 16px #8b5cf640}button:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 6px 22px #8b5cf666}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button.block{width:100%}.ghost{background:var(--card-2);color:var(--text);box-shadow:none;border:1px solid var(--border)}.ghost:hover:not(:disabled){filter:brightness(1.15);box-shadow:none}.ghost-btn{background:var(--card-2);border:1px dashed var(--border);box-shadow:none;color:#cbd3e5}.ghost-btn:hover:not(:disabled){border-color:var(--accent);filter:none}.cards{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;display:grid}.glyph-card{cursor:pointer;background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;transition:transform .15s,border-color .15s;position:relative;overflow:hidden}.glyph-card:hover{border-color:var(--accent);transform:translateY(-4px)}.card-cover{background:linear-gradient(135deg,#2a2f45,#161b29);justify-content:center;align-items:center;height:130px;display:flex}.cover-emoji{opacity:.8;font-size:46px}.card-body{padding:14px 16px 16px}.card-body h3{margin:0 0 10px;font-size:1.08rem;line-height:1.3}.chip-row{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.chip{background:var(--card-2);border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:.72rem}.chip-model{color:#c4b3f7;border-color:#8b5cf666}.chip-book{color:#a5e8f5;border-color:#06b6d459}.updated{margin:0}.delete-btn{width:34px;height:34px;box-shadow:none;background:#0f1118bf;border:1px solid #f871714d;padding:0;position:absolute;top:8px;right:8px}.delete-btn:hover{filter:none;box-shadow:none;background:#c83c3c66}.empty-hint{text-align:center;padding:20px}.login-screen,.splash{justify-content:center;align-items:center;min-height:calc(100vh - 44px);padding:20px;display:flex}.login-card{background:linear-gradient(180deg, var(--card), var(--card-2));border:1px solid var(--border);text-align:center;border-radius:22px;width:100%;max-width:400px;padding:34px}.login-icon{filter:drop-shadow(0 4px 14px #8b5cf680);margin-bottom:8px;font-size:52px;line-height:1}.login-card h1{margin:0 0 6px;font-size:1.4rem}.login-card .muted{margin:6px 0 16px;font-size:.92rem}.login-card button{width:100%}.splash-spin{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;margin:0 auto 12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.logout-btn{flex:none;width:40px;padding:0;font-size:1.1rem}.story-view{flex-direction:column;min-height:calc(100vh - 44px);display:flex}.toolbar{border-bottom:1px solid var(--border);align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;display:flex}.back-btn{white-space:nowrap}.title-input{background:0 0;border:1px solid #0000;flex:1;width:auto;margin:0;font-size:1.35rem;font-weight:700}.title-input:focus{background:var(--bg-2);border-color:var(--accent)}.save-hint{color:var(--ok);text-align:right;min-width:110px;font-size:.85rem}.save-hint.err{color:var(--error)}.story-body{grid-template-columns:330px 1fr;align-items:start;gap:18px;display:grid}.panel{flex-direction:column;gap:16px;display:flex;position:sticky;top:12px}.side-card{padding:16px}.side-card-header{color:#d9def0;align-items:center;gap:6px;margin-bottom:4px;font-weight:700;display:flex}.side-card label{color:var(--muted);margin-top:8px;font-size:.8rem;display:block}.field{margin-top:6px}.column.right{flex-direction:column;gap:12px;min-width:0;display:flex}.chat-window{min-height:520px;box-shadow:var(--shadow);background:linear-gradient(180deg, var(--card), var(--card-2));flex-direction:column;flex:1;padding:0;display:flex;overflow:hidden}.chat-top{border-bottom:1px solid var(--border);color:var(--muted);align-items:center;gap:8px;padding:12px 16px;font-size:.85rem;display:flex}.live-dot{background:var(--ok);width:9px;height:9px;box-shadow:0 0 8px var(--ok);border-radius:50%}.chat-log{flex-direction:column;flex:1;gap:14px;padding:16px;display:flex;overflow-y:auto}.story-illus img{object-fit:cover;border:1px solid var(--border);border-radius:14px;width:100%;max-height:320px}.msg{align-items:flex-start;gap:10px;display:flex}.msg .avatar{background:var(--card-2);border:1px solid var(--border);border-radius:50%;flex:0 0 36px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.msg.user .avatar{background:linear-gradient(135deg,#3749a0,#4b2f8f);border-color:#8b5cf680}.msg.assistant .avatar{background:linear-gradient(135deg,#0f766e,#164e63);border-color:#06b6d466}.msg-col{flex-direction:column;gap:4px;max-width:78%;display:flex}.bubble{word-wrap:break-word;white-space:pre-wrap;border-radius:15px;padding:11px 14px;box-shadow:0 3px 12px #0000004d}.msg.user{flex-direction:row-reverse}.msg.user .avatar{order:2}.msg.user .msg-col{align-items:flex-end}.msg.user .bubble{background:var(--user);box-shadow:0 4px 16px var(--user-glow);border-bottom-right-radius:5px}.msg.assistant .bubble{background:var(--assist);box-shadow:0 4px 16px var(--assist-glow);border-bottom-left-radius:5px}.bubble img{border-radius:8px;max-width:100%;display:block}.msg-tools{gap:6px;display:flex}.edit-btn{background:var(--card-2);border:1px solid var(--border);color:var(--muted);box-shadow:none;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:500}.edit-btn:hover{color:var(--text);border-color:var(--accent);box-shadow:none;filter:none}.bubble.edit{background:var(--assist);width:100%}.bubble.edit textarea{background:var(--bg);margin:0}.edit-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.edit-actions button{padding:8px 14px;font-size:.85rem}.chat-input{border-top:1px solid var(--border);background:var(--bg-2);align-items:flex-end;gap:10px;padding:13px;display:flex}.chat-input textarea{background:var(--card);flex:1;margin:0}.chat-input button{white-space:nowrap;height:52px;padding:0 20px}.hint{text-align:center;margin:0}@media (width<=900px){.story-body{grid-template-columns:1fr}.panel{position:static}#root{padding:12px}.hero h1{font-size:1.6rem}.hero-deco{display:none}.msg-col{max-width:86%}}
