*{margin:0;padding:0;box-sizing:border-box}:root{--yellow: #FFD600;--yellow-light: rgba(255, 214, 0, .25);--yellow-glow: rgba(255, 214, 0, .5);--glass-bg: rgba(255, 255, 255, .35);--glass-border: rgba(255, 255, 255, .5);--glass-shadow: rgba(0, 0, 0, .08);--text-primary: #1a1a1a;--text-secondary: #666;--bg-body: #f8f8f8;--bg-grid-dot: rgba(0,0,0,.03);--edge-color: rgba(0, 0, 0, .12);--overlay-bg: rgba(0, 0, 0, .15);--node-size: 90px;--node-size-large: 120px}:root[data-theme=dark]{--yellow: #FFD600;--yellow-light: rgba(255, 214, 0, .15);--yellow-glow: rgba(255, 214, 0, .3);--glass-bg: rgba(40, 40, 40, .55);--glass-border: rgba(255, 255, 255, .08);--glass-shadow: rgba(0, 0, 0, .35);--text-primary: #e8e8e8;--text-secondary: #999;--bg-body: #141414;--bg-grid-dot: rgba(255,255,255,.03);--edge-color: rgba(255, 255, 255, .12);--overlay-bg: rgba(0, 0, 0, .45)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--bg-body);color:var(--text-primary);overflow:hidden;width:100vw;height:100vh;-webkit-user-select:none;user-select:none;overscroll-behavior:none;touch-action:none}#app{width:100%;height:100%;position:relative;touch-action:none}.bg-grid{position:fixed;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 1px 1px,var(--bg-grid-dot) 1px,transparent 0);background-size:40px 40px;pointer-events:none;z-index:0}.canvas-transform{position:fixed;top:0;right:0;bottom:0;left:0;transform-origin:0 0;z-index:1;touch-action:none}.connections-layer{position:absolute;width:100%;height:100%;left:0;top:0;pointer-events:none;overflow:visible}.connections-layer path{fill:none;stroke:var(--edge-color);stroke-width:1.5;stroke-linecap:round}.graph-layer{position:absolute;width:100%;height:100%;left:0;top:0}.node{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;width:var(--node-size);height:var(--node-size);border-radius:50%;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1.5px solid var(--glass-border);box-shadow:0 4px 20px var(--glass-shadow),inset 0 1px #fff9;cursor:grab;transition:box-shadow .3s,border-color .3s;z-index:10;padding:8px;text-align:center;touch-action:none}:root[data-theme=dark] .node{box-shadow:0 4px 20px var(--glass-shadow),inset 0 1px #ffffff0d}.node:hover{box-shadow:0 6px 30px #0000001f,inset 0 1px #fff9}:root[data-theme=dark] .node:hover{box-shadow:0 6px 30px #0006,inset 0 1px #ffffff0d}.node:active{cursor:grabbing}.node.expanding{cursor:wait}.node.large{width:var(--node-size-large);height:var(--node-size-large);z-index:20}.node.root-node{background:linear-gradient(135deg,#ffd60059,#ff980040);border-color:#ffb70099;box-shadow:0 0 30px #ffd6004d,0 6px 30px #0000001a,inset 0 1px #ffffffb3}:root[data-theme=dark] .node.root-node{background:linear-gradient(135deg,#ffd60033,#ff980026);border-color:#ffb70066;box-shadow:0 0 30px #ffd60026,0 6px 30px #0006,inset 0 1px #ffffff0d}.node.root-node .zh{font-size:20px;font-weight:700}.node.root-node:hover{box-shadow:0 0 40px #ffd60066,0 8px 35px #0000001f,inset 0 1px #ffffffb3}:root[data-theme=dark] .node.root-node:hover{box-shadow:0 0 40px #ffd60033,0 8px 35px #00000080,inset 0 1px #ffffff0d}.node.selected{border-color:var(--yellow);box-shadow:0 0 20px var(--yellow-glow),0 4px 20px var(--glass-shadow),inset 0 1px #fff9;background:#ffd60026}.node.hidden{display:none}.expand-popup{position:fixed;z-index:5000;animation:popupAppear .2s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes popupAppear{0%{opacity:0;transform:scale(.8) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.expand-popup-btn{padding:6px 16px;border-radius:20px;border:1.5px solid var(--yellow);background:var(--yellow);color:#1a1a1a;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;box-shadow:0 4px 16px var(--yellow-glow);font-family:inherit;transition:transform .15s,box-shadow .15s}.expand-popup-btn:hover{transform:scale(1.08);box-shadow:0 6px 24px var(--yellow-glow)}.expand-popup-btn:active{transform:scale(.96)}.node .zh{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.3}.node.large .zh{font-size:18px}.node .en{font-size:10px;color:var(--text-secondary);line-height:1.2;margin-top:2px;word-break:break-word;overflow-wrap:break-word;max-width:100%}.node.large .en{font-size:12px}@keyframes nodeAppear{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.node.entering{animation:nodeAppear .45s cubic-bezier(.34,1.56,.64,1) forwards}.node.dragging{animation:none!important;cursor:grabbing;z-index:100;box-shadow:0 10px 40px #00000026,inset 0 1px #fff9}.node.spring-active{animation:none!important}:root[data-theme=dark] .node.dragging{box-shadow:0 10px 40px #00000080,inset 0 1px #ffffff0d}.confirm-icon{position:absolute;bottom:-18px;left:50%;transform:translate(-50%);width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#ffd600,#ffab00);color:#fff;font-size:18px;font-weight:300;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 3px 12px #ffab0066;animation:confirmPop .3s cubic-bezier(.34,1.56,.64,1) forwards;z-index:30;line-height:1;border:2px solid rgba(255,255,255,.6);transition:transform .15s,box-shadow .15s}.confirm-icon:before{content:"+";display:block}.confirm-icon:hover{transform:translate(-50%) scale(1.2);box-shadow:0 4px 18px #ffab008c}.confirm-icon:active{transform:translate(-50%) scale(1.05)}@keyframes confirmPop{0%{opacity:0;transform:translate(-50%) scale(.3) translateY(6px)}to{opacity:1;transform:translate(-50%) scale(1) translateY(0)}}.node-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--yellow);color:#1a1a1a;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000026;cursor:pointer;transition:transform .15s}.node-badge:hover{transform:scale(1.2)}.node-badge.collapsed{background:#999;color:#fff}.node .loader{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:2px solid transparent;border-top-color:var(--yellow);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.input-area{position:fixed;left:50%;transform:translate(-50%);z-index:1000;transition:top .8s cubic-bezier(.4,0,.2,1),bottom .8s cubic-bezier(.4,0,.2,1);touch-action:manipulation}.input-area.centered{top:55%;transform:translate(-50%,-50%)}.input-area.docked{bottom:32px;top:auto;transform:translate(-50%)}.input-wrap{display:flex;align-items:center;gap:12px;background:#fff9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1.5px solid rgba(0,0,0,.08);border-radius:28px;padding:8px 24px;box-shadow:0 8px 40px #0000000f;transition:box-shadow .3s,width .5s;width:480px}:root[data-theme=dark] .input-wrap{background:#282828a6;border-color:#ffffff14;box-shadow:0 8px 40px #0000004d}.input-area.centered .input-wrap{width:560px}.input-wrap:focus-within{box-shadow:0 8px 40px #0000001a;border-color:#00000026}:root[data-theme=dark] .input-wrap:focus-within{box-shadow:0 8px 40px #0006;border-color:#ffffff1f}.input-wrap input{flex:1;border:none;outline:none;background:transparent;font-size:16px;color:var(--text-primary);font-family:inherit;padding:8px 0}.input-wrap input::placeholder{color:#aaa}:root[data-theme=dark] .input-wrap input::placeholder{color:#666}.input-area.centered .input-wrap input{font-size:20px;text-align:center}.input-wrap .submit-btn{width:36px;height:36px;border-radius:50%;border:none;background:var(--yellow);color:#1a1a1a;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s;flex-shrink:0}.input-wrap .submit-btn:hover{transform:scale(1.1);box-shadow:0 4px 15px var(--yellow-glow)}.temp-control{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:10px;padding:0 4px}.temp-label{font-size:11px;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.temp-slider{-webkit-appearance:none;appearance:none;width:160px;height:4px;border-radius:2px;background:#0000001f;outline:none;cursor:pointer;touch-action:pan-x}:root[data-theme=dark] .temp-slider{background:#ffffff26}.temp-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--yellow);box-shadow:0 2px 8px var(--yellow-glow);cursor:pointer;transition:transform .15s}.temp-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.temp-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--yellow);box-shadow:0 2px 8px var(--yellow-glow);cursor:pointer;border:none}.temp-value{font-size:11px;color:var(--text-secondary);min-width:24px;text-align:center;font-family:SF Mono,Menlo,Consolas,monospace}.theme-toggle{position:fixed;top:24px;left:24px;z-index:1000;width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(0,0,0,.08);background:#fff9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;transition:background .2s,box-shadow .2s;box-shadow:0 2px 12px #0000000f}:root[data-theme=dark] .theme-toggle{border-color:#ffffff14;background:#28282899;box-shadow:0 2px 12px #0000004d}.theme-toggle:hover{background:#ffffffe6;box-shadow:0 4px 20px #0000001a}:root[data-theme=dark] .theme-toggle:hover{background:#3c3c3ccc}.version-tag{position:fixed;bottom:8px;left:8px;z-index:999;font-size:11px;color:#0003;font-family:SF Mono,Menlo,Consolas,monospace;letter-spacing:.5px;pointer-events:none;-webkit-user-select:none;user-select:none}:root[data-theme=dark] .version-tag{color:#ffffff26}.canvas-controls{position:fixed;bottom:100px;left:24px;z-index:1000;display:flex;flex-direction:column;align-items:center;gap:6px}.ctrl-btn{width:40px;height:40px;border-radius:12px;border:1.5px solid rgba(0,0,0,.08);background:#fff9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:background .2s,box-shadow .2s;box-shadow:0 2px 12px #0000000f;color:var(--text-primary);font-family:inherit}:root[data-theme=dark] .ctrl-btn{border-color:#ffffff14;background:#28282899;box-shadow:0 2px 12px #0000004d}.ctrl-btn:hover{background:#ffffffe6;box-shadow:0 4px 20px #0000001a}:root[data-theme=dark] .ctrl-btn:hover{background:#3c3c3ccc}.zoom-indicator{font-size:11px;color:var(--text-secondary);padding:4px 0;text-align:center;min-width:40px}.history-btn{position:fixed;top:24px;right:24px;z-index:1000;width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(0,0,0,.08);background:#fff9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;transition:background .2s,box-shadow .2s;box-shadow:0 2px 12px #0000000f;color:var(--text-primary)}:root[data-theme=dark] .history-btn{border-color:#ffffff14;background:#28282899;box-shadow:0 2px 12px #0000004d}.history-btn:hover{background:#ffffffe6;box-shadow:0 4px 20px #0000001a}:root[data-theme=dark] .history-btn:hover{background:#3c3c3ccc}.history-drawer{position:fixed;top:0;right:-400px;width:380px;height:100vh;background:#ffffffeb;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-left:1px solid rgba(0,0,0,.06);z-index:2000;transition:right .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:-8px 0 40px #00000014;color:var(--text-primary)}:root[data-theme=dark] .history-drawer{background:#1e1e1ef2;border-left-color:#ffffff0f}.history-drawer.open{right:0}.history-drawer .drawer-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid rgba(0,0,0,.06)}:root[data-theme=dark] .history-drawer .drawer-header{border-bottom-color:#ffffff0f}.history-drawer .drawer-header h2{font-size:18px;font-weight:600}.history-drawer .close-btn{width:32px;height:32px;border-radius:50%;border:none;background:#0000000a;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:background .2s;color:var(--text-primary)}:root[data-theme=dark] .history-drawer .close-btn{background:#ffffff0f}.history-drawer .close-btn:hover{background:#00000014}.history-list{flex:1;overflow-y:auto;padding:12px 16px}.history-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:12px;margin-bottom:8px;background:#00000005;cursor:pointer;transition:background .2s}:root[data-theme=dark] .history-item{background:#ffffff0a}.history-item:hover{background:#0000000d}:root[data-theme=dark] .history-item:hover{background:#ffffff0f}.history-item .hi-word{font-size:15px;font-weight:500}.history-item .hi-time{font-size:12px;color:#999}.history-item .hi-delete{opacity:0;border:none;background:none;color:#999;cursor:pointer;font-size:14px;transition:opacity .2s;padding:4px 8px}.history-item:hover .hi-delete{opacity:1}.history-empty{text-align:center;color:#999;padding:60px 20px;font-size:14px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-bg);z-index:1500;opacity:0;pointer-events:none;transition:opacity .4s}.overlay.visible{opacity:1;pointer-events:auto}.generate-btn{position:fixed;bottom:32px;right:24px;z-index:1000;padding:10px 24px;border-radius:24px;border:1.5px solid var(--yellow);background:var(--yellow);color:#1a1a1a;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s,opacity .3s;box-shadow:0 4px 20px var(--yellow-glow);font-family:inherit}.generate-btn:hover{transform:translateY(-2px);box-shadow:0 6px 30px var(--yellow-glow)}.generate-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.result-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}.result-modal.open{opacity:1;pointer-events:auto}.result-modal .modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000004d}:root[data-theme=dark] .result-modal .modal-backdrop{background:#0009}.result-modal .modal-content{position:relative;width:640px;max-width:calc(100vw - 32px);max-height:80vh;background:#fffffff2;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:20px;border:1px solid rgba(0,0,0,.06);box-shadow:0 20px 80px #00000026;padding:36px;overflow-y:auto;transform:translateY(20px);transition:transform .3s;color:var(--text-primary)}:root[data-theme=dark] .result-modal .modal-content{background:#1e1e1ef7;border-color:#ffffff0f}.result-modal.open .modal-content{transform:translateY(0)}.result-modal .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.result-modal .modal-header h2{font-size:20px;font-weight:700}.result-modal .modal-close{width:36px;height:36px;border-radius:50%;border:none;background:#0000000a;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:background .2s;color:var(--text-primary)}:root[data-theme=dark] .result-modal .modal-close{background:#ffffff0f}.result-modal .modal-close:hover{background:#00000014}.result-modal .modal-body{font-size:15px;line-height:1.8;color:#333;white-space:pre-wrap}:root[data-theme=dark] .result-modal .modal-body{color:#ccc}.result-modal .modal-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.result-modal .modal-tags span{padding:4px 14px;border-radius:20px;background:var(--yellow-light);font-size:13px;font-weight:500}.result-modal .idea-title{font-size:22px;font-weight:700;line-height:1.35;margin-bottom:10px;color:var(--text-primary)}.selection-badge{position:fixed;bottom:80px;right:24px;z-index:999;padding:6px 14px;border-radius:20px;background:#000000b3;color:#fff;font-size:12px;opacity:0;transition:opacity .3s;pointer-events:none}.selection-badge.visible{opacity:1}.empty-state{position:fixed;top:38%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:5;pointer-events:none;transition:opacity .6s,transform .6s}.empty-state.hidden{opacity:0;transform:translate(-50%,-40%);pointer-events:none}.empty-state .empty-icon{font-size:48px;margin-bottom:16px;display:block;animation:float1 4s ease-in-out infinite}.empty-state h2{font-size:32px;font-weight:700;margin-bottom:10px;color:var(--text-primary)}.empty-state p{font-size:16px;color:var(--text-secondary);margin-bottom:12px}.empty-state .empty-hint{font-size:13px;color:#bbb;display:block}:root[data-theme=dark] .empty-state .empty-hint{color:#555}.tip-text{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);color:#ccc;font-size:14px;pointer-events:none;opacity:0;transition:opacity .5s}.tip-text.visible{opacity:1}.global-loading{position:fixed;bottom:32px;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:10px;padding:10px 24px;border-radius:24px;background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.06);box-shadow:0 4px 20px #0000000f;font-size:14px;color:#666;opacity:0;pointer-events:none;transition:opacity .3s}:root[data-theme=dark] .global-loading{background:#1e1e1ed9;border-color:#ffffff0f;color:#aaa}.global-loading.visible{opacity:1}.global-loading .spinner{width:18px;height:18px;border:2px solid #ddd;border-top-color:var(--yellow);border-radius:50%;animation:spin .8s linear infinite}:root[data-theme=dark] .global-loading .spinner{border-color:#555;border-top-color:var(--yellow)}@media (max-width: 600px){.input-area.docked{left:14px;right:14px;bottom:calc(env(safe-area-inset-bottom,0px) + 14px);transform:none}.input-wrap{width:100%!important;gap:8px;padding:8px 10px 8px 18px;border-radius:26px}.input-area.centered .input-wrap{width:calc(100vw - 32px)!important}.input-wrap input{min-width:0;font-size:15px}.input-wrap input::placeholder{font-size:15px}.input-wrap .submit-btn{width:44px;height:44px;font-size:20px}.temp-control{width:100%;gap:8px;margin-top:12px;padding:0 10px}.temp-slider{flex:1;width:auto;min-width:0}.history-drawer{width:100vw;right:-100vw}.canvas-controls{left:14px;bottom:calc(env(safe-area-inset-bottom,0px) + 168px);gap:8px}#app:not(.has-graph) .canvas-controls{display:none}.canvas-controls .ctrl-btn{width:40px;height:40px;font-size:17px}.zoom-indicator{min-width:40px;padding:2px 0;font-size:12px}.generate-btn{right:14px;bottom:calc(env(safe-area-inset-bottom,0px) + 108px);min-width:120px;padding:10px 18px;text-align:center}.generate-btn:disabled{opacity:0;pointer-events:none}.selection-badge{right:14px;bottom:calc(env(safe-area-inset-bottom,0px) + 154px)}.result-modal .modal-content{padding:24px;width:calc(100vw - 24px)}.theme-toggle,.history-btn{width:38px;height:38px;font-size:17px}.empty-state h2{font-size:24px}.empty-state p{font-size:14px}.version-tag{display:none}:root{--node-size: 76px;--node-size-large: 100px}}
