@import "https://fonts.googleapis.com/css2?family=Cal+Sans&family=Lexend:wght@300;400;500;600;700&display=swap";@font-face{font-family:POI Aeronaut;src:url(/fonts/POIAeronaut-Regular.woff2)format("woff2"),url(/fonts/POIAeronaut-Regular.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}:root{--bg-primary:#031012;--bg-secondary:#07171a;--bg-elevated:#0d2124;--bg-card:#ffffff0c;--bg-hover:#ffffff12;--bg-inset:#0000002e;--border:#ffffff16;--border-subtle:#ffffff0f;--border-strong:#ffffff26;--text-primary:#edf2f1;--text-secondary:#c2ced0;--text-muted:#8ea1a4;--text-inverse:#031012;--accent:#ff9248;--accent-hover:#ffab6e;--accent-dim:#ff924824;--accent-glow:#ff924847;--danger:#f47070;--danger-dim:#f4707024;--success:#5ae892;--success-dim:#5ae89224;--warning:#f5b042;--warning-dim:#f5b04224;--node-character:#c48dff;--node-location:#6db3ff;--node-faction:#ff9f43;--node-religion:#fbbf24;--node-event:#ff7b7b;--node-polity:#e879a8;--node-thing:#5aeea0;--radius:8px;--radius-lg:14px;--radius-xl:20px;--radius-pill:100px;--shadow-sm:0 1px 3px #0000004d;--shadow:0 4px 16px #00000059;--shadow-lg:0 8px 32px #00000073;--shadow-glow:0 0 20px var(--accent-glow);--ease:cubic-bezier(.22, 1, .36, 1);--transition:.18s var(--ease);--transition-slow:.3s var(--ease)}[data-theme=light]{--bg-primary:#eef2f3;--bg-secondary:#e3eaec;--bg-elevated:#fff;--bg-card:#0000000a;--bg-hover:#0000000f;--bg-inset:#00000012;--border:#0000001a;--border-subtle:#0000000f;--border-strong:#00000029;--text-primary:#0d1a1c;--text-secondary:#2e4a4e;--text-muted:#6b8a8f;--text-inverse:#fff;--accent:#d9721e;--accent-hover:#e8832b;--accent-dim:#d9721e1f;--accent-glow:#d9721e38;--danger:#c0392b;--danger-dim:#c0392b1a;--success:#27ae60;--success-dim:#27ae601f;--warning:#d68910;--warning-dim:#d689101f;--shadow-sm:0 1px 3px #0000001a;--shadow:0 4px 16px #0000001f;--shadow-lg:0 8px 32px #00000029;--shadow-glow:0 0 20px var(--accent-glow)}[data-theme=light] body{background:radial-gradient(circle at 82% 8%,#d9721e0f,#0000 18%),radial-gradient(circle at 12% 22%,#7191960d,#0000 18%),linear-gradient(#eef2f3 0%,#e8eef0 100%)}[data-theme=light] .node-palette-btn:not(.active):hover,[data-theme=light] .toolbar-tool-btn:not(.active):hover{background:var(--bg-hover)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 82% 8%,#ff924812,#0000 18%),radial-gradient(circle at 12% 22%,#7191960f,#0000 18%),linear-gradient(#031012 0%,#041114 100%);font-family:Lexend,system-ui,sans-serif;font-size:14px;line-height:1.55}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff2e}h1,h2,h3{letter-spacing:-.02em;color:var(--text-primary);font-family:Cal Sans,Lexend,system-ui,sans-serif;font-weight:400;line-height:.96}h4,h5,h6{letter-spacing:-.01em;color:var(--text-primary);font-weight:600}h1{font-size:32px;line-height:1.2}h2{font-size:20px;line-height:1.3}h3{font-size:16px;line-height:1.4}.font-display{letter-spacing:.04em;font-family:POI Aeronaut,Inter,sans-serif}button{cursor:pointer;color:inherit;font:inherit;background:0 0;border:none}.btn{border-radius:var(--radius);letter-spacing:.01em;transition:all var(--transition);white-space:nowrap;align-items:center;gap:8px;padding:10px 20px;font-size:13px;font-weight:500;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--accent-hover);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn-secondary{background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-hover);border-color:#ffffff38}.btn-danger{background:var(--danger-dim);color:var(--danger);border:1px solid #f4707040}.btn-danger:hover{background:#f4707038}.btn-ghost{color:var(--text-secondary);background:0 0;padding:8px 12px}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-hover)}.btn-sm{padding:6px 12px;font-size:12px}.btn-icon{border-radius:var(--radius);color:var(--text-secondary);transition:all var(--transition);padding:8px}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon.active{background:var(--accent-dim);color:var(--accent)}.field-remove-btn.btn-icon{border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;padding:3px;display:flex}input,textarea,select{background:var(--bg-inset);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text-primary);font:inherit;transition:border-color var(--transition), box-shadow var(--transition);outline:none;width:100%;padding:10px 14px;font-size:13px}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}input::placeholder,textarea::placeholder{color:var(--text-muted)}textarea{resize:vertical;min-height:80px}select{cursor:pointer}label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.app-layout{background:var(--bg-primary);width:100vw;height:100vh;display:flex}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);flex-direction:column;width:272px;min-width:272px;display:flex;overflow:hidden}.main-content{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.campaign-select{background:0 0;flex-direction:column;justify-content:center;align-items:center;height:100vh;padding:48px;display:flex}.campaign-select .splash-logo{filter:drop-shadow(0 0 24px #ff924838);width:440px;max-width:90vw;height:auto;margin-bottom:24px;animation:4s ease-in-out infinite logoFloat}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.campaign-select h1{letter-spacing:-.02em;background:linear-gradient(135deg, var(--accent) 0%, #ffcba4 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:8px;font-family:Cal Sans,Lexend,system-ui,sans-serif;font-size:48px;font-weight:400}.campaign-select .subtitle{color:var(--text-secondary);letter-spacing:.14em;text-transform:uppercase;margin-bottom:48px;font-family:Lexend,system-ui,sans-serif;font-size:13px;font-weight:400}.campaign-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;width:100%;max-width:960px;display:grid}.campaign-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition);padding:28px;position:relative;overflow:hidden}.campaign-card:before{content:"";border-radius:inherit;opacity:0;transition:opacity var(--transition);background:linear-gradient(135deg, var(--accent-dim) 0%, transparent 60%);position:absolute;inset:0}.campaign-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-3px)}.campaign-card:hover:before{opacity:1}.campaign-card h3{margin-bottom:8px;font-size:18px;position:relative}.campaign-card p{color:var(--text-secondary);font-size:14px;line-height:1.5;position:relative}.campaign-card .meta{color:var(--text-muted);margin-top:16px;font-size:12px;position:relative}.new-campaign-card{border-style:dashed;border-color:var(--border-strong);color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:160px;font-weight:500;display:flex}.new-campaign-card:before{display:none}.new-campaign-card:hover{color:var(--accent);border-color:var(--accent)}.toolbar{background:var(--bg-secondary);border-bottom:1px solid var(--border);z-index:100;flex-shrink:0;align-items:center;gap:4px;min-height:44px;padding:6px 12px;display:flex;position:relative;overflow:visible}.toolbar::-webkit-scrollbar{height:4px}.toolbar::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:2px}.toolbar-spacer{flex:1;min-width:8px}.toolbar-divider{background:var(--border-strong);flex-shrink:0;width:1px;height:24px;margin:0 2px}.toolbar-brand{border-radius:var(--radius);cursor:pointer;transition:all var(--transition);align-items:center;gap:6px;padding:4px 6px;display:flex}.toolbar-brand:hover{background:var(--bg-hover)}.toolbar-logo{opacity:.88;width:auto;height:28px;transition:opacity var(--transition)}.toolbar-brand:hover .toolbar-logo{opacity:1}.breadcrumb{align-items:center;gap:2px;font-size:13px;display:flex}.breadcrumb-item{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-pill);transition:all var(--transition);padding:4px 10px}.breadcrumb-item:hover{color:var(--text-primary);background:var(--bg-hover)}.breadcrumb-item.active{color:var(--text-primary);background:var(--bg-elevated);font-weight:600}.breadcrumb-sep{color:var(--text-muted);font-size:11px}.detail-panel{background:var(--bg-secondary);border-left:1px solid var(--border);width:420px;min-width:420px;animation:slideIn .25s var(--ease);z-index:70;flex-direction:column;display:flex;position:relative;overflow-y:auto}@keyframes slideIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes slideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(24px)}}.detail-hero{aspect-ratio:16/7;background:var(--bg-elevated);cursor:pointer;flex-shrink:0;width:100%;position:relative;overflow:hidden}.detail-hero img{object-fit:cover;width:100%;height:100%}.detail-hero .hero-overlay{background:linear-gradient(#0000 40%,#000000b3 100%);position:absolute;inset:0}.detail-hero .hero-count{color:#fff;border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000a6;padding:3px 10px;font-size:11px;font-weight:600;position:absolute;bottom:10px;right:12px}.detail-hero-empty{color:var(--text-muted);background:var(--bg-elevated);border-bottom:1px solid var(--border);cursor:pointer;transition:all var(--transition);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:32px 20px;font-size:12px;font-weight:500;display:flex}.detail-hero-empty:hover{color:var(--accent);background:var(--bg-hover)}.detail-header{border-bottom:1px solid var(--border);background:var(--bg-elevated);align-items:center;gap:14px;padding:18px 24px;display:flex}.detail-header .type-badge{text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-pill);padding:3px 10px;font-size:10px;font-weight:600}.detail-body{flex-direction:column;gap:18px;padding:20px 24px;display:flex}.field-group{flex-direction:column;gap:8px;display:flex}.image-album-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1100;animation:fadeIn .2s var(--ease);background:#000000e0;flex-direction:column;display:flex;position:fixed;inset:0}.image-album-header{color:#fff;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.image-album-header h3{color:#fff;font-size:16px;font-weight:600}.image-album-main{flex:1;justify-content:center;align-items:center;min-height:0;padding:20px;display:flex}.image-album-main img{object-fit:contain;border-radius:var(--radius-lg);max-width:100%;max-height:100%;box-shadow:var(--shadow-lg)}.image-album-strip{justify-content:center;gap:8px;padding:12px 24px 20px;display:flex;overflow-x:auto}.image-album-thumb{border-radius:var(--radius);cursor:pointer;width:64px;height:64px;transition:all var(--transition);opacity:.5;border:2px solid #0000;flex-shrink:0;overflow:hidden}.image-album-thumb:hover{opacity:.8}.image-album-thumb.active{border-color:var(--accent);opacity:1}.image-album-thumb img{object-fit:cover;width:100%;height:100%}.image-album-nav{color:#fff;cursor:pointer;width:44px;height:44px;transition:all var(--transition);background:#ffffff1a;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.image-album-nav:hover{background:#fff3}.detail-image-row{gap:6px;padding:2px 0;display:flex;overflow-x:auto}.detail-image-row .image-thumb{border-radius:var(--radius);border:1px solid var(--border);cursor:pointer;width:56px;min-width:56px;height:56px;transition:all var(--transition);flex-shrink:0;position:relative;overflow:hidden}.detail-image-row .image-thumb:hover{border-color:var(--accent)}.detail-image-row .image-thumb img{object-fit:cover;width:100%;height:100%}.detail-image-row .image-thumb .remove-btn{color:var(--danger);opacity:0;width:18px;height:18px;transition:opacity var(--transition);background:#000000bf;border-radius:50%;justify-content:center;align-items:center;font-size:10px;display:flex;position:absolute;top:2px;right:2px}.detail-image-row .image-thumb:hover .remove-btn{opacity:1}.tag-list{flex-wrap:wrap;gap:6px;display:flex}.tag{border-radius:var(--radius-pill);cursor:pointer;transition:all var(--transition);border:1px solid;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-flex}.tag:hover{opacity:.85;transform:translateY(-1px)}.tag .remove{opacity:.5;transition:opacity var(--transition);font-size:14px;line-height:1}.tag .remove:hover{opacity:1}.tag-autocomplete{z-index:50;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius);max-height:200px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0006}.tag-autocomplete-item{cursor:pointer;justify-content:space-between;align-items:center;padding:6px 10px;font-size:13px;transition:background .1s;display:flex}.tag-autocomplete-item:hover,.tag-autocomplete-item.highlighted{background:var(--bg-hover)}.tag-ac-name{color:var(--text-primary)}.tag-ac-type{opacity:.7;flex-shrink:0;margin-left:8px;font-size:11px}.context-menu{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1000;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);min-width:220px;animation:contextIn .12s var(--ease);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;padding:6px;position:fixed}.context-menu::-webkit-scrollbar{width:6px}.context-menu::-webkit-scrollbar-track{background:0 0}.context-menu::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}@keyframes contextIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{border-radius:var(--radius);width:100%;color:var(--text-primary);text-align:left;transition:background var(--transition);align-items:center;gap:10px;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.context-menu-item:hover{background:var(--bg-hover)}.context-menu-item .ctx-shortcut{color:var(--text-muted);margin-left:auto;font-size:11px;font-weight:400}.context-menu-item.danger{color:var(--danger)}.context-menu-divider{background:var(--border);height:1px;margin:4px 0}.context-menu-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:6px 14px 4px;font-size:10px;font-weight:700}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:999;animation:fadeIn .2s var(--ease);background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-xl);min-width:440px;max-width:560px;box-shadow:var(--shadow-lg);animation:modalIn .25s var(--ease);padding:32px}@keyframes modalIn{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes viewSwitch{0%{opacity:0;transform:translateY(6px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes panelSlideIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes panelSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.view-enter{animation:viewSwitch .22s var(--ease) both}.modal h2{letter-spacing:-.02em;margin-bottom:20px;font-family:Cal Sans,Lexend,system-ui,sans-serif;font-size:20px;font-weight:400}.modal-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.type-character{color:var(--node-character);border-color:var(--node-character)}.type-location{color:var(--node-location);border-color:var(--node-location)}.type-faction{color:var(--node-faction);border-color:var(--node-faction)}.type-religion{color:var(--node-religion);border-color:var(--node-religion)}.type-event{color:var(--node-event);border-color:var(--node-event)}.type-polity{color:var(--node-polity);border-color:var(--node-polity)}.type-thing{color:var(--node-thing);border-color:var(--node-thing)}.image-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;display:grid}.image-thumb{aspect-ratio:1;border-radius:var(--radius);border:1px solid var(--border);cursor:pointer;transition:all var(--transition);position:relative;overflow:hidden}.image-thumb:hover{border-color:var(--border-strong);transform:scale(1.03)}.image-thumb img{object-fit:cover;width:100%;height:100%}.image-thumb .remove-btn{color:var(--danger);opacity:0;width:22px;height:22px;transition:opacity var(--transition);background:#000000bf;border-radius:50%;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;top:4px;right:4px}.image-thumb:hover .remove-btn{opacity:1}.sidebar-header{border-bottom:1px solid var(--border);padding:20px 24px}.sidebar-header h2{color:var(--text-primary);text-transform:none;letter-spacing:-.01em;font-size:16px;font-weight:600}.campaign-dropdown-trigger{border-radius:var(--radius);cursor:pointer;width:100%;transition:background var(--transition), border-color var(--transition);text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:6px 8px;display:flex}.campaign-dropdown-trigger:hover{background:var(--bg-hover);border-color:var(--border)}.campaign-dropdown-menu{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius);z-index:200;min-width:160px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 8px 24px #0006}.campaign-dropdown-item{cursor:pointer;width:100%;color:var(--text-secondary);text-align:left;transition:background var(--transition), color var(--transition);background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.campaign-dropdown-item:hover{background:var(--bg-hover);color:var(--text-primary)}.campaign-dropdown-item.active{color:var(--accent)}.campaign-dropdown-divider{background:var(--border);height:1px;margin:4px 0}.sidebar-section{padding:16px}.sidebar-section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;padding:0 8px;font-size:10px;font-weight:700}.map-list-item{border-radius:var(--radius);cursor:pointer;color:var(--text-secondary);transition:all var(--transition);align-items:center;gap:6px;padding:7px 8px;font-size:13px;font-weight:500;display:flex}.map-list-item:hover{background:var(--bg-hover);color:var(--text-primary)}.map-list-item.active{background:var(--accent-dim);color:var(--accent)}.map-breadcrumbs{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:2px;padding:6px 12px;font-size:11px;display:flex}.breadcrumb-sep{color:var(--text-muted);margin:0 4px}.breadcrumb-link{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:2px 4px;font-size:11px;transition:all .1s}.breadcrumb-link:hover{color:var(--text-primary);background:var(--bg-hover)}.breadcrumb-link.active{color:var(--accent);font-weight:600}.status-badge{border-radius:var(--radius-pill);letter-spacing:.02em;transition:all var(--transition);cursor:pointer;align-items:center;gap:4px;padding:4px 12px;font-size:11px;font-weight:600;display:inline-flex}.status-badge:hover{transform:scale(1.04)}.status-alive{background:var(--success-dim);color:var(--success)}.status-dead{background:var(--danger-dim);color:var(--danger)}.status-hidden{color:var(--text-muted);background:#727d942e}.status-revealed{background:var(--accent-dim);color:var(--accent)}.status-staged{color:var(--text-muted);background:#8890a01f;border:1px solid #8890a04d}.node-palette{background:var(--bg-elevated);border-radius:var(--radius);gap:2px;padding:3px;display:flex}.node-palette-btn{color:var(--text-secondary);transition:all var(--transition);cursor:pointer;white-space:nowrap;border-radius:6px;flex-shrink:0;align-items:center;gap:5px;padding:6px 8px;font-size:12px;font-weight:600;display:flex}.node-palette-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.node-palette-btn.active{background:var(--accent-dim);color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.node-palette-btn svg{font-size:18px}.node-palette-btn.condensed .toolbar-tool-label{display:none}.toolbar-tool-btn{border-radius:var(--radius-pill);color:var(--text-secondary);transition:all var(--transition);cursor:pointer;white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;padding:6px 8px;font-size:12px;font-weight:500;display:flex}.toolbar-tool-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.toolbar-tool-btn.active{background:var(--accent-dim);color:var(--accent)}.toolbar-tool-btn.condensed .toolbar-tool-label{display:none}.toolbar-tool-btn.overflow-has-active{color:var(--accent);position:relative}.toolbar-tool-btn.overflow-has-active:after{content:"";background:var(--accent);width:5px;height:5px;box-shadow:0 0 4px var(--accent-glow);border-radius:50%;position:absolute;top:4px;right:4px}.overflow-tray{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius);z-index:2100;flex-direction:column;gap:10px;min-width:200px;padding:12px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 32px #00000080}.overflow-tray-group-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:0 2px;font-size:9px;font-weight:700}.overflow-tray-grid{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.overflow-tray-tile{border-radius:var(--radius);cursor:pointer;color:var(--text-secondary);transition:background var(--transition), color var(--transition), border-color var(--transition);text-align:center;white-space:nowrap;background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 4px;font-size:10px;display:flex}.overflow-tray-tile:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border)}.overflow-tray-tile.active{background:var(--accent-dim);color:var(--accent);border-color:#ff92484d}.toggle-btn{border-radius:var(--radius-pill);color:var(--text-secondary);transition:all var(--transition);white-space:nowrap;border:1px solid #0000;flex-shrink:0;align-items:center;gap:5px;padding:6px 10px;font-size:12px;font-weight:500;display:flex}.toggle-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.toggle-btn.on{color:var(--accent);background:var(--accent-dim);border-color:#ff92484d}.connection-indicator{background:var(--bg-elevated);border:1px solid var(--accent);border-radius:var(--radius-pill);color:var(--accent);z-index:100;box-shadow:var(--shadow-glow), var(--shadow);animation:fadeUp .2s var(--ease);align-items:center;gap:12px;padding:10px 24px;font-size:13px;font-weight:500;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes fadeUp{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.connection-detail-panel{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);z-index:50;width:260px;animation:slideIn .2s var(--ease);position:absolute;bottom:16px;right:16px;overflow:hidden;box-shadow:0 8px 32px #00000080}.connection-detail-header{border-bottom:1px solid var(--border);background:var(--bg-secondary);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.connection-detail-body{flex-direction:column;gap:4px;padding:10px 12px;display:flex}.connection-detail-body input[type=text],.connection-detail-body input:not([type]){background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);padding:4px 8px}.connection-detail-body input[type=range]{accent-color:var(--accent)}.search-overlay{z-index:200;width:480px;max-width:90vw;animation:slideIn .2s var(--ease);position:fixed;top:80px;left:50%;transform:translate(-50%)}.search-overlay-bar{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);align-items:center;gap:8px;padding:10px 16px;display:flex;box-shadow:0 12px 40px #0009}.search-overlay-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:15px}.search-overlay-results{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);max-height:400px;margin-top:4px;padding:8px 0;overflow-y:auto;box-shadow:0 12px 40px #0009}.search-empty{text-align:center;color:var(--text-muted);padding:16px;font-size:13px}.search-count{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:4px 16px 8px;font-size:11px}.search-result-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;flex-wrap:nowrap;align-items:center;gap:6px;padding:7px 16px;font-size:13px;transition:background .1s;display:flex;overflow:hidden}.search-result-item:hover{background:var(--bg-hover)}.search-result-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.search-result-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.search-result-type{opacity:.6;white-space:nowrap;flex-shrink:0;font-size:11px}.search-result-staging{letter-spacing:.04em;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);white-space:nowrap;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:10px;font-weight:600}.search-result-breadcrumb{flex-shrink:0;align-items:center;gap:2px;max-width:55%;display:flex;overflow:hidden}.search-breadcrumb-segment{align-items:center;gap:2px;min-width:0;display:flex}.search-breadcrumb-sep{color:var(--text-muted);opacity:.5;flex-shrink:0}.search-breadcrumb-node{opacity:.75;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:3px;max-width:80px;padding:0 2px;font-size:11px;font-weight:500;transition:opacity .1s,background .1s;overflow:hidden}.search-breadcrumb-node:hover{opacity:1;background:#ffffff14}.staging-panel{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);z-index:50;width:360px;max-height:320px;animation:fadeUp .2s var(--ease);flex-direction:column;display:flex;position:fixed;bottom:16px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 32px #00000080}.staging-panel-header{border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;align-items:center;gap:8px;padding:10px 12px;display:flex}.staging-panel-body{flex:1;overflow-y:auto}.staging-card{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:6px 12px;transition:background .1s;display:flex}.staging-card:hover{background:var(--bg-hover)}.staging-card-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.staging-card-info{cursor:pointer;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.staging-card-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.staging-card-type{opacity:.6;flex-shrink:0;font-size:11px}.empty-state{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 20px;font-size:13px;display:flex}.empty-state svg{opacity:.4}.split-divider{background:var(--border);flex-shrink:0;width:1px}.card-panel{background:var(--bg-secondary);border-left:1px solid var(--border);width:420px;min-width:420px;animation:slideIn .25s var(--ease);z-index:70;flex-direction:column;display:flex;position:relative;overflow:hidden}.card-panel-header{border-bottom:1px solid var(--border);flex-direction:column;gap:12px;padding:16px 20px;display:flex}.card-panel-search{background:var(--bg-inset);border:1px solid var(--border-strong);border-radius:var(--radius-pill);color:var(--text-muted);transition:border-color var(--transition);align-items:center;gap:8px;padding:8px 14px;display:flex}.card-panel-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.card-panel-search input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:0;font-size:13px}.card-panel-search input:focus{box-shadow:none}.card-panel-filters{flex-wrap:wrap;gap:4px;display:flex}.card-filter-chip{border-radius:var(--radius-pill);color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border);transition:all var(--transition);cursor:pointer;padding:5px 12px;font-size:11px;font-weight:600}.card-filter-chip:hover{color:var(--text-primary);border-color:var(--border-strong)}.card-filter-chip.active{color:var(--accent);background:var(--accent-dim);border-color:#ff92484d}.card-panel-body{flex-direction:column;flex:1;gap:10px;padding:12px 16px;display:flex;overflow-y:auto}@keyframes cardIn{0%{opacity:0;transform:translateY(6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes popIn{0%{opacity:0;transform:scale(.7)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.node-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition);animation:cardIn .2s var(--ease) both;flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.node-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.node-card.selected{box-shadow:var(--shadow), 0 0 0 1px var(--border-strong);transform:translateY(-2px)}.node-card-image{object-fit:cover;border-bottom:1px solid var(--border-subtle);width:100%;height:80px}.node-card-inner{border-left:3px solid #0000;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.node-card-header{align-items:flex-start;gap:12px;display:flex}.node-card-icon{border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.node-card-title{flex:1;min-width:0}.node-card-name{color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.3;display:block}.node-card-type{text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.node-card-status{flex-shrink:0;gap:4px;display:flex}.node-card-desc{color:var(--text-secondary);font-size:12px;line-height:1.5}.node-card-chiplets{flex-wrap:wrap;gap:4px;margin-bottom:2px;display:flex}.rel-chiplet{border-radius:var(--radius-pill);font-size:10px;font-weight:600;line-height:1.3;font-family:var(--font-body);letter-spacing:.01em;border:1px solid;align-items:center;gap:4px;padding:2px 7px 2px 5px;display:inline-flex}.node-card-tags{flex-wrap:wrap;gap:4px;display:flex}.node-card-drill{color:var(--accent);background:var(--accent-dim);border-radius:var(--radius-pill);transition:all var(--transition);cursor:pointer;border:1px solid #ff924838;align-self:flex-start;align-items:center;gap:6px;padding:4px 14px;font-size:12px;font-weight:500;display:inline-flex}.node-card-drill:hover{background:#ff924838}.map-legend{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);z-index:50;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:140px;animation:fadeIn .2s var(--ease);flex-direction:column;gap:6px;padding:12px 16px;display:flex}.map-legend-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-size:10px;font-weight:700}.map-legend-item{color:var(--text-primary);align-items:center;gap:10px;font-size:12px;font-weight:500;display:flex}.map-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.map-depth-banner{z-index:60;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeIn .18s var(--ease);pointer-events:auto;white-space:nowrap;background:#041114e0;border:1px solid #ffffff1f;border-radius:24px;align-items:center;gap:10px;max-width:calc(100% - 48px);padding:5px 14px 5px 6px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #00000073}.map-depth-back{color:var(--text-secondary);cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:18px;flex-shrink:0;padding:3px 10px;font-size:11px;font-weight:600;transition:background .12s,color .12s}.map-depth-back:hover{color:var(--text-primary);background:#ffffff24}.map-depth-crumbs{align-items:center;gap:2px;font-size:12px;display:flex;overflow:hidden}.map-depth-crumb-item{align-items:center;gap:2px;min-width:0;display:flex}.map-depth-sep{color:var(--text-muted);flex-shrink:0;padding:0 2px;font-size:12px}.map-depth-crumb{color:var(--text-secondary);cursor:pointer;text-overflow:ellipsis;border-radius:4px;max-width:140px;padding:1px 4px;font-size:12px;font-weight:500;transition:color .12s,background .12s;overflow:hidden}.map-depth-crumb:hover{color:var(--text-primary);background:#ffffff12}.map-depth-crumb.active{color:var(--text-primary);cursor:default;font-weight:600}.map-depth-crumb.active:hover{background:0 0}.settings-panel{background:var(--bg-secondary);border:1px solid var(--border-strong);border-radius:var(--radius-xl);width:780px;max-width:90vw;height:560px;max-height:85vh;box-shadow:var(--shadow-lg);animation:modalIn .25s var(--ease);display:flex;overflow:hidden}.settings-sidebar{background:var(--bg-primary);border-right:1px solid var(--border);flex-direction:column;width:220px;min-width:220px;display:flex}.settings-sidebar-header{justify-content:space-between;align-items:center;padding:20px 20px 16px;display:flex}.settings-sidebar-header h2{font-size:16px;font-weight:600}.settings-sidebar-list{flex-direction:column;gap:2px;padding:0 12px;display:flex}.settings-nav-item{border-radius:var(--radius);color:var(--text-secondary);transition:all var(--transition);text-align:left;align-items:center;gap:10px;width:100%;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.settings-nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.settings-nav-item.active{background:var(--accent-dim);color:var(--accent)}.settings-content{background:var(--bg-secondary);flex:1;overflow-y:auto}.settings-pane{animation:panelSlideIn .18s var(--ease) both;flex-direction:column;gap:24px;padding:28px 32px;display:flex}.settings-pane-header{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding-bottom:20px;display:flex}.settings-pane-header h3{font-size:18px;font-weight:500;line-height:1.3}.settings-pane-header p{color:var(--text-secondary);margin-top:2px;font-size:13px}.settings-pane-header svg{color:var(--accent);flex-shrink:0}.settings-section{flex-direction:column;gap:10px;display:flex}.settings-section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;padding-left:2px;font-size:11px;font-weight:600;line-height:1.6}.settings-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:4px 0}.settings-card-body{flex-direction:column;gap:14px;padding:14px 18px;display:flex}.settings-row-deep{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.settings-row-deep:last-child{border-bottom:none}.settings-row-label{color:var(--text-primary);font-size:13px;font-weight:500;display:block}.settings-row-desc{color:var(--text-muted);margin-top:2px;font-size:12px;display:block}.segmented-control{background:var(--bg-inset);border-radius:var(--radius-pill);border:1px solid var(--border);padding:3px;display:flex}.segmented-option{border-radius:var(--radius-pill);color:var(--text-muted);transition:all var(--transition);cursor:pointer;white-space:nowrap;padding:5px 16px;font-size:12px;font-weight:500}.segmented-option:hover{color:var(--text-secondary)}.segmented-option.active{background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--shadow-sm)}.settings-toggle-switch{background:var(--bg-hover);border:1px solid var(--border-strong);width:40px;height:22px;transition:all var(--transition);cursor:pointer;border-radius:11px;flex-shrink:0;position:relative}.settings-toggle-switch.on{background:var(--accent);border-color:var(--accent)}.settings-toggle-knob{width:16px;height:16px;transition:transform var(--transition);box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.settings-toggle-switch.on .settings-toggle-knob{transform:translate(18px)}.legend-entry-row{border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;padding:10px 18px;display:flex}.legend-entry-row:last-child{border-bottom:none}.legend-swatch{border-radius:6px;flex-shrink:0;width:20px;height:20px}.legend-meaning-input{color:var(--text-primary);transition:border-color var(--transition);background:0 0;border:none;border-bottom:1px solid #0000;outline:none;flex:1;padding:4px 0;font-size:13px}.legend-meaning-input:focus{border-bottom-color:var(--accent);box-shadow:none}.legend-add-row{border-top:1px solid var(--border-subtle);padding:14px 18px}.legend-color-picker{flex-wrap:wrap;gap:6px;display:flex}.legend-color-dot{cursor:pointer;width:20px;height:20px;transition:all var(--transition);border:2px solid #0000;border-radius:50%}.legend-color-dot:hover{transform:scale(1.15)}.legend-color-dot.active{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-secondary)}.settings-type-row{border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;padding:12px 18px;font-size:13px;display:flex}.settings-type-row:last-child{border-bottom:none}.settings-type-dot{background:currentColor;border-radius:50%;width:10px;height:10px}.kanban-view{flex:1;gap:16px;min-height:0;padding:16px;display:flex;overflow-x:auto}.kanban-column{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;flex-shrink:0;width:240px;min-width:240px;display:flex;overflow:hidden}.kanban-column-header{border-bottom:1px solid var(--border);letter-spacing:-.01em;align-items:center;gap:10px;padding:14px 16px;font-family:Cal Sans,Lexend,system-ui,sans-serif;font-size:14px;font-weight:400;display:flex}.kanban-column-header .dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.kanban-column-header .count{color:var(--text-muted);background:var(--bg-elevated);border-radius:var(--radius-pill);margin-left:auto;padding:1px 8px;font-size:11px;font-weight:500}.kanban-column-body{flex-direction:column;flex:1;gap:6px;padding:8px;display:flex;overflow-y:auto}.kanban-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius);color:var(--text-primary);cursor:grab;transition:all var(--transition);align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:500;display:flex}.kanban-card:hover{border-color:var(--border-strong);background:var(--bg-hover)}.kanban-card.dragging{opacity:.5;transform:rotate(2deg)}.kanban-card .mini-icon{border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.kanban-unassigned{color:var(--text-muted);font-style:italic;font-weight:400}.import-modal{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-xl);min-width:620px;max-width:720px;max-height:80vh;box-shadow:var(--shadow-lg);animation:modalIn .25s var(--ease);flex-direction:column;padding:0;display:flex;overflow:hidden}.import-modal-header{justify-content:space-between;align-items:center;padding:24px 28px 16px;display:flex}.import-modal-header h2{letter-spacing:-.02em;font-family:Cal Sans,Lexend,system-ui,sans-serif;font-weight:400}.import-modal-body{flex-direction:column;flex:1;gap:16px;padding:0 28px 24px;display:flex;overflow-y:auto}.import-preview{background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);white-space:pre-wrap;max-height:200px;padding:16px;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.6;overflow-y:auto}.import-preview .node-preview{color:var(--text-primary);font-weight:600}.import-results{flex-direction:column;gap:6px;display:flex}.import-result-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.import-result-item .dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.sidebar-toggle{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius) 0 0 var(--radius);cursor:pointer;width:28px;height:44px;transition:all var(--transition);z-index:10;border-left:none;justify-content:center;align-items:center;padding:6px;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.sidebar-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar{z-index:80;transition:all var(--transition-slow);position:relative}.sidebar-collapsed{width:36px;min-width:36px}.sidebar-collapsed .sidebar-header,.sidebar-collapsed .sidebar-section{display:none}.custom-select-wrap{width:100%}.custom-select-trigger{background:var(--bg-inset);border:1px solid var(--border-strong);border-radius:var(--radius);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;transition:border-color var(--transition), box-shadow var(--transition);justify-content:space-between;align-items:center;gap:8px;min-height:38px;padding:8px 12px;font-family:inherit;font-size:13px;display:flex}.custom-select-trigger:hover:not(:disabled){border-color:var(--accent)}.custom-select-trigger:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.custom-select-trigger:disabled{opacity:.5;cursor:not-allowed}.custom-select-placeholder{color:var(--text-muted);flex:1}.custom-select-value{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.custom-select-dropdown{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius);z-index:2000;max-height:min(260px,50vh);animation:fadeIn .1s var(--ease);position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 32px #00000080}.custom-select-option{color:var(--text-primary);cursor:pointer;border-radius:0;padding:9px 14px;font-size:13px;transition:background .1s}.custom-select-option:first-child{border-radius:var(--radius) var(--radius) 0 0}.custom-select-option:last-child{border-radius:0 0 var(--radius) var(--radius)}.custom-select-option:only-child{border-radius:var(--radius)}.custom-select-option:hover{background:var(--bg-hover);color:var(--text-primary)}.custom-select-option.selected{background:var(--accent-dim);color:var(--accent);font-weight:500}.map-corner-stack{z-index:80;pointer-events:none;flex-direction:column-reverse;align-items:flex-start;gap:8px;display:flex;position:absolute;bottom:16px;left:16px}.map-corner-stack>*{pointer-events:auto}.map-corner-stack .map-legend{animation:none;position:static;bottom:auto;left:auto}.territory-drag-grip{cursor:grab;opacity:.4;flex-shrink:0;transition:opacity .15s}.territory-drag-grip:hover{opacity:.8}.territory-drag-grip:active{cursor:grabbing;opacity:1}.territory-trigger-btn{background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text-secondary,#c2ced0);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:flex;box-shadow:0 4px 16px #00000059}.territory-trigger-btn:hover{background:var(--bg-elevated,#0d2124);color:#ff9248;border-color:#ff9248}.territory-trigger-btn svg{color:inherit;flex-shrink:0}.territory-toolbar{background:var(--bg-elevated);border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:fadeIn .15s var(--ease,ease);border-radius:12px;align-items:center;gap:12px;padding:8px 16px;display:flex;box-shadow:0 8px 32px #00000080}.territory-point-count{background:var(--accent-dim);color:var(--accent);border-radius:10px;padding:1px 6px;font-size:10px;font-weight:600}.territory-toolbar-header{color:var(--accent);white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.territory-point-count{color:var(--text-muted);background:var(--bg-inset);border-radius:8px;margin-left:4px;padding:2px 8px;font-size:11px;font-weight:400}.territory-toolbar-section{border-left:1px solid var(--border);align-items:center;gap:8px;padding-left:12px;display:flex}.territory-toolbar-label{color:var(--text-secondary);white-space:nowrap;font-size:12px}.territory-owner-select{background:var(--bg-inset);border:1px solid var(--border-strong);color:var(--text-primary);cursor:pointer;border-radius:8px;width:100%;min-width:160px;padding:6px 10px;font-size:13px}.territory-owner-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb,100, 120, 220), .2);outline:none}.territory-color-preview{border-radius:50%;flex-shrink:0;width:14px;height:14px}.territory-toolbar-actions{border-left:1px solid var(--border);align-items:center;gap:6px;padding-left:12px;display:flex}.btn-territory-finish{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:4px;padding:5px 12px;font-size:12px;font-weight:600;transition:opacity .15s;display:flex}.btn-territory-finish:hover:not(:disabled){opacity:.85}.btn-territory-finish:disabled{opacity:.4;cursor:not-allowed}.btn-territory-cancel{color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:4px;padding:5px 10px;font-size:12px;transition:color .15s,border-color .15s;display:flex}.btn-territory-cancel:hover{color:var(--danger);border-color:var(--danger)}.territory-overlap-picker{z-index:300;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:8px;min-width:180px;max-width:260px;padding:6px 4px;position:fixed;box-shadow:0 8px 24px #00000080}.territory-overlap-header{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:2px 10px 6px;font-size:10px;font-weight:600}.territory-overlap-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;padding:6px 10px;font-size:12.5px;transition:background .1s;display:flex}.territory-overlap-item:hover{background:#ffffff12}.territory-overlap-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.territory-overlap-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.territory-combine-bar{z-index:200;background:var(--bg-elevated);border:1px solid var(--border-strong);white-space:nowrap;border-radius:24px;align-items:center;gap:10px;padding:8px 14px;font-size:13px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000080}.territory-combine-label{color:var(--text-secondary)}.territory-combine-btn{color:#a78bfa;cursor:pointer;background:#a78bfa22;border:1px solid #a78bfa66;border-radius:14px;padding:4px 12px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s}.territory-combine-btn:hover{background:#a78bfa33;border-color:#a78bfa}.territory-combine-cancel{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:14px;line-height:1;transition:color .1s}.territory-combine-cancel:hover{color:var(--text-primary)}.territory-detail-panel{background:var(--bg-elevated);border:1px solid var(--border-strong);z-index:100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);min-width:300px;max-width:380px;animation:panelSlideUp .2s var(--ease) both;border-radius:14px;padding:0;position:fixed;bottom:80px;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #0009,0 2px 8px #0000004d}.territory-detail-header{border-bottom:1px solid var(--border-strong);background:var(--bg-surface);border-radius:14px 14px 0 0;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.territory-detail-title{color:var(--text-primary);align-items:center;gap:10px;font-size:14px;font-weight:700;display:flex}.territory-color-swatch{border-radius:4px;flex-shrink:0;width:16px;height:16px;box-shadow:0 1px 3px #0006}.territory-detail-body{flex-direction:column;gap:10px;padding:14px 16px 16px;display:flex}.territory-detail-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:700}.territory-owner-badge{color:var(--text-primary);background:var(--bg-inset);border:1px solid;border-radius:8px;align-items:center;gap:8px;width:fit-content;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.territory-detail-meta{color:var(--text-secondary);background:var(--bg-inset);border-radius:6px;gap:12px;padding:6px 10px;font-size:12px;display:flex}.btn-danger-sm{background:var(--danger-dim);color:var(--danger);cursor:pointer;border:1px solid #f470704d;border-radius:8px;align-self:flex-end;align-items:center;gap:6px;width:fit-content;padding:7px 14px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s;display:flex}.btn-danger-sm:hover{background:#f470704d;border-color:#f4707080}.territory-color-swatches{flex-shrink:0;grid-template-columns:repeat(5,20px);gap:4px;display:grid}.territory-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;outline:none;width:20px;height:20px;padding:0;transition:border-color .15s,transform .1s}.territory-swatch:hover{transform:scale(1.15)}.territory-swatch.active{box-shadow:0 0 0 1px var(--bg-primary);border-color:#fff}.territory-swatch-custom{color:var(--text-muted);border:1px dashed var(--border-strong);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.territory-swatch-custom:hover{color:var(--text-primary);border-color:var(--text-secondary)}.territory-color-input-hidden{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.kanban-move-prompt-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.kanban-move-prompt{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:12px;min-width:320px;max-width:400px;padding:20px 24px;box-shadow:0 12px 40px #0009}.kanban-move-prompt-title{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:8px;font-family:Cal Sans,Lexend,system-ui,sans-serif;font-size:18px;font-weight:400}.kanban-move-prompt-body{color:var(--text-secondary);margin-bottom:16px;font-size:13px;line-height:1.5}.kanban-move-prompt-actions{gap:8px;display:flex}.btn-kanban-move,.btn-kanban-copy{border:1px solid var(--border);cursor:pointer;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .15s;display:flex}.btn-kanban-move{background:var(--accent-dim);color:var(--accent);border-color:#ff924840}.btn-kanban-move:hover{background:#ff924838}.btn-kanban-copy{background:var(--success-dim);color:var(--success);border-color:#5ae89233}.btn-kanban-copy:hover{background:#5ae89240}.btn-kanban-cancel{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;padding:10px 12px;font-size:13px;transition:color .15s}.btn-kanban-cancel:hover{color:var(--text-primary)}.btn-sub{opacity:.7;font-size:10px;font-weight:400}.kanban-card-remove{cursor:pointer;color:var(--text-muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:2px 4px;transition:color .15s;display:flex}.kanban-card-remove:hover{color:var(--danger)}.pinterest-modal{background:var(--bg-secondary);border:1px solid var(--border-strong);border-radius:var(--radius-xl);width:880px;max-width:94vw;height:620px;max-height:90vh;box-shadow:var(--shadow-lg);animation:modalIn .22s var(--ease);flex-direction:column;display:flex;overflow:hidden}.pinterest-modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.pinterest-body{flex:1;min-height:0;display:flex;overflow:hidden}.pinterest-sidebar{background:var(--bg-primary);flex-direction:column;flex-shrink:0;gap:4px;width:220px;min-width:220px;padding:14px 12px;display:flex;overflow-y:auto}.pinterest-sidebar-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;padding:0 4px;font-size:10px;font-weight:700}.pinterest-board-row{border-radius:var(--radius);align-items:center;gap:4px;transition:background .1s;display:flex}.pinterest-board-row:hover,.pinterest-board-row.active{background:var(--bg-hover)}.pinterest-board-row.active{background:var(--accent-dim)}.pinterest-board-label{color:var(--text-secondary);cursor:pointer;text-align:left;border-radius:var(--radius);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;flex:1;align-items:center;gap:7px;padding:7px 8px;font-size:12px;font-weight:500;display:flex;overflow:hidden}.pinterest-board-row.active .pinterest-board-label{color:var(--accent)}.pinterest-board-label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pinterest-add-bar{border-top:1px solid var(--border-subtle);margin-top:auto;padding-top:14px}.pinterest-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.pinterest-count{color:var(--text-muted);border-bottom:1px solid var(--border-subtle);flex-shrink:0;padding:10px 16px;font-size:12px}.pinterest-grid{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:18px;padding:18px;display:grid;overflow-y:auto}.pinterest-img-btn{border:1px solid var(--border);cursor:pointer;background:var(--bg-elevated);border-radius:14px;justify-content:center;align-items:center;width:100%;min-height:320px;padding:14px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;overflow:hidden}.pinterest-img-btn:hover{border-color:var(--border-strong);z-index:1;transform:translateY(-2px);box-shadow:0 10px 24px #00000047}.pinterest-img-btn img{object-fit:contain;background:0 0;width:100%;height:100%;max-height:290px;display:block}.pinterest-empty{opacity:.5;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.pinterest-error{background:var(--danger-dim);border-radius:var(--radius);color:var(--danger);border:1px solid #f4707040;margin:16px;padding:12px 16px;font-size:13px;line-height:1.5}.pinterest-loading{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;display:flex}@keyframes pinterest-spin{to{transform:rotate(360deg)}}.pinterest-spinner{border:2px solid #fff3;border-top-color:currentColor;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite pinterest-spin;display:inline-block}.pinterest-spinner.large{border-width:3px;width:32px;height:32px}.advance-time-modal{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-xl);width:680px;max-width:94vw;max-height:88vh;animation:modalIn .2s var(--ease);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.advance-time-modal__header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 18px 14px;display:flex}.advance-time-modal__steps{border-bottom:1px solid var(--border-subtle);flex-shrink:0;align-items:center;gap:0;padding:14px 24px;display:flex}.time-step-indicator{flex:1;align-items:center;gap:6px;display:flex}.time-step-indicator:last-child{flex:none}.time-step-dot{border:1.5px solid var(--border-strong);background:var(--bg-secondary);width:22px;height:22px;color:var(--text-muted);transition:all .2s var(--ease);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex}.time-step-dot.active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.time-step-dot.done{border-color:var(--success);color:var(--success);background:#5ae89226}.time-step-label{color:var(--text-muted);white-space:nowrap;font-size:11px;transition:color .2s}.time-step-label.active{color:var(--text-primary);font-weight:500}.time-step-line{background:var(--border);flex:1;height:1px;margin:0 8px;transition:background .3s}.time-step-line.done{background:var(--success);opacity:.5}.advance-time-modal__body{flex:1;padding:20px 22px;overflow-y:auto}.time-step-content{flex-direction:column;gap:0;display:flex}.time-step-content--center{text-align:center;justify-content:center;align-items:center;min-height:180px}.time-step-description{color:var(--text-secondary);margin-bottom:18px;font-size:13px;line-height:1.5}.advance-time-modal__footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;display:flex}.timeframe-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;display:grid}.timeframe-btn{border-radius:var(--radius);border:1.5px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;text-align:center;transition:all .15s var(--ease);flex-direction:column;gap:4px;padding:12px 10px;display:flex}.timeframe-btn:hover{border-color:var(--border-strong);background:var(--bg-hover);color:var(--text-primary)}.timeframe-btn--active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.timeframe-btn__label{font-size:14px;font-weight:600;display:block}.timeframe-btn__desc{opacity:.75;font-size:10px;line-height:1.3;display:block}.volatility-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px;display:grid}.volatility-btn{border-radius:var(--radius);border:1.5px solid var(--border);background:var(--bg-card);cursor:pointer;text-align:center;transition:all .15s var(--ease);flex-direction:column;align-items:center;gap:6px;padding:14px 10px;display:flex}.volatility-btn:hover{border-color:var(--border-strong);background:var(--bg-hover)}.volatility-btn__label{color:var(--text-primary);font-size:13px;font-weight:600}.volatility-btn__desc{color:var(--text-muted);font-size:10px;line-height:1.3}.scenario-count-btn{border-radius:var(--radius);border:1.5px solid var(--border);background:var(--bg-card);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;font-size:16px;font-weight:600;transition:all .15s;display:flex}.scenario-count-btn:hover{border-color:var(--border-strong);background:var(--bg-hover);color:var(--text-primary)}.scenario-count-btn--active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.time-generating-spinner{border:3px solid #ff924833;border-top-color:var(--accent);border-radius:50%;width:48px;height:48px;animation:.9s linear infinite time-spin}@keyframes time-spin{to{transform:rotate(360deg)}}.time-step-content--review{min-height:0}.scenario-cards-list{flex-direction:column;gap:12px;margin-top:4px;display:flex}.scenario-card{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color .15s var(--ease), background .15s;padding:14px 16px}.scenario-card:hover{border-color:var(--border-strong);background:var(--bg-hover)}.scenario-card--selected{border-color:var(--accent);background:var(--accent-dim)}.scenario-card__header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.scenario-card__title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.scenario-card__summary{color:var(--text-secondary);margin:0 0 12px;font-size:12px;line-height:1.55}.scenario-volatility-badge{border-radius:var(--radius-pill);letter-spacing:.03em;text-transform:uppercase;border:1px solid;flex-shrink:0;padding:2px 7px;font-size:10px;font-weight:600}.scenario-changes-list{flex-direction:column;gap:3px;margin-top:4px;display:flex}.change-item{border-radius:var(--radius);background:var(--bg-inset);cursor:pointer;border:1px solid #0000;align-items:center;gap:8px;padding:6px 8px;transition:all .1s;display:flex}.change-item:hover{border-color:var(--border);background:var(--bg-hover)}.change-item--rejected{opacity:.45}.change-item__toggle{border:1.5px solid var(--border-strong);width:16px;height:16px;color:var(--text-muted);background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:all .1s;display:flex}.change-item__toggle--approved{background:var(--success-dim);border-color:var(--success);color:var(--success)}.change-item__title{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.change-item__dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.snapshot-sidebar{background:var(--bg-elevated);border-left:1px solid var(--border-strong);z-index:450;width:340px;animation:slideInRight .22s var(--ease);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.snapshot-sidebar__header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.snapshot-sidebar__body{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex:1;overflow-y:auto}.snapshot-sidebar__body::-webkit-scrollbar{width:4px}.snapshot-sidebar__body::-webkit-scrollbar-track{background:0 0}.snapshot-sidebar__body::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:2px}.snapshot-sidebar__footer{border-top:1px solid var(--border);flex-shrink:0;padding:10px 14px}.snapshot-sidebar__snap-form{border-bottom:1px solid var(--border);background:var(--bg-elevated);flex-direction:column;flex-shrink:0;gap:8px;padding:10px 14px 12px;display:flex}.snap-form-input{background:var(--bg-base);border:1px solid var(--border-strong);border-radius:var(--radius);width:100%;color:var(--text-primary);box-sizing:border-box;outline:none;padding:6px 10px;font-size:12px;transition:border-color .15s}.snap-form-input:focus{border-color:var(--accent)}.snap-form-textarea{background:var(--bg-base);border:1px solid var(--border-strong);border-radius:var(--radius);width:100%;color:var(--text-secondary);resize:none;box-sizing:border-box;outline:none;padding:6px 10px;font-family:inherit;font-size:11px;line-height:1.5;transition:border-color .15s}.snap-form-textarea:focus{border-color:var(--accent)}.widget-layer{pointer-events:none;z-index:60;position:absolute;inset:0;overflow:visible}.widget-shell{pointer-events:auto;touch-action:none;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg-elevated);-webkit-user-select:none;user-select:none;transform-origin:0 0;flex-direction:column;min-width:160px;transition:width .22s cubic-bezier(.34,1.56,.64,1),box-shadow .18s,transform .22s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;box-shadow:0 8px 32px #00000073,0 2px 8px #0000004d}.widget-shell.widget-minimized{border-radius:999px;min-width:0;max-width:300px;animation:.22s cubic-bezier(.34,1.56,.64,1) both widget-pill-pop;overflow:hidden;box-shadow:0 4px 16px #00000059}@keyframes widget-pill-pop{0%{opacity:.7;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes widget-squish{0%{transform:scaleX(1)scaleY(1)}35%{transform:scaleX(.92)scaleY(.88)}65%{transform:scaleX(1.04)scaleY(1.03)}to{transform:scaleX(1)scaleY(1)}}.widget-tabbar{border-radius:var(--radius) var(--radius) 0 0;border-bottom:1px solid var(--note-border,var(--border));cursor:grab;background:#0003;flex-shrink:0;align-items:center;gap:2px;min-height:34px;padding:4px 4px 0;display:flex}.widget-tabbar:active{cursor:grabbing}.widget-minimized .widget-tabbar{border-bottom:none;border-radius:0;min-height:0;padding:6px 10px}.widget-tabs-scroll{scrollbar-width:none;flex:1;align-items:flex-end;gap:2px;min-width:0;display:flex;overflow:auto visible}.widget-tabs-scroll::-webkit-scrollbar{display:none}.widget-tab{border-radius:var(--radius) var(--radius) 0 0;cursor:pointer;color:var(--text-muted);background:#ffffff0a;border:1px solid #0000;border-bottom:none;flex-shrink:0;align-items:center;gap:4px;max-width:120px;padding:4px 7px 5px;font-size:11px;transition:background .12s,color .12s;display:flex;position:relative;bottom:-1px}.widget-tab:hover{color:var(--text-secondary);background:#ffffff14}.widget-tab.active{background:var(--note-bg,var(--bg-elevated));border-color:var(--tab-border,var(--border));color:var(--text-primary);border-bottom-color:var(--note-bg,var(--bg-elevated))}.widget-tab-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.widget-tab-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.widget-tab-input{border:1px solid var(--accent);width:72px;color:var(--text-primary);background:#ffffff1a;border-radius:3px;outline:none;padding:0 3px;font-size:11px}.widget-tab-close{cursor:pointer;color:var(--text-muted);opacity:0;background:0 0;border:none;border-radius:3px;flex-shrink:0;padding:0 1px;font-size:13px;line-height:1;transition:opacity .1s,background .1s}.widget-tab:hover .widget-tab-close{opacity:.6}.widget-tab-close:hover{background:#ffffff1a;opacity:1!important}.widget-tab-add{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 5px;font-size:16px;line-height:1;transition:background .12s,color .12s}.widget-tab-add:hover{color:var(--text-primary);background:#ffffff14}.widget-tab-overflow-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:2px 4px;transition:background .12s,color .12s;display:flex}.widget-tab-overflow-btn:hover,.widget-tab-overflow-btn.active{color:var(--text-primary);background:#ffffff14}.widget-tab-overflow-menu{z-index:2300;background:#1c1f26;border:1px solid #ffffff1f;border-radius:6px;flex-direction:column;gap:1px;min-width:160px;max-width:220px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #00000080}.widget-tab-overflow-item{cursor:pointer;color:var(--text-secondary);text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:4px;align-items:center;gap:7px;padding:5px 8px;font-size:12px;transition:background .1s,color .1s;display:flex;overflow:hidden}.widget-tab-overflow-item:hover{color:var(--text-primary);background:#ffffff12}.widget-tab-overflow-item.active{color:var(--text-primary);background:#ffffff1a;font-weight:500}.widget-controls{flex-shrink:0;align-items:center;gap:1px;margin-left:2px;padding-bottom:4px;display:flex}.widget-ctrl-btn{cursor:pointer;color:var(--text-muted);transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:3px 5px;font-size:11px;line-height:1;display:flex}.widget-ctrl-btn:hover{color:var(--text-primary);background:#ffffff1a}.widget-ctrl-btn.active{color:var(--accent)}.widget-ctrl-btn.close:hover{color:#ef4444;background:#ef444433}.sticky-note-widget{background:var(--note-bg,#2d2700);border-color:var(--note-border,#f5c842)}.sticky-note-body{flex-direction:column;padding:4px;display:flex;overflow:hidden}.sticky-note-textarea{resize:none;width:100%;color:var(--note-text,#f5e89a);scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;background:0 0;border:none;outline:none;flex:1;padding:6px 8px;font-family:inherit;font-size:12.5px;line-height:1.6;overflow-y:auto}.sticky-note-textarea::placeholder{color:#ffffff40}.sn-format-bar{background:#0000002e;border-bottom:1px solid #ffffff14;flex-shrink:0;align-items:center;gap:4px;padding:4px 8px;display:flex}.sn-color-dot{cursor:pointer;border:2px solid #0000;border-radius:50%;flex-shrink:0;width:13px;height:13px;padding:0;transition:border-color .12s,transform .12s}.sn-color-dot:hover{transform:scale(1.25)}.sn-color-dot.active{border-color:#ffffffbf}.sn-format-sep{background:#ffffff26;flex-shrink:0;width:1px;height:14px;margin:0 2px}.sn-size-btn{color:#ffffff80;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;padding:1px 5px;font-size:10px;font-weight:600;line-height:1.4;transition:color .12s,border-color .12s,background .12s}.sn-size-btn:hover{color:#ffffffd9;border-color:#fff3}.sn-size-btn.active{color:#fff;background:#ffffff14;border-color:#ffffff73}.widget-resize-handle{cursor:nwse-resize;background:linear-gradient(135deg, transparent 30%, var(--border-strong) 30%, var(--border-strong) 40%, transparent 40%, transparent 55%, var(--border-strong) 55%, var(--border-strong) 65%, transparent 65%, transparent 80%, var(--border-strong) 80%, var(--border-strong) 90%, transparent 90%);border-radius:0 0 var(--radius) 0;opacity:.4;width:16px;height:16px;transition:opacity .15s;position:absolute;bottom:0;right:0}.widget-shell:hover .widget-resize-handle{opacity:.9}.widget-context-menu{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius);z-index:2200;min-width:175px;padding:4px 0;position:fixed;overflow:hidden;box-shadow:0 8px 28px #0000008c}.wcm-item{cursor:pointer;width:100%;color:var(--text-secondary);text-align:left;transition:background var(--transition), color var(--transition);background:0 0;border:none;align-items:center;gap:8px;padding:7px 14px;font-size:12px;display:flex}.wcm-item:hover{background:var(--bg-hover);color:var(--text-primary)}.wcm-item.danger:hover{color:#ef4444;background:#ef44441f}.wcm-divider{background:var(--border);height:1px;margin:4px 0}.wcm-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:4px 14px 2px;font-size:9px;font-weight:700}.wcm-colors{gap:8px;padding:6px 14px 8px;display:flex}.wcm-color-dot{cursor:pointer;border:2px solid #0000;border-radius:50%;width:16px;height:16px;padding:0;transition:transform .12s,border-color .12s}.wcm-color-dot:hover{transform:scale(1.2)}.wcm-color-dot.active{border-color:#fff}.widget-picker{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius);z-index:2100;min-width:180px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 8px 24px #00000080}.widget-picker-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:8px 12px 4px;font-size:9px;font-weight:700}.widget-picker-item{cursor:pointer;width:100%;color:var(--text-secondary);transition:background var(--transition), color var(--transition);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.widget-picker-item:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.widget-picker-item.disabled,.widget-picker-item:disabled{opacity:.45;cursor:not-allowed}.widget-picker-soon{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-hover);border-radius:3px;margin-left:auto;padding:1px 5px;font-size:9px;font-weight:600}.linear-tracker-widget{min-width:220px}.lt-titlebar{cursor:grab;-webkit-user-select:none;user-select:none;border-bottom:1px solid #ffffff12;align-items:center;gap:6px;padding:5px 8px 5px 10px;display:flex}.lt-titlebar:active{cursor:grabbing}.widget-minimized .lt-titlebar{border-bottom:none;border-radius:0;min-height:0;padding:6px 10px}.lt-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;cursor:text;flex:1;font-size:12px;font-weight:600;overflow:hidden}.lt-title-input{border:none;border-bottom:1px solid var(--border-strong);color:var(--text-primary);background:0 0;outline:none;flex:1;padding:0;font-size:12px;font-weight:600}.lt-body{flex-direction:column;gap:12px;padding:10px 10px 8px;display:flex}.lt-track{flex-direction:column;gap:4px;display:flex}.lt-track-header{align-items:center;gap:5px;display:flex}.lt-color-dot-btn{cursor:pointer;border:none;border-radius:50%;flex-shrink:0;width:9px;height:9px;padding:0;transition:transform .1s}.lt-color-dot-btn:hover{transform:scale(1.3)}.lt-track-label{color:var(--text-secondary);cursor:text;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:11px;overflow:hidden}.lt-inline-input{border:none;border-bottom:1px solid var(--border);color:var(--text-secondary);background:0 0;outline:none;flex:1;min-width:0;padding:0;font-size:11px}.lt-mode-btn{cursor:pointer;color:var(--text-muted);opacity:.3;background:0 0;border:1px solid #0000;border-radius:3px;flex-shrink:0;align-items:center;padding:2px;transition:opacity .15s,background .1s,color .1s,border-color .15s;display:flex}.lt-track:hover .lt-mode-btn{opacity:.7}.lt-mode-btn:hover{color:var(--text-primary);opacity:1;border-color:var(--border);background:#ffffff14}.lt-mode-btn.active{color:var(--accent,#4a8fd4);opacity:1;border-color:color-mix(in srgb, var(--accent,#4a8fd4) 35%, transparent)}.lt-stepper{flex-shrink:0;align-items:center;gap:2px;display:flex}.lt-step-btn{border:1px solid var(--border);width:16px;height:16px;color:var(--text-muted);cursor:pointer;opacity:0;background:#ffffff0f;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .1s,background .1s,color .1s;display:flex}.lt-track:hover .lt-step-btn{opacity:1}.lt-step-btn:hover{color:var(--text-primary);background:#ffffff1f}.lt-step-btn:active{background:#ffffff2e}.lt-value{text-align:right;cursor:text;font-variant-numeric:tabular-nums;min-width:30px;font-size:11px;font-weight:700;display:inline-block}.lt-value-input{border:1px solid var(--border-strong);width:36px;color:var(--text-primary);text-align:right;background:#ffffff0f;border-radius:3px;outline:none;padding:0 3px;font-size:11px;font-weight:700}.lt-track-remove{opacity:0;cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:3px;flex-shrink:0;align-items:center;padding:2px;transition:opacity .1s,background .1s;display:flex}.lt-track:hover .lt-track-remove{opacity:1}.lt-track-remove:hover{color:#ef4444;background:#ef44441a}.lt-bipolar-labels{justify-content:space-between;padding:0 1px;display:flex}.lt-end-label{color:var(--text-muted);cursor:text;text-overflow:ellipsis;white-space:nowrap;max-width:45%;font-size:10px;overflow:hidden}.lt-bar-track{cursor:ew-resize;background:#ffffff12;border-radius:4px;height:8px;position:relative;overflow:hidden}.lt-bar-track:hover{background:#ffffff1c}.lt-bar-fill{pointer-events:none;border-radius:4px;position:absolute;top:0;bottom:0}.lt-bar-track:after{content:"";z-index:1;pointer-events:none;background:#ffffff14;width:1px;transition:background .2s;position:absolute;top:0;bottom:0;left:50%}.lt-center-line{z-index:2;pointer-events:none;background:#ffffff47;width:1px;position:absolute;top:0;bottom:0;left:50%}.lt-link-row{align-items:center;gap:4px;min-height:18px;display:flex}.lt-link-btn{cursor:pointer;color:var(--text-muted);opacity:0;background:0 0;border:none;border-radius:3px;align-items:center;gap:4px;padding:2px 4px;font-size:10px;transition:opacity .1s,background .1s,color .1s;display:flex}.lt-track:hover .lt-link-btn{opacity:1}.lt-link-btn:hover{color:var(--text-secondary);background:#ffffff12}.lt-linked-node{color:var(--link-color,var(--text-secondary));cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:20px;align-items:center;gap:4px;max-width:160px;padding:2px 8px 2px 6px;font-size:10px;transition:background .1s;display:flex;overflow:hidden}.lt-linked-node:hover{background:#ffffff1a}.lt-unlink-btn{cursor:pointer;color:var(--text-muted);opacity:0;background:0 0;border:none;border-radius:3px;align-items:center;padding:2px;transition:opacity .1s;display:flex}.lt-track:hover .lt-unlink-btn{opacity:1}.lt-unlink-btn:hover{color:#ef4444}.lt-node-picker{z-index:2400;background:#1c1f26;border:1px solid #ffffff1f;border-radius:6px;width:220px;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 8px 24px #0000008c}.lt-node-picker-input{width:100%;color:var(--text-primary);box-sizing:border-box;background:#ffffff0d;border:none;border-bottom:1px solid #ffffff1a;outline:none;padding:8px 10px;font-size:12px}.lt-node-picker-list{max-height:180px;padding:4px;overflow-y:auto}.lt-node-picker-empty{text-align:center;color:var(--text-muted);padding:10px;font-size:11px}.lt-node-picker-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;width:100%;padding:5px 8px;transition:background .1s;display:flex}.lt-node-picker-item:hover{background:#ffffff12}.lt-node-picker-icon{flex-shrink:0;display:flex}.lt-node-picker-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11px;overflow:hidden}.lt-node-picker-type{color:var(--text-muted);text-transform:capitalize;flex-shrink:0;font-size:9px}.lt-add-track-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:1px dashed #ffffff1a;border-radius:5px;justify-content:center;align-items:center;gap:5px;width:100%;padding:5px 10px;font-size:11px;transition:border-color .1s,color .1s;display:flex}.lt-add-track-btn:hover{color:var(--text-secondary);border-color:#ffffff38}.lt-end-caps{justify-content:space-between;align-items:flex-start;gap:4px;min-height:20px;display:flex}.lt-endcap{align-items:center;gap:3px;max-width:45%;display:flex;position:relative}.lt-endcap.right{text-align:right;flex-direction:row-reverse}.lt-end-label{color:var(--text-muted);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #0000;align-items:center;gap:3px;max-width:90px;min-height:14px;padding-bottom:1px;font-size:10px;transition:border-color .12s,color .12s;display:flex;overflow:hidden}.lt-end-label:hover{color:var(--text-secondary);border-bottom-color:#fff3}.lt-end-label-edit-hint{opacity:.5;flex-shrink:0;font-size:9px}.lt-end-label.lt-end-label-empty{border-bottom-color:#ffffff14;min-width:36px}.lt-end-label-placeholder{opacity:.28;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:9px;font-style:italic}.lt-end-label-input{border:none;border-bottom:1px solid var(--border);color:var(--text-muted);background:0 0;outline:none;max-width:80px;padding:0;font-size:10px}.lt-endcap-link-btn{cursor:pointer;color:var(--text-muted);opacity:.7;background:0 0;border:none;border-radius:3px;align-items:center;padding:1px;transition:opacity .1s,color .1s;display:flex}.lt-endcap-link-btn:hover{opacity:1;color:var(--text-secondary)}.lt-linked-node-chip{color:var(--chip-color,var(--text-secondary));cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#ffffff12;border:1px solid #ffffff1a;border-radius:20px;align-items:center;gap:4px;max-width:110px;padding:1px 7px 1px 5px;font-size:10px;transition:background .1s;display:flex;overflow:hidden}.lt-linked-node-chip:hover{background:#ffffff1f}.lt-endcap-unlink{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:3px;flex-shrink:0;align-items:center;padding:1px;transition:color .1s;display:flex}.lt-endcap-unlink:hover{color:#ef4444}.lt-node-picker.align-right{left:auto;right:0}.thread-tracker-widget{min-width:300px}.tt-titlebar{border-bottom:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;cursor:grab;background:#00000040;flex-shrink:0;align-items:center;gap:8px;min-height:34px;padding:7px 10px 7px 12px;display:flex}.tt-titlebar:active{cursor:grabbing}.widget-minimized .tt-titlebar{border-bottom:none;border-radius:0;min-height:0;padding:6px 10px}.tt-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;cursor:text;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.tt-title-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:12px;font-weight:600}.tt-body{flex-direction:column;max-height:520px;padding:4px 0 6px;display:flex;overflow-y:auto}.tt-empty-state{color:var(--text-muted);text-align:center;padding:20px 14px;font-size:11px;font-style:italic}.tt-thread{border-bottom:1px solid var(--border);flex-direction:column;padding:10px 0 8px;display:flex}.tt-thread:last-of-type{border-bottom:none}.tt-thread-header{align-items:center;gap:7px;padding:0 12px;display:flex}.tt-color-dot{cursor:pointer;border:none;border-radius:50%;flex-shrink:0;width:11px;height:11px;transition:transform .12s}.tt-color-dot:hover{transform:scale(1.3)}.tt-thread-name{color:var(--text-primary);cursor:text;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:140px;font-size:12px;font-weight:600;overflow:hidden}.tt-name-input{border:1px solid var(--border-strong);color:var(--text-primary);background:#ffffff0f;border-radius:3px;outline:none;flex-shrink:0;max-width:140px;padding:1px 5px;font-size:12px;font-weight:600}.tt-chips-row{scrollbar-width:none;flex:1;align-items:center;gap:4px;min-width:0;display:flex;overflow-x:auto}.tt-chips-row::-webkit-scrollbar{display:none}.tt-node-chip{background:color-mix(in srgb, var(--chip-color,#8890a0) 12%, transparent);border:1px solid color-mix(in srgb, var(--chip-color,#8890a0) 28%, transparent);color:var(--text-primary);white-space:nowrap;border-radius:4px;flex-shrink:0;align-items:center;gap:3px;padding:2px 6px;font-size:10px;display:flex}.tt-node-chip-btn{color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:10px;display:flex}.tt-node-chip-unlink{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:0;transition:color .1s;display:flex}.tt-node-chip-unlink:hover{color:#ef4444}.tt-tag-btn{border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;flex-shrink:0;align-items:center;gap:4px;padding:2px 6px;font-size:10px;transition:color .12s,border-color .12s;display:flex}.tt-tag-btn:hover{color:var(--text-secondary);border-color:var(--border-strong)}.tt-thread-remove{opacity:0;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;align-items:center;margin-left:auto;padding:2px;transition:opacity .1s,color .1s;display:flex}.tt-thread:hover .tt-thread-remove{opacity:1}.tt-thread-remove:hover{color:#ef4444}.tt-timeline{scrollbar-width:thin;scrollbar-color:var(--border) transparent;align-items:center;gap:0;min-height:50px;padding:10px 12px 4px;display:flex;overflow:auto visible}.tt-milestone-item{flex-shrink:0;align-items:center;display:flex}.tt-connector{border-radius:1px;flex-shrink:0;width:22px;height:2px;transition:background .25s}.tt-timeline-empty{color:var(--text-muted);padding-right:10px;font-size:11px;font-style:italic}.tt-flow-card{cursor:pointer;-webkit-user-select:none;user-select:none;min-width:72px;max-width:130px;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:5px 11px;font-size:11px;transition:transform .12s,box-shadow .2s,background .2s,border-color .2s;display:flex;position:relative}.tt-flow-card.dim{border-color:var(--border);color:var(--text-secondary)}.tt-flow-card.dim:hover{border-color:var(--border-strong);color:var(--text-primary);background:#ffffff0a;transform:translateY(-1px)}.tt-flow-card.active{color:var(--text-primary);font-weight:600}.tt-flow-card.active:hover{transform:translateY(-1px)}.tt-flow-card.solid{border-color:var(--border);color:var(--text-muted);background:#ffffff08;text-decoration:line-through}.tt-flow-card.solid:hover{border-color:var(--border-strong);transform:translateY(-1px)}.tt-flow-card-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tt-flow-card-input{width:100%;color:inherit;font-size:inherit;font-weight:inherit;text-align:center;background:0 0;border:none;outline:none}.tt-add-milestone{background:var(--bg-inset,#ffffff0d);border:1px dashed var(--border);width:22px;height:22px;color:var(--text-muted);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:color .12s,border-color .12s,background .12s;display:flex}.tt-add-milestone:hover{color:var(--text-primary);border-color:var(--border-strong);background:#ffffff14}.tt-add-thread-btn{border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:5px;align-self:flex-start;align-items:center;gap:5px;margin:6px 12px 2px;padding:5px 8px;font-size:11px;transition:color .12s,border-color .12s,background .12s;display:flex}.tt-add-thread-btn:hover{color:var(--text-primary);border-color:var(--border-strong);background:#ffffff0a}.clock-widget{min-width:200px}.cw-titlebar{border-bottom:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;cursor:grab;background:#00000040;flex-shrink:0;align-items:center;gap:8px;min-height:34px;padding:7px 10px 7px 12px;display:flex}.cw-titlebar:active{cursor:grabbing}.widget-minimized .cw-titlebar{border-bottom:none;border-radius:0;min-height:0;padding:6px 10px}.cw-title{color:var(--text-primary);cursor:text;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:600;overflow:hidden}.cw-title-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:12px;font-weight:600}.cw-body{flex-direction:column;gap:0;padding:12px 12px 8px;display:flex}.cw-empty{color:var(--text-muted);text-align:center;padding:8px 0 4px;font-size:11px;font-style:italic}.cw-row{flex-wrap:nowrap;justify-content:center;gap:12px;padding:4px 0 8px;display:flex}.cw-clock{flex-direction:column;align-items:center;gap:5px;display:flex;position:relative}.cw-svg{cursor:default;border-radius:50%;transition:filter .2s;display:block}.cw-svg.cw-full{filter:drop-shadow(0 0 6px var(--cw-color,#f59242))}.cw-segment{cursor:pointer}.cw-clock-remove{background:var(--bg-elevated);border:1px solid var(--border-strong);width:16px;height:16px;color:var(--text-muted);cursor:pointer;z-index:2;border-radius:50%;justify-content:center;align-items:center;transition:color .1s,background .1s;display:flex;position:absolute;top:-4px;right:-4px}.cw-clock-remove:hover{color:#ef4444;background:#ef44441f}.cw-name{color:var(--text-secondary);text-align:center;text-overflow:ellipsis;white-space:nowrap;cursor:text;max-width:88px;font-size:10px;font-weight:500;overflow:hidden}.cw-name-input{text-align:center;border:1px solid var(--border-strong);max-width:88px;color:var(--text-primary);background:#ffffff0f;border-radius:3px;outline:none;padding:1px 4px;font-size:10px;font-weight:500}.cw-controls{justify-content:center;align-items:center;gap:6px;display:flex}.cw-seg-btn{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:#ffffff0d;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:600;line-height:1.4;transition:color .1s,background .1s}.cw-seg-btn:hover{color:var(--text-primary);background:#ffffff1a}.cw-color-dot{cursor:pointer;border:none;border-radius:50%;flex-shrink:0;width:9px;height:9px;transition:transform .12s}.cw-color-dot:hover{transform:scale(1.35)}.cw-add-btn{border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:5px;align-self:flex-start;align-items:center;gap:5px;margin-top:2px;padding:5px 8px;font-size:11px;transition:color .12s,border-color .12s,background .12s;display:flex}.cw-add-btn:hover{color:var(--text-primary);border-color:var(--border-strong);background:#ffffff0a}.cw-add-btn.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.detail-hero.drag-over,.detail-hero-empty.drag-over{background:rgba(var(--accent-rgb,74,143,212), .08);outline:2px dashed var(--accent)!important}.detail-image-strip{flex-wrap:wrap;align-items:flex-start;gap:6px;padding:2px 0;display:flex}.detail-strip-thumb{border-radius:var(--radius);border:1.5px solid var(--border);cursor:pointer;background:var(--bg-inset);flex-shrink:0;width:60px;height:60px;transition:border-color .15s,transform .12s;position:relative;overflow:hidden}.detail-strip-thumb:hover{border-color:var(--border-strong);transform:scale(1.04)}.detail-strip-thumb.is-hero{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.detail-strip-thumb img{object-fit:cover;width:100%;height:100%;display:block}.detail-strip-hero-badge{color:#f5c842;text-shadow:0 1px 3px #000c;pointer-events:none;font-size:9px;line-height:1;position:absolute;bottom:2px;left:3px}.detail-strip-hover-actions{opacity:0;background:#0000008c;justify-content:center;align-items:center;gap:3px;transition:opacity .14s;display:flex;position:absolute;inset:0}.detail-strip-thumb:hover .detail-strip-hover-actions{opacity:1}.detail-strip-action{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff40;border-radius:3px;padding:2px 5px;font-size:11px;font-weight:600;line-height:1.3;transition:background .1s}.detail-strip-action:hover{background:#ffffff47}.detail-strip-action.danger:hover{background:#ef444480}.detail-strip-add{color:var(--text-muted);background:var(--bg-inset);cursor:pointer;border-style:dashed;justify-content:center;align-items:center;display:flex}.detail-strip-add:hover{color:var(--text-primary);border-color:var(--border-strong)}.detail-image-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.detail-url-input-row{align-items:center;gap:6px;margin-top:6px;display:flex}.detail-url-input{background:var(--bg-inset);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text-primary);outline:none;flex:1;padding:4px 8px;font-size:11px}.detail-url-input:focus{border-color:var(--accent)}.detail-lightbox-overlay{background:#000000e0!important}.detail-lightbox{max-width:90vw;max-height:90vh;animation:modalIn .18s var(--ease,ease);flex-direction:column;align-items:center;display:flex;position:relative}.detail-lightbox-img{object-fit:contain;border-radius:8px;max-width:90vw;max-height:80vh;display:block;box-shadow:0 24px 64px #000000b3}.detail-lightbox-close{color:#fff;cursor:pointer;background:#000000b3;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:background .1s;display:flex;position:absolute;top:-10px;right:-10px}.detail-lightbox-close:hover{background:#ffffff26}.detail-lightbox-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:12px;display:flex}.detail-lightbox-nav{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:4px;padding:4px 12px;font-size:12px;transition:background .1s}.detail-lightbox-nav:hover:not(:disabled){background:#fff3}.detail-lightbox-nav:disabled{opacity:.35;cursor:default}.detail-lightbox-count{color:#fff9;padding:0 4px;font-size:11px}.detail-lightbox-action{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:4px;padding:4px 10px;font-size:11px;transition:background .1s}.detail-lightbox-action:hover{background:#fff3}.detail-lightbox-action.danger:hover{background:#ef444480}.img-gallery-overlay{background:#000000d1;justify-content:center;align-items:flex-start;padding:32px 24px;display:flex;overflow-y:auto}.img-gallery-panel{background:var(--bg-surface,#1a1d22);border:1px solid var(--border,#ffffff1a);border-radius:12px;flex-direction:column;width:min(900px,96vw);max-height:calc(100vh - 64px);display:flex;overflow:hidden;box-shadow:0 24px 80px #000000b3}.img-gallery-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px 12px;display:flex}.img-gallery-title{color:var(--text-primary);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.img-gallery-count-badge{border:1px solid var(--border);color:var(--text-secondary);background:#ffffff1a;border-radius:20px;padding:1px 8px;font-size:11px;font-weight:500}.img-gallery-header-actions{align-items:center;gap:8px;display:flex}.img-gallery-pool-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:#ffffff0f;border-radius:6px;align-items:center;gap:5px;padding:5px 10px;font-size:11px;transition:background .12s,color .12s;display:flex}.img-gallery-pool-btn:hover{color:var(--text-primary);background:#ffffff1c}.img-gallery-pool-strip{border-bottom:1px solid var(--border);background:#ffffff05;flex-shrink:0;padding:12px 18px 10px}.img-gallery-pool-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:10px;font-weight:500}.img-gallery-pool-row{scrollbar-width:thin;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.img-gallery-pool-thumb{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;width:64px;height:64px;padding:0;transition:border-color .12s;position:relative;overflow:hidden}.img-gallery-pool-thumb:hover{border-color:var(--border-strong)}.img-gallery-pool-thumb img{object-fit:cover;width:100%;height:100%}.img-gallery-pool-thumb-overlay{color:#fff;opacity:0;background:#0000008c;justify-content:center;align-items:center;transition:opacity .12s;display:flex;position:absolute;inset:0}.img-gallery-pool-thumb:hover .img-gallery-pool-thumb-overlay{opacity:1}.img-gallery-masonry{columns:3 200px;flex:1;column-gap:10px;padding:14px 18px 18px;overflow-y:auto}.img-gallery-item{break-inside:avoid;cursor:pointer;border:2px solid #0000;border-radius:8px;margin-bottom:10px;transition:border-color .15s,transform .12s;position:relative;overflow:hidden}.img-gallery-item:hover{transform:scale(1.015)}.img-gallery-item.is-hero{border-color:#f5c842}.img-gallery-item img{width:100%;height:auto;display:block}.img-gallery-item-hero-badge{color:#f5c842;pointer-events:none;background:#000000a6;border-radius:4px;padding:2px 6px;font-size:11px;line-height:1.4;position:absolute;top:6px;left:6px}.img-gallery-item-overlay{opacity:0;background:#00000080;justify-content:flex-end;align-items:flex-end;gap:6px;padding:8px;transition:opacity .15s;display:flex;position:absolute;inset:0}.img-gallery-item:hover .img-gallery-item-overlay{opacity:1}.img-gallery-item-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff26;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:background .1s;display:flex}.img-gallery-item-btn:hover{background:#ffffff4d}.img-gallery-item-btn.danger:hover{background:#ef4444b3}.img-gallery-empty{color:var(--text-muted);flex:1;justify-content:center;align-items:center;padding:48px 24px;font-size:13px;font-style:italic;display:flex}.img-gallery-zoom{background:var(--bg-surface,#1a1d22);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:min(860px,94vw);max-height:calc(100vh - 64px);display:flex;position:relative;overflow:hidden;box-shadow:0 24px 80px #000000b3}.img-gallery-zoom-img{object-fit:contain;background:#00000080;flex:1;width:100%;max-height:calc(100vh - 160px);display:block}.img-gallery-back{color:#ffffffd9;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2;background:#0009;border:1px solid #ffffff26;border-radius:6px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;transition:background .1s,color .1s;display:flex;position:absolute;top:12px;left:12px}.img-gallery-back:hover{color:#fff;background:#000c}.img-gallery-arrow{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2;background:#0000008c;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .1s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.img-gallery-arrow:hover{background:#000c}.img-gallery-arrow.left{left:14px}.img-gallery-arrow.right{right:14px}.img-gallery-zoom-bar{background:#00000059;border-top:1px solid #ffffff14;flex-shrink:0;align-items:center;gap:10px;padding:10px 14px;display:flex}.img-gallery-zoom-count{color:#fff9;flex:1;align-items:center;gap:8px;font-size:12px;display:flex}.img-gallery-hero-badge{color:#f5c842;background:#f5c84233;border-radius:4px;padding:1px 7px;font-size:10px}.img-gallery-zoom-actions{align-items:center;gap:6px;display:flex}.img-gallery-zoom-btn{color:#ffffffd9;cursor:pointer;background:#ffffff14;border:1px solid #fff3;border-radius:5px;align-items:center;gap:5px;padding:5px 10px;font-size:11px;transition:background .1s,color .1s;display:flex}.img-gallery-zoom-btn:hover{color:#fff;background:#ffffff2e}.img-gallery-zoom-btn.danger{border-color:#ef444466}.img-gallery-zoom-btn.danger:hover{background:#ef444480;border-color:#ef4444b3}.hier-root{flex-direction:column;gap:12px;margin-bottom:2px;display:flex}.hier-section-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:2px;font-size:10px;font-weight:600}.hier-tree{flex-direction:column;gap:3px;display:flex}.hier-row{align-items:center;gap:0;display:flex}.hier-row-indent{width:calc(var(--depth,0) * 16px);flex-shrink:0}.hier-row-line{flex-shrink:0;align-self:stretch;width:16px;position:relative}.hier-row-line:before{content:"";border-left:1px solid var(--border-strong);position:absolute;top:0;bottom:50%;left:6px}.hier-row-line:after{content:"";border-top:1px solid var(--border-strong);width:8px;position:absolute;top:50%;left:6px}.hier-chip{border:1px solid color-mix(in srgb, var(--hier-color,var(--border-strong)) 30%, transparent);background:color-mix(in srgb, var(--hier-color,var(--bg-elevated)) 10%, transparent);color:var(--hier-color,var(--text-secondary));cursor:pointer;white-space:nowrap;border-radius:20px;align-items:center;gap:5px;max-width:200px;padding:3px 9px 3px 6px;font-size:11px;transition:background .12s,border-color .12s;display:inline-flex;overflow:hidden}.hier-chip:hover:not(:disabled){background:color-mix(in srgb, var(--hier-color,var(--bg-elevated)) 20%, transparent);border-color:color-mix(in srgb, var(--hier-color,var(--border-strong)) 55%, transparent)}.hier-chip:disabled{cursor:default}.hier-chip.hier-chip-current{border-width:1.5px;border-color:color-mix(in srgb, var(--hier-color,var(--border-strong)) 60%, transparent);background:color-mix(in srgb, var(--hier-color,var(--bg-elevated)) 15%, transparent);padding:4px 11px 4px 8px;font-size:12px;font-weight:600}.hier-chip-name{text-overflow:ellipsis;overflow:hidden}.hier-chip-title{opacity:.65;text-overflow:ellipsis;margin-left:2px;font-size:9px;font-style:italic;overflow:hidden}.hier-siblings{border:1px solid var(--border-subtle,var(--border));border-radius:var(--radius);background:#ffffff08;flex-direction:column;gap:5px;margin-top:4px;padding:7px 10px;display:flex}.hier-siblings-label{color:var(--text-muted);font-size:10px;font-style:italic}.hier-siblings-row{flex-wrap:wrap;gap:5px;display:flex}.hier-people{border-top:1px solid var(--border-subtle,var(--border));flex-direction:column;gap:8px;padding-top:4px;display:flex}.hier-people-group{flex-direction:column;gap:5px;display:flex}.hier-people-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:10px;font-weight:600}.hier-people-count{opacity:.7;font-weight:400}.hier-people-chips{flex-wrap:wrap;gap:5px;display:flex}.hier-overflow{color:var(--text-muted);border:1px dashed var(--border);border-radius:20px;align-items:center;padding:3px 8px;font-size:10px;display:inline-flex}.htv-root{background:var(--bg-surface,var(--bg-base));color:var(--text-primary);flex-direction:column;flex:1;font-size:13px;display:flex;overflow:hidden}.htv-tabs{border-bottom:1px solid var(--border);scrollbar-width:none;flex-shrink:0;gap:2px;padding:8px 10px 0;display:flex;overflow-x:auto}.htv-tabs::-webkit-scrollbar{display:none}.htv-tab{cursor:pointer;color:var(--text-muted);white-space:nowrap;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:6px 6px 0 0;align-items:center;gap:5px;padding:5px 10px 6px;font-size:12px;font-weight:500;transition:color .15s,background .15s;display:inline-flex;position:relative;bottom:-1px}.htv-tab:hover{color:var(--text-primary);background:#ffffff0a}.htv-tab-active{color:var(--tab-color,var(--text-primary));background:var(--bg-surface,var(--bg-base));border-color:var(--border);border-bottom-color:var(--bg-surface,var(--bg-base))}.htv-tab-count{opacity:.65;background:#ffffff14;border-radius:8px;padding:1px 5px;font-size:10px;font-weight:600}.htv-body{flex:1;padding:8px 6px;overflow-y:auto}.htv-empty{text-align:center;color:var(--text-muted);padding:32px 20px;font-size:13px;line-height:1.6}.htv-empty-state{text-align:center;padding:40px 24px}.htv-empty-state p{color:var(--text-muted);margin:0 0 6px}.htv-branch{flex-direction:column;display:flex}.htv-row{padding:4px 6px 4px calc(8px + var(--htv-depth,0) * 18px);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:4px;min-height:30px;transition:background .12s;display:flex}.htv-row:hover{background:#ffffff0d}.htv-row-selected{outline:1px solid color-mix(in srgb, var(--htv-color,var(--accent)) 40%, transparent);background:color-mix(in srgb, var(--htv-color,var(--accent)) 14%, transparent)!important}.htv-indent{display:none}.htv-toggle{width:16px;height:16px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;transition:background .1s,color .1s;display:flex}.htv-toggle:hover{color:var(--text-primary);background:#ffffff1a}.htv-type-icon{color:var(--htv-color,var(--text-muted));flex-shrink:0;align-items:center;margin-right:1px;display:flex}.htv-name{color:var(--text-primary);flex-shrink:0;font-weight:500}.htv-title{color:var(--text-muted);margin-left:2px;font-size:11px;font-style:italic}.htv-meta{color:var(--text-muted);align-items:center;gap:3px;margin-left:6px;font-size:11px;display:inline-flex}.htv-badge{border-radius:8px;align-items:center;margin-left:4px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-flex}.htv-badge-children{color:var(--text-muted);background:#ffffff12}.htv-badge-members{background:color-mix(in srgb, var(--htv-color,var(--accent)) 18%, transparent);color:color-mix(in srgb, var(--htv-color,var(--accent)) 90%, white)}.htv-children{border-left:1px solid var(--border-subtle,#ffffff12);margin-left:calc(14px + var(--htv-depth,0) * 18px)}.view-dropdown-menu{background:var(--bg-elevated,var(--bg-surface,#1e2030));border:1px solid var(--border);z-index:999;border-radius:8px;flex-direction:column;gap:1px;min-width:140px;padding:4px;display:flex;position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0006}.view-dropdown-item{cursor:pointer;color:var(--text-muted);white-space:nowrap;text-align:left;background:0 0;border-radius:5px;align-items:center;gap:8px;width:100%;padding:7px 10px;font-size:13px;transition:background .1s,color .1s;display:flex}.view-dropdown-item:hover{color:var(--text-primary);background:#ffffff12}.view-dropdown-item.active{color:var(--accent,#7c8cff);background:color-mix(in srgb, var(--accent,#7c8cff) 12%, transparent);font-weight:600}.legend-staging{flex-direction:column;display:flex}.legend-staging-divided{border-top:1px solid var(--border-subtle,#ffffff14);margin-top:2px;padding-top:6px}.legend-staging-header{width:100%;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;text-align:left;background:#ffffff0a;border:1px solid #ffffff14;border-radius:5px;align-items:center;gap:6px;padding:5px 8px;font-size:11px;font-weight:600;transition:color .12s,background .12s,border-color .12s;display:flex}.legend-staging-header:hover{color:var(--text-primary);background:#ffffff14;border-color:#ffffff24}.legend-staging-header.open{color:var(--text-primary);border-color:#ffffff1f}.legend-staging-count{background:var(--accent,#7c8cff);color:#fff;border-radius:8px;padding:0 5px;font-size:10px;font-weight:700;line-height:1.6}.legend-staging-caret{opacity:.5;align-items:center;margin-left:auto;display:flex}.legend-staging-list{flex-direction:column;gap:1px;max-height:200px;margin-top:4px;display:flex;overflow-y:auto}.legend-staging-empty{color:var(--text-muted);padding:6px 2px 2px;font-size:11px;font-style:italic;line-height:1.5}.legend-staging-card{cursor:grab;border-radius:3px;align-items:center;gap:4px;padding:2px;transition:background .1s;display:flex}.legend-staging-card:hover{background:#ffffff0f}.legend-staging-card:active{cursor:grabbing}.legend-staging-name{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;flex:1;min-width:0;font-size:11px;font-weight:500;overflow:hidden}.legend-staging-name:hover{text-decoration:underline}.btn-icon.staging-action{opacity:0;flex-shrink:0;width:18px;height:18px;transition:opacity .1s}.legend-staging-card:hover .btn-icon.staging-action{opacity:1}.org-view-toggle-btn{border-radius:var(--radius,6px);background:var(--bg-elevated,var(--bg-surface));border:1px solid var(--border);color:var(--text-muted);cursor:pointer;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:500;transition:color .12s,background .12s,border-color .12s;display:flex;position:relative;top:auto;right:auto}.org-view-toggle-btn:hover{color:var(--text-primary);border-color:var(--border-strong);background:var(--bg-hover,var(--bg-elevated))}.org-view-toggle-btn.active{color:var(--accent);border-color:var(--accent);background:var(--accent-dim,color-mix(in srgb, var(--accent) 15%, transparent))}.split-toggle-btn{border-radius:var(--radius,6px);background:var(--bg-elevated,var(--bg-surface));border:1px solid var(--border);color:var(--text-muted);cursor:pointer;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:500;transition:color .12s,background .12s,border-color .12s;display:flex;position:absolute;bottom:16px;right:16px}.split-toggle-btn:hover{color:var(--text-primary);border-color:var(--border-strong);background:var(--bg-hover,var(--bg-elevated))}.settings-hint-box{background:var(--bg-secondary,#ffffff08);border:1px solid var(--border-subtle,var(--border));border-radius:var(--radius);padding:12px 14px}.game-tools-menu{background:var(--bg-elevated,var(--bg-surface,#1e2030));border:1px solid var(--border-strong,var(--border));z-index:2100;border-radius:8px;min-width:210px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 32px #00000080}.game-tools-item{cursor:pointer;width:100%;color:var(--text);text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;display:flex}.game-tools-item:hover{background:var(--bg-hover)}.game-tools-item.active{color:var(--accent)}.game-tools-item>svg{opacity:.75;flex-shrink:0}.gti-text{flex-direction:column;gap:1px;display:flex}.gti-label{color:var(--text);font-size:12px;font-weight:500}.gti-desc{color:var(--text-muted);font-size:10px}.game-tools-divider{background:var(--border);height:1px;margin:4px 6px}.te-modal{background:var(--bg-elevated,var(--bg-surface,#1e2030));border:1px solid var(--border-strong,var(--border));border-radius:10px;flex-direction:column;width:540px;max-height:82vh;display:flex;overflow:hidden;box-shadow:0 16px 48px #00000073}.te-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.te-title{color:var(--text);letter-spacing:.01em;font-size:14px;font-weight:600}.te-close{color:var(--text-muted)}.te-steps{border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.te-step-tab{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-bottom:2px solid #0000;flex-direction:column;flex:1;align-items:center;gap:3px;padding:8px 4px;transition:background .12s,color .12s;display:flex}.te-step-tab:hover{background:var(--bg-hover);color:var(--text)}.te-step-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.te-step-tab.done{color:var(--text-dim,var(--text-muted))}.te-step-tab.done .te-step-num{color:#fff;background:#3da86b;font-size:9px}.te-step-num{background:var(--bg-hover);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;font-weight:700;transition:background .12s,color .12s;display:flex}.te-step-tab.active .te-step-num{background:var(--accent);color:#fff}.te-step-name{font-size:10px}.te-content{flex:1;padding:16px;overflow-y:auto}.te-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.te-nav-btn{background:var(--bg-hover);border:1px solid var(--border);cursor:pointer;color:var(--text);border-radius:6px;align-items:center;gap:4px;padding:6px 14px;font-size:12px;display:flex}.te-nav-btn:hover{background:var(--bg-active,var(--bg-hover))}.te-nav-btn:disabled{opacity:.35;cursor:not-allowed}.te-nav-primary{background:var(--accent);color:#fff;border-color:#0000}.te-nav-primary:hover{opacity:.88}.te-step-indicator{color:var(--text-muted);font-size:11px}.te-step-body{flex-direction:column;gap:14px;display:flex}.te-step-intro{color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}.te-step-empty{color:var(--text-muted);text-align:center;flex-direction:column;align-items:center;padding:28px 16px;font-size:13px;font-style:italic;display:flex}.te-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px;font-size:11px;font-weight:600}.te-clock-group{margin-bottom:14px}.te-clock-group-name{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:600}.te-clock-row{border-bottom:1px solid var(--border-faint,#ffffff0f);align-items:center;gap:10px;padding:6px 0;display:flex}.te-clock-left{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.te-clock-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:100px;font-size:12px;overflow:hidden}.te-clock-btns{flex-shrink:0;align-items:center;gap:4px;display:flex}.te-tick-btn{background:var(--bg-hover);border:1px solid var(--border);cursor:pointer;color:var(--text);white-space:nowrap;border-radius:4px;padding:3px 7px;font-size:11px}.te-tick-btn:hover:not(:disabled){background:var(--accent);color:#fff;border-color:#0000}.te-tick-btn:disabled{opacity:.35;cursor:not-allowed}.te-tick-minus{color:var(--text-muted)}.te-tick-minus:hover:not(:disabled){background:var(--bg-active,#3a3f48)!important;color:var(--text)!important;border-color:var(--border)!important}.te-controls{flex-direction:column;gap:10px;display:flex}.te-control-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.te-label{color:var(--text);font-size:12px}.te-stepper{align-items:center;gap:8px;display:flex}.te-step-btn{background:var(--bg-hover);border:1px solid var(--border);cursor:pointer;width:26px;height:26px;color:var(--text);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;display:flex}.te-step-btn:hover{background:var(--bg-active,#3a3f48)}.te-step-val{color:var(--text);text-align:center;min-width:130px;font-size:12px}.te-crew-table{border:1px solid var(--border);border-radius:6px;font-size:11px;overflow:hidden}.te-ct-header{background:var(--bg-hover);color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;grid-template-columns:48px 1fr 1fr 1fr;gap:4px;padding:5px 8px;font-size:10px;font-weight:600;display:grid}.te-ct-active-col{color:var(--accent)}.te-ct-row{border-top:1px solid var(--border);grid-template-columns:48px 1fr 1fr 1fr;gap:4px;padding:5px 8px;display:grid}.te-ct-row.te-ct-active-row{background:#ffffff08}.te-ct-roll{color:var(--text-muted);font-size:11px}.te-ct-cell{text-align:center;border-radius:3px;padding:2px 4px}.te-ct-none{color:var(--text-muted)}.te-ct-light{color:#f59242}.te-ct-heavy{color:#e0617a}.te-ct-hit{background:#ffffff14;font-weight:700}.te-roll-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:7px;justify-content:center;align-items:center;gap:7px;width:100%;padding:9px;font-size:13px;font-weight:600;transition:opacity .15s;display:flex}.te-roll-btn:hover{opacity:.88}.te-result{background:var(--bg-hover);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:8px;margin-top:4px;padding:12px 14px;display:flex}.te-result-none{border-left:3px solid #3da86b}.te-result-light{border-left:3px solid #f59242}.te-result-heavy{border-left:3px solid #e0617a}.te-result-active{border-left:3px solid var(--accent)}.te-result-festival{border-left:3px solid #8b65c9}.te-dice-row{flex-wrap:wrap;gap:6px;display:flex}.te-die{background:var(--bg-hover,#ffffff0f);border:1px solid var(--border);width:28px;height:28px;color:var(--text);border-radius:6px;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.te-die-six{background:var(--accent);color:#fff;border-color:#0000}.te-result-headline{color:var(--text);font-size:13px;font-weight:500}.te-result-trouble{color:var(--text);font-size:14px;font-weight:600}.te-result-actions{align-items:center;gap:8px;display:flex}.te-log-btn{background:var(--bg-hover,#ffffff0f);border:1px solid var(--border);cursor:pointer;color:var(--text);border-radius:5px;padding:5px 12px;font-size:11px}.te-log-btn:hover{background:var(--accent);color:#fff;border-color:#0000}.te-logged-note{color:#3da86b;font-size:11px}.te-modifiers{flex-direction:column;gap:7px;display:flex}.te-mod-header{color:var(--text-muted);font-size:11px;font-weight:600}.te-mod-row{cursor:pointer;color:var(--text);align-items:center;gap:9px;font-size:12px;display:flex}.te-mod-row input[type=checkbox]{cursor:pointer}.te-mod-delta{min-width:30px;font-size:11px;font-weight:700}.te-mod-delta.pos{color:#3da86b}.te-mod-delta.neg{color:#e0617a}.te-mod-label{flex:1}.te-troubles-list{flex-direction:column;gap:6px;display:flex}.te-trouble-item{background:var(--bg-hover);border:1px solid var(--border);border-left-width:3px;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;display:flex}.te-trouble-light{border-left-color:#f59242}.te-trouble-heavy{border-left-color:#e0617a}.te-trouble-none{border-left-color:var(--border)}.te-sev-pip{border-radius:50%;flex-shrink:0;width:7px;height:7px}.te-sev-pip.te-sev-light{background:#f59242}.te-sev-pip.te-sev-heavy{background:#e0617a}.te-trouble-name{color:var(--text);flex:1;font-size:12px}.te-trouble-src{color:var(--text-muted);flex-shrink:0;font-size:10px}.te-resolve-btn{border:1px solid var(--border);cursor:pointer;color:#3da86b;background:0 0;border-radius:4px;flex-shrink:0;padding:3px 8px;font-size:11px}.te-resolve-btn:hover{color:#fff;background:#3da86b;border-color:#0000}.te-roll-info{color:var(--text-muted);font-size:12px}@keyframes dieRoll{0%{transform:rotate(-12deg)scale(.88)}25%{transform:rotate(10deg)scale(1.06)}50%{transform:rotate(-8deg)scale(.92)}75%{transform:rotate(9deg)scale(1.04)}to{transform:rotate(0)scale(1)}}.te-die-rolling{opacity:.7;animation:.12s ease-in-out infinite dieRoll}.te-die-deciding{box-shadow:0 0 0 2px var(--accent), 0 0 10px var(--accent-glow);transform:scale(1.1)}.te-roll-btn.rolling{opacity:.6;cursor:not-allowed}.te-result-headline{align-items:center;gap:7px;display:flex}.te-mod-toggle{border:1px solid var(--border-subtle,var(--border));cursor:pointer;width:100%;color:var(--text-secondary,var(--text-muted));text-align:left;background:0 0;border-radius:6px;align-items:center;gap:9px;padding:8px 10px;font-size:12px;transition:background .1s,border-color .1s,color .1s;display:flex}.te-mod-toggle:hover{background:var(--bg-hover);color:var(--text)}.te-mod-toggle.active{background:var(--bg-inset,#00000026);border-color:var(--accent);color:var(--text)}.te-mod-check{color:var(--text-muted);flex-shrink:0;align-items:center;display:flex}.te-mod-toggle.active .te-mod-check{color:var(--accent)}.te-mod-delta{flex-shrink:0;min-width:28px;font-size:11px;font-weight:700}.te-mod-label{flex:1;line-height:1.35}.te-mod-pool{color:var(--text-muted);border-top:1px solid var(--border);padding-top:6px;font-size:11px}.te-mod-adjustment{font-size:11px}.te-faction-list{flex-direction:column;gap:10px;display:flex}.te-faction-row{border:1px solid var(--border);background:var(--bg-inset,#0000001f);border-radius:7px;overflow:hidden}.te-faction-header{justify-content:space-between;align-items:center;gap:8px;padding:8px 11px;display:flex}.te-faction-name{color:var(--text);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.te-link-btn{border:1px solid var(--border);cursor:pointer;color:var(--text-muted);background:0 0;border-radius:4px;flex-shrink:0;padding:3px 9px;font-size:10px;transition:background .1s,color .1s}.te-link-btn:hover{background:var(--bg-hover);color:var(--text)}.te-link-btn-cancel{color:var(--danger,#f47070);border-color:var(--danger,#f47070)}.te-clock-picker{border-top:1px solid var(--border);background:var(--bg-elevated,#0d2124);flex-direction:column;gap:2px;padding:6px;display:flex}.te-picker-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:4px 6px 2px;font-size:10px;font-weight:600}.te-picker-opt{cursor:pointer;color:var(--text);text-align:left;background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex}.te-picker-opt:hover{background:var(--bg-hover)}.te-picker-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.te-picker-name{flex:1}.te-picker-count{color:var(--text-muted);font-size:10px}.te-picker-divider{background:var(--border);height:1px;margin:4px 0}.te-picker-create{color:var(--accent);font-size:11px}.te-faction-clock{border-top:1px solid var(--border-subtle,var(--border));flex-direction:column;gap:6px;padding:8px 11px;display:flex}.te-clock-bar-row{align-items:center;gap:7px;display:flex}.te-clock-bar{background:var(--bg-hover);border-radius:3px;flex:1;height:6px;overflow:hidden}.te-clock-fill{border-radius:3px;height:100%;transition:width .2s}.te-clock-count{color:var(--text-muted);text-align:right;flex-shrink:0;min-width:26px;font-size:10px}.te-clock-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.te-clock-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.te-clock-full-badge{color:#3da86b;align-items:center;gap:5px;padding-top:2px;font-size:11px;display:flex}.te-faction-no-clock{color:var(--text-muted);padding:6px 11px 8px;font-size:11px;font-style:italic}.te-faction-add-row{align-items:center;gap:6px;margin-top:2px;display:flex}.te-faction-input{background:var(--bg-inset,#00000026);border:1px solid var(--border);color:var(--text);border-radius:6px;outline:none;flex:1;padding:6px 10px;font-family:inherit;font-size:12px}.te-faction-input:focus{border-color:var(--accent)}.te-faction-input::placeholder{color:var(--text-muted)}.te-add-btn{background:var(--bg-hover);border:1px solid var(--border);cursor:pointer;color:var(--text);border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:6px 12px;font-size:12px;transition:background .1s;display:flex}.te-add-btn:hover{background:var(--accent);color:#fff;border-color:#0000}.te-log-btn,.te-logged-note{align-items:center;gap:5px;display:flex}.te-widget{font-family:inherit}.te-widget-titlebar{border-bottom:1px solid var(--border);cursor:grab;border-radius:var(--radius) var(--radius) 0 0;flex-shrink:0;align-items:center;gap:7px;min-height:34px;padding:7px 8px 7px 10px;display:flex}.te-widget-titlebar:active{cursor:grabbing}.widget-minimized .te-widget-titlebar{border-bottom:none;border-radius:0;min-height:0;padding:6px 10px}.te-widget-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.te-widget-body{flex-direction:column;gap:8px;padding:8px 10px 10px;display:flex}.te-widget-summary{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.te-widget-stat{align-items:center;gap:4px;font-size:11px;display:flex}.te-widget-stat-val{font-size:16px;font-weight:700;line-height:1}.te-widget-stat-label{color:var(--text-muted);font-size:10px}.te-widget-stat.quiet .te-widget-stat-val{color:var(--text-muted)}.te-widget-stat.active .te-widget-stat-val{color:var(--accent)}.te-widget-stat.danger .te-widget-stat-val{color:#e0617a}.te-widget-stat.warning .te-widget-stat-val{color:#f59242}.te-widget-last-run{color:var(--text-muted);margin-left:auto;font-size:10px}.te-widget-empty{color:var(--text-muted);text-align:center;padding:8px 0;font-size:11px;font-style:italic}.te-widget-troubles{flex-direction:column;gap:4px;display:flex}.te-widget-trouble{background:var(--bg-hover);border-left:3px solid var(--border);border-radius:5px;align-items:center;gap:6px;padding:5px 8px;font-size:12px;display:flex}.te-wtrouble-light{border-left-color:#f59242}.te-wtrouble-heavy{border-left-color:#e0617a}.te-widget-trouble-name{white-space:nowrap;text-overflow:ellipsis;color:var(--text);flex:1;overflow:hidden}.te-widget-resolve{border:1px solid var(--border);cursor:pointer;color:var(--text-muted);background:0 0;border-radius:3px;flex-shrink:0;align-items:center;padding:2px 5px;transition:background .1s,color .1s;display:flex}.te-widget-resolve:hover{color:#fff;background:#3da86b;border-color:#0000}.te-widget-more{color:var(--text-muted);text-align:center;padding-top:2px;font-size:10px}.te-widget-open-btn{background:var(--accent-dim,#ff92481f);border:1px solid var(--accent);cursor:pointer;width:100%;color:var(--accent);border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:6px;font-size:12px;font-weight:500;transition:background .1s;display:flex}.te-widget-open-btn:hover{background:var(--accent);color:#fff}.te-widget-run-btn{background:var(--accent-dim,#ff92481f);border:1px solid var(--accent);cursor:pointer;color:var(--accent);border-radius:4px;align-items:center;gap:3px;padding:2px 7px;font-size:10px;transition:background .1s;display:flex}.te-widget-run-btn:hover{background:var(--accent);color:#fff}.hpv-root{background:var(--bg-secondary);flex:1;height:100%;display:flex;overflow:hidden}.hpv-sidebar{border-right:1px solid var(--border);background:var(--bg-primary);flex-direction:column;flex-shrink:0;width:220px;display:flex;overflow:hidden}.hpv-sidebar-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:7px;padding:12px 14px 8px;font-size:11px;font-weight:700;display:flex}.hpv-sidebar-list{flex-direction:column;flex:1;gap:2px;padding:6px;display:flex;overflow-y:auto}.hpv-sidebar-item{cursor:pointer;text-align:left;color:var(--text);background:0 0;border:none;border-radius:6px;flex-direction:column;align-items:flex-start;gap:6px;padding:8px 10px;transition:background .1s;display:flex}.hpv-sidebar-item:hover{background:var(--bg-hover)}.hpv-sidebar-item.active{background:var(--accent-dim,#ff92481f);color:var(--accent)}.hpv-sidebar-caret{opacity:.4;flex-shrink:0}.hpv-sidebar-item.active .hpv-sidebar-caret{opacity:1}.hpv-sidebar-name{font-size:13px;font-weight:600;line-height:1.2}.hpv-sidebar-meta{color:var(--text-muted);margin-top:2px;font-size:10px}.hpv-sidebar-empty{color:var(--text-muted);text-align:center;padding:16px 10px;font-size:12px;font-style:italic}.hpv-sidebar-new-btn{background:var(--accent-dim,#ff92481a);border:1px dashed var(--accent);cursor:pointer;color:var(--accent);border-radius:6px;flex-shrink:0;align-items:center;gap:5px;margin:8px;padding:7px 10px;font-size:12px;font-weight:500;transition:background .1s;display:flex}.hpv-sidebar-new-btn:hover{background:var(--accent);color:#fff}.hpv-create-row{flex-shrink:0;gap:4px;margin:8px;display:flex}.hpv-create-input{background:var(--bg-inset,#00000026);border:1px solid var(--accent);color:var(--text);border-radius:5px;outline:none;flex:1;padding:5px 8px;font-family:inherit;font-size:12px}.hpv-create-confirm,.hpv-create-cancel{border:1px solid var(--border);cursor:pointer;background:var(--bg-hover);color:var(--text);border-radius:5px;align-items:center;padding:5px 7px;font-size:11px;display:flex}.hpv-create-confirm:hover{color:#fff;background:#3da86b;border-color:#0000}.hpv-create-cancel:hover{background:var(--danger,#f47070);color:#fff;border-color:#0000}.hpv-main{flex-direction:column;flex:1;display:flex;overflow:visible}.hpv-main>.hpv-panel{flex:1;overflow:visible auto}.hpv-empty-state{color:var(--text-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:40px;display:flex}.hpv-panel{flex-direction:column;gap:0;min-height:100%;display:flex}.hpv-panel-header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:14px 20px 8px;display:flex}.hpv-hierarchy-name{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;flex:1;align-items:center;padding:2px 4px;font-size:16px;font-weight:700;display:flex}.hpv-hierarchy-name:hover{background:var(--bg-hover)}.hpv-hierarchy-name-input{color:var(--text);background:var(--bg-inset);border:1px solid var(--accent);border-radius:4px;outline:none;flex:1;padding:2px 6px;font-family:inherit;font-size:16px;font-weight:700}.hpv-delete-btn{border:1px solid var(--border);cursor:pointer;color:var(--text-muted);background:0 0;border-radius:5px;align-items:center;padding:5px 7px;transition:background .1s,color .1s;display:flex}.hpv-delete-btn:hover{background:var(--danger-dim);color:var(--danger,#f47070);border-color:var(--danger,#f47070)}.hpv-panel-intro{color:var(--text-muted);border-bottom:1px solid var(--border-subtle,var(--border));padding:8px 20px;font-size:11px;line-height:1.5}.hpv-layers{flex-direction:column;flex:1;gap:0;padding:12px 20px;display:flex}.hpv-empty-layers{color:var(--text-muted);text-align:center;padding:20px 0;font-size:13px;font-style:italic}.hpv-layer{border:1px solid var(--border);background:var(--bg-card,#ffffff0a);border-radius:8px;flex-direction:column;margin-bottom:8px;transition:border-color .1s,background .1s;display:flex;overflow:hidden}.hpv-layer-drag-over{border-color:var(--layer-color,var(--accent));background:var(--bg-card,#ffffff0a)}.hpv-layer-header{border-bottom:1px solid var(--border-subtle,var(--border));background:#0000001f;align-items:center;gap:8px;padding:8px 10px;display:flex}.hpv-layer-rank-badge{color:#000000b3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;font-weight:800;display:flex}.hpv-layer-name{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px dashed #0000;border-radius:4px;flex:1;padding:2px 4px;font-size:13px;font-weight:600;transition:border-color .1s}.hpv-layer-name:hover{border-bottom-color:var(--border-strong)}.hpv-layer-name-input{color:var(--text);background:var(--bg-inset);border:1px solid var(--accent);border-radius:4px;outline:none;flex:1;padding:2px 6px;font-family:inherit;font-size:13px;font-weight:600}.hpv-layer-member-count{color:var(--text-muted);background:var(--bg-inset);border-radius:8px;flex-shrink:0;padding:1px 6px;font-size:10px}.hpv-layer-controls{flex-shrink:0;gap:2px;display:flex}.hpv-ctrl{border:1px solid var(--border);cursor:pointer;width:22px;height:22px;color:var(--text-muted);background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:background .1s,color .1s;display:flex}.hpv-ctrl:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.hpv-ctrl:disabled{opacity:.25;cursor:not-allowed}.hpv-ctrl-add:hover:not(:disabled){color:#fff;background:#3da86b;border-color:#0000}.hpv-ctrl-del:hover:not(:disabled){background:var(--danger,#f47070);color:#fff;border-color:#0000}.hpv-layer-members{flex-wrap:wrap;align-items:flex-start;gap:6px;min-height:44px;padding:10px;display:flex}.hpv-layer-empty-prompt{border:1px dashed var(--border);cursor:pointer;color:var(--text-muted);background:0 0;border-radius:5px;align-items:center;gap:5px;padding:6px 10px;font-size:11px;transition:border-color .1s,color .1s;display:flex}.hpv-layer-empty-prompt:hover{border-color:var(--accent);color:var(--accent)}.hpv-chip{background:var(--bg-hover);border:1px solid var(--border);border-left:2px solid var(--layer-color,var(--accent));border-radius:5px;align-items:center;gap:3px;padding:3px 5px 3px 7px;font-size:12px;display:flex}.hpv-chip-inner{cursor:pointer;color:var(--text);background:0 0;border:none;align-items:center;gap:5px;padding:0;display:flex}.hpv-chip-inner:hover .hpv-chip-name{text-decoration:underline}.hpv-chip-name{color:var(--text);font-weight:500}.hpv-chip-title{color:var(--text-muted);background:var(--bg-inset);border-radius:4px;padding:1px 5px;font-size:10px;font-style:italic}.hpv-chip-btn{cursor:pointer;width:18px;height:18px;color:var(--text-muted);background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;transition:background .1s,color .1s;display:flex}.hpv-chip-btn:hover{background:var(--bg-active,var(--bg-hover));color:var(--text)}.hpv-chip-edit:hover{color:var(--accent)}.hpv-chip-remove:hover{color:var(--danger,#f47070);background:var(--danger-dim)}.hpv-chip-title-input{color:var(--text);background:var(--bg-inset);border:1px solid var(--accent);border-radius:3px;outline:none;width:120px;padding:1px 5px;font-family:inherit;font-size:11px}.hpv-picker{z-index:9999;background:var(--bg-elevated,#0d2124);border:1px solid var(--border-strong);border-radius:8px;width:220px;overflow:hidden;box-shadow:0 8px 24px #00000073}.hpv-picker-search{border-bottom:1px solid var(--border);color:var(--text-muted);align-items:center;gap:7px;padding:7px 10px;display:flex}.hpv-picker-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:12px}.hpv-picker-input::placeholder{color:var(--text-muted)}.hpv-picker-list{max-height:200px;padding:4px;overflow-y:auto}.hpv-picker-item{cursor:pointer;width:100%;color:var(--text);text-align:left;background:0 0;border:none;border-radius:5px;padding:6px 10px;font-size:12px;transition:background .1s;display:block}.hpv-picker-item:hover{background:var(--bg-hover)}.hpv-picker-empty{color:var(--text-muted);text-align:center;padding:12px;font-size:11px;font-style:italic}.hpv-add-layer-row{border-top:1px solid var(--border);flex-shrink:0;gap:6px;padding:12px 20px 16px;display:flex}.hpv-add-layer-input{background:var(--bg-inset,#00000026);border:1px solid var(--border);color:var(--text);border-radius:6px;outline:none;flex:1;padding:6px 10px;font-family:inherit;font-size:12px}.hpv-add-layer-input:focus{border-color:var(--accent)}.hpv-add-layer-input::placeholder{color:var(--text-muted)}.hpv-add-layer-btn{background:var(--bg-hover);border:1px solid var(--border);cursor:pointer;color:var(--text);border-radius:6px;flex-shrink:0;align-items:center;gap:5px;padding:6px 14px;font-size:12px;transition:background .1s;display:flex}.hpv-add-layer-btn:hover{background:var(--accent);color:#fff;border-color:#0000}.hpv-sidebar-group-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;flex-shrink:0;padding:6px 10px 2px;font-size:10px;font-weight:700}.hpv-sidebar-item{cursor:pointer;text-align:left;color:var(--text);background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;width:100%;padding:7px 10px;transition:background .1s;display:flex}.hpv-sidebar-item-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.hpv-type-section{margin-bottom:4px}.hpv-type-section-header{text-transform:uppercase;letter-spacing:.7px;color:var(--section-color,var(--text-muted));-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:6px;padding:8px 10px 4px;font-size:10px;font-weight:700;display:flex}.hpv-sidebar-item-plain{cursor:pointer;text-align:left;width:100%;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:5px;padding:5px 14px 5px 22px;font-family:inherit;font-size:13px;transition:background .1s,color .1s;display:block;overflow:hidden}.hpv-sidebar-item-plain:hover{background:var(--bg-hover);color:var(--text-primary)}.hpv-sidebar-item-plain.active{background:var(--accent-dim);color:var(--accent);font-weight:500}.hpv-unranked-section{border:1px dashed var(--border-strong);background:#ffffff05;border-radius:8px;margin:10px 0 4px;padding:10px 12px}.hpv-unranked-header{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;font-size:11px;display:flex}.hpv-unranked-count{background:var(--bg-hover);color:var(--text-secondary);border-radius:10px;padding:1px 6px;font-size:10px;font-weight:600}.hpv-unranked-hint{color:var(--text-muted);font-size:10px;font-style:italic}.hpv-unranked-list{flex-direction:column;gap:4px;display:flex}.hpv-unranked-chip{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;align-items:center;gap:8px;padding:5px 8px;display:flex}.hpv-unranked-name{cursor:pointer;text-align:left;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;flex:1;min-width:0;padding:0;font-family:inherit;font-size:12px;overflow:hidden}.hpv-unranked-name:hover{color:var(--text-primary);text-decoration:underline}.hpv-unranked-assign-wrap{flex-shrink:0;position:relative}.hpv-unranked-assign-btn{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:4px;align-items:center;gap:4px;padding:3px 7px;font-family:inherit;font-size:10px;font-weight:600;transition:background .1s,color .1s;display:flex}.hpv-unranked-assign-btn:hover{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}.hpv-unranked-menu{background:var(--bg-elevated);border:1px solid var(--border-strong);z-index:100;border-radius:7px;min-width:130px;padding:4px;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0006}.hpv-unranked-menu-empty{color:var(--text-muted);text-align:center;padding:6px 8px;font-size:11px}.hpv-unranked-menu-item{cursor:pointer;width:100%;color:var(--text-secondary);text-align:left;background:0 0;border:none;border-radius:5px;align-items:center;gap:7px;padding:6px 8px;font-family:inherit;font-size:12px;transition:background .1s;display:flex}.hpv-unranked-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.hpv-unranked-menu-dot{background:var(--layer-dot,var(--text-muted));border-radius:50%;flex-shrink:0;width:8px;height:8px}.hpv-root{position:relative}.hpv-root:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(60% 40% at 20% 30%,#4a8fd412 0%,#0000 70%),radial-gradient(50% 60% at 80% 70%,#8b65c90d 0%,#0000 70%),radial-gradient(70% 50%,#3da86b0a 0%,#0000 70%);animation:16s ease-in-out infinite alternate hpvBgDrift;position:absolute;inset:0}@keyframes hpvBgDrift{0%{opacity:1;background-position:20% 30%,80% 70%,50%}33%{background-position:30% 20%,70% 80%,60% 40%}66%{background-position:15% 60%,85% 30%,40% 65%}to{opacity:.7;background-position:25% 40%,75% 60%,55% 45%}}.hpv-sidebar,.hpv-main{z-index:1;position:relative}.hpv-layer{-webkit-backdrop-filter:blur(4px)}.hpv-panel-header{-webkit-backdrop-filter:blur(6px)}.app-layout-mobile{background:var(--bg-primary);flex-direction:column;width:100vw;height:100dvh;padding-bottom:60px;display:flex;position:relative;overflow:hidden}.mobile-header{background:var(--bg-secondary);border-bottom:1px solid var(--border);z-index:200;flex-shrink:0;align-items:center;gap:6px;height:52px;min-height:52px;padding:0 8px;display:flex;position:relative}.mobile-header-btn{border-radius:var(--radius);width:38px;height:38px;color:var(--text-secondary);transition:background var(--transition), color var(--transition);flex-shrink:0;justify-content:center;align-items:center;display:flex}.mobile-header-btn:hover,.mobile-header-btn:active{background:var(--bg-hover);color:var(--text-primary)}.mobile-header-title{border-radius:var(--radius);background:var(--bg-elevated);border:1px solid var(--border);min-width:0;color:var(--text-primary);transition:background var(--transition);flex:1;align-items:center;gap:7px;padding:6px 10px;font-size:14px;font-weight:600;display:flex;overflow:hidden}.mobile-header-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-header-title:hover{background:var(--bg-hover)}.mobile-content{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.mobile-nodes-pane{background:var(--bg-primary);flex-direction:column;flex:1;display:flex;overflow:hidden}.mobile-bottom-nav{background:var(--bg-secondary);border-top:1px solid var(--border);z-index:400;height:60px;min-height:60px;padding-bottom:env(safe-area-inset-bottom,0px);align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav-tab{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;transition:color var(--transition), background var(--transition);border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:10px;font-weight:500;display:flex}.mobile-nav-tab:hover{background:var(--bg-hover);color:var(--text-secondary)}.mobile-nav-tab.active{color:var(--accent)}.mobile-node-sheet{z-index:300;background:var(--bg-secondary);border-top:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;animation:sheetSlideUp .22s var(--ease) both;padding-bottom:env(safe-area-inset-bottom,0px);position:absolute;bottom:0;left:0;right:0;box-shadow:0 -8px 32px #00000073}@keyframes sheetSlideUp{0%{opacity:.6;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.mobile-node-sheet-handle{background:var(--border-strong);border-radius:2px;width:36px;height:4px;margin:10px auto 0}.mobile-node-sheet-content{flex-direction:column;gap:12px;padding:14px 16px 20px;display:flex}.mobile-node-sheet-header{align-items:center;gap:12px;display:flex}.mobile-node-sheet-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.mobile-node-sheet-title{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.mobile-node-sheet-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;overflow:hidden}.mobile-node-sheet-type{text-transform:uppercase;letter-spacing:.07em;font-size:11px;font-weight:500}.mobile-node-sheet-close{border-radius:var(--radius);width:32px;height:32px;color:var(--text-muted);transition:background var(--transition);flex-shrink:0;justify-content:center;align-items:center;display:flex}.mobile-node-sheet-close:hover{background:var(--bg-hover);color:var(--text-primary)}.mobile-node-sheet-desc{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.mobile-node-sheet-cta{justify-content:center;width:100%;padding:12px 20px;font-size:14px}.mobile-detail-overlay{z-index:500;background:var(--bg-secondary);animation:sheetSlideUp .25s var(--ease) both;flex-direction:column;display:flex;position:fixed;inset:0}.mobile-detail-back-bar{border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;align-items:center;height:52px;min-height:52px;padding:0 8px;display:flex}.mobile-back-btn{border-radius:var(--radius);color:var(--accent);transition:background var(--transition);align-items:center;gap:6px;padding:8px 12px;font-size:14px;font-weight:500;display:flex}.mobile-back-btn:hover{background:var(--accent-dim)}.mobile-detail-scroll{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.mobile-detail-scroll .detail-panel{width:100%;min-width:unset;border-left:none;animation:none}.mobile-sheet-backdrop{z-index:400;animation:fadeIn .18s var(--ease) both;background:#0000008c;align-items:flex-end;display:flex;position:fixed;inset:0}.mobile-sheet{background:var(--bg-secondary);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-top:1px solid var(--border);width:100%;animation:sheetSlideUp .24s var(--ease) both;max-height:80dvh;padding-bottom:env(safe-area-inset-bottom,0px);flex-direction:column;display:flex;box-shadow:0 -8px 32px #00000073}.mobile-sheet-handle{background:var(--border-strong);border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:10px auto 0}.mobile-sheet-header{flex-shrink:0;align-items:center;gap:8px;padding:12px 16px 8px;display:flex}.mobile-sheet-campaign-btn{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);min-width:0;transition:background var(--transition);flex:1;align-items:center;gap:8px;padding:8px 12px;display:flex}.mobile-sheet-campaign-btn:hover{background:var(--bg-hover)}.mobile-sheet-campaign-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);text-align:left;flex:1;font-size:14px;font-weight:600;overflow:hidden}.mobile-campaign-picker{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);margin:0 16px 8px;overflow:hidden}.mobile-campaign-picker-item{width:100%;color:var(--text-primary);text-align:left;transition:background var(--transition);align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.mobile-campaign-picker-item:hover{background:var(--bg-hover)}.mobile-campaign-picker-item.active{color:var(--accent);font-weight:600}.mobile-campaign-picker-divider{background:var(--border);height:1px;margin:2px 0}.mobile-sheet-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;padding:8px 16px 4px;font-size:11px;font-weight:600}.mobile-sheet-map-list{-webkit-overflow-scrolling:touch;flex:1;padding:4px 16px 0;overflow-y:auto}.mobile-sheet-map-item{border-radius:var(--radius);width:100%;color:var(--text-primary);text-align:left;transition:background var(--transition);align-items:center;gap:10px;margin-bottom:2px;padding:10px 12px;font-size:14px;display:flex}.mobile-sheet-map-item:hover{background:var(--bg-hover)}.mobile-sheet-map-item.active{background:var(--accent-dim);color:var(--accent);font-weight:600}.mobile-sheet-map-item span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.mobile-sheet-map-delete{color:var(--text-muted);opacity:.5;transition:opacity var(--transition), color var(--transition);border-radius:4px;flex-shrink:0;padding:4px}.mobile-sheet-map-delete:hover{opacity:1;color:var(--danger)}.mobile-sheet-empty{color:var(--text-muted);text-align:center;padding:24px 16px;font-size:13px}.mobile-sheet-actions{border-top:1px solid var(--border);flex-shrink:0;padding:12px 16px 16px}@media (width<=768px){.campaign-select{justify-content:flex-start;padding:60px 20px 32px}.campaign-select .splash-logo{width:260px;margin-bottom:12px}.campaign-select .subtitle{margin-bottom:28px;font-size:11px}.campaign-grid{grid-template-columns:1fr;gap:12px}.campaign-card{padding:20px}.new-campaign-card{min-height:80px}.hpv-root{flex-direction:column}.hpv-sidebar{border-right:none;border-bottom:1px solid var(--border);-webkit-overflow-scrolling:touch;flex-direction:row;flex-shrink:0;align-items:center;gap:0;width:100%;min-width:0;height:auto;max-height:none;padding:8px 10px;overflow:auto hidden}.hpv-sidebar::-webkit-scrollbar{display:none}.hpv-sidebar-header{display:none}.hpv-sidebar-list{flex-direction:row;flex:1;align-items:center;gap:4px;padding:0;display:flex;overflow:visible}.hpv-type-section{flex-direction:row;align-items:center;gap:4px;margin-bottom:0;display:flex}.hpv-type-section-header{background:var(--section-color,var(--text-muted));letter-spacing:0;border-radius:50%;flex-shrink:0;gap:0;width:6px;height:6px;padding:0;font-size:0}.hpv-type-section-header svg{display:none}.hpv-sidebar-item-plain{white-space:nowrap;border-radius:var(--radius-pill);border:1px solid var(--border);width:auto;text-overflow:unset;background:var(--bg-elevated);flex-shrink:0;align-items:center;padding:5px 12px;font-size:12px;display:inline-flex;overflow:visible}.hpv-sidebar-item-plain.active{border-color:var(--accent)}.hpv-sidebar-new-btn{white-space:nowrap;border-radius:var(--radius-pill);flex-shrink:0;gap:4px;min-width:auto;padding:5px 12px;font-size:12px}.hpv-create-row{border-radius:var(--radius-pill);flex-shrink:0;gap:4px;padding:0 4px;display:inline-flex}.hpv-create-input{min-width:120px;padding:4px 8px;font-size:12px}.hpv-main{-webkit-overflow-scrolling:touch;flex:1;overflow:hidden auto}.hpv-panel{overflow-x:auto}.mobile-card-panel-wrap{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}}.mobile-fab{z-index:250;position:absolute;bottom:16px;right:16px}.mobile-fab-btn{background:var(--accent);color:#fff;width:52px;height:52px;box-shadow:0 4px 16px #0006, 0 0 0 0 var(--accent-glow);transition:transform .18s var(--ease), box-shadow .18s var(--ease);border-radius:50%;justify-content:center;align-items:center;display:flex}.mobile-fab-btn:hover,.mobile-fab-btn:active{box-shadow:var(--shadow-lg), 0 0 20px var(--accent-glow);transform:scale(1.08)}.mobile-fab-btn.open{transform:rotate(45deg)}.mobile-placer-sheet{z-index:250;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:180px;max-height:60dvh;animation:sheetSlideUp .18s var(--ease) both;flex-direction:column;gap:2px;padding:8px;display:flex;position:absolute;bottom:80px;right:16px;overflow-y:auto}.mobile-placer-item{border-radius:var(--radius);color:var(--text-primary);transition:background var(--transition);text-align:left;align-items:center;gap:10px;padding:9px 12px;font-size:13px;font-weight:500;display:flex}.mobile-placer-item:hover,.mobile-placer-item.active{background:var(--bg-hover)}.mobile-placer-item.active{color:var(--accent)}.mobile-placer-item-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}@media (width<=768px){.widget-layer{pointer-events:none}.widget-layer .widget-shell{pointer-events:auto}.modal-overlay:has(.settings-panel){align-items:flex-end;padding:0}.settings-panel{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100vw;max-width:100vw;height:92dvh;max-height:92dvh;animation:sheetSlideUp .26s var(--ease) both;flex-direction:column}.settings-sidebar{border-right:none;border-bottom:1px solid var(--border);-webkit-overflow-scrolling:touch;flex-direction:row;flex-shrink:0;align-items:center;width:100%;min-width:0;height:auto;padding:0 12px;overflow:auto hidden}.settings-sidebar::-webkit-scrollbar{display:none}.settings-sidebar-header{border-bottom:none;flex-shrink:0;gap:8px;padding:0}.settings-sidebar-header h2{white-space:nowrap;font-size:14px}.settings-sidebar-list{flex-direction:row;flex:1;align-items:center;gap:4px;padding:8px;overflow:auto hidden}.settings-sidebar-list::-webkit-scrollbar{display:none}.settings-nav-item{white-space:nowrap;border-radius:var(--radius-pill);border:1px solid #0000;flex-direction:row;flex-shrink:0;gap:6px;padding:6px 12px;font-size:12px}.settings-nav-item svg{width:13px;height:13px}.settings-nav-item .settings-nav-desc{display:none}.settings-nav-item.active{border-color:var(--accent);background:var(--accent-dim)}.settings-content{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}}.mobile-board{background:var(--bg-primary);flex-direction:column;flex:1;display:flex;overflow:hidden}.mobile-board-header{border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;align-items:center;gap:10px;padding:10px 16px;display:flex;position:relative}.mobile-board-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:11px;font-weight:600}.mobile-board-group-btn{border-radius:var(--radius-pill);background:var(--accent-dim);border:1px solid var(--accent);color:var(--accent);transition:background var(--transition);align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:600;display:flex}.mobile-board-group-btn:hover{background:var(--bg-hover)}.mobile-board-group-picker{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow);z-index:50;min-width:120px;position:absolute;top:calc(100% + 4px);left:16px;overflow:hidden}.mobile-board-group-item{width:100%;color:var(--text-primary);text-align:left;transition:background var(--transition);padding:10px 14px;font-size:13px;display:block}.mobile-board-group-item:hover{background:var(--bg-hover)}.mobile-board-group-item.active{color:var(--accent);font-weight:600}.mobile-board-list{-webkit-overflow-scrolling:touch;flex:1;padding:8px 0 24px;overflow-y:auto}.mobile-board-group{margin-bottom:2px}.mobile-board-group-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);width:100%;color:var(--text-primary);transition:background var(--transition);align-items:center;gap:10px;padding:12px 16px;font-size:13px;font-weight:600;display:flex}.mobile-board-group-header:hover{background:var(--bg-hover)}.mobile-board-group-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.mobile-board-group-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.mobile-board-group-count{color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-pill);flex-shrink:0;padding:1px 8px;font-size:11px;font-weight:600}.mobile-board-group-rows{background:var(--bg-primary)}.mobile-board-row{border-bottom:1px solid var(--border-subtle);width:100%;transition:background var(--transition);align-items:center;gap:10px;padding:11px 16px 11px 28px;display:flex}.mobile-board-row:hover,.mobile-board-row:active{background:var(--bg-hover)}.mobile-board-row-info{text-align:left;flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.mobile-board-row-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.mobile-board-row-meta{color:var(--text-muted);font-size:11px}.mobile-board-empty{text-align:center;color:var(--text-muted);padding:48px 24px;font-size:13px}.mobile-settings-overlay{z-index:250;background:var(--bg-base);flex-direction:column;display:flex;position:fixed;inset:0 0 60px;overflow:hidden}.mobile-settings-header{border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;justify-content:space-between;align-items:center;height:52px;padding:0 8px;display:flex}.mobile-settings-title{color:var(--text-primary);letter-spacing:-.01em;font-size:15px;font-weight:600}.mobile-settings-tabs{border-bottom:1px solid var(--border);background:var(--bg-surface);scrollbar-width:none;flex-shrink:0;gap:4px;padding:8px 12px;display:flex;overflow-x:auto}.mobile-settings-tabs::-webkit-scrollbar{display:none}.mobile-settings-tab{border-radius:var(--radius-pill);border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;cursor:pointer;transition:all var(--transition);background:0 0;flex-shrink:0;align-items:center;gap:5px;padding:6px 12px;font-size:12px;font-weight:500;display:flex}.mobile-settings-tab.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.mobile-settings-pane-wrap{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.settings-content-mobile{width:100%;height:auto!important;padding:0!important;overflow:visible!important}.settings-content-mobile .settings-pane{padding:16px}.settings-content-mobile .settings-pane-header{gap:12px;margin-bottom:16px}.settings-content-mobile .settings-section{margin-bottom:20px}.settings-content-mobile .settings-pane>div[style*="height: 360"]{flex-direction:column!important;height:auto!important;overflow:visible!important}.settings-content-mobile div[style*="width: 160"]{scrollbar-width:none;flex-wrap:nowrap;flex-shrink:0;padding-bottom:4px;flex-direction:row!important;gap:4px!important;width:100%!important;overflow:auto hidden!important}.settings-content-mobile div[style*="width: 160"]::-webkit-scrollbar{display:none}.settings-content-mobile div[style*="width: 1"][style*="background: var(--border)"]{display:none}.settings-content-mobile div[style*="flex: 1"][style*="overflowY: auto"]{overflow:visible!important}.mboard-root{background:var(--bg-primary);flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.mboard-boards{flex:1;display:flex;overflow:hidden}.mboard-divider{background:var(--border);flex-shrink:0;width:1px}.mboard-col{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.mboard-col-empty{flex:1;justify-content:center;align-items:center;display:flex}.mboard-col-empty-inner{flex-direction:column;align-items:center;gap:10px;display:flex}.mboard-add-btn{border:2px dashed var(--border-strong);width:52px;height:52px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:flex}.mboard-add-btn:active{border-color:var(--accent);color:var(--accent)}.mboard-col-empty-hint{color:var(--text-muted);text-align:center;font-size:11px}.mboard-col-header{background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:6px;padding:8px 8px 8px 0;display:flex;position:relative}.mboard-col-header-accent{background:var(--col-color,var(--accent));border-radius:0 2px 2px 0;flex-shrink:0;align-self:stretch;width:3px}.mboard-col-header-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.mboard-col-header-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.mboard-col-header-sub{text-transform:uppercase;letter-spacing:.05em;font-size:9px;font-weight:700}.mboard-col-count{color:var(--text-muted);background:var(--bg-inset);border-radius:var(--radius-pill);flex-shrink:0;padding:1px 5px;font-size:10px}.mboard-swap-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;flex-shrink:0;align-items:center;padding:4px 6px;transition:color .12s,background .12s;display:flex}.mboard-swap-btn:active{color:var(--accent);background:var(--accent-dim)}.mboard-focused-drop-zone{border-radius:var(--radius);cursor:pointer;text-align:center;background:0 0;border:1px dashed;margin:6px 8px 0;padding:8px;font-size:11px;font-weight:600;transition:background .12s}.mboard-focused-drop-zone:active{background:#ffffff0f}.mboard-col-body{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:4px;padding:6px;display:flex;overflow-y:auto}.mboard-col-body::-webkit-scrollbar{display:none}.mboard-col-placeholder{color:var(--text-muted);text-align:center;padding:24px 8px;font-size:11px;font-style:italic}.mboard-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-surface);cursor:pointer;align-items:center;gap:6px;padding:6px 7px;transition:border-color .12s,background .12s;display:flex;position:relative}.mboard-card:active{background:var(--bg-hover)}.mboard-card.picked{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 1px var(--accent)}.mboard-card.drop-target{cursor:default}.mboard-card.drop-target.droppable{cursor:pointer;border-color:var(--border-strong)}.mboard-card.drop-target.droppable:active{border-color:var(--accent);background:var(--accent-dim)}.mboard-card-icon{border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.mboard-card-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.mboard-card-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:500;overflow:hidden}.mboard-card-staged{color:var(--text-muted);align-items:center;gap:3px;font-size:9px;font-weight:600;display:inline-flex}.mboard-card-pick-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;padding:3px;transition:color .12s,background .12s;display:flex}.mboard-card-pick-btn.active{color:var(--accent);background:var(--accent-dim)}.mboard-card-drop-hint{color:var(--accent);letter-spacing:.04em;flex-shrink:0;font-size:9px;font-weight:700}.mboard-pick-overlay{z-index:2;background:0 0;position:absolute;inset:0}.mboard-pick-banner{background:var(--accent-dim);border-bottom:1px solid var(--accent);color:var(--text-primary);pointer-events:all;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 14px;font-size:12px;display:flex}.mboard-pick-cancel{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:flex}.mboard-picker-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:300;background:#00000080;align-items:flex-end;display:flex;position:fixed;inset:0}.mboard-picker-sheet{background:var(--bg-elevated);border-top:1px solid var(--border-strong);border-radius:var(--radius-xl) var(--radius-xl) 0 0;flex-direction:column;width:100%;max-height:80vh;animation:.22s ease-out slide-up;display:flex;overflow:hidden}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mboard-picker-handle{background:var(--border-strong);border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:10px auto 0}.mboard-picker-header{border-bottom:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:10px;padding:8px 16px 10px;display:flex}.mboard-picker-title-row{justify-content:space-between;align-items:center;display:flex}.mboard-picker-title{color:var(--text-primary);font-size:16px;font-weight:600}.mboard-picker-tabs{gap:4px;display:flex}.mboard-picker-tab{border-radius:var(--radius);cursor:pointer;border:1px solid;border-color:var(--border);color:var(--text-secondary);background:0 0;flex:1;padding:7px 0;font-size:13px;font-weight:600;transition:all .12s}.mboard-picker-tab.active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.mboard-picker-search{background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);align-items:center;gap:8px;padding:0 10px;display:flex}.mboard-picker-search input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:8px 0;font-size:14px}.mboard-picker-body{flex:1;padding:8px;overflow-y:auto}.mboard-picker-row{border-radius:var(--radius);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 8px;transition:background .1s;display:flex}.mboard-picker-row:active{background:var(--bg-hover)}.mboard-picker-row-icon{border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.mboard-picker-row-label{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;font-weight:500;overflow:hidden}.mboard-picker-row-count{color:var(--text-muted);background:var(--bg-inset);border-radius:var(--radius-pill);flex-shrink:0;padding:2px 7px;font-size:11px}.mboard-picker-row-type{text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;font-size:10px;font-weight:700}.mboard-picker-group-header{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;padding:10px 8px 4px;font-size:10px;font-weight:700;display:flex}.mboard-picker-group-badge{border-radius:var(--radius-pill);background:var(--accent-dim);color:var(--accent);padding:1px 5px;font-size:9px;font-weight:700}.mboard-picker-empty{text-align:center;color:var(--text-muted);padding:24px 16px;font-size:13px}.mboard-prompt-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:300;background:#00000080;align-items:flex-end;display:flex;position:fixed;inset:0}.mboard-prompt-sheet{background:var(--bg-elevated);border-top:1px solid var(--border-strong);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;animation:.2s ease-out slide-up}.mboard-prompt-handle{background:var(--border-strong);border-radius:2px;width:36px;height:4px;margin:10px auto 0}.mboard-prompt-body{flex-direction:column;gap:10px;padding:16px 20px 32px;display:flex}.mboard-prompt-text{color:var(--text-primary);text-align:center;margin:0;font-size:14px}.mboard-prompt-sub{color:var(--text-muted);text-align:center;margin:0 0 4px;font-size:12px}.mboard-prompt-btn{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;text-align:left;align-items:center;gap:10px;padding:12px 16px;font-size:14px;font-weight:600;transition:background .12s;display:flex}.mboard-prompt-btn:active{background:var(--bg-hover)}.mboard-prompt-btn.primary{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.mboard-prompt-hint{color:var(--text-muted);margin-left:auto;font-size:11px;font-weight:400}.mboard-prompt-cancel{color:var(--text-muted);cursor:pointer;text-align:center;background:0 0;border:none;width:100%;padding:8px;font-size:14px}.mobile-placer-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:4px 10px 2px;font-size:10px;font-weight:700}.mobile-node-sheet-handle-bar{cursor:pointer;touch-action:pan-y;justify-content:center;width:100%;padding:8px 0 2px;display:flex}.mobile-node-sheet-title-area{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.mobile-node-sheet-name-input{border:none;border-bottom:1px solid var(--border);color:var(--text-primary);background:0 0;border-radius:0;outline:none;width:100%;padding:2px 0;font-size:15px;font-weight:600;line-height:1.3}.mobile-node-sheet-name-input:focus{border-bottom-color:var(--accent)}.mobile-node-sheet-name-input::placeholder{color:var(--text-muted);font-weight:400}.mobile-node-sheet-cta{justify-content:center;align-items:center;gap:6px;width:100%;margin-top:4px;display:flex}.mobile-node-sheet-desc-input{background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text-primary);resize:none;outline:none;margin-top:2px;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.5;transition:border-color .12s}.mobile-node-sheet-desc-input:focus{border-color:var(--accent)}.mobile-node-sheet-desc-input::placeholder{color:var(--text-muted)}@media (width<=768px){.map-canvas-container canvas,.map-canvas-container{touch-action:none}}.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:400px;padding:36px 32px;box-shadow:0 8px 40px #00000052}.auth-title{color:var(--text-primary);text-align:center;margin-bottom:24px;font-family:Cal Sans,Lexend,system-ui,sans-serif;font-size:22px;font-weight:400}.auth-error{color:#f47070;border-radius:var(--radius);background:#f470701a;border:1px solid #f4707040;margin:0;padding:8px 12px;font-size:13px}.auth-switch-btn{color:var(--accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-family:inherit;font-size:13px;text-decoration:underline}.auth-switch-btn:hover{opacity:.8}.lp-root{scroll-behavior:smooth;background:var(--bg-primary);height:100vh;overflow:hidden auto}.lp-section-inner{max-width:1020px;margin:0 auto;padding:0 32px}.lp-section-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;font-size:11px;font-weight:600}.lp-section-heading{letter-spacing:-.02em;color:var(--text-primary);margin-bottom:14px;font-family:Cal Sans,Lexend,system-ui,sans-serif;font-size:36px;font-weight:400;line-height:1.1}.lp-section-sub{color:var(--text-secondary);max-width:560px;margin-bottom:52px;font-size:15px;line-height:1.65}.lp-hero{text-align:center;isolation:isolate;flex-direction:column;justify-content:center;align-items:center;min-height:78vh;padding:60px 32px 80px;display:flex;position:relative;overflow:hidden}.lp-orb{pointer-events:none;filter:blur(80px);border-radius:50%;position:absolute}.lp-orb-a{background:radial-gradient(circle,#ff924821 0%,#0000 70%);width:520px;height:520px;top:-120px;left:50%;transform:translate(-50%)}.lp-orb-b{background:radial-gradient(circle,#6db3ff1a 0%,#0000 70%);width:380px;height:380px;bottom:0;right:5%}.lp-orb-c{background:radial-gradient(circle,#ff92481c 0%,#0000 70%);width:600px;height:400px;top:50%;left:50%;transform:translate(-50%,-50%)}.lp-chip{color:var(--text-secondary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;animation:5s ease-in-out infinite chipFloat;animation-delay:var(--chip-delay,0s);background:#ffffff0e;border:1px solid #ffffff17;border-radius:100px;align-items:center;gap:6px;padding:5px 11px 5px 8px;font-size:11px;font-weight:500;transition:transform .4s cubic-bezier(.22,1,.36,1);display:flex;position:absolute}@keyframes chipFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.lp-chip-dot{background:var(--chip-color,var(--accent));width:7px;height:7px;box-shadow:0 0 6px var(--chip-color,var(--accent));border-radius:50%;flex-shrink:0}.lp-hero-content{z-index:2;flex-direction:column;align-items:center;display:flex;position:relative}.lp-hero-logo{filter:drop-shadow(0 0 28px #ff924847);width:380px;max-width:80vw;height:auto;margin-bottom:6px;animation:4s ease-in-out infinite logoFloat}.lp-hero-sub{letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:32px;font-size:11px;font-weight:500}.lp-hero-headline{letter-spacing:-.03em;color:var(--text-primary);margin-bottom:18px;font-family:Cal Sans,Lexend,system-ui,sans-serif;font-size:clamp(38px,6vw,68px);font-weight:400;line-height:1.05}.lp-headline-accent{background:linear-gradient(120deg, var(--accent) 0%, #ffcba4 60%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.lp-hero-body{color:var(--text-secondary);letter-spacing:.01em;margin-bottom:40px;font-size:17px}.lp-hero-ctas{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;display:flex}.lp-cta-primary{background:var(--accent);color:#fff;border-radius:var(--radius);letter-spacing:.01em;cursor:pointer;transition:all .2s var(--ease);box-shadow:0 0 0 0 var(--accent-glow);border:none;align-items:center;gap:8px;padding:13px 26px;font-size:14px;font-weight:600;display:inline-flex}.lp-cta-primary:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 8px 24px #ff924859}.lp-cta-primary:active{transform:translateY(0)}.lp-cta-sm{margin-top:4px;padding:9px 18px;font-size:13px}.lp-cta-lg{padding:16px 34px;font-size:15px}.lp-cta-ghost{color:var(--text-secondary);border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;transition:all .2s var(--ease);background:0 0;align-items:center;gap:7px;padding:13px 20px;font-size:14px;font-weight:500;display:inline-flex}.lp-cta-ghost:hover{color:var(--text-primary);background:var(--bg-hover);border-color:#ffffff40}.lp-hero-fine{color:var(--text-muted);letter-spacing:.04em;margin-top:16px;font-size:11px}.lp-hero-scroll-hint{z-index:2;position:absolute;bottom:36px;left:50%;transform:translate(-50%)}.lp-hero-scroll-hint span{background:linear-gradient(#ffffff40,#0000);width:1px;height:48px;margin:0 auto;animation:2s ease-in-out infinite scrollPulse;display:block}@keyframes scrollPulse{0%,to{opacity:.3;transform:scaleY(1)}50%{opacity:.9;transform:scaleY(1.1)}}.lp-features{background:var(--bg-secondary);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);padding:100px 0 96px}.lp-feature-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}@media (width<=700px){.lp-feature-grid{grid-template-columns:1fr}}.lp-feature-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .24s var(--ease), box-shadow .24s var(--ease);padding:28px 28px 32px;position:relative;overflow:hidden}.lp-feature-card:before{content:"";border-radius:inherit;background:radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--feat-color) 8%, transparent), transparent 60%);opacity:0;transition:opacity .24s var(--ease);position:absolute;inset:0}.lp-feature-card:hover{border-color:color-mix(in srgb, var(--feat-color) 35%, transparent);box-shadow:0 0 32px color-mix(in srgb, var(--feat-color) 10%, transparent)}.lp-feature-card:hover:before{opacity:1}.lp-feat-icon{background:color-mix(in srgb, var(--feat-color) 14%, transparent);border:1px solid color-mix(in srgb, var(--feat-color) 28%, transparent);width:42px;height:42px;color:var(--feat-color);border-radius:10px;justify-content:center;align-items:center;margin-bottom:18px;display:flex;position:relative}.lp-feat-title{letter-spacing:-.01em;color:var(--text-primary);margin-bottom:10px;font-family:Cal Sans,Lexend,system-ui,sans-serif;font-size:17px;font-weight:400}.lp-feat-body{color:var(--text-secondary);font-size:13.5px;line-height:1.65}.lp-plans{background:var(--bg-primary);padding:100px 0 96px}.lp-plan-table-wrap{border-radius:var(--radius-lg);border:1px solid var(--border);overflow-x:auto}.lp-plan-table{border-collapse:collapse;width:100%;font-size:13.5px}.lp-plan-table thead tr{border-bottom:1px solid var(--border)}.lp-plan-th-label{width:42%;padding:0}.lp-plan-th{vertical-align:top;border-left:1px solid var(--border);width:29%;padding:28px 24px 24px}.lp-plan-th-pro{background:linear-gradient(160deg,#ff92480d 0%,#0000 60%)}.lp-plan-col-head{flex-direction:column;gap:4px;display:flex}.lp-plan-name{color:var(--text-primary);font-family:Cal Sans,Lexend,system-ui,sans-serif;font-size:20px;font-weight:400}.lp-plan-price{color:var(--text-primary);letter-spacing:-.02em;margin:4px 0 10px;font-size:26px;font-weight:600}.lp-plan-price-dim{color:var(--text-muted);font-size:20px}.lp-plan-period{color:var(--text-muted);font-size:13px;font-weight:400}.lp-plan-badge{letter-spacing:.1em;text-transform:uppercase;background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent-glow);border-radius:100px;width:fit-content;margin-bottom:6px;padding:3px 8px;font-size:10px;font-weight:600;display:inline-block}.lp-cta-pro-disabled{background:var(--bg-hover);color:var(--text-muted);border-radius:var(--radius);border:1px solid var(--border);cursor:not-allowed;opacity:.65;align-items:center;margin-top:4px;padding:9px 18px;font-size:13px;font-weight:500;display:inline-flex}.lp-plan-row-label{color:var(--text-secondary);padding:13px 24px;font-size:13px}.lp-plan-row-val{text-align:center;border-left:1px solid var(--border);padding:13px 24px}.lp-plan-row-pro{background:#ff92480a}.lp-plan-val{color:var(--text-secondary);text-align:center;font-size:13px}.lp-plan-check{color:var(--accent);font-size:15px;font-weight:700}.lp-plan-x{color:var(--text-muted);font-size:15px}.lp-footer-cta{text-align:center;padding:80px 32px;position:relative;overflow:hidden}.lp-footer-inner{flex-direction:column;align-items:center;gap:16px;max-width:520px;margin:0 auto;display:flex}.lp-footer-heading{color:var(--text-primary);font-size:clamp(22px,3vw,30px);font-weight:700;line-height:1.25}.lp-footer-sub{color:var(--text-secondary);font-size:15px;line-height:1.6}.auth-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);z-index:1;width:100%;max-width:380px;padding:32px 28px;position:relative}.auth-title{color:var(--text-primary);text-align:center;margin:0 0 20px;font-size:20px;font-weight:700}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-error{background:var(--danger-dim);border:1px solid var(--danger);border-radius:var(--radius);color:var(--danger);padding:10px 12px;font-size:13px;line-height:1.4}.auth-switch{text-align:center;color:var(--text-muted);margin-top:16px;font-size:13px}.auth-switch-btn{color:var(--accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:13px;font-weight:600;text-decoration:underline}.auth-switch-btn:hover{color:var(--accent-hover,var(--accent))}.aup-root{flex-direction:column;gap:0;display:flex}.aup-loading,.aup-error{text-align:center;color:var(--text-muted);padding:32px 16px;font-size:13px}.aup-retry{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.aup-plan-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:14px 16px;display:flex}.aup-plan-info{align-items:center;gap:10px;display:flex}.aup-plan-icon{border-radius:var(--radius);background:var(--accent-dim);width:32px;height:32px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.aup-plan-name{color:var(--text-primary);font-size:14px;font-weight:700;line-height:1.2}.aup-plan-status{color:var(--text-muted);text-transform:capitalize;margin-top:2px;font-size:11px}.aup-upgrade-link{color:var(--accent);white-space:nowrap;opacity:.85;align-items:center;gap:4px;font-size:11px;text-decoration:none;transition:opacity .15s;display:flex}.aup-upgrade-link:hover{opacity:1}.aup-section{margin-bottom:20px}.aup-section-title{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);align-items:center;gap:8px;margin-bottom:10px;font-size:10px;font-weight:700;display:flex}.aup-period-end{text-transform:none;letter-spacing:0;color:var(--text-muted);opacity:.7;font-size:10px;font-weight:400}.aup-row{margin-bottom:12px}.aup-row-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:5px;display:flex}.aup-row-label{color:var(--text-secondary);font-size:12px}.aup-row-value{color:var(--text-primary);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.aup-unlimited-tag{text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-pill);color:var(--success,#4ade80);background:#64dc8226;border:1px solid #64dc8240;padding:2px 6px;font-size:9px;font-weight:700}.aup-bar-track{background:var(--bg-elevated);border:1px solid var(--border);border-radius:2px;height:4px;overflow:hidden}.aup-bar-fill{border-radius:2px;min-width:2px;height:100%;transition:width .4s,background .3s}.aup-history-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.upgrade-page{padding-top:8px}.upgrade-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:20px;display:flex}.upgrade-badge{border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.08em;background:var(--accent-dim);color:var(--accent);border:1px solid #ff92484d;align-self:flex-start;padding:3px 10px;font-size:10px;font-weight:700;display:inline-flex}.upgrade-heading{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.upgrade-sub{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.55}.upgrade-features{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.upgrade-feature-row{color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.upgrade-fine{color:var(--text-muted);border-top:1px solid var(--border);margin:0;padding-top:4px;font-size:11px}.snapshot-sidebar__auto-saves{border-top:1px solid var(--border);flex-shrink:0;padding:10px 14px 12px}.snap-auto-header{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);align-items:center;gap:5px;margin-bottom:8px;font-size:10px;font-weight:700;display:flex}.snap-auto-hint{text-transform:none;letter-spacing:0;opacity:.65;margin-left:2px;font-size:10px;font-weight:400}.snap-auto-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:6px 0;display:flex}.snap-auto-row:last-child{border-bottom:none}.snap-auto-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.snap-auto-time{color:var(--text-primary);font-size:12px;font-weight:600}.snap-auto-counts{color:var(--text-muted);font-size:10px}.tour-backdrop{z-index:9997;pointer-events:none;background:#00000061;animation:.2s both fadeIn;position:fixed;inset:0}.tour-highlight{box-shadow:0 0 0 2px var(--accent), 0 0 0 5px #6e8efb38;pointer-events:none;z-index:9998;transition:top .22s var(--ease), left .22s var(--ease), width .22s var(--ease), height .22s var(--ease);border-radius:8px;animation:2s ease-in-out infinite tour-pulse;position:fixed}@keyframes tour-pulse{0%,to{box-shadow:0 0 0 2px var(--accent), 0 0 0 5px #6e8efb38}50%{box-shadow:0 0 0 2px var(--accent), 0 0 0 9px #6e8efb14}}.tour-card{background:var(--bg-elevated);border:1px solid var(--border);pointer-events:all;z-index:9999;width:320px;animation:tour-card-in .2s var(--ease) both;border-radius:12px;padding:18px 18px 14px;position:fixed;box-shadow:0 8px 40px #00000080}@keyframes tour-card-in{0%{opacity:0;transform:translateY(6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.tour-card[style*="translate(-50%,-50%)"]{animation:tour-card-center-in .22s var(--ease) both}@keyframes tour-card-center-in{0%{opacity:0;transform:translate(-50%,-46%)scale(.97)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.tour-card-header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px;display:flex}.tour-card-title{color:var(--text-primary);font-size:13px;font-weight:700;line-height:1.35}.tour-card-close{opacity:.45;flex-shrink:0;margin-top:-2px}.tour-card-close:hover{opacity:1}.tour-card-body{color:var(--text-secondary);margin:0 0 14px;font-size:12px;line-height:1.65}.tour-action-btn{justify-content:center;width:100%;margin-bottom:12px;font-size:12px}.tour-card-footer{align-items:center;gap:6px;display:flex}.tour-progress{color:var(--text-muted);flex:1;font-size:11px}.tour-skip-link{color:var(--text-muted);padding:3px 6px;font-size:11px}.tour-skip-link:hover{color:var(--text-secondary)}.tour-mobile-overlay{z-index:9999;pointer-events:all;background:#000000b8;align-items:flex-end;animation:.2s both fadeIn;display:flex;position:fixed;inset:0}.tour-mobile-sheet{background:var(--bg-elevated);border-top:1px solid var(--border);width:100%;animation:slideUp .25s var(--ease) both;border-radius:16px 16px 0 0;padding:24px 20px 36px}.tour-mobile-pip-row{justify-content:center;gap:5px;margin-bottom:20px;display:flex}.tour-mobile-pip{background:var(--border);border-radius:50%;width:6px;height:6px;transition:background .2s}.tour-mobile-pip.active{background:var(--accent);border-radius:3px;width:18px}.tour-mobile-icon{width:44px;height:44px;color:var(--accent);background:#6e8efb1f;border-radius:12px;justify-content:center;align-items:center;margin-bottom:14px;display:flex}.tour-mobile-title{color:var(--text-primary);margin-bottom:8px;font-size:17px;font-weight:700}.tour-mobile-body{color:var(--text-secondary);margin-bottom:24px;font-size:13px;line-height:1.65}.tour-mobile-footer{align-items:center;gap:10px;display:flex}.tour-mobile-skip{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex:1;padding:0;font-size:12px}.tour-mobile-nav{gap:8px;display:flex}.tour-launch-btn{align-items:center;gap:8px;margin-top:16px;font-size:12px;display:flex}.tr-widget{font-family:inherit}.tr-titlebar{border-radius:var(--radius) var(--radius) 0 0;border-bottom:1px solid var(--border-strong);cursor:grab;background:#00000038;flex-shrink:0;align-items:center;gap:7px;height:34px;padding:0 8px 0 10px;display:flex}.tr-titlebar:active{cursor:grabbing}.widget-minimized .tr-titlebar{border-bottom:none;border-radius:0;min-height:0;padding:6px 10px}.tr-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;letter-spacing:.02em;flex:1;font-size:11.5px;font-weight:600;overflow:hidden}.tr-body{flex-direction:column;gap:8px;padding:10px;display:flex;position:relative}.tr-selector-row{position:relative}.tr-table-btn{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:calc(var(--radius) - 2px);width:100%;color:var(--text-primary);cursor:pointer;justify-content:space-between;align-items:center;gap:6px;padding:6px 8px;font-size:11.5px;transition:border-color .15s,background .15s;display:flex}.tr-table-btn:hover{border-color:var(--accent);background:var(--bg-hover)}.tr-table-name{text-align:left;white-space:nowrap;text-overflow:ellipsis;color:var(--text-primary);flex:1;overflow:hidden}.tr-table-btn .tr-table-name:empty:before{color:var(--text-muted)}.tr-table-btn:not(:has(.tr-table-name:not(:empty))) .tr-table-name{color:var(--text-muted)}.tr-picker{z-index:9999;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;max-height:320px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden auto;box-shadow:0 8px 32px #00000080}.tr-picker-cat{border-bottom:1px solid var(--border)}.tr-picker-cat:last-child{border-bottom:none}.tr-picker-cat-header{width:100%;color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:7px 10px;font-size:10.5px;font-weight:700;transition:background .12s,color .12s;display:flex}.tr-picker-cat-header:hover{background:var(--bg-hover);color:var(--text-primary)}.tr-picker-count{color:var(--text-muted);margin-left:auto;font-size:10px;font-weight:400}.tr-picker-items{padding:2px 0 4px}.tr-picker-item{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;padding:5px 10px 5px 22px;font-size:11.5px;transition:background .1s;display:block;overflow:hidden}.tr-picker-item:hover{background:var(--bg-hover)}.tr-picker-item.active{color:var(--accent);background:rgba(var(--accent-rgb,245,146,66), .1)}.tr-controls-row{align-items:center;gap:6px;display:flex}.tr-count-label{color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-size:10.5px}.tr-count-btns{flex:1;gap:3px;display:flex}.tr-count-btn{background:var(--bg-surface);border:1px solid var(--border-strong);color:var(--text-secondary);cursor:pointer;border-radius:4px;flex:1;padding:4px 0;font-size:11px;font-weight:600;transition:background .12s,border-color .12s,color .12s}.tr-count-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.tr-count-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.tr-roll-btn{background:var(--accent);color:#fff;cursor:pointer;letter-spacing:.02em;border:none;border-radius:5px;flex-shrink:0;align-items:center;gap:5px;padding:5px 12px;font-size:11.5px;font-weight:700;transition:opacity .15s,transform .1s;display:flex}.tr-roll-btn:hover:not(:disabled){opacity:.85;transform:translateY(-1px)}.tr-roll-btn:active:not(:disabled){transform:translateY(0)}.tr-roll-btn:disabled{opacity:.35;cursor:default}.tr-results{flex-direction:column;gap:6px;display:flex}.tr-result-item{background:var(--bg-surface);border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);align-items:flex-start;gap:8px;padding:7px 9px;animation:.2s both tr-result-in;display:flex}@keyframes tr-result-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.tr-result-roll{color:var(--accent);text-align:right;opacity:.75;flex-shrink:0;min-width:22px;padding-top:1px;font-size:10px;font-weight:700}.tr-result-text{color:var(--text-primary);font-size:11.5px;line-height:1.5}.tr-empty{color:var(--text-muted);text-align:center;padding:8px 4px;font-size:11px;line-height:1.5}.tr-resize-handle{cursor:nwse-resize;opacity:.3;background:linear-gradient(135deg, transparent 40%, var(--border-strong) 40%, var(--border-strong) 55%, transparent 55%), linear-gradient(135deg, transparent 60%, var(--border-strong) 60%, var(--border-strong) 75%, transparent 75%);width:14px;height:14px;transition:opacity .15s;position:absolute;bottom:3px;right:3px}.tr-widget:hover .tr-resize-handle{opacity:.7}.image-frame-widget{border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.ifw-titlebar{background:var(--bg-elevated);border-bottom:1px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:6px;padding:5px 8px 5px 10px;display:flex}.ifw-title{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;font-weight:500;overflow:hidden}.ifw-title-input{background:var(--bg-inset);border:1px solid var(--border-strong);color:var(--text-primary);border-radius:4px;outline:none;flex:1;padding:2px 6px;font-size:12px}.ifw-body{background:var(--bg-inset);align-items:stretch;min-height:80px;display:flex;position:relative;overflow:hidden}.ifw-image{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.ifw-replace-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000a6;border:1px solid #ffffff26;border-radius:14px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:500;transition:background .15s;display:flex;position:absolute;bottom:8px;right:8px}.ifw-upload-zone{border:2px dashed var(--border-strong);width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:20px;transition:border-color .15s,background .15s;display:flex}.ifw-upload-zone:hover:not(:disabled){border-color:var(--accent);background:rgba(var(--accent-rgb,79,140,255), .05);color:var(--text-secondary)}.ifw-upload-zone:disabled{cursor:not-allowed;opacity:.7}.ifw-upload-label{color:var(--text-secondary);font-size:13px;font-weight:500}.ifw-upload-hint{color:var(--text-muted);font-size:11px}.ifw-error{color:#e05555;margin-top:4px;font-size:11px}.ifw-replace-btn{color:#ffffffd9;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;border:1px solid #ffffff26;border-radius:6px;align-items:center;gap:5px;padding:5px 10px;font-size:11.5px;transition:background .15s;display:flex;position:absolute;bottom:8px;right:8px}.ifw-replace-btn:hover{background:#000c}.ifw-uploading-overlay{color:#ffffffe6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex;position:absolute;inset:0}.ifw-spinner{border:2px solid #ffffff40;border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite ifw-spin;display:inline-block}@keyframes ifw-spin{to{transform:rotate(360deg)}}.widget-minimized .ifw-titlebar{border-bottom:none;border-radius:0;min-height:0;padding:6px 10px}.player-view-loading{background:var(--bg-base,#0a0e14);height:100vh;color:var(--text-primary,#e2e8f0);flex-direction:column;justify-content:center;align-items:center;gap:16px;font-family:Inter,system-ui,sans-serif;font-size:14px;display:flex}.player-loading-spinner{border:3px solid #ffffff1f;border-top-color:var(--accent,#fb923c);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite ifw-spin}.player-pending-text{text-align:center;color:var(--text-secondary,#94a3b8);line-height:1.6}.player-pending-text small{opacity:.7;font-size:11px}.player-logout-btn{border:1px solid var(--border,#2a3040);background:var(--bg-elevated,#1a2035);color:var(--text-secondary,#94a3b8);cursor:pointer;border-radius:6px;padding:7px 18px;font-size:13px}.player-logout-btn:hover{background:var(--bg-hover,#232d40)}.player-join-screen{background:var(--bg-base,#0a0e14);justify-content:center;align-items:center;height:100vh;font-family:Inter,system-ui,sans-serif;display:flex}.player-join-card{background:var(--bg-secondary,#111827);border:1px solid var(--border,#2a3040);border-radius:12px;flex-direction:column;gap:12px;width:360px;padding:36px 32px;display:flex}.player-join-logo{color:var(--accent,#fb923c);letter-spacing:.04em;text-transform:uppercase;font-size:13px;font-weight:600}.player-join-title{color:var(--text-primary,#e2e8f0);margin:0;font-size:18px;font-weight:600}.player-join-subtitle{color:var(--text-secondary,#94a3b8);margin:0;font-size:13px;line-height:1.5}.player-join-form{flex-direction:column;gap:10px;margin-top:4px;display:flex}.player-join-input{border:1px solid var(--border,#2a3040);background:var(--bg-inset,#0d1420);width:100%;color:var(--text-primary,#e2e8f0);box-sizing:border-box;border-radius:6px;padding:9px 12px;font-size:14px}.player-join-input:focus{border-color:var(--accent,#fb923c);outline:none}.player-join-error{color:#f87171;font-size:12px}.player-join-btn{background:var(--accent,#fb923c);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:9px 16px;font-size:14px;font-weight:500}.player-join-btn:hover:not(:disabled){filter:brightness(1.1)}.player-join-btn:disabled{opacity:.5;cursor:not-allowed}.player-view{background:var(--bg-base,#0a0e14);flex-direction:column;height:100vh;font-family:Inter,system-ui,sans-serif;display:flex;overflow:hidden}.player-view-header{background:var(--bg-secondary,#111827);border-bottom:1px solid var(--border,#2a3040);flex-shrink:0;align-items:center;gap:12px;height:44px;padding:0 16px;display:flex}.player-view-logo{color:var(--accent,#fb923c);letter-spacing:.05em;text-transform:uppercase;flex-shrink:0;font-size:12px;font-weight:700}.player-view-maps{flex:1;gap:4px;display:flex;overflow-x:auto}.player-map-tab{color:var(--text-secondary,#94a3b8);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:5px;padding:4px 12px;font-size:12px}.player-map-tab:hover{background:var(--bg-hover,#1a2035);color:var(--text-primary,#e2e8f0)}.player-map-tab.active{background:var(--bg-elevated,#1a2035);border-color:var(--border,#2a3040);color:var(--text-primary,#e2e8f0)}.player-view-header-right{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.player-session-chip{color:var(--text-primary,#e2e8f0);background:var(--bg-inset,#0d1420);border:1px solid;border-radius:20px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;display:flex}.player-session-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.player-view-body{flex:1;display:flex;position:relative;overflow:hidden}.player-canvas-container{flex:1;position:relative;overflow:hidden}.player-empty-state{background:var(--bg-elevated,#1a2035);border:1px solid var(--border,#2a3040);color:var(--text-secondary,#94a3b8);pointer-events:none;border-radius:8px;padding:12px 20px;font-size:13px;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.player-note-panel{background:var(--bg-secondary,#111827);border-left:1px solid var(--border,#2a3040);z-index:50;flex-direction:column;width:320px;animation:.15s ease-out slideInRight;display:flex;position:absolute;top:0;bottom:0;right:0;overflow:hidden}.player-note-header{border-bottom:1px solid var(--border,#2a3040);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.player-note-title-row{align-items:center;gap:7px;min-width:0;display:flex}.player-note-type-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.player-note-title{color:var(--text-primary,#e2e8f0);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.player-note-type{color:var(--text-muted,#64748b);text-transform:capitalize;flex-shrink:0;font-size:10px}.player-note-body{flex-direction:column;flex:1;gap:12px;padding:14px;display:flex;overflow-y:auto}.player-note-hero{object-fit:cover;border-radius:6px;width:100%;max-height:160px}.player-note-description{color:var(--text-secondary,#94a3b8);white-space:pre-wrap;font-size:13px;line-height:1.55}.player-note-other{background:var(--bg-inset,#0d1420);border-left:2px solid;border-radius:6px;flex-direction:column;gap:3px;padding:8px 10px;display:flex}.player-note-author{font-size:11px;font-weight:600}.player-note-other-text{color:var(--text-secondary,#94a3b8);white-space:pre-wrap;font-size:12px;line-height:1.45}.player-note-mine-section{flex-direction:column;gap:6px;display:flex}.player-note-mine-label{align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.player-note-status{color:var(--text-muted,#64748b);font-size:10px}.player-note-textarea{box-sizing:border-box;border:1px solid var(--border,#2a3040);background:var(--bg-inset,#0d1420);width:100%;min-height:80px;color:var(--text-primary,#e2e8f0);resize:vertical;border-radius:6px;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.5}.player-note-textarea:focus{border-color:var(--accent,#fb923c);outline:none}.pnp-tags{flex-wrap:wrap;gap:5px;display:flex}.pnp-tag-chip{border:1px solid var(--border,#2a3040);color:var(--text-secondary,#94a3b8);border-radius:10px;padding:2px 8px;font-size:11px}.pnp-field{flex-direction:column;gap:3px;display:flex}.pnp-field-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted,#64748b);font-size:10px;font-weight:600}.pnp-field-value{color:var(--text-secondary,#94a3b8);font-size:13px;line-height:1.5}.pnp-long-text{white-space:pre-wrap;line-height:1.55}.pnp-badge{background:var(--bg-inset,#0d1420);border:1px solid var(--border,#2a3040);color:var(--text-secondary,#94a3b8);text-transform:capitalize;border-radius:10px;padding:2px 8px;font-size:11px;display:inline-block}.pnp-badge-yes{color:#34d399;background:#34d39912;border-color:#34d399}.pnp-badge-no{border-color:var(--border,#2a3040);opacity:.6}.pnp-noderef-list{flex-direction:column;gap:4px;display:flex}.pnp-noderef-chip{border-left:3px solid var(--accent,#fb923c);background:var(--bg-inset,#0d1420);color:var(--text-primary,#e2e8f0);border-radius:5px;align-items:center;gap:6px;padding:4px 8px;font-size:12px;display:flex}.pnp-noderef-type{color:var(--text-muted,#64748b);text-transform:capitalize;margin-left:auto;font-size:10px}.pnp-divider{background:var(--border,#2a3040);height:1px;margin:4px 0}.player-tool-btn{border:1px solid var(--border,#2a3040);width:28px;height:28px;color:var(--text-secondary,#94a3b8);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.player-tool-btn:hover{background:var(--bg-inset,#0d1420);color:var(--text-primary,#e2e8f0)}.player-tool-btn.active{background:var(--accent,#fb923c);color:#fff;border-color:var(--accent,#fb923c)}.player-sticky-hint{color:#e2e8f0;pointer-events:none;white-space:nowrap;background:#000000b8;border:1px solid #ffffff14;border-radius:20px;padding:6px 14px;font-size:12px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.player-note-editor-overlay{z-index:200;border:1px solid var(--accent,#fb923c);background:#1e2a3a;border-radius:6px;padding:4px;position:absolute;box-shadow:0 4px 16px #00000080}.player-note-editor-textarea{width:180px;min-height:80px;color:var(--text-primary,#e2e8f0);resize:both;background:0 0;border:none;outline:none;padding:2px 4px;font-family:inherit;font-size:12px;line-height:1.5}.map-overlay-toggles{flex-direction:column;gap:4px;display:flex;position:absolute;top:12px;right:12px}.reveal-toggle-btn{color:var(--text-muted,#64748b)}.reveal-toggle-btn.is-revealed{color:var(--accent,#fb923c)}.invite-panel{z-index:120;background:var(--bg-secondary,#111827);border:1px solid var(--border,#2a3040);border-radius:10px;flex-direction:column;width:320px;display:flex;position:absolute;top:44px;right:8px;overflow:hidden;box-shadow:0 8px 32px #00000073}.invite-panel-header{border-bottom:1px solid var(--border,#2a3040);color:var(--text-primary,#e2e8f0);justify-content:space-between;align-items:center;padding:12px 14px;font-size:13px;font-weight:600;display:flex}.invite-panel-loading,.invite-panel-error,.invite-panel-empty{color:var(--text-secondary,#94a3b8);text-align:center;padding:20px 16px;font-size:13px}.invite-panel-error{color:#f87171}.invite-panel-section{border-bottom:1px solid var(--border-subtle,#1e2a3a);padding:12px 14px}.invite-panel-section:last-child{border-bottom:none}.invite-panel-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted,#64748b);margin-bottom:8px;font-size:10px;font-weight:600}.invite-panel-link-row{gap:6px;display:flex}.invite-panel-link-input{border:1px solid var(--border,#2a3040);background:var(--bg-inset,#0d1420);color:var(--text-secondary,#94a3b8);border-radius:5px;flex:1;min-width:0;padding:6px 9px;font-size:11px}.invite-copy-btn{flex-shrink:0}.invite-panel-hint{color:var(--text-muted,#64748b);margin-top:6px;font-size:11px;line-height:1.4}.invite-player-row{align-items:center;gap:7px;padding:5px 0;display:flex}.invite-player-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.invite-player-name{color:var(--text-primary,#e2e8f0);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.invite-approve-btn{color:#4ade80}.invite-approve-btn:hover{color:#86efac}.invite-reject-btn{color:var(--text-muted,#64748b)}.invite-reject-btn:hover{color:#f87171}.scratchpad-overlay{z-index:900;background:var(--bg-primary);animation:spFadeIn .16s var(--ease) both;flex-direction:column;display:flex;position:fixed;inset:0}@keyframes spFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.sp-toolbar{background:var(--bg-elevated);border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:6px;height:46px;padding:0 12px;display:flex}.sp-toolbar-section{align-items:center;gap:4px;display:flex}.sp-toolbar-center{flex:1;justify-content:center}.sp-toolbar-right{margin-left:auto}.sp-toolbar-brand{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;min-width:160px;font-size:13px;font-weight:600;display:flex}.sp-tool-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:5px;padding:5px 8px;font-size:12px;transition:background .12s,color .12s;display:flex}.sp-tool-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sp-tool-btn.active{background:var(--accent-dim);color:var(--accent)}.sp-tool-label{font-size:11.5px;font-weight:500}.sp-sep{background:var(--border);width:1px;height:18px;margin:0 3px}.sp-color-swatch-btn{cursor:pointer;border:2px solid #ffffff40;border-radius:50%;flex-shrink:0;width:22px;height:22px;transition:transform .12s,border-color .12s}.sp-color-swatch-btn:hover{border-color:#ffffff80;transform:scale(1.15)}.sp-color-picker{background:var(--bg-elevated);border:1px solid var(--border);z-index:10;width:132px;box-shadow:var(--shadow-lg);border-radius:10px;flex-wrap:wrap;gap:6px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.sp-color-dot{cursor:pointer;border:2px solid #0000;border-radius:50%;width:22px;height:22px;transition:transform .12s,border-color .12s}.sp-color-dot:hover{transform:scale(1.18)}.sp-color-dot.active{border-color:#fff;transform:scale(1.12)}.sp-widths{align-items:center;gap:2px;display:flex}.sp-width-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:background .12s;display:flex}.sp-width-btn:hover{background:var(--bg-hover)}.sp-width-btn.active{background:var(--accent-dim)}.sp-width-dot{background:var(--text-secondary);border-radius:50%;flex-shrink:0}.sp-width-btn.active .sp-width-dot{background:var(--accent)}.sp-widget-picker{top:calc(100% + 6px);left:50%;right:auto;transform:translate(-50%)}.sp-confirm-clear{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.sp-confirm-yes{background:var(--danger);color:#fff;cursor:pointer;border:none;border-radius:5px;padding:3px 8px;font-size:12px}.sp-confirm-yes:hover{filter:brightness(1.15)}.sp-confirm-no{background:var(--bg-hover);color:var(--text-secondary);cursor:pointer;border:none;border-radius:5px;padding:3px 8px;font-size:12px}.sp-canvas-area{flex:1;position:relative;overflow:hidden}.sp-draw-canvas{pointer-events:none;display:block;position:absolute;inset:0}.sp-dom-layer{pointer-events:none;position:absolute;top:0;left:0}.sp-dom-layer [data-widget-id],.sp-dom-layer .sp-text-block{pointer-events:auto}.sp-text-block{cursor:move;min-width:60px;position:absolute}.sp-text-display{white-space:pre-wrap;border-radius:4px;min-width:60px;padding:4px 6px;font-family:Lexend,system-ui,sans-serif;font-weight:400;line-height:1.5}.sp-text-display:hover{outline:1px dashed var(--border-strong);background:#ffffff0a}.sp-text-placeholder{opacity:.3;font-size:.9em;font-style:italic}.sp-text-input{background:var(--bg-inset);border:1px solid var(--accent);resize:both;border-radius:4px;outline:none;width:220px;min-width:120px;min-height:28px;padding:4px 6px;font-family:Lexend,system-ui,sans-serif;font-weight:400;line-height:1.5}.sp-text-remove{background:var(--danger);color:#fff;cursor:pointer;opacity:.8;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;display:flex;position:absolute;top:-10px;right:-10px}.sp-text-remove:hover{opacity:1}.sp-empty-hint{color:var(--text-muted);pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.sp-empty-hint p{margin:0;font-size:14px}.sp-hint-sub{opacity:.6;font-size:12px!important}.sp-text-toolbar{z-index:1100;background:var(--bg-elevated);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);animation:spFadeIn .12s var(--ease) both;border-radius:8px;flex-wrap:nowrap;align-items:center;gap:3px;padding:5px 8px;display:flex;position:fixed}.sp-text-dialog-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:3px;padding:7px 10px;display:flex}.sp-text-dialog-sep{background:var(--border);flex-shrink:0;width:1px;height:16px;margin:0 3px}.sp-text-fmt-btn{min-width:26px;height:26px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0 6px;font-family:inherit;font-size:12px;transition:background .1s,color .1s;display:flex}.sp-text-fmt-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sp-text-fmt-btn.active{background:var(--accent-dim);color:var(--accent)}.sp-text-fmt-danger:hover{background:var(--danger-dim);color:var(--danger)}.sp-text-fmt-done{color:var(--success)}.sp-text-fmt-done:hover{background:var(--success-dim);color:var(--success)}.sp-text-size-btn{height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:0 6px;font-family:inherit;font-size:11px;font-weight:600;transition:background .1s,color .1s}.sp-text-size-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sp-text-size-btn.active{background:var(--accent-dim);color:var(--accent)}.sp-text-color-dot{cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:transform .12s;display:flex}.sp-text-color-dot:hover{transform:scale(1.2)}.sp-text-inline-input{resize:none;cursor:text;white-space:pre-wrap;word-break:break-word;background:0 0;border:none;outline:none;width:max(200px,20ch);min-height:1.6em;margin:0;padding:0;font-family:Lexend,system-ui,sans-serif;line-height:1.55;display:block;overflow:hidden}.sp-text-inline-input::placeholder{color:currentColor;opacity:.35}.sp-text-block{cursor:grab;-webkit-user-select:none;user-select:none}.sp-text-block.sp-text-editing{cursor:default}.sp-text-editing .sp-text-inline-input{outline:2px solid var(--accent);outline-offset:3px;cursor:text;border-radius:3px}.sp-color-trigger{gap:4px;position:relative}.sp-color-pip{border:1px solid #ffffff4d;border-radius:50%;flex-shrink:0;width:8px;height:8px}.dr-widget{min-width:220px}.dr-titlebar{border-bottom:1px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:7px 10px 7px 12px;display:flex}.dr-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.dr-title-input{outline:1px solid var(--accent);color:var(--text-primary);background:0 0;border:none;border-radius:3px;flex:1;min-width:0;padding:0 4px;font-family:inherit;font-size:12px;font-weight:600}.dr-body{flex-direction:column;gap:8px;padding:10px;display:flex}.dr-count-row{align-items:center;gap:4px;display:flex}.dr-count-label{color:var(--text-muted);margin-right:2px;font-size:11px}.dr-count-btn{border:1px solid var(--border);width:26px;height:22px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;font-family:inherit;font-size:11px;font-weight:600;transition:background .1s,color .1s}.dr-count-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.dr-count-btn.active{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}.dr-dice-grid{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.dr-die-btn{border:1px solid var(--border);background:var(--bg-surface);height:36px;color:var(--text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-family:inherit;transition:background .1s,color .1s,border-color .1s;display:flex}.dr-die-btn:hover{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}.dr-die-btn:active{transform:scale(.94)}.dr-die-label{font-size:12px;font-weight:700}.dr-result{background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;align-items:baseline;gap:8px;padding:6px 10px;display:flex}.dr-result-total{color:var(--accent);font-size:28px;font-weight:700;line-height:1}.dr-result-detail{color:var(--text-muted);font-size:11px}.dr-history{flex-wrap:wrap;gap:4px;display:flex}.dr-history-entry{color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-size:10px}.dr-empty{color:var(--text-muted);text-align:center;padding:8px 0;font-size:12px}.hp-widget{min-width:200px}.hp-titlebar{border-bottom:1px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:7px 10px 7px 12px;display:flex}.hp-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.hp-title-input{outline:1px solid var(--accent);color:var(--text-primary);background:0 0;border:none;border-radius:3px;flex:1;min-width:0;padding:0 4px;font-family:inherit;font-size:12px;font-weight:600}.hp-widget.hp-bloodied{border-color:#f59242}.hp-widget.hp-dead{border-color:var(--danger)}.hp-body{flex-direction:column;gap:8px;padding:10px;display:flex}.hp-display{justify-content:center;align-items:baseline;gap:4px;display:flex}.hp-current{color:var(--text-primary);font-size:32px;font-weight:700;line-height:1}.hp-sep{color:var(--text-muted);font-size:20px}.hp-max{color:var(--text-muted);font-size:18px}.hp-badge{color:#f59242;background:#f5924233;border-radius:4px;margin-left:4px;padding:2px 5px;font-size:12px;font-weight:700}.hp-badge.dead{background:var(--danger-dim);color:var(--danger)}.hp-widget.hp-bloodied .hp-current{color:#f59242}.hp-widget.hp-dead .hp-current{color:var(--danger)}.hp-bar-track{background:var(--bg-surface);border:1px solid var(--border);border-radius:3px;height:6px;overflow:hidden}.hp-bar-fill{border-radius:3px;height:100%}.hp-actions{align-items:center;gap:6px;display:flex}.hp-input-group{flex:1;align-items:center;gap:0;display:flex}.hp-num-input{background:var(--bg-surface);border:1px solid var(--border);width:100%;min-width:0;color:var(--text-primary);-moz-appearance:textfield;border-right:none;border-radius:5px 0 0 5px;outline:none;flex:1;padding:4px 6px;font-family:inherit;font-size:13px}.hp-num-input::-webkit-outer-spin-button{-webkit-appearance:none}.hp-num-input::-webkit-inner-spin-button{-webkit-appearance:none}.hp-num-input:focus{border-color:var(--accent)}.hp-btn{border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:0 5px 5px 0;justify-content:center;align-items:center;height:30px;padding:0 9px;font-family:inherit;font-size:16px;font-weight:700;transition:background .1s,color .1s;display:flex}.hp-btn-dmg{background:var(--danger-dim);color:var(--danger);border-color:var(--danger)}.hp-btn-heal{color:#3da86b;background:#1a3a2a;border-color:#3da86b}.hp-btn-dmg:hover{background:var(--danger);color:#fff}.hp-btn-heal:hover{color:#fff;background:#3da86b}.hp-btn-reset{border-color:var(--border);color:var(--text-muted);background:0 0;border-radius:5px}.hp-btn-reset:hover{background:var(--bg-hover);color:var(--text-primary)}.hp-setup{justify-content:center;align-items:center;gap:6px;padding:4px 0;display:flex}.hp-setup-label{color:var(--text-muted);font-size:12px}.hp-setup-input{border-radius:5px;max-width:80px;border-right:1px solid var(--border)!important}.hp-btn-set{background:var(--accent-dim);color:var(--accent);border-color:var(--accent);border-radius:5px}.hp-btn-set:hover{background:var(--accent);color:#fff}.hp-change-max{color:var(--text-muted);cursor:pointer;text-align:right;background:0 0;border:none;align-self:flex-end;padding:0;font-size:10px;text-decoration:underline}.hp-change-max:hover{color:var(--text-secondary)}.it-widget{min-width:240px}.it-titlebar{border-bottom:1px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:7px 10px 7px 12px;display:flex}.it-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.it-title-input{outline:1px solid var(--accent);color:var(--text-primary);background:0 0;border:none;border-radius:3px;flex:1;min-width:0;padding:0 4px;font-family:inherit;font-size:12px;font-weight:600}.it-body{flex-direction:column;display:flex}.it-empty{color:var(--text-muted);text-align:center;padding:14px 12px;font-size:12px}.it-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:0;padding:6px 10px 6px 0;transition:background .1s;display:flex}.it-row:last-of-type{border-bottom:none}.it-row.it-active{background:#6366f112}.it-row.it-bloodied{background:#f592420f}.it-row.it-dead{opacity:.65;background:#ef444412}.it-side{flex-direction:column;align-items:center;gap:2px;min-width:28px;padding:2px 4px 2px 8px;display:flex}.it-active-dot{background:0 0;border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:2px}.it-row.it-active .it-active-dot{background:var(--accent)}.it-order-btns{flex-direction:column;gap:1px;display:flex}.it-order-btn{width:16px;height:14px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;transition:background 80ms,color 80ms;display:flex}.it-order-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.it-content{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.it-top-row{align-items:center;gap:6px;display:flex}.it-name{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;cursor:text;flex:1;font-size:12px;font-weight:600;overflow:hidden}.it-name-input{outline:1px solid var(--accent);min-width:0;color:var(--text-primary);background:0 0;border:none;border-radius:3px;flex:1;padding:0 3px;font-family:inherit;font-size:12px;font-weight:600}.it-init{color:var(--accent);text-align:right;cursor:pointer;flex-shrink:0;min-width:22px;font-size:13px;font-weight:700}.it-init-input{outline:1px solid var(--accent);width:38px;color:var(--accent);text-align:right;-moz-appearance:textfield;background:0 0;border:none;border-radius:3px;padding:0 3px;font-family:inherit;font-size:12px;font-weight:700}.it-init-input::-webkit-outer-spin-button{-webkit-appearance:none}.it-init-input::-webkit-inner-spin-button{-webkit-appearance:none}.it-remove-btn{color:#0000;cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;transition:background 80ms,color 80ms;display:flex}.it-row:hover .it-remove-btn{color:var(--text-muted)}.it-remove-btn:hover{background:var(--danger-dim);color:var(--danger)!important}.it-hp-row{align-items:center;gap:5px;display:flex}.it-hp-bar-track{background:var(--bg-surface);border-radius:2px;flex:1;height:4px;overflow:hidden}.it-hp-bar-fill{border-radius:2px;height:100%;transition:width .2s,background .2s}.it-hp-text{color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-size:10px}.it-badge{color:#f59242;margin-left:2px;font-size:9px;font-weight:700}.it-badge.dead{color:var(--danger)}.it-dmg-input{background:var(--bg-surface);border:1px solid var(--border);width:46px;color:var(--text-primary);-moz-appearance:textfield;border-radius:4px;outline:none;flex-shrink:0;padding:2px 5px;font-family:inherit;font-size:11px}.it-dmg-input::-webkit-outer-spin-button{-webkit-appearance:none}.it-dmg-input::-webkit-inner-spin-button{-webkit-appearance:none}.it-dmg-input:focus{border-color:var(--accent)}.it-add-hp-btn{color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:10px;text-decoration:underline}.it-add-hp-btn:hover{color:var(--text-secondary)}.it-hp-setup{align-items:center;gap:4px;display:flex}.it-set-hp-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;padding:2px 6px;font-family:inherit;font-size:11px}.it-set-hp-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.it-next-btn{border:1px solid var(--accent);background:var(--accent-dim);color:var(--accent);cursor:pointer;border-radius:6px;align-items:center;gap:5px;margin:4px 10px;padding:5px 8px;font-family:inherit;font-size:11px;font-weight:600;transition:background .1s;display:flex}.it-next-btn:hover{background:var(--accent);color:#fff}.it-next-name{color:inherit;opacity:.7;font-weight:400}.it-add-row{align-items:center;gap:5px;padding:4px 10px 8px;display:flex}.it-add-name-input{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary);border-radius:4px;outline:none;flex:1;padding:3px 6px;font-family:inherit;font-size:11px}.it-add-name-input:focus{border-color:var(--accent)}.it-add-btn{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:4px;padding:3px 6px;font-size:13px;line-height:1;transition:background .12s}.it-add-btn:hover{background:var(--accent);color:#fff}
