:root{--tnw-ink:#10213a;--tnw-muted:#5c6d85;--tnw-line:#d9e3f0;--tnw-panel:#fff;--tnw-soft:#f4f8ff;--tnw-blue:#0f6bff;--tnw-teal:#00a896;--tnw-warn:#b45309}
[data-theme="dark"]{--tnw-ink:#f2f7ff;--tnw-muted:#adc0d9;--tnw-line:#30425c;--tnw-panel:#111d2e;--tnw-soft:#16263d;--tnw-blue:#69a1ff;--tnw-teal:#45d2be;--tnw-warn:#fbbf24}
.tn-product-nav{align-items:center;background:var(--tnw-panel);border-block-end:1px solid var(--tnw-line);display:flex;gap:6px;inset-inline:0;overflow-x:auto;padding:9px max(16px,calc((100vw - 1480px)/2));position:relative;scrollbar-width:none;z-index:8}
.tn-product-nav::-webkit-scrollbar{display:none}.tn-product-nav a{border:1px solid transparent;border-radius:999px;color:var(--tnw-muted);font-size:13px;font-weight:700;padding:8px 12px;text-decoration:none;white-space:nowrap}.tn-product-nav a:hover,.tn-product-nav a[aria-current="page"]{background:var(--tnw-soft);border-color:var(--tnw-line);color:var(--tnw-blue)}
.tn-tool-shell{min-width:0}.tn-home-launcher,.tn-workspace{color:var(--tnw-ink)}
.tn-home-launcher{background:linear-gradient(135deg,#071a38,#0b3d82 58%,#006c68);border-radius:24px;color:#fff;margin:22px 0;padding:clamp(22px,4vw,44px)}
.tn-home-launcher .guide-kicker{color:#9ed9ff}.tn-home-launcher h2{font-size:clamp(28px,4.5vw,48px);letter-spacing:-.04em;line-height:1.05;margin:8px 0 12px}.tn-home-launcher p{color:#dcecff;font-size:17px;max-width:750px}.tn-command{align-items:stretch;display:flex;gap:10px;margin-top:20px;max-width:820px}.tn-command input{background:#fff;border:0;border-radius:12px;color:#10213a;flex:1;font:inherit;min-width:0;padding:14px 16px}.tn-command button,.tn-primary-action{align-items:center;background:#fff;border:0;border-radius:12px;color:#064bb7;cursor:pointer;display:inline-flex;font-weight:800;justify-content:center;padding:13px 18px;text-decoration:none}.tn-command-result{color:#dcecff;margin:10px 0 0;min-height:24px}.tn-launch-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.tn-launch-links a{background:#ffffff14;border:1px solid #ffffff3d;border-radius:999px;color:#fff;font-size:13px;font-weight:700;padding:8px 11px;text-decoration:none}
.tn-workspace-hero{align-items:end;background:radial-gradient(circle at 85% 0,#1b67da 0,transparent 45%),linear-gradient(145deg,#071a38,#082b59);border-radius:24px;color:#fff;display:grid;gap:24px;grid-template-columns:minmax(0,1.7fr) minmax(250px,.7fr);margin:20px 0;padding:clamp(24px,5vw,54px)}.tn-workspace-hero h1{font-size:clamp(36px,6vw,68px);letter-spacing:-.055em;line-height:.98;margin:9px 0 16px}.tn-workspace-hero p{color:#dcecff;font-size:18px;line-height:1.65;max-width:760px}.tn-workspace-status{background:#ffffff14;border:1px solid #ffffff2d;border-radius:18px;padding:18px}.tn-workspace-status strong{display:block;font-size:34px}.tn-workspace-status span{color:#c8dcf6;font-size:13px}
.tn-workspace-tabs{display:flex;gap:8px;overflow:auto;padding:3px 0 18px}.tn-workspace-tabs a{background:var(--tnw-panel);border:1px solid var(--tnw-line);border-radius:12px;color:var(--tnw-ink);font-weight:700;padding:10px 13px;text-decoration:none;white-space:nowrap}
.tnw-panel{background:var(--tnw-panel);border:1px solid var(--tnw-line);border-radius:20px;box-shadow:0 12px 35px #10213a0b;margin:0 0 20px;padding:clamp(18px,3vw,28px)}.tnw-panel-head{align-items:start;display:flex;gap:18px;justify-content:space-between;margin-bottom:18px}.tnw-panel-head h2{font-size:clamp(22px,3vw,30px);margin:0 0 5px}.tnw-panel-head p{color:var(--tnw-muted);margin:0}.tnw-actions{align-items:end;display:flex;flex-wrap:wrap;gap:10px}.tnw-actions label{color:var(--tnw-muted);display:grid;font-size:12px;font-weight:700;gap:5px}.tnw-actions input,.tnw-actions select,.tnw-profile-form input,.tnw-profile-form select{background:var(--tnw-panel);border:1px solid var(--tnw-line);border-radius:10px;color:var(--tnw-ink);font:inherit;padding:10px 12px}.tnw-button{background:var(--tnw-blue);border:0;border-radius:10px;color:#fff;cursor:pointer;font-weight:800;padding:11px 14px}.tnw-button.secondary{background:var(--tnw-soft);border:1px solid var(--tnw-line);color:var(--tnw-ink)}
.tnw-city-board{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.tnw-city-card{background:linear-gradient(150deg,var(--tnw-soft),var(--tnw-panel));border:1px solid var(--tnw-line);border-radius:16px;padding:17px;position:relative}.tnw-city-card h3{font-size:15px;margin:0 0 10px}.tnw-city-card time{display:block;font-size:clamp(26px,4vw,38px);font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.04em}.tnw-city-meta{color:var(--tnw-muted);display:flex;font-size:12px;gap:8px;justify-content:space-between;margin-top:8px}.tnw-market{border-radius:999px;font-size:11px;font-weight:800;padding:4px 7px}.tnw-market.open{background:#d9f9ee;color:#066447}.tnw-market.closed{background:#f1f4f8;color:#66748a}.tnw-remove{background:transparent;border:0;color:var(--tnw-muted);cursor:pointer;font-size:20px;inset-inline-end:10px;position:absolute;top:8px}.tnw-dst-alert{background:#fff7e8;border:1px solid #fed7aa;border-radius:10px;color:#92400e;font-size:12px;margin-top:10px;padding:8px}.tnw-empty{color:var(--tnw-muted);padding:18px;text-align:center}
.tnw-hour-toggle{display:flex}.tnw-hour-toggle button{background:var(--tnw-panel);border:1px solid var(--tnw-line);color:var(--tnw-ink);cursor:pointer;font-weight:800;padding:9px 13px}.tnw-hour-toggle button:first-child{border-radius:10px 0 0 10px}.tnw-hour-toggle button:last-child{border-radius:0 10px 10px 0}.tnw-hour-toggle button[aria-pressed="true"]{background:var(--tnw-blue);border-color:var(--tnw-blue);color:#fff}.tnw-timeline-wrap{overflow:auto;padding-bottom:6px}.tnw-timeline{display:grid;gap:2px;min-width:1040px}.tnw-timeline-row{display:grid;gap:2px;grid-template-columns:150px repeat(var(--tnw-hours),38px)}.tnw-timeline-label{align-items:center;background:var(--tnw-soft);display:flex;font-size:12px;font-weight:800;padding:7px}.tnw-hour-cell{align-items:center;background:#edf3fb;border-radius:3px;color:#4b5e78;display:flex;font-size:10px;justify-content:center;min-height:34px}.tnw-hour-cell.work{background:#d6f5eb;color:#08644c}.tnw-hour-cell.night{background:#233550;color:#e9f2ff}.tnw-hour-cell.now{box-shadow:inset 0 0 0 2px var(--tnw-blue)}
.tnw-profile-form{align-items:end;display:grid;gap:10px;grid-template-columns:1.2fr 1.4fr .7fr .7fr auto;margin-bottom:16px}.tnw-profile-form label{color:var(--tnw-muted);display:grid;font-size:12px;font-weight:700;gap:5px}.tnw-profiles{display:grid;gap:9px}.tnw-profile{align-items:center;background:var(--tnw-soft);border:1px solid var(--tnw-line);border-radius:12px;display:grid;gap:8px;grid-template-columns:1fr 1.4fr 1fr auto;padding:11px 13px}.tnw-profile small{color:var(--tnw-muted)}.tnw-profile button{background:transparent;border:0;color:#c2410c;cursor:pointer}
.tnw-score{align-items:center;background:linear-gradient(135deg,#eaf3ff,#e6fbf7);border-radius:16px;color:#10213a;display:flex;gap:18px;margin-bottom:14px;padding:16px}.tnw-score strong{font-size:40px}.tnw-score span{color:#4c607b}.tnw-results{border-collapse:collapse;width:100%}.tnw-results th,.tnw-results td{border-bottom:1px solid var(--tnw-line);padding:11px 9px;text-align:start}.tnw-results th{color:var(--tnw-muted);font-size:12px}.tnw-results td{font-variant-numeric:tabular-nums}.tnw-results .score{color:#087b61;font-weight:800}.tnw-rotation{display:grid;gap:9px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:15px}.tnw-rotation article{background:var(--tnw-soft);border:1px solid var(--tnw-line);border-radius:12px;padding:13px}.tnw-rotation strong,.tnw-rotation span{display:block}.tnw-rotation span{color:var(--tnw-muted);font-size:12px;margin-top:5px}
.tnw-feature-map{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.tnw-feature-map article{border-inline-start:3px solid var(--tnw-blue);padding:4px 12px}.tnw-feature-map strong{display:block}.tnw-feature-map span{color:var(--tnw-muted);font-size:13px}.tnw-save-note{color:var(--tnw-muted);font-size:12px;margin-top:10px}
.widget-builder .widget-grid{display:grid;gap:22px;grid-template-columns:minmax(250px,.8fr) minmax(300px,1.2fr)}.widget-controls{display:grid;gap:12px}.widget-controls label,.code-label{color:var(--tnw-muted);display:grid;font-size:13px;font-weight:700;gap:6px}.widget-controls input,.widget-controls select,.code-label textarea{background:var(--tnw-panel);border:1px solid var(--tnw-line);border-radius:10px;color:var(--tnw-ink);font:inherit;padding:11px}.widget-coordinate-fields{display:grid;gap:10px;grid-template-columns:1fr 1fr}.widget-preview{min-height:150px;padding:12px 0}.code-label textarea{font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;margin:10px 0;resize:vertical;width:100%}
html[dir="rtl"] .tnw-timeline-row{direction:rtl}html[dir="rtl"] .tnw-button,html[dir="rtl"] .tn-command button{font-family:inherit}
@media(max-width:820px){.tn-workspace-hero{grid-template-columns:1fr}.tnw-panel-head{display:block}.tnw-actions{margin-top:14px}.tnw-profile-form{grid-template-columns:1fr 1fr}.tnw-profile-form label:nth-child(2){grid-column:1/-1}.tnw-profile{grid-template-columns:1fr 1fr}.widget-builder .widget-grid{grid-template-columns:1fr}}
@media(max-width:560px){.tn-command{display:grid}.tn-home-launcher{border-radius:18px}.tnw-panel{border-radius:16px;padding:16px}.tnw-profile-form{grid-template-columns:1fr}.tnw-profile-form label:nth-child(2){grid-column:auto}.tnw-profile{grid-template-columns:1fr}.tn-workspace-hero{border-radius:18px}.tn-product-nav{padding-inline:10px}}
@media(prefers-reduced-motion:reduce){.tn-home-launcher *,.tn-workspace *{scroll-behavior:auto!important;transition:none!important}}
