.tp,.tp *{box-sizing:border-box}.tp [hidden]{display:none!important}.tp{background:var(--surface);height:100%;color:var(--ink);font-family:var(--font-sans);-webkit-text-size-adjust:100%;margin:0;font-size:17px;line-height:26px}.tp button{font:inherit;color:inherit}.tp a{color:inherit}.tp h1,.tp h2,.tp h3,.tp h4,.tp p{margin:0}.tp{min-height:100%}.tp .vh{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.tp :focus-visible{outline:var(--focus-width) solid var(--focus);outline-offset:2px}.tp .h1{font-family:var(--font-display);letter-spacing:-.03em;font-size:28px;font-weight:600;line-height:34px}.tp .h2{font-family:var(--font-display);letter-spacing:-.02em;font-size:22px;font-weight:600;line-height:28px}.tp .h3{font-family:var(--font-display);letter-spacing:-.01em;font-size:19px;font-weight:600;line-height:25px}.tp .label{font-family:var(--font-display);font-size:16px;font-weight:600;line-height:22px}.tp .cap,.tp .muted{color:var(--ink-muted);font-size:15px;line-height:20px}.tp .kicker{font-family:var(--font-display);color:var(--ink-muted);text-transform:none;font-size:15px;font-weight:600;line-height:20px}.tp b,.tp strong{font-weight:700}.tp .btn{border-radius:var(--radius-pill);background:var(--sunk);min-height:48px;color:var(--ink);font-family:var(--font-display);cursor:pointer;white-space:nowrap;border:0;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:17px;font-weight:600;text-decoration:none;display:inline-flex}.tp .btn:active{transform:scale(.97)}.tp .btn[disabled],.tp .btn[aria-disabled=true]{opacity:.42;cursor:default;transform:none}.tp .btn--ink{background:var(--brand);color:var(--on-brand)}.tp .btn--out{box-shadow:inset 0 0 0 1.5px var(--line);background:0 0}.tp .btn--text{text-underline-offset:3px;background:0 0;padding:0 8px;font-weight:600;text-decoration:underline}.tp .btn--danger{background:var(--wrong);color:var(--on-wrong)}.tp .btn--block{width:100%}.tp .btn--wrap{white-space:normal;text-align:center;padding-block:10px;line-height:22px}.tp .btn--l{min-height:56px}.tp .btn--s{min-height:44px;padding:0 14px;font-size:15px}.tp .btn--link{white-space:normal;text-align:left;justify-content:flex-start;min-height:44px;padding:0 2px;font-size:15px}.tp .btn--onink{color:#15171b;background:#fff}.tp .btn--gold{background:var(--accent);color:var(--on-accent)}.tp .btn--gold:hover{background:var(--pass-mid,var(--accent))}.tp .chip--onink{color:var(--on-ink-card);background:#ffffff29;box-shadow:inset 0 0 0 1px #ffffff4d}.tp .chip--onink.chip--gold{background:var(--accent-tint);color:var(--accent-ink);box-shadow:none}.tp .check{cursor:pointer;align-items:center;gap:12px;min-height:44px;display:flex}.tp .check input{width:24px;height:24px;accent-color:var(--brand);flex:none;margin:0}.tp .tickoff{width:20px;height:20px;box-shadow:inset 0 0 0 2px var(--line);border-radius:50%;flex:none}.tp .chip{border-radius:var(--radius-pill);background:var(--sunk);min-height:30px;font-family:var(--font-display);white-space:nowrap;align-items:center;gap:6px;padding:0 12px;font-size:15px;font-weight:600;line-height:20px;display:inline-flex}.tp .chip--wrong{background:var(--wrong-tint);color:var(--wrong-ink)}.tp .chip--ok{background:var(--correct-tint);color:var(--correct-ink)}.tp .chip--flag{background:var(--flag-tint);color:var(--flag-ink)}.tp .chip--gold{background:var(--accent-tint);color:var(--accent-ink)}.tp .chip--ink{background:var(--brand);color:var(--on-brand)}.tp .ic{flex:none;width:20px;height:20px}.tp .seg{background:var(--sunk);border-radius:var(--radius-pill);gap:4px;padding:4px;display:inline-flex}.tp .seg button{border-radius:var(--radius-pill);min-height:44px;font-family:var(--font-display);cursor:pointer;background:0 0;border:0;padding:0 16px;font-size:16px;font-weight:600}.tp .seg button[aria-pressed=true]{background:var(--raised);box-shadow:var(--shadow-raise)}.tp .card{background:var(--raised);border-radius:var(--radius-l);box-shadow:var(--shadow-card);padding:18px 20px}.tp .card--ink{background:var(--grad-ink);color:var(--on-ink-card)}.tp .card--ink .muted{color:var(--on-ink-card-muted)}.tp .card--best{margin-top:10px;padding-top:24px;position:relative}.tp .card__best{border-radius:var(--radius-pill);background:var(--accent);color:var(--on-accent);box-shadow:0 0 0 2px var(--ink-card-lo,#15171b);font-family:var(--font-display);white-space:nowrap;margin:0;padding:2px 10px;font-size:15px;font-weight:600;line-height:20px;position:absolute;top:0;left:18px;translate:0 -50%}.tp .stack{flex-direction:column;gap:12px;display:flex}.tp .row{align-items:center;gap:12px;display:flex}.tp .row--wrap{flex-wrap:wrap}.tp .grow{flex:1;min-width:0}.tp .list{background:var(--raised);border-radius:var(--radius-l);flex-direction:column;display:flex;overflow:hidden}.tp .list>a,.tp .list>button,.tp .list>div{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;min-height:56px;padding:14px 18px;text-decoration:none;display:flex}.tp .list>*+*{border-top:1px solid var(--line-soft)}.tp .lock{color:var(--ink-muted);font-size:15px}.tp .shell{flex-direction:column;min-height:100dvh;display:flex}.tp .apphead{z-index:var(--z-sticky);background:var(--surface);align-items:center;gap:12px;min-height:56px;padding:0 16px;display:flex;position:sticky;top:0}.tp .apphead .h3{flex:1}.tp .page{flex-direction:column;flex:1;gap:16px;width:100%;max-width:760px;margin:0 auto;padding:8px 16px 100px;display:flex}.tp .tabs{z-index:var(--z-sticky);background:var(--raised);box-shadow:0 -1px 0 var(--line-soft);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tp .tabs a{font-family:var(--font-display);color:var(--ink-muted);flex-direction:column;align-items:center;gap:2px;padding:8px 0 10px;font-size:13px;font-weight:600;line-height:16px;text-decoration:none;display:flex}.tp .tabs a[aria-current=page]{color:var(--ink)}.tp .tabs svg{width:24px;height:24px}@media (width>=1024px){.tp .tabs{box-shadow:0 1px 0 var(--line-soft);order:-1;justify-content:center;gap:8px;display:flex;position:sticky;top:0;bottom:auto}.tp .tabs a{flex-direction:row;gap:8px;padding:14px 16px;font-size:16px}.tp .page{max-width:1120px;padding-bottom:48px}.tp .apphead{position:static}}.tp .grid2{gap:16px;display:grid}@media (width>=760px){.tp .grid2{grid-template-columns:1fr 1fr}}.tp .scrim{background:var(--scrim);z-index:var(--z-scrim);position:fixed;inset:0}.tp .sheet{z-index:var(--z-sheet);background:var(--raised);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;box-shadow:var(--shadow-sheet);padding:12px 20px calc(20px + env(safe-area-inset-bottom));flex-direction:column;gap:14px;max-height:88dvh;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:auto}.tp .sheet:before{content:"";background:var(--line-soft);border-radius:2px;align-self:center;width:40px;height:4px}@media (width>=640px){.tp .sheet{border-radius:var(--radius-xl);width:min(560px,94vw);bottom:50%;left:50%;right:auto;transform:translate(-50%)translateY(50%)}.tp .sheet:before{display:none}}.tp .sheet__acts{flex-direction:column;gap:10px;display:flex}@media (width>=640px){.tp .sheet__acts{flex-direction:row-reverse;justify-content:flex-start}}.tp .toast{z-index:var(--z-toast,80);z-index:60;background:var(--brand);color:var(--on-brand);border-radius:var(--radius-m);max-width:92vw;padding:10px 16px;font-size:15px;position:fixed;top:16px;left:50%;transform:translate(-50%)}.tp .mapwrap{background:#f4f1ea;flex:1;min-height:0;position:relative;overflow:hidden}.tp .mapwrap .map{position:absolute;inset:0}.tp .mapwrap .maplibregl-canvas{transition:filter .2s}.tp .mapwrap[data-bright="85"] .maplibregl-canvas{filter:brightness(.85)}.tp .mapwrap[data-bright="70"] .maplibregl-canvas{filter:brightness(.7)}.tp .maplibregl-ctrl-attrib{font-size:12px!important}.tp .mapcredit{z-index:2;color:#333;pointer-events:auto;background:#ffffffd1;border-top-left-radius:6px;padding:1px 6px;font-size:12px;line-height:16px;position:absolute;bottom:0;right:0}.tp .mapcredit a{color:inherit;text-decoration:none}.tp .mapwrap.is-drawing .maplibregl-canvas-container,.tp .mapwrap.is-drawing .still{cursor:crosshair}.tp .mapwrap.is-drawing .maplibregl-canvas-container:active{cursor:grabbing}.tp .maploading{z-index:5;background:var(--raised);width:min(320px,86%);box-shadow:var(--shadow-raise);text-align:left;border-radius:16px;flex-direction:column;gap:6px;padding:14px 16px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tp .res__map .maploading{top:50%}.tp .loadbar{background:var(--sunk);border-radius:3px;height:6px;margin-top:4px;overflow:hidden}.tp .loadbar i{background:var(--brand);width:4%;height:100%;transition:width .2s;display:block}.tp .maploading--failed{box-shadow:inset 4px 0 0 var(--wrong), var(--shadow-raise)}.tp .maploading--failed .btn{align-self:flex-start;margin-top:4px}.tp .still{overscroll-behavior:contain;background:#f4f1ea;position:absolute;inset:0;overflow:auto}.tp .still__inner{position:relative}.tp .still__inner img{user-select:none;-webkit-user-drag:none;width:100%;height:100%;position:absolute;inset:0}.tp .still__svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.tp .still__pins{pointer-events:none;position:absolute;inset:0}.tp .still__pin{position:absolute;transform:translate(-50%,-100%)}.tp .mapwrap[data-bright="85"] .still img{filter:brightness(.85)}.tp .mapwrap[data-bright="70"] .still img{filter:brightness(.7)}.tp .stillq{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.tp .qmap__none{background:var(--sunk);flex-direction:column;justify-content:center;gap:6px;padding:16px;display:flex;position:absolute;inset:0}.tp .keylist{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.tp .keylist li{align-items:center;gap:12px;font-size:16px;line-height:22px;display:flex}.tp .keylist svg{flex:none}.tp .keydrawer{width:360px;z-index:var(--z-sheet);background:var(--raised);box-shadow:var(--shadow-sheet);flex-direction:column;gap:12px;padding:14px 18px;display:flex;position:fixed;top:64px;bottom:72px;left:0;overflow:auto}.tp .pin{width:30px;height:40px}.tp .pin svg{filter:drop-shadow(0 1px 1.5px #00000059);width:30px;height:40px;display:block}.tp .pin__lbl{font-family:var(--font-display);color:#15171b;white-space:nowrap;pointer-events:none;background:#fff;border-radius:6px;padding:0 6px;font-size:15px;font-weight:700;line-height:20px;position:absolute;top:4px;left:calc(100% + 2px);box-shadow:0 0 0 1px #00000026}.tp .pin--lbl-l .pin__lbl{left:auto;right:calc(100% + 2px)}.tp .pin:after{content:"";pointer-events:none;background:#15171b;border-radius:50%;width:6px;height:6px;position:absolute;top:36px;left:12px;box-shadow:0 0 0 1.5px #fff}.tp .mapwrap.is-drawing .pin svg,.tp .mapwrap.is-drawing .pin__lbl{opacity:.7}.tp .mpin{width:26px;height:34px}.tp .mpin svg{width:26px;height:34px;display:block}.tp .ring{border:3px dashed var(--wrong);background:#d1291c0f;border-radius:50%;width:100%;height:100%}.tp .tbar{align-items:stretch;gap:6px;padding:6px 8px;display:flex}.tp .tbar__gap{flex:none;width:24px}.tp .tbtn{background:var(--raised);min-width:64px;min-height:52px;box-shadow:inset 0 0 0 1.5px var(--line-soft);font-family:var(--font-display);cursor:pointer;text-align:center;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 8px;font-size:15px;font-weight:600;line-height:16px;display:flex}.tp .tbtn svg{width:22px;height:22px}.tp .tbtn[disabled]{opacity:.4;cursor:default}.tp .tbtn--start{background:var(--correct);color:#fff;box-shadow:none}.tp .tbtn--clear{background:var(--wrong);color:#fff;box-shadow:none}.tp .tbtn--toggle{place-items:center;display:grid}.tp .tbtn--toggle .tg{flex-direction:inherit;grid-area:1/1;justify-content:center;align-items:center;gap:2px;display:flex}.tp .tbtn--toggle .tg--stop,.tp .tbtn--toggle.is-on .tg--start{visibility:hidden}.tp .tbtn--toggle.is-on .tg--stop{visibility:visible}.tp .tbtn--start.is-on,.tp .tbar--exam .tbtn--start.is-on{background:var(--pass-mid);color:var(--ink-card-lo);box-shadow:none}.tp .tbtn--icon{width:48px;min-width:48px}.tp .mapwrap{--tb:clamp(48px, 14.4vw, 56px)}.tp .tbar--map{z-index:3;background:var(--surface);box-shadow:0 1px 0 var(--line-soft);gap:4px;padding:6px;position:absolute;top:0;left:0;right:0}.tp .tbar--map .tbtn,.tp .tbar--map .tbtn--icon{width:var(--tb);min-width:0;height:var(--tb);border-radius:14px;flex:none;gap:3px;min-height:0;padding:0;font-size:13px;line-height:14px}.tp .tbar--map~.zoomrail{top:calc(var(--tb) + 22px)}.tp .tbar--exam{background:var(--grad-ink)}.tp .tbar--exam .tbtn{color:var(--on-ink-card);background:0 0;box-shadow:inset 0 0 0 1.5px #ffffff59}.tp .tbar--exam .tbtn--start{background:var(--correct);color:#fff;box-shadow:none}.tp .tbar--exam .tbtn--clear{background:var(--wrong);color:#fff;box-shadow:none}.tp .tbar--strip{background:var(--raised);box-shadow:0 1px 0 var(--line-soft)}.tp .tbar--strip.tbar--exam{background:var(--grad-ink)}.tp .tbar--strip .tbtn{flex-direction:row;gap:8px;min-height:44px;padding:0 14px}.tp .tbar--strip .tbtn--toggle .tg{flex-direction:row;gap:8px}.tp .target{pointer-events:none;z-index:2;width:44px;height:44px;margin:-22px 0 0 -22px;position:absolute;top:50%;left:50%}.tp .target svg{width:44px;height:44px}.tp .snapdot{background:var(--ink);pointer-events:none;z-index:2;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute;box-shadow:0 0 0 3px #fff}.tp .bubble{z-index:2;pointer-events:none;background:var(--brand);color:var(--on-brand);font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;border-radius:12px;max-width:92%;padding:6px 12px;font-size:15px;font-weight:600;line-height:20px;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.tp .mapbanner{z-index:4;background:var(--raised);box-shadow:var(--shadow-raise);border-radius:14px;padding:10px 14px;font-size:15px;line-height:20px;position:absolute;left:10px;right:10px}.tp .mapbanner--warn{box-shadow:inset 4px 0 0 var(--wrong), var(--shadow-raise)}.tp .mapbanner--tip{box-shadow:inset 4px 0 0 var(--pass-mid), var(--shadow-raise)}.tp .zoomrail{z-index:3;flex-direction:column;gap:6px;display:flex;position:absolute;top:10px;right:10px}.tp .zoomrail button{background:var(--raised);width:44px;height:44px;box-shadow:var(--shadow-raise);cursor:pointer;border:0;border-radius:12px;place-items:center;padding:0;line-height:0;display:grid}.tp .zoomrail svg{stroke-width:2.5px;width:22px;height:22px}.tp .loupe{z-index:70;pointer-events:none;background:#eee;border-radius:50%;width:96px;height:96px;position:fixed;overflow:hidden;box-shadow:0 0 0 3px #fff,0 4px 16px #00000059}.tp .loupe canvas{width:96px;height:96px;display:block}.tp .loupe:after{content:"";background:linear-gradient(var(--ink), var(--ink)) center/2px 100% no-repeat, linear-gradient(var(--ink), var(--ink)) center/100% 2px no-repeat;width:22px;height:22px;margin:-11px 0 0 -11px;position:absolute;top:50%;left:50%}.tp .statuschip{z-index:3;position:absolute;left:10px}.tp .cursorline{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.tp .cursorline line{stroke:#565d69;stroke-opacity:.7;stroke-width:2px;stroke-dasharray:6 5;stroke-linecap:round}.tp .task{background:var(--surface);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.tp .task__top{align-items:center;gap:6px;min-height:52px;padding:0 6px 0 4px;display:flex}.tp .task__top .t{min-width:0;font-family:var(--font-display);flex:1;font-size:15px;font-weight:600;line-height:20px}.tp .iconbtn{cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.tp .iconbtn svg{width:24px;height:24px}.tp .iconbtn--pill{width:auto;font-family:var(--font-display);background:var(--sunk);border-radius:999px;gap:6px;padding:0 12px;font-size:15px;font-weight:600}.tp .task__brief{padding:0 14px 8px;font-size:16px;line-height:22px}.tp .task__brief .note{margin-top:2px;font-weight:700;display:block}.tp .dock{background:var(--raised);box-shadow:0 -1px 0 var(--line-soft);padding:8px 12px calc(10px + env(safe-area-inset-bottom));flex-direction:column;gap:8px;display:flex}.tp .dock__help{min-height:48px;padding:4px;font-size:15px;line-height:20px}.tp .dock__chev{width:18px;height:18px;color:var(--ink-muted);flex:none;transform:rotate(180deg)}.tp .dock__line{background:var(--sunk);text-align:left;cursor:pointer;border:0;border-radius:12px;align-items:center;gap:8px;min-height:48px;padding:4px 12px;font-size:15px;line-height:20px;display:flex}.tp .dock__line .k{font-family:var(--font-display);color:var(--ink-muted);white-space:nowrap;font-weight:600}.tp .dock__line .v{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;display:-webkit-box;overflow:hidden}.tp .dock__line{flex-wrap:nowrap}.tp .dock__acts{gap:8px;display:flex}.tp .dock__acts .btn--ink{flex:1}.tp .disc{background:var(--accent);width:12px;height:12px;box-shadow:0 0 0 2px var(--accent-ink);border-radius:50%;flex:none}.tp .rows{flex-direction:column;display:flex}.tp .rows li{border-top:1px solid var(--line-soft);align-items:flex-start;gap:10px;padding:8px 0;font-size:16px;line-height:22px;list-style:none;display:flex}.tp .rows li:first-child{border-top:0}.tp .rows{margin:0;padding:0}.tp .turnic{flex:none;width:22px;height:22px;margin-top:0}.tp .dtask{grid-template-rows:64px 1fr;grid-template-columns:340px 1fr;height:100dvh;display:grid;overflow:hidden}.tp .dtask--exam{grid-template-columns:296px 1fr}.tp .dtask__top{background:var(--raised);box-shadow:0 1px 0 var(--line-soft);z-index:5;grid-column:1/-1;align-items:center;gap:12px;padding:0 16px;display:flex}.tp .dtask__top .t{font-family:var(--font-display);flex:1;font-size:17px;font-weight:600}.tp .dtask__panel{background:var(--raised);box-shadow:1px 0 0 var(--line-soft);flex-direction:column;min-height:0;display:flex}.tp .dtask__scroll{flex-direction:column;flex:1;gap:14px;padding:18px 20px;display:flex;overflow:auto}.tp .dtask__foot{box-shadow:0 -1px 0 var(--line-soft);flex-direction:column;gap:8px;padding:12px 20px 16px;display:flex}.tp .dtask__main{flex-direction:column;min-width:0;min-height:0;display:flex}.tp .tp-steps{color:var(--ink-muted);margin:0;padding-left:22px;font-size:15px;line-height:21px}.tp .tp-steps li+li{margin-top:4px}.tp .tp-steps[data-livesteps] li{transition:color .15s}.tp .tp-steps[data-livesteps] li.is-now{color:var(--ink);font-weight:600}@keyframes tg-pulse{0%{box-shadow:0 0 #15171b8c}70%{box-shadow:0 0 0 10px #15171b00}to{box-shadow:0 0 #15171b00}}.tp .tbtn.is-pulse{animation:.7s ease-out 2 tg-pulse}@media (prefers-reduced-motion:reduce){.tp .tbtn.is-pulse{outline:3px solid var(--ink);outline-offset:2px;animation:none}}.tp .taskq{font-size:18px;line-height:26px}.tp .note--big{font-size:18px;font-weight:700}.tp .res{flex-direction:column;min-height:100dvh;display:flex}.tp .res__body{flex-direction:column;gap:14px;width:100%;max-width:760px;margin:0 auto;padding:8px 16px 120px;display:flex}.tp .res__map{border-radius:var(--radius-l);height:300px;position:relative;overflow:hidden}.tp .res__maphint{z-index:3;pointer-events:none;background:#ffffffe6;border-radius:8px;padding:2px 8px;font-size:15px;line-height:20px;position:absolute;top:8px;left:8px}.tp .res__bar{z-index:var(--z-sticky);background:var(--raised);box-shadow:0 -1px 0 var(--line-soft);padding:10px 16px calc(12px + env(safe-area-inset-bottom));gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0}.tp .res__bar .btn{white-space:normal;text-align:center;flex:1 1 0;min-width:0;padding:6px 12px;line-height:20px}.tp .headline{font-family:var(--font-display);letter-spacing:-.02em;font-size:26px;font-weight:600;line-height:32px}.tp .ticks{flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.tp .ticks li{align-items:center;gap:10px;font-size:16px;line-height:22px;list-style:none;display:flex}.tp .vcard{background:var(--raised);border-radius:var(--radius-l);box-shadow:inset 4px 0 0 var(--wrong);flex-direction:column;gap:6px;padding:16px 18px;display:flex}.tp .vcard--soft{box-shadow:inset 4px 0 0 var(--line)}.tp .vcard .t{font-family:var(--font-display);align-items:center;gap:8px;font-size:18px;font-weight:600;line-height:24px;display:flex}.tp .vcard dl{grid-template-columns:auto 1fr;gap:2px 10px;margin:0;font-size:16px;line-height:22px;display:grid}.tp .vcard dt{font-weight:700}.tp .vcard dd{margin:0}.tp .pinno{background:var(--wrong);color:#fff;width:24px;height:24px;font-family:var(--font-display);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:inline-flex}.tp .atable{border-collapse:collapse;background:var(--raised);border-radius:var(--radius-m);width:100%;font-size:15px;line-height:20px;overflow:hidden}.tp .atable th{text-align:left;font-family:var(--font-display);background:var(--sunk);padding:8px 10px;font-weight:600}.tp .atable td{border-top:1px solid var(--line-soft);vertical-align:top;padding:8px 10px}.tp .atable tr.diff td{background:var(--wrong-tint)}.tp .atable tr.left td:first-child{box-shadow:inset 3px 0 0 var(--accent-ink)}.tp .atable .leftnote{color:var(--accent-ink);font-size:15px;font-weight:700;display:block}.tp .legend{color:var(--ink-muted);flex-wrap:wrap;gap:6px 14px;font-size:15px;line-height:20px;display:flex}.tp .legend i{vertical-align:middle;border-top:4px solid #1f6fe5;width:22px;height:0;margin-right:6px;display:inline-block}.tp .legend i.best{border-top:4px dashed var(--correct)}.tp .legend i.closed{border-top:4px dashed var(--wrong)}@media (width>=1024px){.tp .res{grid-template-rows:64px 1fr;grid-template-columns:480px 1fr;height:100dvh;display:grid}.tp .res .dtask__top{grid-column:1/-1}.tp .res__body{max-width:none;margin:0;padding:18px 20px 40px;overflow:auto}.tp .res__body .res__map{display:none}.tp .res__side{position:relative}.tp .res__side .res__map{border-radius:0;height:auto;position:absolute;inset:0}.tp .res__bar{box-shadow:none;background:0 0;padding:0;position:static}}.tp .qwrap{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.tp .qbody{flex-direction:column;flex:1;min-height:0;display:flex}.tp .qmap{flex:none;height:clamp(150px,30dvh,340px);position:relative}.tp .qside{flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px 16px;display:flex;overflow:auto}.tp .qfoot{padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:var(--raised);box-shadow:0 -1px 0 var(--line-soft);gap:10px;display:flex}.tp .qfoot .btn{flex:1}.tp .stem{font-family:var(--font-sans);font-size:19px;font-weight:700;line-height:26px}.tp .opts{flex-direction:column;gap:8px;display:flex}.tp .opt{border-radius:var(--radius-m);background:var(--raised);min-height:52px;box-shadow:inset 0 0 0 1px var(--line-soft);text-align:left;cursor:pointer;border:0;align-items:center;gap:12px;padding:8px 14px;font-size:17px;line-height:23px;display:flex}.tp .opt .key{width:24px;height:24px;box-shadow:inset 0 0 0 1.5px var(--line);border-radius:50%;flex:none;position:relative}.tp .opt--box .key{border-radius:7px}.tp .opt[aria-checked=true],.tp .opt[aria-checked=true] .key{box-shadow:inset 0 0 0 2px var(--ink)}.tp .opt[aria-checked=true] .key:after{content:"";border-radius:inherit;background:var(--ink);position:absolute;inset:6px}.tp .opt.is-right{box-shadow:inset 0 0 0 2px var(--correct);background:var(--correct-tint)}.tp .opt.is-wrong{box-shadow:inset 0 0 0 2px var(--wrong);background:var(--wrong-tint)}.tp .pinchlbl{z-index:3;position:absolute;top:8px;left:8px}@media (width>=1024px){.tp .qbody{flex-direction:row}.tp .qmap{flex:0 0 58%;height:auto}.tp .qside{padding:24px 28px}}.tp .gridsvg{background:#fff;width:100%;height:100%}.tp .mock{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.tp .mbar{background:var(--raised);min-height:56px;box-shadow:0 1px 0 var(--line-soft);align-items:center;gap:12px;padding:0 14px;display:flex}.tp .mbar .t{font-family:var(--font-display);font-size:15px;font-weight:600;line-height:20px}.tp .mprog{align-items:center;gap:2px;display:flex}.tp .mprog i{background:var(--line-soft);border-radius:2px;width:6px;height:14px}.tp .mprog i.on{background:var(--ink)}.tp .mprog i.cur{box-shadow:0 0 0 2px var(--accent)}.tp .timer{font-family:var(--font-display);font-variant-numeric:tabular-nums;background:var(--sunk);white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:15px;font-weight:600}.tp .timer--warn{background:var(--warn-tint);color:var(--warn-ink)}.tp .timer--crit{background:var(--wrong-tint);color:var(--wrong-ink)}.tp .mfoot{min-height:64px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:var(--raised);box-shadow:0 -1px 0 var(--line-soft);align-items:center;gap:8px;display:flex}.tp .mfoot .mid{text-align:center;min-width:0;color:var(--ink-muted);flex:1;font-size:15px;line-height:20px;overflow:hidden}.tp .mfoot .saved{color:var(--correct-ink);white-space:nowrap}.tp .mfoot .btn{flex:none}.tp .mbody{flex-direction:column;flex:1;min-height:0;display:flex}.tp .flagbtn[aria-pressed=true]{background:var(--flag);color:var(--on-flag)}.tp .rgrid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;display:grid}.tp .rtile{border-radius:var(--radius-s);background:var(--raised);box-shadow:inset 0 0 0 1px var(--line-soft);text-align:left;cursor:pointer;border:0;flex-direction:column;gap:2px;padding:10px 12px;font-size:15px;line-height:20px;display:flex}.tp .rtile b{font-family:var(--font-display);font-size:18px}.tp .rtile.flagged{box-shadow:inset 0 0 0 2px var(--flag)}.tp .rtile.unans{background:var(--sunk)}@media (width>=1024px){.tp .mbar{min-height:64px;padding:0 20px}.tp .mfoot{min-height:72px;padding:0 20px}}.tp .scorebar{background:var(--sunk);border-radius:999px;height:14px;position:relative;overflow:visible}.tp .scorebar>i{background:var(--ink);border-radius:999px;position:absolute;top:0;bottom:0;left:0}.tp .scorebar>b{background:var(--pass-lo);border-radius:2px;width:3px;position:absolute;top:-6px;bottom:-6px}.tp .ticks svg,.tp .chip svg,.tp .btn svg,.tp .vcard svg,.tp .iconbtn--pill svg{flex:none;width:20px;height:20px}.tp .res .apphead .t .cap{display:block}.tp .res__body .btn--text{min-height:44px}.tp .opt__tag{font-family:var(--font-display);white-space:nowrap;font-size:15px;font-weight:600}.tp .opt.is-right .opt__tag{color:var(--correct-ink)}.tp .opt.is-wrong .opt__tag{color:var(--wrong-ink)}.tp .bigscore{font-family:var(--font-display);letter-spacing:-.05em;font-size:64px;font-weight:600;line-height:1}.tp .mreview{flex:1;min-height:0;padding-bottom:24px;overflow:auto}.tp .timerbox{flex-direction:column;align-items:flex-end;gap:0;display:flex}.tp .timerbox .cap:empty{display:none}.tp .mbar__t{flex-direction:column;min-width:0;display:flex}.tp .mbar__t .t{white-space:nowrap}.tp .qreview summary{cursor:pointer;list-style:none}.tp .qreview summary::-webkit-details-marker{display:none}.tp .qreview[open] summary{margin-bottom:10px}.tp .mres__bar{gap:10px;display:flex}.tp .mres__bar .btn{white-space:normal;text-align:center;flex:1;line-height:22px}@media (width<=1023px){.tp .mbar{flex-wrap:nowrap;gap:8px;min-height:60px;padding:6px 10px}.tp .mbar .mprog{display:none}.tp .mbar .btn--s{padding:0 10px}.tp .mbar .timer{padding:2px 10px}.tp .timerbox .cap{font-size:15px;line-height:18px}.tp .mfoot{padding:8px 8px calc(8px + env(safe-area-inset-bottom));gap:6px}.tp .mfoot .btn--s{min-height:48px;padding:0 10px}.tp .mfoot .mid{font-size:15px}.tp .flagbtn--icon{width:48px;padding:0!important}.tp .flagbtn--icon [data-flaglbl]{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.tp .mfoot--review>:not(.mfoot__review){display:none}.tp .mfoot__review{flex:1;gap:8px;display:flex}.tp .mfoot__review .btn{flex:1;min-height:48px;padding:0 12px}.tp .mres__bar{z-index:var(--z-sticky);background:var(--raised);box-shadow:0 -1px 0 var(--line-soft);padding:10px 16px calc(12px + env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0}.tp .page--bar{padding-bottom:120px}.tp .keydrawer{width:min(360px,92vw);top:0;bottom:0}}@media (width<=380px){.tp .mfoot [data-act=review]{padding:0 8px}}@media (width<=1023px){.tp .qside{gap:8px;padding:8px 14px}.tp .qside .stack{gap:8px}.tp .opts{gap:6px}.tp .opt{min-height:46px;padding:6px 12px;font-size:16px;line-height:21px}.tp .stem{font-size:17px;line-height:23px}.tp .qmap{flex:1 0 clamp(140px,27dvh,300px);height:auto;min-height:0}.tp .qside{flex:0 auto}.tp .qfoot{padding:8px 14px calc(8px + env(safe-area-inset-bottom))}.tp .qside [data-live]:empty{position:absolute}.tp .qside [data-expl]:empty{display:none}}@media (width<=1023px) and (height<=760px){.tp .qmap{flex-basis:clamp(130px,24dvh,260px)}.tp .qside .cap{line-height:19px}.tp .opt{min-height:44px}}@media (width>=1024px){.tp .qwrap{grid-template-rows:auto 1fr auto;grid-template-columns:58% 1fr;display:grid}.tp .qwrap .task__top{grid-column:1/-1}.tp .qwrap .qbody{display:contents}.tp .qwrap .qmap{grid-area:2/1/4}.tp .qwrap .qside{grid-area:2/2}.tp .qwrap .qfoot{box-shadow:none;grid-area:3/2;padding:12px 28px 20px}.tp .toast{top:72px}.tp .btn{min-height:48px}.tp .prestart{grid-template-columns:1.3fr 1fr;align-items:start;gap:24px;display:grid}.tp .prestart>.stack:last-child{position:sticky;top:72px}}.tp .page--prestart .prestart>.stack{gap:16px}@media (width<=1023px){.tp .prestart{flex-direction:column;gap:16px;display:flex}.tp .prestart__acts{background:var(--surface);padding:10px 0 calc(10px + env(safe-area-inset-bottom));box-shadow:0 -10px 12px -8px var(--surface);position:sticky;bottom:0}}.tp .tabs a{font-size:15px;line-height:18px}.tp .turnsign{filter:drop-shadow(0 1px 1px #0000004d);pointer-events:none;width:22px;height:22px}.tp .turnsign svg{display:block}.tp .qmap__map{position:absolute;inset:0}.tp .qmap--phone{flex-direction:column;display:flex}.tp .qmap--phone .qmap__map{flex:1;min-height:0;position:relative}.tp .qmap__bar{background:var(--raised);height:40px;box-shadow:0 1px 0 var(--line-soft);flex:none;align-items:center;gap:8px;padding:0 0 0 10px;display:flex}.tp .qmap__note{min-width:0;color:var(--ink-muted);white-space:nowrap;flex-direction:column;flex:1;font-size:13px;line-height:16px;display:flex;overflow:hidden}.tp .qmap__enlarge{background:var(--sunk);border-radius:0;flex:none;align-self:stretch;min-height:40px;padding:0 14px}.tp .mapzoom__bar .cap{font-size:13px;line-height:16px}.tp .mapzoom{z-index:var(--z-modal,70);background:var(--surface);flex-direction:column;display:flex;position:fixed;inset:0}.tp .mapzoom__bar{min-height:56px;box-shadow:0 1px 0 var(--line-soft);align-items:center;gap:10px;padding:8px 12px;display:flex}.tp .mapzoom__map{flex:1;position:relative}@media (width<=1023px){.tp .task .mapbanner--hint,.tp .task .mapbanner--info{right:64px}}.tp .sheet:focus{outline:none}.tp .res__map{isolation:isolate;z-index:0}.tp .mapcredit{font-size:15px;line-height:20px}.tp .keydrawer{left:auto;right:0}.tp .mapbanner{align-items:flex-start;gap:8px;display:flex}.tp .mapbanner>span{flex:1}.tp .mapbanner__x{cursor:pointer;width:44px;height:44px;color:var(--ink-muted);background:0 0;border:0;flex:none;margin:-10px -10px -10px 0;font-size:24px;line-height:1}.tp .qreview summary,.tp .mres__bar .btn{white-space:normal;text-align:center;max-width:100%}@media (width>=640px){.tp .sheet--ltr .sheet__acts{flex-direction:row;justify-content:flex-end}}.tp .rtile__h{font-family:var(--font-display);font-weight:600}.tp .rtile__h b{margin-right:4px;font-size:18px}.tp .rtile__s{align-items:center;gap:6px;display:flex}.tp .rtile__s svg,.tp .rtile__s .tickoff{flex:none;width:18px;height:18px}.tp .rtile.flagged .rtile__s svg{color:var(--flag)}.tp .mfoot--review>:not(.mfoot__review){display:none}.tp .mfoot__review{flex:1;justify-content:flex-end;gap:8px;display:flex}@media (width>=1024px){.tp .rgrid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.tp .rtile{padding:8px 10px}.tp .mfoot__review .btn{flex:none;min-width:200px}}.tp .page--prestart{padding-bottom:150px}.tp .prestart__acts{z-index:var(--z-sticky);background:var(--raised);box-shadow:0 -1px 0 var(--line-soft);bottom:0;left:0;right:0;padding:10px max(16px, calc((100% - 1088px) / 2)) calc(10px + env(safe-area-inset-bottom))!important;gap:4px!important;position:fixed!important;top:auto!important}.tp .prestart__acts a.btn{min-height:44px;box-shadow:none;text-underline-offset:3px;text-decoration:underline}@media (width>=1024px){.tp .prestart__acts{justify-content:flex-start;flex-direction:row-reverse!important}.tp .prestart__acts .btn{width:auto;min-width:280px}.tp .page--prestart{padding-bottom:110px}body:has(.keydrawer) .tp .mock .mbody:has(.qbody){padding-right:360px}}@media (width<=1023px){.tp .mbar{position:relative}.tp .mbar .mprog{pointer-events:none;gap:2px;display:flex;position:absolute;bottom:2px;left:10px;right:10px}.tp .mbar .mprog i{border-radius:1px;flex:1;width:auto;height:4px}.tp .mbar .mprog i.cur{box-shadow:none;background:var(--accent)}}.tp .tp-body,.tp .tp-groups{flex-direction:column;gap:16px;display:flex}@media (width<=1023.98px){.tp .shell--site .wrap{padding-inline:0}.tp .tp-ph,.tp .tp-cols,.tp .tp-main,.tp .tp-rail{display:contents}.tp .tp-ph>*{order:-2}.tp .tp-ph__row,.tp .tp-sub,.tp .tp-crumb,.tp .tp-desk{display:none}}@media (width>=1024px){.tp .shell--site>.tabs,.tp .shell--site>.apphead{display:none}.tp .shell--site>.page{gap:0;max-width:none;padding:0 0 72px}.tp .tp-body{gap:0}.tp .tp-ph{padding-top:16px}.tp .tp-ph__row{align-items:baseline;gap:24px;display:flex}.tp .tp-ph__t{min-width:0;font-family:var(--font-display);letter-spacing:-.04em;flex:1;font-size:48px;font-weight:600;line-height:52px}.tp .tp-ph__about{font-family:var(--font-display);text-underline-offset:4px;white-space:nowrap;font-size:16px;font-weight:600;text-decoration:underline 1.5px}.tp .tp-ph [data-who]{margin-top:8px;font-size:17px;line-height:24px}.tp .tp-sub{box-shadow:inset 0 -1px 0 var(--line-soft);scrollbar-width:none;gap:8px;margin-top:24px;display:flex;overflow-x:auto}.tp .tp-sub a{min-height:48px;font-family:var(--font-display);color:var(--ink-muted);white-space:nowrap;align-items:center;padding:0 12px;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:inset 0 -2px #0000}.tp .tp-sub a:first-child{padding-left:0}.tp .tp-sub a:hover{color:var(--ink)}.tp .tp-sub a[aria-current=page]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--ink)}.tp .tp-crumb{align-items:center;gap:8px;margin:24px 0 0 -10px;display:flex}.tp .tp-cols{grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:start;gap:48px;margin-top:32px;display:grid}.tp .tp-main,.tp .tp-rail{flex-direction:column;gap:16px;min-width:0;display:flex}.tp .tp-groups{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:32px 24px;display:grid}.tp .tp-rail .h3{margin-top:8px}}
