@font-face{font-family:"MartianMono";src:url("/assets/fonts/MartianMono.ttf") format("truetype");font-weight:100 800;font-display:swap}
/* TicketTimer instrument identity — a precision chronometer / lab instrument.
   Dark-first warm-graphite face lit by a single signal-amber accent (live /
   measuring / primary) with a restrained reference-ice accent for verified /
   upstream signals. Numerals are set in the bundled MartianMono. */
:root{color-scheme:dark;--brand-blue:#FFB020;--action-blue:#FFB020;--action-hover:#FFC24D;--link-blue:#FFC773;--status-blue:#FFC773;--status-bg:#241A08;--ice:#54D6E0;--bg:#0B0B0E;--surface:#111013;--surface-2:#1D1C21;--surface-3:#27262C;--border:#2E2E34;--ink:#F1EDE4;--sub:#C7BFAE;--muted:#9E9789;--error:#FF8A7A;--focus:#FFCB5C;--on-accent:#231700;--font:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR","Noto Sans JP",sans-serif;--mono:"MartianMono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:400 .9375rem/1.6 var(--font);letter-spacing:.0057em}a{color:inherit}button,summary{font:inherit}::placeholder{color:var(--muted);opacity:1}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.3;text-wrap:balance}p{text-wrap:pretty}.container{width:min(100% - 40px,1120px);margin-inline:auto}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.skip{position:fixed;z-index:50;top:8px;left:8px;padding:9px 13px;border-radius:12px;background:var(--ink);color:var(--surface);transform:translateY(-150%)}.skip:focus{transform:none}
.site-header{position:sticky;z-index:20;top:0;border-bottom:1px solid var(--border);background:color-mix(in oklch,var(--bg) 94%,transparent);backdrop-filter:blur(12px)}.header-inner{min-height:68px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand>span:last-child{display:flex;align-items:baseline;gap:8px}.brand small{color:var(--muted)}.brand-mark{display:grid;width:28px;height:28px;grid-template-columns:repeat(2,1fr);gap:3px;padding:4px;border-radius:8px;background:var(--brand-blue)}.brand-mark i{border-radius:2px;background:white}.brand-mark i:last-child{background:var(--ink)}.site-header nav{display:flex;flex-wrap:wrap;gap:4px;margin-left:auto}.site-header nav a,.languages summary,.languages a{min-height:40px;white-space:nowrap;padding:8px 12px;border-radius:12px;color:var(--sub);font-size:.875rem;font-weight:600;text-decoration:none}.site-header nav a:hover,.site-header nav a[aria-current=page],.languages summary:hover{background:var(--surface-2);color:var(--ink)}.languages{position:relative}.languages summary{cursor:pointer;list-style:none}.languages summary::-webkit-details-marker{display:none}.languages summary:after{content:"⌄";margin-left:6px}.languages>div{position:absolute;right:0;width:max-content;min-width:150px;max-width:calc(100vw - 32px);margin-top:8px;padding:6px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.languages a{display:block;white-space:normal}.languages a:hover,.languages a[aria-current=true]{background:var(--status-bg);color:var(--status-blue)}
.text-link{color:var(--link-blue);font-weight:700;text-underline-offset:5px}.primary-action{display:inline-flex;align-items:center;min-height:46px;padding:10px 18px;border-radius:999px;background:var(--action-blue);color:#fff;font-weight:750;text-decoration:none}.clock{padding:28px;border-radius:16px;background:var(--surface)}.clock header{display:flex;justify-content:space-between;gap:16px}.clock header p{margin:0;color:var(--muted);font-size:.75rem}.clock header>span{height:max-content;padding:5px 9px;border-radius:999px;background:var(--status-bg);color:var(--status-blue);font-size:.75rem;font-weight:700;white-space:nowrap}.target-note{color:var(--sub);font-size:.875rem}.idle{margin:28px 0;padding-block:22px;border-block:1px solid var(--border)}.idle p{margin:4px 0 0;color:var(--sub)}.measurement>span{color:var(--muted);font-size:.75rem}.measurement time{display:block;margin:12px 0 20px;overflow-wrap:anywhere;font-size:3rem;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.0319em;line-height:1}.measurement dl{display:flex;gap:18px;margin:0 0 22px;padding-block:16px;border-block:1px solid var(--border)}.measurement dl div{flex:1}.measurement dt{color:var(--muted);font-size:.72rem}.measurement dd{margin:2px 0 0;font-variant-numeric:tabular-nums;font-weight:700}.clock button{min-height:42px;padding:9px 16px;border:0;border-radius:999px;background:var(--action-blue);color:white;font-weight:700;cursor:pointer}.clock button:hover{background:var(--action-hover)}.clock button:disabled{opacity:.55;cursor:wait}.error{margin:10px 0 0;color:var(--error)}.diagnostics{margin-top:18px;border-top:1px solid var(--border);padding-top:14px}.diagnostics summary{cursor:pointer;color:var(--sub);font-weight:600}.diagnostics ul{padding-left:20px;color:var(--sub)}.section-kicker{margin-bottom:12px;color:var(--status-blue);font-size:.75rem;font-weight:800}
.method,.legal{padding-block:88px 112px}.method>header,.legal>header{max-width:760px;margin-bottom:64px}.method h1,.legal h1{margin-bottom:24px;font-size:3rem;letter-spacing:-.0319em}.method>header p,.legal>header p{color:var(--sub);font-size:1.125rem}.method-body,.legal-body{max-width:760px;margin-bottom:36px}.method-body section,.legal-body section{padding:28px 0;border-top:1px solid var(--border)}.method-body h2,.legal-body h2{font-size:1.125rem}.method-body p,.legal-body p{margin:0;color:var(--sub)}.legal-updated{color:var(--muted);font-size:.875rem}.error-page{min-height:58vh;padding-block:96px}.error-page>strong{color:var(--status-blue);font-size:.875rem}.error-page h1{margin:10px 0 16px;font-size:2.25rem}.error-page p{max-width:65ch;color:var(--sub)}footer{border-top:1px solid var(--border);background:var(--surface)}.footer-inner{display:flex;justify-content:space-between;gap:24px;padding-block:36px;color:var(--muted);font-size:.8125rem}.footer-inner a{color:var(--link-blue);font-weight:650;text-underline-offset:3px}
@media(max-width:640px){.container{width:min(100% - 32px,1120px)}.header-inner{min-height:60px;gap:8px}.brand small,.site-header nav{display:none}.languages{margin-left:auto}.clock{padding:22px 18px}.measurement time{font-size:2.3rem}.measurement dl{flex-wrap:wrap}.measurement dl div{min-width:40%}.method,.legal{padding-block:56px 80px}.method h1,.legal h1{font-size:2.25rem}.footer-inner{flex-direction:column;gap:6px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.target-filter-row{display:grid;grid-template-columns:1fr minmax(180px,.4fr);gap:12px}.target-filter-row label,.venue-time-zone,.opening-input{display:grid;gap:7px;color:var(--sub);font-size:.78rem;font-weight:700}.target-filter-row input,.target-filter-row select,.venue-time-zone select,.opening-input input{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--ink);font:inherit}.target-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:0;padding:0;border:0}.target-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer;transition:border-color .12s,background .12s}.target-option:hover{border-color:var(--brand-blue);background:var(--surface-2)}.target-option:has(input:checked){border-color:var(--action-blue);background:var(--status-bg);color:var(--status-blue);box-shadow:inset 0 0 0 1px var(--action-blue)}.target-option input{width:18px;height:18px;accent-color:var(--action-blue)}.target-option span{display:grid;min-width:0}.target-option strong,.target-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.target-option small{color:var(--muted);font-weight:400}.target-option em{min-width:0;max-width:150px;overflow:hidden;color:var(--muted);font-size:.7rem;font-style:normal;text-align:right;text-overflow:ellipsis;white-space:nowrap}.target-empty{padding:28px;color:var(--sub);text-align:center}.venue-time-zone small,.opening-input small{color:var(--muted);font-weight:400}.target-form-error{color:var(--error)}
/* Optional light variant: a warm "printed lab sheet" — off-white paper, crisp
   hairline rules and a deep burnt-amber signal that stays legible. */
@media(prefers-color-scheme:light){:root{color-scheme:light;--brand-blue:#9A5600;--action-blue:#9A5600;--action-hover:#824800;--link-blue:#8A4E00;--status-blue:#7A4500;--status-bg:#F6E7CF;--ice:#0A6B75;--bg:#F5F2EB;--surface:#FCFAF4;--surface-2:#E9E4D8;--surface-3:#E1DBCC;--border:#D8D2C4;--ink:#1B1A16;--sub:#5E584A;--muted:#7A7365;--error:#B4341F;--focus:#9A5600;--on-accent:#FFFFFF}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Instant live clock: selecting a target immediately reveals a timezone wall clock. */
.live-workbench{display:grid;gap:16px}
.picker-panel,.measurement-upgrade{padding:28px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.live-clock{padding:28px;border:1px solid color-mix(in oklch,var(--brand-blue) 30%,var(--border));border-radius:16px;background:var(--surface)}.live-clock[hidden]{display:none}.live-clock>header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.live-clock-kicker{margin:0 0 4px;color:var(--status-blue);font-size:.78rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.live-clock h2{margin:0;font-size:1.25rem}.live-clock>header span[data-current-host]{color:var(--muted);font-size:.82rem}.live-clock-tag{height:max-content;padding:5px 10px;border-radius:999px;background:var(--status-bg);color:var(--status-blue);font-size:.72rem;font-weight:750;white-space:nowrap}
.live-clock-time{display:block;margin:18px 0 12px;overflow-wrap:anywhere;font-size:clamp(2.6rem,10vw,4.75rem);font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.045em;line-height:1}.live-clock-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 12px}.live-clock-uncertainty{font-variant-numeric:tabular-nums;font-weight:750;color:var(--status-blue)}.live-clock-uncertainty:empty{display:none}.live-clock-freshness{color:var(--muted);font-size:.82rem}.live-clock-freshness:empty{display:none}.live-clock-remeasure{min-height:36px;padding:7px 14px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--ink);font-weight:700;cursor:pointer}.live-clock-remeasure:hover{border-color:var(--brand-blue);color:var(--status-blue)}.live-clock-remeasure:disabled{opacity:.55;cursor:wait}.live-clock-note{margin:0;max-width:64ch;color:var(--muted);font-size:.82rem}
.live-clock-preview{margin:0 0 12px;color:var(--status-blue);font-family:var(--mono);font-size:.74rem;font-weight:700;letter-spacing:.03em}.live-clock-preview[hidden]{display:none}
.live-clock-skew-pending{margin:0 0 12px;padding:11px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--sub);font-size:.82rem}.live-clock-skew-pending[hidden]{display:none}
.request-site{margin:24px 0 0;color:var(--sub);font-size:.85rem}
.countdown{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;margin-bottom:6px;padding:12px 14px;border:1px solid color-mix(in oklch,var(--brand-blue) 26%,var(--border));border-radius:12px;background:var(--status-bg)}.countdown[hidden]{display:none}.countdown-label{color:var(--status-blue);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.countdown-value{font-size:1.5rem;font-variant-numeric:tabular-nums;font-weight:800;color:var(--status-blue)}.countdown-target{color:var(--sub);font-size:.8rem}
.opening-optional{padding:18px 22px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.opening-optional[hidden]{display:none}.opening-optional>summary{cursor:pointer;color:var(--status-blue);font-weight:750}.opening-optional[open]>summary{margin-bottom:14px}.opening-optional-body{display:grid;gap:12px}.opening-optional-body>p{margin:0;color:var(--sub);font-size:.85rem}
.measurement-upgrade{background:var(--surface-2)}.measurement-upgrade .step-heading{margin-bottom:16px}.measurement-upgrade .step-heading>span{background:var(--muted)}.measure-empty{margin:14px 0 0;color:var(--muted);font-size:.85rem}.measure-result[hidden]{display:none}.measure-result time{display:block;margin:12px 0;font-size:2rem;font-variant-numeric:tabular-nums;font-weight:750}.measure-result dl{display:flex;flex-wrap:wrap;gap:12px;margin:0}.measure-result dl div{min-width:90px}.measure-result dt{color:var(--muted);font-size:.72rem}.measure-result dd{margin:2px 0 0;font-variant-numeric:tabular-nums;font-weight:700}.measure-result small{display:block;margin-top:12px;color:var(--muted)}

/* First-use workbench: the product flow is the page, not a promotional hero. */
.workbench{padding-block:56px 88px}.workbench>.container{width:min(100% - 40px,960px)}.workbench-intro{max-width:720px;margin-bottom:32px}.workbench-kicker{margin-bottom:10px;color:var(--status-blue);font-size:.8rem;font-weight:750}.workbench-intro h1{margin-bottom:12px;font-size:clamp(2rem,4.5vw,3.25rem);letter-spacing:-.04em}.workbench-intro>span{display:block;color:var(--sub);font-size:1.05rem}
.workflow-progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0 0 24px;padding:0;border:1px solid var(--border);border-radius:14px;background:var(--surface);list-style:none;overflow:hidden}.workflow-progress li{display:flex;align-items:center;gap:8px;min-width:0;padding:12px;border-right:1px solid var(--border);color:var(--muted);font-size:.72rem;font-weight:700;line-height:1.25}.workflow-progress li:last-child{border-right:0}.workflow-progress li span{display:grid;width:24px;height:24px;flex:none;place-items:center;border-radius:50%;background:var(--surface-2);font-variant-numeric:tabular-nums}.workflow-progress li[aria-current=step]{background:var(--status-bg);color:var(--status-blue)}.workflow-progress li[aria-current=step] span,.workflow-progress li.is-complete span{background:var(--action-blue);color:#fff}.workflow-progress li.is-unavailable{background:var(--surface-2);color:var(--muted)}.workflow-progress li.is-unavailable span{border:1px dashed var(--border);background:transparent;color:var(--muted)}
.workflow{display:grid;gap:16px}.workflow-step{padding:28px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.workflow-step.is-locked{padding-block:18px;background:var(--surface-2);color:var(--muted)}.workflow-step.is-locked>:not(.step-heading){display:none}.workflow-step.is-locked .step-heading{margin-bottom:0}.workflow-step.is-blocked{border-style:dashed}.workflow-step.is-unavailable{border-style:dashed}.workflow-step.is-draft-only{background:color-mix(in oklch,var(--status-bg) 32%,var(--surface))}.step-heading{display:flex;gap:14px;margin-bottom:22px}.step-heading>span{display:grid;width:30px;height:30px;flex:none;place-items:center;border-radius:9px;background:var(--ink);color:var(--surface);font-variant-numeric:tabular-nums;font-weight:800}.step-heading h2{margin:1px 0 3px;font-size:1.08rem}.step-heading p{margin:0;color:var(--sub);font-size:.84rem}.draft-exception,.arm-state{margin:0 0 18px;padding:12px 14px;border:1px solid color-mix(in oklch,var(--status-blue) 28%,var(--border));border-radius:12px;background:var(--status-bg);color:var(--sub);font-size:.8rem}.draft-exception[hidden]{display:none}
.target-filter-row{margin-bottom:16px}.target-list{margin-bottom:0}.opening-shortcuts{display:flex;gap:8px}.opening-shortcuts button{min-height:40px;padding:8px 13px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--ink);font-weight:700;cursor:pointer}.opening-shortcuts button:hover{border-color:var(--brand-blue);color:var(--status-blue)}
.selected-context{display:grid;grid-template-columns:1fr auto;gap:24px;margin-bottom:18px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--bg)}.selected-context>div{display:grid}.selected-context>div:last-child{text-align:right}.selected-context small{color:var(--muted);font-size:.72rem}.selected-context strong,.selected-context time{font-variant-numeric:tabular-nums;font-weight:800}.selected-context span{color:var(--sub);font-size:.75rem}.venue-time-zone{margin:0 0 14px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.venue-time-zone[hidden]{display:none!important}.venue-time-zone select{background:var(--surface)}.opening-input{margin:0 0 10px}.opening-input input{background:var(--bg)}
.measurement-gate-inline{display:flex;justify-content:space-between;gap:24px;padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.measurement-gate-inline h3{margin:0 0 5px;font-size:1rem}.measurement-gate-inline p{max-width:62ch;margin:0;color:var(--sub);font-size:.82rem}.measurement-gate-inline>[data-target-measure-runtime]{min-width:220px;padding-left:20px;border-left:1px solid var(--border)}.measurement-gate-inline>[data-target-measure-runtime]>button{min-height:42px;padding:9px 16px;border:0;border-radius:999px;background:var(--action-blue);color:#fff;font-weight:700;cursor:pointer}.measurement-gate-inline>[data-target-measure-runtime]>button:disabled{opacity:.55;cursor:wait}.reference-preview{margin-top:24px;padding:18px 22px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.reference-preview>summary{cursor:pointer;color:var(--status-blue);font-weight:750}.reference-preview-body{display:grid;grid-template-columns:minmax(0,.72fr) minmax(340px,1fr);gap:24px;align-items:start;margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}.reference-explainer p{margin:6px 0 0;color:var(--sub);font-size:.82rem}.reference-preview .clock{padding:20px;border:1px solid var(--border);box-shadow:none}.reference-preview .clock h3{margin:2px 0;font-size:1rem}.reference-preview .idle{margin:18px 0;padding-block:16px}.reference-preview .measurement time{font-size:2.35rem}.reference-preview .diagnostics{font-size:.8rem}
.workflow-step>.primary-action{border:0;cursor:pointer}.prepared-target{margin-top:20px;padding:20px;border:1px solid color-mix(in oklch,var(--brand-blue) 28%,var(--border));border-radius:12px;background:var(--status-bg);color:var(--status-blue)}.prepared-target>div>p{margin:0;font-size:.72rem;font-weight:800}.prepared-target h3{margin:3px 0}.prepared-target>div>span,.prepared-target>p{color:var(--sub)}.prepared-target dl{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:16px 0}.prepared-target dt{font-size:.72rem}.prepared-target dd{margin:3px 0;font-weight:750}.prepared-target>p{margin-bottom:0;font-size:.8rem}.prepared-target[hidden],.target-option[hidden],.target-empty[hidden]{display:none!important}
.product-notes{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-block:64px 88px;border-top:1px solid var(--border)}.product-notes h2{font-size:1.35rem}.product-notes p{color:var(--sub)}.product-notes>div:last-child{padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.product-notes>div:last-child p{margin:6px 0 0;font-size:.85rem}
@media(max-width:760px){.workbench{padding-block:36px 64px}.workflow-progress{grid-template-columns:1fr}.workflow-progress li{display:none;border-right:0}.workflow-progress li[aria-current=step]{display:flex}.workflow-step{padding:22px}.measurement-gate-inline{display:block}.measurement-gate-inline>[data-target-measure-runtime]{margin-top:18px;padding:18px 0 0;border-top:1px solid var(--border);border-left:0}.reference-preview-body,.product-notes{grid-template-columns:1fr;gap:24px}.product-notes{padding-block:48px 64px}.reference-preview .clock{padding:18px}.selected-context{grid-template-columns:1fr}.selected-context>div:last-child{text-align:left}}
@media(max-width:440px){.workbench>.container{width:min(100% - 28px,960px)}.workbench-intro h1{font-size:2rem}.workflow-step{padding:18px 15px}.target-filter-row{grid-template-columns:1fr}.target-option{padding-inline:10px}.target-option em{max-width:92px;font-size:.67rem}.selected-context{padding:13px}.reference-preview .measurement time{font-size:1.9rem}.prepared-target dl{grid-template-columns:1fr}}
.workflow-step [data-target-measure-result] time{display:block;margin:12px 0;font-size:2rem;font-variant-numeric:tabular-nums;font-weight:750}.workflow-step [data-target-measure-result] dl{display:flex;flex-wrap:wrap;gap:12px;margin:0}.workflow-step [data-target-measure-result] dl div{min-width:90px}.workflow-step [data-target-measure-result] dt{color:var(--muted);font-size:.72rem}.workflow-step [data-target-measure-result] dd{margin:2px 0 0;font-variant-numeric:tabular-nums;font-weight:700}.workflow-step [data-target-measure-result] small{display:block;margin-top:12px;color:var(--muted)}

/* Target acquisition pages remain a task entry point, not a campaign landing page. */
.target-page{max-width:920px;padding-block:40px 88px}.target-breadcrumb{margin:0 0 32px;color:var(--muted);font-size:.82rem}.target-breadcrumb a{color:var(--link-blue);text-underline-offset:4px}.target-breadcrumb span{margin-left:8px}.target-page-header{display:flex;justify-content:space-between;gap:32px;align-items:flex-start;padding-bottom:30px;border-bottom:1px solid var(--border)}.target-page-header>div{max-width:660px}.target-page-header p:first-child{margin-bottom:8px;color:var(--status-blue);font-size:.8rem;font-weight:750}.target-page-header h1{margin-bottom:12px;font-size:2.5rem;letter-spacing:-.035em}.target-page-header>div>span{display:block;max-width:68ch;color:var(--sub);font-size:1rem}.target-verification-state{display:flex;gap:8px;align-items:center;max-width:220px;margin:4px 0 0;padding:8px 11px;border-radius:999px;background:var(--surface-2);color:var(--sub);font-size:.75rem;font-weight:700}.target-verification-state span{color:oklch(.65 .15 75)}.target-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:8px 0 28px}.target-facts div{padding:20px 0;border-bottom:1px solid var(--border)}.target-facts div:nth-child(odd){padding-right:28px}.target-facts div:nth-child(even){padding-left:28px}.target-facts dt{color:var(--muted);font-size:.75rem}.target-facts dd{margin:4px 0 0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-weight:700}.target-verification,.target-opening-plan,.target-app{display:flex;justify-content:space-between;gap:36px;align-items:center;padding:28px 0;border-bottom:1px solid var(--border)}.target-verification>div,.target-opening-plan>div,.target-app>div{max-width:64ch}.target-verification h2,.target-opening-plan h2,.target-app h2{margin-bottom:6px;font-size:1.1rem}.target-verification p,.target-opening-plan p,.target-app p{margin:0;color:var(--sub)}.secondary-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 16px;border:1px solid var(--border);border-radius:999px;color:var(--ink);font-weight:700;text-decoration:none;white-space:nowrap}.secondary-action:not(.is-disabled):hover{border-color:var(--brand-blue);color:var(--status-blue)}.secondary-action.is-disabled{color:var(--muted);cursor:not-allowed}.target-disclaimer{max-width:72ch;margin:24px 0 0;color:var(--muted);font-size:.8rem}
@media(max-width:700px){.target-page{padding-block:28px 64px}.target-page-header,.target-verification,.target-opening-plan,.target-app{display:block}.target-page-header h1{font-size:2rem}.target-verification-state{max-width:max-content;margin-top:20px}.target-facts{grid-template-columns:1fr}.target-facts div:nth-child(odd),.target-facts div:nth-child(even){padding-inline:0}.target-verification .text-link,.target-opening-plan .primary-action,.target-app .secondary-action{margin-top:18px}}

/* Support and legal actions stay compact and task-oriented. */
.legal-actions{display:flex;flex-wrap:wrap;gap:20px;margin-top:8px;padding-top:28px;border-top:1px solid var(--border)}.support-contact .primary-action{margin-top:18px}.support-contact small{display:block;margin-top:8px;color:var(--muted)}.footer-inner nav{display:flex;gap:16px}
@media(max-width:640px){.footer-inner nav{gap:14px}}

/* Legal / methodology pages: chronometer polish — mono eyebrow legend, numbered
   hairline sections, amber section legends, and a distinct support-contact card. */
.legal-kicker{margin:0 0 16px;color:var(--status-blue);font-family:var(--mono);font-size:.78rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.legal-body,.method-body{counter-reset:legal}
.legal-body section,.method-body section{position:relative;padding:32px 0}
.legal-body h2,.method-body h2{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;margin-bottom:10px;font-size:1.15rem;letter-spacing:-.01em}
.legal-body h2::before,.method-body h2::before{counter-increment:legal;content:counter(legal,decimal-leading-zero);flex:none;font-family:var(--mono);font-size:.82rem;font-weight:700;letter-spacing:.05em;color:var(--status-blue)}
.legal-body p,.method-body p{max-width:68ch;font-size:.97rem;line-height:1.65}
.legal-body .support-contact{margin-top:8px;padding:28px;border:1px solid color-mix(in oklch,var(--brand-blue) 26%,var(--border));border-radius:12px;background:var(--surface)}
.support-contact::before{display:none}
.support-contact h2::before{display:none}
.support-contact h2{display:block;margin-bottom:8px}
.legal-updated{margin-top:8px}
@media(max-width:640px){.legal-body section,.method-body section{padding:26px 0}.legal-body .support-contact{padding:22px}}

/* Optional analytics stays a quiet, explicit local-data control. */
.analytics-controls{max-width:760px;margin:8px 0 36px;padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.analytics-controls h2{margin-bottom:6px;font-size:1.125rem}.analytics-controls>div:first-child>p{max-width:70ch;margin-bottom:20px;color:var(--sub)}.analytics-consent{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:12px;background:var(--surface-2);cursor:pointer}.analytics-consent input{width:20px;height:20px;margin:3px 0 0;flex:none;accent-color:var(--action-blue)}.analytics-consent span{display:grid}.analytics-consent small{max-width:68ch;margin-top:2px;color:var(--sub)}.analytics-status{margin:16px 0 0;color:var(--ink);font-weight:700}.analytics-count{margin:2px 0 14px;color:var(--muted);font-size:.82rem;font-variant-numeric:tabular-nums}.analytics-actions{display:flex;flex-wrap:wrap;gap:10px}.analytics-actions button{cursor:pointer;background:transparent}.analytics-actions button:hover:not(:disabled){border-color:var(--brand-blue);color:var(--status-blue)}.analytics-actions button:disabled{color:var(--muted);cursor:not-allowed;opacity:.6}.analytics-actions .danger-action:hover:not(:disabled){border-color:var(--error);color:var(--error)}.analytics-controls [data-analytics-error]{margin:12px 0 0}

/* ===== Instrument identity layer: chronometer numerals, hairline surfaces, signal-amber ===== */
/* No horizontal overflow at any width; readings never spill their surface. */
html,body{overflow-x:hidden}
/* Korean (CJK) wraps mid-word by default, splitting words like "정각" into
   "정 / 각" and reading as if the text is cut off. keep-all breaks only at
   word boundaries (spaces); overflow-wrap lets long URLs/numbers still break. */
body{word-break:keep-all;overflow-wrap:break-word}
img,svg,input,select,textarea{max-width:100%}
/* Every reading/readout is set in the mechanical mono with tabular figures. */
.live-clock-time,.countdown-value,.measurement time,.measure-result time,.workflow-step [data-target-measure-result] time,.live-clock-uncertainty,.live-clock-freshness,.measure-result dd,.measurement dd,.selected-context strong,.selected-context time,.target-facts dd,.prepared-target dd,.diagnostics b{font-family:var(--mono);font-variant-numeric:tabular-nums}
/* Wide-tracked technical legends/eyebrows in the mono. */
.live-clock-kicker,.workbench-kicker,.section-kicker,.countdown-label,.live-clock-tag,.workflow-progress li,.target-page-header p:first-child,.target-page-header>div:first-child p:first-child,.measurement>span,.measure-result dt,.measurement dt,.target-facts dt,.selected-context small,.brand small{font-family:var(--mono);letter-spacing:.06em}
.brand strong{font-family:var(--mono);letter-spacing:-.02em}
.diagnostics summary{font-family:var(--mono);letter-spacing:.04em}
/* Sharp instrument radii — a bezel, not a soft rounded card. */
.clock,.live-clock,.picker-panel,.measurement-upgrade,.workflow-step,.reference-preview,.analytics-controls,.opening-optional{border-radius:12px}
.target-option,.countdown,.venue-time-zone,.opening-input input,.selected-context,.workflow-progress,.prepared-target,.measurement-gate-inline,.draft-exception,.arm-state,.reference-preview .clock,.analytics-consent{border-radius:8px}
.primary-action,.secondary-action,.clock button,.live-clock-tag,.clock header>span,.measurement-gate-inline>[data-target-measure-runtime]>button,.live-clock-remeasure,.target-verification-state,.opening-shortcuts button{border-radius:8px}
.target-filter-row input,.target-filter-row select,.venue-time-zone select{border-radius:8px}
.brand-mark{border-radius:6px}.skip{border-radius:8px}
.site-header nav a,.languages summary,.languages a,.languages>div,.preferences summary,.preferences>div{border-radius:8px}
/* Legible dark ink on the luminous amber accent (never washed-out white). */
.primary-action,.clock button,.measurement-gate-inline>[data-target-measure-runtime]>button,.workflow-step>.primary-action{color:var(--on-accent);font-weight:800}
.workflow-progress li[aria-current=step] span,.workflow-progress li.is-complete span{color:var(--on-accent)}
/* Keep the big clock from ever overflowing narrow phones. */
.live-clock-time{font-size:clamp(1.9rem,9vw,4.6rem);letter-spacing:-.04em;text-shadow:0 0 26px color-mix(in srgb,var(--brand-blue) 20%,transparent)}
/* The signature: a fine 60-tick chronometer bezel with an amber sweep arc
   behind the live hero clock, plus a hairline amber edge. */
.live-clock{position:relative;border-color:color-mix(in srgb,var(--brand-blue) 26%,var(--border))}
/* The bezel lives in its own clipped layer so the decoration is masked to the
   card, while text content (note, readout) is never clipped on the right. */
.live-clock-bezel{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none}
.live-clock-bezel::before{content:"";position:absolute;top:-72px;right:-72px;width:224px;height:224px;border-radius:50%;background:repeating-conic-gradient(var(--border) 0deg .35deg,transparent .35deg 6deg);-webkit-mask:radial-gradient(circle,transparent 78px,#000 80px,#000 104px,transparent 106px);mask:radial-gradient(circle,transparent 78px,#000 80px,#000 104px,transparent 106px);opacity:.75}
/* The sweep is the second hand: target-picker.js rotates it to the live
   second-of-minute (6° per second), so the bright head sits on the tick the
   readout is reading. The long faint trail keeps part of the sweep inside the
   card while the head travels through the clipped corner. */
.live-clock-sweep{position:absolute;top:-72px;right:-72px;width:224px;height:224px;border-radius:50%;background:conic-gradient(var(--brand-blue) 0deg,transparent 3deg 96deg,color-mix(in srgb,var(--brand-blue) 35%,transparent) 220deg,color-mix(in srgb,var(--brand-blue) 62%,transparent) 300deg,var(--brand-blue) 360deg);-webkit-mask:radial-gradient(circle,transparent 90px,#000 92px,#000 98px,transparent 100px);mask:radial-gradient(circle,transparent 90px,#000 92px,#000 98px,transparent 100px);opacity:.95;will-change:transform}
.live-clock>*{position:relative;z-index:1}
.live-clock>.live-clock-bezel{position:absolute;z-index:0}
/* Reference-ice reserved, sparingly, for the verified / upstream reference surface. */
#reference-clock [data-badge]{color:var(--ice)}
#reference-clock{border-color:color-mix(in srgb,var(--ice) 22%,var(--border))}
/* Venue time-zone prompt for venue-required targets (e.g. resy) — required, not optional. */
.venue-time-zone{border-color:color-mix(in srgb,var(--brand-blue) 40%,var(--border));background:var(--status-bg)}
.venue-time-zone[data-required-live]:not([hidden]){box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand-blue) 45%,transparent)}
.live-clock-venue-hint{margin:14px 0 0;color:var(--status-blue);font-size:.85rem;font-weight:700}
.live-clock-venue-hint[hidden]{display:none}

/* ===== Stopwatch & reaction-practice tools + 24h/12h clock-format toggle ===== */
.tool-page{max-width:820px;padding-block:56px 88px}
.tool-intro{max-width:640px;margin-bottom:28px}
.tool-kicker{margin-bottom:10px;color:var(--status-blue);font-family:var(--mono);font-size:.78rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}
.tool-intro h1{margin-bottom:12px;font-size:clamp(2rem,4.5vw,3rem);letter-spacing:-.04em}
.tool-intro p{margin:0;color:var(--sub);font-size:1.02rem}
.tool-note{max-width:70ch;margin:28px 0 0;color:var(--muted);font-size:.82rem}
/* Stopwatch */
.stopwatch-face{padding:32px 28px;border:1px solid color-mix(in srgb,var(--brand-blue) 26%,var(--border));border-radius:12px;background:var(--surface);text-align:center}
.stopwatch-time{display:block;overflow-wrap:anywhere;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:clamp(3rem,14vw,6rem);font-weight:800;letter-spacing:-.045em;line-height:1}
.stopwatch[data-state=running] .stopwatch-time{color:var(--brand-blue);text-shadow:0 0 26px color-mix(in srgb,var(--brand-blue) 24%,transparent)}
.stopwatch-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px}
.stopwatch-controls button{min-width:104px;justify-content:center;cursor:pointer}
.stopwatch-controls button:disabled{opacity:.5;cursor:not-allowed}
.lap-board{margin-top:24px}
.lap-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.lap-table[hidden]{display:none}
.lap-table th,.lap-table td{padding:11px 14px;text-align:right;border-bottom:1px solid var(--border)}
.lap-table th:first-child,.lap-table td:first-child{text-align:left}
.lap-table thead th{color:var(--muted);font-family:var(--mono);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.lap-table tbody td{font-family:var(--mono);font-weight:650}
.lap-table tbody td:first-child{font-weight:800;color:var(--sub)}
.lap-fastest td{color:var(--brand-blue)}
.lap-slowest td{color:var(--muted)}
.lap-empty{margin:16px 0 0;color:var(--muted);font-size:.85rem}
.lap-empty[hidden]{display:none}
/* Reaction practice */
.reaction-pad{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;min-height:260px;padding:32px;border:1px solid color-mix(in srgb,var(--brand-blue) 30%,var(--border));border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;text-align:center;cursor:pointer;transition:background .1s,border-color .1s}
.reaction-value{overflow-wrap:anywhere;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:clamp(1.6rem,5vw,2.4rem);font-weight:800;letter-spacing:-.02em}
.reaction-hint{color:var(--muted);font-size:.85rem}
.reaction-hint:empty{display:none}
.reaction-pad[data-state=wait]{background:var(--surface-3);border-color:var(--border)}
.reaction-pad[data-state=go]{background:var(--brand-blue);border-color:var(--brand-blue);color:var(--on-accent)}
.reaction-pad[data-state=go] .reaction-value{color:var(--on-accent)}
.reaction-pad[data-state=too-soon]{background:color-mix(in srgb,var(--error) 14%,var(--surface));border-color:color-mix(in srgb,var(--error) 42%,var(--border))}
.reaction-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0 0}
.reaction-stats div{padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);text-align:center}
.reaction-stats dt{margin:0;color:var(--muted);font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}
.reaction-stats dd{margin:6px 0 0;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:800}
.reaction-actions{margin-top:18px}
.reaction-actions button{cursor:pointer}
.reaction-actions button:disabled{opacity:.5;cursor:not-allowed}
/* 24h / 12h clock-format segmented control */
.clock-format{display:inline-flex;padding:3px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}
.clock-format button{min-height:30px;padding:5px 12px;border:0;border-radius:6px;background:transparent;color:var(--sub);font-family:var(--mono);font-size:.74rem;font-weight:700;letter-spacing:.04em;cursor:pointer}
.clock-format button[aria-pressed=true]{background:var(--action-blue);color:var(--on-accent)}
.clock-format button:not([aria-pressed=true]):hover{color:var(--ink)}
/* Header Preferences menu (Settings location for the clock-format toggle) */
.preferences{position:relative}
.preferences summary{min-height:40px;padding:8px 12px;border-radius:12px;color:var(--sub);font-size:.875rem;font-weight:600;cursor:pointer;list-style:none}
.preferences summary::-webkit-details-marker{display:none}
.preferences summary:hover{background:var(--surface-2);color:var(--ink)}
.preferences summary:after{content:"⌄";margin-left:6px}
.preferences>div{position:absolute;right:0;width:max-content;margin-top:8px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);z-index:1}
.preferences-field{display:grid;gap:8px}
.preferences-label{color:var(--muted);font-size:.78rem;font-weight:700}
@media(max-width:640px){.tool-page{padding-block:36px 64px}.stopwatch-face{padding:26px 16px}.reaction-stats{gap:10px}.reaction-stats div{padding:12px}}
