html{font:100%/1.3 system-ui,san-serif}body{margin:0}header{display:flex;padding:10px;background:#ddd}header h1{margin:0;padding-right:.5em;font-size:1.5em;font-weight:300}header h1 a{text-decoration:none;color:#555}header h1 a:hover{text-decoration:underline;color:#000}nav{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1px}nav a{padding:.3em .8em;border-radius:1em;color:#673ab8;text-decoration:none;white-space:nowrap}nav a:hover{background-color:#ffffff80;color:#56319c;box-shadow:inset 0 0 0 1px #673ab8;z-index:1}nav a.current{background:#673ab8;color:#fff}main{padding:10px}output{padding:.3em;min-width:1.5em;display:inline-block;text-align:center}.info{position:relative;padding:.5em .5em .5em 2em;max-width:600px;background:#e6ebfc;border-radius:5px;box-shadow:inset 0 0 0 .5px #b0bee2;color:#3955a1}.info:before{content:"ℹ";position:absolute;display:inline-block;text-align:center;line-height:1em;width:1.2em;height:1.2em;left:.4em;top:50%;margin-top:-.6em;background:#3955a1;border-radius:.6em;color:#fff}.card{display:inline-block;padding:.5em 1em;background:#eee;box-shadow:inset 0 0 0 .5px #ccc;border-radius:5px}.card+.card{margin-left:10px}button{padding:.3em 1em;border-radius:1em;border:none;background:#673ab8;color:#f4eeff;cursor:pointer}button:hover{background:#9359ff;color:#fff}table{margin-top:1em;border-collapse:collapse}th,td{border:1px solid #aaa;padding:.3em}.nesting{position:relative;margin:10px;padding:10px;max-width:22em;border:1px solid #ddd;background:#f4f2f0}.nesting .notes{color:#345;margin-top:20px;border-top:4px double #ccc}.nesting h4{margin:1em 0 0}.nesting ul{margin:0;padding:.25em 1em}.nesting li>ul{padding-top:0;padding-bottom:0;font-size:90%}.nesting ul>li{padding:.25em 0}.nesting code{font:100%/1.3 Source Code Pro,monaco,menlo;color:#0a8138}.nesting output{display:inline-block;vertical-align:middle;margin:0 .25em;min-width:2.5em;height:1.3em;border-radius:.3em;text-align:center;background:#ffffffb3;box-shadow:0 0 0 .5px #0000001a,inset 0 2px 5px #0000001a}.nesting .render-count{position:absolute;right:0;top:0;padding:0 .3em;font-size:70%}.nesting .object-editor{position:relative;margin:20px 0 0;padding:10px 5px 5px;border:1px solid #abc;background:#fff;border-radius:5px}.nesting .clock{position:fixed;right:0;top:3.2em;width:6em;padding:1.1em 1em .8em;text-align:center;background:#deb887;color:#556b2f}.nesting table{table-layout:fixed}.nesting table th{text-align:left}.nesting table th:first-child,.nesting table td:first-child{width:7em;text-align:right;font-weight:700}.nesting table th:nth-child(2),.nesting table td:nth-child(2){width:4em;padding-left:.5em}.nesting table td:nth-child(3){width:10em}.todo-container{max-width:600px;margin:0 auto;padding:20px}.todo-header{text-align:center;margin-bottom:20px}.todo-description{text-align:center;color:#666;margin-bottom:30px}.todo-form{margin-bottom:20px}.todo-input{width:100%;padding:12px;font-size:16px;border:2px solid #ddd;border-radius:4px;box-sizing:border-box}.todo-list{margin-bottom:20px}.todo-item{display:flex;align-items:center;padding:12px;border-bottom:1px solid #eee;gap:12px}.todo-checkbox{width:20px;height:20px;cursor:pointer}.todo-text{flex:1;font-size:16px;color:#333}.todo-text.completed{text-decoration:line-through;color:#999}.todo-delete-btn{padding:6px 12px;background:#ff6b6b;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.todo-footer{padding:12px;background:#f9f9f9;border-radius:4px}.todo-footer-stats{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.todo-stats-text{font-size:14px;color:#666}.todo-clear-btn{padding:6px 12px;background:#673ab8;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.todo-filters{display:flex;gap:8px;justify-content:center}.todo-filter-btn{padding:6px 16px;background:#fff;color:#333;border:1px solid #673ab8;border-radius:4px;cursor:pointer;font-size:14px;text-transform:capitalize}.todo-filter-btn.active{background:#673ab8;color:#fff}.devtools-demo-container{display:flex;gap:20px;height:100vh;padding:20px}.app-section{flex:1;overflow-y:auto}.devtools-section{flex:1;min-width:600px;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.devtools-panel{height:100%;width:100%}.new-todo{display:flex;align-items:center;gap:8px;margin-bottom:8px}.todo-item{display:flex;align-items:center;gap:8px;margin-bottom:4px}.signals-devtools{--bg-primary: #f5f5f5;--bg-secondary: #fff;--bg-tertiary: #f8f9fa;--bg-hover: #f0f0f0;--bg-active-tab: #f5f0ff;--bg-active-tab-border: #d0c0e8;--border-primary: #e0e0e0;--border-secondary: #ccc;--text-primary: #333;--text-secondary: #555;--text-muted: #666;--text-faint: #999;--text-time: #757575;--text-connection: #444;--brand-purple: #5e35b1;--brand-purple-hover: #673ab7;--brand-blue: #2196f3;--brand-blue-hover: #1976d2;--brand-blue-deep: #1565c0;--shadow-color: rgba(0, 0, 0, .15);--shadow-light: rgba(0, 0, 0, .08);--shadow-medium: rgba(0, 0, 0, .12);--graph-bg: #f8fafc;--graph-grid: #e5e7eb;--graph-link: #94a3b8;--graph-link-highlight: #673ab7;--graph-controls-bg: rgba(255, 255, 255, .95);--graph-controls-border: #e2e8f0;--graph-controls-text: #334155;--graph-controls-active: #eeeeee;--graph-zoom-text: #64748b;--graph-zoom-bg: rgba(255, 255, 255, .9);--graph-node-stroke: #fff;--graph-export-bg: white;--tooltip-bg: #1e293b;--tooltip-text: white;--tooltip-id: #94a3b8;--toast-bg: #323232;--value-prev: #d32f2f;--value-new: #388e3c;--value-arrow: #666;--component-update-bg: #f8fff8;--component-badge-bg: #e8f5e9;--component-badge-text: #2e7d32;--effect-badge-bg: #fff3e0;--effect-badge-text: #e65100;--scrollbar-track: #f5f5f5;--scrollbar-thumb: #ccc;--scrollbar-thumb-hover: #999;--settings-border: #d0d0d0}.signals-devtools[data-theme=dark]{--bg-primary: #1a1a2e;--bg-secondary: #16213e;--bg-tertiary: #1e2a45;--bg-hover: #2a3a5c;--bg-active-tab: #2d1b69;--bg-active-tab-border: #4a3580;--border-primary: #2a3a5c;--border-secondary: #3a4a6c;--text-primary: #e0e0e0;--text-secondary: #b0b0b0;--text-muted: #888;--text-faint: #666;--text-time: #888;--text-connection: #b0b0b0;--brand-purple: #b39ddb;--brand-purple-hover: #9575cd;--brand-blue: #64b5f6;--brand-blue-hover: #42a5f5;--brand-blue-deep: #64b5f6;--shadow-color: rgba(0, 0, 0, .4);--shadow-light: rgba(0, 0, 0, .3);--shadow-medium: rgba(0, 0, 0, .35);--graph-bg: #1a1a2e;--graph-grid: #2a3a5c;--graph-link: #5a6a8c;--graph-link-highlight: #9575cd;--graph-controls-bg: rgba(22, 33, 62, .95);--graph-controls-border: #2a3a5c;--graph-controls-text: #b0b0b0;--graph-controls-active: #2a3a5c;--graph-zoom-text: #888;--graph-zoom-bg: rgba(22, 33, 62, .9);--graph-node-stroke: #16213e;--graph-export-bg: #16213e;--tooltip-bg: #0f1629;--tooltip-text: #e0e0e0;--tooltip-id: #5a6a8c;--toast-bg: #0f1629;--value-prev: #ef5350;--value-new: #66bb6a;--value-arrow: #888;--component-update-bg: #1a2e1a;--component-badge-bg: #1a3a1a;--component-badge-text: #66bb6a;--effect-badge-bg: #2e1a00;--effect-badge-text: #ffb74d;--scrollbar-track: #1a1a2e;--scrollbar-thumb: #3a4a6c;--scrollbar-thumb-hover: #5a6a8c;--settings-border: #2a3a5c}@media (prefers-color-scheme: dark){.signals-devtools:not([data-theme=light]){--bg-primary: #1a1a2e;--bg-secondary: #16213e;--bg-tertiary: #1e2a45;--bg-hover: #2a3a5c;--bg-active-tab: #2d1b69;--bg-active-tab-border: #4a3580;--border-primary: #2a3a5c;--border-secondary: #3a4a6c;--text-primary: #e0e0e0;--text-secondary: #b0b0b0;--text-muted: #888;--text-faint: #666;--text-time: #888;--text-connection: #b0b0b0;--brand-purple: #b39ddb;--brand-purple-hover: #9575cd;--brand-blue: #64b5f6;--brand-blue-hover: #42a5f5;--brand-blue-deep: #64b5f6;--shadow-color: rgba(0, 0, 0, .4);--shadow-light: rgba(0, 0, 0, .3);--shadow-medium: rgba(0, 0, 0, .35);--graph-bg: #1a1a2e;--graph-grid: #2a3a5c;--graph-link: #5a6a8c;--graph-link-highlight: #9575cd;--graph-controls-bg: rgba(22, 33, 62, .95);--graph-controls-border: #2a3a5c;--graph-controls-text: #b0b0b0;--graph-controls-active: #2a3a5c;--graph-zoom-text: #888;--graph-zoom-bg: rgba(22, 33, 62, .9);--graph-node-stroke: #16213e;--graph-export-bg: #16213e;--tooltip-bg: #0f1629;--tooltip-text: #e0e0e0;--tooltip-id: #5a6a8c;--toast-bg: #0f1629;--value-prev: #ef5350;--value-new: #66bb6a;--value-arrow: #888;--component-update-bg: #1a2e1a;--component-badge-bg: #1a3a1a;--component-badge-text: #66bb6a;--effect-badge-bg: #2e1a00;--effect-badge-text: #ffb74d;--scrollbar-track: #1a1a2e;--scrollbar-thumb: #3a4a6c;--scrollbar-thumb-hover: #5a6a8c;--settings-border: #2a3a5c}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.4;overflow:hidden}#app{height:100vh}.header{background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);padding:8px 12px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.header-title{display:flex;align-items:center;gap:12px}.header-title h1{font-size:16px;font-weight:700;color:var(--brand-purple)}.connection-status{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--text-connection)}.divider{width:100%;height:2px;background:var(--border-primary);margin:8px 0}.status-indicator{width:8px;height:8px;border-radius:50%;background:#f44336;transition:background-color .2s}.status-indicator.connected{background:#4caf50}.status-indicator.connecting{background:#ff9800;animation:pulse 2s infinite}.status-indicator.warning{background:#ff9800}.status-indicator.disconnected{background:#f44336}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.header-controls{display:flex;gap:8px}.btn{border:1px solid var(--border-secondary);background:var(--bg-secondary);color:var(--text-primary);padding:4px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.btn:hover{background:var(--bg-hover)}.btn.btn-primary{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}.btn.btn-primary:hover{background:var(--brand-blue-hover)}.btn.btn-secondary{background:var(--bg-primary)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.active{background:var(--brand-purple-hover);border-color:var(--brand-purple-hover);color:#fff}.btn.active:hover{background:var(--brand-purple);border-color:var(--brand-purple)}.theme-toggle{border:1px solid var(--border-secondary);background:var(--bg-secondary);color:var(--text-primary);padding:4px 10px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:4px}.theme-toggle:hover{background:var(--bg-hover)}.settings-panel{position:absolute;top:49px;right:12px;left:auto;width:320px;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--settings-border);border-radius:8px;box-shadow:0 4px 16px var(--shadow-color);z-index:1000;overflow-y:auto}.settings-content{padding:16px}.settings-content h3{margin-bottom:16px;font-size:14px;font-weight:600}.setting-group{margin-bottom:12px}.setting-group label{display:block;margin-bottom:4px;font-weight:500}.setting-group input[type=checkbox]{margin-right:8px}.setting-description{color:var(--text-muted);font-size:11px;margin-top:4px}.setting-group input[type=number],.setting-group textarea{width:100%;padding:6px 8px;border:1px solid var(--border-secondary);border-radius:4px;font-size:12px;background:var(--bg-secondary);color:var(--text-primary)}.setting-group textarea{height:60px;resize:vertical;font-family:monospace}.settings-actions{margin-top:16px;display:flex;gap:8px;justify-content:flex-end}.tabs{background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);display:flex;flex-shrink:0;padding:0 8px}.tab{padding:10px 20px;border:1px solid transparent;border-bottom:none;background:none;cursor:pointer;font-size:13px;font-weight:500;color:var(--text-secondary);transition:all .2s;margin-top:4px;border-radius:6px 6px 0 0}.tab:hover{color:var(--text-primary);background:var(--bg-hover)}.tab.active{color:var(--brand-purple-hover);background:var(--bg-active-tab);border-color:var(--bg-active-tab-border);border-bottom:2px solid var(--bg-secondary);margin-bottom:-1px;font-weight:600}.main-content{flex:1;overflow:hidden;position:relative;display:flex;flex-direction:column;background:var(--bg-primary)}.tab-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.empty-state{display:flex;align-items:center;justify-content:center;height:100%;text-align:center}.empty-state-content h2{font-size:18px;margin-bottom:8px;color:var(--text-muted)}.empty-state-content p{color:var(--text-faint);margin-bottom:16px}.updates-container{height:100%;display:flex;flex-direction:column}.updates-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);padding:8px 12px;flex-shrink:0}.updates-stats{display:flex;gap:16px;font-size:12px;color:var(--text-muted)}.updates-list{flex:1;overflow-y:auto;padding:8px;min-height:200px}.update-item{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;margin-bottom:8px;padding:8px;font-size:12px}.update-item.effect{border-left:4px solid #ff9800}.update-item.component{border-left:4px solid #4caf50;background-color:var(--component-update-bg)}.update-type-badge{font-size:10px;padding:2px 6px;border-radius:3px;background:var(--border-primary);color:var(--text-muted);margin-left:8px}.update-item.component .update-type-badge{background:var(--component-badge-bg);color:var(--component-badge-text)}.update-item.effect .update-type-badge{background:var(--effect-badge-bg);color:var(--effect-badge-text)}.component-name-header{margin-right:8px}.component-list{list-style:none;display:flex;margin:0;font-family:monospace;background:var(--bg-tertiary);padding:4px 6px;border-radius:3px}.update-item.rerender{border-left:4px solid #9c27b0;background-color:var(--bg-primary)}.update-item.value{border-left:4px solid #2196f3}.update-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.signals-devtools{position:relative;color:var(--text-primary);background:var(--bg-primary);min-height:100%;display:flex;flex-direction:column}.update-count{display:inline-block;padding:0 6px;background:var(--border-primary);border-radius:12px;margin:0 2px}.signal-name{font-weight:600;color:var(--brand-purple)}.component-name{font-weight:500;color:var(--brand-blue-deep);font-style:italic}.update-time{color:var(--text-time);font-size:11px}.update-depth{color:var(--text-secondary);font-size:11px}.value-change{margin:4px 0;font-family:monospace;background:var(--bg-tertiary);padding:4px 6px;border-radius:3px}.value-prev,.value-new{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:top}.value-prev{color:var(--value-prev)}.value-new{color:var(--value-new)}.value-arrow{margin:0 8px;color:var(--value-arrow)}.updates-list::-webkit-scrollbar{width:8px}.updates-list::-webkit-scrollbar-track{background:var(--scrollbar-track)}.updates-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}.updates-list::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.graph-container{height:100%;display:flex;flex-direction:column}.graph-content{flex:1;position:relative;background:linear-gradient(90deg,var(--graph-grid) 1px,transparent 1px),linear-gradient(180deg,var(--graph-grid) 1px,transparent 1px),var(--graph-bg);background-size:40px 40px;overflow:hidden;-webkit-user-select:none;user-select:none}.graph-svg{width:100%;height:100%;min-height:500px}.graph-controls{position:absolute;top:16px;left:16px;display:flex;gap:8px;z-index:10}.graph-reset-button,.graph-export-button{background:var(--graph-controls-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--graph-controls-border);border-radius:6px;color:var(--graph-controls-text);padding:8px 14px;font-size:12px;font-weight:500;cursor:pointer;box-shadow:0 2px 6px var(--shadow-light);transition:all .15s ease}.graph-reset-button:hover,.graph-export-button:hover{background:var(--bg-secondary);border-color:var(--border-secondary);box-shadow:0 4px 8px var(--shadow-medium);transform:translateY(-1px)}.graph-reset-button:active,.graph-export-button:active{background:var(--graph-controls-active);transform:translateY(1px)}.graph-export-container{position:relative}.graph-export-menu{position:absolute;top:100%;left:0;margin-top:4px;background:var(--graph-export-bg);border:1px solid var(--border-primary);border-radius:4px;box-shadow:0 4px 8px var(--shadow-color);overflow:hidden;min-width:180px}.graph-export-menu-item{display:block;width:100%;background:var(--graph-export-bg);border:none;padding:10px 12px;font-size:12px;text-align:left;cursor:pointer;transition:background .2s;white-space:nowrap;color:var(--text-primary)}.graph-export-menu-item:hover{background:var(--bg-primary)}.graph-export-menu-item:active{background:var(--graph-controls-active)}.graph-export-menu-item:not(:last-child){border-bottom:1px solid var(--border-primary)}.graph-zoom-indicator{background:var(--graph-zoom-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--border-primary);border-radius:4px;color:var(--graph-zoom-text);padding:6px 10px;font-size:11px;font-weight:600;font-family:monospace;box-shadow:0 2px 4px var(--shadow-light);min-width:48px;text-align:center}.graph-node{cursor:pointer;transition:transform .15s ease,filter .15s ease;stroke:var(--graph-node-stroke);stroke-width:2.5;filter:drop-shadow(0 3px 6px var(--shadow-color))}.graph-node-group.hovered .graph-node{filter:brightness(1.15) drop-shadow(0 4px 12px rgba(0,0,0,.25));stroke-width:3}.graph-node.signal{fill:#2196f3}.graph-node.computed{fill:#ff9800}.graph-node.effect{fill:#4caf50}.graph-node.component{fill:#9c27b0}.graph-link{stroke:var(--graph-link);stroke-width:2;fill:none;transition:stroke .2s,stroke-width .2s}.graph-link.highlighted{stroke:var(--graph-link-highlight);stroke-width:3}.graph-text{fill:#fff;text-anchor:middle;dominant-baseline:central;font-size:12px;font-weight:600;pointer-events:none;text-shadow:0 1px 3px rgba(0,0,0,.4);letter-spacing:.2px}.graph-tooltip{position:absolute;background:var(--tooltip-bg);color:var(--tooltip-text);padding:10px 14px;border-radius:8px;font-size:12px;box-shadow:0 8px 24px #00000040;z-index:1000;pointer-events:none;transform:translateY(-50%);max-width:280px;animation:tooltipFadeIn .15s ease-out}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-50%) translate(-4px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.tooltip-header{margin-bottom:6px}.tooltip-type{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff}.tooltip-type.signal{background:#2196f3}.tooltip-type.computed{background:#ff9800}.tooltip-type.effect{background:#4caf50}.tooltip-type.component{background:#9c27b0}.tooltip-name{font-size:14px;font-weight:600;margin-bottom:4px;word-break:break-word}.tooltip-id{color:var(--tooltip-id);font-size:11px;font-family:monospace}.graph-legend{position:absolute;top:16px;right:16px;background:var(--graph-controls-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--graph-controls-border);border-radius:8px;padding:14px 16px;font-size:12px;box-shadow:0 4px 12px var(--shadow-light)}.legend-item{display:flex;align-items:center;gap:10px;margin-bottom:8px}.legend-item:last-child{margin-bottom:0}.legend-color{width:14px;height:14px;border-radius:50%;box-shadow:0 2px 4px var(--shadow-color)}.legend-color.signal{background-color:#2196f3}.legend-color.computed{background-color:#ff9800}.legend-color.effect{background-color:#4caf50}.legend-color.component{background-color:#9c27b0}.component-boundary{transition:all .2s ease}.component-boundary:hover{fill:#6495ed26;stroke:#6495ed80}.component-label{-webkit-user-select:none;user-select:none;pointer-events:none}.graph-empty{padding:32px 0;display:flex;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--text-muted)}.graph-toast{position:absolute;top:16px;right:16px;background:var(--toast-bg);color:#fff;padding:12px 16px;border-radius:4px;font-size:13px;font-weight:500;box-shadow:0 4px 12px #0000004d;z-index:1000;animation:slideInFade .3s ease-out}@keyframes slideInFade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.tree-node{margin-bottom:4px}.tree-node-content{display:flex;align-items:flex-start;gap:4px}.collapse-button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:12px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;padding:0;margin-top:8px;flex-shrink:0;transition:color .2s}.collapse-button:hover{color:var(--text-primary);background:var(--bg-hover);border-radius:2px}.collapse-spacer{width:16px;height:16px;flex-shrink:0;margin-top:8px}.update-content{flex:1;min-width:0}.tree-children{margin-left:20px;border-left:1px solid var(--border-primary);padding-left:4px;margin-top:4px}.tree-children .tree-node:last-child{margin-bottom:0}.tree-node .update-item{margin-bottom:0}.graph-arrowhead{fill:var(--graph-link)}@media (max-width: 600px){.header{flex-direction:column;gap:8px;align-items:stretch}.header-title,.header-controls{justify-content:center}.graph-legend{position:static;margin:16px}.tree-children{margin-left:12px}}.animation{position:absolute;left:0;top:52px;bottom:0;width:100%;background:#222;color:#888;text-rendering:optimizeSpeed;touch-action:none;overflow:hidden}.circle{position:absolute;left:0;top:0;width:8px;height:8px;margin:-5px 0 0 -5px;border:2px solid #f00;border-radius:50%;transform-origin:50% 50%;transition:all .25s ease;transition-property:width,height,margin;pointer-events:none;overflow:hidden;font-size:9px;line-height:25px;text-indent:15px;white-space:nowrap}.circle.label{overflow:visible}.circle.big{width:24px;height:24px;margin:-13px 0 0 -13px}.circle>.label{position:absolute;left:0;top:0;z-index:10}
