@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap";:root{--deep: var(--brand-deep, #14283a);--on-deep: var(--brand-on-deep, #f5f0e8);--surface: var(--brand-surface, #fbf8f3);--text: var(--brand-text, #1d2530);--muted: var(--brand-muted, #677284);--primary: var(--brand-primary, #1f4f74);--on-primary: var(--brand-on-primary, #ffffff);--accent: var(--brand-accent, #c7883c);--line: var(--brand-line, #e2dbd0);--soft: var(--brand-soft, #f0eae0);--radius: var(--brand-radius, 14px);--radius-sm: var(--brand-radius-control, 10px);--head: var(--brand-font-heading, "Fraunces", Georgia, serif);--body: var(--brand-font-body, Inter, system-ui, -apple-system, "Segoe UI", sans-serif);--head-weight: var(--brand-heading-weight, 600);--good: #2f8a5b;--bad: #b8433a}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{font-family:var(--body);background:var(--deep);color:var(--on-deep);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button:disabled{cursor:default}.clock{width:100vw;height:100vh;height:100dvh;display:grid;grid-template-columns:1fr minmax(380px,1fr)}.left{padding:clamp(28px,7vh,56px) clamp(28px,5.5vw,56px) clamp(22px,5vh,40px);display:flex;flex-direction:column;min-width:0}.mark{min-height:48px;display:flex;align-items:center}.mark img{max-height:64px;max-width:70%;object-fit:contain}.wordmark{font-family:var(--head);font-weight:var(--head-weight);font-size:clamp(22px,3.2vw,30px);letter-spacing:.01em;line-height:1.1}.wordmark.upper{text-transform:uppercase;letter-spacing:.08em}.now{margin-top:auto}.time{font-family:var(--head);font-weight:var(--head-weight);font-size:clamp(64px,12vw,128px);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.date{font-size:clamp(16px,2vw,21px);opacity:.78;margin-top:12px;line-height:1.4;max-width:30em}.status{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:clamp(18px,5vh,36px);font-size:14px;font-weight:600}.status span{opacity:.8}.status .warn{opacity:1;color:var(--deep);background:#f1c46b;border-radius:999px;padding:4px 12px}.lang{margin-left:auto;font-size:13px;font-weight:700;opacity:.75;padding:6px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--on-deep) 30%,transparent)}.card{position:relative;background:var(--surface);color:var(--text);margin:clamp(14px,4vh,28px) clamp(14px,3vw,28px) clamp(14px,4vh,28px) 0;border-radius:calc(var(--radius) + 6px);padding:clamp(20px,5vh,40px) clamp(20px,4vw,40px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden}.card h1{margin:0;font-family:var(--head);font-weight:var(--head-weight);font-size:clamp(26px,3.6vw,36px);color:var(--primary);line-height:1.15}.card h1.small{font-size:clamp(22px,2.8vw,28px);color:var(--text);max-width:16em}.hint{color:var(--muted);font-size:16px;margin:8px 0 clamp(12px,3vh,22px)}.reader{width:clamp(110px,15vw,150px);height:clamp(68px,10vh,92px);border-radius:12px;border:2px dashed var(--line);display:grid;place-items:center;color:var(--accent)}.reader svg{width:42px;height:42px}.reader.on{border-style:solid;border-color:color-mix(in srgb,var(--accent) 55%,var(--line));animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--accent) 14%,transparent)}}.dots{display:flex;gap:12px;margin:clamp(14px,3vh,24px) 0 clamp(10px,2vh,16px);min-height:14px}.dots i{width:14px;height:14px;border-radius:50%;border:2px solid color-mix(in srgb,var(--primary) 45%,var(--line))}.dots i.on{background:var(--primary);border-color:var(--primary)}.pad{display:grid;grid-template-columns:repeat(3,clamp(64px,8.4vw,84px));gap:clamp(8px,1.4vh,12px)}.pad button{height:clamp(52px,8.6vh,66px);border-radius:var(--radius-sm);background:var(--soft);color:var(--text);font-size:24px;font-weight:600;display:grid;place-items:center;transition:transform .06s,background .15s}.pad button:active:not(:disabled){transform:scale(.96);background:color-mix(in srgb,var(--primary) 14%,var(--soft))}.pad button.clear{background:transparent;color:var(--muted)}.pad button.ok,.answers button.ok,.wide.ok{background:var(--primary);color:var(--on-primary);font-size:18px;font-weight:700}.pad button:disabled{opacity:.45}.pad.small{grid-template-columns:repeat(3,64px)}.pad.small button{height:48px;font-size:20px}.busy{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:color-mix(in srgb,var(--surface) 55%,transparent)}.busy span{width:46px;height:46px;border-radius:50%;border:4px solid var(--line);border-top-color:var(--primary);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.result{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:30em}.badge{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;font-size:34px;font-weight:800;margin-bottom:6px}.badge.good{background:color-mix(in srgb,var(--good) 14%,var(--surface));color:var(--good)}.badge.bad{background:color-mix(in srgb,var(--bad) 12%,var(--surface));color:var(--bad)}.badge.muted{background:var(--soft);color:var(--muted)}.card.error .result{animation:shake .35s}@keyframes shake{25%{transform:translate(-8px)}75%{transform:translate(8px)}}.big{margin:0;font-size:clamp(20px,2.6vw,26px);font-weight:700}.sub{margin:0;font-size:16px;color:var(--muted);line-height:1.5}.sub.strong{color:var(--text);font-weight:600}.note{margin:6px 0 0;font-size:15px;font-weight:600;color:#7a4b00;background:#fff4dc;border-radius:var(--radius-sm);padding:10px 14px;line-height:1.45}.note.good{color:var(--good);background:color-mix(in srgb,var(--good) 10%,var(--surface))}.question{margin-top:10px;border-top:1px solid var(--line);padding-top:14px;width:100%;display:flex;flex-direction:column;align-items:center;gap:10px}.question p{margin:0;font-size:18px;font-weight:700}.question .fine{font-size:13px;font-weight:500;color:var(--muted)}.answers{display:flex;gap:10px}.answers button{min-width:104px;height:54px;border-radius:var(--radius-sm);background:var(--soft);font-size:18px;font-weight:700;color:var(--text)}.minutes{font-size:18px;color:var(--muted)}.minutes b{font-family:var(--head);font-size:34px;color:var(--text)}.pairing{display:flex;flex-direction:column;gap:6px;margin:22px 0 10px;text-align:left;width:min(320px,100%)}.pairing span{font-size:13px;font-weight:700;color:var(--muted)}.pairing input{font:inherit;font-size:26px;font-weight:700;letter-spacing:.18em;text-align:center;padding:12px;border-radius:var(--radius-sm);border:2px solid var(--line);background:#fff;color:var(--text);-webkit-user-select:text;user-select:text}.pairing input:focus{outline:none;border-color:var(--primary)}.wide{width:min(320px,100%);height:56px;border-radius:var(--radius-sm);margin-top:8px}.wide:disabled{opacity:.5}@media(max-aspect-ratio:1/1),(max-width:720px){.clock{grid-template-columns:1fr;grid-template-rows:auto 1fr}.left{padding:22px 22px 16px}.now{margin-top:14px}.time{font-size:clamp(48px,13vw,84px)}.status{margin-top:12px}.card{margin:0 14px 14px}}
