:root{color-scheme:dark;--bg: #06100f;--bg-raised: #0b1917;--surface: #102622;--surface-2: #16342f;--text: #f1fbf7;--muted: #9db3ad;--faint: #6f8a83;--line: rgba(142, 204, 190, .2);--primary: #2de0cb;--primary-ink: #031a18;--signal: #ffb64c;--danger: #ff7a6b;--ok: #59e39b;--radius: 12px;--max: 1040px;--font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-width:320px;margin:0;background:linear-gradient(180deg,rgba(45,224,203,.07),transparent 22rem),var(--bg);color:var(--text);font-family:var(--font);font-size:1rem;line-height:1.6}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}img{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:absolute;inset-inline-start:12px;top:-80px;z-index:100;padding:8px 14px;border-radius:8px;background:var(--primary);color:var(--primary-ink)}.skip:focus{top:8px}.wrap,.read{width:min(var(--max),calc(100% - 32px));margin:0 auto}.site-header{position:sticky;top:0;z-index:40;border-bottom:1px solid rgba(142,204,190,.14);background:#06100fd1;-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2)}.site-header .wrap{display:flex;align-items:center;gap:20px;min-height:64px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--text);font-weight:760;white-space:nowrap}.brand:hover{text-decoration:none}.brand img{border-radius:8px}.nav{display:flex;align-items:center;gap:4px;margin-inline-start:auto}.nav a{padding:8px 10px;border-radius:8px;color:var(--muted);font-size:.92rem;font-weight:650}.nav a:hover,.nav a[aria-current=page]{background:#2de0cb1a;color:var(--primary);text-decoration:none}.lang{position:relative;font-size:.86rem}.lang summary{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;color:var(--text);cursor:pointer;list-style:none}.lang summary::-webkit-details-marker{display:none}.lang ul{position:absolute;inset-inline-end:0;top:calc(100% + 6px);min-width:150px;margin:0;padding:6px;list-style:none;border:1px solid var(--line);border-radius:var(--radius);background:#06100ff7;box-shadow:0 18px 36px #0006}.lang a{display:block;padding:7px 10px;border-radius:8px;color:var(--muted)}.lang a[aria-current=true],.lang a:hover{background:#2de0cb1a;color:var(--primary);text-decoration:none}.menu-toggle{display:none;margin-inline-start:auto;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-weight:650}@media(max-width:900px){.menu-toggle{display:inline-block}.nav{display:none;position:absolute;top:64px;inset-inline:0;flex-direction:column;align-items:stretch;padding:10px 16px 16px;border-bottom:1px solid var(--line);background:#06100ffa}.nav.is-open{display:flex}.nav a{padding:12px;font-size:1rem}.site-header .lang{margin-inline-start:0}}main{display:block;padding-bottom:64px}.page-head{padding:36px 0 18px}.page-head h1{margin:0;font-size:clamp(1.9rem,4.6vw,3rem);line-height:1.08;letter-spacing:-.01em}.page-head .lede{max-width:62ch;margin:12px 0 0;color:var(--muted);font-size:1.08rem}.crumbs{margin:0 0 10px;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px;color:var(--faint);font-size:.85rem}.crumbs li+li:before{content:"/";margin-inline-end:6px;color:var(--faint)}.crumbs a{color:var(--muted)}.prose{color:#d6e6e1;font-size:1.04rem}.prose h2{margin:2.2em 0 .5em;color:var(--text);font-size:1.45rem;line-height:1.25}.prose h3{margin:1.6em 0 .4em;color:var(--text);font-size:1.15rem}.prose p,.prose ul,.prose ol{margin:0 0 1em}.prose li+li{margin-top:.35em}.prose code,.code{font-family:var(--mono);color:var(--signal);letter-spacing:.04em}.table-wrap{margin:1.2em 0;overflow-x:auto}.prose table{width:100%;border-collapse:collapse;font-size:.97rem}.prose th,.prose td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:start}.prose th{color:var(--muted);font-weight:650}.byline{margin:14px 0 0;color:var(--faint);font-size:.88rem}.byline a{color:var(--muted)}.section{padding:40px 0 0}.section>h2{margin:0 0 14px;font-size:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font-weight:650;white-space:nowrap}.btn:hover{border-color:#2de0cb80;text-decoration:none}.btn:disabled{opacity:.45;cursor:default}.btn-primary{border-color:transparent;background:var(--primary);color:var(--primary-ink)}.btn-primary:hover{background:#5ff0de}.btn-signal{border-color:transparent;background:var(--signal);color:#2a1700}.btn-small{min-height:36px;padding:0 12px;font-size:.9rem}.seg{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--bg-raised)}.seg button{min-height:38px;padding:0 14px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-weight:650}.seg button[aria-pressed=true]{background:var(--surface-2);color:var(--primary)}.field{display:grid;gap:6px;color:var(--muted);font-size:.85rem;font-weight:650}select,textarea,input[type=text]{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--bg-raised);color:var(--text)}select{min-height:42px;padding:0 10px}input[type=text]{min-height:46px;padding:0 14px;font-size:1.1rem}textarea{min-height:132px;padding:14px;font-size:1.1rem;line-height:1.5;resize:vertical}input[type=range]{width:100%;margin:0;accent-color:var(--primary)}.check{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.9rem;font-weight:650;cursor:pointer}.check input{width:18px;height:18px;margin:0;accent-color:var(--primary)}.range span{display:flex;justify-content:space-between;gap:8px}.range output{color:var(--text);font-variant-numeric:tabular-nums}.tool{display:grid;gap:16px;padding:20px;border:1px solid rgba(45,224,203,.24);border-radius:16px;background:linear-gradient(180deg,#16342fb3,#0b1917e6);box-shadow:0 24px 60px #00000059}.tool-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.tool-row .grow{flex:1 1 auto}.tool-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px 18px;align-items:end;padding-top:4px;color:var(--muted);font-size:.85rem;font-weight:650}.note{margin:0;color:var(--faint);font-size:.86rem}.warn{margin:0;color:var(--signal);font-size:.88rem}.tr-panes{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:760px){.tr-panes{grid-template-columns:1fr}}.tr-out{position:relative;min-height:132px;padding:14px;border:1px solid rgba(255,182,76,.32);border-radius:10px;background:var(--bg-raised);font-size:1.2rem;line-height:1.6;overflow-wrap:anywhere;transition:background 40ms linear}.tr-out.is-morse{color:var(--signal);font-family:var(--mono);letter-spacing:.06em}.tr-out.is-lit{background:#fff3d6;color:#3a2400}.tr-out:empty:before{content:attr(data-empty);color:var(--faint);font-family:var(--font);letter-spacing:0}.tr-out .on{background:#ffb64c47;border-radius:4px}.shared{padding:16px 18px;border:1px solid rgba(255,182,76,.4);border-radius:14px;background:#ffb64c12}.shared[hidden]{display:none}.shared p{margin:0 0 10px;font-weight:700}.shared .code{display:block;margin-bottom:12px;font-size:1.15rem;overflow-wrap:anywhere}.chart-tabs{display:flex;flex-wrap:wrap;gap:6px}.chart-tabs a{padding:7px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.9rem;font-weight:650}.chart-tabs a[aria-current=page]{border-color:#2de0cb8c;background:#2de0cb1a;color:var(--primary);text-decoration:none}.chart-group h3{margin:18px 0 10px;color:var(--muted);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.chart-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}.sym{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg-raised);text-align:start}.sym:hover,.sym.is-on{border-color:#ffb64c99;background:#ffb64c14}.sym b{font-size:1.35rem;font-weight:760}.sym code{color:var(--signal);font-family:var(--mono);font-size:1rem;letter-spacing:.08em;direction:ltr}.big-answer{font-size:1.6rem;text-align:center;letter-spacing:.08em}.stats{display:flex;flex-wrap:wrap;gap:10px}.stat{flex:1 1 110px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg-raised)}.stat small{display:block;color:var(--faint);font-size:.78rem;font-weight:650;text-transform:uppercase;letter-spacing:.06em}.stat strong{font-size:1.35rem;font-variant-numeric:tabular-nums}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{min-width:34px;padding:4px 8px;border:1px solid var(--line);border-radius:8px;background:var(--bg-raised);font-weight:700;text-align:center}.chip.is-new{border-color:var(--signal);color:var(--signal)}.feedback{min-height:1.6em;margin:0;font-weight:700;text-align:center}.feedback.ok{color:var(--ok)}.feedback.bad{color:var(--danger)}.choices{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.choices button{min-height:64px;border:1px solid var(--line);border-radius:12px;background:var(--bg-raised);font-size:1.4rem;font-weight:760}.choices button.code{font-size:1.3rem}.choices button.right{border-color:var(--ok);background:#59e39b1f}.choices button.wrongpick{border-color:var(--danger);background:#ff7a6b1f}.prompt{min-height:92px;display:grid;place-items:center;border:1px dashed var(--line);border-radius:12px;font-size:2.6rem;font-weight:800}.prompt.code{font-size:2rem}.meter{height:10px;border-radius:999px;background:var(--bg-raised);overflow:hidden}.meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--primary),var(--signal));transition:width 60ms linear}.pad{display:grid;place-items:center;min-height:180px;border:2px solid rgba(45,224,203,.4);border-radius:20px;background:radial-gradient(circle at 50% 40%,rgba(45,224,203,.14),transparent 70%),var(--bg-raised);color:var(--muted);font-size:1.15rem;font-weight:700;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}.pad.is-down{border-color:var(--signal);background:radial-gradient(circle at 50% 40%,rgba(255,182,76,.35),transparent 70%),var(--bg-raised);color:var(--signal)}.timeline{display:flex;align-items:center;gap:3px;min-height:28px;padding:6px 8px;border-radius:8px;background:var(--bg-raised);overflow-x:auto}.timeline i{display:block;flex:none;height:12px;border-radius:3px;background:var(--signal)}.timeline i.off{background:transparent}.timeline i.meh{background:var(--danger)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.card{display:block;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--bg-raised);color:var(--text)}.card:hover{border-color:#2de0cb80;text-decoration:none}.card strong{display:block;margin-bottom:4px;font-size:1.04rem}.card span{color:var(--muted);font-size:.92rem}.card .code{display:block;margin-top:8px;font-size:.95rem}.faq details{border-bottom:1px solid var(--line)}.faq summary{padding:14px 0;color:var(--text);font-weight:700;cursor:pointer}.faq details p{margin:0 0 14px;color:#d6e6e1}.app-block{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px 28px;margin-top:18px;padding:20px 22px;border:1px solid rgba(255,182,76,.35);border-radius:16px;background:linear-gradient(120deg,#ffb64c1a,#2de0cb14);scroll-margin-top:80px}.app-copy{display:flex;align-items:flex-start;gap:14px;align-self:center}.app-icon{flex:none;border-radius:13px}.app-block h2{margin:0 0 4px;font-size:1.25rem}.app-block p{margin:0;color:var(--muted)}.app-buttons{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.app-tile{display:inline-flex;flex-direction:column;align-items:center;gap:8px}.app-block img.app-tile__qr{display:none}@media(min-width:981px){.app-block img.app-tile__qr{display:block;width:112px;height:112px;padding:6px;border-radius:12px;background:#fff}}.brand-icon{width:18px;height:18px}@media(max-width:760px){.app-block{grid-template-columns:1fr}.app-buttons{display:grid;grid-template-columns:1fr 1fr}.app-buttons .app-tile:last-child{grid-column:1 / -1}.app-tile,.app-tile .btn{width:100%}}.nav .nav-app{margin-inline-start:6px;background:var(--signal);color:#2a1700}.nav .nav-app:hover{background:#ffc977;color:#2a1700}.app-banner{position:fixed;inset-inline:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;gap:10px;padding:10px 10px 10px 12px;border:1px solid rgba(255,182,76,.45);border-radius:16px;background:#0b1917f7;box-shadow:0 12px 34px #00000080}.app-banner img{flex:none;border-radius:10px}.app-banner__text{flex:1 1 auto;min-width:0;font-size:.82rem;line-height:1.3}.app-banner__text strong{display:block;font-size:.92rem}.app-banner__text span{display:-webkit-box;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.app-banner__close{flex:none;width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--faint);font-size:1.3rem}.has-app-banner body{padding-bottom:92px}@media(min-width:761px){.app-banner{display:none!important}}.policy-hero{padding:36px 0 10px}.policy-hero h1{margin:6px 0 0;font-size:clamp(1.9rem,4.6vw,3rem);line-height:1.08}.policy-hero p{margin:12px 0 0;color:var(--muted)}.policy-date{color:var(--faint)!important;font-size:.88rem}.policy-content{margin-top:18px;border-top:1px solid var(--line)}.policy-content article{display:grid;grid-template-columns:minmax(160px,260px) minmax(0,1fr);gap:6px 28px;padding:14px 0;border-bottom:1px solid var(--line)}.prose .policy-content h2{margin:0;color:var(--muted);font-size:.95rem;font-weight:650;line-height:1.5}.policy-content p{margin:0 0 .6em}.policy-content p:last-child{margin-bottom:0}@media(max-width:640px){.policy-content article{grid-template-columns:1fr}}.site-footer{margin-top:40px;padding:28px 0 40px;border-top:1px solid var(--line);color:var(--faint);font-size:.9rem}.site-footer .wrap{display:grid;gap:18px}.foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:18px}.foot-cols h3{margin:0 0 8px;color:var(--muted);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.foot-cols ul{margin:0;padding:0;list-style:none}.foot-cols li{margin:4px 0}.foot-cols a{color:var(--muted)}@media print{.site-header,.site-footer,.app-block,.no-print,.chart-tabs{display:none!important}body{background:#fff;color:#000}.sym{border-color:#999;background:#fff;break-inside:avoid}.sym code{color:#000}}@media(max-width:520px){.tool{padding:14px}.seg button{padding:0 10px;font-size:.86rem}.tool-row>.field.grow{max-width:none!important;margin-inline-start:0!important}}@media(max-width:760px){.seg button,.btn-small,.chart-tabs a{min-height:44px}.chart-tabs a{display:inline-flex;align-items:center}select{min-height:44px}input[type=range]{height:32px}.check{min-height:44px}}.more-tools{margin:28px 0 0;color:var(--faint);font-size:.9rem}.more-tools a{color:var(--muted)}
