:root{--font-sans:"Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--ink:#1f2430;--ink-soft:#525a6b;--ink-faint:#8a92a3;--line:#e3e6ee;--line-strong:#d2d7e3;--bg:#f4f6fb;--surface:#fff;--surface-2:#f8fafc;--accent:#4f46e5;--accent-soft:#eef2ff;--danger:#d8456b;--shadow-sm:0 1px 2px #1418280f, 0 1px 3px #14182814;--shadow-md:0 6px 24px #1418281f;--shadow-pop:0 14px 40px #14182829;--radius:10px;--radius-sm:7px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}.tt-app{background:var(--bg);height:100%;position:relative;overflow:hidden}.tt-canvas{position:absolute;inset:0}.tt-chrome{z-index:10;align-items:center;gap:8px;display:flex;position:absolute;top:12px}.tt-chrome--left{left:12px}.tt-chrome--right{right:12px}.tt-iconbtn{font:inherit;color:var(--ink);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;border-radius:9px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:600;transition:background .12s,border-color .12s,color .12s,transform 40ms;display:inline-flex}.tt-iconbtn__glyph{font-size:14px;line-height:1}.tt-iconbtn__icon{flex:none;display:block}.tt-iconbtn:hover,.tt-iconbtn[aria-expanded=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.tt-iconbtn:active{transform:translateY(1px)}.tt-iconbtn--primary{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 2px 10px #4f46e538}.tt-iconbtn--primary:hover{color:#fff;background:#4338ca;border-color:#4338ca}.tt-menu{position:relative}.tt-menu__dropdown{z-index:20;background:var(--surface);border:1px solid var(--line);min-width:250px;box-shadow:var(--shadow-pop);border-radius:12px;padding:6px;animation:.12s tt-menu-pop;position:absolute;top:calc(100% + 8px);left:0}@keyframes tt-menu-pop{0%{opacity:0;transform:translateY(-4px)}}.tt-menu__title{flex-direction:column;gap:5px;padding:6px 8px 8px;display:flex}.tt-menu__title-label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);font-size:11px;font-weight:700}.tt-menu__title input{font:inherit;color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;padding:7px 9px;font-size:14px;font-weight:600}.tt-menu__title input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.tt-menu__item{width:100%;font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:11px;padding:8px 10px;font-size:13px;display:flex}.tt-menu__glyph{text-align:center;width:16px;color:var(--ink-soft);flex:none;font-size:14px}.tt-menu__kbd{color:var(--ink-faint);margin-left:auto;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11px}.tt-menu__item:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.tt-menu__item:hover:not(:disabled) .tt-menu__glyph{color:var(--accent)}.tt-menu__item:disabled{opacity:.4;cursor:not-allowed}.tt-menu__item.is-active,.tt-menu__item.is-active .tt-menu__glyph{color:var(--accent)}.tt-menu__sep{background:var(--line);height:1px;margin:5px 8px}.tt-btn{appearance:none;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:inherit;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;padding:6px 11px;font-size:13px;font-weight:550;transition:background .12s,border-color .12s,box-shadow .12s,transform 40ms}.tt-btn:hover{background:var(--surface-2);border-color:var(--ink-faint)}.tt-btn:active{transform:translateY(1px)}.tt-btn:disabled{opacity:.45;cursor:not-allowed}.tt-btn.is-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.tt-btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.tt-btn--primary:hover{background:#4338ca;border-color:#4338ca}.tt-btn--danger{color:var(--danger);background:#fff;border-color:#f0c2cf;width:100%;margin-top:6px}.tt-btn--danger:hover{border-color:var(--danger);background:#fdeef2}.tt-btn--ghost{background:var(--surface-2);border-color:#0000}.tt-btn--sm{padding:4px 9px;font-size:12px}.tt-btn:focus-visible,.tt-iconbtn:focus-visible,.tt-menu__item:focus-visible,.tt-legend__close:focus-visible,.tt-toast:focus-visible,.tt-field__color input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tt-inspector{z-index:8;background:var(--surface);border:1px solid var(--line);width:288px;max-height:calc(100% - 88px);box-shadow:var(--shadow-pop);border-radius:12px;padding:16px;position:absolute;top:60px;right:12px;overflow-y:auto}.tt-inspector__content{flex-direction:column;gap:14px;display:flex}.tt-inspector__header{align-items:center;gap:9px;font-size:15px;font-weight:680;display:flex}.tt-inspector__meta{color:var(--ink-faint);margin:0;font-size:12px;line-height:1.45}.tt-inspector__direction{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tt-inspector__chip{background:var(--surface-2);border:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:120px;padding:3px 10px;font-size:12px;font-weight:550;overflow:hidden}.tt-inspector__arrow{color:var(--ink-faint);font-weight:700}.tt-field{flex-direction:column;gap:5px;display:flex}.tt-field--row{flex-flow:wrap;align-items:flex-end;gap:14px}.tt-field__label{color:var(--ink-soft);letter-spacing:.01em;font-size:11.5px;font-weight:600}.tt-field__control{font:inherit;color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);resize:vertical;width:100%;padding:8px 10px;font-size:13.5px}.tt-field__control:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.tt-field__color{flex-direction:column;gap:5px;display:flex}.tt-field__color input[type=color]{border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:6px;width:46px;height:30px;padding:0}.tt-legend{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:4;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffffff0;min-width:172px;padding:12px 14px;position:absolute;bottom:16px;left:16px}.tt-legend__head{color:var(--ink-soft);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;display:flex}.tt-legend__close{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:17px;line-height:1}.tt-legend__close:hover{color:var(--ink)}.tt-legend__group{flex-direction:column;gap:6px;display:flex}.tt-legend__row{color:var(--ink);align-items:center;gap:9px;font-size:12.5px;display:flex}.tt-legend__divider{background:var(--line);height:1px;margin:10px 0}.tt-legal{z-index:4;color:var(--ink-soft);align-items:center;gap:6px;font-size:11.5px;display:flex;position:absolute;bottom:14px;right:16px}.tt-legal a{color:var(--ink-soft);text-decoration:none}.tt-legal a:hover{color:var(--accent);text-decoration:underline}.tt-modal{z-index:30;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tt-modal__backdrop{background:#1418286b;position:absolute;inset:0}.tt-modal__panel{background:var(--surface);width:min(560px,100vw - 40px);max-height:calc(100vh - 80px);box-shadow:var(--shadow-md);border-radius:14px;padding:4px 24px 24px;position:relative;overflow-y:auto}.tt-modal__header{background:var(--surface);justify-content:space-between;align-items:center;gap:12px;padding-top:18px;display:flex;position:sticky;top:0}.tt-modal__header h2{margin:0;font-size:18px}.tt-modal__body{color:var(--ink-soft);font-size:13.5px;line-height:1.6}.tt-modal__body h3{color:var(--ink);text-transform:uppercase;letter-spacing:.04em;margin:18px 0 8px;font-size:13px}.tt-modal__foot{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.tt-shortcuts{border-collapse:collapse;width:100%}.tt-shortcuts td{vertical-align:top;padding:4px 0}.tt-shortcuts td:first-child{width:45%}kbd{background:var(--surface-2);border:1px solid var(--line-strong);color:var(--ink);border-bottom-width:2px;border-radius:5px;padding:2px 6px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11.5px}.tt-toaster{z-index:40;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.tt-toast{font:inherit;color:#fff;background:var(--ink);box-shadow:var(--shadow-md);cursor:pointer;border:none;border-radius:999px;padding:9px 18px;font-size:13px;font-weight:550;animation:.18s tt-toast-in}.tt-toast--success{background:#1f9d6b}.tt-toast--error{background:var(--danger)}@keyframes tt-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:720px){.tt-inspector{width:calc(100vw - 24px);max-width:320px}}
