*{margin:0;padding:0;box-sizing:border-box}:root{--color-paper: #cec9c2;--color-card: #f6f4f1;--color-modal: #f2f0ec;--color-panel-glass: rgba(244, 242, 238, .97);--color-panel-glass-light: rgba(244, 242, 238, .94);--color-label-bg: rgba(248, 246, 242, .96);--color-panel-header: rgba(246, 244, 240, .99);--color-inline-edit-bg: rgba(246, 244, 240, .98);--color-panel-blur: blur(16px);--color-text: #2a2a2a;--color-text-secondary: #444;--color-text-tertiary: #555;--color-text-muted: #666;--color-text-faint: #777;--color-text-ghost: #888;--color-text-disabled: #999;--ink-015: rgba(0,0,0,.015);--ink-02: rgba(0,0,0,.02);--ink-03: rgba(0,0,0,.03);--ink-04: rgba(0,0,0,.04);--ink-05: rgba(0,0,0,.05);--ink-06: rgba(0,0,0,.06);--ink-08: rgba(0,0,0,.08);--ink-10: rgba(0,0,0,.1);--ink-12: rgba(0,0,0,.12);--ink-15: rgba(0,0,0,.15);--ink-18: rgba(0,0,0,.18);--ink-20: rgba(0,0,0,.2);--ink-25: rgba(0,0,0,.25);--ink-30: rgba(0,0,0,.3);--ink-35: rgba(0,0,0,.35);--ink-40: rgba(0,0,0,.4);--ink-45: rgba(0,0,0,.45);--ink-50: rgba(0,0,0,.5);--ink-55: rgba(0,0,0,.55);--ink-60: rgba(0,0,0,.6);--ink-70: rgba(0,0,0,.7);--ink-80: rgba(0,0,0,.8);--ink-82: rgba(0,0,0,.82);--color-overlay-dark: #3a3835;--color-overlay-text: #d4d0ca;--color-backdrop: rgba(0,0,0,.55);--color-backdrop-heavy: rgba(0,0,0,.6);--color-warning: #8a4a3a;--color-warning-dark: #6e3a35;--color-warning-bg: rgba(138, 74, 58, .08);--color-warning-border: rgba(138, 74, 58, .2);--discipline-blue: #2d558c;--discipline-blue-rgb: 45, 85, 140;--wayfare-red: #822a24;--wayfare-red-rgb: 130, 42, 36;--font-stack: "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif}body.discipline{--accent-rgb: 45, 85, 140;--accent: #2d558c;--accent-hover: #41699e;--accent-dark: #2a3a52;--title-cursor: default;--title-text-color: var(--ink-82);--title-sub-color: var(--ink-40);--toolbar-btn-base: var(--ink-60);--legend-min-w: 180px}body.wayfare{--accent-rgb: 130, 42, 36;--accent: #822a24;--accent-hover: #943028;--accent-dark: #6e201c;--title-cursor: pointer;--title-text-color: rgba(var(--accent-rgb), .7);--title-sub-color: rgba(var(--accent-rgb), .4);--toolbar-btn-base: rgba(var(--accent-rgb), .5);--legend-min-w: 200px}body{font-family:var(--font-stack);background:var(--color-paper);overflow:hidden;width:100vw;height:100vh;-webkit-user-select:none;user-select:none;color:var(--color-text);--accent-rgb: 100, 95, 88;--accent: #64605a;--accent-hover: #524e49;--accent-dark: #3e3b37;--primary-cta-bg: #2d558c;--primary-cta-hover: #41699e;--title-cursor: default;--title-text-color: var(--ink-82);--title-sub-color: var(--ink-40);--toolbar-btn-base: var(--ink-35);--legend-min-w: 180px}#canvas-container{width:100%;height:100%;cursor:grab;position:relative;background:var(--color-paper)}#canvas-container.grabbing,#canvas-container.dragging-card{cursor:grabbing}#svg-canvas{position:absolute;top:0;left:0;width:100%;height:100%;display:block}#bg-pattern{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}#app-title{position:fixed;top:12px;left:50%;transform:translate(-50%);background:none;border:none;border-radius:0;padding:6px 12px;z-index:130;cursor:var(--title-cursor);display:flex;align-items:center;gap:10px;opacity:.9;transition:opacity .4s ease}#app-title:hover{opacity:1}#app-title-text{font-size:12px;font-weight:600;color:var(--title-text-color);letter-spacing:2px;text-transform:uppercase;line-height:1}#app-title-sub{font-size:9px;color:var(--title-sub-color);letter-spacing:.5px;line-height:1;font-weight:400}#app-title-sub:empty{display:none}#app-title-sub.call-active{color:var(--accent);animation:callPulse 1.4s ease-in-out infinite}#app-title.call-active{opacity:1}#app-title.call-active #app-title-text{color:var(--accent);animation:titlePulse 1.4s ease-in-out infinite}@keyframes callPulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes titlePulse{0%,to{opacity:.7}50%{opacity:1}}#toolbar{position:fixed;top:38px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:1px;background:none;border:none;border-radius:0;padding:0 12px;z-index:120;box-shadow:none;flex-wrap:nowrap;cursor:default;height:28px;opacity:.9;transition:opacity .4s ease}#toolbar:hover{opacity:1}#toolbar button{background:none;border:none;color:var(--toolbar-btn-base);padding:4px 8px;border-radius:3px;font-size:11px;cursor:pointer;transition:color .2s,background .2s;white-space:nowrap;height:auto;letter-spacing:.3px}#toolbar button:hover{background:rgba(var(--accent-rgb),.06);color:var(--accent-hover)}#toolbar button.active,#toolbar button.affinity-active{background:none;border:none;color:var(--accent)}.toolbar-sep{width:1px;height:12px;background:rgba(var(--accent-rgb),.35);flex-shrink:0;margin:0 8px}#provider-toggle{display:flex;align-items:center;gap:0;background:var(--ink-04);border-radius:2px;overflow:hidden;border:1px solid var(--ink-08)}#provider-toggle .provider-btn{background:none;border:none;color:var(--ink-35);padding:4px 10px;font-size:10px;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit;white-space:nowrap;height:24px;letter-spacing:.3px}#provider-toggle .provider-btn:hover{color:var(--ink-60);background:var(--ink-04)}#provider-toggle .provider-btn.active{color:var(--accent);background:rgba(var(--accent-rgb),.08);font-weight:600}.provider-hideable{max-width:200px;opacity:1;overflow:hidden;margin:0;transition:max-width .3s ease,opacity .25s ease,margin .3s ease}.provider-hideable.hidden{max-width:0!important;opacity:0!important;overflow:hidden;pointer-events:none;margin:0 -4px!important}.smooth-hideable{max-width:200px;opacity:1;overflow:hidden;transition:max-width .3s ease,opacity .25s ease,padding .3s ease,margin .3s ease,border-width .3s ease}.smooth-hideable.hidden{max-width:0!important;opacity:0!important;padding:0!important;margin:0!important;border-width:0!important;overflow:hidden;pointer-events:none}#api-bar{display:none;align-items:center;gap:0;position:relative}#api-key-input{display:none;width:140px;background:var(--ink-04);border:1px solid var(--ink-10);color:var(--color-text-ghost);padding:5px 10px;border-radius:2px;font-size:11px;font-family:monospace;outline:none;height:30px;transition:border-color .2s}#api-key-input:focus{border-color:rgba(var(--accent-rgb),.35)}#api-key-input.has-key{border-color:rgba(var(--accent-rgb),.4);color:var(--accent)}#api-key-input.has-key:focus{border-color:rgba(var(--accent-rgb),.45)}#cost-wrap{position:relative;overflow:visible;display:inline-flex;align-items:center}#cost-wrap.hidden{overflow:hidden}#cost-display{color:rgba(var(--accent-rgb),.5);font-size:11px;font-weight:600;min-width:45px;text-align:center}.cost-bubble{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--color-overlay-dark);color:var(--color-overlay-text);font-size:10px;font-weight:500;line-height:1.6;padding:6px 12px;border-radius:3px;white-space:nowrap;z-index:200;pointer-events:none}.cost-bubble:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:var(--color-overlay-dark)}#cost-wrap:hover .cost-bubble{display:block}.ui-lang-toggle{background:var(--ink-04);border:1px solid rgba(var(--accent-rgb),.15);color:rgba(var(--accent-rgb),.55);border-radius:2px;padding:4px 10px;font-size:10px;font-weight:400;letter-spacing:1.5px;cursor:pointer;transition:all .15s;font-family:inherit}.ui-lang-toggle:hover{background:rgba(var(--accent-rgb),.1);color:var(--accent-hover);border-color:rgba(var(--accent-rgb),.3)}#model-select{background:var(--ink-04);border:1px solid var(--ink-10);color:var(--color-text-muted);border-radius:2px;padding:5px 8px;font-size:11px;outline:none;height:30px}#import-file{display:none}#util-bar{position:fixed;bottom:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:none;border-radius:0;padding:6px 16px;z-index:125;cursor:default;opacity:.7;transition:opacity .4s ease}#util-bar:hover{opacity:1}#util-bar button{background:none;border:none;color:var(--color-text-tertiary);padding:3px 6px;border-radius:2px;font-size:10px;cursor:pointer;transition:color .2s,background .2s;white-space:nowrap;height:24px}#util-bar button:hover{background:var(--ink-05);color:var(--color-text-secondary)}#util-bar .toolbar-sep{height:14px;background:var(--ink-06)}#util-bar #api-key-input{height:24px;padding:3px 8px;font-size:10px;width:110px}#util-bar #model-select{height:24px;padding:3px 6px;font-size:10px;background:none;border:none;color:var(--color-text-tertiary);width:72px;text-align:center;text-align-last:center}#util-bar #model-select:hover{background:var(--ink-05);color:var(--color-text-secondary)}#util-bar #cost-display{font-size:10px;min-width:36px}#util-bar .util-dimensions{font-size:10px;color:var(--color-text-tertiary);font-family:monospace;white-space:nowrap}#util-bar .ui-lang-toggle{background:none!important;border:none!important;color:var(--color-text-tertiary)!important;font-size:10px!important;font-weight:400!important;letter-spacing:.5px!important;padding:3px 6px!important;height:24px!important}#util-bar .ui-lang-toggle:hover{background:var(--ink-05)!important;color:var(--color-text-secondary)!important;border:none!important}.util-map-cost{font-size:10px;color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;padding:3px 6px;border-radius:2px;transition:background .15s ease,color .15s ease}.util-map-cost:hover{background:var(--ink-05);color:var(--color-text-secondary)}#util-bar #provider-toggle{height:22px;display:inline-flex;align-items:stretch;border:1px solid var(--ink-10);border-radius:2px;overflow:hidden}#util-bar #provider-toggle .provider-btn{font-size:10px!important;padding:0 8px!important;height:20px!important;border:none!important;border-right:1px solid var(--ink-08)!important;border-radius:0!important;background:transparent!important;color:var(--color-text-faint)!important;font-weight:400!important;letter-spacing:.3px;transition:color .15s ease,background .15s ease}#util-bar #provider-toggle .provider-btn:last-child{border-right:none!important}#util-bar #provider-toggle .provider-btn:hover{background:var(--ink-04)!important;color:var(--color-text)!important}#util-bar #provider-toggle .provider-btn.active{background:var(--ink-05)!important;color:var(--color-text)!important;font-weight:600!important}#ask-all-bar{position:fixed;top:66px;left:50%;transform:translate(-50%);display:none;flex-direction:column;align-items:stretch;gap:2px;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:none;border-radius:0;padding:4px 0;z-index:119;width:480px}#ask-all-input{width:100%;box-sizing:border-box;background:none;border:none;border-bottom:1px solid rgba(var(--accent-rgb),.12);color:var(--color-text-secondary);padding:6px 8px;border-radius:0;font-size:12px;outline:none;font-family:inherit;transition:border-color .2s;resize:none;overflow:hidden;line-height:1.5;min-height:28px}#ask-all-input::placeholder{color:var(--color-text-faint);opacity:1}#ask-all-input:focus{border-bottom-color:rgba(var(--accent-rgb),.4)}#ask-all-btn-row{display:flex;gap:8px;align-items:center}.ask-all-spacer{flex:1}#ask-all-btn{background:none;border:none;color:rgba(var(--accent-rgb),.55);padding:4px 8px;border-radius:0;font-size:10.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:color .2s;letter-spacing:.3px;flex-shrink:0;min-width:72px;text-align:right}#ask-all-btn:hover{background:none;color:var(--accent)}#ask-all-clear-btn{background:none;border:none;color:rgba(var(--accent-rgb),.45);padding:4px 8px;font-size:10px;font-weight:600;cursor:pointer;white-space:nowrap;transition:color .2s;letter-spacing:.3px;flex-shrink:0}#ask-all-clear-btn:hover{color:var(--accent)}#toggle-answers{background:none;border:none;color:rgba(var(--accent-rgb),.5);padding:6px 10px;border-radius:0;font-size:11px;cursor:pointer;white-space:nowrap;transition:color .2s;width:auto;text-align:center;letter-spacing:.3px}#toggle-answers:hover{background:none;color:var(--accent)}#toggle-answers.active{background:none;border:none;color:rgba(var(--accent-rgb),.7)}#ask-all-history-btn{background:none;border:none;color:rgba(var(--accent-rgb),.45);font-size:10px;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:0;transition:color .2s;letter-spacing:.3px;white-space:nowrap;flex-shrink:0}#ask-all-history-btn:hover{color:var(--accent)}#ask-all-history-dropdown{position:absolute;top:100%;left:0;right:0;background:#f5f0eb;border:1px solid rgba(var(--accent-rgb),.15);border-radius:3px;max-height:180px;overflow-y:auto;z-index:120;box-shadow:0 4px 12px var(--ink-08)}#ask-all-history-dropdown .ask-hist-item{padding:6px 10px;font-size:11px;color:var(--color-text-secondary);cursor:pointer;border-bottom:1px solid var(--ink-04);transition:background .15s}#ask-all-history-dropdown .ask-hist-item:last-child{border-bottom:none}#ask-all-history-dropdown .ask-hist-item:hover{background:var(--ink-05)}#cartographer-panel{position:fixed;bottom:52px;left:16px;width:360px;max-height:calc(100vh - 140px);background:var(--color-panel-glass);-webkit-backdrop-filter:var(--color-panel-blur);backdrop-filter:var(--color-panel-blur);border:1px solid var(--ink-08);border-radius:3px;z-index:200;transform:translate(calc(-100% - 32px));transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s,left .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:0 20px 60px var(--ink-12);min-width:300px;min-height:250px}#cartographer-panel.open{transform:translate(0)}#cartographer-panel .resize-grip-corner{opacity:1;transition:opacity .15s}#cartographer-panel .resize-grip-corner:hover{opacity:1}.carto-header{padding:20px 20px 16px;border-bottom:1px solid var(--ink-06);position:relative;flex-shrink:0;cursor:grab;-webkit-user-select:none;user-select:none}.carto-title{font-size:18px;font-weight:600;color:var(--color-overlay-dark)}.carto-subtitle{font-size:11px;color:var(--color-text-faint);margin-top:2px;letter-spacing:.5px}.carto-close{position:absolute;top:16px;right:16px;background:transparent;border:none;color:var(--ink-35);padding:4px 10px;border-radius:2px;cursor:pointer;font-size:10px;font-weight:600;letter-spacing:.3px;transition:all .15s;font-family:inherit}.carto-close:hover{background:rgba(var(--accent-rgb),.1);color:var(--accent)}#carto-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}#carto-messages::-webkit-scrollbar{width:4px}#carto-messages::-webkit-scrollbar-thumb{background:var(--ink-08);border-radius:1px}.carto-msg{max-width:90%;padding:10px 14px;border-radius:3px;font-size:12.5px;line-height:1.55;word-wrap:break-word;text-align:justify}.carto-msg-user{align-self:flex-end;background:rgba(var(--accent-rgb),.1);border:1px solid rgba(var(--accent-rgb),.22);color:var(--accent);border-bottom-right-radius:1px}.carto-msg-assistant{align-self:flex-start;background:var(--ink-03);border:1px solid var(--ink-06);color:var(--color-text-tertiary);border-bottom-left-radius:1px}.carto-msg.thinking{opacity:.5;font-style:italic;animation:cartoPulse 1.5s ease-in-out infinite}@keyframes cartoPulse{0%,to{opacity:.3}50%{opacity:.6}}.carto-input-bar{padding:12px;border-top:1px solid var(--ink-06);display:flex;gap:8px;flex-shrink:0;align-items:flex-end}#carto-input{flex:1;background:var(--ink-04);border:1px solid var(--ink-08);color:var(--color-text-secondary);padding:8px 12px;border-radius:2px;font-size:12px;outline:none;font-family:inherit;resize:none;max-height:100px;line-height:1.4}#carto-input:focus{border-color:rgba(var(--accent-rgb),.4)}#carto-send{background:rgba(var(--accent-rgb),.14);border:1px solid rgba(var(--accent-rgb),.3);color:var(--accent);padding:8px 16px;border-radius:2px;font-size:12px;cursor:pointer;white-space:nowrap;transition:all .15s;flex-shrink:0;font-family:inherit}#carto-send:hover{background:rgba(var(--accent-rgb),.22);color:var(--accent-dark)}#legend{position:fixed;bottom:52px;left:16px;background:var(--color-panel-glass-light);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--ink-08);border-radius:3px;padding:16px 20px;z-index:100;font-size:12px;width:var(--legend-min-w);min-height:250px;max-height:calc(100vh - 140px);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;direction:rtl}#legend>*{direction:ltr}#legend .resize-grip-corner{opacity:.55;transition:opacity .15s}#legend .resize-grip-corner:hover{opacity:1}#legend::-webkit-scrollbar{width:4px}#legend::-webkit-scrollbar-thumb{background:var(--ink-08);border-radius:1px}#legend h3{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--color-text-faint);margin-bottom:12px;cursor:grab;-webkit-user-select:none;user-select:none}.legend-tradition{margin-bottom:10px}.legend-tradition-name{font-size:11px;color:var(--color-text-muted);margin-bottom:4px;font-style:italic}.legend-item{display:flex;align-items:center;gap:8px;padding:3px 0;cursor:pointer;margin-bottom:3px;border-radius:2px}.legend-swatch{width:12px;height:12px;border-radius:2px;flex-shrink:0}.legend-label{color:var(--color-text-muted);font-size:12px;flex:1}.legend-separator{border-top:1px solid var(--ink-06);margin:10px 0}.legend-connection{display:flex;align-items:center;gap:8px;padding:3px 0}.legend-add-btn{background:none;border:1px dashed rgba(var(--accent-rgb),.3);color:rgba(var(--accent-rgb),.6);padding:2px 8px;border-radius:2px;font-size:9px;cursor:pointer;transition:all .15s;font-family:inherit;white-space:nowrap}.legend-add-btn:hover{border-color:rgba(var(--accent-rgb),.5);color:var(--accent)}.legend-add-btn.full-width{width:100%;padding:3px 10px;font-size:10px;margin-top:4px}#detail-panel{position:fixed;top:16px;right:16px;bottom:16px;width:520px;background:var(--color-panel-glass);border:1px solid var(--ink-08);border-radius:3px;z-index:180;transform:translate(calc(100% + 32px));transition:transform .3s cubic-bezier(.4,0,.2,1);overflow:hidden;display:flex;flex-direction:column;box-shadow:-4px 0 30px #00000026}#detail-panel.open{transform:translate(0)}#detail-panel::-webkit-scrollbar{width:6px}#detail-panel::-webkit-scrollbar-track{background:transparent}#detail-panel::-webkit-scrollbar-thumb{background:var(--ink-10);border-radius:1px}.panel-resize-left{position:absolute;top:0;left:0;width:5px;height:100%;cursor:ew-resize;z-index:20}.panel-resize-left:hover,.panel-resize-left.active{background:var(--ink-06)}.panel-header{position:sticky;top:0;background:var(--color-panel-header);padding:24px 24px 16px;border-bottom:1px solid var(--ink-06);z-index:10;border-radius:3px 3px 0 0;flex-shrink:0}.panel-top-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;min-height:22px}.panel-name{font-size:22px;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.panel-close{background:transparent;border:none;color:var(--ink-35);padding:4px 10px;border-radius:2px;cursor:pointer;font-size:10px;font-weight:600;letter-spacing:.3px;transition:all .15s;font-family:inherit;flex-shrink:0;margin-left:auto}.panel-close:hover{background:rgba(var(--accent-rgb),.1);color:var(--accent)}.panel-toggle{display:inline-flex;align-items:center;background:var(--ink-03);border-radius:2px;border:1px solid var(--ink-06);padding:2px;flex-shrink:0}.panel-toggle-btn{background:none;border:none;color:var(--color-text-faint);font-size:10px;padding:4px 12px;cursor:pointer;border-radius:2px;transition:all .2s;letter-spacing:.3px}.panel-toggle-btn:hover{color:var(--color-text-tertiary)}.panel-toggle-btn.active{background:rgba(var(--accent-rgb),.1);color:var(--accent)}.panel-meta-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:6px}.panel-meta-item{font-size:12px;color:var(--color-text-tertiary);cursor:pointer;padding:2px 0;border-bottom:1px solid transparent;transition:border-color .2s}.panel-meta-item:hover{border-bottom-color:var(--ink-15);color:var(--color-text-secondary)}.panel-meta-sep{color:var(--color-text-ghost);font-size:12px}.panel-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.panel-tag{display:inline-block;padding:3px 12px;border-radius:2px;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.panel-tag:hover{filter:brightness(1.2)}.panel-tag.empty{background:var(--ink-03);color:var(--color-text-muted);border:1px dashed var(--ink-12);font-style:italic}.panel-tag.empty:hover{background:var(--ink-06);color:var(--color-text-tertiary)}.panel-tag.group-tag{background:none;border:1px dashed var(--ink-18);color:var(--color-text-muted);font-style:italic}.panel-body{padding:8px 24px 32px;overflow-y:auto;flex:1}.panel-chat-body{padding:0 24px 24px;display:flex;flex-direction:column;flex:1;overflow:hidden}.panel-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--ink-05)}.panel-section:first-child{border-top:none;margin-top:12px}.panel-section-title{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:rgba(var(--accent-rgb),.7);margin-bottom:10px;font-weight:600;display:flex;align-items:center;justify-content:space-between}.section-actions{display:flex;gap:4px;align-items:center}.edit-btn,.tell-me-more-btn,.add-entry-btn,.generate-btn,.del-entry-btn,.conn-delete-btn,.conn-toggle,.refill-btn{padding:2px 8px;border-radius:2px;font-size:9px;cursor:pointer;transition:all .15s;white-space:nowrap;font-family:inherit;letter-spacing:.3px;line-height:1.4}.edit-btn{background:var(--ink-04);border:1px solid var(--ink-08);color:var(--color-text-faint)}.edit-btn:hover{background:rgba(var(--accent-rgb),.08);color:var(--accent)}.tell-me-more-btn,.generate-btn,.refill-btn{background:var(--ink-04);border:1px solid rgba(var(--accent-rgb),.18);color:var(--accent)}.tell-me-more-btn:hover,.generate-btn:hover,.refill-btn:hover{background:rgba(var(--accent-rgb),.1);border-color:rgba(var(--accent-rgb),.3);color:var(--accent-hover)}.add-entry-btn{background:var(--ink-03);border:1px solid var(--ink-08);color:var(--color-text-faint)}.add-entry-btn:hover{background:rgba(var(--accent-rgb),.08);color:var(--accent)}.del-entry-btn{background:var(--ink-03);border:1px solid var(--ink-08);color:var(--color-text-faint)}.del-entry-btn:hover{background:var(--ink-06);border-color:var(--ink-15);color:var(--color-text-faint)}.entry-actions{display:flex;gap:4px;margin-top:8px;justify-content:flex-end;flex-wrap:wrap}.entry-actions button{padding:2px 6px;border-radius:2px;font-size:9px;cursor:pointer;transition:all .15s;white-space:nowrap;font-family:inherit;line-height:1.4}.entry-actions .edit-entry-btn{background:var(--ink-03);border:1px solid var(--ink-08);color:var(--color-text-muted)}.entry-actions .edit-entry-btn:hover{background:rgba(var(--accent-rgb),.08);color:var(--accent)}.inline-edit-btns .inline-cancel{background:var(--ink-04);border:1px solid var(--ink-08);color:var(--color-text-muted)}.inline-edit-btns .inline-cancel:hover{background:var(--ink-08);color:var(--color-text-tertiary)}.entry-inline-btns{display:flex;gap:6px;margin-top:6px}.entry-inline-btns button{flex:1;padding:4px;border-radius:2px;cursor:pointer;font-size:10px;font-family:inherit;transition:all .15s}.entry-inline-cancel{background:var(--ink-04);border:1px solid var(--ink-08);color:var(--color-text-muted)}.entry-inline-cancel:hover{background:var(--ink-08);color:var(--color-text-tertiary)}.picker-btns{display:flex;gap:6px}.picker-btns button{flex:1;padding:6px;border-radius:2px;cursor:pointer;font-size:11px;font-family:inherit;transition:all .15s}.picker-cancel{background:var(--ink-04);border:1px solid var(--ink-08);color:var(--color-text-muted)}.picker-cancel:hover{background:var(--ink-08);color:var(--color-text-tertiary)}.polygon-bar{position:fixed;top:96px;left:50%;transform:translate(-50%);z-index:160;background:#f4f2eef2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--ink-10);border-radius:3px;padding:8px 16px;display:flex;align-items:center;gap:12px;font-family:var(--font-stack)}.polygon-bar-label{color:var(--color-text-tertiary);font-size:12px}.polygon-bar-btn{padding:5px 14px;border-radius:2px;font-size:12px;cursor:pointer;font-family:inherit;transition:all .15s}.polygon-bar-btn.confirm{background:rgba(var(--accent-rgb),.2);border:1px solid rgba(var(--accent-rgb),.4);color:rgba(var(--accent-rgb),.8)}.polygon-bar-btn.confirm:hover{background:rgba(var(--accent-rgb),.35);color:var(--accent)}.polygon-bar-btn.cancel{background:var(--ink-04);border:1px solid var(--ink-08);color:var(--color-text-muted)}.polygon-bar-btn.cancel:hover{background:var(--ink-08);color:var(--color-text-tertiary)}.panel-text{font-size:13.5px;line-height:1.65;color:var(--color-text-secondary);text-align:justify;padding:6px 8px}.panel-text p{margin-bottom:10px}.panel-text p:last-child{margin-bottom:0}.edit-area{width:100%;background:var(--ink-03);border:1px solid var(--ink-10);color:var(--color-text-tertiary);padding:10px;border-radius:2px;font-size:13px;line-height:1.6;font-family:inherit;resize:vertical;outline:none;min-height:60px;text-align:justify}.edit-area:focus{border-color:rgba(var(--accent-rgb),.4)}.edit-input{background:var(--ink-03);border:1px solid var(--ink-10);color:var(--color-text-tertiary);padding:6px 10px;border-radius:2px;font-size:13px;font-family:inherit;outline:none;width:100%}.edit-input:focus{border-color:rgba(var(--accent-rgb),.4)}.concepts-grid{display:flex;flex-direction:column;gap:10px}.concept-card{background:var(--ink-02);border:1px solid var(--ink-06);border-radius:3px;padding:14px 16px;position:relative;overflow:hidden;transition:border-color .2s}.concept-card:hover{border-color:var(--ink-12)}.concept-name{font-size:13px;font-weight:600;margin-bottom:6px;letter-spacing:.3px}.concept-desc{font-size:12px;color:var(--color-text-tertiary);line-height:1.55;padding-right:16px;text-align:justify}.works-list{display:flex;flex-direction:column;gap:0}.work-card{display:flex;gap:0;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--ink-03)}.work-card:last-child{border-bottom:none}.work-year-col{flex-shrink:0;width:46px;padding-top:1px;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.3px}.work-body{flex:1;min-width:0}.work-title-row{display:flex;align-items:baseline;gap:7px}.work-title{font-size:12.5px;font-weight:600;color:var(--color-text-secondary);font-style:italic}.work-type-badge{font-size:9.5px;text-transform:lowercase;letter-spacing:.3px;color:var(--color-text-muted);flex-shrink:0}.work-desc{font-size:11.5px;color:var(--color-text-tertiary);line-height:1.45;margin-top:2px;text-align:justify}.connection-item{margin-bottom:12px;padding:10px 12px;background:var(--ink-02);border-radius:3px;border:1px solid var(--ink-04);position:relative}.connection-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.connection-name{font-size:13px;font-weight:600;color:var(--color-text-secondary)}.connection-type-badge{font-size:9px;text-transform:uppercase;letter-spacing:1px;padding:2px 8px;border-radius:2px;font-weight:600}.connection-direction{font-size:10px;color:var(--color-text-faint);margin-bottom:4px}.connection-desc{font-size:12px;color:var(--color-text-tertiary);line-height:1.5;text-align:justify}.connection-controls{display:flex;gap:4px;margin-top:8px;align-items:center;flex-wrap:wrap}.conn-toggle{background:var(--ink-02);border:1px solid var(--ink-06);color:var(--color-text-faint)}.conn-toggle:hover{border-color:var(--ink-12);color:var(--color-text-tertiary)}.conn-toggle.active{border-color:rgba(var(--accent-rgb),.22);background:rgba(var(--accent-rgb),.08);color:var(--accent)}.conn-delete-btn{background:var(--ink-03);border:1px solid var(--ink-08);color:var(--color-text-faint)}.conn-delete-btn:hover{background:var(--ink-06);border-color:var(--ink-15);color:var(--color-text-faint)}.suggestion-item{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px;padding:8px 10px;background:var(--ink-015);border-radius:3px;border:1px solid var(--ink-04);gap:10px}.suggestion-info{flex:1}.suggestion-name{font-size:12.5px;font-weight:600;color:var(--color-text-tertiary)}.suggestion-meta{font-size:10px;color:var(--color-text-faint);margin-top:1px;margin-bottom:2px;line-height:1.3}.suggestion-type{font-size:9px;text-transform:uppercase;letter-spacing:.8px;margin-left:6px;padding:1px 6px;border-radius:2px;font-weight:600}.suggestion-desc{font-size:11.5px;color:var(--color-text-ghost);line-height:1.45;margin-top:3px;text-align:justify}.suggestion-btn{background:rgba(var(--accent-rgb),.1);border:1px solid rgba(var(--accent-rgb),.22);color:var(--accent);padding:4px 10px;border-radius:2px;font-size:10px;cursor:pointer;white-space:nowrap;transition:all .2s;flex-shrink:0}.suggestion-btn:hover{background:rgba(var(--accent-rgb),.2);color:var(--color-text)}.suggestion-actions{display:flex;flex-direction:column;gap:4px;flex-shrink:0;align-items:flex-end}.on-map-label{font-size:10px;color:var(--color-text-disabled);font-style:italic}.panel-question-input{display:flex;gap:8px;margin-top:8px}.panel-question-input input{flex:1;background:var(--ink-04);border:1px solid var(--ink-08);color:var(--color-text-secondary);padding:8px 12px;border-radius:2px;font-size:12.5px;outline:none;font-family:inherit}.panel-question-input input::placeholder{color:var(--color-text-faint)}.panel-question-input input:focus{border-color:rgba(var(--accent-rgb),.4)}.panel-question-input button{background:var(--ink-06);border:1px solid var(--ink-10);color:var(--color-text-muted);padding:8px 14px;border-radius:2px;font-size:12px;cursor:pointer}.panel-question-input button:hover{background:var(--ink-12);color:var(--color-text)}.panel-question-input .ask-btn{background:rgba(var(--accent-rgb),.14);border-color:rgba(var(--accent-rgb),.3);color:var(--accent)}.panel-question-input .ask-btn:hover{background:rgba(var(--accent-rgb),.22);color:var(--color-text)}.panel-actions{display:flex;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid var(--ink-05)}.panel-action-btn{flex:1;padding:10px;border-radius:2px;font-size:12px;font-weight:500;cursor:pointer;text-align:center;transition:all .2s}.btn-inactive{background:var(--ink-04);border:1px solid var(--ink-08);color:var(--color-text-ghost)}.btn-inactive:hover{background:var(--ink-06);color:var(--color-text-tertiary)}.btn-delete{background:var(--ink-04);border:1px solid var(--ink-10);color:var(--color-text-ghost)}.btn-delete:hover{background:var(--ink-08);color:var(--color-text-tertiary)}.chat-history{display:flex;flex-direction:column;gap:12px;margin:10px 0;max-height:400px;overflow-y:auto}.chat-history::-webkit-scrollbar{width:4px}.chat-history::-webkit-scrollbar-thumb{background:var(--ink-08);border-radius:1px}.chat-entry{padding:10px 0;border-bottom:1px solid var(--ink-03)}.chat-entry:last-child{border-bottom:none}.chat-q{font-size:9px;color:var(--color-text-disabled);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}.chat-q-text{font-size:12px;color:var(--color-text-faint);margin-bottom:10px;line-height:1.5}.chat-a{font-size:9px;color:rgba(var(--accent-rgb),.55);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}.chat-a-text{font-size:12.5px;color:var(--color-text-muted);line-height:1.6;text-align:justify}.chat-a-text p{margin-bottom:6px}.chat-a-text p:last-child{margin-bottom:0}.journey-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--color-backdrop-heavy);z-index:350;display:flex;align-items:flex-start;justify-content:center;padding-top:60px;animation:journeyFadeIn .2s ease}@keyframes journeyFadeIn{0%{opacity:0}to{opacity:1}}.journey-panel{background:var(--color-modal);border:1px solid var(--ink-08);border-radius:3px;width:340px;max-height:calc(100vh - 120px);display:flex;flex-direction:column;box-shadow:0 20px 60px #00000026}.journey-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--ink-06);gap:2px}.journey-label{width:100%;font-size:10px;font-weight:600;color:rgba(var(--accent-rgb),.55);letter-spacing:2px;text-transform:uppercase}.journey-title-text{font-size:14px;font-weight:600;color:#000000a6}.journey-count{font-size:10px;font-weight:600;color:var(--ink-40);background:var(--ink-06);padding:2px 8px;border-radius:2px}.journey-list{overflow-y:auto;padding:12px 16px 16px;flex:1;scrollbar-width:thin;scrollbar-color:var(--ink-10) transparent}.journey-item{display:flex;align-items:flex-start;gap:12px;padding:10px 8px;border-radius:3px;cursor:pointer;transition:background .15s;position:relative}.journey-item:hover{background:var(--ink-04)}.journey-item:not(:last-child):after{content:"";position:absolute;left:13px;top:30px;bottom:-10px;width:1px;background:var(--ink-06)}.journey-marker{width:8px;height:8px;border-radius:50%;margin-top:4px;flex-shrink:0;opacity:.7}.journey-seed .journey-marker{width:10px;height:10px;margin-top:3px;opacity:1;box-shadow:0 0 8px rgba(var(--accent-rgb),.35)}.journey-content{flex:1;min-width:0}.journey-step-label{font-size:9px;font-weight:600;color:var(--ink-30);letter-spacing:1px;text-transform:uppercase;margin-bottom:2px}.journey-seed .journey-step-label{color:var(--accent)}.journey-name{font-size:13px;font-weight:500;color:var(--ink-80);line-height:1.3}.journey-meta{font-size:10px;color:var(--ink-30);margin-top:2px}.journey-via{font-size:9px;color:var(--ink-25);margin-top:3px;font-style:italic}.gen-preview-area{scrollbar-width:thin;scrollbar-color:var(--ink-08) transparent}.gen-preview-card{background:var(--ink-02);border:1px solid rgba(var(--accent-rgb),.1);border-radius:3px;padding:10px 14px;margin-bottom:8px}.gen-preview-card:last-child{margin-bottom:0}.gen-preview-name{font-size:12px;font-weight:600;color:var(--accent);margin-bottom:3px}.gen-preview-desc{font-size:11px;color:var(--ink-60);line-height:1.5;text-align:justify}#confirm-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--color-backdrop);z-index:300;display:none;align-items:center;justify-content:center}#confirm-overlay.show{display:flex}#confirm-box{background:var(--color-modal);border:1px solid var(--ink-10);border-radius:3px;padding:24px;width:340px;text-align:center}#confirm-box p{color:var(--color-text-tertiary);font-size:14px;margin-bottom:20px;line-height:1.5}.modal-field{margin-bottom:14px}.modal-field label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--color-text-tertiary);margin-bottom:5px;font-weight:600}.modal-field input,.modal-field select,.modal-field textarea{width:100%;background:var(--ink-04);border:1px solid var(--ink-10);color:var(--color-text-secondary);padding:8px 12px;border-radius:2px;font-size:13px;outline:none;font-family:inherit}.modal-field textarea{height:80px;resize:vertical}.modal-field input:focus,.modal-field select:focus,.modal-field textarea:focus{border-color:rgba(var(--accent-rgb),.4)}.modal-field select option{background:var(--color-modal);color:var(--color-text-secondary)}.modal-field .field-hint{font-size:10px;color:rgba(var(--accent-rgb),.45);margin-top:6px;padding:0 2px 0 36px;line-height:1.5;position:relative}.modal-field .field-hint:before{content:"i";position:absolute;left:12px;top:0;width:13px;height:13px;border-radius:50%;border:1px solid rgba(var(--accent-rgb),.22);color:rgba(var(--accent-rgb),.45);font-size:9px;font-style:italic;font-family:Georgia,serif;display:flex;align-items:center;justify-content:center;line-height:13px;text-align:center}.field-optional{font-size:9px;text-transform:none;letter-spacing:0;color:var(--color-text-disabled);font-weight:400}.modal-row{display:flex;gap:12px}.modal-row .modal-field{flex:1}.modal-subsection{font-size:12px;font-weight:600;color:var(--color-text-tertiary);margin:18px 0 10px;padding-top:12px;border-top:1px solid var(--ink-08)}.modal-buttons{display:flex;gap:10px;margin-top:20px}.modal-buttons button{flex:1;padding:10px;border-radius:2px;font-size:13px;cursor:pointer;transition:all .2s;font-family:inherit}.modal-btn-cancel{background:var(--ink-04);border:1px solid var(--ink-10);color:var(--color-text-muted)}.modal-btn-cancel:hover{background:var(--ink-08);color:var(--color-text-tertiary)}.modal-btn-add{background:rgba(var(--accent-rgb),.14);border:1px solid rgba(var(--accent-rgb),.3);color:var(--accent);font-weight:600}.modal-btn-add:hover{background:rgba(var(--accent-rgb),.25);color:var(--color-text)}.modal-btn-delete{background:var(--ink-06);border:1px solid var(--ink-12);color:var(--color-text-muted);font-weight:600}.modal-btn-delete:hover{background:var(--ink-12);color:var(--color-text-tertiary)}.color-picker-wrap{display:flex;gap:8px;align-items:center}.color-picker-wrap input[type=color]{width:32px;height:32px;border:1px solid var(--ink-10);border-radius:2px;background:none;cursor:pointer;padding:2px}.inline-edit-overlay{position:fixed;z-index:250;background:var(--color-inline-edit-bg);border:1px solid var(--ink-10);border-radius:3px;padding:16px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.inline-edit-overlay .edit-area{margin-bottom:10px}.inline-edit-btns{display:flex;gap:8px}.inline-edit-btns button{flex:1;padding:8px;border-radius:2px;font-size:12px;cursor:pointer;font-family:inherit}#prompt-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--color-backdrop);z-index:400;align-items:center;justify-content:center;display:none}#prompt-overlay.show{display:flex}#prompt-box{background:var(--color-modal);border:1px solid var(--ink-10);border-radius:3px;padding:32px;width:620px;max-height:88vh;overflow-y:auto}#prompt-title{font-size:18px;font-weight:600;margin-bottom:4px;letter-spacing:2px}#prompt-title.discipline-phase-title{color:var(--discipline-blue)}#prompt-title.wayfare-phase-title{color:var(--wayfare-red)}#prompt-subtitle{font-size:11px;color:var(--ink-30);margin-bottom:20px;letter-spacing:.5px}#prompt-topic{height:280px;resize:vertical}#prompt-warning{display:none;background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:3px;padding:12px;margin-bottom:16px}#prompt-warning>div:first-child{font-size:11px;font-weight:600;color:var(--color-warning);margin-bottom:4px}#prompt-warning ul{font-size:11px;color:var(--color-warning-dark);line-height:1.8;margin:0;padding-left:18px}#prompt-warning li{margin-bottom:2px}#snapshot-overlay,#go-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-backdrop);z-index:420;display:none;align-items:center;justify-content:center}#snapshot-overlay.show,#go-overlay.show{display:flex}#snapshot-box,#go-box{background:var(--color-modal);border:1px solid var(--ink-10);border-radius:3px;padding:28px;width:420px;max-height:80vh;overflow-y:auto}#snapshot-box h2,#go-box h2{font-size:18px;color:var(--color-text);margin-bottom:6px}.snapshot-subtitle{font-size:11px;color:var(--color-text-faint);margin-bottom:18px}.card-info-scroll::-webkit-scrollbar{width:4px}.card-info-scroll::-webkit-scrollbar-track{background:transparent}.card-info-scroll::-webkit-scrollbar-thumb{background:var(--ink-10);border-radius:1px}.card-info-scroll::-webkit-scrollbar-thumb:hover{background:var(--ink-20)}.impact-filter{display:inline-flex;align-items:center;gap:0;margin:0 0 0 -3px;vertical-align:middle;background:none;border:none;border-radius:0;padding:0;height:auto;box-sizing:border-box;transition:opacity .25s,max-width .3s,padding .3s,margin .3s;max-width:200px;overflow:hidden}.impact-filter.hidden{max-width:0;padding:0;margin:-3px;border:none;opacity:0;pointer-events:none;overflow:hidden}.impact-filter-dot{font-size:12px;color:var(--ink-25);line-height:1;-webkit-user-select:none;user-select:none;margin:0 4px 0 1px}.impact-filter-strip{display:flex;align-items:center;gap:2px;background:none;border-radius:0;padding:0;height:auto}#toolbar .impact-btn{background:none;border:none;color:var(--color-text);font-family:inherit;font-size:9px;font-weight:400;padding:0 3px;cursor:pointer;border-radius:0;transition:all .15s;line-height:1;display:inline-flex;align-items:center;justify-content:center;height:auto;box-sizing:border-box}#toolbar .impact-btn:hover{background:rgba(var(--accent-rgb),.06);color:var(--accent-hover)}#toolbar .impact-btn.active{background:none;color:var(--accent)}#btn-connections{border-radius:0}#btn-connections:not(.active)+.impact-filter{max-width:0;padding:0;border:none;opacity:0;pointer-events:none}.prompt-choose-header{text-align:center;margin-bottom:28px}.prompt-choose-title{font-size:22px;font-weight:700;color:var(--ink-60);letter-spacing:4px;text-transform:uppercase}.prompt-choose-sub{font-size:11px;color:var(--ink-45);letter-spacing:1px;margin-top:6px}#prompt-mode-chooser{display:flex;gap:16px}.mode-card{flex:1;background:var(--ink-02);border:1px solid var(--ink-06);border-radius:3px;padding:28px 22px 24px;cursor:pointer;transition:all .25s;position:relative;text-align:center}.mode-card:hover{border-color:var(--ink-15);background:var(--ink-04)}.mode-card-icon{font-size:28px;color:var(--ink-30);margin-bottom:14px;line-height:1}.mode-card-title{font-size:15px;font-weight:600;color:var(--ink-70);margin-bottom:10px}.mode-card-desc{font-size:11px;color:var(--ink-50);line-height:1.6;text-align:justify}.mode-card-badge{position:absolute;top:12px;right:14px;font-size:8px;letter-spacing:1.5px;color:rgba(var(--wayfare-red-rgb),.5);font-weight:600}#mode-discipline:hover{border-color:rgba(var(--discipline-blue-rgb),.3)}#mode-discipline:hover .mode-card-icon{color:rgba(var(--discipline-blue-rgb),.4)}#mode-discipline:hover .mode-card-title{color:#41699ed9}#mode-wayfare:hover{border-color:rgba(var(--wayfare-red-rgb),.3)}#mode-wayfare:hover .mode-card-icon{color:rgba(var(--wayfare-red-rgb),.4)}#mode-wayfare:hover .mode-card-title{color:#9b3a30d9}#mode-wayfare:hover .mode-card-badge{color:rgba(var(--wayfare-red-rgb),.7)}.discipline-phase-title{font-size:18px;font-weight:600;color:var(--discipline-blue);margin-bottom:4px;letter-spacing:2px}.discipline-phase-sub{font-size:11px;color:rgba(var(--discipline-blue-rgb),.55);margin-bottom:20px;letter-spacing:.5px}.wayfare-phase-title{font-size:18px;font-weight:600;color:var(--wayfare-red);margin-bottom:4px;letter-spacing:2px}.wayfare-phase-sub{font-size:11px;color:rgba(var(--wayfare-red-rgb),.55);margin-bottom:20px;letter-spacing:.5px}.modal-btn-discipline{background:rgba(var(--discipline-blue-rgb),.15)!important;border:1px solid rgba(var(--discipline-blue-rgb),.35)!important;color:var(--discipline-blue)!important}.modal-btn-discipline:hover{background:rgba(var(--discipline-blue-rgb),.3)!important;color:var(--color-text)!important}.modal-btn-wayfare{background:rgba(var(--wayfare-red-rgb),.15)!important;border:1px solid rgba(var(--wayfare-red-rgb),.35)!important;color:var(--wayfare-red)!important}.modal-btn-wayfare:hover{background:rgba(var(--wayfare-red-rgb),.3)!important;color:var(--color-text)!important}.conn-mode-tab{flex:1;padding:14px 16px;cursor:pointer;background:var(--ink-015);transition:all .2s;text-align:center}.conn-mode-tab:first-child{border-right:1px solid var(--ink-05)}.conn-mode-tab:hover{background:var(--ink-04)}.conn-mode-tab.active{background:rgba(var(--accent-rgb),.08)}.conn-mode-label{font-size:12px;font-weight:600;color:var(--ink-60);margin-bottom:5px;transition:color .2s}.conn-mode-desc{font-size:9px;color:var(--ink-40);line-height:1.5;text-align:justify}.conn-mode-tab.active .conn-mode-label{color:var(--accent)}.conn-mode-tab.active .conn-mode-desc{color:rgba(var(--accent-rgb),.55)}.card-conn-selected rect:first-of-type{stroke-width:2.5!important;filter:drop-shadow(0 0 8px rgba(var(--accent-rgb),.4))}.conn-select-bar{position:fixed;top:72px;left:50%;transform:translate(-50%);z-index:200;background:#f4f2eef2;border:1px solid var(--ink-08);border-radius:3px;padding:8px 18px;display:flex;align-items:center;gap:12px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:13px;color:var(--ink-60);box-shadow:0 4px 20px var(--ink-12)}.conn-select-bar button{background:var(--ink-04);border:1px solid var(--ink-08);color:var(--ink-40);padding:4px 14px;border-radius:2px;cursor:pointer;font-size:11px;font-family:inherit;transition:all .15s}.conn-select-bar button:hover{background:var(--ink-08);color:var(--ink-70)}.bridge-type-text{font-size:10px;color:var(--color-text-faint);font-style:italic;margin-top:2px}.suggestion-category{font-size:8px;text-transform:uppercase;letter-spacing:1px;padding:1px 6px;border-radius:2px;font-weight:600;margin-left:6px}.suggestion-category.natural{background:var(--ink-04);color:var(--ink-30)}.suggestion-category.leap{background:var(--ink-04);color:var(--ink-30);border:1px dashed var(--ink-10)}.legend-hoverable{cursor:pointer;transition:filter .15s}.legend-hoverable:hover .legend-label,.legend-hoverable:hover .legend-tradition-name span,.legend-hoverable:hover span{filter:brightness(1.5)}.legend-hoverable .legend-label,.legend-hoverable span{transition:filter .15s,color .15s}.sel-card{border-radius:3px;padding:12px 14px;cursor:pointer;opacity:1;transition:background .3s ease,border-color .3s ease,opacity .3s ease,box-shadow .25s ease}.sel-card .sel-name{font-size:13px;font-weight:600;transition:color .3s ease}.sel-card.deselected{background:var(--ink-02)!important;border-color:var(--ink-06)!important;opacity:.45}.sel-card.deselected .sel-name{color:var(--color-text-disabled)!important}.sel-card:not(.deselected):hover{filter:brightness(.92);box-shadow:0 2px 8px var(--ink-10)}.sel-card.deselected:hover{opacity:.65;box-shadow:0 1px 4px var(--ink-06);filter:brightness(.95)}#auth-overlay,#profile-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--color-backdrop);align-items:center;justify-content:center}#auth-overlay.open,#profile-overlay.open{display:flex}body.auth-open #prompt-overlay{visibility:hidden}#auth-modal,#profile-modal{position:relative;width:420px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow-y:auto;background:var(--color-modal);color:var(--color-text);border:1px solid var(--ink-10);border-radius:3px;padding:32px;font-family:inherit}.auth-field input:disabled,.auth-field textarea:disabled{background:var(--ink-04);color:var(--color-text-faint);cursor:not-allowed}.auth-close{position:absolute;top:8px;right:10px;width:26px;height:26px;border:none;background:transparent;color:var(--color-text-faint);font-size:20px;line-height:1;cursor:pointer;border-radius:2px;transition:background .15s ease,color .15s ease}.auth-close:hover{background:var(--ink-05);color:var(--color-text)}.auth-tabs{display:flex;gap:2px;padding:2px;background:var(--ink-05);border-radius:3px;margin-bottom:22px}.auth-tab{flex:1;padding:7px 14px;border:none;background:transparent;color:var(--color-text-faint);font-size:12px;font-weight:600;border-radius:2px;cursor:pointer;transition:background .15s ease,color .15s ease}.auth-tab:hover:not(.active){color:var(--color-text)}.auth-tab.active{background:var(--color-modal);color:var(--color-text);box-shadow:0 1px 2px var(--ink-06)}.auth-h2{margin:0 0 4px;font-size:18px;font-weight:600;letter-spacing:2px;color:var(--color-text)}.auth-sub{margin:0 0 20px;color:var(--ink-30);font-size:11px;line-height:1.6;letter-spacing:.5px}.auth-field{margin-bottom:12px}.auth-field input,.auth-field select,.auth-field textarea{width:100%;box-sizing:border-box;padding:9px 11px;background:var(--color-modal);border:1px solid var(--ink-10);border-radius:3px;font-family:inherit;font-size:12px;color:var(--color-text);transition:border-color .15s ease}.auth-field input:focus,.auth-field select:focus,.auth-field textarea:focus{outline:none;border-color:var(--ink-30)}.auth-field textarea{resize:vertical;min-height:80px}.auth-row-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.auth-row-2 .auth-field{margin-bottom:12px}.auth-submit{width:100%;margin-top:6px;padding:10px 16px;background:var(--primary-cta-bg);color:#fff;border:none;border-radius:3px;font-size:12px;font-weight:600;letter-spacing:.5px;cursor:pointer;transition:background .15s ease,opacity .15s ease}.auth-submit:hover{background:var(--primary-cta-hover)}.auth-submit:active{background:var(--primary-cta-hover);filter:brightness(.9)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-msg{margin-top:10px;font-size:11px;line-height:1.5;color:var(--color-text-faint);min-height:16px}.auth-msg.error{color:var(--color-warning)}.auth-msg .auth-msg-cta{background:none;border:none;padding:0;color:var(--accent);font-weight:600;cursor:pointer;text-decoration:underline;font-size:inherit;font-family:inherit}.auth-link-btn{display:block;margin:8px auto 0;background:none;border:none;padding:4px 0;color:var(--color-text-faint);font-size:11px;cursor:pointer;text-decoration:underline;font-family:inherit}.auth-link-btn:hover{color:var(--color-text)}#side-panel{position:fixed;top:16px;bottom:16px;left:16px;z-index:600;width:360px;max-width:calc(100vw - 32px);background:var(--color-panel-glass, var(--color-modal));border:1px solid var(--ink-08, var(--ink-10));border-radius:3px;box-shadow:4px 0 30px #00000026;display:flex;flex-direction:column;transform:translate(calc(-100% - 32px));transition:transform .3s cubic-bezier(.4,0,.2,1);font-family:inherit;color:var(--color-text);overflow:hidden}#side-panel.open{transform:translate(0)}.side-panel-header{display:flex;align-items:center;gap:8px;padding:14px 14px 6px}.side-panel-tabs{flex:1;display:flex;gap:2px;padding:2px;background:var(--ink-05);border-radius:3px}.side-tab{flex:1;padding:6px 12px;border:none;background:transparent;color:var(--color-text-faint);font-size:11px;font-weight:600;letter-spacing:.3px;border-radius:2px;cursor:pointer;transition:background .15s ease,color .15s ease}.side-tab:hover:not(.active){color:var(--color-text)}.side-tab.active{background:var(--color-modal);color:var(--color-text);box-shadow:0 1px 2px var(--ink-06)}.side-tab.account-hidden{display:none}.side-panel-close{align-self:stretch;display:flex;align-items:center;justify-content:center;width:22px;border:none;background:transparent;color:var(--ink-30);font-size:14px;line-height:1;cursor:pointer;border-radius:2px;padding:0;transition:color .15s ease}.side-panel-close:hover{color:var(--color-text)}.side-view{flex:1;overflow-y:auto;padding:16px 18px 20px}.side-account-header{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--ink-04);border:1px solid var(--ink-06);border-radius:3px;margin-bottom:18px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.side-account-header:hover{background:var(--ink-05);border-color:var(--ink-10)}.side-account-info{flex:1;min-width:0}.side-account-name{font-size:12px;font-weight:600;color:var(--color-text);letter-spacing:.2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-account-email{font-size:10px;color:var(--color-text-faint);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-signout-btn{padding:5px 9px;border:1px solid var(--ink-10);background:var(--color-modal);color:var(--color-text-tertiary);font-size:10px;font-weight:600;letter-spacing:.3px;border-radius:2px;cursor:pointer;transition:background .15s ease,color .15s ease}.side-signout-btn:hover{background:var(--ink-05);color:var(--color-text)}.side-signin-cta{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--ink-04);border:1px solid var(--ink-06);border-radius:3px;margin-bottom:18px}.side-signin-cta-btn{background:var(--primary-cta-bg)!important}.side-signin-cta-btn:hover{background:var(--primary-cta-hover)!important}.side-signin-cta-text{font-size:11px;line-height:1.4;color:var(--color-text-tertiary);flex:1}.side-signin-cta-btn{padding:6px 10px;background:var(--accent);color:#fff;border:none;border-radius:2px;font-size:10px;font-weight:600;letter-spacing:.3px;cursor:pointer;flex-shrink:0;transition:background .15s ease}.side-signin-cta-btn:hover{background:var(--accent-hover)}.side-section{margin-top:4px}.side-section-h{margin:0 0 10px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-faint)}.side-empty{margin:0;font-size:11px;line-height:1.6;color:var(--color-text-muted)}.lib-cards{display:flex;flex-direction:column;gap:8px}.lib-empty{margin:0;font-size:11px;line-height:1.6;color:var(--color-text-muted);font-style:italic}.lib-filter-row{display:flex;flex-wrap:wrap;gap:6px;padding:6px 0;margin-bottom:6px}.lib-filter-row:last-of-type{margin-bottom:12px}.lib-filter-chip{background:transparent;border:1px solid var(--ink-10);color:var(--color-text-tertiary);border-radius:11px;padding:3px 10px;font-size:10px;font-weight:500;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.lib-filter-chip:hover{border-color:var(--ink-25);color:var(--color-text)}.lib-filter-chip.active{background:var(--ink-08);border-color:var(--ink-25);color:var(--color-text)}.lib-card{position:relative;background:var(--color-modal);border:1px solid var(--ink-06);border-radius:3px;padding:10px 12px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.lib-card:hover{border-color:var(--ink-15);background:var(--ink-04)}.lib-card-menu{position:absolute;top:6px;right:6px;background:transparent;border:none;padding:2px 6px;font-size:14px;line-height:1;color:var(--color-text-faint);cursor:pointer;border-radius:3px;opacity:0;transition:opacity .15s ease,background .15s ease}.lib-card:hover .lib-card-menu{opacity:.6}.lib-card-menu:hover{opacity:1!important;background:var(--ink-08)}.lib-card-title{font-size:13px;font-weight:600;color:var(--color-text);letter-spacing:.2px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-card-author{display:block;background:transparent;border:none;padding:0;font-family:inherit;font-size:11px;color:var(--color-text-faint);margin-bottom:6px;font-style:italic;cursor:pointer;text-align:left;transition:color .12s ease}.lib-card-author:hover{color:var(--color-text);text-decoration:underline}.lib-author-chip{font-style:italic}.lib-card-extras{font-size:10px;color:var(--color-text-tertiary);margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-card-meta{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--color-text-tertiary);flex-wrap:wrap}.lib-mode{display:inline-block;padding:1px 6px;border-radius:2px;font-size:9px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.lib-mode-discipline{background:rgba(var(--discipline-blue-rgb),.12);color:var(--discipline-blue)}.lib-mode-wayfare{background:rgba(var(--wayfare-red-rgb),.12);color:var(--wayfare-red)}.lib-figs,.lib-updated{font-size:10px;color:var(--color-text-tertiary)}.util-status-pill{display:inline-flex;gap:0;height:22px;align-items:stretch;border:1px solid var(--ink-10);border-radius:2px;overflow:hidden}#util-bar .status-btn{padding:0 8px!important;height:20px!important;font-size:10px!important;font-weight:400;color:var(--color-text-faint)!important;background:transparent!important;border:none!important;border-right:1px solid var(--ink-08)!important;border-radius:0!important;cursor:pointer;letter-spacing:.3px;transition:color .15s ease,background .15s ease}#util-bar .status-btn:last-child{border-right:none!important}#util-bar .status-btn:not(:disabled):hover{color:var(--color-text)!important;background:var(--ink-04)!important}#util-bar .status-btn.active{background:var(--ink-05)!important;color:var(--color-text)!important;font-weight:600}#util-bar .status-btn:disabled{cursor:not-allowed;opacity:.55}.util-save-status{font-size:10px;color:var(--color-text-faint);white-space:nowrap;min-width:0;transition:opacity .25s ease,color .25s ease}.util-save-status.pending,.util-save-status.saving{color:var(--color-text-faint);font-style:italic}.util-save-status.saved{color:var(--color-text-tertiary)}.util-save-status.error{color:#c0392b;font-weight:600}#util-bar #api-bar,#util-bar #cost-wrap,body.view-mode #toolbar,body.view-mode #util-bar,body.view-mode #prompt-overlay{display:none!important}#view-mode-bar{position:fixed;top:56px;left:50%;transform:translate(-50%);z-index:130;align-items:center;gap:10px;padding:6px 14px;background:var(--color-modal);border:1px solid var(--ink-10);border-radius:3px;font-family:inherit}body.view-mode #view-mode-bar{display:flex}.vm-label{font-size:10px;font-weight:700;letter-spacing:.8px;color:var(--ink-30)}#view-mode-bar button{padding:4px 10px;background:transparent;border:1px solid var(--ink-10);border-radius:2px;color:var(--color-text-tertiary);font-size:11px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}#view-mode-bar button:hover{background:var(--ink-05);color:var(--color-text)}#view-mode-bar #vm-clone-btn{background:var(--primary-cta-bg);border-color:var(--primary-cta-bg);color:#fff}#view-mode-bar #vm-clone-btn:hover{background:var(--primary-cta-hover);border-color:var(--primary-cta-hover);color:#fff}body.view-mode .panel-toggle-btn[data-tab=chat],body.view-mode #detail-panel .section-actions,body.view-mode #detail-panel .panel-actions,body.view-mode #detail-panel .tell-me-more-btn,body.view-mode #detail-panel .edit-btn,body.view-mode #detail-panel .edit-entry-btn,body.view-mode #detail-panel .del-entry-btn,body.view-mode #detail-panel .generate-btn,body.view-mode #detail-panel .refill-btn,body.view-mode #detail-panel .suggestion-btn,body.view-mode #detail-panel .ask-btn,body.view-mode #detail-panel .panel-question-input,body.view-mode #detail-panel .entry-actions,body.view-mode #detail-panel .panel-chat-body,body.view-mode #cartographer-panel{display:none!important}body.view-mode #detail-panel .panel-name,body.view-mode #app-title,body.view-mode #detail-panel .panel-meta-item,body.view-mode #detail-panel .panel-tag{pointer-events:none;cursor:default}.cost-ring{width:16px;height:16px;flex-shrink:0;cursor:help}.cost-ring-bg{fill:none;stroke:var(--ink-10);stroke-width:3}.cost-ring-fg{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .3s ease;transform:rotate(-90deg);transform-origin:center}.cost-ring-fg.warn{stroke:#c0a040}.cost-ring-fg.danger{stroke:#c0392b}#util-created-at{font-size:10px;color:var(--color-text-faint);font-family:inherit;letter-spacing:.2px;white-space:nowrap}.lib-card-fork-chip{display:inline-flex;align-items:center;padding:1px 6px;background:rgba(var(--accent-rgb),.1);color:var(--accent);font-size:9px;font-weight:700;letter-spacing:.3px;border-radius:2px;cursor:pointer;margin-left:auto;transition:background .15s ease}.lib-card-fork-chip:hover{background:rgba(var(--accent-rgb),.18)}.lib-card-forked-from{font-size:10px;color:var(--color-text-faint);margin-top:2px;font-style:italic;cursor:pointer}.lib-card-forked-from:hover{color:var(--color-text);text-decoration:underline}.lib-fork-list{margin-top:8px;padding:6px 8px;background:var(--ink-04);border-radius:3px;font-size:11px}.lib-fork-list-entry{padding:3px 0;color:var(--color-text-tertiary);cursor:pointer;border-bottom:1px solid var(--ink-06)}.lib-fork-list-entry:last-child{border-bottom:none}.lib-fork-list-entry:hover{color:var(--color-text)}#lineage-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--color-backdrop);align-items:center;justify-content:center}#lineage-overlay.open{display:flex}#lineage-modal{position:relative;width:460px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow-y:auto;background:var(--color-modal);border:1px solid var(--ink-10);border-radius:3px;padding:32px}#lineage-list{display:flex;flex-direction:column;gap:1px;background:var(--ink-06);border-radius:3px;overflow:hidden;margin-top:12px}.lineage-row{background:var(--color-modal);padding:10px 14px;cursor:pointer;transition:background .15s ease}.lineage-row:hover:not(.disabled){background:var(--ink-04)}.lineage-row.disabled{cursor:not-allowed;opacity:.55}.lineage-row-title{font-size:13px;font-weight:600;color:var(--color-text)}.lineage-row-author{font-size:11px;color:var(--color-text-faint);margin-top:2px}.lineage-row-depth{display:inline-block;padding:1px 5px;background:var(--ink-06);color:var(--color-text-faint);font-size:9px;font-weight:700;border-radius:2px;margin-right:6px}#info-overlay,#cost-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--color-backdrop);align-items:center;justify-content:center}#info-overlay.open,#cost-overlay.open{display:flex}#info-modal,#cost-modal{position:relative;width:460px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow-y:auto;background:var(--color-modal);border:1px solid var(--ink-10);border-radius:3px;padding:32px;font-family:inherit}.info-row{display:grid;grid-template-columns:80px 1fr;gap:10px;padding:7px 0;border-bottom:1px solid var(--ink-06);font-size:12px}.info-row:last-of-type{border-bottom:none}.info-label{color:var(--color-text-faint);font-size:10px;text-transform:uppercase;letter-spacing:.6px;padding-top:2px}.info-h3{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-faint);margin:18px 0 8px}#info-journey-list{margin:0;padding:0;list-style:none;counter-reset:journey-step}#info-journey-list li{counter-increment:journey-step;padding:5px 0 5px 28px;font-size:12px;position:relative;border-bottom:1px solid var(--ink-06)}#info-journey-list li:last-child{border-bottom:none}#info-journey-list li:before{content:counter(journey-step);position:absolute;left:0;top:5px;width:20px;text-align:right;font-size:10px;color:var(--color-text-faint);font-variant-numeric:tabular-nums}#info-journey-list .journey-dates{font-size:10px;color:var(--color-text-faint);margin-left:6px}.cost-section{margin-top:16px}.cost-section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.cost-section-head>span:first-child{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-faint)}.cost-section-head>span:last-child{font-size:12px;font-weight:500;color:var(--color-text);font-variant-numeric:tabular-nums}.cost-bar{height:4px;background:var(--ink-05);border-radius:2px;overflow:hidden}.cost-section-note{margin:4px 0 0!important;font-size:10px!important;color:var(--color-text-faint)!important;line-height:1.4!important}.cost-bar-fill{height:100%;width:0%;background:var(--accent);transition:width .3s ease,background .3s ease}.cost-bar-fill.warn{background:#b8941f}.cost-bar-fill.danger{background:#c0392b}.cost-ring{cursor:pointer}body.view-mode #ask-all-input{pointer-events:none;background:var(--ink-04);color:var(--color-text-faint);cursor:not-allowed}body.view-mode #ask-all-btn,body.view-mode #ask-all-clear-btn{display:none!important}body.view-mode #ask-all-history-btn{display:inline-block!important}body.view-mode #app-title{pointer-events:auto;cursor:pointer}.side-new-map-btn{display:block;width:100%;margin-bottom:8px;padding:6px 10px;background:none;border:1px dashed rgba(var(--accent-rgb),.3);color:rgba(var(--accent-rgb),.6);border-radius:2px;font-size:10px;font-weight:500;letter-spacing:.2px;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease;font-family:inherit;text-align:center}.side-new-map-btn:hover{border-color:rgba(var(--accent-rgb),.5);color:var(--accent);background:rgba(var(--accent-rgb),.04)}#auth-overlay .auth-close{display:none!important}
