.hero.is-arrow{grid-template-rows:auto auto auto auto 1fr auto auto}.hero.is-arrow .hero-thread{z-index:2;width:calc(100% + 40px);max-width:none;height:auto;color:var(--accent-ink);grid-area:5/1;align-self:center;margin-right:-40px;display:block;position:relative}.hero.is-arrow .hero-steps{grid-row:6}.hero.is-arrow .hero-side{transform-origin:0 100%;grid-row:3/span 4;align-self:end;rotate:-2deg}.hero.is-arrow .upload-card,.hero.is-arrow .upload-zone{transition:box-shadow .4s,background-color .4s,border-color .4s}.hero.is-arrow.is-lit .upload-zone{background:color-mix(in srgb, var(--accent) 28%, var(--surface));border-color:color-mix(in srgb, var(--accent-ink) 50%, transparent)}.hero.is-arrow.is-lit .upload-card{box-shadow:0 0 0 6px #fff9,0 0 40px #ffffffb3}@media (prefers-reduced-motion:reduce){.hero.is-arrow .upload-card,.hero.is-arrow .upload-zone{transition:none}}.hero.is-arrow .hero-demo{grid-row:7}@media (max-width:960px){.hero.is-arrow{grid-template-rows:none}.hero.is-arrow .hero-thread{display:none}.hero.is-arrow .hero-steps,.hero.is-arrow .hero-side,.hero.is-arrow .hero-demo{grid-row:auto}.hero.is-arrow .hero-side{rotate:none}}@media (max-width:600px){.hero.is-arrow .hero-pills{color:var(--accent-ink);font:600 14px/22px var(--font-ui);display:block}.hero.is-arrow .hero-pills .sticker{box-shadow:none;color:inherit;font:inherit;white-space:nowrap;background:0 0;margin:0;padding:0;display:inline}.hero.is-arrow .hero-pills .sticker:not(:last-child):after{content:" · ";white-space:pre-wrap}}
.so-option{margin:0 auto 64px}.so-stage{background:var(--bg);max-width:1040px;box-shadow:0 0 0 1px var(--line);border-radius:32px;margin:12px auto 0;padding:40px 24px}.so-head{text-align:center;margin-bottom:28px}.so-card{border-radius:var(--radius-l,28px);background:var(--surface);box-shadow:var(--shadow-card);padding:28px 32px}.so-chips,.so-segments,.so-underline,.so-black-tabs,.so-pencil-tabs,.so-paper-tabs{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:22px;display:flex}.so-chips button{background:var(--surface);box-shadow:var(--shadow-card);color:var(--ink);font:600 16px/22px var(--font-ui);cursor:pointer;border:0;border-radius:999px;padding:10px 20px}.so-chips button.is-active{background:var(--accent)}.so-card .so-chips button{box-shadow:0 0 0 1.5px var(--line-strong)}.so-card .so-chips button.is-active{box-shadow:none}.so-count{color:var(--ink-3);font:600 14px/20px var(--font-ui)}.so-question{font:400 26px/1.3 var(--font-serif,Georgia, serif);letter-spacing:-.01em;margin:8px 0 18px}.so-options{gap:10px;display:grid}.so-options button{border:1.5px solid var(--line-strong);background:var(--surface);color:var(--ink);font:500 17px/1.35 var(--font-ui);text-align:left;cursor:pointer;border-radius:16px;align-items:center;gap:12px;padding:16px 20px;display:flex}.so-options button:not(:disabled):hover{border-color:var(--ink)}.so-options button:disabled{cursor:default}.so-options .is-right,.so-abc .is-right,.so-paper label.is-right{background:#eaf6ee;border-color:#2e8b57}.so-options .is-wrong,.so-abc .is-wrong,.so-paper label.is-wrong{background:#fbecea;border-color:#c0392b}.so-options .is-off{opacity:.5}.so-after{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;min-height:52px;margin-top:16px;display:flex}.so-why{font:400 16px/1.5 var(--font-ui);flex:320px}.so-link{color:var(--ink-2);font:600 15px/22px var(--font-ui);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.so-end{justify-items:start;gap:14px;padding:12px 0;display:grid}.so-result{font:800 28px/1.2 var(--font-display)}.so-worked h3{font:600 20px/1.3 var(--font-ui);margin:0 0 8px}.so-worked p,.so-worked ol,.so-source p{font:400 16px/1.55 var(--font-ui);margin:0 0 12px}.so-worked ol,.so-stepper ol{padding-left:22px}.so-worked li+li,.so-stepper li+li{margin-top:6px}.so-try{margin-top:22px!important}.so-reveals{flex-wrap:wrap;gap:18px;display:flex}.so-hint{font-style:italic}.so-tag{background:color-mix(in srgb, var(--accent) 45%, transparent);font:600 12px/18px var(--font-ui);vertical-align:middle;border-radius:999px;margin-left:6px;padding:2px 10px;display:inline-block}.so-where{font:600 15px/22px var(--font-ui)}.so-opening{border-left:3px solid var(--accent);color:var(--ink-2);padding-left:14px;font-style:italic}.so-note{border-top:1px solid var(--line);color:var(--ink-3);font:400 14px/1.5 var(--font-ui);margin-top:22px;padding-top:16px}.so-player{background:color-mix(in srgb, var(--accent) 45%, transparent);color:var(--ink);border-radius:999px;padding:2px 10px;font-weight:600;display:inline-block}.so-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.so-stepper .btn{margin:4px 0 12px}.so-thread{gap:10px;max-width:680px;margin:0 auto;display:grid}.so-msg{gap:4px;max-width:85%;display:grid}.so-msg>div{background:color-mix(in srgb, var(--ink) 6%, var(--surface));font:400 16px/1.5 var(--font-ui);border-radius:18px 18px 18px 6px;padding:12px 16px}.so-msg.is-you{justify-self:end}.so-msg.is-you>div{background:var(--ink);color:var(--surface);border-radius:18px 18px 6px}.so-who{color:var(--ink-3);font:600 12px/16px var(--font-ui)}.so-msg blockquote{border-left:3px solid var(--accent);margin:10px 0 0;padding-left:12px;font-style:italic}.so-replies{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.so-replies button{border:1.5px solid var(--ink);background:var(--surface);color:var(--ink);font:500 15px/20px var(--font-ui);cursor:pointer;border-radius:999px;padding:10px 16px}.so-replies button:hover{background:var(--accent)}.so-replies button.is-quiet{border-color:#0000;text-decoration:underline}.so-flash,.so-deck{perspective:1400px;max-width:640px;margin:0 auto;position:relative}.so-flash{display:grid}.so-flash>.so-face{backface-visibility:hidden;grid-area:1/1;transition:transform .5s}.so-flash .so-back{transform:rotateY(180deg)}.so-flash.is-turned .so-front{transform:rotateY(-180deg)}.so-flash.is-turned .so-back{transform:rotateY(0)}.so-face{background:var(--surface);min-height:360px;box-shadow:var(--shadow-card), 10px 10px 0 -2px var(--surface), 10px 10px 0 -1px var(--line-strong);border-radius:24px;align-content:start;gap:10px;padding:32px;display:grid}.so-deck .so-face{box-shadow:var(--shadow-card), 8px 8px 0 -2px var(--surface), 8px 8px 0 -1px var(--line-strong), 16px 16px 0 -2px var(--surface), 16px 16px 0 -1px var(--line-strong)}.so-verdict{font:800 30px/1 var(--font-display)}.so-verdict.is-right{color:#2e8b57}.so-verdict.is-wrong{color:#c0392b}.so-index{background:linear-gradient(var(--surface) 46px, transparent 46px), repeating-linear-gradient(transparent 0 27px, #e4ecf7 27px 28px), var(--surface)}.so-dark{color:#f4efe2;--ink:#f4efe2;--ink-2:#d6d0c0;--ink-3:#a29c8c;--surface:#23201a;--line:#3a362c;--line-strong:#4a4538;background:#17150f}.so-segments{background:#0d0c09;border-radius:999px;gap:0;margin:0 auto 22px;padding:4px;display:inline-flex}.so-dark>.so-segments{width:fit-content;display:flex}.so-segments button{color:#a29c8c;font:600 15px/20px var(--font-ui);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:9px 18px}.so-segments button.is-active{background:var(--accent);color:#17150f}.so-dark .so-options .is-right{background:#183323}.so-dark .so-options .is-wrong{background:#3a1c18}.so-dark .btn-primary{background:var(--accent);color:#17150f}.so-notebook{background:linear-gradient(90deg,#0000 64px,#e8a3a3 64px 66px,#0000 66px),repeating-linear-gradient(#0000 0 31px,#dbe5f2 31px 32px),#fffef8;padding-left:88px;position:relative}.so-pencil-tabs{justify-content:flex-start;gap:22px}.so-pencil-tabs button{color:var(--ink-3);font:600 18px/26px var(--font-ui);cursor:pointer;background:0 0;border:0;padding:2px 0}.so-pencil-tabs button.is-active{color:var(--ink);box-shadow:inset 0 -6px 0 var(--accent)}.so-notebook .so-question{font-family:var(--font-serif,Georgia, serif)}.so-abc{gap:4px;padding:0;list-style:none;display:grid}.so-abc button{width:100%;color:var(--ink);font:400 19px/1.4 var(--font-serif,Georgia, serif);text-align:left;cursor:pointer;background:0 0;border:1.5px solid #0000;border-radius:10px;align-items:center;gap:14px;padding:6px 10px;display:flex}.so-abc button:not(:disabled):hover{background:color-mix(in srgb, var(--accent) 25%, transparent)}.so-letter{width:28px;font-weight:700;position:relative}.so-letter svg{color:#c0392b;width:60px;height:40px;position:absolute;inset:-12px -18px -10px -14px}.so-rail{grid-template-columns:280px 1fr;gap:28px;padding:16px;display:grid}.so-rail-list{background:color-mix(in srgb, var(--ink) 4%, transparent);border-radius:20px;flex-direction:column;gap:6px;padding:8px;display:flex}.so-rail-list button{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:14px;align-items:center;gap:12px;padding:12px;display:flex}.so-rail-list button.is-active{background:var(--surface);box-shadow:var(--shadow-card)}.so-rail-list button span:last-child{display:grid}.so-rail-list b{font:600 16px/22px var(--font-ui)}.so-rail-list small{color:var(--ink-3);font:400 13px/18px var(--font-ui)}.so-rail-icon{background:var(--accent);width:36px;height:36px;font:700 18px/1 var(--font-display);border-radius:10px;flex:none;place-items:center;display:grid}.so-rail-list .so-note{border:0;margin-top:auto;padding:12px 8px 4px}.so-rail-panel{padding:16px 16px 16px 0}.so-underline{border-bottom:1px solid var(--line);justify-content:flex-start;gap:0}.so-underline button{color:var(--ink-3);font:600 16px/22px var(--font-ui);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:10px 18px}.so-underline button.is-active{border-bottom-color:var(--ink);color:var(--ink)}.so-dots{gap:8px;display:flex}.so-dots span{background:var(--line);border-radius:999px;width:36px;height:8px}.so-dots .is-now{background:var(--ink)}.so-dots .is-right{background:#2e8b57}.so-dots .is-wrong{background:#c0392b}.so-progress kbd{border:1.5px solid var(--line-strong);width:28px;height:28px;font:700 13px/1 var(--font-ui);border-bottom-width:3px;border-radius:8px;flex:none;place-items:center;display:grid}.so-progress .so-quiz:focus-visible{outline:2px dashed var(--line-strong);outline-offset:8px;border-radius:8px}.so-yellow{background:var(--heat,var(--accent));color:var(--accent-ink,#17150f);border-radius:32px;padding:36px 40px}.so-black-tabs{justify-content:flex-start}.so-black-tabs button{color:#17150f;font:700 16px/22px var(--font-ui);cursor:pointer;background:0 0;border:2px solid #17150f;border-radius:999px;padding:10px 20px}.so-black-tabs button.is-active{color:var(--accent);background:#17150f}.so-yellow .so-question{font:800 34px/1.12 var(--font-display);letter-spacing:-.03em}.so-yellow .so-options{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.so-yellow .so-options button{color:#fff;text-align:center;background:#17150f;border:0;border-radius:999px;justify-content:center;min-height:64px}.so-yellow .so-options .is-right{color:#17150f;background:#fff;box-shadow:0 0 0 3px #17150f}.so-yellow .so-options .is-wrong{background:#c0392b}.so-yellow .so-note,.so-yellow .so-count{color:#17150fb3;border-color:#17150f33}.so-yellow .so-player,.so-yellow .so-tag{color:var(--accent);background:#17150f}.so-yellow .so-opening{border-color:#17150f}.so-paper{font-family:var(--font-serif,Georgia, serif);background:#fff;border-radius:6px;box-shadow:0 1px 2px #00000014,0 14px 40px #00000014}.so-paper-tabs{border-bottom:2px solid var(--ink);justify-content:flex-start;gap:0}.so-paper-tabs button{color:var(--ink-3);font:600 13px/20px var(--font-ui);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:8px 16px}.so-paper-tabs button.is-active{background:var(--ink);color:#fff}.so-paper-qs{gap:22px;margin-bottom:22px;padding-left:26px;display:grid}.so-paper .so-question{margin:0 0 10px;font-size:20px}.so-paper label{font:400 17px/1.4 var(--font-serif,Georgia, serif);cursor:pointer;border:1.5px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:6px 10px;display:flex}.so-paper input{accent-color:var(--ink)}.so-two{grid-template-columns:1fr 1fr;gap:24px;display:grid}.so-two>div{border:1px solid var(--line);border-radius:8px;padding:16px}.so-foot{border-top:1px solid var(--line);color:var(--ink-3);padding-top:10px;margin-top:28px!important;font-size:14px!important}.so-knots{gap:18px;max-width:720px;margin:0 auto;padding:0 0 0 44px;list-style:none;display:grid;position:relative}.so-knots:before{content:"";border-left:5px solid var(--ink);border-radius:3px;width:0;position:absolute;top:10px;bottom:10px;left:13px}.so-knots>li{position:relative}.so-knots>li:before{content:"";border:5px solid var(--ink);background:var(--surface);border-radius:50%;width:22px;height:22px;position:absolute;top:6px;left:-40px}.so-knots>li.is-now:before{background:var(--accent)}.so-knots>li.is-right:before{background:var(--ink)}.so-knots>li.is-wrong:before{background:#c0392b}.so-knots>li.is-later{opacity:.4}.so-knots>li.is-later .so-question,.so-knots>li.is-right .so-question,.so-knots>li.is-wrong .so-question{margin:0;font-size:18px}.so-folded{max-width:720px;margin:0 auto;padding:8px 28px 24px}.so-folded details{border-bottom:1px solid var(--line)}.so-folded summary{font:700 20px/26px var(--font-display);cursor:pointer;justify-content:space-between;align-items:center;padding:20px 0;list-style:none;display:flex}.so-folded summary::-webkit-details-marker{display:none}.so-folded summary:after{content:"+";background:var(--accent);width:32px;height:32px;font:600 22px/1 var(--font-ui);border-radius:50%;place-items:center;display:grid}.so-folded details[open] summary:after{content:"−"}.so-folded details>:not(summary){padding-bottom:22px}@media (max-width:760px){.so-stage{padding:28px 12px}.so-card,.so-yellow{padding:20px 16px}.so-rail,.so-two{grid-template-columns:1fr}.so-rail-panel{padding:0 8px 8px}.so-notebook{background:linear-gradient(90deg,#0000 30px,#e8a3a3 30px 32px,#0000 32px),repeating-linear-gradient(#0000 0 31px,#dbe5f2 31px 32px),#fffef8;padding-left:44px}.so-question{font-size:21px}.so-yellow .so-question{font-size:26px}.so-face{min-height:0;padding:22px}}.study-aids{max-width:1040px;margin:32px auto 0}@media (max-width:760px){.so-underline{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.so-underline button{white-space:nowrap;flex:auto;padding:10px 6px;font-size:14px}}
