:root{--paper:#FFFFFF;--ink:#1F1B16;--muted:#5E574F;--mist:#F4F1EC;--line:#E4DFD8;--ember:#C2410C;--ember-soft:#FFF1E8;--capy:#8A5A3B;--leaf:#1F7A4D;--leaf-soft:#E9F6EF;--s1:.5rem;--s2:1rem;--s3:1.5rem;--s4:2rem;--s6:3rem;--s8:4rem;--round:1.25rem;--head:"M PLUS Rounded 1c",ui-rounded,system-ui,sans-serif;--body:"Rubik",system-ui,sans-serif;}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-weight:400;font-size:clamp(1rem,.96rem + .2vw,1.0625rem);line-height:1.55;overflow-x:clip}h1,h2,h3{font-family:var(--head);font-weight:800;line-height:1.12;margin:0;letter-spacing:-.01em}p{margin:0}a{color:inherit}.wrap{max-width:70rem;margin:0 auto;padding:0 max(var(--s3),env(safe-area-inset-left)) 0 max(var(--s3),env(safe-area-inset-right))}.hero{padding:max(var(--s2),env(safe-area-inset-top)) 0 var(--s6)}.top{display:flex;align-items:center;gap:var(--s2);padding:var(--s1) 0 var(--s2)}.top img{width:clamp(64px,10vw + 20px,160px);height:auto;aspect-ratio:1;border-radius:22%;display:block}.top span{font-family:var(--head);font-weight:800;font-size:clamp(1.05rem,.9rem + .6vw,1.4rem);color:var(--capy)}.grid{display:grid;gap:var(--s3)}h1{font-size:clamp(1.85rem,1.2rem + 3vw,3.5rem)}h1 em{font-style:normal;color:var(--ember)}.lede{color:var(--muted);font-size:clamp(1.02rem,.95rem + .35vw,1.25rem);margin-top:var(--s2);max-width:34rem}.act{margin-top:var(--s3);display:flex;flex-direction:column;align-items:flex-start;gap:var(--s1)}.cta{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:3.25rem;padding:0 var(--s4);border-radius:999px;background:var(--ember);color:#fff;text-decoration:none;font-family:var(--body);font-weight:600;font-size:clamp(1.05rem,1rem + .3vw,1.2rem);-webkit-tap-highlight-color:transparent;transition:transform .15s ease}.cta:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.cta:active{transform:scale(.97)}@media (hover: hover){.cta:hover{transform:translateY(-1px)}}.under{font-size:clamp(.88rem,.85rem + .15vw,.95rem);color:var(--muted)}.panel{display:flex;flex-direction:column;gap:var(--s2)}.sw{position:relative;display:grid;grid-template-columns:1fr 1fr;background:var(--mist);border-radius:999px;padding:4px;max-width:22rem;width:100%}.sw .knob{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:var(--paper);box-shadow:0 1px 3px rgba(31,27,22,.12),0 4px 12px rgba(31,27,22,.06);transition:transform .3s cubic-bezier(.3,.7,.2,1)}html[data-side="with"] .sw .knob{transform:translateX(100%)}.sw button{position:relative;z-index:1;min-height:44px;border:0;background:none;border-radius:999px;font:600 clamp(.95rem,.9rem + .2vw,1.05rem)/1 var(--body);color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent}.sw button[aria-pressed="true"]{color:var(--ink)}.sw button:focus-visible{outline:3px solid var(--ember);outline-offset:2px}.sw.nudge .knob{animation:nudge .7s ease .6s 1}@keyframes nudge{40%{transform:translateX(calc(100% - 7px))}}.stage{position:relative;background:var(--mist);border-radius:calc(var(--round) * 1.4);padding:var(--s3);display:grid;gap:var(--s2);view-transition-name:stage}.side[hidden]{display:none}.side{display:grid;gap:var(--s2)}.emo{font-size:clamp(4rem,3rem + 5vw,6.5rem);line-height:1;display:flex;gap:var(--s2);justify-content:center}.emo span{display:inline-block;animation:bob 3.2s ease-in-out infinite}.emo span+span{animation-delay:.5s}@keyframes bob{50%{transform:translateY(-8px) rotate(5deg)}}.check{background:var(--paper);border-radius:var(--round);padding:var(--s3);box-shadow:0 1px 2px rgba(31,27,22,.06),0 8px 24px rgba(31,27,22,.06)}.check h2{font-size:clamp(1.05rem,1rem + .3vw,1.2rem);margin-bottom:var(--s2)}.row{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);padding:.75rem 0;border-top:1px solid var(--line);font-size:clamp(.95rem,.92rem + .15vw,1.02rem)}.row b{font-weight:600}.box{min-width:8.5rem;min-height:2.4rem;border:2px solid var(--line);border-radius:.7rem;display:inline-flex;align-items:center;justify-content:center;padding:0 .75rem;color:var(--muted);font-weight:600}.box.found{border-color:var(--leaf);background:var(--leaf-soft);color:var(--leaf)}.tag{display:inline-flex;align-items:center;min-height:2rem;padding:0 .8rem;border-radius:999px;font-weight:600}.tag.big{background:var(--ember-soft);color:var(--ember)}.tag.none{background:var(--mist);color:var(--muted)}@media (min-width: 900px){.hero{padding-bottom:var(--s8)}.grid{grid-template-columns:1.05fr .95fr;gap:var(--s8);align-items:center}.top{padding-bottom:var(--s4)}.panel{align-items:stretch}}.readme{border-top:1px solid var(--line);padding:var(--s8) 0}.readme .doc{max-width:46rem;margin:0 auto}.badges{display:flex;flex-wrap:wrap;gap:var(--s1);margin-bottom:var(--s3);padding:0;list-style:none}.badges li{display:inline-flex;font-size:.85rem;font-weight:600;border-radius:.4rem;overflow:hidden;line-height:1}.badges li span{padding:.45rem .6rem}.badges li span:first-child{background:#3B342C;color:#fff}.badges li span:last-child{background:var(--ember-soft);color:var(--ember)}.badges li.ok span:last-child{background:var(--leaf-soft);color:var(--leaf)}.pitch{font-size:clamp(1.1rem,1rem + .5vw,1.35rem);margin-bottom:var(--s6)}.readme h2{font-size:clamp(1.4rem,1.2rem + 1vw,2rem);padding-bottom:var(--s1);border-bottom:1px solid var(--line);margin:var(--s6) 0 var(--s2)}.readme h2 .ico{margin-right:.35em}.lines{list-style:none;margin:0;padding:0;display:grid;gap:var(--s1)}.lines li{background:var(--mist);border-radius:.6rem;padding:.7rem 1rem;display:flex;gap:.75rem;align-items:baseline}.lines li i{font-style:normal;color:var(--capy);font-weight:600;flex:none}.readme p+p{margin-top:var(--s2)}.readme p{color:var(--muted)}.readme p strong{color:var(--ink);font-weight:600}details{margin-top:var(--s3);border:1px solid var(--line);border-radius:var(--round);padding:.25rem var(--s3)}summary{cursor:pointer;min-height:3rem;display:flex;align-items:center;font-weight:600;list-style:none;-webkit-tap-highlight-color:transparent}summary::-webkit-details-marker{display:none}summary::after{content:"+";margin-left:auto;font-size:1.3rem;color:var(--ember)}details[open] summary::after{content:"\2212"}summary:focus-visible{outline:3px solid var(--ember);outline-offset:2px;border-radius:.5rem}details p{padding-bottom:var(--s3)}.close{padding:var(--s6) 0 var(--s8);text-align:center}.close h2{font-size:clamp(1.5rem,1.2rem + 1.4vw,2.3rem);margin-bottom:var(--s3)}.slide{position:relative;display:flex;align-items:center;justify-content:center;max-width:24rem;margin:0 auto;height:4rem;border-radius:999px;background:var(--ink);color:#fff;text-decoration:none;font-weight:600;font-size:1.05rem;overflow:hidden;touch-action:pan-y;-webkit-tap-highlight-color:transparent;user-select:none}.slide:focus-visible{outline:3px solid var(--ember);outline-offset:3px}.slide .label{padding-left:3.5rem}.slide .thumb{position:absolute;left:6px;top:6px;width:3.25rem;height:3.25rem;border-radius:50%;background:var(--ember);display:grid;place-items:center;font-size:1.5rem;touch-action:none;cursor:grab}.slide.back .thumb{transition:transform .25s ease}.sources{background:var(--mist);padding:var(--s4) 0}.sources h2{font-size:1rem;margin-bottom:var(--s1)}.sources p{color:var(--muted);font-size:.95rem}.sources a{color:var(--ink);font-weight:600}footer{margin-top:var(--s6);padding:var(--s6) 0 max(var(--s4),env(safe-area-inset-bottom));text-align:center;position:relative}footer::before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--line) 30%,var(--line) 70%,transparent)}.totop{display:inline-block;font-family:var(--head);font-weight:800;font-size:clamp(2.2rem,1.4rem + 4.5vw,5rem);color:var(--ink);text-decoration:none;line-height:1.1;padding:var(--s1)}.totop:focus-visible{outline:3px solid var(--ember);outline-offset:4px;border-radius:.5rem}@media (hover: hover){.totop:hover{color:var(--ember)}}footer small{display:block;margin-top:var(--s2);color:var(--muted);font-size:.9rem}::view-transition-old(stage),::view-transition-new(stage){animation-duration:.3s}.stage.fade{animation:fade .3s ease}@keyframes fade{from{opacity:.2}to{opacity:1}}@media (prefers-reduced-motion: reduce){.emo span,.sw.nudge .knob,.stage.fade{animation:none}.sw .knob,.slide.back .thumb{transition:none}::view-transition-old(stage),::view-transition-new(stage){animation:none}}