.tool-section{min-height:460px}.tool-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px}.tool-heading h1{margin:0;font-size:28px;line-height:34px;letter-spacing:-.035em;font-weight:600}.tool-actions{display:flex;align-items:center;gap:10px}.segmented{display:inline-flex;padding:2px;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle)}.segmented button{min-width:46px;height:34px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:13px;font-weight:500;cursor:pointer}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0000000f}.button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 13px;border-radius:var(--radius-sm);font-size:14px;line-height:20px;font-weight:500;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.button svg,.text-action svg,.icon-button svg,.search-field svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.button-secondary{border:1px solid var(--border-strong);background:var(--surface)}.button-secondary:hover{background:var(--surface-subtle)}.clock-section-heading{margin:0 0 20px;font-size:20px;line-height:28px;font-weight:600;letter-spacing:-.02em}.world-map-section{margin:0 0 32px}.world-map{display:block;width:100%;height:auto;min-height:220px;aspect-ratio:360 / 145;overflow:hidden}.map-land{fill:var(--border)}.map-leader{stroke:var(--faint);stroke-width:1}.map-sun{fill:#e4b530;stroke:#e4b530;stroke-width:1.5;stroke-linecap:round}.map-moon{fill:#829ac4}.map-marker[data-period=day] .map-moon,.map-marker[data-period=night] .map-sun{display:none}.map-city-name{fill:var(--ink);font-size:12px;font-weight:500}.map-city-time{fill:var(--text);font-size:12px;font-variant-numeric:tabular-nums}.map-note{min-height:18px;margin:8px 0 0;color:var(--muted);font-size:12px;line-height:18px}.map-note[hidden]{display:block;visibility:hidden}.clock-panel{min-width:0}.city-list{display:flex;gap:24px;min-height:292px;overflow-x:auto;overscroll-behavior-x:contain;padding:4px 4px 20px}.city-row{position:relative;flex:0 0 180px;min-width:0;padding:16px 0 8px;text-align:center}.city-row.is-dragging{outline:1px dashed var(--border-strong);outline-offset:-1px}body.is-reordering{user-select:none;cursor:grabbing}.analog-clock{display:block;width:124px;height:124px;margin:0 auto 20px}.clock-face{fill:var(--surface);stroke:var(--border-strong);stroke-width:1}.clock-tick{stroke:var(--muted);stroke-width:1}.hour-hand,.minute-hand{stroke:var(--ink);stroke-linecap:round;stroke-width:3}.minute-hand{stroke-width:2}.clock-center{fill:var(--ink)}.analog-clock[data-period=night] .clock-face{fill:var(--ink);stroke:var(--ink)}.analog-clock[data-period=night] .clock-tick{stroke:var(--border-strong)}.analog-clock[data-period=night] :is(.hour-hand,.minute-hand){stroke:var(--surface)}.analog-clock[data-period=night] .clock-center{fill:var(--surface)}.city-identity-line{display:flex;justify-content:center;align-items:center;gap:6px;min-height:24px}.city-flag,.result-flag{flex:none;width:17px;height:12px;border-radius:2px;box-shadow:inset 0 0 0 1px #0000000f}.city-name{min-width:0;margin:0;font-size:16px;line-height:24px;letter-spacing:-.015em;font-weight:600;overflow-wrap:anywhere}.zone-meta{flex:none;color:var(--muted);font-size:12px;line-height:18px;font-variant-numeric:tabular-nums}.home-icon{flex:none;width:18px;height:18px;display:inline-grid;place-items:center;color:var(--muted)}.home-icon svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}.time-display{min-width:0;text-align:center;line-height:18px}.city-time{display:block;font-size:31px;line-height:38px;letter-spacing:-.045em;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.clock-colon{display:inline-block;min-width:.26em;text-align:center}.clock-period{margin-left:4px;color:var(--muted);font-size:12px;line-height:1;letter-spacing:0;font-weight:500;vertical-align:.52em}.relative-line{display:block;min-height:18px;margin-top:1px;color:var(--muted);font-size:13px;line-height:18px;font-variant-numeric:tabular-nums}.city-actions-trigger{position:absolute;inset:0;width:100%;border:0;background:transparent;cursor:pointer}.row-controls{position:absolute;inset:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;padding:12px;background:transparent;opacity:0;pointer-events:none}.row-control{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:88px;padding:12px 4px;border:0;background:transparent;color:var(--text);font-size:13px;cursor:pointer}.row-control svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.row-control:hover{color:var(--ink)}.row-control:disabled{color:var(--faint);cursor:default}.row-control.danger-action:not(:disabled){color:var(--danger)}.city-row.is-managing .row-controls,.city-row:focus-within .row-controls,.city-row.is-dragging .row-controls{opacity:1;pointer-events:auto}.city-row:is(.is-managing,:focus-within,.is-dragging)>:is(.analog-clock,.city-identity-line,.time-display){filter:blur(3px);opacity:.35}@media(hover:hover)and (pointer:fine){.city-row:hover .row-controls{opacity:1;pointer-events:auto}.city-row:hover>:is(.analog-clock,.city-identity-line,.time-display){filter:blur(3px);opacity:.35}}.icon-button{width:44px;height:44px;display:inline-grid;place-items:center;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;cursor:pointer;color:var(--muted)}.icon-button:hover{background:var(--surface-subtle);color:var(--ink)}.icon-button svg{width:18px;height:18px}.icon-button svg circle{fill:currentColor;stroke:none}.drag-handle{cursor:grab;touch-action:none}.drag-handle:active{cursor:grabbing}.search-city-button{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;margin:16px 0 32px;padding:14px 16px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:transparent;color:var(--text);font-size:15px;text-align:left;cursor:pointer}.search-city-button svg{flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}.search-city-button:hover{background:var(--surface-subtle)}.popular-cities{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:28px}.popular-cities:empty{min-height:calc(var(--popular-rows-wide) * 108px)}.popular-city{display:grid;grid-template-columns:1fr auto;align-content:start;gap:6px;min-width:0;padding:18px 0;border:0;background:transparent;color:var(--ink);text-align:left;line-height:20px;cursor:pointer}.popular-city:hover{background:var(--surface-subtle)}.popular-city[aria-disabled=true]{cursor:default}.popular-identity{display:flex;align-items:center;gap:7px;min-width:0}.popular-name{font-size:14px;line-height:20px;font-weight:500;overflow-wrap:anywhere}.popular-added{color:var(--muted);font-size:12px}.popular-time{font-size:20px;line-height:24px;font-variant-numeric:tabular-nums;grid-column:1 / -1}.popular-day{color:var(--muted);font-size:12px;line-height:16px;grid-column:1 / -1}#world-clock .different-day{color:var(--accent);font-weight:600}#world-clock button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.status-message{min-height:20px;margin:10px 2px 0;color:var(--muted);font-size:13px;line-height:20px}.dialog{width:min(560px,calc(100% - 32px));height:min(640px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);overflow:hidden;padding:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-floating);color:var(--ink)}.dialog::backdrop{background:#00000047}.dialog[open]{animation:dialog-in .14s ease-out}@keyframes dialog-in{0%{opacity:0;transform:translateY(4px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog-shell{box-sizing:border-box;height:100%;min-height:0;display:flex;flex-direction:column;padding:20px}.dialog-header,.search-field,.search-section-label{flex-shrink:0}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.dialog-header h2{margin:0;font-size:20px;line-height:28px;letter-spacing:-.02em;font-weight:600}.search-field{height:44px;display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface)}.search-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-field svg{color:var(--muted)}.search-field input{min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:14px}.search-field input::placeholder{color:var(--faint)}.search-field kbd{min-width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--border);border-bottom-color:var(--border-strong);border-radius:5px;background:var(--surface-subtle);color:var(--muted);font-family:inherit;font-size:11px}.search-section-label{margin:18px 4px 7px;color:var(--muted);font-size:12px;line-height:18px;font-weight:500}.city-results{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;margin:0 -6px -4px;padding:0 6px 4px}.city-result{width:100%;min-height:60px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;border:0;border-radius:8px;background:transparent;text-align:left;cursor:pointer}.city-result:hover,.city-result[data-active=true]{background:var(--surface-subtle)}.city-result:disabled{cursor:default;opacity:.58}.result-copy{min-width:0}.city-result strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:20px;font-weight:600}.city-result .result-country{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px;line-height:17px}.city-result .result-zone{color:var(--muted);font-size:12px;line-height:17px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}@media(min-width:641px)and (max-width:850px){.popular-cities{grid-template-columns:repeat(3,minmax(0,1fr))}.popular-cities:empty{min-height:calc(var(--popular-rows-medium) * 108px)}}@media(max-width:640px){.tool-heading{gap:12px;margin-bottom:14px}.tool-heading h1{font-size:22px;line-height:28px}.tool-actions{gap:6px}.tool-actions .segmented button{min-width:38px;padding:0 7px}.city-list{gap:16px}.city-row{flex-basis:168px}.popular-cities{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.popular-cities:empty{min-height:calc(var(--popular-rows-small) * 108px)}.popular-added{font-size:11px}.world-map-section{margin-bottom:24px}.dialog{width:100%;max-width:none;height:min(78dvh,680px);max-height:calc(100dvh - 24px);margin:auto 0 0;border-width:1px 0 0;border-radius:16px 16px 0 0}.dialog-shell{padding:18px 16px calc(18px + env(safe-area-inset-bottom))}.city-result{grid-template-columns:18px minmax(0,1fr)}.city-result .result-zone{grid-column:2;text-align:left;margin-top:-5px}}@media(prefers-reduced-motion:reduce){.city-row,.dialog[open]{animation:none;transition:none}}.city-flag[hidden],.result-flag[hidden],.home-icon[hidden]{display:none!important}
