.home[data-v-8463de68]{max-width:800px;margin:0 auto;padding:20px}.header[data-v-8463de68]{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.header h1[data-v-8463de68]{margin:0}.logout-btn[data-v-8463de68]{color:#666;cursor:pointer;background:0 0;border:1px solid #ccc;border-radius:6px;padding:6px 14px;font-size:13px;transition:all .2s}.logout-btn[data-v-8463de68]:hover{color:#c62828;background:#f5f5f5;border-color:#c62828}.create-form[data-v-8463de68]{gap:10px;margin-bottom:20px;display:flex}.create-form input[data-v-8463de68]{flex:1;padding:8px;font-size:16px}.create-form button[data-v-8463de68]{cursor:pointer;padding:8px 20px}.case-list[data-v-8463de68]{flex-direction:column;gap:10px;display:flex}.case-card[data-v-8463de68]{cursor:pointer;border:1px solid #ccc;border-radius:6px;padding:15px;transition:background .2s;position:relative}.case-card[data-v-8463de68]:hover{background:#f5f5f5}.time[data-v-8463de68]{color:#999;font-size:12px}.delete-case-btn[data-v-8463de68]{color:#c62828;cursor:pointer;background:#ffebee;border:1px solid #e0c0c0;border-radius:4px;padding:2px 8px;font-size:12px;position:absolute;top:8px;right:8px}.delete-case-btn[data-v-8463de68]:hover{background:#ffcdd2}.timeline-bar[data-v-718ed003]{background:linear-gradient(135deg, var(--gold), var(--gold-deep));z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 20px;display:flex;position:relative;box-shadow:0 2px 8px #b8922e40}.timeline-bar[data-v-718ed003]:after{content:"";background:linear-gradient(90deg, transparent, var(--gold), transparent);height:2px;position:absolute;bottom:-1px;left:0;right:0}.timeline-bar button[data-v-718ed003]{color:#b8922e;cursor:pointer;background:#fff;border:1.5px solid #d4a843;border-radius:16px;outline:none;padding:6px 14px;font-size:13px;font-weight:600;transition:all .2s}.timeline-bar button[data-v-718ed003]:hover{color:#fff;background:#d4a843;border-color:#b8922e}.back-btn[data-v-718ed003]{color:var(--white);background:#fff3;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;text-decoration:none;transition:all .3s;display:flex}.back-btn[data-v-718ed003]:hover{background:#ffffff59;transform:scale(1.1)}.timeline-toggle[data-v-718ed003]{cursor:pointer;color:var(--white);font-size:14px;font-weight:600}.timeline-panel[data-v-e429d416]{box-sizing:border-box;background:#f8f5ec;border-bottom:1px solid #e0d5c0;padding:12px 24px;position:relative}.timeline-form[data-v-e429d416]{align-items:center;gap:8px;margin-bottom:4px;display:flex}.datetime-picker[data-v-e429d416]{background:var(--white);border:1px solid #d4c9a8;border-radius:8px;align-items:center;gap:2px;padding:4px 8px;display:flex}.datetime-picker input[data-v-e429d416]{text-align:center;width:42px;color:var(--text);background:0 0;border:none;border-radius:4px;padding:3px 4px;font-size:12px}.datetime-picker input[data-v-e429d416]:first-child{width:52px}.datetime-picker input[data-v-e429d416]:focus{background:var(--gold-pale);outline:none}.datetime-picker span[data-v-e429d416]{color:#b8a88a;font-size:12px;font-weight:700}.timeline-form input[type=text][data-v-e429d416]{background:#fff;border:1.5px solid #c4b99a;border-radius:20px;outline:none;flex:1;min-width:160px;padding:8px 14px;font-family:inherit;font-size:13px;transition:border-color .2s}.timeline-form input[type=text][data-v-e429d416]:focus{border-color:#d4a843}.timeline-form button[data-v-e429d416]{color:#fff;cursor:pointer;background:#d4a843;border:1.5px solid #b8922e;border-radius:20px;outline:none;padding:8px 18px;font-size:12px;font-weight:600;transition:all .2s}.timeline-form button[data-v-e429d416]:hover{background:#b8922e;border-color:#9a7a28;transform:translateY(-1px)}.timeline-axis[data-v-e429d416]{align-items:center;height:40px;margin:8px 40px 0;display:flex;position:relative}.axis-line[data-v-e429d416]{background:linear-gradient(90deg,#0000,#d4c9a8,#c4b99a,#d4c9a8,#0000);border-radius:1px;height:2px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.timeline-dot-wrapper[data-v-e429d416]{text-align:center;z-index:2;position:absolute;top:50%;transform:translate(-50%,-50%)}.timeline-dot[data-v-e429d416]{cursor:pointer;flex-direction:column;align-items:center;transition:transform .3s;display:flex}.timeline-dot[data-v-e429d416]:hover{transform:scale(1.15)}.dot[data-v-e429d416]{background:var(--white);border:2.5px solid #9a7a28;border-radius:50%;width:14px;height:14px;transition:all .3s;box-shadow:0 0 0 3px #d4a84333}.timeline-dot:hover .dot[data-v-e429d416]{border-color:#d4a843;transform:scale(1.1);box-shadow:0 0 0 5px #d4a84340}.dot-time[data-v-e429d416]{color:#8b7d6b;white-space:nowrap;background:var(--white);border:1px solid #e0d5c0;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:600;position:absolute;top:22px;left:50%;transform:translate(-50%)}.event-popup[data-v-e429d416]{z-index:30;pointer-events:auto;background:#fff;border:1px solid #ddd;border-radius:8px;width:200px;padding:8px 12px;position:absolute;top:30px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000002e}.popup-header[data-v-e429d416]{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.popup-header strong[data-v-e429d416]{color:#333;font-size:12px}.popup-close-btn[data-v-e429d416]{color:#999;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;line-height:1}.popup-close-btn[data-v-e429d416]:hover{color:#333}.event-popup p[data-v-e429d416]{color:#555;margin:4px 0;font-size:12px}.popup-delete-btn[data-v-e429d416]{color:#c62828;cursor:pointer;background:#ffebee;border:1px solid #e0c0c0;border-radius:4px;margin-top:4px;padding:2px 10px;font-size:12px}.popup-delete-btn[data-v-e429d416]:hover{background:#ffcdd2}.event-popup.popup-left[data-v-e429d416]{left:0;transform:translate(0)}.event-popup.popup-right[data-v-e429d416]{left:auto;right:0;transform:translate(0)}.note-node[data-v-be0a068c]{cursor:pointer;border:2px solid #0000;border-radius:16px;width:200px;min-height:100px;padding:16px;font-size:14px;transition:all .3s;position:relative;box-shadow:0 4px 16px #00000014,0 0 1px #0000001a}.note-node[data-type=clue][data-v-be0a068c]:not([style*=background]){background:linear-gradient(135deg,#fff8dc,#fffacd);border:1px solid #f0e6c8;transform:rotate(-1deg)}.note-node[data-type=suspect][data-v-be0a068c]:not([style*=background]){background:linear-gradient(135deg,#ffe4e1,#fff0f0);border:1px solid #f0d0d0;transform:rotate(1deg)}.note-node[data-v-be0a068c]:hover{z-index:10;border-color:gold;box-shadow:0 12px 32px #00000026;transform:translateY(-4px)rotate(0)!important}.note-node[data-v-be0a068c]:before{content:"✦";color:#daa520;opacity:.4;font-size:14px;position:absolute;top:6px;right:10px}.note-header[data-v-be0a068c]{align-items:center;gap:6px;margin-bottom:10px;display:flex}.note-type[data-v-be0a068c]{white-space:nowrap;text-transform:uppercase;letter-spacing:1px;color:#b8860b;background:#ffd70033;border-radius:12px;padding:3px 10px;font-size:11px;font-weight:700}.note-name[data-v-be0a068c]{color:#2d2d2d;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;font-weight:700;overflow:hidden}.note-content p[data-v-be0a068c]{white-space:pre-wrap;color:#4a4a4a;margin:0;font-size:13px;line-height:1.6}[data-v-be0a068c] .vue-flow__handle{border-radius:0;width:24px!important;height:24px!important;box-shadow:none!important;background:0 0!important;border:none!important}[data-v-be0a068c] .vue-flow__handle-top{top:-12px!important}[data-v-be0a068c] .vue-flow__handle-bottom{bottom:-12px!important}[data-v-be0a068c] .vue-flow__handle:after{content:"";background:#fff;border:2px solid gold;border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;transition:all .2s;position:absolute;top:50%;left:50%;box-shadow:0 0 8px #ffd70066}[data-v-be0a068c] .vue-flow__handle:hover:after{border-color:#daa520;transform:scale(1.3);box-shadow:0 0 12px #ffd70099}.vue-flow{z-index:0;direction:ltr;width:100%;height:100%;position:relative;overflow:hidden}.vue-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.vue-flow__pane{z-index:1}.vue-flow__pane.draggable{cursor:grab}.vue-flow__pane.selection{cursor:pointer}.vue-flow__pane.dragging{cursor:grabbing}.vue-flow__transformationpane{transform-origin:0 0;z-index:2;pointer-events:none}.vue-flow__viewport{z-index:4;overflow:clip}.vue-flow__selection{z-index:6}.vue-flow__edge-labels{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible{outline:none}.vue-flow .vue-flow__edges{pointer-events:none;overflow:visible}.vue-flow__edge-path,.vue-flow__connection-path{stroke:#b1b1b7;stroke-width:1px;fill:none}.vue-flow__edge{pointer-events:visibleStroke;cursor:pointer}.vue-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.vue-flow__edge.animated path.vue-flow__edge-interaction{stroke-dasharray:none;animation:none}.vue-flow__edge.inactive{pointer-events:none}.vue-flow__edge.selected,.vue-flow__edge:focus,.vue-flow__edge:focus-visible{outline:none}.vue-flow__edge.selected .vue-flow__edge-path,.vue-flow__edge:focus .vue-flow__edge-path,.vue-flow__edge:focus-visible .vue-flow__edge-path{stroke:#555}.vue-flow__edge-textwrapper{pointer-events:all}.vue-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.vue-flow__connection{pointer-events:none}.vue-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.vue-flow__connectionline{z-index:1001}.vue-flow__nodes{pointer-events:none;transform-origin:0 0}.vue-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.vue-flow__node.draggable{cursor:grab;pointer-events:all}.vue-flow__node.draggable.dragging{cursor:grabbing}.vue-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.vue-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.vue-flow__nodesselection-rect.dragging{cursor:grabbing}.vue-flow__handle{pointer-events:none;min-width:5px;min-height:5px;position:absolute}.vue-flow__handle.connectable{pointer-events:all;cursor:crosshair}.vue-flow__handle-bottom{bottom:0;left:50%;transform:translate(-50%,50%)}.vue-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.vue-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.vue-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.vue-flow__edgeupdater{cursor:move;pointer-events:all}.vue-flow__panel{z-index:5;margin:15px;position:absolute}.vue-flow__panel.top{top:0}.vue-flow__panel.bottom{bottom:0}.vue-flow__panel.left{left:0}.vue-flow__panel.right{right:0}.vue-flow__panel.center{left:50%;transform:translate(-50%)}@keyframes dashdraw{0%{stroke-dashoffset:10px}}:root{--vf-node-bg:#fff;--vf-node-text:#222;--vf-connection-path:#b1b1b7;--vf-handle:#555}.vue-flow__edge.updating .vue-flow__edge-path{stroke:#777}.vue-flow__edge-text{font-size:10px}.vue-flow__edge-textbg{fill:#fff}.vue-flow__connection-path{stroke:var(--vf-connection-path)}.vue-flow__node{cursor:grab}.vue-flow__node.selectable:focus,.vue-flow__node.selectable:focus-visible{outline:none}.vue-flow__node-default,.vue-flow__node-input,.vue-flow__node-output{text-align:center;width:150px;color:var(--vf-node-text);background-color:var(--vf-node-bg);border-style:solid;border-width:1px;border-color:var(--vf-node-color);border-radius:3px;padding:10px;font-size:12px}.vue-flow__node-default.selected,.vue-flow__node-default.selected:hover,.vue-flow__node-input.selected,.vue-flow__node-input.selected:hover,.vue-flow__node-output.selected,.vue-flow__node-output.selected:hover{box-shadow:0 0 0 .5px var(--vf-box-shadow)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible,.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible,.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{border:1px solid #555;outline:none}.vue-flow__node-default .vue-flow__handle,.vue-flow__node-input .vue-flow__handle,.vue-flow__node-output .vue-flow__handle{background:var(--vf-handle)}.vue-flow__node-default.selectable:hover,.vue-flow__node-input.selectable:hover,.vue-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.vue-flow__node-input{--vf-node-color:var(--vf-node-color,#0041d0);--vf-handle:var(--vf-node-color,#0041d0);--vf-box-shadow:var(--vf-node-color,#0041d0);background:var(--vf-node-bg);border-color:var(--vf-node-color,#0041d0)}.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible{border:1px solid var(--vf-node-color,#0041d0);outline:none}.vue-flow__node-default{--vf-handle:var(--vf-node-color,#1a192b);--vf-box-shadow:var(--vf-node-color,#1a192b);background:var(--vf-node-bg);border-color:var(--vf-node-color,#1a192b)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible{border:1px solid var(--vf-node-color,#1a192b);outline:none}.vue-flow__node-output{--vf-handle:var(--vf-node-color,#ff0072);--vf-box-shadow:var(--vf-node-color,#ff0072);background:var(--vf-node-bg);border-color:var(--vf-node-color,#ff0072)}.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{border:1px solid var(--vf-node-color,#ff0072);outline:none}.vue-flow__nodesselection-rect,.vue-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible,.vue-flow__selection:focus,.vue-flow__selection:focus-visible{outline:none}.vue-flow__handle{background:var(--vf-handle);border:1px solid #fff;border-radius:100%;width:6px;height:6px}.canvas-area[data-v-10fc703b]{background:radial-gradient(circle at 20% 80%,#d4a84308 0%,#0000 50%),radial-gradient(circle at 80% 20%,#3a7bc808 0%,#0000 50%),#fdf1a3;flex:1;position:relative}.add-note-bar[data-v-10fc703b]{z-index:10;gap:12px;display:flex;position:absolute;bottom:24px;left:24px}.add-note-bar button[data-v-10fc703b]{color:var(--gold-deep);cursor:pointer;box-shadow:var(--shadow);background:#fff;border:2px solid #fff;border-radius:20px;padding:10px 20px;font-size:13px;font-weight:600;transition:all .3s}.add-note-bar button[data-v-10fc703b]:hover{color:var(--white);box-shadow:var(--shadow-hover);border-color:#fff;transform:translateY(-2px)}.center-btn[data-v-10fc703b]{z-index:10;border:2px solid var(--gold);background:var(--white);cursor:pointer;width:44px;height:44px;box-shadow:var(--shadow);border-radius:50%;justify-content:center;align-items:center;padding:0;line-height:0;transition:all .3s;display:flex;position:absolute;bottom:24px;right:24px}.center-btn[data-v-10fc703b]:hover{background:var(--gold);box-shadow:var(--shadow-hover);transform:scale(1.1)rotate(-10deg)}.center-icon[data-v-10fc703b]{color:#333;width:28px;height:28px;display:block}.edge-edit-toolbar[data-v-10fc703b]{z-index:1000;background:0 0;align-items:center;gap:10px;display:flex;position:fixed;transform:translate(-50%,-50%)}.edge-edit-input-wrapper[data-v-10fc703b]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:2px solid var(--gold);background:#fff9;border-radius:24px;padding:4px 12px;box-shadow:0 2px 8px #0000001a}.edge-edit-input-wrapper input[data-v-10fc703b]{text-align:center;min-width:120px;color:var(--text);background:0 0;border:none;outline:none;padding:6px 0;font-size:16px}.edge-delete-btn[data-v-10fc703b]{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:16px;transition:all .2s;display:flex;box-shadow:0 2px 6px #0000001a}.edge-delete-btn[data-v-10fc703b]:hover{color:#c62828;background:#ffebee;border-color:#c62828;transform:scale(1.05)}.side-panel[data-v-88f2e6cb]{border-left:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-sizing:border-box;background:#ffffffeb;flex-direction:column;flex-shrink:0;width:380px;transition:width .3s;display:flex;position:relative;overflow:hidden auto}.side-panel[data-v-88f2e6cb]:before{content:"";background:linear-gradient(90deg, var(--gold), var(--gold-deep), var(--traveler-blue));height:3px;position:absolute;top:0;left:0;right:0}.side-panel.collapsed[data-v-88f2e6cb]{width:40px;overflow:hidden}.panel-header[data-v-88f2e6cb]{border-bottom:1px solid var(--border);background:#fff8dc80;flex-shrink:0;align-items:center;gap:12px;padding:14px 16px;display:flex}.toggle-panel-btn[data-v-88f2e6cb]{background:var(--white);border:2px solid var(--gold);cursor:pointer;width:32px;height:32px;color:var(--gold-deep);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:14px;transition:all .3s;display:flex}.toggle-panel-btn[data-v-88f2e6cb]:hover{background:var(--gold);color:var(--white);transform:rotate(180deg)}.tab-buttons[data-v-88f2e6cb]{gap:6px;display:flex}.tab-buttons button[data-v-88f2e6cb]{cursor:pointer;color:var(--text-secondary);background:0 0;border:2px solid #0000;border-radius:20px;padding:6px 16px;font-size:13px;font-weight:500;transition:all .3s}.tab-buttons button[data-v-88f2e6cb]:hover{color:var(--gold-deep);background:#d4a84314}.tab-buttons button.active[data-v-88f2e6cb]{background:linear-gradient(135deg, var(--gold), var(--gold-deep));color:var(--white);border-color:#0000;box-shadow:0 2px 8px #d4a84340}.panel-content[data-v-88f2e6cb]{box-sizing:border-box;flex:1;width:100%;overflow:hidden auto}.empty-hint[data-v-73582e78]{text-align:center;color:var(--text-secondary);padding:60px 20px;font-size:14px}.edit-field[data-v-73582e78]{padding:0 16px}.edit-field label[data-v-73582e78]{color:var(--text);margin-bottom:6px;font-size:14px;font-weight:600;display:block}textarea[data-v-73582e78]{resize:none;background:var(--white);box-sizing:border-box;border:2px solid #ffe79e;border-radius:12px;outline:none;width:100%;min-height:80px;padding:10px 14px;font-family:inherit;font-size:14px;transition:all .3s}textarea[data-v-73582e78]:focus{box-shadow:0 0 0 4px #ffd70059}.color-picker[data-v-73582e78]{align-items:center;gap:8px;margin:12px 0;padding:0 16px;display:flex}.color-swatch[data-v-73582e78]{cursor:pointer;border:3px solid #0000;border-radius:50%;width:28px;height:28px;transition:all .3s;box-shadow:0 2px 6px #0000001a}.color-swatch[data-v-73582e78]:hover{transform:scale(1.2)}.color-swatch.active[data-v-73582e78]{border-color:var(--gold-deep);box-shadow:0 0 0 3px #d4a84333}.suspect-name-input[data-v-73582e78]{background:var(--white);box-sizing:border-box;border:2px solid #ffe79e;border-radius:12px;outline:none;width:100%;padding:10px 14px;font-family:inherit;font-size:14px;transition:all .3s}.suspect-name-input[data-v-73582e78]:focus{box-shadow:0 0 0 4px #ffd70059}.edit-btn[data-v-73582e78]{cursor:pointer;border:1.5px solid;border-radius:20px;outline:none;margin-left:16px;padding:8px 18px;font-size:13px;font-weight:600;transition:all .2s}.save-btn[data-v-73582e78]{color:#fff;background:#d4a843;border-color:#b8922e;margin-right:10px}.save-btn[data-v-73582e78]:hover{background:#b8922e;border-color:#9a7a28;transform:translateY(-1px)}.delete-btn[data-v-73582e78]{color:#c62828;background:#fff;border-color:#e75765}.delete-btn[data-v-73582e78]:hover{background:#ffebee;border-color:#c62828;transform:translateY(-1px)}.chat-panel[data-v-bd62cbc5]{flex-direction:column;height:100%;padding:0;display:flex}.chat-messages[data-v-bd62cbc5]{background:radial-gradient(circle at 0% 100%, #d4a8430a 0%, transparent 40%), radial-gradient(circle at 100% 0%, #3a7bc80a 0%, transparent 40%), var(--cream);flex:1;padding:16px;overflow-y:auto}.chat-empty[data-v-bd62cbc5]{color:var(--gold-deep);text-align:center;opacity:.7;margin-top:80px;font-size:15px}.chat-msg[data-v-bd62cbc5]{flex-direction:column;margin-bottom:16px;animation:.4s fadeInUp-bd62cbc5;display:flex}@keyframes fadeInUp-bd62cbc5{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-msg.user[data-v-bd62cbc5]{align-items:flex-end}.chat-msg.assistant[data-v-bd62cbc5]{align-items:flex-start}.avatar[data-v-bd62cbc5]{object-fit:cover;border:3px solid var(--white);background:#e0e0e0;border-radius:50%;width:36px;height:36px;margin-bottom:6px;display:block;box-shadow:0 2px 8px #0000001a}.avatar[src=""][data-v-bd62cbc5],.avatar[data-v-bd62cbc5]:not([src]){background:#e0e0e0}.chat-msg.user .avatar[data-v-bd62cbc5]{background:linear-gradient(135deg, var(--traveler-blue), #5b9bd5)}.chat-msg.assistant .avatar[data-v-bd62cbc5]{background:linear-gradient(135deg, var(--gold), var(--gold-deep))}.msg-bubble[data-v-bd62cbc5]{word-break:break-word;border-radius:18px;min-width:60px;max-width:85%;padding:12px 16px;font-size:14px;line-height:1.6;position:relative;box-shadow:0 2px 8px #0000000f}.chat-msg.user .msg-bubble[data-v-bd62cbc5]{background:linear-gradient(135deg, var(--traveler-blue), #4a8fd0);color:var(--white);border:none;border-bottom-right-radius:4px;box-shadow:0 4px 16px #3a7bc833}.chat-msg.assistant .msg-bubble[data-v-bd62cbc5]{background:var(--white);border:1px solid var(--border);border-bottom-left-radius:4px;box-shadow:0 4px 16px #0000000f}.msg-bubble[data-v-bd62cbc5] p{margin:0 0 6px}.msg-bubble[data-v-bd62cbc5] p:last-child{margin-bottom:0}.msg-bubble[data-v-bd62cbc5] strong{color:var(--gold-deep);font-weight:700}.msg-bubble[data-v-bd62cbc5] ul,.msg-bubble[data-v-bd62cbc5] ol{margin:4px 0;padding-left:20px}.msg-bubble[data-v-bd62cbc5] code{background:var(--gold-pale);color:var(--gold-deep);border-radius:6px;padding:2px 6px;font-size:12px;font-weight:600}.msg-bubble[data-v-bd62cbc5] pre{color:#f0e6c8;background:#2d2d2d;border-radius:12px;margin:8px 0;padding:12px;font-size:12px;overflow-x:auto}.chat-input[data-v-bd62cbc5]{border-top:2px solid var(--border);background:var(--white);gap:8px;padding:12px 22px 12px 16px;display:flex;position:relative}.chat-input[data-v-bd62cbc5]:before{content:"";background:linear-gradient(90deg, var(--gold), var(--traveler-blue));height:2px;position:absolute;top:-2px;left:0;right:0}.chat-input input[data-v-bd62cbc5]{background:var(--cream);border:2px solid #efd587;border-radius:24px;flex:1;padding:10px 18px;font-family:inherit;font-size:14px;transition:all .3s}.chat-input input[data-v-bd62cbc5]:focus{background:var(--white);outline:none;box-shadow:0 0 0 4px #d4a84359}.chat-input input[data-v-bd62cbc5]::placeholder{color:var(--text-secondary);opacity:.6}.chat-input button[data-v-bd62cbc5]{cursor:pointer;border:none;border-radius:20px;outline:none;padding:8px 14px;font-size:13px;font-weight:600;transition:all .3s}.chat-input button[data-v-bd62cbc5]:first-of-type{background:linear-gradient(135deg, var(--gold), var(--gold-deep));color:var(--white);border:2px solid #efd587;box-shadow:0 2px 8px #d4a84340}.chat-input button[data-v-bd62cbc5]:first-of-type:hover{transform:translateY(-2px);box-shadow:0 6px 20px #d4a84359}.chat-input button[data-v-bd62cbc5]:first-of-type:disabled{opacity:.5;cursor:not-allowed;transform:none}.chat-input button[data-v-bd62cbc5]:not(:first-of-type){background:var(--white);color:var(--text-secondary);border:2px solid #efd587;outline:none}.chat-input button[data-v-bd62cbc5]:not(:first-of-type):hover{color:var(--gold-deep);transform:translateY(-2px)}.chat-input button.reset-btn[data-v-bd62cbc5]{background:var(--white);color:#c62828;border:2px solid #e75765}.chat-input button.reset-btn[data-v-bd62cbc5]:hover{background:#ffebee;border-color:#c62828;transform:translateY(-2px);color:#c62828!important}.thinking-text[data-v-bd62cbc5]{color:var(--gold-deep);align-items:center;gap:8px;font-size:14px;font-style:italic;animation:1.5s ease-in-out infinite blink-bd62cbc5;display:flex}.thinking-text[data-v-bd62cbc5]:before{content:"✦";font-size:16px;animation:2s linear infinite spin-bd62cbc5}.thinking-dots[data-v-bd62cbc5]{animation:1.5s ease-in-out .3s infinite blink-bd62cbc5;display:inline-block}@keyframes blink-bd62cbc5{0%,to{opacity:.3}50%{opacity:1}}@keyframes spin-bd62cbc5{to{transform:rotate(360deg)}}.upload-area[data-v-b877e318]{border:3px dashed var(--gold);text-align:center;cursor:pointer;background:linear-gradient(135deg,#fff8dc80,#fffacd4d);border-radius:16px;margin-bottom:20px;padding:32px 24px;transition:all .3s;position:relative;overflow:hidden}.upload-area[data-v-b877e318]:before{content:"✦";color:var(--gold);opacity:.3;font-size:24px;position:absolute;top:8px;right:12px}.upload-area[data-v-b877e318]:hover{border-color:var(--gold-deep);box-shadow:var(--shadow-hover);background:linear-gradient(135deg,#fff8dccc,#fffacd80);transform:translateY(-2px)}.upload-area p[data-v-b877e318]:first-child{color:var(--gold-deep);margin-bottom:8px;font-size:16px;font-weight:600}.upload-area p[data-v-b877e318]:last-child{color:var(--text-secondary);font-size:12px}.doc-list[data-v-b877e318]{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:16px}.doc-list h4[data-v-b877e318]{color:var(--gold-deep);align-items:center;gap:6px;margin-bottom:12px;font-size:14px;font-weight:700;display:flex}.doc-list h4[data-v-b877e318]:before{content:"📄"}.doc-list li[data-v-b877e318]{background:var(--gold-pale);color:var(--text);border-left:3px solid var(--gold);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:8px 12px;font-size:13px;display:flex}.doc-name[data-v-b877e318]{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.doc-delete-btn[data-v-b877e318]{color:#c0392b;cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:14px;transition:opacity .2s}.doc-delete-btn[data-v-b877e318]:hover{opacity:1;background:#c0392b1a}.upload-progress[data-v-b877e318]{color:var(--gold-deep);text-align:center;margin-bottom:8px;font-size:12px;font-weight:500}.known-info-form[data-v-259a81e1]{box-sizing:border-box;width:100%;margin-bottom:12px;padding:0 4px}.known-info-form textarea[data-v-259a81e1]{resize:none;box-sizing:border-box;background:var(--white);border:2px solid #ffe79e;border-radius:12px;outline:none;width:100%;margin:0;padding:12px;font-family:inherit;font-size:14px;transition:all .3s}.known-info-form textarea[data-v-259a81e1]:focus{box-shadow:0 0 0 4px #ffd70059}.known-info-button[data-v-259a81e1]{background:linear-gradient(135deg, var(--gold), var(--gold-deep));color:var(--white);cursor:pointer;border:none;border-radius:12px;margin:10px 0 0 4px;padding:8px 24px;font-weight:600;transition:all .3s;box-shadow:0 2px 8px #d4a84340}.known-info-button[data-v-259a81e1]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #d4a84359}.info-hint[data-v-259a81e1]{color:var(--gold-deep);background:var(--gold-pale);border-left:3px solid var(--gold);border-radius:8px;margin:12px 4px;padding:8px 12px;font-size:12px}.known-info-list[data-v-259a81e1]{box-sizing:border-box;width:calc(100% - 8px);margin:0;padding:0 4px;list-style:none}.known-info-list li[data-v-259a81e1]{background:var(--white);border:1px solid var(--border);box-sizing:border-box;border-radius:12px;justify-content:space-between;align-items:center;width:100%;margin-bottom:8px;padding:12px;transition:all .3s;display:flex}.known-info-list li[data-v-259a81e1]:hover{border-color:var(--gold);box-shadow:var(--shadow);transform:translate(4px)}.info-content[data-v-259a81e1]{cursor:pointer;word-break:break-word;background:var(--white);border:1px solid #d4c9a8;border-radius:6px;flex:1;min-width:0;padding:6px 8px;transition:all .3s}.info-content.editing[data-v-259a81e1]{background:0 0;border-color:#0000;padding:0}.info-content textarea[data-v-259a81e1]{resize:none;box-sizing:border-box;border:1px solid #ffe79e;border-radius:4px;outline:none;width:100%;padding:4px;font-family:inherit;font-size:12px}.info-content textarea[data-v-259a81e1]:focus{box-shadow:0 0 0 3px #ffd70059}.info-actions button[data-v-259a81e1]{cursor:pointer;opacity:.6;background:0 0;border:none;padding:0 4px;font-size:16px}.info-actions button[data-v-259a81e1]:hover{opacity:1}.empty-info[data-v-259a81e1]{color:var(--text-secondary);text-align:center;padding:40px 20px;font-size:14px}.empty-info[data-v-259a81e1]:before{content:"✦";color:var(--gold);opacity:.5;margin-bottom:12px;font-size:36px;display:block}[data-v-f0847305]:root{--gold:#d4a843;--gold-light:#fff5d6;--gold-pale:#fff8e8;--gold-deep:#b8922e;--traveler-blue:#3a7bc8;--white:#fff;--cream:#fffbf0;--text:#2d2d2d;--text-secondary:#6b6b6b;--border:#e8d9b0;--shadow:0 2px 12px #b8922e14;--shadow-hover:0 8px 24px #b8922e29}.case-detail[data-v-f0847305]{flex-direction:column;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;display:flex}.main-area[data-v-f0847305]{flex:1;display:flex;overflow:hidden}[data-v-f0847305]::-webkit-scrollbar{width:6px}[data-v-f0847305]::-webkit-scrollbar-track{background:0 0}[data-v-f0847305]::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px}.login-page[data-v-1408a220]{background:linear-gradient(135deg,#fff8e8 0%,#fff5d6 50%,#fffbf0 100%);justify-content:center;align-items:center;min-height:calc(100vh - 44px);display:flex}.login-card[data-v-1408a220]{text-align:center;background:#fff;border:1px solid #e8d9b0;border-radius:12px;width:360px;max-width:90vw;padding:48px 40px 40px;transition:box-shadow .3s;box-shadow:0 2px 12px #b8922e14}.login-card[data-v-1408a220]:hover{box-shadow:0 8px 24px #b8922e29}.icon-row[data-v-1408a220]{margin-bottom:16px}.logo-icon[data-v-1408a220]{font-size:48px;line-height:1}h1[data-v-1408a220]{color:#2d2d2d;margin:0 0 4px;font-size:28px;font-weight:600}.subtitle[data-v-1408a220]{color:#6b6b6b;letter-spacing:.5px;margin:0 0 28px;font-size:14px}input[data-v-1408a220]{box-sizing:border-box;color:#2d2d2d;background:#fffbf0;border:2px solid #e8d9b0;border-radius:8px;outline:none;width:100%;padding:12px 16px;font-size:16px;transition:all .2s}input[data-v-1408a220]::placeholder{color:#b8a88a}input[data-v-1408a220]:focus{background:#fff;border-color:#d4a843;box-shadow:0 0 0 3px #d4a8431f}button[data-v-1408a220]{color:#fff;cursor:pointer;letter-spacing:.5px;background:#d4a843;border:none;border-radius:8px;width:100%;margin-top:16px;padding:12px 24px;font-size:16px;font-weight:500;transition:all .2s}button[data-v-1408a220]:hover:not(:disabled){background:#b8922e;transform:translateY(-1px);box-shadow:0 4px 12px #b8922e4d}button[data-v-1408a220]:active:not(:disabled){transform:translateY(0)}button[data-v-1408a220]:disabled{opacity:.5;cursor:not-allowed}.error[data-v-1408a220]{color:#c53030;background:#fff5f5;border:1px solid #fed7d7;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:14px}.loading[data-v-1408a220],.no-auth[data-v-1408a220]{color:#6b6b6b;padding:20px 0;font-size:14px}
