@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;700&family=M+PLUS+Rounded+1c:wght@400;700&family=Klee+One:wght@400&family=Zen+Maru+Gothic:wght@400;700&family=Dela+Gothic+One&display=swap";._sidebar_1o7ln_9{background:var(--bg-sidebar);border-right:1px solid var(--border);padding:var(--space-2) 0;align-items:center;gap:var(--space-1);z-index:100;flex-direction:column;grid-area:sidebar;display:flex}._sidebar-logo_1o7ln_35{width:36px;height:36px;margin-bottom:var(--space-2);cursor:pointer;transition:transform var(--transition);flex-shrink:0}._sidebar-logo_1o7ln_35:hover{transform:scale(1.08)}._sidebar-logo_1o7ln_35 img{border-radius:var(--radius-sm);width:100%;height:100%}._sidebar-icon_1o7ln_75{border-radius:var(--radius);cursor:pointer;width:40px;height:40px;transition:all var(--transition);color:var(--text-dim);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}._sidebar-icon_1o7ln_75 svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;transition:all var(--transition)}._sidebar-icon_1o7ln_75:hover{color:var(--text);background:var(--bg-hover)}._sidebar-icon_1o7ln_75._active_1o7ln_137{color:var(--accent-bright,#9b8afb);background:var(--accent-a12);box-shadow:var(--glow-xs)}._sidebar-icon_1o7ln_75._active_1o7ln_137:before{content:"";background:var(--accent,#6c5ce7);width:3px;height:20px;box-shadow:0 0 8px var(--accent-a50);border-radius:0 3px 3px 0;position:absolute;top:50%;left:0;transform:translateY(-50%)}._sidebar-icon_1o7ln_75[data-tooltip]:hover:after{content:attr(data-tooltip);background:var(--bg-elevated);color:var(--text);font-size:var(--font-size-xs);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-sm);border:1px solid var(--border);z-index:999;padding:4px 10px;animation:.15s _fadeIn_1o7ln_1;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)}._sidebar-spacer_1o7ln_217{flex:1}._sidebar-save-btn_1o7ln_227{background:0 0;border:none;padding:0;position:relative}._sidebar-save-btn_1o7ln_227:disabled{opacity:.6;cursor:not-allowed}._sidebar-save-btn_1o7ln_227._unsaved_1o7ln_253{color:var(--warning,#ff9800);animation:2s ease-in-out infinite _pulse_1o7ln_1}._sidebar-save-btn_1o7ln_227._saved_1o7ln_265{color:var(--text-dim)}._sidebar-save-btn_1o7ln_227._saved_1o7ln_265:hover{color:var(--success,#4caf50)}._sidebar-save-btn_1o7ln_227._saving_1o7ln_283{color:var(--text-dim)}._sidebar-save-dot_1o7ln_293{background:var(--warning,#ff9800);border:2px solid var(--bg-sidebar);border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite _pulse_1o7ln_1;position:absolute;top:6px;right:6px}._sidebar-save-spinner_1o7ln_319{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite _spin_1o7ln_1}._sidebar-profile_1o7ln_339{margin-top:calc(var(--space-2) - 4px);cursor:pointer;transition:transform var(--transition);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}._sidebar-profile_1o7ln_339:hover{transform:scale(1.05)}._sidebar-avatar_1o7ln_369{object-fit:cover;border:1px solid var(--border);background:var(--bg-elevated);border-radius:50%;width:32px;height:32px}._sidebar-plan-badge_1o7ln_387{border:2px solid var(--bg-sidebar);position:absolute;bottom:-6px;padding:0 4px!important;font-size:8px!important;line-height:12px!important}[data-theme=light] ._sidebar_1o7ln_9{--bg-sidebar:#131728;--bg-elevated:#242840;--bg-hover:#2c3050;--border:#ffffff0f;--text:#e8e8f0;--text-dim:#6b6f85;--accent-a05:#6c5ce70d}._badge_1smaa_11{white-space:nowrap;vertical-align:middle;box-sizing:border-box;justify-content:center;align-items:center;gap:4px;font-weight:600;line-height:1.4;display:inline-flex}._badge--sm_1smaa_37{border-radius:8px;padding:2px 6px;font-size:9px}._badge--md_1smaa_49{border-radius:6px;padding:3px 10px;font-size:11px}._badge--lg_1smaa_61{border-radius:999px;padding:4px 12px;font-size:12px}._shape--circle_1smaa_75{border-radius:50%;width:22px;height:22px;padding:0}._shape--pill-sharp_1smaa_89{letter-spacing:.5px;border-radius:16px}._btn-shared_q2s4a_11{border-radius:var(--radius,12px);cursor:pointer;transition:all .25s var(--ease-in-out);-webkit-user-select:none;user-select:none;white-space:nowrap;justify-content:center;align-items:center;gap:8px;font-family:inherit;font-weight:600;display:inline-flex;position:relative}._btn-shared_q2s4a_11:active{transform:scale(.96)}._btn-shared_q2s4a_11:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}._btn-shared_q2s4a_11 svg{flex-shrink:0}._btn-sz-xs_q2s4a_71{border-radius:var(--radius-sm,6px);gap:4px;padding:4px 10px;font-size:11px}._btn-sz-sm_q2s4a_85{border-radius:8px;padding:6px 14px;font-size:11px}._btn-sz-md_q2s4a_97{padding:10px 24px;font-size:14px}._btn-sz-lg_q2s4a_107{border-radius:var(--radius-lg,16px);padding:12px 32px;font-size:15px}._btn-sz-icon_q2s4a_119{border-radius:10px;width:36px;height:36px;padding:8px}._motion-float_q2s4a_135:hover{transform:translateY(-1px)}._motion-pulse_q2s4a_143._dirty_q2s4a_143{animation:1.5s ease-in-out infinite _btn-confirm-pulse_q2s4a_1}@keyframes _btn-confirm-pulse_q2s4a_1{0%,to{opacity:.8}50%{opacity:1;transform:scale(1.02)}}._btn-ai_q2s4a_169{color:var(--text,#e0e3ff);background:linear-gradient(#0b0e23 0%,#1c2045 100%);border:1px solid #ffffff2e;border-radius:100px;align-self:center;gap:0;padding:4px 18px 4px 4px;transition:all .2s;box-shadow:2px 4px 10px #0000008c,0 1px 4px #00000059,inset 0 1px #ffffff12}._btn-ai_q2s4a_169:not(:disabled):hover{border-color:var(--accent-a30);box-shadow:0 4px 18px #00000073, 0 0 0 1px var(--accent-a15);transform:translateY(-1px)}._btn-ai_q2s4a_169._is-loading_q2s4a_205{cursor:wait;border-color:var(--accent-a20);opacity:1}._btn-ai_q2s4a_169._is-loading_q2s4a_205._allow-abort_q2s4a_217{cursor:pointer}._btn-ai_q2s4a_169 .btn-label-stack{place-items:center;display:grid}._btn-ai_q2s4a_169 .btn-default-label,._btn-ai_q2s4a_169 .btn-abort-label{transition:opacity .15s var(--ease-out);grid-area:1/1}._btn-ai_q2s4a_169 .btn-abort-label{opacity:0;pointer-events:none;color:var(--alert,#ff4d4d)}._btn-ai_q2s4a_169._allow-abort_q2s4a_217:hover .btn-default-label{opacity:0}._btn-ai_q2s4a_169._allow-abort_q2s4a_217:hover .btn-abort-label{opacity:1}._btn-orb_q2s4a_277{border:5px solid var(--accent);background:#000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin-right:12px;display:flex;position:relative}._btn-orb_q2s4a_277._spinning_q2s4a_305{border-top-color:#0000;animation:.8s linear infinite _orb-ring-spin_q2s4a_1}._btn-orb-icon_q2s4a_315{z-index:1;background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;position:relative}._btn-orb-icon_q2s4a_315._blinking_q2s4a_335{animation:.9s ease-in-out infinite _orb-dot-blink_q2s4a_1}@keyframes _orb-dot-blink_q2s4a_1{0%,to{opacity:1}50%{opacity:.15}}@keyframes _orb-ring-spin_q2s4a_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._btn-content_q2s4a_363{align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}._btn-sz-sm_q2s4a_85._btn-ai_q2s4a_169{padding:3px 14px 3px 3px}._btn-sz-sm_q2s4a_85._btn-ai_q2s4a_169 ._btn-orb_q2s4a_277{border-width:4px;width:27px;height:27px;margin-right:8px}._btn-sz-sm_q2s4a_85._btn-ai_q2s4a_169 ._btn-content_q2s4a_363{font-size:12px}._btn-sz-lg_q2s4a_107._btn-ai_q2s4a_169{padding:5px 24px 5px 5px}._btn-sz-lg_q2s4a_107._btn-ai_q2s4a_169 ._btn-orb_q2s4a_277{width:42px;height:42px;margin-right:14px}._btn-sz-lg_q2s4a_107._btn-ai_q2s4a_169 ._btn-orb-icon_q2s4a_315{font-size:17px}._toggle-switch_q2s4a_403{background:var(--bg-surface,#1c2035);width:44px;height:24px;box-shadow:var(--neu-inset);cursor:pointer;transition:all .3s var(--ease-out);border:1px solid var(--white-a04);border-radius:12px;align-items:center;display:inline-flex;position:relative}._toggle-switch_q2s4a_403._active_q2s4a_431{background:var(--accent-a20);box-shadow:var(--neu-inset), 0 0 12px var(--accent-a25);border-color:var(--accent-a30)}._toggle-switch-knob_q2s4a_443{background:linear-gradient(145deg, var(--bg-hover,#3a3e55), var(--bg-elevated,#2a2e42));width:20px;height:20px;box-shadow:var(--neu-knob);transition:all .3s var(--ease-out);border-radius:50%;position:absolute;left:2px}._toggle-switch_q2s4a_403._active_q2s4a_431 ._toggle-switch-knob_q2s4a_443{background:linear-gradient(145deg, var(--accent-hover), var(--accent));box-shadow:var(--neu-knob), 0 0 10px var(--accent-a40);left:22px}._overlay_istlo_5{background:var(--bg,#0d0b1a);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}._card_istlo_14{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);text-align:center;background:#141224eb;border:1px solid #ef444440;border-radius:20px;flex-direction:column;align-items:center;gap:0;width:100%;max-width:480px;padding:40px 36px 36px;display:flex;box-shadow:inset 0 0 0 1px #ffffff0a,0 8px 48px #00000080,0 0 60px #ef444414}._card_istlo_14:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ef444480,#0000);border-radius:100%;height:1px;position:absolute;top:0;left:15%;right:15%}._icon-ring_istlo_46{color:#f87171;background:#ef44441f;border:1px solid #ef44444d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:20px;display:flex}._title_istlo_60{color:var(--text,#e8e6f0);letter-spacing:-.01em;margin-bottom:8px;font-size:18px;font-weight:700}._subtitle_istlo_68{color:var(--text-dim,#8b87a0);max-width:360px;margin-bottom:20px;font-size:13px;line-height:1.65}._safe-badge_istlo_76{color:#4ade80;background:#4ade801a;border:1px solid #4ade8040;border-radius:100px;align-items:center;gap:5px;margin-bottom:24px;padding:4px 10px;font-size:11px;display:inline-flex}._error-detail_istlo_89{text-align:left;background:#0000004d;border:1px solid #ffffff14;border-radius:10px;width:100%;margin-bottom:28px;padding:12px 14px}._error-detail-label_istlo_99{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim,#8b87a0);margin-bottom:6px;font-size:10px;font-weight:600}._error-detail-message_istlo_108{color:#f87171;word-break:break-all;white-space:pre-wrap;max-height:80px;font-family:ui-monospace,Cascadia Code,monospace;font-size:11px;line-height:1.5;overflow-y:auto}._actions_istlo_119{gap:10px;width:100%;display:flex}._actions_istlo_119>*{flex:1}._modal-overlay_18k5g_13{z-index:9999;justify-content:center;align-items:center;animation:.2s _modalFadeIn_18k5g_1;display:flex;position:fixed;inset:0}._modal-overlay_18k5g_13:before{content:"";background:var(--overlay-60,var(--overlay-60));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:absolute;inset:0}@keyframes _modalFadeIn_18k5g_1{0%{opacity:0}to{opacity:1}}._modal-box_18k5g_61{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--accent-a30,var(--accent-a30));max-height:85vh;box-shadow:0 20px 60px var(--overlay-50,var(--overlay-50)), 0 0 40px var(--accent-a15,var(--accent-a15));background:#14142df2;border-radius:20px;flex-direction:column;animation:.25s _modalSlideUp_18k5g_1;display:flex;position:relative;overflow:hidden}@keyframes _modalSlideUp_18k5g_1{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}._modal-sm_18k5g_105{width:360px;max-width:90vw}._modal-md_18k5g_107{width:460px;max-width:90vw}._modal-lg_18k5g_109{width:680px;max-width:90vw}._modal-full_18k5g_111{width:90vw}._modal-header_18k5g_117{border-bottom:1px solid var(--white-a10,var(--white-a10));flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}._modal-title_18k5g_135{color:#fff;margin:0;font-size:18px;font-weight:700}._modal-close-btn_18k5g_149{border:1px solid var(--white-a15,var(--white-a15));background:var(--white-a06,var(--white-a06));color:#fff;cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;transition:all .2s;display:flex}._modal-close-btn_18k5g_149:hover{background:var(--red-a30,var(--danger-a30));border-color:var(--red-a40,var(--danger-a40))}._modal-body_18k5g_193{flex:1;padding:16px 20px;overflow-y:auto}._modal-body-notitle_18k5g_205{padding:28px 32px}._modal-footer_18k5g_215{flex-shrink:0;gap:12px;padding:12px 20px 16px;display:flex}._modal-footer-center_18k5g_229{justify-content:center}._modal-footer-end_18k5g_231{justify-content:flex-end}._modal-footer-between_18k5g_233{justify-content:space-between}._modal-btn_18k5g_239{cursor:pointer;border:none;border-radius:10px;padding:10px 24px;font-size:14px;font-weight:600;transition:all .2s}._modal-btn-cancel_18k5g_259{border:1px solid var(--border,#333);color:var(--text,#cdd6f4);background:0 0}._modal-btn-cancel_18k5g_259:hover{border-color:var(--text-dim)}._modal-btn-primary_18k5g_279{background:linear-gradient(135deg, var(--accent,#6c5ce7), var(--accent-active,#5a4bd1));color:#fff}._modal-btn-primary_18k5g_279:hover{filter:brightness(1.1);box-shadow:0 4px 16px var(--accent-a30,var(--accent-a30));transform:translateY(-1px)}._modal-btn-primary_18k5g_279:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;filter:none;transform:none}._modal-btn-danger_18k5g_317{background:linear-gradient(135deg, var(--danger,#e74c3c), #c0392b);color:#fff}._modal-btn-danger_18k5g_317:hover{background:linear-gradient(135deg,#c0392b,#a93226)}[data-theme=light] ._modal-box_18k5g_61{border-color:var(--border,#ddd);box-shadow:0 20px 60px var(--overlay-15);background:#fffffff7}[data-theme=light] ._modal-title_18k5g_135{color:var(--text,#1a1a2e)}[data-theme=light] ._modal-close-btn_18k5g_149{background:var(--overlay-05);border-color:var(--overlay-10);color:var(--text,#1a1a2e)}[data-theme=light] ._modal-close-btn_18k5g_149:hover{background:#e74c3c1a;border-color:#e74c3c33}[data-theme=light] ._modal-header_18k5g_117{border-bottom-color:var(--overlay-08)}._guide-body_3b6y5_5{flex-direction:column;gap:18px;display:flex}._guide-lead_3b6y5_17{color:var(--text-secondary,#ccc);margin:0;font-size:14px;line-height:1.6}._guide-free_3b6y5_31{color:var(--yellow,#f1c40f);font-size:13px;font-weight:600}._guide-link_3b6y5_43{color:var(--accent,#a78bfa);text-underline-offset:2px;text-decoration:underline}._guide-link_3b6y5_43:hover{color:var(--accent-hover,#c4b5fd)}._guide-video-toggle_3b6y5_65{background:var(--surface-2,#ffffff0a);border:1px solid var(--border,#ffffff14);border-radius:8px;padding:0 12px;overflow:hidden}._guide-video-toggle_3b6y5_65[open]{padding-bottom:12px}._guide-video-summary_3b6y5_89{color:var(--accent,#a78bfa);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:10px 0;font-size:13px;font-weight:600;list-style:none;display:flex}._guide-video-summary_3b6y5_89::-webkit-details-marker{display:none}._guide-video-summary_3b6y5_89:after{content:"▾";color:var(--text-secondary,#aaa);margin-left:auto;font-size:12px;transition:transform .2s}._guide-video-toggle_3b6y5_65[open]>._guide-video-summary_3b6y5_89:after{transform:rotate(-180deg)}._guide-video-summary_3b6y5_89:hover{color:var(--accent-hover,#c4b5fd)}._guide-steps_3b6y5_157{flex-direction:column;gap:10px;display:flex}._guide-step_3b6y5_157{background:var(--surface-2,#ffffff0a);border:1px solid var(--border,#ffffff14);border-radius:8px;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}._guide-step-num_3b6y5_189{background:var(--accent,#a78bfa);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:flex}._guide-step-content_3b6y5_217{flex-direction:column;gap:2px;display:flex}._guide-step-title_3b6y5_229{color:var(--text-primary,#fff);font-size:13px;font-weight:600}._guide-step-desc_3b6y5_241{color:var(--text-secondary,#aaa);font-size:12px;line-height:1.5}._guide-input-section_3b6y5_255{flex-direction:column;gap:8px;display:flex}._guide-input-label_3b6y5_267{color:var(--text-secondary,#ccc);align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}._guide-input-row_3b6y5_285{align-items:center;gap:8px;display:flex}._guide-input-wrap_3b6y5_297{flex:1;align-items:center;display:flex;position:relative}._guide-input_3b6y5_255{background:var(--input-bg,#0000004d);border:1px solid var(--border,#ffffff26);width:100%;color:var(--text-primary,#fff);border-radius:6px;outline:none;padding:8px 36px 8px 10px;font-family:monospace;font-size:13px;transition:border-color .15s}._guide-input_3b6y5_255:focus{border-color:var(--accent,#a78bfa)}._guide-input_3b6y5_255::placeholder{color:var(--text-disabled,#555)}._guide-vis-btn_3b6y5_353{cursor:pointer;color:var(--text-secondary,#aaa);background:0 0;border:none;align-items:center;padding:0;display:flex;position:absolute;right:8px}._guide-vis-btn_3b6y5_353:hover{color:var(--text-primary,#fff)}._guide-note_3b6y5_387{color:var(--text-disabled,#666);text-align:center;margin:0;font-size:11px}._container_1xfs6_1{background-color:var(--panel-bg,#1e1e1e);max-width:440px;color:var(--text-main,#ececec);border:1px solid var(--border-color,#333);border-radius:12px;flex-direction:column;gap:12px;margin:0 auto;padding:24px;display:flex;box-shadow:0 8px 16px #0006}._title_1xfs6_27{text-align:center;color:var(--accent-blue,#3b82f6);margin-bottom:4px;font-size:20px;font-weight:700}._field_1xfs6_41{flex-direction:column;gap:6px;display:flex}._label_1xfs6_51{font-size:14px;font-weight:600}._input_1xfs6_59{border:1px solid var(--border-color,#444);background-color:var(--workspace-bg,#2a2a2a);color:var(--text-main,#ececec);border-radius:8px;padding:10px 12px;font-size:14px;transition:all .2s}._input_1xfs6_59:focus{border-color:var(--accent-blue,#3b82f6);outline:none;box-shadow:0 0 0 2px #3b82f64d}._submitBtn_1xfs6_87{background-color:var(--accent-blue,#3b82f6);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;margin-top:8px;padding:12px;font-size:16px;font-weight:700;transition:background-color .2s,opacity .2s;display:flex}._submitBtn_1xfs6_87:hover:not(:disabled){background-color:#2563eb}._submitBtn_1xfs6_87:disabled{opacity:.5;cursor:not-allowed}._helpText_1xfs6_131{color:var(--text-sub,#999);font-size:12px;line-height:1.4}._error_1xfs6_141{color:#ef4444;text-align:center;margin-top:-10px;font-size:13px}._textLink_1xfs6_153{color:var(--accent-blue,#3b82f6);cursor:pointer;font-size:13px;text-decoration:underline;transition:color .2s}._textLink_1xfs6_153:hover{color:#2563eb}._divider_1xfs6_173{text-align:center;color:var(--text-sub,#999);align-items:center;margin:8px 0;display:flex}._divider_1xfs6_173:before,._divider_1xfs6_173:after{content:"";border-bottom:1px solid var(--border-color,#444);flex:1}._divider_1xfs6_173 span{padding:0 10px;font-size:14px}._page-loader-container_9xr6g_1{height:60vh;color:var(--text-dim);justify-content:center;align-items:center;gap:12px;display:flex}._page-loader-spinner_9xr6g_19{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite _spin_9xr6g_1}@keyframes _spin_9xr6g_1{to{transform:rotate(360deg)}}._error-boundary-container_9xr6g_45{height:60vh;color:var(--text-dim);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:32px;display:flex}._error-boundary-icon-box_9xr6g_69{justify-content:center;font-size:48px;display:flex}._error-boundary-title_9xr6g_81{color:var(--text);font-size:16px;font-weight:600}._error-boundary-message_9xr6g_93{max-width:400px;font-size:12px;line-height:1.6}._error-boundary-retry-btn_9xr6g_105{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 20px;font-size:13px;transition:opacity .2s}._error-boundary-retry-btn_9xr6g_105:hover{opacity:.8}:root{--sidebar-w:56px;--topbar-h:44px;--radius:12px;--radius-sm:6px;--radius-lg:16px;--radius-xl:24px;--font-main:"Inter", "Noto Sans JP", -apple-system, BlinkMacSystemFont, sans-serif;--font-display:"Inter", "Noto Sans JP", sans-serif;--font-mono:"JetBrains Mono", "Consolas", monospace;--font-size-xs:.6875rem;--font-size-sm:.75rem;--font-size-base:.875rem;--font-size-lg:1rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--transition:.2s var(--ease-in-out);--transition-fast:.12s ease;--transition-slow:.35s var(--ease-out);--accent:#6c5ce7;--accent-hover:#7d6ff0;--accent-bright:#9b8afb;--accent-glow:#6c5ce740;--black:#000;--white:#fff;--color-active:#7d6ff0;--color-active-dim:#6c5ce726;--color-confirm:#7d6ff0;--color-confirm-dim:#6c5ce71f;--color-warning:#fdcb6e;--color-danger:#e74c3c;--color-error:#e17055;--pink:#e94560;--accent-active:var(--color-active);--teal:var(--color-active);--green:var(--color-confirm);--teal-dim:var(--color-active-dim);--orange:var(--color-warning);--red:var(--color-error);--danger:var(--color-danger);--glow-xs:0 0 6px #6c5ce733;--glow-sm:0 0 10px #6c5ce740;--glow-md:0 0 16px #6c5ce759;--glow-lg:0 0 24px #6c5ce773;--glow-xl:0 0 32px #6c5ce780, 0 0 64px #6c5ce733;--glow-ring:0 0 0 2px #6c5ce74d, 0 0 12px #6c5ce740;--neu-raised:4px 4px 8px #00000080, -2px -2px 6px #ffffff0a;--neu-inset:inset 3px 3px 6px #00000080, inset -2px -2px 4px #ffffff08;--neu-knob:2px 2px 4px #0009, -1px -1px 3px #ffffff0f, inset 0 1px 1px #ffffff1a;--accent-a05:#6c5ce70d;--accent-a08:#6c5ce714;--accent-a10:#6c5ce71a;--accent-a12:#6c5ce71f;--accent-a15:#6c5ce726;--accent-a20:#6c5ce733;--accent-a25:#6c5ce740;--accent-a30:#6c5ce74d;--accent-a35:#6c5ce759;--accent-a40:#6c5ce766;--accent-a50:#6c5ce780;--accent-a60:#6c5ce799;--color-expression:#e84393;--expression-a40:#e8439366;--expression-a50:#e8439380;--overlay-05:#0000000d;--overlay-08:#00000014;--overlay-10:#0000001a;--overlay-12:#0000001f;--overlay-15:#00000026;--overlay-30:#0000004d;--overlay-40:#0006;--overlay-50:#00000080;--overlay-60:#0009;--overlay-70:#000000b3;--white-a04:#ffffff0a;--white-a05:#ffffff0d;--white-a06:#ffffff0f;--white-a08:#ffffff14;--white-a10:#ffffff1a;--white-a15:#ffffff26;--white-a20:#fff3;--white-a30:#ffffff4d;--white-a60:#fff9;--white-a85:#ffffffd9;--white-a90:#ffffffe6;--white-a50:#ffffff80;--danger-a15:#e74c3c26;--danger-a30:#e74c3c4d;--danger-a40:#e74c3c66;--warning-a15:#fdcb6e26;--warning-a30:#fdcb6e4d;--warning-a40:#fdcb6e66;--teal-a10:var(--accent-a10);--teal-a20:var(--accent-a20);--teal-a40:var(--accent-a40);--green-a12:var(--accent-a12);--green-a15:var(--accent-a15);--green-a30:var(--accent-a30);--red-a15:var(--danger-a15);--red-a30:var(--danger-a30);--red-a40:var(--danger-a40);--orange-a15:var(--warning-a15);--orange-a30:var(--warning-a30);--orange-a40:var(--warning-a40);--red-dim-a10:#e170551a;--red-dim-a30:#e170554d;--mood-joy:#fdcb6e;--mood-anger:#e17055;--mood-sad:#74b9ff;--mood-shy:#fd79a8;--gradient-blue:linear-gradient(135deg, #2196f3, #0277bd);--gradient-blue-hover:linear-gradient(135deg, #42a5f5, #0288d1);--cyan:#00d2d3;--orange-soft:#fab387;--purple-soft:#a29bfe;--yellow-soft:#f9e2af;--cyan-soft:#9b8afb;--imm-bg-dark:#0a0e17;--imm-bg-mid:#111827;--imm-bg-deep:#0f172a;--imm-text:#e2e8f0;--imm-text-dim:#94a3b8;--imm-text-muted:#64748b;--imm-text-light:#cbd5e1;--imm-purple:#818cf8;--imm-purple-light:#a5b4fc;--imm-purple-glow:#c084fc;--imm-indigo:#6366f1;--imm-slate:#64748b26;--imm-slate-border:#64748b33;--imm-slate-subtle:#64748b14;--imm-emerald:#22c55e33;--imm-emerald-border:#22c55e4d;--imm-emerald-text:#bbf7d0;--imm-exit-bg:#ef444426;--imm-exit-border:#ef44444d;--imm-exit-text:#fca5a5;--imm-input-bg:#1e293b99;--imm-npc-body-bg:#1e293bcc;--imm-placeholder:#475569;--imm-send-streaming:#475569;--myroom-glass:#140f2899;--myroom-glass-hover:#140f28cc;--myroom-chat-bg:#0f0f23eb;--myroom-picker-bg:#141423f2;--myroom-upload-from:#4a5568;--myroom-upload-to:#2d3748;--myroom-bg-card:#14143280;--chat-window-bg:#14142deb;--chat-tts-bg:#1e1e28f2;--chat-tts-speed:#6ec6ff;--chat-tts-title:#aaa;--chat-tts-label:#ddd;--chat-tts-select-bg:#222;--chat-tts-hint:#666;--chat-success:#9b8afb;--toast-success:#9b8afb;--toast-info:#89b4fa;--toast-warn:#f9e2af;--toast-error:#f38ba8;--toast-text:#cdd6f4;--toast-bg:#1e1e2ed9;--toast-border:#ffffff1a;--toast-shadow:#0006;--dialog-input-bg:#11111b99;--dialog-placeholder:#cdd6f44d;--dialog-hint:#cdd6f473;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--fixed-dark-bg:#161a2b;--fixed-dark-surface:#1c2035;--fixed-dark-elevated:#242840;--fixed-dark-hover:#2c3050;--fixed-dark-sidebar:#131728;--fixed-dark-border:#ffffff0f;--fixed-dark-text:#e8e8f0;--fixed-dark-text-secondary:#a0a0b8;--fixed-dark-text-dim:#6b6f85}:root,[data-theme=dark]{--bg:#161a2b;--bg-surface:#1c2035;--bg-elevated:#242840;--bg-hover:#2c3050;--bg-glass:#1c2035e0;--bg-sidebar:#131728;--bg-topbar:#1c2035;--border:#ffffff0f;--border-hover:#ffffff1f;--border-accent:#6c5ce74d;--text:#e8e8f0;--text-secondary:#a0a0b8;--text-dim:#6b6f85;--text-muted:#444;--shadow:0 4px 24px #00000080;--shadow-sm:0 2px 8px #0000004d;--shadow-lg:0 8px 40px #0009;--glow:0 0 20px var(--accent-glow);--glow-active:0 0 20px #6c5ce733;--field-input-bg:#000;--field-input-color:#e8e8f0}[data-theme=light]{--bg:#c8cad6;--bg-surface:#d2d4df;--bg-elevated:#bfc1ce;--bg-hover:#b5b8c6;--bg-glass:#c8cad6eb;--bg-sidebar:#c0c2cf;--bg-topbar:#cacce0;--border:#0000001f;--border-hover:#0000002e;--border-accent:#6c5ce74d;--text:#1a1a2e;--text-secondary:#3a3a50;--text-dim:#555568;--text-muted:#888;--shadow:0 4px 24px #0000001f;--shadow-sm:0 2px 8px #00000014;--shadow-lg:0 8px 40px #00000026;--glow:0 0 20px #6c5ce726;--glow-active:0 0 20px #6c5ce726;--field-input-bg:#4a4c58;--field-input-color:#fff}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-main);font-size:var(--font-size-base);color:var(--text);background:var(--bg);width:100vw;height:100vh;line-height:1.5;overflow:hidden}#root{width:100%;height:100%}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;outline:none}img,svg{max-width:100%;display:block}input,textarea,select{font:inherit;color:inherit}ul,ol{list-style:none}*{scrollbar-width:thin;scrollbar-color:var(--white-a08) transparent}.app-shell{grid-template:"sidebar main" 1fr / var(--sidebar-w) 1fr;width:100%;height:100vh;display:grid;overflow:hidden}.icon-inline{vertical-align:middle;margin-right:6px;display:inline}.icon-inline-sm{vertical-align:middle;margin-right:4px;display:inline}.icon-inline-lg{vertical-align:middle;margin-right:8px;display:inline}.icon-inline-tight{vertical-align:middle;margin-right:3px}.icon-inline-nudge{vertical-align:-2px;margin-right:4px}.icon-inline-nudge-lg{vertical-align:-2px;margin-right:6px}.field-input{background:var(--field-input-bg);border:1px solid var(--border);color:var(--field-input-color,var(--text));box-sizing:border-box;width:100%;transition:border-color var(--transition);border-radius:4px;padding:4px 6px;font-family:inherit;font-size:12px}.field-input:focus{border-color:var(--accent);outline:none}.field-input::placeholder{color:var(--text-dim)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (width<=1024px){.app-shell{grid-template-columns:52px 1fr}}@media (width<=768px){.app-shell{grid-template:"main"1fr"sidebar"52px/1fr}.sidebar{flex-direction:row;width:100%;height:52px;overflow-x:auto}.main-content{overflow-y:scroll}}.gen-spinner{border:2px solid var(--white-a20);border-top-color:var(--text);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}.topbar-spin{animation:.8s linear infinite spin;display:inline-block}.toast-container{z-index:10000;pointer-events:none;flex-direction:column;gap:12px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast-item{background:var(--toast-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--toast-border);box-shadow:0 8px 32px var(--toast-shadow);color:var(--toast-text);min-width:280px;animation:toastSlideUp .3s cubic-bezier(.18, .89, .32, 1.28), toastFadeOut .3s ease-in var(--toast-duration,3s) forwards;pointer-events:auto;border-radius:12px;align-items:center;gap:12px;padding:12px 20px;display:flex}.toast-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.toast-message{font-size:14px;font-weight:500;line-height:1.4}.toast-success{color:var(--white);border-left:4px solid var(--toast-success)}.toast-success .toast-icon{color:var(--toast-success)}.toast-info{color:var(--white);border-left:4px solid var(--toast-info)}.toast-info .toast-icon{color:var(--toast-info)}.toast-warn{color:var(--white);border-left:4px solid var(--toast-warn)}.toast-warn .toast-icon{color:var(--toast-warn)}.toast-error{color:var(--white);border-left:4px solid var(--toast-error)}.toast-error .toast-icon{color:var(--toast-error)}@keyframes toastSlideUp{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastFadeOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-20px)scale(.95)}}@media (width<=768px){.toast-container{width:calc(100% - 40px);bottom:72px}.toast-item{min-width:0}}.col-fill-primary{background:var(--accent);color:var(--white);border:1px solid var(--accent-a50);box-shadow:var(--glow-sm)}.col-fill-primary:hover{background:var(--accent-hover);border-color:var(--accent-bright);box-shadow:var(--glow-lg)}.col-fill-teal{background:var(--teal);color:var(--white);border:1px solid var(--teal)}.col-fill-teal:hover{background:var(--accent-hover);border-color:var(--accent-bright)}.col-fill-alert{background:linear-gradient(135deg, var(--danger), var(--color-danger));color:var(--white);border:1px solid #ff475766;box-shadow:0 0 10px #e74c3c4d}.col-fill-alert:hover{box-shadow:0 0 20px #e74c3c80}.col-fill-surface{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary)}.col-fill-surface:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text)}.col-outline-primary{background:var(--accent-a15);color:var(--accent);border:1px solid var(--accent)}.col-outline-primary:hover{background:var(--accent-a25)}.col-outline-teal{background:var(--teal-a20);color:var(--teal);border:1px solid var(--teal)}.col-outline-teal:hover{background:var(--teal-a30)}.col-outline-alert{background:var(--danger-a15);color:var(--danger);border:1px solid var(--danger)}.col-outline-alert:hover{background:var(--danger-a30)}.col-ghost-primary{color:var(--accent);background:0 0;border:1px solid #0000}.col-ghost-primary:hover{background:var(--white-a05);color:var(--accent-hover)}.col-ghost-dim{color:var(--text-dim);background:0 0;border:1px solid #0000}.col-ghost-dim:hover{background:var(--white-a05);border-color:var(--border);color:var(--text)}.col-ai-special{background:linear-gradient(135deg, var(--accent), var(--cyan));border:1px solid var(--accent-a40);color:var(--white);box-shadow:var(--glow-md)}.col-ai-special:hover{box-shadow:var(--glow-lg)}.main-content{background:var(--bg);scrollbar-color:auto;scrollbar-width:auto;grid-area:main;position:relative;overflow:hidden scroll}.main-content::-webkit-scrollbar{width:12px}.main-content::-webkit-scrollbar-track{background:0 0}.main-content::-webkit-scrollbar-thumb{background:var(--accent-a40);border-radius:4px}.page{padding:var(--space-6);min-height:100%;animation:.3s fadeIn}.page-placeholder{justify-content:center;align-items:center;gap:var(--space-4);text-align:center;flex-direction:column;min-height:60vh;display:flex}.page-placeholder-icon{border-radius:var(--radius-lg);background:var(--bg-elevated);border:1px solid var(--border);width:64px;height:64px;color:var(--text-dim);justify-content:center;align-items:center;display:flex}.page-placeholder-icon svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:28px;height:28px}.page-placeholder h2{font-size:var(--font-size-xl);color:var(--text);font-weight:600}.page-placeholder p{font-size:var(--font-size-sm);color:var(--text-dim);max-width:320px;line-height:1.6}.page-placeholder-badge{align-items:center;gap:var(--space-1);background:var(--teal-dim);color:var(--accent-active);font-size:var(--font-size-xs);border-radius:999px;padding:4px 12px;font-weight:600;display:inline-flex}
