[hidden]{display:none!important}html,body.tut-body{height:100%;overflow:hidden}.tut-body{font-size:18px}.tut{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.tut__bar,.tut__body,.tut__foot{width:100%;max-width:960px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}.tut__bar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:8px}.tut__bar .wm{height:26px}.tut__dots{list-style:none;margin:0;padding:0;display:flex;gap:clamp(4px,1.4vw,8px);flex:1;justify-content:center}.tut__dot{width:clamp(7px,2vw,9px);height:clamp(7px,2vw,9px);border-radius:50%;background:var(--line-2);transition:background-color .2s ease-out,box-shadow .15s ease-out}.tut__dot.is-done{background:var(--paper)}.tut__dot.is-current{background:var(--lime)}.tut__dot{position:relative}.tut__dot button{position:absolute;inset:-7px;border:0;padding:0;background:0 0;border-radius:50%;cursor:pointer}.tut__dot button:focus-visible{outline:2px solid var(--lime);outline-offset:-3px}.tut__dot.is-done:hover,.tut__dot.is-done:focus-within{box-shadow:0 0 0 3px var(--line-2)}.tut__dot[data-tip]::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%,4px);white-space:nowrap;padding:5px 10px;border-radius:8px;background:var(--ink-3);border:1px solid var(--line-2);color:var(--paper);font:500 13px/1.2 var(--sans);pointer-events:none;opacity:0;transition:opacity .15s ease-out,transform .15s ease-out;z-index:5}.tut__dot:hover::after,.tut__dot:focus-within::after{opacity:1;transform:translate(-50%,0)}.tut__menu{position:relative}.tut__more{width:36px;height:36px;border-radius:50%;border:0;background:0 0;cursor:pointer;color:var(--muted);font:700 20px/1 var(--sans)}.tut__more:hover,.tut__more[aria-expanded=true]{color:var(--paper);background:var(--line)}.tut__menulist{position:absolute;right:0;top:calc(100% + 6px);z-index:5;min-width:150px;padding:6px;display:flex;flex-direction:column;background:var(--ink-3);border:1px solid var(--line-2);border-radius:14px}.tut__menulist button{background:0 0;border:0;text-align:left;cursor:pointer;padding:10px 12px;border-radius:8px;color:var(--paper);font:15px/1.2 var(--sans)}.tut__menulist button:hover,.tut__menulist button:focus-visible{background:var(--line)}.tut__body{flex:1;min-height:0;display:flex;flex-direction:column;gap:clamp(14px,3.2dvh,30px);padding-top:clamp(8px,2dvh,24px);padding-bottom:8px}.tut__goal{flex:none;margin:0;font:500 clamp(21px,min(6vw,3.6dvh),32px)/1.25 var(--sans);letter-spacing:-.01em}code{font-family:var(--mono)}.tut__goal code,.tut__line code,.tut__coach code{font-weight:500;font-size:.84em;letter-spacing:0;background:rgba(247,247,239,.1);border-radius:6px;padding:.06em .28em}.tut__input{flex:none;display:block;width:100%;margin:0;padding:clamp(10px,2dvh,20px)clamp(14px,3.4vw,24px);font:500 clamp(16px,min(4.6vw,3.2dvh),30px)/1.35 var(--mono);color:var(--paper);background:var(--ink-2);border:1px solid var(--line-2);border-radius:14px;white-space:pre-wrap;overflow-wrap:anywhere;resize:none;overflow:hidden}pre.tut__input{color:var(--lime);border-color:var(--line);cursor:default}.tut__input:focus{outline:2px solid var(--lime);outline-offset:3px}.tut__input::placeholder{color:var(--faint)}.tut__input span{transition:background-color .15s ease-out,box-shadow .15s ease-out,color .15s ease-out;border-radius:4px}.tut__input .is-field{background:rgba(214,255,77,.22);box-shadow:inset 0 -2px 0 var(--lime)}.tut__input .is-hint{box-shadow:inset 0 -2px rgba(214,255,77,.4);opacity:.8}.tut__input .is-valueline{text-decoration:underline;text-decoration-color:rgba(214,255,77,.5);text-decoration-thickness:2px;text-underline-offset:5px}.tut__input .is-item{background:rgba(214,255,77,.32);box-shadow:inset 0 -2px 0 var(--lime)}@keyframes tut-flash{0%,33%{background-color:rgba(247,247,239,.25)}100%{background-color:rgba(247,247,239,0)}}.tut__input .is-flash{animation:tut-flash 1.8s ease-out}.tut__coachrow{flex:none;display:flex;align-items:baseline;justify-content:space-between;gap:14px;min-height:2.7em}.tut__coach{margin:0;flex:1;font:clamp(15px,min(4vw,2.8dvh),20px)/1.35 var(--sans);color:var(--muted)}.tut__coach:empty{visibility:hidden}.tut__coach.is-done{color:var(--lime)}.tut__mini{font:700 1.25em/1 var(--mono);margin-right:.45em}.tut__mini.t{color:var(--lime)}.tut__mini.o{color:var(--muted)}.tut__link{flex:none;background:0 0;border:0;padding:2px 0;cursor:pointer;color:var(--lime);font:500 clamp(14px,3.4vw,16px)/1.4 var(--sans);text-decoration:underline;text-underline-offset:4px}.tut__link:hover{color:var(--paper)}.tut__result{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.tut__result.is-dim{opacity:.35}.tut__state{display:flex;flex-direction:column;gap:clamp(4px,1.2dvh,14px)}.tut__verdict{margin:0;display:flex;align-items:center;gap:clamp(10px,3vw,28px);line-height:1}.tut__glyph{font:500 clamp(52px,min(22vw,16dvh),190px)/.8 var(--mono)}.tut__word{font:700 clamp(44px,min(16vw,14dvh),150px)/1 var(--sans);letter-spacing:-.04em}.tut__state .tut__verdict{color:var(--muted)}.is-right .tut__verdict{color:var(--lime)}.tut__detail{margin:0;font:500 clamp(14px,min(3.8vw,2.6dvh),20px)/1.4 var(--mono);overflow-wrap:anywhere}.tut__cause{color:var(--paper)}.tut__rest{color:var(--muted)}.tut__loading{margin:0;font-size:clamp(16px,4vw,20px);color:var(--muted)}.tut__predict{display:flex;gap:12px;width:100%}.tut__pick{flex:1;height:clamp(64px,14dvh,120px);border-radius:20px;background:0 0;cursor:pointer;font:700 clamp(26px,min(8vw,5dvh),48px)/1 var(--sans);letter-spacing:-.03em;transition:transform .15s ease-out,background-color .15s ease-out}.tut__pick--passed{border:2px solid var(--lime);color:var(--lime)}.tut__pick--failed{border:2px solid var(--signal);color:var(--signal)}.tut__pick:hover:not(:disabled){transform:translateY(-1px)}.tut__pick--passed:hover:not(:disabled){background:rgba(214,255,77,.12)}.tut__pick--failed:hover:not(:disabled){background:rgba(254,84,49,.12)}.tut__foot{flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:10px;padding-bottom:max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--line)}.tut__back{width:44px;height:44px;border-radius:50%;border:0;background:0 0;cursor:pointer;color:var(--muted);font:500 24px/1 var(--sans)}.tut__back:hover{color:var(--paper);background:var(--line)}.tut__next{height:clamp(48px,8dvh,72px);min-width:40%;padding:0 clamp(28px,7vw,48px);border-radius:999px;cursor:pointer;border:1px solid var(--line-2);background:0 0;color:var(--faint);font:700 clamp(18px,min(5vw,3.4dvh),28px)/1 var(--sans);transition:transform .15s ease-out;flex:none}.tut__next:disabled{cursor:default}.tut__next.is-ready{background:var(--lime);border-color:var(--lime);color:var(--ink)}.tut__next.is-ready:hover{transform:translateY(-1px)}.tut__next::after{content:" →"}.tut__keyhint{display:none;flex:none;align-items:center;gap:8px;margin-left:auto;font:14px/1 var(--sans);color:var(--faint);opacity:0;transition:opacity .2s ease-out}.tut__keyhint.is-ready{opacity:1}.tut__keyhint kbd{font:500 13px/1 var(--mono);color:var(--muted);padding:4px 7px;border:1px solid var(--line-2);border-radius:6px}.tut__keyhint+.tut__next{margin-left:0}@media(hover:hover) and (pointer:fine) and (min-width:600px){.tut__keyhint{display:inline-flex}}.tut__line{margin:0;font:clamp(20px,min(5.6vw,3.8dvh),32px)/1.35 var(--sans);max-width:28em}.tut__body>.tut__line:first-child{font-weight:500}.tut__input--example{color:var(--lime);border-color:var(--line);font-size:clamp(17px,min(5vw,3.6dvh),32px)}.tut__credit{margin:0;font:clamp(14px,3.4vw,16px)/1.4 var(--sans);color:var(--muted)}.tut__credit a{color:var(--lime);text-underline-offset:4px}[data-intro],.tut__end{justify-content:center}.tut__big{margin:0;font:700 clamp(34px,min(10vw,7dvh),72px)/1.05 var(--sans);letter-spacing:-.03em}.tut__ln{display:block;padding-left:calc(var(--ind,0) * 1ch + 2ch);text-indent:-2ch}.tut__input.is-tall{font-size:clamp(12px,min(calc((100vw - 4.5rem)/(var(--cols,40) * .62)),calc(21dvh/(var(--lines,10) * 1.3))),18px);line-height:1.3;padding:clamp(6px,1.2dvh,12px)clamp(6px,1.8vw,18px)}@media(max-height:720px){.tut__input.is-tall{line-height:1.25}.tut__bar{padding-top:8px;padding-bottom:4px}.tut__body{gap:10px;padding-bottom:6px}.tut__goal{font-size:19px;line-height:1.2}.tut__input{padding:7px 12px;font-size:16px;line-height:1.3}.tut__link{font-size:13px}.tut__glyph{font-size:48px}.tut__word{font-size:40px}.tut__state{gap:2px}.tut__detail{font-size:13px}.tut__coach{font-size:15px}.tut__foot{padding-top:8px;padding-bottom:8px}.tut__next{height:46px}}.tut__count{display:none;flex:1;text-align:center;font:500 14px/1 var(--mono);color:var(--muted)}.tut__count-now{color:var(--lime)}@media(max-width:520px){.tut__dots{display:none}.tut__count{display:block}}.tut__stage{flex:none;display:flex;flex-direction:column;gap:6px;min-height:0}.tut__stage.is-fill{flex:1}.tut__rows{display:flex;flex-direction:column;gap:6px}.tut__row{display:grid;grid-template-columns:1.3em 1fr;align-items:start;gap:8px;width:100%;text-align:left;background:0 0;border:1px solid transparent;border-radius:12px;padding:7px 8px;color:var(--paper);font:inherit}button.tut__row{cursor:pointer;border-color:var(--line-2)}button.tut__row:hover{border-color:var(--paper)}button.tut__row.is-picked{border-color:var(--lime)}.tut__rowtext{font:500 clamp(13px,3.8vw,18px)/1.4 var(--mono);padding-left:2ch;text-indent:-2ch;overflow-wrap:anywhere}.tut__tick{font:700 clamp(15px,4vw,20px)/1.25 var(--mono)}.tut__tick.t,.tut__cell.t{color:var(--lime)}.tut__tick.f,.tut__cell.f{color:var(--signal)}.tut__field{background:var(--ink-2);border:1px solid var(--line-2);border-radius:8px;color:var(--paper);font:inherit;padding:1px 8px}.tut__field:focus{outline:2px solid var(--lime);outline-offset:2px}.tut__field::placeholder{color:var(--faint)}.tut__namewrap{display:inline-flex;align-items:baseline;text-indent:0}.tut__colon{margin:0 1ch 0 2px}.tut__namefield{width:10ch}.tut__headfield{width:100%;padding:10px 14px;border-radius:14px;font:500 clamp(16px,4.4vw,22px)/1.3 var(--sans)}.tut__ask{display:flex;align-items:center;justify-content:space-between;gap:12px;font:clamp(15px,4vw,20px)/1.3 var(--sans)}.tut__smallfield{width:12ch;padding:3px 10px;font-size:clamp(15px,4vw,19px)}.tut__gridwrap{display:flex;flex-direction:column;gap:4px;width:100%}.tut__gridhead{margin:0;font:500 clamp(14px,3.8vw,19px)/1.25 var(--sans)}.tut__gridhead.t{color:var(--lime)}.tut__gridhead.f{color:var(--signal)}.tut__grid{display:grid;grid-template-columns:auto repeat(var(--cols),minmax(0,1fr));gap:2px 6px;align-items:center;font-size:clamp(12px,3.4vw,15px)}.tut__colhead{color:var(--muted);text-align:center;overflow:hidden;text-overflow:ellipsis}.tut__rowhead{color:var(--muted)}.tut__cell{height:clamp(21px,3.4dvh,26px);background:var(--ink-2);border:1px solid var(--line);border-radius:8px;cursor:pointer;font:700 16px/1 var(--mono)}.tut__cell.is-picked{border-color:var(--paper)}.tut__celldetail{margin:0;min-height:1.4em;font:clamp(11px,3.1vw,14px)/1.4 var(--mono);color:var(--muted);overflow-wrap:anywhere}.tut__switch{display:flex;gap:6px;flex:none}.tut__tab{background:0 0;border:1px solid var(--line-2);border-radius:999px;color:var(--muted);padding:5px 14px;font:500 14px/1.2 var(--sans);cursor:pointer}.tut__tab[aria-pressed=true]{color:var(--ink);background:var(--paper);border-color:var(--paper)}.tut__box{flex:1;min-height:0;display:flex;background:var(--ink-2);border:1px solid var(--line);border-radius:14px;overflow:hidden}.tut__yaml{flex:1;overflow:auto;padding:8px 10px;display:flex;flex-direction:column;font-size:clamp(11px,3.3vw,15px)}.tut__yl{display:block;text-align:left;background:0 0;border:0;padding:1px 4px;border-radius:4px;cursor:pointer;color:var(--lime);font:inherit;line-height:1.45;padding-left:calc(var(--ind,0) * 1ch + 2ch + 4px);text-indent:-2ch;overflow-wrap:anywhere}.tut__yl:hover{background:rgba(214,255,77,.12)}.tut__report{flex:1;margin:0;padding:8px 10px;overflow:auto;font-size:clamp(10px,3vw,13px);line-height:1.4;color:var(--paper);white-space:pre}.tut__textlink{color:var(--lime);text-underline-offset:4px}@keyframes tut-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.tut__state.is-new{animation:tut-in .2s ease-out}@media(prefers-reduced-motion:reduce){.tut__state.is-new,.tut__input .is-flash{animation:none}.tut__next,.tut__result,.tut__pick,.tut__dot,.tut__dot::after,.tut__input span,.tut__keyhint{transition:none}}