.soon-card{--soon-line:28px;--soon-rule:color-mix(in srgb, var(--accent) 22%, transparent);--soon-margin:color-mix(in srgb, var(--danger) 60%, transparent);background-color:var(--panel);background-image:linear-gradient(to right, transparent 33px, var(--soon-margin) 33px, var(--soon-margin) 34.5px, transparent 34.5px);border:1px solid var(--border);color:var(--ink);border-radius:6px;margin:0;overflow:hidden}.soon-sheet{padding:calc(var(--soon-line) / 2) 18px calc(var(--soon-line) / 2) 48px;background-image:repeating-linear-gradient(to bottom, transparent 0, transparent calc(var(--soon-line) - 1px), var(--soon-rule) calc(var(--soon-line) - 1px), var(--soon-rule) var(--soon-line));background-position:0 calc(var(--soon-line) / 2);line-height:var(--soon-line)}.soon-card p{margin:0}.soon-card h1{font-family:var(--serif);margin:0;padding:26px 18px 2px 48px;font-size:34px;font-weight:400;line-height:1.2}.soon-line{font-family:var(--serif);font-size:17px}.soon-pencil{font-family:"Caveat", var(--serif);color:var(--accent);font-size:25px}.soon-pencil>span{white-space:nowrap}.soon-card .soon-links{margin-top:calc(var(--soon-line) / 2);min-height:calc(var(--soon-line) * 1.5);flex-wrap:wrap;align-items:center;gap:0 18px;display:flex}.soon-links a:not(.btn){color:var(--accent);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.soon-links a:not(.btn):hover{text-decoration-thickness:2px}.modal-body>.soon-card{border:0;border-radius:0 0 8px 8px;margin:-14px -16px}.soon-card.page{max-width:560px;box-shadow:var(--shadow);margin:48px auto}.soon-card.page .soon-sheet{padding-bottom:var(--soon-line)}.soon-card .soon-back{margin-top:calc(var(--soon-line) / 2)}@media (width<=600px){.soon-card.page{margin:24px 16px}.soon-card.page h1{font-size:30px}}.soon-dots{gap:.17em;margin-left:.2em;display:inline-flex}.soon-dots i{background:currentColor;border-radius:55% 45% 52% 48%;width:.16em;height:.15em;animation:none}.soon-dots i:first-child{animation-name:soon-dot-1}.soon-dots i:nth-child(2){animation-name:soon-dot-2;rotate:12deg}.soon-dots i:nth-child(3){animation-name:soon-dot-3;rotate:-8deg}@keyframes soon-dot-1{0%,4%{opacity:0;transform:scale(.3)}11%{opacity:1;transform:scale(1.3)}17%,80%{opacity:1;transform:scale(1)}92%,to{opacity:0;transform:scale(1)}}@keyframes soon-dot-2{0%,15%{opacity:0;transform:scale(.3)}22%{opacity:1;transform:scale(1.3)}28%,80%{opacity:1;transform:scale(1)}92%,to{opacity:0;transform:scale(1)}}@keyframes soon-dot-3{0%,26%{opacity:0;transform:scale(.3)}33%{opacity:1;transform:scale(1.3)}39%,80%{opacity:1;transform:scale(1)}92%,to{opacity:0;transform:scale(1)}}.badge.soon{font-family:"Caveat", var(--serif);border:1px dashed color-mix(in srgb, var(--accent) 55%, transparent);color:var(--accent);background:0 0;padding:0 5px 1px;font-size:15px;line-height:15px}.badge-art{display:block;overflow:visible}.badge-art.rubbing{color:var(--muted)}.badge-sheen{animation:6s ease-in-out infinite badge-sheen}@keyframes badge-sheen{0%,62%{transform:translate(0)}to{transform:translate(190px)}}.badges{flex-direction:column;gap:14px;max-width:1040px;margin:0 auto;padding:8px 0 32px;display:flex}.badges-head{flex-wrap:wrap;align-items:baseline;gap:6px 18px;display:flex}.badges-head h2{font-family:var(--serif);margin:0;font-size:28px;font-weight:600}.badges-count{color:var(--muted);margin:0}.badges-count b{font-family:var(--serif);color:var(--ink);font-size:20px}.badges-rarities{color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin:0 0 0 auto;padding:0;font-size:13px;list-style:none;display:flex}.badges-rarities li{align-items:center;gap:5px;display:inline-flex}.badges-pip{border-radius:50%;width:10px;height:10px;box-shadow:inset 0 0 0 1px #0003}[data-rarity=bronze]>.badges-pip{background:linear-gradient(135deg,#f3c58f,#a2622f)}[data-rarity=silver]>.badges-pip{background:linear-gradient(135deg,#fff,#8b949d)}[data-rarity=gold]>.badges-pip{background:linear-gradient(135deg,#fff3bf,#c99620)}[data-rarity=platinum]>.badges-pip{background:linear-gradient(135deg,#fff,#8fa3b5)}[data-rarity=legendary]>.badges-pip{background:linear-gradient(135deg,#ffd9f1,#c9b6ff,#8fe1e8,#ffe28c)}.badges-how,.badges-admin{color:var(--muted);margin:-6px 0 0;font-size:14px}.badges-admin{border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--ink);margin:0;padding:6px 10px;font-size:13px}.badges-almost h3,.badges-group h3{font-family:var(--serif);margin:0 0 8px;font-size:18px;font-weight:600}.badges-group h3 .muted{font-family:var(--sans);margin-left:6px;font-size:13px;font-weight:400}.badges-almost ul{flex-wrap:wrap;gap:10px 22px;margin:0;padding:0;list-style:none;display:flex}.badges-almost li{align-items:center;gap:8px;font-size:13px;display:flex}.badges-almost li>span{flex-direction:column;display:flex}.badges-grid{grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.badge-card{border:1px solid var(--border);background:var(--panel);text-align:center;border-radius:6px;flex-direction:column;align-items:center;gap:5px;min-width:0;padding:14px 12px 12px;display:flex}.badge-card.locked{background:0 0;border-style:dashed}.badge-card-medal{margin-bottom:4px}.badge-card.earned .badge-card-medal{filter:drop-shadow(0 2px 3px #2820142e)}.badge-card-name{font-family:var(--serif);font-size:16px;font-weight:600;line-height:1.2}.badge-card.locked .badge-card-name{color:var(--muted)}.badge-card-goal{color:var(--muted);font-size:13px;line-height:1.35}.badge-card-when{color:var(--accent);font-family:Caveat,cursive;font-size:18px;line-height:1}.badge-card-progress{flex-direction:column;align-items:stretch;gap:3px;width:100%;margin-top:2px;display:flex}.badge-bar{background:var(--border);border-radius:999px;height:5px;display:block;overflow:hidden}.badge-bar>span{border-radius:inherit;background:var(--accent);min-width:0;height:100%;display:block}.badge-bar-text{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.badge-card-tags{flex-wrap:wrap;justify-content:center;gap:4px;margin-top:auto;padding-top:4px;display:flex}.badge-tag{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:1px 7px;font-size:11px}.badge-tag.secret{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));color:var(--accent)}.badge-tag.secret.open{background:var(--accent-soft)}.badge-strip>p{margin:0 0 6px;font-size:14px}.badge-strip a{color:var(--accent);font-size:13px}.badge-strip ul{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.badge-toast{z-index:40;border:1px solid var(--border-strong);background:var(--panel);max-width:min(340px,100vw - 32px);box-shadow:var(--shadow);border-radius:8px;align-items:center;gap:12px;padding:10px 34px 10px 12px;animation:.3s ease-out both badge-toast-in;display:flex;position:fixed;bottom:44px;left:76px}.badge-toast-medal{flex:none;animation:.5s cubic-bezier(.22,1,.36,1) 80ms both badge-press}.badge-toast-body{flex-direction:column;min-width:0;display:flex}.badge-toast-kicker{color:var(--muted);font-family:Caveat,cursive;font-size:17px;line-height:1}.badge-toast-body b{font-family:var(--serif);font-size:16px}.badge-toast-body a{color:var(--accent);font-size:12.5px}.badge-toast-close{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:18px;line-height:1;position:absolute;top:4px;right:6px}@keyframes badge-toast-in{0%{opacity:0;transform:translateY(8px)}}@keyframes badge-press{0%{opacity:0;transform:scale(1.5)rotate(-14deg)}60%{opacity:1;transform:scale(.94)rotate(2deg)}}.editor.phone~.badge-toast,.editor.phone .badge-toast{bottom:76px;left:16px}@media (width<=720px){.badge-toast{bottom:76px;left:16px}}@media (width<=560px){.badges-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.badge-card{padding:10px 8px}.badge-card-medal svg{width:60px;height:60px}.badge-card-name{font-size:15px}.badge-card-goal{font-size:12px}.badges-rarities{margin-left:0}}@media (prefers-reduced-motion:reduce){.badge-sheen,.badge-toast,.badge-toast-medal{animation:none}}.paper-fx{z-index:0;pointer-events:none;contain:strict;position:absolute;inset:0;overflow:hidden}.paper-fx i,.paper-fx span{display:block;position:absolute}.paper-fx[data-hidden],.paper-fx[data-hidden] *{animation-play-state:paused!important}@media (prefers-reduced-motion:reduce){.paper-fx{display:none}}.paper-fx.sweep i{--beam:50, 145, 90;background:linear-gradient(90deg, transparent calc(100% - min(200px, 45%)), rgba(var(--beam), .14) calc(100% - 10px), rgba(var(--beam), .42) calc(100% - 2px), rgba(var(--beam), .6) 100%) no-repeat;will-change:transform;width:100%;animation:5s linear infinite paper-sweep;top:0;bottom:0;left:0}.paper-fx.sweep[data-tone=dark] i{--beam:90, 235, 145}@keyframes paper-sweep{0%{transform:translate(-100%)}to{transform:translate(6%)}}.paper-fx.scan i{--scan:30, 85, 170;background:linear-gradient(180deg, transparent calc(100% - min(140px, 45%)), rgba(var(--scan), .1) calc(100% - 6px), rgba(var(--scan), .32) calc(100% - 1px), rgba(var(--scan), .45) 100%) no-repeat;will-change:transform;height:100%;animation:7s linear infinite paper-scan;top:0;left:0;right:0}.paper-fx.scan[data-tone=dark] i{--scan:255, 255, 255}@keyframes paper-scan{0%{transform:translateY(-100%)}to{transform:translateY(5%)}}.paper-fx.drift .light{will-change:transform;background:radial-gradient(closest-side,#fff8e46b,#0000);border-radius:50%;width:80%;height:90%;animation:14s ease-in-out infinite alternate paper-drift;top:5%;left:10%}.paper-fx.drift[data-tone=dark] .light{background:radial-gradient(closest-side,#ffd7a01f,#0000)}@keyframes paper-drift{0%{transform:translate(-30%,-20%)scale(1)}to{transform:translate(30%,20%)scale(1.15)}}.paper-fx.drift .mote{will-change:transform, opacity;background:#fffcf0d9;border-radius:50%;width:4px;height:4px;animation:16s linear infinite paper-mote;box-shadow:0 0 4px #fffcf0b3}.paper-fx.drift[data-tone=dark] .mote{background:#ffe1b473;box-shadow:0 0 4px #ffe1b459}.paper-fx.drift .m0{top:70%;left:12%}.paper-fx.drift .m1{animation-duration:19s;animation-delay:-5s;top:85%;left:30%}.paper-fx.drift .m2{width:3px;height:3px;animation-delay:-11s;top:60%;left:48%}.paper-fx.drift .m3{animation-duration:21s;animation-delay:-2s;top:90%;left:64%}.paper-fx.drift .m4{width:5px;height:5px;animation-delay:-8s;top:72%;left:78%}.paper-fx.drift .m5{width:3px;height:3px;animation-duration:18s;animation-delay:-13s;top:40%;left:22%}.paper-fx.drift .m6{animation-delay:-6s;top:45%;left:88%}@keyframes paper-mote{0%{opacity:0;transform:translate(0)}15%{opacity:1}50%{transform:translate(40px,-90px)}85%{opacity:1}to{opacity:0;transform:translate(20px,-190px)}}.paper-fx.twinkle .twinkle-group{will-change:opacity;animation:2.6s ease-in-out infinite alternate paper-twinkle;inset:0}.paper-fx.twinkle .twinkle-group:nth-child(2){animation-duration:3.4s;animation-delay:-1.1s}.paper-fx.twinkle .twinkle-group:nth-child(3){animation-duration:4.1s;animation-delay:-2.3s}.paper-fx.twinkle .twinkle-group:nth-child(4){animation-duration:3s;animation-delay:-.4s}@keyframes paper-twinkle{0%{opacity:.08}to{opacity:1}}.paper-fx.twinkle .constellation{opacity:0;will-change:opacity;animation:12s ease-in-out infinite paper-constellation;inset:0}.paper-fx.twinkle .constellation.diode{animation-delay:-8s}.paper-fx.twinkle .constellation.ground{animation-delay:-4s}@keyframes paper-constellation{0%,45%,to{opacity:0}15%,30%{opacity:.7}}.paper-fx.twinkle .shooting-star{--streak:255, 250, 230;background:linear-gradient(90deg, rgba(var(--streak), 0), rgba(var(--streak), .95));width:150px;height:2px;box-shadow:0 0 6px rgba(var(--streak), .6);opacity:0;transform-origin:100%;will-change:transform, opacity;border-radius:2px;margin-left:-150px;animation:1.2s ease-out forwards paper-shooting}.paper-fx.twinkle[data-tone=light] .shooting-star{--streak:90, 70, 200}@keyframes paper-shooting{0%{opacity:0;transform:rotate(var(--angle)) translateX(0) scaleX(.3)}15%{opacity:1}to{opacity:0;transform:rotate(var(--angle)) translateX(320px) scaleX(1)}}.paper-fx.preview.twinkle .shooting-star{width:60px;margin-left:-60px;animation-name:paper-shooting-small}@keyframes paper-shooting-small{0%{opacity:0;transform:rotate(var(--angle)) translateX(0) scaleX(.3)}15%{opacity:1}to{opacity:0;transform:rotate(var(--angle)) translateX(110px) scaleX(1)}}.paper-fx-mask{inset:0;-webkit-mask-repeat:repeat;mask-repeat:repeat}.paper-fx.pulse i{will-change:transform;background:radial-gradient(closest-side,#e68723bf,#e6872300);border-radius:50%;width:40%;height:40%;animation:7s linear infinite paper-pulse;top:-40%;left:-40%}.paper-fx.pulse i+i{animation-delay:-3.5s}.paper-fx.pulse[data-tone=dark] i{background:radial-gradient(closest-side,#ffcd78cc,#ffcd7800)}@keyframes paper-pulse{0%{transform:translate(0)}to{transform:translate(360%,360%)}}.cz-card .paper-fx,.cz-card .paper-fx *{animation-play-state:paused}.cz-card:hover .paper-fx,.cz-card:hover .paper-fx *,.cz-card:focus-within .paper-fx,.cz-card:focus-within .paper-fx *{animation-play-state:running}.modal.wide:has(.customize){width:min(780px,100vw - 32px)}.customize{flex-direction:column;gap:10px;display:flex}.cz-top{flex-direction:column;gap:8px;display:flex}@media (width>=561px){.cz-top{z-index:2;background:var(--panel);margin-top:-14px;padding-top:14px;padding-bottom:6px;position:sticky;top:-14px}}.cz-preview{border:1px solid var(--border-strong);border-radius:4px;height:120px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff40}.cz-preview-paper{flex:1;min-width:0;position:relative}.cz-preview-paper svg{width:100%;height:100%;display:block}.cz-preview svg{object-fit:cover}.cz-preview-paper>svg{width:100%}.cz-preview-paper>svg.cz-preview-ink{pointer-events:none;width:300px;height:120px;position:absolute;top:0;left:0}.cz-preview-words{white-space:nowrap;font-family:Caveat,cursive;font-size:30px;line-height:1;position:absolute;top:40px;left:96px;transform:rotate(-2deg)}.cz-preview-stamp{pointer-events:none;width:128px;position:absolute;top:0;bottom:0;right:0}.cz-preview-stamp svg{display:block}.cz-preview-stamp svg>rect:first-of-type{fill:#0000}.cz-wallet{color:var(--muted);align-items:center;gap:6px;margin:0;font-size:13px;display:flex}.cz-wallet b{font-family:var(--serif);color:var(--ink);font-size:18px}.cz-wallet svg{color:#d39b1c}.cz-wallet a{color:var(--accent);margin-left:auto}.cz-tabs{border-bottom:1px solid var(--border);gap:2px;display:flex}.cz-tabs button{color:var(--muted);font:inherit;font-family:var(--serif);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:7px 16px 8px;font-size:16px}.cz-tabs button:hover{color:var(--ink)}.cz-tabs button.on{color:var(--ink);border-bottom-color:var(--accent)}.cz-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.cz-say{color:var(--muted);margin:0;font-size:13px}.cz-note{border-left:3px solid var(--accent);background:var(--accent-soft);margin:0;padding:6px 10px;font-size:13px}.cz-sub{font-family:var(--serif);margin:4px 0 -2px;font-size:14px;font-weight:600}.cz-grid{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:12px 10px;margin:0;padding:2px;list-style:none;display:grid}.cz-card{flex-direction:column;gap:4px;min-width:0;display:flex}.cz-card-btn{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:start;gap:5px 6px;padding:0;display:grid}.cz-card-btn:disabled{cursor:default}.cz-swatch{aspect-ratio:112/72;border:1px solid var(--border-strong);background:var(--panel-2);border-radius:3px;grid-column:1/-1;transition:transform .15s,box-shadow .15s;display:block;overflow:hidden}.cz-swatch svg{width:100%;height:100%;display:block}.cz-card-btn:not(:disabled):hover .cz-swatch{transform:translateY(-2px);box-shadow:0 4px 10px #28201424}.cz-card-btn:focus-visible .cz-swatch{outline:2px solid var(--accent);outline-offset:2px}.cz-card.worn .cz-swatch{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent), 0 3px 8px #2820141f}.cz-name{overflow-wrap:anywhere;min-width:0;font-size:13px;font-weight:500;line-height:1.25}.cz-state{color:var(--muted);white-space:nowrap;align-items:center;gap:3px;font-size:12px;display:inline-flex}.cz-card.worn .cz-state{color:var(--accent);font-weight:600}.cz-card.mine .cz-card-btn:hover .cz-state{color:var(--accent)}.cz-card.sale .cz-state{color:#8a6210;background:#d39b1c29;border-radius:999px;padding:1px 7px 1px 5px;font-weight:600}[data-theme=blackboard] .cz-card.sale .cz-state,[data-theme=slate] .cz-card.sale .cz-state{color:#f0c560}.cz-card.sale .cz-state svg{color:#d39b1c}.cz-card.secret .cz-swatch{position:relative}.cz-card.secret .cz-swatch svg{filter:grayscale()blur(1.6px);opacity:.45}.cz-card.secret .cz-swatch:after{content:"";background:repeating-linear-gradient(-38deg, transparent 0 5px, color-mix(in srgb, var(--ink) 14%, transparent) 5px 6px);position:absolute;inset:0}.cz-secret{color:var(--muted);align-items:center;gap:5px;font-size:11.5px;line-height:1.25;display:flex}.cz-secret .badge-art{color:var(--muted);flex:none}.cz-foot{margin:4px 0 0}.cz-foot a{color:var(--accent)}@media (width<=560px){.cz-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cz-preview-words{font-size:24px;top:14px;left:20px}.cz-wallet a{font-size:12px}}@media (prefers-reduced-motion:reduce){.cz-swatch{transition:none}}.cz-swatch{position:relative}.cz-animated{z-index:1;background:var(--accent);color:#fff;letter-spacing:.02em;border-radius:999px;align-items:center;gap:4px;padding:2px 8px 2px 6px;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex;position:absolute;top:4px;right:4px;box-shadow:0 1px 3px #00000040}.cz-animated svg{animation:2.4s ease-in-out infinite cz-sparkle}@keyframes cz-sparkle{0%,70%,to{transform:scale(1)rotate(0)}85%{transform:scale(1.3)rotate(18deg)}}@media (prefers-reduced-motion:reduce){.cz-animated svg{animation:none}}.cz-card.moving .cz-swatch{border-color:color-mix(in srgb, var(--accent) 55%, var(--border-strong))}.guest-banner{background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:5px 14px;font-size:13px;display:flex}.guest-what{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.guest-what b{font-family:var(--serif);font-weight:600}.guest-dot{color:var(--muted);margin:0 6px}.guest-offline{color:var(--danger)}.guest-follow{border-color:var(--accent);color:var(--accent);animation:2.4s ease-in-out infinite guest-call}@keyframes guest-call{50%{box-shadow:0 0 0 4px var(--accent-soft)}}@media (prefers-reduced-motion:reduce){.guest-follow{animation:none}}:root[data-anim=off] .guest-follow{animation:none}.guest-own{color:var(--accent);flex:none;font-weight:600;text-decoration:none}.guest-own:hover{text-decoration:underline}@media (width<=700px){.guest-banner{gap:6px 10px;padding:5px 12px}.guest-what{flex:1 1 0}.guest-what .muted,.guest-what .guest-dot{display:none}.guest-what .guest-offline,.guest-what .guest-offline .guest-dot{display:inline}.guest-follow{flex:1 0 100%;order:3;justify-content:center}}.guest-panel{flex-direction:column;height:100%;min-height:0;display:flex;overflow:auto}.guest-find{padding:10px 10px 4px}.guest-find-box{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg);color:var(--muted);align-items:center;gap:6px;padding:0 8px;display:flex}.guest-find-box:focus-within{border-color:var(--accent)}.guest-find-box input[type=search],.guest-find-box input[type=search]:focus{min-width:0;font:inherit;color:var(--ink);background:0 0;border:none;outline:none;flex:1;padding:7px 0;font-size:13px}.guest-find-box input::-webkit-search-cancel-button{display:none}.guest-hits{max-height:40vh;margin:6px 0 0;padding:0;list-style:none;overflow:auto}.guest-hits li.muted{padding:6px 8px}.guest-hits button{border-radius:var(--radius);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:flex-start;padding:5px 8px;font-size:13px;display:flex}.guest-hits button:hover,.guest-hits button:focus-visible{background:var(--hover)}.guest-hit-title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.view-ended{text-align:center;background:var(--bg);min-height:100vh;color:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px 16px;display:flex}.view-ended h1{font-family:var(--serif);margin:8px 0 0;font-size:26px;font-weight:500}.view-ended p{max-width:420px;color:var(--muted);margin:0}.view-ended-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex}.view-ended-actions a.btn{text-decoration:none}.view-ended-logo{display:inline-flex}.view-links-form{gap:8px;display:grid}.view-links-form .row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.view-links-sheets{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);max-height:160px;margin:0;padding:6px 8px;list-style:none;overflow:auto}.view-links-sheets label{align-items:center;gap:6px;padding:2px 0;font-size:13px;display:flex}.view-links-check{align-items:center;gap:6px;font-size:13px;display:flex}.view-link-new{border:1px dashed var(--accent);border-radius:var(--radius);background:var(--accent-soft);gap:4px;padding:8px 10px;display:grid}.view-link-new .row{align-items:center;gap:6px;display:flex}.view-link-new input{flex:1;min-width:0}.view-links-list{gap:4px;margin:8px 0 0;padding:0;list-style:none;display:grid}.view-links-list li{border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:8px;padding:6px 8px;display:flex}.view-links-list .view-link-what{flex:1;min-width:0;font-size:13px;display:grid}.view-links-list .view-link-what .muted{font-size:12px}.view-link-count{color:var(--muted);text-align:right;flex:none;font-size:12px}.view-link-count b{color:var(--ink);font-weight:600}.view-link-live{color:var(--accent)}:root{--inst-ok:#3f7a3a;--inst-warn:#a86a00;--inst-bad:#b0392b}:root[data-theme=blackboard],:root[data-theme=slate]{--inst-ok:#9fd39a;--inst-warn:#f2c27a;--inst-bad:#f29a8f}.inst-accent,[style*=--inst-accent]{--inst-line:var(--inst-accent-ink,var(--accent));--inst-tint:color-mix(in srgb, var(--inst-accent,var(--accent)) 26%, transparent)}:root[data-theme=blackboard] .inst-accent,:root[data-theme=blackboard] [style*=--inst-accent],:root[data-theme=slate] .inst-accent,:root[data-theme=slate] [style*=--inst-accent]{--inst-line:var(--inst-accent,var(--accent));--inst-tint:color-mix(in srgb, var(--inst-accent,var(--accent)) 18%, transparent)}.inst-cells{grid-template-columns:repeat(auto-fill,minmax(9.2rem,1fr));gap:8px;display:grid}.inst-cells.compact{grid-template-columns:repeat(auto-fit,minmax(6.4rem,1fr));gap:6px}.inst-cells.compact .inst-cell.main{grid-column:span 1}.inst-cell{border:1px solid var(--border);border-left:3px solid var(--border-strong);background:var(--panel);border-radius:6px;grid-template-rows:auto auto auto;min-width:0;padding:7px 10px 6px;display:grid;position:relative}.inst-cell.main{border-top:3px solid var(--inst-line,var(--accent));background:linear-gradient(var(--inst-tint,var(--accent-soft)), var(--inst-tint,var(--accent-soft))), var(--panel);grid-column:span 2;padding-top:5px}.inst-cell.ok{border-left-color:var(--inst-ok)}.inst-cell.warn{border-left-color:var(--inst-warn)}.inst-cell.bad{border-left-color:var(--inst-bad)}.inst-cell-label{font:500 .72rem/1.25 var(--sans);letter-spacing:.02em;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;padding-right:16px;overflow:hidden}.inst-cell-mark{width:15px;height:15px;font:700 .62rem/15px var(--sans);text-align:center;color:var(--panel);border-radius:50%;position:absolute;top:5px;right:7px}.inst-cell.ok .inst-cell-mark{background:var(--inst-ok)}.inst-cell.warn .inst-cell-mark{background:var(--inst-warn)}.inst-cell.bad .inst-cell-mark{background:var(--inst-bad)}.inst-cell-value{white-space:nowrap;align-items:baseline;gap:.28em;min-width:0;display:flex;overflow:hidden}.inst-cell-figures{font-family:var(--serif);font-variant-numeric:tabular-nums lining-nums;color:var(--ink);text-overflow:ellipsis;font-size:1.35rem;line-height:1.25;overflow:hidden}.inst-cell.main .inst-cell-figures{font-size:2rem;line-height:1.15}.inst-cell-unit{font-family:var(--serif);color:var(--muted);flex:none;min-width:1.4em;font-size:.95rem}.inst-cell.main .inst-cell-unit{font-size:1.15rem}.inst-cell.hidden .inst-cell-figures{color:var(--muted)}.inst-cell-hint{min-height:1.15em;font:.7rem/1.15 var(--sans);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.inst-cells.compact .inst-cell{padding:5px 8px 4px}.inst-cells.compact .inst-cell-figures{font-size:1.12rem}.inst-cells.compact .inst-cell.main .inst-cell-figures{font-size:1.55rem}.inst-field{align-content:start;gap:4px;min-width:0;display:grid}.inst-field-label{font:500 .82rem/1.3 var(--sans);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.inst-field-help-mark{border:1px solid var(--border-strong);width:13px;height:13px;font:600 .6rem/12px var(--sans);text-align:center;color:var(--muted);cursor:help;vertical-align:1px;border-radius:50%;margin-left:5px;display:inline-block}.inst-field-box{border:1px solid var(--border-strong);background:var(--panel);border-radius:6px;align-items:center;height:38px;display:flex;overflow:hidden}.inst-field-box:focus-within{border-color:var(--inst-line,var(--accent));box-shadow:0 0 0 3px var(--inst-tint,var(--accent-soft))}.inst-field-box input{min-width:0;height:100%;color:var(--ink);font-family:var(--serif);font-variant-numeric:tabular-nums lining-nums;background:0 0;border:0;outline:none;flex:1;padding:0 10px;font-size:1.08rem}.inst-field-box.scrub input:not(:focus){cursor:ew-resize;touch-action:pan-y;-webkit-text-decoration:underline dotted var(--border-strong);text-decoration:underline dotted var(--border-strong);text-underline-offset:5px}.inst-field.scrubbing .inst-field-box{border-color:var(--inst-line,var(--accent));background:linear-gradient(var(--inst-tint,var(--accent-soft)), var(--inst-tint,var(--accent-soft))), var(--panel)}.inst-field.scrubbing,.inst-field.scrubbing *{-webkit-user-select:none;user-select:none;cursor:ew-resize!important}.inst-field-unit{min-width:2.4em;font-family:var(--serif);color:var(--muted);text-align:right;flex:none;padding:0 10px 0 4px;font-size:1rem}.inst-field.main .inst-field-box{height:44px;box-shadow:inset 4px 0 0 var(--inst-line,var(--accent))}.inst-field.main .inst-field-box input{padding-left:14px}.inst-field.main .inst-field-box:focus-within{box-shadow:inset 4px 0 0 var(--inst-line,var(--accent)), 0 0 0 3px var(--inst-tint,var(--accent-soft))}.inst-field.main .inst-field-box input{font-size:1.3rem}.inst-field.bad .inst-field-box{border:1.5px solid var(--inst-bad)}.inst-field-note{min-height:1.2em;font:.74rem/1.2 var(--sans);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.inst-field-note.error{color:var(--inst-bad)}.inst-field.inline{grid-template-columns:var(--inst-label,7.6rem) minmax(0, 1fr);align-items:center;gap:5px 10px}.inst-field.inline>.inst-field-label{white-space:normal;max-height:2.4em;color:var(--ink);grid-column:1;font-size:.8rem;line-height:1.2;overflow:hidden}.inst-field.inline>:not(.inst-field-label){grid-column:2}.inst-field.inline .inst-field-box{height:34px}.inst-field.inline.main .inst-field-box{height:38px}.inst-field.inline.main .inst-field-box input{font-size:1.15rem}.inst-field.inline .inst-select{width:100%;height:34px}.inst-notches{gap:2px;display:grid}.inst-notches input[type=range]{width:100%;accent-color:var(--inst-line,var(--accent))}.inst-notches-ends{font:.72rem var(--serif);font-variant-numeric:tabular-nums;color:var(--muted);justify-content:space-between;display:flex}.inst-pills{flex-wrap:wrap;gap:5px;display:flex}.inst-pill,.inst-choice-option{border:1px solid var(--border);background:var(--panel);height:24px;color:var(--ink);font:.76rem var(--sans);white-space:nowrap;cursor:pointer;border-radius:12px;padding:0 9px}.inst-pill:hover,.inst-choice-option:hover{border-color:var(--inst-line,var(--accent))}.inst-pill.on,.inst-choice-option.on{border-color:var(--inst-line,var(--accent));background:var(--inst-tint,var(--accent-soft));font-weight:600}.inst-choice{flex-wrap:wrap;gap:5px;display:flex}.inst-select{border:1px solid var(--border-strong);background:var(--panel);height:38px;color:var(--ink);font:.9rem var(--sans);border-radius:6px;padding:0 8px}.inst-value{white-space:nowrap;align-items:baseline;gap:.26em;min-width:0;display:inline-flex}.inst-figures{min-width:0;font-family:var(--serif);font-variant-numeric:tabular-nums lining-nums;color:var(--ink);text-overflow:ellipsis;overflow:hidden}.inst-unit{min-width:1.3em;font-family:var(--serif);color:var(--muted);flex:none}.inst-readout-label{font:.76rem/1.25 var(--sans);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.inst-readouts{flex-wrap:wrap;align-items:flex-end;gap:6px 0;min-width:0;display:flex}.inst-readout{border-left:1px solid var(--border-strong);flex:8rem;min-width:8rem;max-width:13rem;padding:2px 14px 2px 12px}.inst-readout .inst-readout-label{white-space:normal;max-height:2.4em;line-height:1.2}.inst-readout .inst-figures{font-size:1.3rem;line-height:1.3}.inst-readout .inst-unit{font-size:.95rem}.inst-readout.warn .inst-figures,.inst-answer-main.warn .inst-figures,.inst-answer-more.warn .inst-figures{color:var(--inst-warn)}.inst-readout.bad .inst-figures,.inst-answer-main.bad .inst-figures,.inst-answer-more.bad .inst-figures{color:var(--inst-bad)}.inst-readout.hidden .inst-figures{color:var(--muted)}.inst-answer{gap:4px;min-width:0;transition:opacity .2s;display:grid}.inst-answer.stale{opacity:.45}.inst-answer-row{flex-wrap:wrap;align-items:flex-end;gap:8px 22px;min-width:0;display:flex}.inst-answer-main{border:1.5px solid var(--ink);background:var(--panel);min-width:11rem;box-shadow:3px 3px 0 var(--inst-tint,var(--accent-soft));border-radius:3px;gap:2px;padding:8px 16px 9px 14px;display:grid}.inst-answer-main>.inst-value{align-items:baseline;min-height:2.6rem}.inst-answer-main .inst-figures{color:var(--inst-line,var(--ink));font-size:2.2rem;line-height:1.15;animation:.45s ease-out inst-settle}.inst-answer-main .inst-unit{font-size:1.25rem}.inst-answer-more{gap:2px;min-width:6.5rem;padding-bottom:9px;display:grid}.inst-answer-more .inst-figures{font-size:1.55rem;line-height:1.2}.inst-answer-more .inst-unit{font-size:1.05rem}.inst-answer-line{min-height:1.35em;font:.86rem/1.35 var(--sans);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.inst-answer-line.ok{color:var(--inst-ok)}.inst-answer-line.warn{color:var(--inst-warn)}.inst-answer-line.bad{color:var(--inst-bad)}.inst-answer.compact .inst-answer-main{min-width:8.5rem;padding:5px 12px 6px 10px}.inst-answer.compact .inst-answer-main>.inst-value{min-height:2rem}.inst-answer.compact .inst-answer-main .inst-figures{font-size:1.65rem}.inst-answer.compact .inst-answer-main .inst-unit{font-size:1.05rem}.inst-answer.compact .inst-answer-row{gap:6px 14px}.inst-answer.compact .inst-answer-more{min-width:0;padding-bottom:6px}.inst-answer.compact .inst-answer-more .inst-figures{font-size:1.25rem}.inst-answer.compact .inst-answer-line{font-size:.78rem}@keyframes inst-settle{0%{opacity:.55}to{opacity:1}}@media (prefers-reduced-motion:reduce){.inst-answer-main .inst-figures{animation:none}}.inst-plot{width:100%;min-width:0;margin:0}.inst-plot .play-plot{max-width:none}.inst-plot-grid{stroke:var(--play-rule,var(--border));stroke-width:1px}.inst-plot .play-plot-tick{font-family:var(--serif);font-variant-numeric:tabular-nums;fill:var(--muted);font-size:12px}.inst-plot .play-plot-line.first{stroke:var(--inst-line,var(--ink));stroke-width:2.2px}.inst-plot-dot{fill:var(--inst-line,var(--accent));stroke:var(--panel);stroke-width:2px}.inst-plot-cross line{stroke:var(--muted);stroke-width:1px;opacity:.6}.inst-plot-cross circle{fill:var(--inst-line,var(--accent))}.inst-plot svg{touch-action:pan-y}.inst-plot-reading{height:1.3em;font:.82rem/1.3 var(--serif);font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.atlas{--atlas-fine:#789ccc33;--atlas-bold:#789ccc6b;--atlas-wash:.95;--atlas-halo:var(--panel);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px 12px;position:relative}[data-theme=blackboard] .atlas,[data-theme=slate] .atlas{--atlas-fine:#aac8f012;--atlas-bold:#aac8f026;--atlas-wash:.42}.atlas-bar{flex-wrap:wrap;align-items:center;gap:10px 12px;display:flex}.atlas-search{border:1px solid var(--border);background:var(--bg,var(--panel));min-height:40px;color:var(--muted);border-radius:999px;flex:260px;align-items:center;gap:8px;padding:0 12px;display:flex}.atlas-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.atlas-search input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:15px}.atlas-chips,.atlas-families{flex-wrap:wrap;gap:6px;display:flex}.atlas-chip,.atlas-fam,.atlas-seg button{border:1px solid var(--border);min-height:34px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:14px;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.atlas-chip:hover,.atlas-fam:hover,.atlas-seg button:hover{color:var(--ink);border-color:color-mix(in srgb, var(--ink) 35%, var(--border))}.atlas-chip.on{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.atlas-seg{border:1px solid var(--border);border-radius:999px;padding:2px;display:inline-flex}.atlas-seg button{border:0;min-height:30px;padding:0 11px}.atlas-seg button.on{color:var(--ink);background:color-mix(in srgb, var(--ink) 9%, transparent)}.atlas-key{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 18px;margin-top:10px;display:flex}.atlas-key-top{margin:10px 0 2px}.atlas-fam{min-height:30px;padding:0 11px 0 8px;font-size:13.5px}.atlas-fam i{background:color-mix(in srgb, var(--fam) var(--tab-mix,100%), var(--panel));width:12px;height:12px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--fam-ink) 45%, transparent);border-radius:50%;flex:none}.atlas-fam.on{color:var(--tab-text,var(--ink));border-color:color-mix(in srgb, var(--fam-ink) 55%, transparent);background:color-mix(in srgb, var(--fam) var(--tab-mix,100%), var(--panel))}[data-theme=blackboard] .atlas-fam.on,[data-theme=slate] .atlas-fam.on{border-color:var(--fam)}.atlas-chip:focus-visible,.atlas-fam:focus-visible,.atlas-seg button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.atlas-found{color:var(--muted);margin:8px 2px 0;font-size:14px}.atlas-found:empty{display:none}.atlas-stage{margin-top:12px;position:relative}.atlas-stage .atlas-found{border:1px solid var(--border);background:var(--panel);color:var(--ink);pointer-events:none;border-radius:999px;margin:0;padding:4px 11px;position:absolute;top:10px;left:10px}.atlas-board{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--panel);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;outline:none;height:clamp(540px,100vh - 300px,820px);position:relative;overflow:hidden}.atlas-board.holding{cursor:grabbing}.atlas-svg{outline:none;width:100%;height:100%;display:block}.atlas-svg:focus-visible{box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--accent) 45%, transparent)}.atlas-grid-fine,.atlas-grid-bold{fill:none;stroke-width:1px;vector-effect:non-scaling-stroke}.atlas-grid-fine{stroke:var(--atlas-fine)}.atlas-grid-bold{stroke:var(--atlas-bold)}.atlas-washes,.atlas-links{pointer-events:none}.atlas-wash{opacity:var(--atlas-wash);transition:opacity .4s}.atlas-wash.ghost{opacity:calc(var(--atlas-wash) * .4)}.atlas-link{fill:none;stroke:var(--fam-ink);stroke-width:1.35px;stroke-linecap:round;opacity:.5;transition:opacity .25s,stroke-width .25s}.atlas-link.chapter,.atlas-link.sheet{stroke:var(--ink);stroke-dasharray:.5 5;stroke-width:1.6px;opacity:.36}.atlas-link.ghost{opacity:.14}[data-theme=blackboard] .atlas-link,[data-theme=slate] .atlas-link{stroke:color-mix(in srgb, var(--fam) 70%, var(--ink))}[data-theme=blackboard] .atlas-link.chapter,[data-theme=blackboard] .atlas-link.sheet,[data-theme=slate] .atlas-link.chapter,[data-theme=slate] .atlas-link.sheet{stroke:var(--ink)}.atlas-n{cursor:pointer;outline:none;transition:opacity .25s}.atlas-bubble{transform-box:fill-box;transform-origin:50%;transition:transform .3s cubic-bezier(.3,1.5,.6,1)}.atlas-disc{fill:var(--panel)}.atlas-pencil{fill:none;stroke:var(--ink);stroke-width:1.3px;stroke-linecap:round}.atlas-family .atlas-disc{fill:color-mix(in srgb, var(--fam) var(--tab-mix,100%), var(--panel));filter:drop-shadow(0 2px 3px #281e0a1f)}.atlas-family .atlas-pencil{stroke-width:1.9px}.atlas-inner{fill:none;stroke:var(--fam-ink);stroke-width:1px;opacity:.35}[data-theme=blackboard] .atlas-inner,[data-theme=slate] .atlas-inner{stroke:var(--ink)}.atlas-emblem{pointer-events:none}.atlas-emblem path,.atlas-emblem rect,.atlas-emblem circle{stroke-linecap:round;stroke-linejoin:round}.em-line,.em-accent,.em-needle,.em-spark,.em-rays,.em-wave,.em-trace,.em-grid,.em-winding,.em-minus{fill:none;stroke-width:2.6px}.em-line{stroke:var(--ink)}.em-thin{stroke-width:1.8px}.em-legs{stroke-width:3.2px}.em-body{fill:var(--panel);stroke:var(--ink);stroke-width:2.6px}.em-dark{fill:var(--ink)}.em-accent{stroke:var(--fam-ink)}.em-thick{stroke-width:3.4px}[data-theme=blackboard] .em-accent,[data-theme=slate] .em-accent{stroke:var(--fam)}.em-screen{fill:#20262a;stroke:var(--ink);stroke-width:2.2px}.em-grid{stroke:#a0f0be33;stroke-width:1px}.em-trace{stroke:#8df0ad;stroke-width:2.4px}.em-knob{fill:var(--fam);stroke:var(--ink);stroke-width:2.2px}.em-glass-warm{fill:color-mix(in srgb, #ffd54a 42%, var(--panel));stroke:var(--ink);stroke-width:2.6px}.em-glass-red{fill:color-mix(in srgb, #ff5a3c 46%, var(--panel));stroke:var(--ink);stroke-width:2.6px}.em-rays{stroke:#e2462f}.em-bolt{fill:#f7cf45;stroke:var(--ink);stroke-width:2.6px}.em-spark{stroke:var(--ink);stroke-width:2.2px}.em-needle{stroke:var(--lab-red,#c8412f);stroke-width:3.2px}.em-notch,.em-pin1{fill:var(--panel)}.em-wave{stroke:var(--fam);stroke-width:2.2px}.em-stripe{fill:color-mix(in srgb, var(--fam-ink) 70%, var(--panel))}.em-minus{stroke:var(--panel);stroke-width:2px}.em-ring{fill:color-mix(in srgb, #b8835a 40%, var(--panel));stroke:var(--ink);stroke-width:2.4px}.em-winding{stroke:#b0522a;stroke-width:2.2px}.atlas-seal{flex:none;overflow:visible}.atlas-seal-disc{fill:color-mix(in srgb, var(--fam) var(--tab-mix,100%), var(--panel));stroke:var(--ink);stroke-width:3px}.atlas-family-title,.atlas-label,.atlas-tab-title{fill:var(--ink);text-anchor:middle;paint-order:stroke;stroke:var(--atlas-halo);stroke-width:4px;stroke-linejoin:round}.atlas-family-title{font-family:var(--serif)}.atlas-label{font-family:var(--serif);transition:opacity .2s}.atlas-leaf .atlas-pencil{stroke:var(--fam-ink)}.atlas-icon{color:var(--fam-ink)}[data-theme=blackboard] .atlas-leaf .atlas-pencil,[data-theme=slate] .atlas-leaf .atlas-pencil,[data-theme=blackboard] .atlas-icon,[data-theme=slate] .atlas-icon{stroke:var(--fam);color:var(--fam)}.atlas-tab{fill:color-mix(in srgb, var(--tab) var(--tab-mix,100%), var(--panel));stroke:color-mix(in srgb, var(--ink) 22%, transparent);stroke-width:1px}.atlas-tab-number{fill:var(--tab-text,var(--ink));font-family:var(--serif);text-anchor:middle;pointer-events:none;font-size:15px}.atlas-tab-title{font-family:"Caveat", var(--serif);text-anchor:start;fill:var(--muted);opacity:0;font-size:18px;transition:opacity .2s}.atlas-chapter.lit .atlas-tab-title,.atlas-chapter.match .atlas-tab-title{opacity:1}.atlas-lock circle{fill:var(--panel);stroke:color-mix(in srgb, var(--ink) 45%, transparent);stroke-width:1px}.atlas-lock svg{color:var(--ink);opacity:.75}.atlas-cleared{fill:none;stroke:var(--lab-red,#c8412f);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.atlas-n.ghost .atlas-bubble{transform:scale(.42)}.atlas-leaf.ghost .atlas-disc,.atlas-chapter.ghost .atlas-tab{fill:color-mix(in srgb, var(--fam) var(--tab-mix,100%), var(--panel))}.atlas-leaf.ghost .atlas-pencil{stroke-width:2.6px;opacity:.55}.atlas-n.ghost .atlas-icon,.atlas-n.ghost .atlas-tab-number,.atlas-n.ghost .atlas-label,.atlas-n.ghost .atlas-lock,.atlas-n.ghost .atlas-cleared{opacity:0}.atlas-n.ghost:not(.shown) .atlas-label,.atlas-n.ghost:not(.shown) .atlas-lock,.atlas-chapter:not(.lit):not(.match) .atlas-tab-title{pointer-events:none}.atlas-family.ghost{opacity:.5}.atlas-family.ghost .atlas-bubble{transform:scale(.8)}.atlas-board[data-search] .atlas-n:not(.match):not(.lit){opacity:.28}.atlas-board[data-search] .atlas-link:not(.lit){opacity:.1}.atlas-n.match .atlas-pencil{stroke:var(--accent);stroke-width:2.4px}.atlas-n.match .atlas-label{fill:var(--accent)}.atlas-board[data-lit] .atlas-n:not(.lit){opacity:.16}.atlas-board[data-lit] .atlas-link:not(.lit){opacity:.06}.atlas-board[data-lit] .atlas-wash{opacity:calc(var(--atlas-wash) * .5)}.atlas-n.lit{opacity:1}.atlas-n.ghost.lit .atlas-bubble{transform:scale(.8)}.atlas-leaf.ghost.lit .atlas-disc{fill:var(--panel)}.atlas-leaf.ghost.lit .atlas-pencil{stroke-width:1.3px;opacity:1}.atlas-n.ghost.lit .atlas-icon,.atlas-n.ghost.lit .atlas-tab-number,.atlas-n.ghost.shown .atlas-label,.atlas-n.ghost.shown .atlas-lock{opacity:1}.atlas-n.ghost.shown .atlas-bubble{transform:scale(1)}.atlas-link.lit{opacity:.95;stroke-width:2.1px}.atlas-n.shown .atlas-bubble,.atlas-n.held .atlas-bubble{transform:scale(1.14)}.atlas-n:focus-visible .atlas-pencil{stroke:var(--accent);stroke-width:3px}.atlas-n:focus-visible .atlas-tab{stroke:var(--accent);stroke-width:2.5px}.atlas-board[data-far=true] .atlas-leaf:not(.lit):not(.match) .atlas-label{opacity:0;pointer-events:none}.atlas-card{background:var(--panel);border:1px solid var(--border);border-top:3px solid color-mix(in srgb, var(--fam) var(--tab-mix,100%), var(--panel));pointer-events:none;z-index:2;border-radius:10px;width:270px;padding:11px 14px 12px;animation:.16s ease-out atlas-card-in;position:absolute;top:0;left:0;box-shadow:0 10px 28px #1e180c29}.atlas-card.picked{pointer-events:auto}@keyframes atlas-card-in{0%{opacity:0}}.atlas-card-kind{color:var(--muted);align-items:center;gap:6px;margin:0;font-size:12.5px;display:flex}.atlas-card-kind span{color:var(--fam-ink);margin-left:auto}[data-theme=blackboard] .atlas-card-kind span,[data-theme=slate] .atlas-card-kind span{color:var(--fam)}.atlas-card h3{font-family:var(--serif);color:var(--ink);margin:4px 0 2px;font-size:20px;font-weight:400;line-height:1.15}.atlas-card p{margin:4px 0 0;font-size:13.5px;line-height:1.4}.atlas-card-blurb{color:var(--ink)}.atlas-card-with{color:var(--muted)}.atlas-card-lab{color:var(--lab-red,#c8412f)}.atlas-card-lock{color:var(--play-star-ink,#a07d12);align-items:center;gap:5px;display:flex}.atlas-card-open{justify-content:center;width:100%;margin-top:10px}.atlas-zoom{flex-direction:column;gap:4px;display:flex;position:absolute;bottom:10px;right:10px}.atlas-zoom .btn{justify-content:center;width:34px;height:34px;padding:0}.atlas-hint{font-family:"Caveat", var(--serif);color:var(--accent);margin:0 4px;font-size:20px;line-height:1.2}.atlas-board[data-motion=off] *,.atlas-board[data-motion=off]{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){.atlas-board *,.atlas-card{transition:none!important;animation:none!important}}.atlas-list{columns:3 300px;column-gap:30px;margin-top:4px}.atlas-group{break-inside:avoid;padding:10px 0 14px}.atlas-group h2{font-family:var(--serif);color:var(--ink);align-items:center;gap:11px;margin:0 0 8px;font-size:21px;font-weight:400;display:flex}.atlas-group-name{flex-direction:column;line-height:1.15;display:flex}.atlas-group-name span{color:var(--muted);font-family:system-ui,sans-serif;font-size:13.5px}.atlas-group ul{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.atlas-group li a{border-bottom:1px solid var(--border);color:var(--ink);align-items:center;gap:11px;padding:9px 4px;text-decoration:none;display:flex}.atlas-group li a:hover,.atlas-group li a:focus-visible{background:color-mix(in srgb, var(--fam) 18%, transparent);outline:none}.atlas-group li a:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.atlas-item-icon{border:1.3px solid var(--fam-ink);width:30px;height:30px;color:var(--fam-ink);border-radius:50%;flex:none;place-items:center;display:grid}[data-theme=blackboard] .atlas-item-icon,[data-theme=slate] .atlas-item-icon{border-color:var(--fam);color:var(--fam)}.atlas-item-text{flex-direction:column;flex:1;min-width:0;display:flex}.atlas-item-text b{font-family:var(--serif);font-size:16.5px;font-weight:400}.atlas-item-text>span{color:var(--muted);font-size:13.5px}.atlas-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.atlas-ticks{flex:none;gap:3px;display:inline-flex}.atlas-ticks i{border:1.3px solid var(--lab-red,#c8412f);border-radius:50%;width:8px;height:8px}.atlas-ticks i.done{background:var(--lab-red,#c8412f)}.atlas-premium{color:var(--muted);flex:none;align-items:center;gap:4px;font-size:12.5px;display:inline-flex}.atlas-premium.locked{color:var(--play-star-ink,#a07d12)}.atlas-empty{color:var(--muted);margin:24px 4px}@media (width<=640px){.atlas{padding:10px}.atlas-bar{gap:8px}.atlas-search{flex-basis:100%}.atlas-chips{flex:100%}.atlas-chip{flex:1;justify-content:center;padding:0 8px}.atlas-families{scrollbar-width:thin;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.atlas-fam{flex:none}.atlas-board{height:min(68vh,560px)}.atlas-card{width:min(270px,100% - 16px)}.atlas-list{columns:1}.atlas-hint{font-size:18px}}.atlas-intro{max-width:70ch;font-family:"Caveat", var(--serif);color:var(--accent);margin:-6px 0 14px;font-size:23px;line-height:1.15}.play{--play-rule:#9db5d66b;--play-margin:#d24b3e;--play-red:#c8412f;--play-ok:#2e7d4f;--play-red-ink:color-mix(in srgb, var(--play-red) 86%, #000);--play-pen-ink:color-mix(in srgb, var(--play-pen) 86%, #000);--play-ok-ink:color-mix(in srgb, var(--play-ok) 84%, #000);--play-ok-soft:#2e9d5724;--play-star:#e6c22e;--play-star-ink:#a07d12;--play-note:#fbeea0;--play-note-ink:#262626}[data-theme=blackboard] .play,[data-theme=slate] .play{--play-red-ink:var(--play-red);--play-ok-ink:var(--play-ok);--play-pen-ink:var(--play-pen);--play-rule:#8fb8e824;--play-margin:#d9766a;--play-red:#f08a80;--play-ok:#7fd19a;--play-ok-soft:#7fd19a29;--play-star:#e9c94a;--play-star-ink:#c9a227}.play .dash-top{margin-bottom:22px}.play-score-chip{font-family:var(--serif);border:1px solid var(--border);background:var(--panel);color:var(--ink);border-radius:999px;padding:3px 11px;font-size:16px}.play-main{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:28px;display:grid}.play-paper{background-color:var(--panel);background-image:repeating-linear-gradient(to bottom, transparent 0 31px, var(--play-rule) 31px 32px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 28px 40px 62px;position:relative;overflow:hidden}.play-paper:before{content:"";background:var(--play-margin);opacity:.85;width:2px;position:absolute;top:0;bottom:0;left:44px}.play-paper h1{font-family:var(--serif);align-items:center;gap:12px;margin:0;font-size:42px;font-weight:400;line-height:1.1;display:flex}.play-tagline{color:var(--muted);margin:2px 0 20px;font-family:Caveat,cursive;font-size:25px}.play{--tab-mix:100%;--tab-text:#2a2620;--tab-deep:#3b3227;--tab-deep-share:42%;--tab-wash:10%}[data-theme=blackboard] .play,[data-theme=slate] .play{--tab-mix:34%;--tab-text:var(--ink);--tab-deep:var(--ink);--tab-deep-share:22%;--tab-wash:5%}.play-chapter,.play-upnext{--tab:#d9d2c0;--tab-fill:color-mix(in srgb, var(--tab) var(--tab-mix), var(--panel));--tab-soft:color-mix(in srgb, var(--tab) 32%, var(--panel));--tab-ink:color-mix(in srgb, var(--tab), var(--tab-deep) var(--tab-deep-share))}.play-chapter.current{isolation:isolate}.play-chapter.current:before{content:"";z-index:-1;background:color-mix(in srgb, var(--tab) var(--tab-wash), transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tab) calc(var(--tab-wash) * 2), transparent);pointer-events:none;border-radius:14px;position:absolute;inset:-16px -14px -6px -12px}.play-chapter{margin-top:38px;position:relative}.play-chapter.soon{opacity:.72}.play-chapter-tab{background:var(--tab-fill);width:38px;height:60px;color:var(--tab-text);font-family:var(--serif);border-radius:0 10px 10px 0;place-items:center;font-size:23px;transition:transform .45s cubic-bezier(.3,1.4,.6,1);display:grid;position:absolute;top:4px;left:-62px;box-shadow:inset 6px 0 6px -4px #0000002e}.play-chapter.premium-locked .play-chapter-tab,.play-chapter.premium-locked .play-emblem{filter:saturate(.45)}.play-chapter-head{align-items:center;gap:16px;display:flex}.play-chapter-head h2{font-family:var(--serif);flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:28px;font-weight:400;line-height:1.15;display:flex}.play-chapter-head p{color:var(--muted);margin:2px 0 0}.play-emblem{background:var(--tab-soft);border:1px solid color-mix(in srgb, var(--tab) 55%, var(--border));width:70px;height:60px;color:var(--ink);border-radius:12px;flex:none;place-items:center;display:grid;transform:rotate(-2deg)}.play-chapter:nth-of-type(2n) .play-emblem{transform:rotate(1.5deg)}.play-emblem svg{box-sizing:border-box;width:100%;height:100%;margin:0;padding:4px;overflow:visible}.play-emblem.large{border-radius:16px;width:128px;height:104px}.play-emblem.large svg{padding:7px}.play-trail{margin:12px 0 0;padding:0;list-style:none;position:relative}.play-trail-line{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.play-trail-ahead{stroke:color-mix(in srgb, var(--tab) 55%, var(--border-strong));stroke-width:2.2px;stroke-dasharray:1 7;stroke-linecap:round}.play-trail-walked{stroke:var(--tab-ink);stroke-width:2.8px;stroke-linecap:round}.play-trail-lit{stroke:var(--tab-ink);stroke-width:3.4px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0;filter:drop-shadow(0 0 3px color-mix(in srgb, var(--tab) 70%, transparent));animation:.42s cubic-bezier(.22,1,.36,1) backwards play-light}@keyframes play-light{0%{stroke-dashoffset:1px}}.play-stop{position:absolute}.play-stop>a,.play-stop>span{color:inherit;text-decoration:none;position:relative}.play-stop-dot{width:calc(var(--r) * 2px);height:calc(var(--r) * 2px);border:2px solid var(--ink);background:var(--panel);font-family:var(--serif);border-radius:50%;flex:none;place-items:center;font-size:21px;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s;display:grid;position:relative}.play-stop a:hover .play-stop-dot,.play-stop a:focus-visible .play-stop-dot{transform:translateY(-4px)rotate(-3deg);box-shadow:0 7px 12px -6px #00000059}.play-stop.gold a:hover .play-stop-dot,.play-stop.gold a:focus-visible .play-stop-dot{box-shadow:0 0 0 3px var(--panel), 0 0 0 5px var(--play-star), 0 9px 14px -6px #00000059}.play-stop a:focus-visible{outline:none}.play-stop a:focus-visible .play-stop-dot{outline:2px solid var(--accent);outline-offset:3px}.play-stop.done .play-stop-dot{background:var(--tab-fill);border-color:var(--tab-ink);color:var(--tab-text)}.play-stop.gold .play-stop-dot{box-shadow:0 0 0 3px var(--panel), 0 0 0 5px var(--play-star)}.play-stop.next .play-stop-dot{border-width:3px;border-color:var(--play-pen);color:var(--play-pen);font-size:28px;animation:3.2s ease-in-out infinite play-breathe}.play-stop.locked{opacity:.55}.play-stop.locked .play-stop-dot,.play-chapter.premium-locked .play-stop-dot{color:var(--muted);border-style:dashed}.play-chapter.premium-locked .play-stop a{opacity:.75}.play-stop-label{min-width:0;text-shadow:0 0 3px var(--panel), 0 0 3px var(--panel), 0 0 6px var(--panel);flex-direction:column;gap:3px;display:flex}.play-stop-here{color:var(--play-pen-ink);white-space:nowrap;pointer-events:none;font-family:Caveat,cursive;font-size:20px;line-height:1;position:absolute}.play-stop-title{font-family:var(--serif);text-wrap:balance;overflow-wrap:break-word;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:16.5px;line-height:1.15;display:-webkit-box;overflow:hidden}.play-stop.next .play-stop-title{font-size:17.5px}.play-stop-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.play-stop-best{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;line-height:1.3}.play-trail.row .play-stop{--label:min(calc(var(--step) - 14px), 136px);left:calc(var(--x) * 1px);top:calc((var(--y) - var(--r)) * 1px);width:var(--label);transform:translate(-50%)}.play-trail.row .play-stop>a,.play-trail.row .play-stop>span{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.play-trail.row .play-stop-label{align-items:center;width:100%}.play-trail.row .play-stop-title{font-size:min(16.5px, calc(var(--label) / 6.3))}.play-trail.row .play-stop.next .play-stop-title{font-size:min(17.5px, calc(var(--label) / 6.3))}.play-trail.row .play-stop-meta{justify-content:center}.play-trail.row .play-stop-here{bottom:calc(100% + 3px);left:50%;translate:-50%;rotate:-4deg}.play-trail.column .play-stop{left:0;right:0;top:calc((var(--y) - var(--r)) * 1px)}.play-trail.column .play-stop>a,.play-trail.column .play-stop>span{min-height:calc(var(--r) * 2px);grid-template-columns:106px minmax(0,1fr);align-items:center;display:grid}.play-trail.column .play-stop-dot{margin-left:calc((var(--x) - var(--r)) * 1px)}.play-trail.column .play-stop-label{position:relative}.play-trail.column .play-stop-here{bottom:calc(100% + 1px);left:0}.play-upnext{background:var(--panel);border:1px solid var(--border-strong);box-shadow:var(--shadow), inset 6px 0 0 var(--tab-fill);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px 22px;margin:2px 0 18px;padding:18px 22px 18px 24px;display:grid;position:relative}.play-upnext h2{font-family:var(--serif);margin:2px 0 4px;font-size:34px;font-weight:400;line-height:1.1}.play-upnext .play-kicker{font-size:22px}.play-upnext-where{color:var(--muted);margin:4px 0 0;font-size:13.5px}.play-upnext-blurb{color:var(--muted);margin:0;line-height:1.4}.play-upnext-go{flex-direction:column;align-items:center;gap:10px;display:flex}.play-upnext-btn{align-items:center;gap:8px;padding:11px 24px;font-size:17px;display:inline-flex}.play-upnext.all-done{grid-template-columns:1fr}.play-upnext.all-done p{color:var(--muted);margin:0}.play-upnext .play-emblem.large{animation:4.2s ease-in-out infinite play-breathe-soft}@media (width<=640px){.play-map .play-tagline{display:none}.play-map .play-paper h1{margin-bottom:14px}.play-chapter{margin-top:30px}.play-chapter-tab{border-radius:0 8px 8px 0;width:24px;height:48px;font-size:17px;left:-40px}.play-chapter-head{align-items:flex-start;gap:12px}.play-chapter-head h2{font-size:23px}.play-emblem{border-radius:10px;width:52px;height:46px}.play-emblem svg{padding:2px}.play-upnext{grid-template-columns:auto minmax(0,1fr);gap:12px 14px;padding:14px 14px 14px 18px}.play-upnext .play-emblem.large{border-radius:12px;align-self:start;width:76px;height:64px}.play-upnext .play-emblem.large svg{padding:4px}.play-upnext h2{font-size:27px}.play-upnext-go{flex-direction:row;grid-column:1/-1;justify-content:space-between}}.play-star polygon{fill:none;stroke:var(--border-strong);stroke-width:1.6px;stroke-linejoin:round}.play-star.filled polygon{fill:var(--play-star);stroke:var(--play-star-ink)}.play-stars{gap:2px;display:inline-flex}.play-stars.pop .play-star.filled{animation:.45s cubic-bezier(.34,1.56,.64,1) both play-pop}.play-side section{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:20px;padding:18px 20px}.play-side h2{font-family:var(--serif);margin:0 0 10px;font-size:22px;font-weight:400}.play-me dl{grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px;display:grid}.play-me dt{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:12px}.play-me dd{font-family:var(--serif);margin:0;font-size:26px;line-height:1.1}.play-of{color:var(--muted);font-size:14px}.play-note{color:var(--muted);margin:12px 0 0;font-size:13px}.play-board header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.play-tabs{gap:4px;margin-left:auto;display:flex}.play-tab{border:1px solid var(--border);font:inherit;color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:2px 10px;font-size:13px}.play-tab.on{background:var(--accent-soft);color:var(--accent);border-color:#0000}.play-board-note{color:var(--muted);margin:8px 0 0;font-size:14px}.play-rows{margin:6px 0 0;padding:0;list-style:none}.play-rows li{border-top:1px solid var(--border);align-items:center;gap:10px;padding:8px 6px;display:flex}.play-rows li.me{background:var(--accent-soft);border-top-color:#0000;border-radius:4px}.play-rank{font-family:var(--serif);width:22px;color:var(--muted);text-align:right}.play-who{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.play-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.play-handle{color:var(--muted);font-size:12px}.play-pts{color:var(--muted);white-space:nowrap;font-size:13px}.play-pts b{font-family:var(--serif);color:var(--ink);font-size:18px}.play-welcome-backdrop{z-index:50;background:#1e190f73;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.play-welcome{background:var(--panel);color:var(--ink);border-left:3px solid var(--play-margin);max-width:540px;box-shadow:var(--shadow);border-radius:8px;padding:26px 32px 28px;animation:.5s cubic-bezier(.34,1.56,.64,1) both play-pop}.play-welcome h2{font-family:var(--serif);margin:0 0 8px;font-size:34px;font-weight:400}.play-welcome ul{margin:10px 0 20px;padding-left:18px}.play-welcome li{margin:6px 0;line-height:1.4}.play-kicker{color:var(--play-red);margin:0;font-family:Caveat,cursive;font-size:19px;line-height:1}.play-level-top{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px;display:flex}.play-level-top h2{font-family:var(--serif);flex-direction:column;gap:2px;margin:0;font-size:24px;font-weight:400;line-height:1.1;display:flex}.play-progress{gap:6px;margin:0 0 0 auto;padding:0;list-style:none;display:flex}.play-progress li{border:1px solid var(--border-strong);background:var(--panel);border-radius:3px;width:22px;height:10px;transition:background .3s}.play-progress li.now{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent-soft)}.play-progress li.first{background:var(--play-star);border-color:var(--play-star-ink)}.play-progress li.right{background:var(--accent);border-color:var(--accent)}.play-progress li.missed{background:var(--play-red);border-color:var(--play-red);opacity:.75}.play-points{font-family:var(--serif);text-align:right;min-width:70px;font-size:20px}.play-stage{grid-template-columns:minmax(0,760px) 250px;justify-content:center;align-items:start;gap:24px;display:grid}.play-level:not(.tutorial) .play-stage{grid-template-columns:minmax(0,760px)}.play-stage>.play-card{grid-area:1/1}.play-stage>.play-coach{grid-area:1/2}.play-card{background-color:var(--panel);background-image:repeating-linear-gradient(to bottom, transparent 0 31px, var(--play-rule) 31px 32px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px 30px;animation:.35s cubic-bezier(.22,1,.36,1) both play-in;position:relative}.play-card.shake{animation:.5s both play-shake}.play-qnum{color:var(--muted);margin:0;font-family:Caveat,cursive;font-size:18px}.play-prompt{font-family:var(--serif);margin:2px 0 18px;font-size:24px;line-height:1.3}.play-figure{max-width:100%;height:auto;margin:0 auto 18px;display:block}.play-glow{filter:blur(5px)}.play-choices{grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;list-style:none;display:grid}.play-choice{text-align:left;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--panel);width:100%;color:var(--ink);font:inherit;cursor:pointer;align-items:center;gap:12px;padding:11px 14px;font-size:16px;line-height:1.3;transition:transform .15s cubic-bezier(.34,1.56,.64,1),border-color .15s,background .15s;display:flex}@media (hover:hover){.play-choice:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}}.play-choice:disabled{cursor:default}.play-choice.picked{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.play-choice.right{border-color:var(--play-ok);background:var(--play-ok-soft);box-shadow:inset 0 0 0 1px var(--play-ok)}.play-choice.wrong{border-color:var(--play-red);background:#c8412f14}.play-choice.wrong .play-choice-text{text-decoration:line-through;-webkit-text-decoration-color:var(--play-red);text-decoration-color:var(--play-red);text-decoration-thickness:2px}.play-letter{width:28px;height:28px;font-family:var(--serif);border:1px solid;border-radius:50%;flex:none;place-items:center;font-size:15px;display:grid}.play-number{flex-direction:column;gap:6px;max-width:340px;display:flex}.play-number-label{color:var(--muted);font-size:13px}.play-number-field{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--panel);align-items:center;transition:box-shadow .15s;display:flex}.play-number-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.play-number input{min-width:0;font:inherit;font-family:var(--mono);color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:9px 12px;font-size:20px}.play-unit{font-family:var(--serif);color:var(--muted);border-left:1px solid var(--border);padding:0 12px;font-size:18px}.play-card-foot{flex-direction:column;align-items:flex-start;gap:12px;margin-top:20px;display:flex}.play-check{min-width:130px;font-size:16px}.play-feedback{flex-direction:column;align-items:flex-start;gap:10px;width:100%;display:flex}.play-stamp{font-family:var(--serif);text-transform:uppercase;letter-spacing:.12em;color:var(--play-red-ink);transform-origin:50%;border:3px solid;border-radius:6px;padding:3px 14px;font-size:22px;line-height:1.2;animation:.42s cubic-bezier(.22,1,.36,1) both play-stamp;display:inline-block;transform:rotate(-6deg)}.play-stamp.ok{color:var(--play-ok-ink)}.play-verdict{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.play-verdict p{margin:0}.play-tries{color:var(--muted);font-size:16px}.play-earned{color:var(--accent);margin:0;font-family:Caveat,cursive;font-size:23px;line-height:1}.play-explain{border-left:3px solid var(--border-strong);margin:0;padding-left:12px;font-size:16px;line-height:1.5}.play-hint{color:var(--muted);align-items:center;gap:8px;margin:0;font-size:15px;display:flex}.play-coach{background:var(--play-note);color:var(--play-note-ink);box-shadow:var(--shadow);border-radius:2px;margin-top:40px;padding:16px 18px;font-family:Caveat,cursive;font-size:21px;line-height:1.25;animation:.4s cubic-bezier(.22,1,.36,1) .15s both play-in;position:relative;transform:rotate(1.5deg)}.play-coach p{margin:0}.play-coach-arrow{border:8px solid #0000;border-right-color:var(--play-note);position:absolute;top:26px;left:-14px}.play-bench{grid-template-columns:minmax(0,1fr) 250px;align-items:center;gap:20px;display:grid}.play-bench .play-figure{margin-bottom:0}.play-knob{flex-direction:column;gap:4px;display:flex}.play-knob-label{font-family:var(--serif);font-size:18px}.play-knob input[type=range]{width:100%;accent-color:var(--accent)}.play-knob-ends{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.play-meter{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--panel-2);flex-direction:column;gap:2px;margin-top:14px;padding:10px 14px;transition:border-color .2s,box-shadow .2s;display:flex}.play-meter.in-target{border-color:var(--play-ok);box-shadow:0 0 0 3px var(--play-ok-soft)}.play-meter-value{font-family:var(--mono);font-size:26px;line-height:1.1}.play-meter-label,.play-meter-target{color:var(--muted);font-size:13px}.play-resistor{max-width:100%;margin:0 auto 16px;display:block}.play-resistor .lead{stroke:var(--ink);stroke-width:2px}.play-resistor .body{fill:#e9d9b8}.play-resistor .outline{fill:none;stroke:var(--ink);stroke-width:1.6px}.play-result .play-card{text-align:center;max-width:560px;margin:0 auto}.play-result h2{font-family:var(--serif);margin:4px 0 10px;font-size:38px;font-weight:400}.play-score-line{font-family:var(--serif);margin:14px 0 8px;font-size:42px;line-height:1}.play-max{color:var(--muted);font-size:18px}.play-tally{color:var(--muted);justify-content:center;gap:18px;margin:0 0 10px;padding:0;list-style:none;display:flex}.play-tally b{color:var(--ink)}.play-result-note{color:var(--muted);line-height:1.45}.play-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px;display:flex}.play-closed{text-align:center;padding:60px 20px}.play-closed h1{font-family:var(--serif);align-items:center;gap:12px;margin:0 0 8px;font-size:36px;font-weight:400;display:inline-flex}@keyframes play-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes play-pop{0%{opacity:0;transform:scale(.5)}70%{opacity:1;transform:scale(1.1)}to{transform:scale(1)}}@keyframes play-stamp{0%{opacity:0;transform:scale(2.2)rotate(-20deg)}60%{opacity:1;transform:scale(.96)rotate(-5deg)}to{transform:scale(1)rotate(-6deg)}}@keyframes play-shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-7px)}40%,60%{transform:translate(7px)}}@keyframes play-pulse{0%,to{box-shadow:0 0 #c8412f47}50%{box-shadow:0 0 0 8px #c8412f00}}[data-anim=off] .play *,[data-anim=off] .play :before{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){.play *,.play :before{transition:none!important;animation:none!important}}@media (width<=980px){.play-main,.play-stage,.play-level.tutorial .play-stage{grid-template-columns:1fr}.play-stage>.play-card,.play-stage>.play-coach{grid-area:auto/1}.play-coach{margin-top:0;transform:none}.play-coach-arrow{display:none}.play-bench{grid-template-columns:1fr}}@media (width<=640px){.play-paper{padding:20px 16px 28px 40px}.play-paper:before{left:26px}.play-paper h1{font-size:32px}.play-choices{grid-template-columns:1fr}.play-card{padding:18px 16px}.play-prompt{font-size:20px}.play-progress{order:3;width:100%}}.play-daily{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--accent-soft);color:inherit;grid-template-columns:1fr auto;grid-template-areas:"date stars""title stars""blurb stars";gap:2px 14px;margin:0 0 8px;padding:14px 18px;text-decoration:none;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s;display:grid}.play-daily:hover{box-shadow:var(--shadow);transform:translateY(-1px)rotate(-.3deg)}.play-daily.done{background:var(--panel);border-style:solid}.play-daily-date{color:var(--play-red);grid-area:date;font-family:Caveat,cursive;font-size:18px;line-height:1.3}.play-daily-title{font-family:var(--serif);grid-area:title;font-size:24px;line-height:1.1}.play-daily-blurb{color:color-mix(in srgb, var(--muted) 75%, var(--ink));grid-area:blurb;font-size:14px}.play-daily .play-stars{grid-area:stars;align-self:center}.play-rounds{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.play-round{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--panel);color:inherit;flex-direction:column;gap:4px;min-height:100px;padding:12px 14px;text-decoration:none;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s;display:flex}.play-round:hover{box-shadow:var(--shadow);transform:translateY(-2px)rotate(.4deg)}.play-round-title{font-family:var(--serif);font-size:19px}.play-round-blurb{color:var(--muted);flex:1;font-size:13px}.play-round-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.play-streak{align-items:flex-start;gap:8px;margin:0 0 10px;font-size:14px;line-height:1.4;display:flex}.play-streak svg{color:var(--muted);flex:none;margin-top:2px}.play-streak svg.lit{color:#e07b2a}.play-ink-line{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 12px;font-size:13px;display:flex}.play-ink{gap:2px;display:inline-flex}.play-ink .full{color:var(--accent);fill:var(--accent)}.play-ink .empty{color:var(--border-strong)}.play-ink-more{color:var(--accent)}.play-stamps ul{flex-wrap:wrap;gap:8px;margin:0 0 8px;padding:0;list-style:none;display:flex}.play-stamp-mark{border:2px solid var(--border-strong);width:64px;height:64px;color:var(--muted);font-family:var(--serif);text-align:center;text-transform:uppercase;letter-spacing:.04em;opacity:.45;border-radius:50%;place-items:center;padding:4px;font-size:11px;line-height:1.1;display:inline-grid;transform:rotate(-6deg)}.play-stamps li.earned .play-stamp-mark,.play-new-stamps .play-stamp-mark{border-color:var(--play-red);color:var(--play-red);opacity:1;box-shadow:inset 0 0 0 2px var(--panel), inset 0 0 0 3px var(--play-red)}.play-stamps li:nth-child(2n) .play-stamp-mark{transform:rotate(5deg)}.play-new-stamps{justify-content:center;gap:14px;margin:6px 0 10px;padding:0;list-style:none;display:flex}.play-new-stamps li{flex-direction:column;align-items:center;gap:4px;display:flex}.play-new-stamps .play-stamp-mark{width:72px;height:72px;animation:.5s cubic-bezier(.22,1,.36,1) both play-stamp}.play-stamp-why{color:var(--muted);font-family:Caveat,cursive;font-size:17px}.play-result-chapter{font-family:var(--serif);margin:4px 0;font-size:20px}.play-result-meta{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:6px 18px;margin:4px 0 0;font-size:14px;display:flex}.play-result-meta span{align-items:center;gap:5px;display:inline-flex}.play-result-meta svg{color:#e07b2a}.play-card.result.perfect{box-shadow:var(--shadow), 0 0 0 3px var(--play-ok-soft)}.play-closed-icon{border:2px dashed var(--border-strong);width:56px;height:56px;color:var(--muted);border-radius:50%;place-items:center;margin:0 auto 10px;display:grid}.play-closed h1{display:block}.play-closed .upsell{text-align:left;max-width:520px;margin:14px auto 18px}.play-closed p{max-width:520px;color:var(--muted);margin:6px auto 14px}.play-hidden-title{display:none}.play-hotspot{fill:#0000;stroke:#0000;stroke-width:1.5px;cursor:pointer;transition:fill .15s,stroke .15s}.play-figure.has-hotspots .play-hotspot:hover,.play-hotspot:focus-visible{fill:#2f5d9e14;stroke:var(--accent);stroke-dasharray:4 3;outline:none}.play-hotspot.picked{fill:#2f5d9e24;stroke:var(--accent);stroke-dasharray:none}.play-hotspot.right{fill:var(--play-ok-soft);stroke:var(--play-ok);stroke-width:2px;stroke-dasharray:none}.play-hotspot.wrong{fill:#c8412f1f;stroke:var(--play-red);stroke-width:2px;stroke-dasharray:none}.play-spot-help{text-align:center;color:var(--muted);margin:-8px 0 14px;font-size:14px}.play-help{color:var(--muted);margin:0 0 10px;font-size:14px}.play-help-center{text-align:center}.play-bench-panel .play-help{margin-bottom:6px}.play-sort-items{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.play-sort-item{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--panel);color:var(--ink);font:inherit;font-family:var(--serif);cursor:pointer;align-items:center;gap:10px;padding:10px 14px 10px 10px;font-size:19px;transition:transform .15s cubic-bezier(.34,1.56,.64,1),border-color .15s;display:flex}.play-sort-item:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}.play-sort-item.chosen{border-color:var(--accent);background:var(--accent-soft)}.play-sort-item.right{border-color:var(--play-ok);background:var(--play-ok-soft)}.play-sort-item.wrong{border-color:var(--play-red);background:#c8412f14}.play-sort-pos{border:1px solid var(--border-strong);width:26px;height:26px;color:var(--accent);border-radius:50%;place-items:center;font-family:Caveat,cursive;font-size:18px;display:grid}.play-sort-item.chosen .play-sort-pos{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.play-sort-reset{margin-top:10px;font-size:14px}.play-resistor.small{margin:0}.play-arrangement{margin:10px 0 0}.play-arrangement .play-tab{padding:4px 12px;font-size:14px}.play-truth{border-collapse:collapse;font-family:var(--mono);margin:0 auto 6px;font-size:18px}.play-truth th,.play-truth td{border:1px solid var(--border-strong);text-align:center;padding:6px 18px}.play-truth th{font-family:var(--serif);background:var(--panel-2);font-size:18px;font-weight:400}.play-truth th.out,.play-truth td.out{border-left-width:2px}.play-truth-cell{border:1px dashed var(--border-strong);background:var(--panel);width:40px;height:36px;color:var(--accent);font:inherit;cursor:pointer;border-radius:6px;font-size:18px}.play-truth-cell:hover:not(:disabled){border-color:var(--accent);border-style:solid}.play-truth-cell.right{border:2px solid var(--play-ok);background:var(--play-ok-soft)}.play-truth-cell.wrong{border:2px solid var(--play-red);background:#c8412f14;text-decoration:line-through}.play-truth-fix{color:var(--play-ok);margin-left:6px}.play-clock{color:var(--muted);align-items:center;gap:8px;margin-left:auto;display:flex}.play-clock-bar{border:1px solid var(--border-strong);background:var(--panel);border-radius:4px;width:160px;height:8px;display:block;overflow:hidden}.play-clock-bar>span{background:var(--accent);height:100%;transition:width .1s linear;display:block}.play-clock-text{font-family:var(--mono);min-width:36px;color:var(--ink);font-size:16px}.play-level.blitz .play-card{animation-duration:.18s}.play-flash{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.play-flash .play-stamp{background:var(--panel);padding:6px 26px;font-size:40px}.play-card.flash-right{box-shadow:var(--shadow), 0 0 0 3px var(--play-ok-soft)}.play-card.flash-wrong{box-shadow:var(--shadow), 0 0 0 3px #c8412f2e}.play-rows li[data-rank="1"] .play-rank,.play-rows li[data-rank="2"] .play-rank,.play-rows li[data-rank="3"] .play-rank{width:24px;height:24px;color:var(--ink);border:2px solid var(--play-star-ink);background:var(--play-star);border-radius:50%;place-items:center;font-size:13px;display:inline-grid}.play-rows li[data-rank="2"] .play-rank{background:#d9d9d9;border-color:#9a9a9a}.play-rows li[data-rank="3"] .play-rank{background:#e0b48a;border-color:#a8703f}@media (width<=640px){.play-rounds{grid-template-columns:1fr}.play-daily{grid-template-columns:1fr;grid-template-areas:"date""title""blurb""stars"}.play-clock-bar{width:90px}.play-truth th,.play-truth td{padding:6px 12px}}.play-difficulty{letter-spacing:.02em;color:var(--muted);margin:4px 0 0!important;font-size:12px!important}.play-difficulty span{color:var(--accent);margin-right:6px;font-family:Caveat,cursive;font-size:16px}.play-difficulty.advanced span{color:var(--play-red)}.play-strip{display:none}@media (width<=980px){.play-strip{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 14px;padding:10px 14px;font-size:14px;display:flex}.play-strip b{color:var(--ink);font-family:var(--serif);font-size:18px}.play-strip .lit svg{color:#e07b2a}.play-strip .btn{margin-left:auto}}.play-keys{color:var(--muted);margin:0;font-size:12px}.play-keys kbd{font-family:var(--mono);border:1px solid var(--border-strong);background:var(--panel);border-bottom-width:2px;border-radius:4px;padding:0 5px;font-size:12px}@media (width<=980px){.play-keys{display:none}}.play{--play-pen:var(--play-red)}.play-paper:before{background:var(--play-pen)}.play-kicker,.play-daily-date{color:var(--play-pen-ink)}.play-stamps li.earned .play-stamp-mark,.play-new-stamps .play-stamp-mark{border-color:var(--play-pen);color:var(--play-pen);box-shadow:inset 0 0 0 2px var(--panel), inset 0 0 0 3px var(--play-pen)}.play-welcome{border-left-color:var(--play-pen)}.play-shop,.play-sheets,.play-sheet-page,.play-lab-page{max-width:900px;margin:0 auto}.play-sparks-big{font-family:var(--serif);align-items:center;gap:6px;margin-left:auto;font-size:26px;display:inline-flex}.play-sparks-big svg,.play-sparks h2 svg,.play-strip-sparks svg{color:#e0a800;fill:#ffd861}.play-shop-how{color:var(--muted);margin:-6px 0 18px;line-height:1.45}.play-shop-note{color:var(--accent);margin:0 0 14px;font-family:Caveat,cursive;font-size:21px}.play-shop-section{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:18px;padding:18px 22px}.play-shop-section h3{font-family:var(--serif);margin:0 0 4px;font-size:24px;font-weight:400}.play-shop-section>p{color:var(--muted);margin:0 0 12px}.play-look-group h4{font-family:var(--serif);color:var(--muted);margin:14px 0 6px;font-size:17px;font-weight:400}.play-items{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.play-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2);align-items:center;gap:12px;padding:10px 12px;display:flex}.play-item.worn{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.play-item-body{flex-direction:column;flex:1;min-width:0;display:flex}.play-item-title{font-family:var(--serif);font-size:17px}.play-item-blurb{color:var(--muted);font-size:13px}.play-item-action{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.play-item-action .btn{white-space:nowrap}.play-item-state,.play-item-note{color:var(--muted);align-items:center;gap:4px;font-size:12px;display:inline-flex}.play-item-state{color:var(--accent)}.play-swatch{border:1px solid var(--border-strong);background:var(--panel);border-radius:6px;flex:none;place-items:center;width:40px;height:40px;display:grid}.play-swatch.paper-ruled{background-image:repeating-linear-gradient(to bottom, transparent 0 7px, var(--play-rule) 7px 8px)}.play-swatch.paper-grid{background-image:linear-gradient(to right, var(--play-rule) 1px, transparent 1px), linear-gradient(to bottom, var(--play-rule) 1px, transparent 1px);background-size:8px 8px}.play-swatch.paper-dots{background-image:radial-gradient(var(--play-rule) 1px, transparent 1.1px);background-size:7px 7px}.play-swatch.paper-kraft{background:#e6d3ad}.play-swatch.paper-blueprint{background-color:#1f4f8a;background-image:linear-gradient(90deg,#fff3 1px,#0000 1px),linear-gradient(#fff3 1px,#0000 1px);background-size:8px 8px}.play-swatch.ink-red{background:#c8412f}.play-swatch.ink-black{background:#262626}.play-swatch.ink-blue{background:#2b4f93}.play-swatch.ink-green{background:#2e6b3a}.play-swatch.ink-violet{background:#6a3d9a}.play-swatch.stamp-box:after,.play-swatch.stamp-round:after,.play-swatch.stamp-double:after{content:"OK";font-family:var(--serif);letter-spacing:.08em;color:var(--play-red);border:2px solid var(--play-red);border-radius:3px;padding:1px 5px;font-size:11px;transform:rotate(-8deg)}.play-swatch.stamp-round:after{border-radius:999px}.play-swatch.stamp-double:after{border-style:double;border-width:4px}.play-swatch.ink-drop{color:var(--accent)}.play-sparks h2{align-items:center;gap:8px;display:flex}.play-strip-sparks{color:inherit;align-items:center;gap:4px;text-decoration:none;display:inline-flex}.play-sheet-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.play-sheet-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:inherit;box-shadow:var(--shadow);align-items:center;gap:12px;padding:14px 16px;text-decoration:none;transition:transform .18s cubic-bezier(.34,1.56,.64,1),border-color .18s;display:flex}.play-sheet-card:hover{border-color:var(--accent);transform:translateY(-2px)rotate(-.3deg)}.play-sheet-list li.locked .play-sheet-card{opacity:.75}.play-sheet-icon{border:1px solid var(--border-strong);width:38px;height:38px;color:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.play-sheet-list li.locked .play-sheet-icon{color:var(--muted);border-style:dashed}.play-sheet-art{border:1px solid var(--border-strong);width:84px;height:47px;color:var(--muted);background:#f7f3e8;border-radius:6px;flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.play-sheet-art img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.play-sheet-art.locked img{filter:grayscale();opacity:.4}.play-sheet-art svg{position:relative}.play-sheet-card-body{flex-direction:column;flex:1;min-width:0;display:flex}.play-sheet-title{font-family:var(--serif);font-size:18px}.play-sheet-blurb{color:var(--muted);font-size:13px}.play-sheet-price{color:var(--muted);align-items:center;gap:3px;font-size:13px;display:inline-flex}.play-sheet{padding-right:30px;position:relative}.play-sheet-note{float:right;max-width:250px;margin:0 0 14px 18px;animation:none;transform:rotate(1.2deg)}.play-sheet-note img{border-radius:2px;width:100%;height:auto;margin:0 0 10px;display:block;box-shadow:0 1px 4px #28201438}.play-sheet-section h3{font-family:var(--serif);border-bottom:1px solid var(--border-strong);margin:18px 0 6px;font-size:22px;font-weight:400;display:inline-block}.play-sheet-section p{margin:6px 0;line-height:1.55}.play-formulas{grid-template-columns:auto 1fr;align-items:center;gap:8px 18px;margin:8px 0 10px;display:grid}.play-formulas>div{display:contents}.play-formulas dt{color:var(--ink);font-size:20px}.play-formulas dd{color:var(--muted);margin:0;font-size:15px}.play-formula{vertical-align:middle;color:var(--ink);display:inline-block;overflow:visible}.play-formula.display{font-size:22px}.play-formula-raw{font-family:var(--mono)}.play-sheet-bullets{margin:6px 0 8px;padding-left:20px;line-height:1.5}.play-sheet-bullets li{margin:4px 0}.play-sheet .play-figure{margin:10px auto 6px}.play-mistakes{border:1px dashed var(--play-red);border-radius:var(--radius);margin-top:16px;padding:10px 16px 6px}.play-mistakes h3{color:var(--play-red);border-bottom:0;margin-top:4px}@media (width<=640px){.play-sheet-note{float:none;max-width:none;margin:0 0 14px;transform:none}.play-formulas{grid-template-columns:1fr;gap:2px}.play-formulas dd{margin-bottom:8px}.play-sheet{padding-right:16px}}.play-lab-card{padding:22px 26px}.play-lab{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:22px;display:grid}.play-lab-main{flex-direction:column;align-items:center;gap:10px;display:flex}.play-lab-main .play-figure{margin:0}.play-lab-panel{flex-direction:column;gap:10px;display:flex}.play-lab-toggle{align-items:center;gap:8px;font-size:14px;display:flex}.play-lab-toggle select{font:inherit;border:1px solid var(--border-strong);background:var(--panel);color:var(--ink);border-radius:4px;padding:3px 6px}.play-readouts{grid-template-columns:1fr 1fr;gap:8px;display:grid}.play-readout{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--panel-2);flex-direction:column;padding:6px 10px;display:flex}.play-readout .play-meter-value{font-size:20px}.play-readout.ok{border-color:var(--play-ok)}.play-readout.warn{border-color:#e0a800}.play-readout.bad{border-color:var(--play-red)}.play-lab-idea{color:var(--muted);border-left:3px solid var(--border-strong);margin:2px 0 0;padding-left:10px;font-size:14px;line-height:1.5}.play-lab-idea.ok{border-left-color:var(--play-ok);color:var(--ink)}.play-lab-idea.warn{color:var(--ink);border-left-color:#e0a800}.play-lab-idea.bad{border-left-color:var(--play-red);color:var(--ink)}.play-lab-try{border-top:1px dashed var(--border-strong);margin-top:18px;padding-top:12px}.play-lab-try h3{color:var(--play-pen);margin:0 0 4px;font-family:Caveat,cursive;font-size:22px;font-weight:400}.play-lab-try ul{margin:0;padding-left:20px;line-height:1.5}.play-plot{width:100%;max-width:560px;height:auto;display:block}.play-plot-bg{fill:var(--panel);stroke:none}.play-plot-axis{stroke:var(--border-strong);stroke-width:1.2px}.play-plot-zero{stroke:var(--border);stroke-width:1px}.play-plot-mark{stroke:var(--muted);stroke-width:1px;stroke-dasharray:4 3;opacity:.7}.play-plot-line{fill:none;stroke:var(--ink);stroke-width:1.8px;stroke-linejoin:round}.play-plot-line.dashed{stroke-dasharray:5 4;stroke:var(--muted)}.play-plot-dot{fill:var(--play-red)}.play-plot-label{fill:var(--muted);font-family:Caveat,cursive;font-size:15px}.play-plot-tick{font-family:var(--mono);fill:var(--muted);font-size:11px}.play-ladder{color:var(--muted);flex-direction:column;align-items:center;gap:4px;font-size:13px;display:flex}.play-ladder-bar{border:1px solid var(--border-strong);background:var(--panel);border-radius:4px;width:28px;height:120px;position:relative;overflow:visible}.play-ladder-fill{background:var(--accent-soft);transition:height .15s;position:absolute;bottom:0;left:0;right:0}.play-ladder-tap{white-space:nowrap;font-family:var(--serif);color:var(--play-red);font-size:15px;transition:bottom .15s;position:absolute;left:34px;transform:translateY(50%)}.play-ladder-tap:before{content:"";border-top:2px solid var(--play-red);width:30px;position:absolute;top:50%;left:-34px}@media (width<=900px){.play-lab{grid-template-columns:1fr}}@media (width>=981px) and (width<=1280px){.play-main{grid-template-columns:minmax(0,1fr) 280px;gap:22px}}@media (width<=640px){.play-level-top{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.play-level-top h2{grid-area:2/1/auto/-1}.play-level-top .play-progress{order:0;grid-area:3/1/auto/-1;width:auto;margin:0}.play-level-top .play-points{grid-area:1/3;min-width:0}.play-level-top .play-clock{grid-area:1/2;justify-self:end;margin-left:0}.play-shop .play-level-top,.play-sheets .play-level-top,.play-sheet-page .play-level-top,.play-lab-page .play-level-top{grid-template-columns:auto 1fr}.play-shop .play-level-top .play-sparks-big{grid-area:1/2;justify-self:end;margin-left:0}.play-sheet-page .play-level-top>a:last-child,.play-lab-page .play-level-top>a:last-child{grid-area:1/2;justify-self:end}}.play-stop.review .play-stop-dot{border-style:double;border-width:4px}.play-stop.review.done .play-stop-dot{border-color:var(--accent)}.play-result-sparks{align-items:center;gap:6px;margin:2px 0 4px;font-family:Caveat,cursive;font-size:22px;display:inline-flex}.play-result-sparks svg{color:#e0a800;fill:#ffd861}.play-result-sparks a{color:var(--accent);font-size:18px}.play-pipe{width:100%;max-width:520px;height:auto;margin:8px auto 0;display:block;overflow:visible}.play-pipe-wall{fill:color-mix(in srgb, var(--play-pen,#2b4f93) 10%, transparent);stroke:var(--play-pen,#2b4f93);stroke-width:1.5px}.play-pipe-dot{fill:var(--play-pen,#2b4f93);animation-name:play-flow;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes play-flow{0%{cx:14px}to{cx:306px}}@media (prefers-reduced-motion:reduce){.play-pipe-dot{cx:160px;animation-duration:0s!important}}.play-lamp{color:var(--ink);justify-content:center;align-items:center;gap:10px;margin:8px 0 4px;font-family:Caveat,cursive;font-size:22px;display:flex}.play-lamp-bulb{border:2px solid var(--ink);background:0 0;border-radius:50%;width:22px;height:22px;transition:background .2s,box-shadow .2s;display:inline-block}.play-lamp.on .play-lamp-bulb{background:#ffd861;border-color:#e0a800;box-shadow:0 0 0 4px #ffd86159}.play-truth-live tr.now td{background:color-mix(in srgb, var(--play-pen,#2b4f93) 12%, transparent);font-weight:700}.play-switches{gap:10px;margin:6px 0 10px;display:flex}.play-switch{border:1.5px solid var(--ink);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:8px;flex:1;font-family:Caveat,cursive;font-size:22px;transition:background .15s,transform .15s}.play-switch:hover{transform:translateY(-1px)}.play-switch.on{background:var(--play-pen,#2b4f93);border-color:var(--play-pen,#2b4f93);color:#fff}.play-tabsbar{z-index:30;background:var(--bg);border-bottom:1px solid var(--border-strong);margin:-8px 0 24px;padding-top:8px;position:sticky;top:0}.play[data-view=page] .play-tabsbar{position:static}.play-tabsbar ul{gap:6px;margin:0;padding:0 0 0 6px;list-style:none;display:flex}.play-navtab{border:1px solid var(--border);background:color-mix(in srgb, var(--border) 30%, var(--bg));min-height:50px;color:var(--muted);font-family:var(--serif);white-space:nowrap;border-bottom:0;border-radius:10px 10px 0 0;justify-content:center;align-items:center;gap:9px;margin-bottom:-1px;padding:0 22px;font-size:19px;line-height:1;text-decoration:none;transition:color .15s,background .15s,transform .22s cubic-bezier(.3,1.4,.6,1);display:flex;position:relative}.play-navtab:hover{color:var(--ink);transform:translateY(-2px)}.play-navtab.on{color:var(--ink);background:var(--bg);border-color:var(--border-strong);box-shadow:inset 0 3px 0 var(--play-pen);transform:none}.play-navtab.on:after{content:"";background:var(--bg);height:2px;position:absolute;bottom:-1px;left:0;right:0}.play-navtab.on svg{color:var(--play-pen)}.play-navtab:focus-visible{outline:2px solid var(--accent);outline-offset:-5px}@media (width<=980px){.play-navtab{gap:7px;padding:0 14px;font-size:17px}}@media (width<=640px){.play-tabsbar{margin-bottom:18px}.play-tabsbar ul{gap:3px;padding:0}.play-tabsbar li{flex:1 1 0;min-width:0}.play-navtab{min-height:56px;font-family:var(--sans);border-radius:9px 9px 0 0;flex-direction:column;gap:4px;padding:6px 2px 5px;font-size:12px}.play-navtab:hover{transform:none}}.play-side section.play-collection{padding:6px 8px}.play-collection-row{color:inherit;border-radius:8px;align-items:center;gap:12px;padding:12px 30px 12px 10px;text-decoration:none;transition:background-color .18s;display:flex;position:relative}.play-collection-row+.play-collection-row{border-top:1px solid var(--border)}.play-collection-row:hover{background:var(--accent-soft)}.play-collection-row>:first-child{flex:none;justify-content:center;width:52px;transition:transform .32s cubic-bezier(.34,1.56,.64,1),rotate .32s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.play-collection-text{flex-direction:column;gap:2px;min-width:0;display:flex}.play-collection-row b{font-family:var(--serif);font-size:19px;font-weight:400;line-height:1.15}.play-collection-row .play-note{margin:0}.play-spark-icon{color:#e0a800;fill:#ffd861}.play-board-icon{color:var(--play-pen)}.play-stamp-mark.mini{border-color:var(--play-pen);background:var(--panel);opacity:1;width:22px;height:22px;box-shadow:inset 0 0 0 3px var(--panel);margin-left:-7px;padding:0}.play-stamp-mark.mini:first-child{margin-left:0}.play-stamp-mark.mini.empty{border-style:dashed;border-color:var(--border-strong)}.play-section{max-width:900px;margin:0 auto}.play-section h1{font-family:var(--serif);align-items:baseline;gap:12px;margin:0;font-size:38px;font-weight:400;line-height:1.1;display:flex}.play-section-how{color:var(--muted);margin:6px 0 20px}.play-section .play-board{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px}.play-section .play-board h2{font-family:var(--serif);margin:0;font-size:22px;font-weight:400}.play-badge-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.play-badge-list li{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:14px;padding:14px 16px;display:flex}.play-badge-list .play-stamp-mark{letter-spacing:.02em;flex:none;font-size:9.5px}.play-badge-list li:nth-child(2n) .play-stamp-mark{transform:rotate(5deg)}.play-badge-list li.earned .play-stamp-mark{border-color:var(--play-pen);color:var(--play-pen);opacity:1;box-shadow:inset 0 0 0 2px var(--panel), inset 0 0 0 3px var(--play-pen)}.play-badge-text{flex-direction:column;gap:2px;min-width:0;display:flex}.play-badge-text b{font-family:var(--serif);font-size:18px;font-weight:400}.play-badge-text span{color:var(--muted);font-size:13.5px}.play-badge-text .play-badge-state{font-family:Caveat,cursive;font-size:18px;line-height:1}.play-badge-list li.earned .play-badge-state{color:var(--play-pen)}.play-welcome{position:relative}.play-welcome-close{width:38px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px}.play-welcome-close:hover{background:var(--accent-soft);color:var(--ink)}.play-welcome-close:focus-visible{outline:2px solid var(--accent)}.play-welcome-actions{flex-wrap:wrap;gap:10px;display:flex}.play-chapter:not(.seen) .play-chapter-tab{transform:translate(-100%)}.play-chapter:not(.seen) .play-stop,.play-chapter:not(.seen) .play-rounds li{opacity:0}.play-chapter:not(.seen) .play-trail-reveal{stroke-dasharray:1;stroke-dashoffset:1px}.play-chapter.seen .play-trail-reveal{animation:.9s ease-out 80ms backwards play-draw}.play-chapter.seen .play-stop,.play-chapter.seen .play-rounds li{animation:.42s cubic-bezier(.34,1.56,.64,1) backwards play-put;animation-delay:calc(var(--i,0) * 80ms + .12s)}@keyframes play-draw{0%{stroke-dasharray:1;stroke-dashoffset:1px}to{stroke-dasharray:1;stroke-dashoffset:0}}@keyframes play-put{0%{opacity:0;translate:0 -8px}to{opacity:1;translate:0}}@keyframes play-breathe{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--play-pen) 30%, transparent);scale:1}50%{box-shadow:0 0 0 9px color-mix(in srgb, var(--play-pen) 0%, transparent);scale:1.05}}@keyframes play-breathe-soft{0%,to{translate:0}50%{translate:0 -3px}}.play-view[data-turn=forward]{transform-origin:0;animation:.38s cubic-bezier(.22,1,.36,1) backwards play-turn-in}.play-view[data-turn=back]{animation:.32s ease-out backwards play-back-in}.play-view[data-turn=tab]{animation:.22s ease-out backwards play-fade-in}@keyframes play-turn-in{0%{opacity:0;transform:perspective(1600px)rotateY(-8deg)translate(22px)}}@keyframes play-back-in{0%{opacity:0;transform:translate(-16px)}}@keyframes play-fade-in{0%{opacity:0}}.play-new-stamps .play-stamp-mark{animation:.5s cubic-bezier(.22,1,.36,1) 1.3s backwards play-stamp,.9s ease-out 1.45s backwards play-ink-blot}.play-new-stamps li:nth-child(2) .play-stamp-mark{animation-delay:1.6s,1.75s}.play-new-stamps li:nth-child(3) .play-stamp-mark{animation-delay:1.9s,2.05s}.play-new-stamps li:nth-child(n+4) .play-stamp-mark{animation-delay:2.2s,2.35s}.play-new-stamps .play-stamp-why{animation:.3s ease-out 1.6s backwards play-fade-in}@keyframes play-ink-blot{0%{box-shadow:inset 0 0 0 2px var(--panel), inset 0 0 0 3px var(--play-pen), 0 0 0 0 color-mix(in srgb, var(--play-pen) 35%, transparent)}to{box-shadow:inset 0 0 0 2px var(--panel), inset 0 0 0 3px var(--play-pen), 0 0 0 12px color-mix(in srgb, var(--play-pen) 0%, transparent)}}.play[data-motion=off] *,.play[data-motion=off] :before,.play[data-motion=off] :after{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){.play :after{transition:none!important;animation:none!important}}@media (width<=640px){.play:has(.play-level:not(.play-result)){padding-bottom:0}.play-level:not(.play-result){flex-direction:column;min-height:100dvh;display:flex}.play-level:not(.play-result)>.play-stage{flex-direction:column;flex:1 0 auto;align-items:stretch;gap:12px;display:flex}.play-level:not(.play-result) .play-card{flex-direction:column;flex:1 0 auto;display:flex}.play-work{margin-bottom:18px}.play-dock{bottom:var(--play-kb,0px);z-index:6;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--panel);border-top:1px solid var(--border-strong);border-radius:0 0 var(--radius) var(--radius);align-items:stretch;gap:10px;margin:auto -16px -18px;transition:background .2s;position:sticky;box-shadow:0 -12px 18px -16px #00000073}.play-level[data-keyboard] .play-dock{border-radius:0;padding-bottom:10px}.play-level[data-keyboard]{padding-bottom:var(--play-kb,0px)}.play-dock[data-phase=right]{background:color-mix(in srgb, var(--play-ok) 9%, var(--panel));border-top-color:color-mix(in srgb, var(--play-ok) 55%, var(--border))}.play-dock[data-phase=wrong],.play-dock[data-phase=given-up]{background:color-mix(in srgb, var(--play-red) 7%, var(--panel));border-top-color:color-mix(in srgb, var(--play-red) 45%, var(--border))}.play-dock .play-feedback{align-items:stretch;gap:10px}.play-dock .play-verdict{flex-flow:wrap;align-items:center;gap:6px 16px;padding-top:2px}.play-dock .play-stamp{border-width:2.5px;padding:2px 10px;font-size:17px}.play-dock .play-earned{font-size:23px}.play-dock .play-explain{font-size:15.5px;line-height:1.45}.play-dock .play-hint{align-items:flex-start;font-size:15px;line-height:1.4}.play-dock .play-hint svg{flex:none;margin-top:2px}.play-go{border-radius:10px;justify-content:center;gap:8px;width:100%;min-height:52px;font-size:18px}.play-qtop{grid-template-columns:auto minmax(0,1fr) auto;gap:10px 12px;margin-bottom:12px}.play-qtop h2{grid-area:1/2;font-size:19px}.play-qtop .play-kicker{font-size:16px}.play-qtop>.btn{min-height:44px;padding-inline:12px}.play-qtop .play-progress{grid-row:2}.play-qtop .play-progress li{flex:1 1 0;width:auto;height:8px}.play-qtop .play-clock{grid-area:2/1/auto/-1;justify-self:stretch}.play-qtop .play-clock-bar{flex:1;width:auto}.play-qnum{font-size:17px}.play-prompt{margin-bottom:14px}.play-card .play-figure{margin-bottom:12px}.play-choices{gap:10px}.play-choice{min-height:54px;padding:12px 14px;font-size:17px}.play-letter{width:30px;height:30px}.play-number{max-width:none}.play-number-label{font-size:14px}.play-number input{min-height:52px;padding:12px 14px;font-size:21px}.play-spot-help{margin:-4px 0 4px;font-size:15px}.play-sort-items{gap:10px}.play-sort-item{min-height:52px}.play-truth-cell{width:52px;height:44px;font-size:20px}.play-arrangement .play-tab{min-height:44px;padding:6px 16px;font-size:15px}.play-help,.play-meter-label,.play-meter-target,.play-knob-ends{font-size:14px}.play-knob input[type=range]{appearance:none;touch-action:pan-y;background:0 0;height:44px;margin:0}.play-knob input[type=range]::-webkit-slider-runnable-track{background:var(--border-strong);border-radius:3px;height:6px}.play-knob input[type=range]::-moz-range-track{background:var(--border-strong);border-radius:3px;height:6px}.play-knob input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:3px solid var(--panel);background:var(--accent);width:30px;height:30px;box-shadow:0 0 0 1px var(--accent);border-radius:50%;margin-top:-12px}.play-knob input[type=range]::-moz-range-thumb{border:3px solid var(--panel);background:var(--accent);width:24px;height:24px;box-shadow:0 0 0 1px var(--accent);border-radius:50%}.play-knob input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.play-coach{padding:10px 14px;font-size:19px}.play-result .play-card{padding:20px 16px 18px}.play-result h2{font-size:34px}.play-tally,.play-result-note{font-size:15px}.play-result .play-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.play-result .play-actions .btn{justify-content:center;min-height:48px;font-size:16px}.play-result .play-actions .btn.primary{border-radius:10px;grid-column:1/-1;min-height:52px;font-size:18px}.play-closed .btn{min-height:48px}}@media (width<=1000px){.play:has(.lab-page,.sheet-page) .play-tabsbar{position:static}}@media (width<=640px){.play-navtab{font-size:13px}.play-difficulty{font-size:13.5px!important}.play-stop-best,.play-chapter dt,.play-side dt{font-size:13px}.play-round-blurb,.play-note,.play-chapter-head p{font-size:14px}.play .dash-brand,.play .dash-version{align-items:center;min-height:44px;display:inline-flex}.play .dash-top-right>.btn,.play .dash-top-right .account-btn,.play .dash-top-right .theme-btn{justify-content:center;min-width:44px;min-height:44px}.play .dash-top-right .std-switch button{min-width:44px;min-height:44px}.play-upnext-btn,.play-strip .btn,.play-strip-sparks{min-height:44px}.play-strip-sparks{align-items:center;min-width:44px;display:inline-flex}}@media (hover:none){.play-figure.has-hotspots .play-hotspot:not(.picked,.right,.wrong){fill:#2f5d9e0d;stroke:color-mix(in srgb, var(--accent) 45%, transparent);stroke-dasharray:4 3}}.play-hotspot-field{fill:#0000}.play-pad{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.play-pad-key{border:1px solid var(--border-strong);background:var(--panel-2);min-width:52px;min-height:44px;color:var(--ink);font-family:var(--serif);cursor:pointer;border-radius:10px;padding:0 14px;font-size:21px;line-height:1}.play-pad-key:active:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.play-pad-key:disabled{opacity:.5}.play .dash-top-right{gap:10px}.play .play-score-chip,.play .dash-top-right>.btn,.play .dash-top-right .account-btn{box-sizing:border-box;height:34px}.play .play-score-chip{align-items:center;gap:.28em;padding:0 13px;line-height:1;display:inline-flex}.play .dash-top-right>.btn{padding-top:0;padding-bottom:0}.play .dash-top-right .std-switch{box-sizing:border-box;align-items:stretch;height:34px}.play .dash-top-right .std-switch button{height:auto;min-height:0}.play .dash-top-right .theme-btn{box-sizing:border-box;border:1px solid var(--border);background:var(--panel);border-radius:999px;width:34px;height:34px}@media (width<=640px){.play .play-score-chip,.play .dash-top-right>.btn,.play .dash-top-right .account-btn,.play .dash-top-right .std-switch,.play .dash-top-right .theme-btn{height:44px;min-height:44px}.play .dash-top-right .theme-btn{width:44px}}.play-rolling{text-align:right;font-variant-numeric:tabular-nums;transition:color .3s;display:inline-block}.play-rolling.rolling{color:var(--play-pen-ink)}.play-stop .play-star:nth-child(2){--s:1}.play-stop .play-star:nth-child(3){--s:2}.play-chapter.seen .play-stop .play-star.filled{animation:.7s ease-out play-twinkle;animation-delay:calc(var(--i,0) * 80ms + .56s + var(--s,0) * .11s)}@keyframes play-twinkle{0%,to{filter:none;scale:1}45%{filter:brightness(1.15) drop-shadow(0 0 4px var(--play-star));scale:1.4}}.play-upnext-btn{position:relative}.play-upnext-btn:after{content:"";border-radius:inherit;pointer-events:none;animation:2.6s ease-out 4s 3 play-call;position:absolute;inset:0}.play-upnext-btn svg{transition:translate .2s;animation:2.6s ease-in-out 4s 3 play-nudge}.play-upnext-btn:hover:after,.play-upnext-btn:hover svg,.play-upnext-btn:focus-visible:after,.play-upnext-btn:focus-visible svg{animation:none}.play-upnext-btn:hover svg{translate:3px}@keyframes play-call{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 45%, transparent)}60%,to{box-shadow:0 0 0 12px color-mix(in srgb, var(--accent) 0%, transparent)}}@keyframes play-nudge{0%,26%,to{translate:0}11%{translate:4px}}.play-collection-go{color:var(--muted);opacity:.5;transition:translate .2s,opacity .2s,color .2s;position:absolute;top:50%;right:10px;translate:0 -50%}.play-collection-row:hover .play-collection-go,.play-collection-row:focus-visible .play-collection-go{opacity:1;color:var(--accent);translate:3px -50%}.play-collection-row:hover .play-spark-icon{transform:scale(1.15)rotate(-14deg)}.play-collection-row:hover .play-board-icon{transform:translateY(-2px)rotate(-8deg)}.play-collection-marks>span{border-radius:50%;transition:translate .32s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.play-collection-marks>span+span{margin-left:-10px}.play-collection-row:hover .play-collection-marks>span{translate:calc((var(--m,0) - 1) * 3px) -2px}.ce-ink path,.ce-ink rect,.ce-ink circle{stroke-linecap:round;stroke-linejoin:round}.ce-line,.ce-accent,.ce-needle,.ce-spark,.ce-rays,.ce-wave,.ce-trace,.ce-grid,.ce-winding,.ce-minus,.ce-mark{fill:none;stroke-width:2.6px}.ce-line{stroke:var(--ink)}.ce-thin{stroke-width:1.8px}.ce-legs{stroke-width:3.2px}.ce-thick{stroke-width:3.4px}.ce-body{fill:var(--panel);stroke:var(--ink);stroke-width:2.6px}.ce-dark{fill:var(--ink)}.ce-accent{stroke:var(--tab-ink)}.ce-needle{stroke:var(--play-red);stroke-width:3.2px}.ce-mark,.ce-minus{stroke:var(--panel);stroke-width:2px}.ce-notch{fill:var(--panel)}.ce-wave{stroke:var(--tab);stroke-width:2.2px}.ce-screen{fill:#20262a;stroke:var(--ink);stroke-width:2.2px}.ce-grid{stroke:#a0f0be33;stroke-width:1px}.ce-trace{stroke:#8df0ad;stroke-width:2.4px}.ce-knob{fill:var(--tab);stroke:var(--ink);stroke-width:2.2px}.ce-glass-warm{fill:color-mix(in srgb, #ffd54a 42%, var(--panel));stroke:var(--ink);stroke-width:2.6px}.ce-glass-red{fill:color-mix(in srgb, #ff5a3c 46%, var(--panel));stroke:var(--ink);stroke-width:2.6px}.ce-rays{stroke:#e2462f}.ce-bolt{fill:#f7cf45;stroke:var(--ink);stroke-width:2.6px}.ce-spark{stroke:var(--ink);stroke-width:2.2px}.ce-resistor{fill:color-mix(in srgb, #e3c28c 70%, var(--panel));stroke:var(--ink);stroke-width:2.6px}.ce-band.brown{fill:#7a4a21}.ce-band.black{fill:#262626}.ce-band.red{fill:#c8412f}.ce-band.gold{fill:#c9a227}[data-theme=blackboard] .ce-band.black,[data-theme=slate] .ce-band.black{fill:#111;stroke:color-mix(in srgb, var(--ink) 40%, transparent);stroke-width:.8px}.ce-wrap,.ce-stripe{fill:color-mix(in srgb, var(--tab-ink) 70%, var(--panel))}.ce-ring{fill:color-mix(in srgb, #b8835a 40%, var(--panel));stroke:var(--ink);stroke-width:2.4px}.ce-winding{stroke:#b0522a;stroke-width:2.2px}.play-chapter.premium-locked .play-emblem-art{opacity:.8}.calc,.calc-dock{--calc-pen:#2b4f93;--calc-warn:#a07d12}[data-theme=blackboard] .calc,[data-theme=slate] .calc,[data-theme=blackboard] .calc-dock,[data-theme=slate] .calc-dock{--calc-pen:#8fb8e8;--calc-warn:#e0c060}.calc .dash-top{margin-bottom:22px}.calc-index{max-width:1180px;margin:0 auto}.calc-index-head .play-tagline{margin-bottom:12px}.calc-index h1{font-family:var(--serif);align-items:center;gap:12px;margin:0;font-size:42px;font-weight:400;line-height:1.1;display:flex}.calc-recent{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px;display:flex}.calc-recent-title{color:var(--play-pen);font-family:Caveat,cursive;font-size:21px}.calc-recent a{border:1px dashed var(--border-strong);max-width:100%;color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:13px;text-decoration:none;display:inline-flex}.calc-recent a b{white-space:nowrap;font-weight:600}.calc-recent a span{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);overflow:hidden}.calc-recent a:hover{border-color:var(--calc-pen)}.calc-card-art{border-bottom:1px dashed var(--border);background-color:var(--panel-2);background-image:linear-gradient(var(--play-rule) 1px, transparent 1px), linear-gradient(90deg, var(--play-rule) 1px, transparent 1px);background-size:16px 16px;place-items:center;height:150px;padding:10px 12px;display:grid;overflow:hidden}.calc-more-coming{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--panel);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;margin-top:34px;padding:16px 20px;display:flex}.calc-more-coming p{font-family:var(--serif);margin:0;font-size:19px}.calc-more-coming div{flex-wrap:wrap;gap:8px;display:flex}.calc-one{max-width:1180px;margin:0 auto}.calc-head{flex-wrap:wrap;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.calc-head>.btn{margin-top:4px}.calc-heading{flex-direction:column;flex:1;min-width:0;display:flex}.calc-heading h2{font-family:var(--serif);flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0;font-size:30px;font-weight:400;line-height:1.15;display:flex}.calc-why{color:var(--play-pen);margin:2px 0 0;font-family:Caveat,cursive;font-size:21px;line-height:1.2}.calc-try-switch{border:1px solid var(--border-strong);background:var(--panel);color:var(--ink);font:inherit;font-family:var(--serif);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:9px;margin-top:4px;padding:6px 13px 6px 8px;font-size:16px;display:inline-flex}.calc-try-switch:hover{border-color:var(--inst-line)}.calc-try-switch:focus-visible{outline:2px solid var(--inst-line);outline-offset:2px}.calc-switch-track{background:var(--border-strong);border-radius:999px;flex:none;width:32px;height:18px;transition:background .18s;position:relative}.calc-switch-knob{background:var(--panel);border-radius:50%;width:14px;height:14px;transition:transform .18s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.calc-try-switch.on .calc-switch-track{background:var(--inst-line)}.calc-try-switch.on .calc-switch-knob{transform:translate(14px)}.calc-layout{flex-direction:column;gap:14px;display:flex}.calc-page{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow);grid-template-columns:minmax(0,1fr) 340px;align-items:start;display:grid;overflow:hidden}.calc-sheet{background-image:repeating-linear-gradient(to bottom, transparent 0 31px, var(--play-rule) 31px 32px);flex-direction:column;align-self:stretch;gap:12px;min-width:0;padding:18px 22px 18px 46px;display:flex;position:relative}.calc-sheet:before{content:"";background:var(--play-margin);opacity:.8;width:2px;position:absolute;top:0;bottom:0;left:28px}.calc-art{justify-content:center;align-items:center;min-width:0;height:300px;display:flex}.calc-art .calc-stage,.calc-art .calc-stage .play-figure,.calc-art>.calc-svg{max-height:300px}.calc-art>.calc-svg,.calc-art>.inst-plot{max-width:560px}.calc-art.hidden-answer>*{filter:blur(7px);opacity:.6}.calc-answer{border-top:1px dashed var(--border-strong);min-height:96px;padding-top:12px}.calc-results{flex-wrap:wrap;align-items:flex-start;gap:10px 18px;min-width:0;display:flex}.calc-results>.inst-answer{flex:0 auto;max-width:100%}.calc-results>.inst-readouts{flex:14rem;padding-top:6px}.calc-extras{grid-template-columns:minmax(0,1fr);gap:12px;padding-top:8px;display:grid}.calc-curve{min-width:0}.calc-sketch{justify-content:center;min-width:0;display:flex}.calc-extras.hidden-answer>*,.calc-below.hidden-answer>*{filter:blur(6px);opacity:.55;pointer-events:none}.calc-side{--inst-label:7rem;border-left:1px solid var(--border);flex-direction:column;gap:9px;min-width:0;padding:18px 20px 18px 16px;display:flex;position:sticky;top:14px}.calc-stage{width:fit-content;max-width:100%;margin:0 auto;position:relative}.calc-stage .play-figure{margin:0;display:block}.calc-stage.failing .play-figure{opacity:.5}.calc-stage-ink{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.calc-tag text{font-family:var(--serif);fill:var(--calc-pen);paint-order:stroke;stroke:var(--panel);stroke-width:5px;stroke-linejoin:round}.calc-tag-lead{stroke:var(--calc-pen);stroke-width:1px;stroke-dasharray:2 2.5;opacity:.7}.calc-tag-dot{fill:var(--calc-pen)}.calc-tag.ok text,.calc-tag.ok .calc-tag-dot{fill:var(--play-ok)}.calc-tag.warn text,.calc-tag.warn .calc-tag-dot{fill:var(--calc-warn)}.calc-tag.bad text,.calc-tag.blame text,.calc-tag.bad .calc-tag-dot,.calc-tag.blame .calc-tag-dot{fill:var(--play-red)}.calc-tag.blame .calc-tag-lead{stroke:var(--play-red)}.calc-ring{fill:none;stroke:var(--play-red);stroke-width:2.4px;stroke-linecap:round}.calc-ask{align-items:baseline;gap:.26em;min-height:2.6rem;display:inline-flex}.calc-ask input{border:1.5px solid var(--inst-line);background:var(--panel);width:5.5rem;height:36px;color:var(--ink);font-family:var(--serif);font-variant-numeric:tabular-nums;border-radius:4px;padding:0 8px;font-size:1.35rem}.calc-ask input:focus{box-shadow:0 0 0 3px var(--inst-tint);outline:none}.calc-ask input[aria-invalid=true]{border-color:var(--inst-bad)}.calc-ask .inst-unit{font-size:1.25rem}.calc-ask-buttons{flex-wrap:wrap;gap:4px 6px;display:inline-flex}.calc-ask-buttons .btn{gap:4px;height:22px;min-height:0;padding:0 9px;font-size:12px}.calc-page .inst-answer-line{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;min-height:2.7em;max-height:2.7em;display:-webkit-box}.calc-link{font:inherit;color:var(--calc-pen);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;align-items:center;gap:4px;padding:0;text-decoration:underline;display:inline-flex}.inst-answer-line b{font-weight:600}.calc-problem{border-left:3px solid var(--play-red);color:var(--ink);background:var(--panel-2);border-radius:0 var(--radius) var(--radius) 0;margin:0;padding:6px 12px}.calc-fold{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);padding:10px 18px}.calc-fold>summary{cursor:pointer;color:var(--play-pen);font-family:Caveat,cursive;font-size:22px;list-style:none}.calc-fold>summary::-webkit-details-marker{display:none}.calc-fold>summary:before{content:"▸";width:16px;font-family:var(--serif);font-size:14px;transition:transform .15s;display:inline-block}.calc-fold[open]>summary:before{transform:rotate(90deg)}.calc-fold[open]>summary{margin-bottom:10px}.calc-rest{grid-template-columns:max-content minmax(0,1fr);gap:3px 16px;margin:0 0 12px;font-size:14px;display:grid}.calc-rest>div{display:contents}.calc-rest dt{color:var(--muted)}.calc-rest dd{font-family:var(--serif);font-variant-numeric:tabular-nums;margin:0;font-size:16px}.calc-rest>div.warn dd{color:var(--inst-warn)}.calc-rest>div.bad dd{color:var(--inst-bad)}.calc-rest-hint{font-family:var(--sans);color:var(--muted);font-size:13px}.calc-fold .play-formulas{grid-template-columns:minmax(0,auto) minmax(120px,1fr);margin:4px 0 12px}.calc-fold .play-formulas dt{min-width:0}.calc-fold .play-formula{max-width:100%;font-size:19px}.calc-picks{margin:0 0 12px}.calc-picks-title{color:var(--play-pen);margin-bottom:4px;font-family:Caveat,cursive;font-size:20px;display:block}.calc-picks .calc-rest{margin:0}.calc-notes{flex-direction:column;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.calc-notes .calc-note{border-left:3px solid var(--border-strong);color:var(--muted);padding-left:10px;font-size:14px;line-height:1.5}.calc-notes .calc-note.ok{border-left-color:var(--play-ok)}.calc-notes .calc-note.warn{border-left-color:var(--calc-warn)}.calc-notes .calc-note.bad{border-left-color:var(--play-red)}.calc-learn{color:var(--muted);margin:0 0 4px;font-size:14px}.calc-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.calc-said{color:var(--play-ok);font-family:Caveat,cursive;font-size:20px}.calc-locked{position:relative}.calc-locked .calc-blur{filter:blur(4px);opacity:.55;pointer-events:none;-webkit-user-select:none;user-select:none}.calc-lock-card{place-items:start center;padding:60px 20px 20px;display:grid;position:absolute;inset:0}.calc-lock-card>div{text-align:center;background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius);max-width:460px;box-shadow:var(--shadow);padding:20px 22px}.calc-lock-card h3{font-family:var(--serif);margin:6px 0 4px;font-size:24px;font-weight:400}.calc-lock-card p{color:var(--muted);margin:0 0 10px}.calc-lock-card .upsell{text-align:left}.calc-svg{width:100%;max-width:440px;height:auto;color:var(--ink);margin:0 auto;display:block}.calc-svg .axis{stroke:var(--border-strong);stroke-width:1.2px;fill:none}.calc-svg .trace{stroke:var(--ink);stroke-width:1.8px;fill:none;stroke-linejoin:round}.calc-svg .trace.blue{stroke:var(--inst-line,#2b4f93)}.calc-svg .dashed{stroke:var(--muted);stroke-width:1px;stroke-dasharray:4 3;fill:none}.calc-svg .dashed.red{stroke:var(--play-red)}.calc-svg .dim{stroke:var(--muted);stroke-width:1px}.calc-svg .dim.red{stroke:var(--play-red)}.calc-svg .dim.blue{stroke:var(--inst-line,#2b4f93)}.calc-svg text{fill:var(--muted);font-family:Caveat,cursive;font-size:15px}.calc-svg text.label{fill:var(--ink);font-size:16px}.calc-svg text.tick{font-family:var(--serif);font-size:11.5px}.calc-svg text.red,.calc-svg .label.red{fill:var(--play-red)}.calc-svg text.blue,.calc-svg .label.blue{fill:var(--inst-line,#2b4f93)}.calc-svg .board{fill:#cfd9c3;stroke:var(--border-strong)}.calc-svg .copper{fill:#d08a3e;stroke:#8a5a1e}.calc-svg .bulb{fill:var(--panel-2);stroke:var(--border-strong)}.calc-svg .fill-blue{fill:var(--inst-line,#2b4f93);opacity:.8}.calc-svg .fill-red{fill:var(--play-red);opacity:.8}.calc-svg .pointer{fill:var(--play-red)}[data-theme=blackboard] .calc-svg .board,[data-theme=slate] .calc-svg .board{fill:#3b4a3a}@media (width<=1280px){.calc-page{grid-template-columns:minmax(0,1fr) 312px}.calc-side{--inst-label:6.6rem;padding:16px 16px 16px 14px}.calc-sheet{padding:16px 18px 16px 44px}}@media (width<=980px){.calc-page{grid-template-columns:minmax(0,1fr)}.calc-side{border-left:0;border-top:1px solid var(--border);padding:16px 20px 18px;position:static}.calc-index h1{font-size:34px}}@media (width<=640px){.calc-head{gap:10px 12px}.calc-heading{flex:100%;order:3}.calc-heading h2{font-size:25px}.calc-try-switch{margin-left:auto}.calc-why{font-size:19px}.calc-sheet{padding:12px 12px 14px 26px}.calc-sheet:before{left:14px}.calc-art{height:220px}.calc-art .calc-stage,.calc-art .calc-stage .play-figure,.calc-art>.calc-svg{max-height:220px}.calc-side{--inst-label:6.6rem;padding:14px 12px 16px}.inst-answer-main .inst-figures{font-size:1.9rem}.calc-fold .play-formulas{grid-template-columns:1fr;gap:2px 0}.calc-fold .play-formulas dd{margin-bottom:8px}.calc-fold .play-formula{font-size:16px}.calc-index h1{font-size:30px}.calc-more-coming p{font-size:17px}}.calc-selected{color:var(--muted);border-radius:var(--radius);background:var(--inst-tint);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;font-size:13px;display:flex}.calc-selected b{font-family:var(--serif);color:var(--ink);font-weight:500}.calc-dock{--play-rule:#9db5d66b;--play-margin:#d24b3e;--play-red:#c8412f;--play-ok:#2e7d4f;--play-pen:#c8412f;z-index:60;background:var(--panel);min-width:300px;max-width:calc(100vw - 16px);min-height:300px;max-height:calc(100vh - 16px);color:var(--ink);border:1px solid var(--border-strong);border-radius:var(--radius);resize:both;flex-direction:column;font-size:14px;display:flex;position:fixed;overflow:hidden;box-shadow:0 12px 34px #00000038}[data-theme=blackboard] .calc-dock,[data-theme=slate] .calc-dock{--play-rule:#8fb8e824;--play-margin:#d9766a;--play-red:#f08a80;--play-ok:#7fd19a;--play-pen:#f08a80}.calc-dock-head{border-bottom:1px solid var(--border);background:var(--panel-2);cursor:move;-webkit-user-select:none;user-select:none;touch-action:none;align-items:center;gap:6px;padding:6px 8px 6px 10px;display:flex}.calc-dock-head .calc-dock-grip{color:var(--muted);display:inline-flex}.calc-dock-head select{min-width:0;max-width:70%;font:inherit;font-family:var(--serif);color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:0 auto;padding:3px 6px;font-size:17px}.calc-dock-head select:hover,.calc-dock-head select:focus{border-color:var(--border-strong);outline:none}.calc-dock-head .calc-dock-space{flex:1;align-self:stretch;min-width:16px}.calc-dock-head .icon-btn,.calc-dock-head button{flex:none}.calc-dock-top{background-color:var(--panel);background-image:repeating-linear-gradient(to bottom, transparent 0 23px, var(--play-rule) 23px 24px);border-bottom:1px solid var(--border);flex-direction:column;flex:none;gap:6px;padding:8px 12px 8px 30px;display:flex;position:relative}.calc-dock-top:before{content:"";background:var(--play-margin);opacity:.8;width:2px;position:absolute;top:0;bottom:0;left:16px}.calc-dock .calc-art{height:170px}.calc-dock .calc-art>.calc-svg,.calc-dock .calc-art>.inst-plot{width:auto;max-width:100%;max-height:170px}.calc-dock .calc-stage .play-figure{width:auto;max-height:170px}.calc-dock .calc-answer{min-height:0;padding-top:8px}.calc-dock .calc-results{gap:6px 12px}.calc-dock .calc-results>.inst-readouts{flex:9rem;padding-top:2px}.calc-dock .inst-readout{flex-basis:6.2rem;min-width:6.2rem;padding:2px 6px 2px 8px}.calc-dock .inst-readout .inst-readout-label{font-size:.72rem}.calc-dock .inst-readout .inst-figures{font-size:1.1rem}.calc-dock .calc-problem{padding:4px 10px;font-size:13px}.calc-dock-body{flex-direction:column;flex:1;gap:10px;min-height:0;padding:10px 12px 14px;display:flex;overflow:auto}.calc-dock .calc-side{--inst-label:6.4rem;border:0;gap:7px;padding:0;position:static}.calc-dock .calc-fold{padding:6px 12px}.calc-dock .calc-fold>summary{font-size:19px}.calc-dock .calc-fold .play-formulas{grid-template-columns:1fr;gap:2px 0}.calc-dock .calc-fold .play-formula{font-size:15px}.calc-dock .calc-fold .play-formulas dd{margin-bottom:6px;font-size:13px}.calc-dock .calc-rest{font-size:13px}.calc-dock .calc-rest dd{font-size:14px}.calc-dock-foot{border-top:1px solid var(--border);background:var(--panel-2);flex:none;align-items:center;gap:10px;padding:8px 12px;display:flex}@media (width<=640px){.calc-dock{border-radius:var(--radius) var(--radius) 0 0;resize:none;max-width:100vw;width:100vw!important;height:min(78vh,600px)!important;inset:auto 0 0!important}}.calc-dock-locked-actions{flex-wrap:wrap;gap:8px;display:flex}.play{--lab-pen:var(--accent);--lab-red:#c8412f;--lab-ok:#2e7d4f;--lab-warn:#a86a12;--lab-rule:#9db5d66b;--lab-margin:#d24b3e;--lab-hl:#ffd63380;--lab-screen:#fdfcf8;--lab-grid:#6e91c46b;--lab-note:#fbeea0;--lab-hand:"Caveat", "CMU Serif", serif}[data-theme=blackboard] .play,[data-theme=slate] .play{--lab-red:#f08a80;--lab-ok:#7fd19a;--lab-warn:#e6b450;--lab-rule:#8fb8e824;--lab-margin:#d9766a;--lab-hl:#ffdd503d;--lab-screen:#00000038;--lab-grid:#8fb8e83d}.lab-page,.lab-list-page{max-width:1180px;margin:0 auto}.lab-top{align-items:center;gap:14px;margin:0 0 16px;display:flex}.lab-top h1{min-width:0;font-family:var(--serif);flex:1;margin:0;font-size:34px;font-weight:400;line-height:1.1}.lab-paper{background-color:var(--panel);background-image:repeating-linear-gradient(to bottom, transparent 0 31px, var(--lab-rule) 31px 32px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px 30px 30px 66px;position:relative}.lab-paper:before{content:"";background:var(--lab-margin);opacity:.8;width:2px;position:absolute;top:0;bottom:0;left:46px}.lab-paper{--lab-accent:var(--inst-accent,#d9d2c0);--lab-accent-ink:color-mix(in srgb, var(--lab-accent) var(--tab-mix,100%), var(--panel))}.lab-page>.lab-top{margin-bottom:40px}.lab-tab{border:1px solid var(--border);background:var(--lab-accent-ink);color:var(--tab-text,#2a2620);font-family:var(--lab-hand);white-space:nowrap;border-bottom:0;border-radius:8px 8px 0 0;padding:3px 16px 1px;font-size:22px;line-height:1.15;position:absolute;bottom:100%;left:62px}.lab-bench{grid-template-columns:minmax(0,1fr) 312px;align-items:start;column-gap:36px;display:grid}.lab-stage{min-width:0}.lab-side{flex-direction:column;gap:18px;display:flex;position:sticky;top:16px}.lab-scene{flex-wrap:wrap;justify-content:center;align-items:center;gap:18px 28px;min-height:220px;display:flex}.lab-figure{max-width:100%;height:auto;display:block;overflow:visible}.lab-status{min-height:2.3em;font-family:var(--lab-hand);color:var(--lab-pen);text-align:center;text-wrap:balance;justify-content:center;align-items:center;margin:10px 0 0;font-size:25px;line-height:1.15;display:flex}.lab-status.ok{color:var(--lab-ok)}.lab-status.warn{color:var(--lab-warn)}.lab-status.bad{color:var(--lab-red)}.lab-controls{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px 14px;display:grid}.lab-controls.three{grid-template-columns:repeat(3,minmax(0,1fr))}.lab-choice.wide,.lab-controls>.lab-next,.lab-controls>.lab-run{grid-column:1/-1}.lab-controls>.lab-run{justify-self:center;min-width:180px}.lab-meters .inst-cells{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-flow{fill:none;stroke:var(--lab-pen);stroke-width:5px;stroke-linecap:round;stroke-dasharray:0 18;transition:opacity .3s}.lab-flow.hot{stroke:var(--lab-red)}.lab-net{fill:none;stroke:var(--lab-red);stroke-width:7px;stroke-linecap:round;stroke-linejoin:round;opacity:.3}.lab-hl{fill:var(--lab-hl)}.lab-glow{filter:blur(4px);transition:opacity .2s}.lab-pulse{fill:none;stroke:var(--lab-red);stroke-width:3px;transform-box:fill-box;transform-origin:50%;pointer-events:none;animation:1.1s ease-out forwards lab-pulse}@keyframes lab-pulse{0%{opacity:.95;transform:scale(.55)}to{opacity:0;transform:scale(1.7)}}.lab-burnt circle{fill:#261c1499;filter:blur(3px)}.lab-burnt path{fill:none;stroke:#17110c;stroke-width:1.6px;stroke-linecap:round}.lab-tag{font-family:var(--serif);fill:var(--lab-pen);paint-order:stroke;stroke:var(--panel);stroke-width:4px;stroke-linejoin:round;font-size:15px}.lab-tag.focus,.lab-tag.bad{fill:var(--lab-red)}.lab-tag.warn{fill:var(--lab-warn)}.lab-tag.ok{fill:var(--lab-ok)}.lab-pad{fill:#0000;cursor:pointer}.lab-pad.pick:hover,.lab-pad.pick:focus-visible{fill:var(--lab-hl);outline:none}.lab-field{min-width:0}.lab-field.off{opacity:.45}.lab-choice .inst-choice{gap:5px;display:flex}.lab-choice .inst-choice-option{flex:1 1 0;justify-content:center;min-width:0}.lab-led-dot{border-radius:50%;width:11px;height:11px;box-shadow:inset 0 0 0 1px #00000040}:is(.lab-choice .inst-choice-option:has(>.lab-led-dot),.lab-choice .inst-choice-option:has(>.lab-gate)){align-items:center;gap:4px;padding-left:2px;padding-right:2px;display:inline-flex}.lab-gate{flex-direction:column;align-items:center;gap:1px;font-size:13px;display:inline-flex}.lab-gate .play-figure{margin:0}.lab-choice .inst-choice-option:has(>.lab-gate){min-height:52px}.lab-scope{flex:330px;max-width:460px;margin:0}.lab-scopes{flex-direction:column;flex:330px;gap:12px;max-width:460px;display:flex}.lab-scopes>.lab-scope{flex:none;max-width:none}.lab-scope svg{width:100%;height:auto;display:block}.lab-scope-screen{fill:var(--lab-screen);stroke:var(--ink);stroke-width:1.6px}.lab-scope-grid{stroke:var(--lab-grid);stroke-width:1px;stroke-dasharray:1.5 3.5}.lab-scope-grid.axis{stroke-dasharray:none}.lab-scope-trace{fill:none;stroke-width:2.8px;stroke-linejoin:round;stroke-linecap:round}.lab-scope-trace.ch1{stroke:var(--lab-pen)}.lab-scope-trace.ch2{stroke:var(--lab-red)}.lab-scope-trace.ch3{stroke:var(--muted);stroke-width:2px}.lab-scope-trace.dashed{stroke-dasharray:7 5}[data-theme=blackboard] .lab-scope-trace,[data-theme=slate] .lab-scope-trace{filter:drop-shadow(0 0 2.5px)}.lab-scope-trace.ch1{color:var(--lab-pen)}.lab-scope-trace.ch2{color:var(--lab-red)}.lab-scope-cursor{stroke:var(--muted);stroke-width:1.3px;stroke-dasharray:5 4}.lab-scope-trace.faint{stroke-width:1.5px;stroke-dasharray:2 4;filter:none}.lab-scope-mark{font-family:var(--lab-hand);fill:var(--muted);font-size:19px}.lab-bode-freq{font-family:var(--serif);fill:var(--muted);font-size:14px}.lab-scope-zero{fill:var(--lab-pen)}.lab-scope-zero.ch2{fill:var(--lab-red)}.lab-scope-zero.ch3{fill:var(--muted)}.lab-scope-band{fill:var(--lab-pen);opacity:.09}.lab-scope-peak{fill:var(--panel);stroke:var(--lab-pen);stroke-width:2.4px}.lab-scope-dot{fill:var(--lab-pen);stroke:var(--panel);stroke-width:2.5px}.lab-scope-scales{flex-wrap:wrap;align-items:baseline;gap:2px 16px;padding:6px 4px 0;display:flex}.lab-scope-ch,.lab-scope-time{font-family:var(--serif);white-space:nowrap;align-items:center;gap:6px;font-size:15px;display:inline-flex}.lab-scope-ch i{border-top:2.8px solid var(--lab-pen);width:18px}.lab-scope-ch.ch2 i{border-top-color:var(--lab-red)}.lab-scope-ch.ch3 i{border-top-color:var(--muted)}.lab-scope-ch i.dashed{border-top-style:dashed}.lab-scope-ch i.faint{border-top-style:dotted;border-top-width:1.5px}.lab-scope-ch small,.lab-scope-time{color:var(--muted);font-size:13.5px}.lab-scope-time{margin-left:auto}.lab-logic{flex-wrap:wrap;justify-content:center;align-items:center;gap:18px 36px;display:flex}.lab-truth{border-collapse:collapse;font-family:var(--serif);text-align:center;font-size:18px}.lab-truth th,.lab-truth td{border-bottom:1px solid var(--lab-rule);width:44px;padding:3px 0}.lab-truth th{color:var(--muted);border-bottom:1.5px solid var(--ink);font-weight:400}.lab-truth .out{border-left:1.5px solid var(--ink);color:var(--lab-red)}.lab-truth tr.now td{background:var(--lab-hl)}.lab-goals{padding-top:4px}.lab-goals h3{font-family:var(--lab-hand);color:var(--lab-red);justify-content:space-between;align-items:baseline;margin:0 0 4px;font-size:30px;font-weight:400;line-height:1.1;display:flex}.lab-goals-count{color:var(--muted);font-size:24px}.lab-goals ul{margin:0;padding:0;list-style:none}.lab-goal{grid-template-columns:30px minmax(0,1fr);align-items:start;column-gap:10px;padding:9px 0 10px;display:grid}.lab-check{grid-row:span 2;width:28px;height:28px;overflow:visible}.lab-check path:first-child{fill:var(--panel);stroke:var(--ink);stroke-width:1.6px}.lab-goal.met:not(.done) .lab-check path:first-child{stroke:var(--lab-red)}.lab-tick{fill:none;stroke:var(--lab-red);stroke-width:3.3px;stroke-linecap:round;stroke-linejoin:round}.lab-tick.draw{stroke-dasharray:1;stroke-dashoffset:1px;animation:.45s ease-out forwards lab-draw}@keyframes lab-draw{to{stroke-dashoffset:0}}.lab-goal-text{font-family:var(--serif);padding-top:3px;font-size:17.5px;line-height:1.3}.lab-goal.done[tabindex]{cursor:pointer}.lab-goal.shown .lab-goal-text{text-decoration:underline;-webkit-text-decoration-color:var(--lab-accent-ink);text-decoration-color:var(--lab-accent-ink);text-underline-offset:3px;text-decoration-thickness:3px}.lab-goal:focus-visible{outline:2px solid var(--lab-pen);outline-offset:2px}.lab-insight{border-top:1.5px dashed var(--border-strong);min-height:4.48em;font-family:var(--lab-hand);color:var(--lab-pen);margin:6px 0 0;padding:8px 0 0 40px;font-size:20px;line-height:1.12}.lab-insight:not(.blank){animation:.4s both lab-fade}.lab-insight.blank{color:var(--muted)}@keyframes lab-fade{0%{opacity:0;transform:translateY(-3px)}}.lab-cleared{flex-direction:column;align-items:flex-start;gap:12px;margin-top:12px;display:flex}.lab-stamp{border:2.5px solid var(--lab-red);color:var(--lab-red);font-family:var(--serif);letter-spacing:.03em;border-radius:4px;padding:2px 12px;font-size:21px;display:inline-block;transform:rotate(-4deg)}.lab-cleared.fresh .lab-stamp{animation:.42s cubic-bezier(.2,1.5,.4,1) both lab-stamp}@keyframes lab-stamp{0%{opacity:0;transform:rotate(-12deg)scale(1.8)}}.lab-again{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.lab-locked{flex-direction:column;align-items:center;gap:0;padding:6px 0 10px;display:flex}.lab-locked-preview{pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:6px;display:flex}.lab-locked-preview .lab-figure,.lab-locked-preview .sheet-ladder,.lab-locked-preview .sheet-gates,.lab-locked-preview .sheet-bands{filter:blur(1.3px);opacity:.8}.lab-locked-preview ul{font-family:var(--serif);text-align:center;filter:blur(3.5px);opacity:.5;margin:0;padding:0;font-size:18px;line-height:1.9;list-style:none}.lab-locked-card{background:var(--panel);border:1.5px solid var(--ink);max-width:400px;box-shadow:var(--shadow);text-align:center;border-radius:5px;margin-top:-64px;padding:22px 26px 24px;position:relative}.lab-locked-crown{color:var(--lab-red)}.lab-locked-card h2{font-family:var(--serif);margin:4px 0 6px;font-size:27px;font-weight:400}.lab-locked-card p{color:var(--muted);margin:0 0 16px;font-size:15px}.lab-locked-card .upsell{text-align:left}.lab-more{background:var(--lab-note);color:#262626;max-width:520px;font-family:var(--lab-hand);margin:40px auto 8px;padding:18px 24px 16px;font-size:27px;line-height:1.15;transform:rotate(-1deg);box-shadow:0 1px 2px #0000001f,0 10px 22px #0000001a}.lab-more p{margin:0}.lab-more .lab-more-links{flex-wrap:wrap;gap:6px 22px;margin-top:8px;font-size:24px;display:flex}.lab-more a{color:#2b4f93}.lab-asfree{text-align:center;margin:18px 0 0}.lab-asfree button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}@media (width<=980px){.lab-bench{grid-template-columns:minmax(0,1fr)}.lab-side{border-top:1.5px dashed var(--border-strong);margin-top:16px;padding-top:16px;position:static}.lab-controls,.lab-controls.three{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px 18px}.lab-meters .inst-cells{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.lab-goals{border-top:1.5px dashed var(--border-strong);padding-top:12px}}@media (width<=640px){.lab-top h1{font-size:25px}.lab-paper{padding:18px 14px 22px 30px}.lab-paper:before{left:18px}.lab-status{font-size:22px}.lab-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.lab-controls.three{grid-template-columns:repeat(3,minmax(0,1fr))}.lab-meters .inst-cells{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-more{font-size:24px}}@media (prefers-reduced-motion:reduce){.lab-pulse,.lab-tick.draw,.lab-insight,.lab-cleared.fresh .lab-stamp{animation:none}.lab-tick.draw{stroke-dashoffset:0}.lab-pulse{opacity:0}}.lab-next{display:none}@media (width<=640px){.lab-paper{padding-left:26px}.lab-paper:before{left:15px}.lab-top{gap:10px}.lab-top .btn{min-height:44px}.lab-stage,.lab-side{display:contents}.lab-bench{flex-direction:column;align-items:stretch;display:flex}.lab-scene{min-height:0}.lab-meters{margin-top:16px}.lab-goals{margin-top:18px}.lab-choice .inst-choice-option{min-height:44px}.lab-controls[data-pinned]{z-index:4;padding:10px 14px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-strong);background:var(--panel);order:1;margin:16px -14px 0 -26px;position:sticky;bottom:0;box-shadow:0 -12px 18px -16px #00000073}.lab-controls .lab-next{font-family:var(--serif);align-items:baseline;gap:10px;margin:0;font-size:16px;line-height:1.3;display:flex}.lab-next-count{font-family:var(--lab-hand);color:var(--lab-red);flex:none;font-size:20px}.lab-goal-text{font-size:16.5px}.lab-goals h3{font-size:27px}}.play-stamp-art{transform-origin:50%;font-size:22px;line-height:0;animation:.42s cubic-bezier(.22,1,.36,1) both play-stamp;display:inline-block;position:relative;transform:rotate(-6deg)}.play-stamp-art svg{display:block;overflow:visible}.play-flash .play-stamp-art{font-size:38px}.play-stamp-word{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.play-stamp-art{animation:none}}@media (width<=640px){.play-dock .play-stamp-art{font-size:17px}}.sheet-page{max-width:1180px;margin:0 auto}.sheet-paper{padding-top:22px}.sheet-analogy{max-width:780px;font-family:var(--lab-hand);color:var(--lab-pen);margin:0 0 18px;font-size:29px;line-height:1.12}.sheet-columns{grid-template-columns:minmax(0,620px) minmax(0,1fr);align-items:start;gap:0 44px;display:grid}.sheet-text{min-width:0}.sheet-section{margin:0 0 26px}.sheet-section h2{font-family:var(--serif);margin:0 0 8px;font-size:25px;font-weight:400;line-height:1.2}.sheet-section p{font-family:var(--serif);max-width:64ch;margin:6px 0;font-size:17px;line-height:1.55}.sheet-bullets{font-family:var(--serif);margin:6px 0;padding-left:20px;font-size:17px;line-height:1.5}.sheet-bullets li{margin:3px 0}.sheet-bullets li::marker{color:var(--lab-red)}.sheet-formulas{margin:4px 0 10px}.sheet-formulas>div{grid-template-columns:minmax(150px,auto) minmax(0,1fr);align-items:center;gap:4px 22px;padding:4px 0;display:grid}.sheet-formulas dt{color:var(--ink);margin:0;font-size:21px}.sheet-formulas dd{font-family:var(--serif);color:var(--muted);margin:0;font-size:16px;line-height:1.35}.sheet-formulas .play-formula{max-width:100%;display:block;overflow:visible}.play-formula.has-terms .cn-term{fill:var(--lab-pen);cursor:pointer;transition:fill .15s}.play-formula.has-terms .cn-term.on,.play-formula.has-terms .cn-term:hover{fill:var(--lab-red)}.sheet-columns>.sheet-text{grid-area:1/1}.sheet-aside{flex-direction:column;grid-area:1/2;align-items:center;gap:8px;min-height:200px;display:flex;position:sticky;top:16px}.sheet-aside-figure{place-items:center;width:100%;animation:.35s both lab-fade;display:grid}.sheet-aside .lab-figure{width:auto;max-width:100%;max-height:300px}.sheet-caption{max-width:360px;min-height:2.3em;font-family:var(--lab-hand);color:var(--lab-pen);text-align:center;margin:0;font-size:23px;line-height:1.12}.sheet-ladder{width:100%;max-width:460px;height:auto;display:block}.sheet-ladder.small{max-width:300px}.sheet-ladder-rail,.sheet-ladder-tick{stroke:var(--ink);stroke-width:1.6px}.sheet-ladder-hop{fill:none;stroke:var(--lab-pen);stroke-width:1.5px;stroke-dasharray:3 3}.sheet-ladder-p{font-family:var(--serif);fill:var(--ink);font-size:24px}.unit .sheet-ladder-p,.unit .sheet-ladder-tick{fill:var(--lab-red);stroke:var(--lab-red)}.sheet-ladder-pow{font-family:var(--serif);fill:var(--muted);font-size:13px}.sheet-ladder-pow tspan{font-size:10px}.sheet-ladder-note{font-family:var(--lab-hand);fill:var(--lab-pen);font-size:22px}.sheet-gates{grid-template-columns:repeat(3,auto);justify-content:center;gap:12px 26px;display:grid}.sheet-gates figure{flex-direction:column;align-items:center;margin:0;display:flex}.sheet-gates .play-figure{margin:0}.sheet-gates figcaption{font-family:var(--serif);flex-direction:column;align-items:center;font-size:15px;line-height:1.25;display:flex}.sheet-gates figcaption b{font-weight:400}.sheet-gates figcaption span{color:var(--lab-red);letter-spacing:.08em}.sheet-gates.small{gap:4px 14px}.sheet-gates.small figcaption{font-size:12px}.sheet-bands{font-family:var(--serif);flex-direction:column;align-items:center;gap:2px;font-size:17px;display:flex}.sheet-bands svg{max-width:100%;height:auto}.sheet-mistakes h2{color:var(--lab-red)}.sheet-mistakes ul{margin:0;padding:0;list-style:none}.sheet-mistakes li{font-family:var(--serif);grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;margin:8px 0;font-size:17px;line-height:1.45;display:grid}.sheet-mistakes svg{width:20px;height:20px;margin-top:3px}.sheet-mistakes path{fill:none;stroke:var(--lab-red);stroke-width:2.6px;stroke-linecap:round}.sheet-practise{margin:8px 0 0}@media (width<=1000px){.sheet-columns{flex-direction:column;align-items:stretch;display:flex}.sheet-aside{z-index:3;background:var(--panel);border-bottom:1px solid var(--border-strong);gap:2px;min-height:0;margin:0 -30px 14px -66px;padding:8px 30px 6px 66px;top:0;box-shadow:0 12px 16px -16px #0006}.sheet-aside .lab-figure,.sheet-aside .sheet-ladder,.sheet-aside .sheet-bands svg{width:auto;max-width:100%;max-height:min(26vh,210px)}.sheet-aside .sheet-gates{gap:2px 14px}.sheet-aside .sheet-gates .play-figure{width:auto;max-height:7vh}.sheet-caption{min-height:2.24em;font-size:20px}}@media (width<=640px){.sheet-aside{margin:0 -14px 12px -26px;padding:6px 14px 4px 26px}.sheet-analogy{font-size:24px}.sheet-section h2{font-size:22px}.sheet-formulas>div{grid-template-columns:minmax(0,1fr);gap:0;padding:6px 0}.sheet-section p,.sheet-bullets,.sheet-mistakes li{font-size:16px}.sheet-gates{gap:8px 14px}}.shop-looks{flex-direction:column;gap:22px;display:flex}.shop-group h4{font-family:var(--serif);margin:0;font-size:19px;font-weight:600}.shop-group>p{color:var(--muted);margin:2px 0 10px;font-size:13.5px}.shop-stamps{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:22px;display:grid}.shop-editor{border:1px dashed var(--border-strong);color:var(--muted);border-radius:6px;align-items:center;gap:8px;margin:0;padding:8px 12px;font-size:13.5px;display:flex}.shop-editor svg{color:var(--accent);flex:none}@media (width<=760px){.shop-stamps{grid-template-columns:minmax(0,1fr)}}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(./ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(./ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(./ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(./ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(./ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(./ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(./ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(./ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(./ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(./ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(./ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(./ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:CMU Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/cmu-serif-500-roman.woff2)format("woff2")}@font-face{font-family:CMU Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/cmu-serif-500-italic.woff2)format("woff2")}@font-face{font-family:CMU Serif;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/cmu-serif-700-roman.woff2)format("woff2")}@font-face{font-family:Caveat;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/caveat-latin-500-normal.woff2)format("woff2")}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/caveat-latin-700-normal.woff2)format("woff2")}@font-face{font-family:CMU Typewriter Text;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/cmu-typewriter-text-500-roman.woff2)format("woff2")}:root{--serif:"CMU Serif", "Latin Modern Roman", Georgia, serif;--sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"CMU Typewriter Text", ui-monospace, "SFMono-Regular", Menlo, monospace;--bg:#efece4;--panel:#f8f6f0;--panel-2:#f2efe7;--border:#d8d2c4;--border-strong:#b9b2a2;--ink:#262626;--muted:#6a655a;--accent:#2f5d9e;--accent-ink:#fff;--accent-soft:#2f5d9e1f;--danger:#a33a2f;--warning-bg:#f8e9d8;--shadow:0 1px 2px #28201414, 0 6px 18px #28201414;--hover:#2f5d9e14;--radius:6px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=whiteboard]{--bg:#f3f5f7;--panel:#fff;--panel-2:#f6f7f9;--border:#dfe3e8;--border-strong:#c2c8d0;--ink:#1d1f22;--muted:#626b78;--accent:#2563b8;--accent-ink:#fff;--accent-soft:#2563b81a;--warning-bg:#fdf0dd;--hover:#2563b812;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=blackboard]{--bg:#171d1a;--panel:#1f2723;--panel-2:#242e29;--border:#33403a;--border-strong:#4a5a52;--ink:#e9e6dc;--muted:#9ea69f;--accent:#8fb8e8;--accent-ink:#10202e;--accent-soft:#8fb8e829;--danger:#f08a80;--warning-bg:#3a2f22;--shadow:0 1px 2px #0000004d, 0 6px 18px #00000059;--hover:#8fb8e81a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=slate]{--bg:#0f1317;--panel:#161b20;--panel-2:#1b2128;--border:#2a333c;--border-strong:#3d4955;--ink:#f1efe8;--muted:#9aa3ab;--accent:#9cc6f0;--accent-ink:#0e1a26;--accent-soft:#9cc6f029;--danger:#ff9b8f;--warning-bg:#33291f;--shadow:0 1px 2px #0006, 0 6px 18px #00000073;--hover:#9cc6f01a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.45}a{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{background:var(--panel);border:1px solid var(--border);border-radius:4px;min-width:0;padding:4px 7px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}@media (pointer:fine){input.scrub:not(:focus):not(:disabled){cursor:ew-resize}}input[type=color]{cursor:pointer;border-radius:4px;width:28px;height:24px;padding:0}.mono{font-family:var(--mono);font-size:.92em}.muted{color:var(--muted)}.small{font-size:13px}.pad{padding:0 12px}.warning{background:var(--warning-bg);border-radius:4px;padding:6px 10px}.logo{font-family:var(--serif);font-variant:small-caps;letter-spacing:.04em;font-weight:700}.logo.big{margin:0;font-size:36px}.btn{border:1px solid var(--border-strong);background:var(--panel);border-radius:var(--radius);cursor:pointer;color:var(--ink);white-space:nowrap;align-items:center;gap:6px;padding:5px 12px;text-decoration:none;display:inline-flex}.btn:hover{background:var(--hover)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{filter:brightness(1.08)}.btn.danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.btn.danger-solid:hover{filter:brightness(1.08)}.btn:disabled{opacity:.5;cursor:default}.icon-btn{border-radius:var(--radius);cursor:pointer;width:30px;height:30px;color:var(--ink);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-size:20px;line-height:1;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--hover);border-color:var(--border)}.icon-btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn.danger:hover{color:var(--danger)}.link{cursor:pointer;color:inherit;background:0 0;border:none;padding:0}.link.accent{color:var(--accent);font:inherit;text-decoration:underline}.kbd{border:1px solid var(--border-strong);background:var(--panel);min-width:20px;font-family:var(--mono);text-align:center;border-bottom-width:2px;border-radius:4px;margin:1px 2px;padding:0 5px;font-size:12px;line-height:18px;display:inline-block}button.kbd{cursor:pointer}.kbd.removable:hover{border-color:var(--danger);color:var(--danger);text-decoration:line-through}.kbd.add{color:var(--muted);border-style:dashed}.kbd.capturing{border-color:var(--accent);color:var(--accent)}.editor{flex-direction:column;height:100vh;display:flex;overflow:hidden}.topbar{background:var(--panel);border-bottom:1px solid var(--border);align-items:center;gap:6px;min-height:44px;padding:5px 10px;display:flex}.topbar .brand{color:var(--ink);align-items:center;gap:6px;padding-right:6px;font-size:18px;text-decoration:none;display:inline-flex}.topbar .project-name{text-overflow:ellipsis;background:0 0;border-color:#0000;flex:0 200px;width:200px;min-width:80px;font-size:16px}.topbar .project-name:hover{border-color:var(--border)}.topbar .spacer{flex:1}.topbar .divider{background:var(--border);width:1px;height:22px;margin:0 4px}.breadcrumbs{white-space:nowrap;flex:0 auto;align-items:center;gap:2px;min-width:72px;font-size:14px;display:flex;overflow:hidden}.breadcrumbs button{cursor:pointer;color:var(--muted);text-overflow:ellipsis;background:0 0;border:none;border-radius:4px;min-width:0;padding:2px 5px;font-style:italic;overflow:hidden}.breadcrumbs .crumb{flex:0 3 auto;align-items:center;min-width:0;display:inline-flex}.breadcrumbs .crumb:last-child{flex-shrink:0;max-width:220px}.breadcrumbs .sep{flex-shrink:0}.breadcrumbs button:hover{background:var(--hover)}.breadcrumbs button.current{color:var(--ink);font-style:normal;font-weight:700}.breadcrumbs .sep{color:var(--muted)}.segmented{border:1px solid var(--border-strong);border-radius:var(--radius);display:inline-flex;overflow:hidden}.segmented button{background:var(--panel);cursor:pointer;font-variant:small-caps;border:none;padding:3px 10px;font-size:13px}.segmented button+button{border-left:1px solid var(--border-strong)}.segmented button.active{background:var(--accent);color:var(--accent-ink)}.editor-main{flex:1;min-height:0;display:flex}.tool-rail{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;align-items:center;width:58px;padding:6px 4px 8px;display:flex}.tool-btn{border-radius:var(--radius);cursor:pointer;width:36px;height:36px;color:var(--ink);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:flex}.tool-btn:hover{background:var(--hover)}.tool-btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.rail-group{flex-direction:column;align-items:center;gap:3px;width:100%;min-height:0;display:flex}.rail-group+.rail-group{border-top:1px solid var(--border);margin-top:7px;padding-top:6px}.rail-label{letter-spacing:.05em;color:var(--muted);white-space:nowrap;-webkit-user-select:none;user-select:none;flex-direction:column;flex-shrink:0;align-items:center;margin-bottom:1px;font-size:10px;font-variant-caps:all-small-caps;font-weight:600;line-height:1.15;display:flex}.insert-btn{position:relative}.insert-btn .insert-caret{color:var(--muted);position:absolute;bottom:1px;right:1px}.insert-btn.open{background:var(--hover)}.menu.insert-list{z-index:120;min-width:212px;position:fixed;right:auto}.insert-item .menu-label{flex:1}.insert-item .kbd{color:var(--muted)}.menu>.insert-item.active{color:var(--accent);background:var(--accent-soft)}.left-panel,.right-panel{background:var(--panel);flex-direction:column;flex-shrink:0;width:272px;min-height:0;display:flex}.right-panel{border-left:1px solid var(--border);overflow-y:auto}.tabs{border-bottom:1px solid var(--border);display:flex;overflow:hidden}.tabs button{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;min-width:0;color:var(--muted);font-variant:small-caps;letter-spacing:.02em;background:0 0;border:none;border-bottom:2px solid #0000;flex:auto;padding:8px 3px;font-size:13.5px;overflow:hidden}.tabs button.active{color:var(--ink);border-bottom-color:var(--ink)}.canvas-area{flex:1;min-width:0;position:relative}.canvas-wrap{position:absolute;inset:0;overflow:hidden}.canvas{touch-action:none;-webkit-user-select:none;user-select:none;display:block;position:relative}.trail-fx{pointer-events:none;z-index:1;position:absolute}.canvas[data-anim=on] .pen-glint{transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite pen-glint}@keyframes pen-glint{0%,70%,to{opacity:.25;transform:scale(.35)}82%{opacity:1;transform:scale(1.15)}}@media (prefers-reduced-motion:reduce){.canvas[data-anim=on] .pen-glint{animation:none}}.canvas :is(.lod-s,.lod-m){transition:opacity .15s,visibility .15s}.canvas[data-anim=off] :is(.lod-s,.lod-m){transition:none}.canvas[data-lod=s] .lod-s,.canvas:is([data-lod=m],[data-lod=far]) :is(.lod-s,.lod-m){opacity:0;visibility:hidden}.canvas .keep-readable{--k:var(--fit,1);transform:scale(min(var(--k), max(1, calc(var(--keep,1) / var(--zoom,1)))))}.canvas:is([data-lod=m],[data-lod=far]) .keep-readable{--k:var(--fit-far,var(--fit,1))}.canvas .junctions .floor{r:max(var(--r), calc(1.6px / var(--zoom,1)))}.canvas .hit{fill:#0000;stroke:#0000;pointer-events:all}.canvas .wire .hit{fill:none;pointer-events:stroke}.canvas[data-tool=select] .sub-hit{cursor:move}.canvas:is([data-tool=select],[data-tool=eraser]) .el:hover .sub-hit{fill:#0000}.canvas[data-tool=select] .el .sub-hit:hover{fill:var(--hover)}.canvas[data-tool=select] .el.table .table-cell{cursor:cell}.canvas[data-tool=select] .el.table.whole .table-cell{cursor:move}.canvas .table-border{fill:none;stroke:#0000;stroke-width:10px;vector-effect:non-scaling-stroke;pointer-events:stroke}.canvas[data-tool=select] .table-border{cursor:move}.canvas .table-tabs{visibility:hidden}.canvas[data-tool=select] .el.table:is(:hover,.picking,.whole) .table-tabs{visibility:visible}.canvas .table-tab{fill-opacity:.2;cursor:pointer;pointer-events:all}.canvas .table-tab:hover{fill-opacity:.45}.canvas .table-tab.on{fill-opacity:.7}.canvas .timing-cell,.canvas .timing-value,.canvas .timing-sub{fill:#0000;stroke:none;pointer-events:all}.canvas[data-tool=select] .el.timing.active .timing-cell{cursor:pointer}.canvas:is([data-tool=select],[data-tool=eraser]) .el.timing.active:hover>.hit{fill:#0000}.canvas[data-tool=select] .el.timing.active .timing-cell:hover{fill:var(--hover)}.canvas .el.timing .timing-cell.on{fill:var(--fx-sel,#4f8fd6);fill-opacity:.14}.canvas[data-tool=select] .el.timing.active .timing-value{cursor:text}.canvas[data-tool=select] .el.timing.active .timing-sub:hover{fill:var(--hover)}.canvas[data-tool=select] .el.timing.arrowing,.canvas[data-tool=select] .el.timing.arrowing *{cursor:crosshair}.canvas[data-tool=select] .el.kanban [data-sub^=card\:] .sub-hit{cursor:grab}.canvas:is([data-tool=select],[data-tool=eraser]) .el:hover .hit{fill:var(--hover)}.canvas:is([data-tool=select],[data-tool=eraser]) .wire:hover .hit{fill:none;stroke:var(--hover)}.canvas:is([data-tool=select],[data-tool=eraser]) .el:hover .block-body{stroke-opacity:.8}.inline-editor{z-index:5;min-width:160px;font-family:var(--serif);background:var(--panel);box-shadow:var(--shadow);border:1px solid var(--accent);resize:both;font-size:15px;position:absolute}.statusbar{background:var(--panel);border-top:1px solid var(--border);color:var(--muted);align-items:center;gap:14px;min-height:26px;padding:3px 12px;font-size:13px;display:flex}.statusbar .hint{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;margin-left:-6px;padding:1px 6px;font-size:14px;overflow:hidden}.statusbar .hint.lit{animation:1.8s ease-out hint-lit}@keyframes hint-lit{0%{background:0 0}15%,60%{background:var(--accent-soft);color:var(--accent)}to{background:0 0}}.statusbar .spacer{flex:1}.statusbar .coords{text-align:right;min-width:10ch}.statusbar .contents{white-space:nowrap}.statusbar .hint.note{color:var(--danger);font-style:normal}.statusbar .hint.intro{max-width:62%;color:var(--accent);flex:none;font-style:normal}.statusbar .short{color:var(--danger);white-space:nowrap;font-weight:600}.library{flex-direction:column;flex:1;min-height:0;display:flex}.search{color:var(--muted);border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:8px 10px;display:flex}.search input{flex:1}.library-scroll{flex:1;padding-bottom:20px;overflow-y:auto}.lib-cat-head{background:var(--panel-2);cursor:pointer;font-variant:small-caps;letter-spacing:.03em;border:none;border-bottom:1px solid var(--border);z-index:1;align-items:center;gap:5px;width:100%;padding:5px 10px;display:flex;position:sticky;top:0}.fold-head{border-bottom:1px solid var(--border);z-index:1;align-items:center;display:flex;position:sticky}.fold-head.level-1{z-index:2;background:var(--panel-2);top:0}.fold-head.level-2{background:var(--panel);top:32px}.fold-toggle{min-width:0;color:inherit;cursor:pointer;text-align:left;font-variant:small-caps;letter-spacing:.03em;background:0 0;border:none;flex:1;align-items:center;gap:5px;padding:5px 10px;display:flex}.fold-toggle>span:first-of-type{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fold-head.level-1 .fold-toggle{height:31px;padding:0 8px;font-size:15.5px;font-weight:600}.fold-head.level-2 .fold-toggle{padding-left:22px;font-size:13.5px}.fold-toggle:hover{background:var(--hover)}.fold-head.drop-target{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-soft)}.lib-results{margin:0;padding:7px 10px 0}.count{color:var(--muted);margin-left:auto;font-size:12px}.tiles{grid-template-columns:repeat(3,1fr);gap:4px;padding:6px;display:grid}.symbol-tile{border-radius:var(--radius);cursor:grab;background:0 0;border:1px solid #0000;flex-direction:column;align-items:center;gap:2px;padding:5px 2px 4px;display:flex}.symbol-tile:hover{background:var(--hover);border-color:var(--border)}.symbol-tile.active{border-color:var(--accent);background:var(--accent-soft)}.symbol-name{text-align:center;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11.5px;line-height:1.15;display:-webkit-box;overflow:hidden}.sheets{padding-top:8px;overflow-y:auto}.sheet-tree,.sheet-tree ul{margin:0;padding:0;list-style:none}.sheet-node{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;width:100%;padding:5px 10px;display:flex}.sheet-node:hover{background:var(--hover)}.sheet-node.active{background:var(--accent-soft);color:var(--accent);font-weight:700}.props{padding:4px 12px 24px}.props h3{font-variant:small-caps;letter-spacing:.04em;border-bottom:1px solid var(--border);margin:14px 0 6px;padding-bottom:2px;font-size:15px}.props p{margin:4px 0 8px}.props .btn+.field{margin-top:10px}.props-fold{width:100%;color:inherit;font:inherit;font-variant:inherit;letter-spacing:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;margin-left:-2px;padding:0;display:flex}.props-fold svg{color:var(--muted);flex:none}.props-fold:hover,.props-fold:hover svg{color:var(--accent)}.props-section.closed h3{margin-bottom:0}.props-summary{font-family:var(--sans);letter-spacing:0;text-transform:none;color:var(--muted);margin-left:auto;font-size:12px;font-weight:400}.style-summary{gap:3px;display:inline-flex}.swatch.tiny{width:11px;height:11px;cursor:inherit;border-width:1px;display:inline-block}.segmented.fill-styles{width:100%;margin-bottom:8px;display:flex}.segmented.fill-styles button{white-space:nowrap;flex:1;justify-content:center;align-items:center;gap:5px;padding:3px 4px;display:inline-flex}.use-default{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;margin:0 0 8px;padding:2px 0;font-size:12.5px;display:inline-flex}.use-default:hover:not(:disabled){text-decoration:underline}.use-default:disabled{color:var(--muted);cursor:default}.hint-icon{vertical-align:-2px;color:var(--muted);cursor:help;margin-left:4px;display:inline-flex}.hint-icon:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:50%}.term-word{-webkit-text-decoration:underline dotted var(--muted);text-decoration:underline dotted var(--muted);text-underline-offset:3px;cursor:help}.term-word:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}[data-term]{-webkit-touch-callout:none}.term-card{z-index:300;border:1px solid var(--border-strong);background:var(--panel);width:248px;box-shadow:var(--shadow);color:var(--ink);pointer-events:none;--gl-pen:var(--accent);--gl-paper:var(--panel);--gl-margin:var(--danger);--gl-on-pen:var(--accent-ink);border-radius:8px;padding:0 12px 10px 18px;animation:.12s ease-out term-in;position:fixed}.term-card:before{content:"";border-left:1px solid var(--danger);opacity:.55;position:absolute;top:0;bottom:0;left:9px}@keyframes term-in{0%{opacity:0;transform:translateY(2px)}}.term-art{border-bottom:1px solid var(--border);background:repeating-linear-gradient(to bottom, transparent 0 15px, color-mix(in srgb, var(--accent) 16%, transparent) 15px 16px);justify-content:center;margin:0 -12px 0 -9px;padding:8px 0 6px;display:flex}.term-head{align-items:baseline;gap:6px;margin-top:7px;display:flex}.term-name{min-width:0;font-family:var(--serif);font-size:15px}.term-head .kbd{color:var(--muted);white-space:nowrap;flex:none;margin-left:auto}.first-steps{z-index:6;border:1px solid var(--border-strong);background:var(--panel);width:318px;box-shadow:var(--shadow);color:var(--ink);border-radius:8px;padding:8px 10px 10px 20px;font-size:13px;line-height:1.35;animation:.18s ease-out term-in;position:absolute;top:14px;left:14px}.first-steps:before{content:"";border-left:1px solid var(--danger);opacity:.55;position:absolute;top:0;bottom:0;left:11px}.first-steps-head{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.first-steps-head b{font-family:var(--serif);font-size:18px;font-weight:400}.first-steps ol{counter-reset:step;margin:0;padding:0;list-style:none}.first-steps li{border-top:1px solid var(--border);grid-template-columns:18px 72px 1fr;align-items:center;gap:8px;padding:7px 0;display:grid}.first-steps li:before{counter-increment:step;content:counter(step);background:var(--accent);width:18px;height:18px;color:var(--accent-ink);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.first-steps svg{color:var(--ink);display:block}.first-steps .pen{stroke:var(--accent)}.first-steps li b{font-weight:600;display:block}.first-steps li span{color:var(--muted)}.first-steps .first-steps-link{color:var(--accent);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.first-steps .first-steps-link:hover{text-decoration-thickness:2px}.term-job{margin:3px 0 0;font-size:13px;line-height:1.4}.gl-art{color:var(--ink);overflow:visible}.gl-art .gl-pen{stroke:var(--gl-pen,currentColor)}.gl-art .gl-pen-fill,.gl-art .gl-pen-text{fill:var(--gl-pen,currentColor)}.gl-art .gl-paper{fill:var(--gl-paper,none)}.gl-art .gl-margin{stroke:var(--gl-margin,currentColor)}.gl-art .gl-red-fill{fill:var(--gl-margin,currentColor)}.gl-art .gl-on-pen{fill:var(--gl-on-pen,#fff)}.gl-art .gl-hand{font-family:"Caveat", var(--serif)}.gl-art .gl-math{font-family:var(--serif);font-style:italic}.gl-art .gl-word{font-family:var(--serif)}.sheet-name{width:100%;margin-bottom:6px}.arrange{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:4px 8px;margin-bottom:6px;display:grid}.arrange>.field-label{align-self:center}.arrange .button-row,.arrange .align-grid{margin:0}.align-grid{grid-template-columns:repeat(4,30px);gap:4px;display:grid}.angle-input{align-items:center;gap:4px;display:inline-flex}.angle-input input{width:72px}.field{flex-direction:column;flex:1;gap:2px;min-width:0;margin-bottom:8px;display:flex}.field-label{color:var(--muted);font-size:12.5px}.row{align-items:flex-end;gap:8px;display:flex}.row>.field.narrow{flex:0 0 76px}.check{cursor:pointer;align-items:center;gap:6px;margin:4px 0 8px;font-size:14px;display:flex}.check.compact{color:var(--muted);margin-bottom:12px;font-size:12px}.show-in{flex-wrap:wrap;align-items:center;gap:2px 16px;margin:4px 0 10px;display:flex}.show-in .field-label{margin:0}.show-in .check{color:var(--ink);margin:0;font-size:13px}.button-row{flex-wrap:wrap;gap:4px;margin:8px 0;display:flex}.button-row .button-gap{width:10px}.timing-states{flex-wrap:wrap;gap:4px;margin:4px 0 6px;display:flex}.timing-states .btn{justify-content:center;min-width:34px}.timing-picked{margin-bottom:6px}.timing-lanes{flex-direction:column;gap:4px;margin:4px 0;display:flex}.timing-lane,.timing-edge-row{align-items:center;gap:4px;margin:3px 0;display:flex}.timing-lane input,.timing-edge-row input,.timing-edge-row select,.timing-lane-name{flex:1;min-width:0}.timing-edge-row select{flex:0 auto;max-width:45%}.field-row{gap:8px;display:flex}.field-row>.field{flex:1;min-width:0}.wavejson-text{box-sizing:border-box;width:100%;font-family:var(--mono,ui-monospace, monospace);resize:vertical;font-size:13px;line-height:1.45}.wavejson-preview{border:1px solid var(--line,#0000001f);border-radius:6px;margin:8px 0;padding:8px;overflow:auto}.wavejson-preview svg{display:block}p.danger{color:var(--danger)}.button-row.end{justify-content:flex-end}.kanban-cols{flex-direction:column;gap:4px;margin:4px 0;display:flex}.kanban-col{align-items:center;gap:6px;display:flex}.kanban-col input{flex:1;min-width:0}.kanban-people{flex-direction:column;margin:2px 0 6px;display:flex}.kanban-person{min-width:0;margin:2px 0}.kanban-person-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.statusbar .tasks{margin-right:12px}.table-cells{border-top:1px solid var(--line);margin:10px 0 12px;padding:8px 0 2px}.table-cells-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.table-cells-head .link{font-size:12px}.table-cell-text{box-sizing:border-box;resize:vertical;width:100%;margin-bottom:8px;display:block}.table-cell-look{flex-wrap:wrap;gap:6px;margin-bottom:8px}.table-col-width{align-items:flex-end}.table-align{align-items:center;gap:10px;margin:4px 0 8px;display:flex}.swatches{flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:8px;display:flex}.swatches>.field-label{flex:0 0 100%;margin-bottom:-1px}.swatch{border:2px solid var(--panel);outline:1px solid var(--border-strong);cursor:pointer;border-radius:50%;width:22px;height:22px;padding:0}.swatch.auto{background:var(--panel);font-size:11px;font-weight:700}.swatch.active{outline:2px solid var(--accent)}.swatch.custom{background:conic-gradient(#e53935,#fdd835,#43a047,#00acc1,#1e88e5,#8e24aa,#e53935);display:inline-block;position:relative;overflow:hidden}.swatch.custom input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.modal-backdrop{z-index:50;background:#14120e59;justify-content:center;align-items:flex-start;padding-top:8vh;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border-strong);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;width:min(460px,100vw - 32px);max-height:84vh;display:flex}.modal.wide{width:min(920px,100vw - 32px)}.modal.wide:has(.defaults){width:min(660px,100vw - 32px)}.defaults{flex-direction:column;gap:10px;display:flex}.defaults>p{margin:0}.defaults-preview{border:1px solid var(--border);border-radius:8px;width:100%;height:auto;display:block}.defaults-grid{grid-template-columns:1fr 1fr;gap:4px 24px;display:grid}.defaults-grid section{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;display:flex}.defaults-grid h3{font-variant:small-caps;letter-spacing:.04em;border-bottom:1px solid var(--border);align-self:stretch;margin:8px 0 0;padding-bottom:2px;font-size:15px}.defaults-grid .swatches,.defaults-grid .row{margin:0}.defaults .segmented button.hand-sample{font-family:"Caveat", var(--serif);font-size:17px;line-height:1}@media (width<=640px){.defaults-grid{grid-template-columns:1fr}}.modal.wide:has(.wave-editor){width:min(1120px,100vw - 32px)}.wave-editor{grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);align-items:start;gap:18px;display:grid}.label-handle{fill:#0000;stroke:#0000;cursor:move;touch-action:none}.label-handle:hover{fill:var(--accent-soft);stroke:var(--accent);stroke-dasharray:3 2;stroke-width:.8px}.wave-preview>svg{border:1px solid var(--border);border-radius:8px;width:100%;height:auto;max-height:62vh;display:block}.wave-settings{flex-direction:column;gap:10px;min-width:0;display:flex}.wave-settings .segmented{display:flex}.wave-settings .segmented button{flex:1}.wave-tab{flex-direction:column;gap:6px;max-height:56vh;padding-right:4px;display:flex;overflow:auto}.curve-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.curve-list li{border-radius:6px;align-items:center;gap:4px;display:flex}.curve-list li>button:first-child{min-width:0;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:1;align-items:center;gap:8px;padding:5px 8px;display:flex}.curve-list li>button:first-child:hover{background:var(--hover)}.curve-list li.active>button:first-child{border-color:var(--accent);background:var(--accent-soft)}.curve-list .muted{white-space:nowrap;margin-left:auto}.curve-dot{border-radius:50%;flex:none;width:10px;height:10px}.curve-editor{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;padding:10px;display:flex}@media (width<=760px){.wave-editor{grid-template-columns:1fr}}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.modal-head h2{font-variant:small-caps;letter-spacing:.03em;margin:0;font-size:20px}.modal-body{padding:14px 16px;overflow-y:auto}.modal-foot{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.modal-body .modal-foot{z-index:2;background:var(--panel);margin:6px 0 -14px;padding:8px 0 14px;position:sticky;bottom:-14px}.modal-body .modal-foot:before{content:"";background:linear-gradient(to bottom, transparent, var(--panel));pointer-events:none;height:14px;position:absolute;bottom:100%;left:0;right:0}input.auth-code{letter-spacing:.3em;text-align:center;font-size:20px}.auth-forgot{text-align:right;margin:-4px 0 0}.quickadd{background:var(--panel);border:1px solid var(--border-strong);box-shadow:var(--shadow);border-radius:8px;width:min(520px,100vw - 32px);overflow:hidden}.quickadd input{border:none;border-bottom:1px solid var(--border);border-radius:0;outline:none;width:100%;padding:12px 16px;font-size:18px}.quickadd-list{max-height:60vh;margin:0;padding:4px;list-style:none;overflow-y:auto}.quickadd-list button{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:10px;width:100%;padding:4px 10px;display:flex}.quickadd-list button.active{background:var(--accent-soft)}.quickadd-list .muted{margin-left:auto}.help-grid,.shortcut-table{columns:260px 3;column-gap:24px}.help-grid>section,.shortcut-table>section{break-inside:avoid;margin-bottom:16px}.help-grid h3,.shortcut-table h3{font-variant:small-caps;border-bottom:1px solid var(--border);margin:0 0 4px}.help-grid dl{margin:0}.help-row,.shortcut-row{justify-content:space-between;align-items:center;gap:8px;padding:2px 0;font-size:14px;display:flex}.help-row dd{white-space:nowrap;margin:0}.tips{margin:4px 0;padding-left:18px;font-size:14px}.tips code{font-family:var(--mono);font-size:12px}.modal:has(.export-top){width:min(640px,100vw - 32px)}.export-top{grid-template-columns:230px minmax(0,1fr);align-items:start;gap:14px;display:grid}.export-options .row>.field.narrow{flex:0 0 96px}.export-preview{flex-direction:column;gap:4px;margin:0;display:flex}.export-stage{border-radius:var(--radius);background:var(--panel-2);border:1px solid var(--border);text-align:center;justify-content:center;align-items:center;height:190px;padding:8px;display:flex}.export-stage.clear{background:repeating-conic-gradient(#d9d6ce 0% 25%,#f4f2ec 0% 50%) 0 0/14px 14px}.export-stage img{max-width:100%;max-height:100%;box-shadow:0 0 0 1px var(--border-strong), 0 2px 6px #0000002e;transition:opacity .15s;display:block}.export-stage img.dim{opacity:.55}.export-preview figcaption{text-align:center;font-variant-numeric:tabular-nums}@media (width<=600px){.export-top{grid-template-columns:minmax(0,1fr)}.export-stage{height:160px}}.export-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:6px;display:grid}.export-btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 12px;display:flex}.export-btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.export-btn span{color:var(--muted);font-size:12.5px}.dashboard,.gallery{max-width:1180px;min-height:100%;margin:0 auto;padding:32px 24px 60px}.dash-head{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:flex-start;margin-bottom:18px;padding-bottom:12px;display:flex}.tagline{color:var(--muted);margin:4px 0 0;font-style:italic}.dash-actions{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.project-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:18px;display:grid}.project-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.project-card:hover{box-shadow:var(--shadow)}.project-card .thumb{border-bottom:1px solid var(--border);background:#f7f5ef;justify-content:center;align-items:center;height:160px;display:flex}.project-card .thumb img{max-width:100%;max-height:100%}.project-card .thumb:has(img.cover){padding:0}.project-card .thumb img.cover{object-fit:cover;width:100%;height:100%}.cover-dialog section+section{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.cover-dialog h3{margin:0 0 2px;font-size:15px}.cover-dialog p{margin:0 0 8px}.cover-dialog .row{align-items:center;gap:8px;display:flex}.cover-dialog select{flex:1;min-width:0}.cover-dialog p.cover-or{margin:10px 0 6px}.cover-images{flex-wrap:wrap;gap:6px;display:flex}.cover-image{border:1px solid var(--border);background:var(--paper);cursor:pointer;border-radius:4px;width:80px;height:50px;padding:0;overflow:hidden}.cover-image:hover,.cover-image:focus-visible{border-color:var(--accent);outline:1px solid var(--accent)}.cover-image img{object-fit:cover;width:100%;height:100%;display:block}.card-body{flex-direction:column;padding:8px 12px 2px;display:flex}.card-title{color:var(--ink);font-size:17px;font-weight:700;text-decoration:none}.card-actions{gap:2px;padding:4px 8px 8px;display:flex}.empty{text-align:center;border:2px dashed var(--border);border-radius:8px;grid-column:1/-1;padding:40px}.gallery h2.gallery-domain-title{border-bottom:2px solid var(--ink,currentColor);margin:36px 0 0;font-size:26px}.gallery h3.gallery-cat-title{font-variant:small-caps;border-bottom:1px solid var(--border);margin:22px 0 10px;font-size:19px}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.gallery-item{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:6px 8px}.gallery-item h3{margin:0 0 4px;font-size:14px}.gallery-row{gap:6px;display:flex}.gallery-row.wrap{border-top:1px dashed var(--border);flex-wrap:wrap;margin-top:4px;padding-top:4px}.gallery-cell{flex-direction:column;align-items:center;margin:0;display:flex}.gallery-cell figcaption{color:var(--muted);text-align:center;max-width:100px;font-size:10.5px}.loading{flex-direction:column;justify-content:center;align-items:center;gap:8px;height:100vh;font-style:italic;display:flex}@media (width<=900px){.left-panel,.right-panel{max-width:30vw}.breadcrumbs{display:none}.tabs{gap:6px;padding:0 6px}.tabs button{letter-spacing:0;font-size:12px}}@media (width<=760px){.left-panel,.right-panel{max-width:28vw}.topbar .btn-label{display:none}.tabs button{font-size:11px}}.tool-rail{overflow-y:auto}.tool-options{background:var(--panel);border:1px solid var(--border-strong);box-shadow:var(--shadow);z-index:4;border-radius:8px;align-items:center;gap:3px;padding:4px 6px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%)}.tool-options:has(.shape-picker){flex-wrap:wrap;width:max-content;max-width:min(640px,100% - 24px)}.shape-picker{flex-wrap:wrap;flex-basis:100%;gap:4px 18px;display:flex}.tool-options:has(.shape-picker .shape-group:only-child){flex-wrap:nowrap}.shape-picker:has(.shape-group:only-child){flex-basis:auto}.shape-picker:has(.shape-group:only-child) .shape-group-name{display:none}.shape-group{flex-direction:column;gap:2px;display:flex}.shape-group-name{font-variant:small-caps;color:var(--muted);letter-spacing:.04em;padding-left:2px;font-size:12px}.shape-group-items{flex-wrap:wrap;gap:2px;display:flex}.shape-choice{min-width:54px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;align-items:center;gap:1px;padding:3px 4px 2px;display:inline-flex}.shape-choice span{color:var(--muted);text-align:center;white-space:nowrap;font-size:10.5px;line-height:1.1}.shape-choice:hover{background:var(--hover)}.shape-choice.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.shape-choice.active span{color:var(--accent)}.tool-options .opt{white-space:nowrap;cursor:pointer;min-width:28px;height:28px;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:5px;flex:none;justify-content:center;align-items:center;display:inline-flex}.tool-options .opt.text{font-variant:small-caps;padding:0 8px;font-size:14px}.tool-options .opt:hover{background:var(--hover)}.tool-options .opt.toggle{border-color:var(--border);border-radius:14px;gap:5px;padding:0 10px 0 8px}.tool-options .opt.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.tool-options .dot{background:currentColor;border-radius:50%;display:inline-block}.tool-options .sep{background:var(--border);width:1px;height:20px;margin:0 4px}.swatch.small{width:18px;height:18px;font-size:10px}.pen-menu{display:inline-flex;position:relative}.pen-menu>.opt svg{flex:none}.pen-menu-pop{z-index:5;background:var(--panel);border:1px solid var(--border-strong);width:max-content;max-width:min(420px,100vw - 24px);box-shadow:var(--shadow);border-radius:8px;padding:6px;position:absolute;top:calc(100% + 8px);left:-6px}.pen-choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;display:grid}.props .pen-choices,.panel .pen-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.pen-choice{min-width:0;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;align-items:center;gap:1px;padding:4px 3px 3px;display:flex;position:relative}.pen-choice:hover{background:var(--hover)}.pen-choice.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.pen-choice.locked{color:var(--muted)}.pen-choice.locked svg{opacity:.55}.pen-choice-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;line-height:1.15;overflow:hidden}.pen-choice-lock{color:var(--muted);align-items:center;gap:2px;font-size:10px;line-height:1;display:inline-flex}.tool-options.stamp-tool{width:max-content;max-width:calc(100% - 24px)}.stamp-options{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.stamp-words,.stamp-initials{border:1px solid var(--border-strong);background:var(--paper,var(--panel));height:28px;color:var(--ink);font-family:var(--serif);letter-spacing:.04em;text-transform:uppercase;border-radius:5px;padding:0 8px;font-size:13px;font-weight:700}.stamp-words{width:124px}.stamp-initials{text-align:center;width:46px}.stamp-choices{flex-wrap:wrap;align-items:center;gap:2px;display:inline-flex}.tool-options .opt.stamp-choice{min-width:24px;padding:0 1px;position:relative}.stamp-options .stamp-choices{gap:1px}.stamp-choice.locked,.stamp-ink.locked{opacity:.45}.stamp-lock{position:absolute;bottom:1px;right:1px}.swatch.small.stamp-ink{color:#fff;justify-content:center;align-items:center;display:inline-flex}.stamp-fields-choices{flex-direction:column;gap:6px;display:flex}@media (width<=560px){.pen-menu-pop{max-width:none;margin-top:8px;position:fixed;top:auto;left:12px;right:12px}.pen-choices{grid-template-columns:repeat(3,minmax(0,1fr))}}.theme-picker,.top-menu{display:inline-flex;position:relative}.menu-btn{gap:4px}.menu-btn .menu-caret{color:var(--muted)}.menu-btn.active{background:var(--hover)}.menu.view-menu{width:min(360px,100vw - 24px);max-height:calc(100vh - 70px);overflow-y:auto}.menu.help-menu{min-width:220px}.menu.project-menu{min-width:220px;left:0;right:auto}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.menu>.menu-toggle .menu-label{flex:1}.menu-toggle .menu-check{width:16px;color:var(--accent);display:inline-flex}.menu-head.menu-section{border-top:1px solid var(--border);margin-top:4px;padding-top:10px}.theme-btn{position:relative}.theme-dot{border:1.5px solid;border-radius:50%;width:9px;height:9px;position:absolute;bottom:2px;right:2px}.menu.theme-menu{width:min(360px,100vw - 24px)}.theme-list{flex-direction:column;gap:4px;display:flex}.theme-option{color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:96px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:6px;transition:background .12s;display:grid}.theme-option:hover{background:var(--hover)}.theme-option.active{border-color:var(--accent);background:var(--accent-soft)}.theme-preview{border:1px solid var(--border-strong);border-radius:5px;width:96px;height:60px;transition:transform .16s cubic-bezier(.34,1.56,.64,1);display:block}.theme-option:hover .theme-preview{transform:scale(1.04)rotate(-1deg)}.theme-text{flex-direction:column;gap:2px;display:flex}.theme-text strong{font-size:14px}.theme-text span{color:var(--muted);font-size:12px;line-height:1.35}.theme-check{color:var(--accent)}.canvas .handle{pointer-events:all}.canvas .handle-n,.canvas .handle-s{cursor:ns-resize}.canvas .handle-e,.canvas .handle-w{cursor:ew-resize}.canvas .handle-ne,.canvas .handle-sw{cursor:nesw-resize}.canvas .handle-nw,.canvas .handle-se{cursor:nwse-resize}.canvas .handle-move{cursor:move}.canvas .handle-rot{cursor:grab}.canvas .handle-rot:active{cursor:grabbing}.canvas .frame .frame-hit{fill:none;pointer-events:stroke}.canvas .frame .frame-tab{pointer-events:all}.canvas:is([data-tool=select],[data-tool=eraser]) .frame:hover .frame-hit{fill:none;stroke:var(--hover)}.canvas[data-tool=select] .button{cursor:pointer}.trace{border:1px solid var(--border);background:var(--panel-2);border-radius:6px;margin-bottom:8px;padding:6px 8px 2px}.lib-actions{align-items:center;gap:4px;padding:8px 10px 0;display:flex}.tpl-hint{margin:8px 0 0}.tpl-list{padding-top:6px;padding-bottom:4px}.fold-head .icon-btn{width:26px;height:26px;margin-right:4px}.template-card{text-align:left;border:1px solid var(--border);background:var(--panel);cursor:grab;border-radius:6px;flex-direction:column;gap:2px;width:100%;margin:6px 0;padding:8px 10px;display:flex}.template-card:hover{border-color:var(--accent);background:var(--accent-soft)}.template-card b{font-size:14px}.template-card-wrap{position:relative}.template-card-wrap .template-actions{opacity:0;gap:2px;transition:opacity .15s;display:flex;position:absolute;top:10px;right:4px}.template-card-wrap:hover .template-actions,.template-card-wrap:focus-within .template-actions{opacity:1}.template-actions .icon-btn{background:var(--panel);width:24px;height:24px}.template-preview{border:1px solid var(--border);pointer-events:none;border-radius:4px;width:100%;height:84px;margin-bottom:4px}.btn.wide{justify-content:center;width:100%;margin-top:10px}.empty-hint{margin:12px 2px;line-height:1.45}.lib-io{gap:6px;margin:16px 0 10px;display:flex}.lib-io .btn{flex:1;justify-content:center;padding:4px 6px;font-size:12.5px}.error{color:var(--danger)}.template-card span{color:var(--muted);font-size:12.5px}.symbol-tile-wrap{position:relative}.symbol-tile-wrap .tile-edit{width:22px;height:22px;display:none;position:absolute;top:2px;right:2px}.symbol-tile-wrap:hover .tile-edit{display:inline-flex}.lib-cat-title{font-variant:small-caps;letter-spacing:.03em;border-bottom:1px solid var(--border);margin:14px 0 2px}.modal.full{width:min(1500px,100vw - 24px);height:calc(100vh - 48px);max-height:none}.modal-backdrop:has(.modal.full){padding-top:24px}.modal.full .modal-body{flex-direction:column;flex:1;min-height:0;display:flex}.crop-stage{background:repeating-conic-gradient(#d9d6ce 0% 25%,#f4f2ec 0% 50%) 0 0/18px 18px;border-radius:8px;flex:1;min-height:0;padding:10px;display:flex}.crop-stage svg{touch-action:none;-webkit-user-select:none;user-select:none;flex:1;width:100%;min-width:0;height:100%;overflow:visible}.crop-stage img,.crop-stage canvas{object-fit:contain;flex:1;width:100%;min-width:0;height:100%;min-height:0}.crop-stage canvas.dim{opacity:.5}.range-field{align-items:center;gap:6px;font-size:13px;display:inline-flex}.ai-ask{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.crop-bar .progress progress{vertical-align:middle;width:min(320px,60%);margin-right:8px}.crop-shade{fill:#1414148c;pointer-events:none}.crop-frame rect,.crop-frame line{stroke:#fff;vector-effect:non-scaling-stroke}.crop-frame>rect:first-child{cursor:move;stroke-width:2px;filter:drop-shadow(0 0 1px #0009)}.crop-third line{opacity:.45;pointer-events:none}.crop-handle{fill:#fff;stroke:#2f5d9e!important}.crop-bar{flex-wrap:wrap;align-items:center;gap:8px;padding-top:12px;display:flex}.crop-bar .grow{flex:1}.crop-bar .progress{flex-basis:100%}.symed{flex:1;grid-template-columns:auto minmax(0,1fr) 300px;gap:12px;min-height:0;display:grid}.symed-tools{flex-direction:column;gap:3px;display:flex}.symed-sep{background:var(--border);height:1px;margin:4px 2px}.cat-picker{align-items:center;gap:4px;display:flex}.cat-picker input{flex:1;min-width:0}.symed-stage{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.symed-canvas{border:1px solid var(--border-strong);cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:6px;flex:1;width:100%;min-height:320px}.symed-canvas.tool-select{cursor:default}.symed-canvas.tool-select .symed-prim{cursor:move}.symed-handle{cursor:grab}.symed-handle.h-s-nw,.symed-handle.h-s-se{cursor:nwse-resize}.symed-handle.h-s-ne,.symed-handle.h-s-sw{cursor:nesw-resize}.symed-zoom{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:6px;align-items:center;gap:2px;padding:2px;display:flex;position:absolute;bottom:34px;right:8px}.symed-zoom-value{text-align:center;min-width:44px;color:var(--muted);font-size:12px}.symed-hint{color:var(--muted);margin:6px 2px 0;font-size:12px;line-height:1.4}.symed-side{min-width:0;min-height:0;padding:0 4px 12px 0;overflow-y:auto}.symed-side h3:first-child{margin-top:0}.symed-actions{flex-wrap:wrap;gap:2px;margin-bottom:8px;display:flex}.symed-fields{border:0;min-width:0;margin:0;padding:0}.symed-readonly{border:1px solid var(--border);background:var(--accent-soft);border-radius:6px;margin-bottom:8px;padding:6px 8px 8px}.symed-readonly p{margin:0 0 6px}.symbol-by{max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding-right:2px;font-size:10.5px;font-style:italic;overflow:hidden}.symed-preview{border:1px dashed var(--border);border-radius:6px;flex-direction:column;align-items:center;gap:4px;padding:6px;display:flex}@media (width<=900px){.symed{grid-template-rows:minmax(320px,1fr) auto;grid-template-columns:auto minmax(0,1fr)}.symed-side{grid-column:1/-1}}.canvas .el,.canvas .brackets,.canvas .junctions circle,.fx-ripple{transform-box:fill-box;transform-origin:50%}.fx-ripple{fill:none;stroke:var(--fx-ink);stroke-width:1.4px;vector-effect:non-scaling-stroke}.fx-ripple.connect{stroke:var(--fx-sel);stroke-width:2px}.fx-glow{fill:var(--fx-sel);transform-box:fill-box;transform-origin:50%}.topbar .present-btn.pulse{animation:.9s ease-out present-pulse}@keyframes present-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 45%, transparent)}25%,55%{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}to{box-shadow:0 0 0 12px #0000}}@keyframes olg-fade-in{0%{opacity:0}}@keyframes olg-dot-pop{0%{transform:scale(0)}60%{transform:scale(1.5)}to{transform:scale(1)}}@keyframes olg-brackets-in{0%{opacity:0;transform:scale(1.12)}}@keyframes olg-modal-in{0%{opacity:0;transform:translateY(8px)scale(.985)}}.canvas[data-anim=on] .sheet-enter{animation:.18s ease-out olg-fade-in}.canvas .junctions circle.pop{animation:.3s cubic-bezier(.34,1.56,.64,1) olg-dot-pop}.canvas[data-anim=on]:not([data-busy]) .brackets{animation:.14s ease-out olg-brackets-in}.modal-backdrop{animation:.14s ease-out olg-fade-in}.modal,.quickadd{animation:.18s cubic-bezier(.22,1,.36,1) olg-modal-in}.btn,.icon-btn,.tool-btn,.symbol-tile,.template-card{transition:background-color .12s,border-color .12s,transform .12s,box-shadow .12s}.btn:active:not(:disabled),.icon-btn:active:not(:disabled),.tool-btn:active{transform:translateY(1px)}.symbol-tile:hover,.template-card:hover{transform:translateY(-1px)}.symbol-tile:active,.template-card:active{transform:translateY(0)scale(.97)}html[data-anim=off] *,html[data-anim=off] :before,html[data-anim=off] :after{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.presentation{z-index:200;-webkit-user-select:none;user-select:none;touch-action:none;cursor:default;animation:.22s ease-out olg-fade-in;position:fixed;inset:0;overflow:hidden}.presentation.mode-pen,.presentation.blank{cursor:crosshair}.presentation.mode-laser{cursor:none}.present-board{position:absolute;inset:0;overflow:visible}.present-board.side{cursor:crosshair;overflow:hidden}.present-stage{position:absolute;inset:0}.present-stage .el.block,.present-stage .el.button{cursor:pointer}.present-stage .hit{fill:#0000;stroke:#0000}.present-empty{color:var(--muted);place-items:center;font-size:20px;display:grid;position:absolute;inset:0}.present-hud{color:#f3f0e8;background:#181816c7;border-radius:999px;align-items:center;gap:4px;padding:5px 8px;font-size:13.5px;transition:opacity .3s,transform .3s;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #00000040}.present-hud.hidden{opacity:0;transform:translate(-50%,8px)}.present-hud button{width:32px;height:32px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.present-hud button:hover:not(:disabled){background:#ffffff24}.present-hud button.on{background:#d62828}.present-hud button:disabled{opacity:.35;cursor:default}.present-hud .sep{background:#ffffff40;width:1px;height:20px;margin:0 4px}.present-count{font-variant-numeric:tabular-nums;white-space:nowrap;justify-content:center;gap:8px;min-width:90px;display:inline-flex}.present-count b{text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-weight:600;overflow:hidden}@media (width<=520px),(height<=520px){.present-hud{bottom:calc(10px + env(safe-area-inset-bottom));gap:1px;max-width:calc(100vw - 16px);padding:4px 6px}.present-hud button{width:30px;height:30px}.present-hud .sep{margin:0 2px}.present-count{min-width:52px}.present-count b{display:none}.present-side-btn{display:none!important}}.present-said{color:#f3f0e8;pointer-events:none;background:#181816d1;border-radius:999px;padding:6px 14px;font-size:13.5px;animation:.22s ease-out olg-fade-in;position:absolute;top:16px;left:50%;transform:translate(-50%)}.present-end{z-index:2;cursor:default;background:#00000059;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.present-end-card{color:#f3f0e8;background:#181816f0;border-radius:14px;max-width:460px;padding:18px 20px 14px;font-size:14px;box-shadow:0 10px 40px #00000059}.present-end-card p{margin:0 0 14px;font-size:16px}.present-end-actions{flex-wrap:wrap;gap:8px;display:flex}.present-end-actions button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff47;border-radius:999px;padding:7px 14px}.present-end-actions button:hover{background:#ffffff1f}.present-end-actions button.primary{background:#d62828;border-color:#d62828}.present-end-card small{color:#f3f0e8b3;margin-top:12px;font-size:12.5px;line-height:1.4;display:block}.tikz-box{border-top:1px solid var(--border);margin-top:12px;padding-top:10px}.tikz-code{white-space:pre;resize:vertical;width:100%;font-size:11.5px;line-height:1.35}.avatar{color:#fff;letter-spacing:.02em;border-radius:50%;flex-shrink:0;place-items:center;font-family:system-ui,sans-serif;font-weight:700;display:inline-grid}.avatar.photo{object-fit:cover;display:inline-block}.avatar.ring{box-shadow:0 0 0 2px var(--panel), 0 0 0 4px #d62828}.dash-head-right{align-items:center;gap:10px;display:flex}.account{position:relative}.account-btn{border:1px solid var(--border);background:var(--panel);cursor:pointer;color:var(--ink);border-radius:999px;align-items:center;gap:8px;padding:3px 12px 3px 3px;display:inline-flex}.menu{z-index:60;background:var(--panel);border:1px solid var(--border-strong);min-width:240px;box-shadow:var(--shadow);border-radius:8px;flex-direction:column;padding:6px;animation:.14s ease-out olg-modal-in;display:flex;position:absolute;top:calc(100% + 6px);right:0}.menu-head{border-bottom:1px solid var(--border);flex-direction:column;gap:2px;margin-bottom:4px;padding:6px 8px 8px;display:flex}.menu>button,.menu>a{cursor:pointer;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:8px;padding:7px 8px;display:flex}.menu>button:hover,.menu>a:hover{background:var(--hover)}.menu>a{text-decoration:none}.menu>button:disabled{color:var(--muted);cursor:not-allowed;background:0 0}.cloud-section h2{font-variant:small-caps;letter-spacing:.03em;align-items:center;gap:8px;margin:18px 0 8px;font-size:17px;display:flex}.invite-page{background:var(--bg);place-items:center;min-height:100vh;display:grid}.invite-card{background:var(--panel);border:1px solid var(--border-strong);box-shadow:var(--shadow);text-align:center;border-radius:10px;max-width:440px;padding:28px 32px}.connect-card{text-align:left;max-width:480px}.connect-card .brand-title{white-space:nowrap;justify-content:center;font-size:32px;display:flex}.connect-scopes{gap:8px;margin:14px 0;display:grid}.connect-scope{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex}.connect-scope:has(input:checked){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.connect-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.ai-copy{gap:6px;display:flex}.ai-copy input{min-width:0;font-family:var(--mono,monospace);flex:1;font-size:12px}.ai-heading{margin:18px 0 6px;font-size:15px}.ai-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.ai-list li{border:1px solid var(--border);border-radius:8px;grid-template-columns:auto auto 1fr auto;align-items:center;gap:8px;padding:6px 8px;display:grid}.ai-name{font-weight:600}.ai-new{flex-wrap:wrap;gap:6px;display:flex}.ai-new input{flex:1;min-width:180px}.ai-made{border:1px dashed var(--accent);border-radius:8px;margin-top:10px;padding:10px}.ai-made code{word-break:break-all}.collab-bar{align-items:center;gap:8px;margin-right:8px;display:flex}.avatars{display:flex}.avatar-btn{cursor:pointer;box-shadow:0 0 0 2px var(--panel);background:0 0;border:0;border-radius:50%;margin-left:-6px;padding:0;transition:transform .12s}.avatar-btn:first-child{margin-left:0}.avatar-btn:hover{z-index:1;transform:translateY(-2px)}.avatar-btn.following{box-shadow:0 0 0 2px var(--panel), 0 0 0 4px var(--c)}.sync-state{color:var(--muted);display:inline-flex;position:relative}.sync-state.connected{color:#1e8449}.sync-state.offline{color:var(--danger)}.sync-state i{background:#d68910;border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite olg-pulse;position:absolute;top:-2px;right:-2px}@keyframes olg-pulse{50%{opacity:.3}}.presenter-btn{border-color:var(--c);color:var(--c)}.access-banner{background:var(--warning-bg);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:5px 14px;font-size:13px;display:flex}.access-banner .refused{color:var(--danger);gap:8px;display:inline-flex}fieldset.plain{border:0;min-width:0;margin:0;padding:0}.canvas-area{position:relative}.slide-chip{z-index:6;border:1px solid var(--border-strong);background:var(--panel);box-shadow:var(--shadow);color:var(--muted);border-radius:999px;align-items:center;gap:2px;padding:3px 4px;font-size:12.5px;display:flex;position:absolute;bottom:12px;right:12px}.slide-chip .slide-pos{white-space:nowrap;padding:0 6px}.slide-chip .slide-step{color:var(--accent);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:2px;padding:3px 7px;display:inline-flex}.slide-chip .slide-step:hover:not(:disabled){background:var(--hover)}.slide-chip .slide-step:disabled{color:var(--border-strong);cursor:default}.follow-frame{border:3px solid var(--c);pointer-events:none;z-index:5;position:absolute;inset:0}.follow-frame span{background:var(--c);color:#fff;pointer-events:auto;border-radius:0 0 8px 8px;align-items:center;gap:10px;padding:3px 10px 4px;font-size:12.5px;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.follow-frame button{color:#fff;cursor:pointer;background:#ffffff40;border:0;border-radius:4px;font-size:12px}.remote-cursor{transition:transform 90ms linear}.comment-pin{cursor:pointer}.comment-pin.movable{cursor:grab}.comment-pin.dragging{cursor:grabbing;filter:drop-shadow(0 3px 3px #00000040)}.comment-pin.resolved{opacity:.7}.comment-pin:hover path,.comment-pin.open path{filter:brightness(1.12)}.comment-popover{z-index:20;background:var(--panel);border:1px solid var(--border-strong);width:280px;box-shadow:var(--shadow);border-radius:8px;padding:8px 10px 10px;animation:.14s ease-out olg-modal-in;position:absolute}.comment-popover header{align-items:center;gap:6px;margin-bottom:4px;display:flex}.comment-popover .messages{max-height:260px;margin:0 0 8px;padding:0;list-style:none;overflow-y:auto}.comment-popover .messages li{border-bottom:1px solid var(--border);padding:6px 0}.comment-popover .messages p{white-space:pre-wrap;margin:3px 0 0;font-size:14px}.comment-popover .who{font-size:13px;font-weight:700}.comment-popover form{flex-direction:column;gap:6px;display:flex}.comment-popover textarea{resize:vertical;width:100%}.comment-send{justify-content:space-between;align-items:center;gap:8px;display:flex}.comment-send .muted{font-size:11.5px}.comment-popover header .small-btn{align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.comments-head{flex-wrap:wrap;justify-content:space-between;align-items:center;row-gap:6px;margin:10px 0 6px}.comments-head .check{white-space:nowrap}.thread-card{text-align:left;border:1px solid var(--border);background:var(--panel);cursor:pointer;width:100%;color:var(--ink);border-radius:6px;flex-direction:column;gap:2px;margin:6px 0;padding:7px 9px;display:flex}.thread-card.active,.thread-card:hover{border-color:var(--accent)}.thread-card.resolved{opacity:.6}.thread-card .who{font-size:12.5px;font-weight:700}.thread-card .text{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13.5px;display:-webkit-box;overflow:hidden}.share-h{font-variant:small-caps;margin:4px 0 8px;font-size:15px}.members,.invites{margin:0 0 14px;padding:0;list-style:none}.members li,.invites li{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:5px 0;display:flex}.member-name{flex-direction:column;flex:1;min-width:0;display:flex}.member-name>.small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.role-tag{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:12px}.invites li{grid-template-columns:auto minmax(0,1fr) auto auto;gap:4px 8px;display:grid}.invites li>.role-tag{justify-self:start}.invites input{grid-area:2/1/auto/-1;width:100%;min-width:0;font-size:11.5px}.invite-use{min-width:0}.share-invite{flex-wrap:wrap}.share-invite input{flex:100%;min-width:0}.share-invite select{flex:1;min-width:0}.share-hint,.share-note{margin:-8px 0 14px}.share-note{color:var(--accent)}.share-note svg,.data-home svg{vertical-align:-2px}.data-home{margin:14px 0 0}@media print{.editor.no-export>*{display:none!important}.editor.no-export:before{content:"Printing is turned off for this project by its owner."}}.history{grid-template-columns:300px 1fr;gap:14px;min-height:360px;display:grid}.history-list ul{max-height:420px;margin:0;padding:0;list-style:none;overflow-y:auto}.history-list li{position:relative}.history-list li .version-delete{opacity:.55;flex-direction:row;justify-content:center;width:26px;height:26px;padding:0;position:absolute;top:6px;right:4px}.history-list li .version-delete:hover{opacity:1}.history-room{flex-direction:column;gap:3px;margin:2px 0 8px;display:flex}.history-room .meter{background:var(--border);border-radius:3px;height:5px;overflow:hidden}.history-room .meter span{background:var(--accent);height:100%;display:block}.history-list li button{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;padding:6px 8px;display:flex}.history-list li button:hover,.history-list li button.active{border-color:var(--accent);background:var(--accent-soft)}.history-preview{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.version-preview{border:1px solid var(--border);border-radius:6px;width:100%;height:360px}.sheet-row{align-items:center;display:flex}.sheet-row .sheet-node{flex:1}.lock-btn{opacity:.45;width:26px;height:26px}.lock-btn.on,.sheet-row:hover .lock-btn{opacity:1}.lock-btn.on{color:var(--danger)}.lock-mark{color:var(--danger);margin-left:auto}.sheets-head{padding:8px 10px 0;display:flex}.sheet-act{opacity:0;flex:none;width:26px;height:26px;transition:opacity .12s}.sheet-row:hover .sheet-act,.sheet-act:focus-visible{opacity:1}@media (hover:none){.sheet-act{opacity:.6}}.sheet-act.danger:hover{color:var(--danger)}.sheet-rename{border:1px solid var(--accent);background:var(--panel);min-width:0;color:var(--ink);font:inherit;border-radius:5px;flex:1;margin:2px 6px 2px 0;padding:3px 6px}.topbar>:not(.project-name):not(.breadcrumbs):not(.spacer){flex-shrink:0}.topbar .project-name{flex:0 200px;min-width:90px}.topbar .breadcrumbs{flex:0 auto;min-width:0}@media (width<=1480px){.topbar .brand .logo,.topbar .divider{display:none}}.tool-options .opt-wrap{align-items:center;gap:3px;display:inline-flex}.tabs button.tab-icon{flex:0 0 44px;justify-content:center;align-items:center;display:inline-flex;position:relative}.tab-badge{background:var(--accent);min-width:15px;height:15px;color:var(--accent-ink);font-variant:normal;border-radius:8px;padding:0 3px;font:600 10px/15px system-ui,sans-serif;position:absolute;top:3px;right:5px}.brand-title{align-items:center;gap:12px;display:inline-flex}.topbar .brand svg{flex-shrink:0}.loading{flex-direction:column;gap:4px}.loading-logo{animation:1.4s ease-in-out infinite olg-breathe}@keyframes olg-breathe{50%{opacity:.75;transform:scale(.94)}}.dash-foot{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px 16px;margin:40px 0 16px;padding-top:14px;font-size:13.5px;display:flex}.dash-foot a{color:var(--accent)}.dash-foot .muted{margin-left:auto}.small-screen-note{left:8px;right:8px;bottom:calc(68px + env(safe-area-inset-bottom));z-index:40;background:var(--panel);border:1px solid var(--border-strong);box-shadow:var(--shadow);border-radius:10px;margin:0;padding:10px 50px 10px 12px;font-size:14px;line-height:1.4;position:fixed}.small-screen-note .icon-btn{width:44px;height:44px;font-size:24px;position:absolute;top:2px;right:2px}.toast{z-index:60;background:var(--ink);color:var(--panel);box-shadow:var(--shadow);pointer-events:none;border-radius:8px;padding:7px 14px;font-size:13px;animation:.18s ease-out toast-in;position:fixed;bottom:44px;left:50%;transform:translate(-50%)}.toast.with-action{pointer-events:auto;align-items:center;gap:14px;display:flex}.toast button{color:#9fc1f0;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.toast button:hover{text-decoration:underline}.account-nudge{z-index:45;background:var(--panel);border:1px dashed var(--accent);border-radius:var(--radius);width:max-content;max-width:min(600px,100vw - 32px);box-shadow:var(--shadow);color:var(--ink);align-items:center;gap:12px;padding:10px 14px;font-size:13px;animation:.18s ease-out toast-in;display:flex;position:fixed;bottom:44px;left:50%;transform:translate(-50%)}.account-nudge-icon{color:var(--accent);flex:none}.account-nudge-body{flex-direction:column;min-width:0;display:flex}.account-nudge-title{font-family:"Caveat", var(--serif);color:var(--accent);font-size:21px;font-weight:400;line-height:1.1}.account-nudge-actions{flex:none;gap:6px;display:flex}.editor.phone .keep-online{flex-wrap:wrap;row-gap:8px;width:auto;max-width:none;animation:.18s ease-out keep-online-in;inset:52px 12px auto;transform:none}.editor.phone .keep-online .account-nudge-body{flex:1 1 0}.editor.phone .keep-online .account-nudge-actions{flex:1 0 100%;justify-content:flex-end}@keyframes keep-online-in{0%{opacity:0;transform:translateY(-6px)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,6px)}}h1,h2,h3,.logo,.tabs button,.segmented button,.lib-cat-head,.lib-cat-title,.fold-toggle,.tool-options .opt.text,.share-h,.card-title,.canvas-wrap svg,.presentation svg,.symed-canvas svg,.symbol-tile svg,.inline-editor{font-family:var(--serif)}.left-panel,.right-panel{max-width:42vw}.left-panel{border-right:none}.right-panel{border-left:none}.panel-resizer{z-index:3;cursor:col-resize;background:linear-gradient(var(--border), var(--border)) center / 1px 100% no-repeat;touch-action:none;flex:0 0 5px;margin:0 -2px;position:relative}.panel-resizer:hover,body.resizing-panel .panel-resizer{background:linear-gradient(var(--accent), var(--accent)) center / 2px 100% no-repeat}body.resizing-panel{cursor:col-resize;-webkit-user-select:none;user-select:none}.panel-grip{border:1px solid var(--border-strong);background:var(--panel);width:12px;height:38px;color:var(--muted);pointer-events:none;border-radius:6px;justify-content:center;align-items:center;transition:color .15s,border-color .15s,height .15s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.panel-resizer:hover .panel-grip,body.resizing-panel .panel-grip{border-color:var(--accent);height:52px;color:var(--accent)}.panel-toggle{border:1px solid var(--border-strong);background:var(--panel);width:18px;height:34px;color:var(--muted);cursor:pointer;opacity:0;border-radius:9px;justify-content:center;align-items:center;padding:0;transition:opacity .15s;display:inline-flex;position:absolute;top:44px;left:50%;transform:translate(-50%)}.panel-resizer:hover .panel-toggle,.panel-toggle:focus-visible{opacity:1}.panel-toggle:hover{color:var(--accent);border-color:var(--accent)}.panel-reopen{background:var(--panel);color:var(--muted);cursor:pointer;border:none;flex:0 0 14px;justify-content:center;align-items:center;padding:0;display:flex}.panel-reopen.left{border-right:1px solid var(--border)}.panel-reopen.right{border-left:1px solid var(--border)}.panel-reopen:hover{background:var(--hover);color:var(--accent)}.dash-top{border-bottom:1px solid var(--border);align-items:center;gap:16px;margin-bottom:26px;padding-bottom:14px;display:flex}.dash-brand{color:var(--ink);align-items:center;gap:10px;font-size:20px;text-decoration:none;display:inline-flex}.dash-top-right{align-items:center;gap:10px;margin-left:auto;display:flex}.dash-title-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.dash-title-row h1{margin:0;font-size:30px;font-weight:400}.dash-title-row p{margin:4px 0 0}.dash-title-actions{flex-wrap:wrap;gap:8px;display:flex}.dash-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;display:flex}.dash-search{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--panel);max-width:380px;color:var(--muted);flex:260px;align-items:center;gap:6px;padding:0 10px;display:flex}.dash-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dash-search input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;padding:7px 0}.dash-sort{align-items:center;gap:6px;margin-left:auto;display:flex}.dashboard .project-grid{gap:20px;margin-top:0}.dashboard .project-card{grid-template-rows:auto auto;grid-template-columns:1fr auto;transition:box-shadow .15s,transform .15s;display:grid;position:relative;overflow:visible}.dashboard .project-card:hover{transform:translateY(-2px)}.dashboard .project-card .thumb{border-radius:7px 7px 0 0;grid-column:1/-1;height:150px;padding:10px;text-decoration:none;overflow:hidden}.dashboard .card-body{gap:3px;min-width:0;padding:10px 4px 12px 14px}.dashboard .card-title{white-space:nowrap;text-overflow:ellipsis;font-size:16.5px;overflow:hidden}.card-meta{color:var(--muted);align-items:center;gap:6px;font-size:12.5px;display:flex}.badge{white-space:nowrap;background:var(--panel-2);border:1px solid var(--border);color:var(--muted);border-radius:4px;flex:none;padding:0 6px;font-size:11px;line-height:17px;display:inline-block}.badge.shared{background:var(--accent-soft);color:var(--accent);border-color:#0000}.card-menu{align-self:center;padding-right:8px;position:relative}.card-menu .menu{min-width:210px;top:auto;bottom:calc(100% + 4px)}.menu>button.danger{color:var(--danger)}.folder-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:18px 0 22px;display:grid}.folder-tile{background:var(--panel);border:1px solid var(--border);border-left:4px solid var(--folder);border-radius:8px;align-items:center;transition:box-shadow .12s,background .12s;display:flex}.folder-tile:hover{box-shadow:var(--shadow)}.folder-tile.drop-over,.folder-crumb.drop-over{background:color-mix(in srgb, var(--folder,var(--accent)) 14%, var(--panel));outline:2px dashed var(--folder,var(--accent));outline-offset:2px}.folder-open{min-width:0;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:11px 6px 11px 12px;display:flex}.folder-text{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.folder-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.folder-glyph{color:var(--folder,var(--muted));fill:color-mix(in srgb, var(--folder,var(--muted)) 22%, transparent);flex:none}.folder-tile .card-menu .menu{top:calc(100% + 4px);bottom:auto}.folder-path{color:var(--muted);flex-wrap:wrap;align-items:center;gap:2px 4px;display:flex}.folder-step{align-items:center;gap:4px;display:inline-flex}.folder-crumb{border-radius:6px;padding:2px 4px;font-size:18px}.folder-path h1{color:var(--ink);align-items:center;gap:8px;display:inline-flex}.folder-colors{flex-wrap:wrap;gap:6px;display:flex}.folder-swatch{border:1px solid var(--border);background:var(--panel);cursor:pointer;border-radius:8px;padding:6px;display:inline-flex}.folder-swatch.active{border-color:var(--folder);box-shadow:0 0 0 2px color-mix(in srgb, var(--folder) 35%, transparent)}.folder-tree{max-height:55vh;margin:0;padding:0;list-style:none;overflow-y:auto}.folder-row{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;display:flex}.folder-row:hover:not(:disabled){background:var(--accent-soft)}.folder-row:disabled{cursor:default;opacity:.55}.folder-row.current{opacity:1;font-weight:600}.project-card[draggable=true]{cursor:grab}.dashboard .project-card:has(.menu){z-index:20;transform:none}.folder-tile:has(.menu){z-index:20;transform:none}.folder-tile{position:relative}.dash-empty{text-align:center;border:1px dashed var(--border-strong);background:var(--panel);border-radius:12px;padding:64px 16px 72px}.dash-empty-logo{opacity:.85;margin-bottom:8px}.dash-empty h2{margin:6px 0 4px;font-size:24px;font-weight:400}.dash-empty-actions{justify-content:center;gap:10px;margin-top:20px;display:flex}.dash-none{grid-column:1/-1}.dash-foot .link{color:var(--accent);font-size:inherit;text-decoration:underline}.start-from{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;display:grid}.start-card{text-align:left;border:1px solid var(--border-strong);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:8px;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;display:flex}.start-card svg{color:var(--muted)}.start-card:hover{border-color:var(--accent)}.start-card.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.start-card.active svg{color:var(--accent)}.start-hint{margin:0 0 8px}.start-circuits{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;display:grid}.start-circuits .start-card{align-items:stretch;gap:6px;padding:8px}.start-circuits .start-card b{font-size:13px;line-height:1.2}.start-card .template-preview{border:1px solid var(--border);border-radius:4px;width:100%;height:64px}.start-card.active svg.template-preview{color:inherit}.modal:has(.start-circuits){width:min(580px,100vw - 32px)}.dash-empty .start-hint{margin:22px 0 0}.dash-empty .start-circuits{text-align:left;max-width:600px;margin:10px auto 0}.founder-line{margin:22px 0 0}@media (width<=640px){.dashboard,.gallery{padding:16px 14px 40px}.dash-top{flex-wrap:wrap;gap:10px;margin-bottom:18px}.dash-brand{font-size:18px}.dash-top-right{flex-wrap:wrap;gap:8px}.dash-top-right .btn-label,.dash-top-right .account-name{display:none}.dash-top-right .btn{padding-inline:10px}.dash-title-row h1{font-size:26px}.start-from{grid-template-columns:1fr}.start-circuits{grid-template-columns:1fr 1fr}.dash-sort{margin-left:0}}.count-badge{color:#fff;background:#c0392b;border-radius:9px;justify-content:center;align-items:center;min-width:17px;height:17px;margin-left:4px;padding:0 5px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.back-link{align-items:center;gap:4px;margin-bottom:6px;font-size:13px;text-decoration:none;display:inline-flex}.people-page .me-card{align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}.people-page .me-card p{margin:4px 0 0}.handle-line{align-items:center;gap:2px;display:flex}.handle{font-family:var(--mono);color:var(--accent);font-size:15px}.people-grid{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}.people-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px 18px 18px}.people-card h2{align-items:center;gap:8px;margin:0 0 12px;font-size:20px;font-weight:400;display:flex}.people-h{font-size:13px;font-family:var(--sans);color:var(--muted);margin:18px 0 6px;font-weight:600}.people-add{gap:8px;display:flex}.people-add>input{flex:1;min-width:0}.people-input{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg);min-width:0;color:var(--muted);flex:1;align-items:center;gap:6px;padding:0 8px;display:flex}.people-input:focus-within{border-color:var(--accent)}.people-input input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;padding:6px 0}.people-list{margin:0;padding:0;list-style:none}.person-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:6px 0;display:flex}.person-row:last-child{border-bottom:none}.person-name{flex-direction:column;flex:1;min-width:0;display:flex}.person-actions{align-items:center;gap:4px;display:flex}.small-btn{align-items:center;gap:4px;padding:2px 9px;font-size:12.5px;display:inline-flex}.team-list{flex-direction:column;gap:12px;margin-top:14px;display:flex}.team-card{border:1px solid var(--border);background:var(--bg);border-radius:8px;padding:10px 12px}.team-card header{align-items:center;gap:8px;display:flex}.team-members{flex-wrap:wrap;gap:6px;margin:10px 0 8px;padding:0;list-style:none;display:flex}.team-members li{border:1px solid var(--border);background:var(--panel);border-radius:14px;align-items:center;gap:5px;padding:2px 6px 2px 2px;font-size:13px;display:inline-flex}.team-members .icon-btn{width:18px;height:18px;padding:0}.team-add{width:100%}.share-add,.share-invite{gap:8px;margin-bottom:16px;display:flex}.share-add select:first-child{flex:1;min-width:0}.team-avatar{background:var(--accent-soft);width:24px;height:24px;color:var(--accent);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}@media (width<=860px){.people-grid{grid-template-columns:1fr}}.access-mark{color:var(--accent);margin-left:2px;display:inline-flex}.access-btn{color:var(--accent)}.sheet-node.hidden-sheet>span:not(.access-mark){opacity:.55;font-style:italic}.sheet-access-info{flex-wrap:wrap;align-items:center;gap:4px 10px;margin:2px 0 12px;display:flex}.sheet-access-info .field-label{flex:0 0 100%}.sheet-access-pick{width:100%;margin-bottom:8px}.sheet-access select.rule-set{border-color:var(--accent);color:var(--accent);font-weight:600}.server-room{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;margin:6px 0 0;font-size:13px;display:flex}.server-room b{color:var(--ink)}.room-bar{background:var(--border);border-radius:3px;width:90px;height:5px;display:inline-block;overflow:hidden}.room-bar>span{background:var(--accent);border-radius:3px;height:100%;display:block}.server-room.full .room-bar>span{background:#c0392b}.server-room.full .small{color:#b03a2e}.plans-btn svg{color:#c08a1e}.plans-btn:hover svg{animation:.8s ease-in-out olg-beat}@keyframes olg-beat{30%{transform:scale(1.25)}60%{transform:scale(.95)}}.admin-tiles{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-bottom:20px;display:grid}.admin-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-tile{border:1px solid var(--border);background:var(--panel);border-radius:8px;flex-direction:column;gap:3px;padding:12px 14px;display:flex}.admin-tile b{font-size:22px;font-weight:600}.admin-tile b.admin-date{font-size:16px}.admin-tile .link{color:var(--accent);align-self:flex-start;align-items:center;gap:4px;display:inline-flex}.usage-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.usage-head h2{margin:0}.usage .seg{border:1px solid var(--border);border-radius:7px;display:inline-flex;overflow:hidden}.usage .seg button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 10px;font-size:12.5px}.usage .seg button+button{border-left:1px solid var(--border)}.usage .seg button.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.usage-chart{margin:4px 0 18px;position:relative}.usage-chart svg{display:block}.usage .admin-tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.usage-grid{stroke:var(--border);stroke-width:1px;stroke-dasharray:2 4}.usage-base{stroke:var(--border-strong);stroke-width:1px}.usage-axis{fill:var(--muted);font-size:11px}.usage-bar{fill:var(--accent);transition:opacity .12s}.usage-bar.dim{opacity:.35}.usage-tip{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow,0 4px 14px #0000001f);white-space:nowrap;pointer-events:none;border-radius:6px;flex-direction:column;gap:1px;padding:6px 9px;font-size:12.5px;display:flex;position:absolute}.usage-lists{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px 24px;display:grid}.usage-list h3{color:var(--muted);margin:0 0 6px;font-size:13px;font-weight:600}.usage-list ul{margin:0;padding:0;list-style:none}.usage-list li{justify-content:space-between;gap:10px;padding:4px 8px;font-size:13.5px;display:flex;position:relative}.usage-list li+li{margin-top:2px}.usage-fill{background:var(--accent-soft);border-radius:4px;position:absolute;inset:0 auto 0 0}.usage-name,.usage-list b{position:relative}.usage-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.usage-list b{font-variant-numeric:tabular-nums;font-weight:600}.admin-page .people-card{margin-bottom:20px}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:13.5px}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 10px 6px 0}.admin-table th{color:var(--muted);font-size:12.5px;font-weight:600}.admin-limit{flex-direction:column;display:inline-flex}.admin-limit input{width:72px}.admin-messages{margin:0;padding:0;list-style:none}.admin-messages li{border-bottom:1px solid var(--border);padding:10px 0}.admin-messages li:not(.read){border-left:3px solid var(--accent);padding-left:10px}.admin-messages li.read{opacity:.7}.admin-messages .msg-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-messages .msg-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0}.admin-page .people-card h2{align-items:center;gap:8px;display:flex}.admin-layout{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:22px;display:grid}.admin-nav{border:1px solid var(--border);background:var(--panel);border-radius:10px;flex-direction:column;gap:2px;padding:6px;display:flex;position:sticky;top:12px}.admin-nav button{color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;display:flex}.admin-nav button span:not(.count-badge){flex:1}.admin-nav button:hover{background:var(--accent-soft)}.admin-nav button.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.admin-main{min-width:0}.count-badge.soft{background:var(--accent-soft);color:var(--accent)}.admin-page h2 .count-badge{font-family:var(--sans)}.admin-page .dash-title-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-page .seg{border:1px solid var(--border);border-radius:7px;display:inline-flex;overflow:hidden}.admin-page .seg button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:6px 11px;font-size:13px}.admin-page .seg button+button{border-left:1px solid var(--border)}.admin-page .seg button.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.btn.quiet-on{border-color:var(--accent);color:var(--accent)}.tab-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 14px;margin-bottom:10px;display:flex}.tab-head h2{margin:0}.tab-head-end{flex-direction:row-reverse;align-items:center;gap:12px;display:inline-flex}.tab-tools{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px;display:flex}.admin-search{border:1px solid var(--border);background:var(--bg,transparent);min-width:220px;max-width:340px;color:var(--muted);border-radius:8px;flex:220px;align-items:center;gap:6px;padding:5px 8px;display:inline-flex}.admin-search input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:13.5px}.admin-chips{flex-wrap:wrap;gap:6px;display:flex}.admin-chips button{border:1px solid var(--border);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:12.5px;display:inline-flex}.admin-chips button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.chip-n{opacity:.8;font-size:11px}.admin-table th .th-sort{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;padding:0;display:inline-flex}.admin-table th[aria-sort=ascending],.admin-table th[aria-sort=descending]{color:var(--accent)}.admin-table .num{text-align:right;font-variant-numeric:tabular-nums}.admin-table th.num .th-sort{flex-direction:row-reverse}.admin-table tbody tr:hover{background:var(--accent-soft)}.admin-empty{padding:10px 0}.admin-crown{color:#c9a227;vertical-align:-1px;margin-right:4px}.kpis{grid-template-columns:repeat(auto-fill,minmax(155px,1fr))}.kpi{font:inherit;color:inherit;text-align:left;position:relative;overflow:hidden}.kpi-label{color:var(--muted);align-items:center;gap:5px;font-size:12.5px;display:inline-flex}.link-tile{cursor:pointer;transition:border-color .12s,transform .12s}.link-tile:hover{border-color:var(--accent);transform:translateY(-1px)}.spark{width:100%;height:30px;margin-top:4px}.spark-line{fill:none;stroke:var(--accent);stroke-width:1.8px;vector-effect:non-scaling-stroke}.spark-area{fill:var(--accent-soft)}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 20px;display:grid}.funnel{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.funnel li{align-items:center;gap:8px;min-height:34px;padding:0 10px;display:flex;position:relative}.funnel-bar{background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:7px;position:absolute;inset:0 auto 0 0}.funnel-label{flex:1;font-size:14px;position:relative}.funnel-label b{font-size:17px}.funnel-rate{color:var(--accent);font-size:13px;font-weight:600;position:relative}.part-guest{fill:#e08a3c;background:#e08a3c}.part-account{background:var(--accent);fill:var(--accent)}.part-unknown{background:var(--border-strong,#b9b2a3);fill:var(--border-strong,#b9b2a3)}.admin-table td .cell-sub{display:block}.admin-count-note{text-align:right;margin:-6px 0 14px}.split{margin:10px 0 8px}.split-bar{border-radius:7px;height:14px;display:flex;overflow:hidden}.split-bar span{transition:width .3s}.split-legend{flex-wrap:wrap;gap:4px 18px;margin-top:8px;font-size:13.5px;display:flex}.split-people{margin:0 0 10px}.dot{vertical-align:0;border-radius:50%;width:9px;height:9px;display:inline-block}.chart-legend{color:var(--muted);gap:16px;font-size:12.5px;display:flex}.usage-chart g.dim rect:not([fill=transparent]){opacity:.35}.starts-table{margin-top:6px}.admin-list{margin:0 0 6px;padding:0;list-style:none}.admin-list li{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:7px 0;font-size:13.5px;display:flex}.admin-list-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);flex:1;overflow:hidden}.admin-list-end{white-space:nowrap;margin-left:auto}@media (width<=860px){.admin-layout{grid-template-columns:minmax(0,1fr);gap:12px}.admin-nav{scrollbar-width:none;flex-direction:row;position:static;overflow-x:auto}.admin-nav button{flex:none;gap:6px}.admin-search{max-width:none}}.beta-tag{font-family:var(--serif);font-variant:small-caps;letter-spacing:.06em;color:#c0453a;border:1px solid #c0453a8c;border-radius:999px;align-self:flex-start;margin-left:4px;padding:0 7px 1px;font-size:12px;transform:rotate(-4deg)}.editor.phone{touch-action:manipulation;height:100dvh}.topbar.phone{padding:4px 6px;padding-top:calc(4px + env(safe-area-inset-top));gap:2px}.topbar.phone .brand{gap:4px;padding:4px}.topbar.phone .project-name{flex:1;width:auto;min-width:0;font-size:16px}.topbar.phone .icon-btn{width:38px;height:38px}.topbar.phone .collab-bar .avatars,.topbar.phone .collab-bar .btn-label{display:none}.phone-top{z-index:6;pointer-events:none;flex-direction:column;align-items:flex-start;gap:6px;display:flex;position:absolute;top:8px;left:8px;right:8px}.phone-top>*{pointer-events:auto}.phone-crumbs{background:var(--panel);border:1px solid var(--border);max-width:100%;box-shadow:var(--shadow);border-radius:999px;padding:2px 10px;overflow-x:auto}.phone-crumbs .breadcrumbs{white-space:nowrap;display:flex}.phone-mode{background:var(--panel);border:1px solid var(--border-strong);max-width:100%;box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:10px;padding:6px 6px 6px 12px;font-size:14px;display:flex}.phone-mode .btn{flex:none;min-height:34px}.editor.phone .tool-options{flex-wrap:wrap;justify-content:center;width:auto;max-width:none;top:64px;left:8px;right:8px;transform:none}.editor.phone .stamp-options{justify-content:center}.phone-selection{z-index:6;background:var(--panel);border:1px solid var(--border-strong);box-shadow:var(--shadow);border-radius:14px;gap:2px;padding:4px;animation:.14s ease-out olg-modal-in;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.phone-act,.phone-tab{min-width:56px;min-height:48px;color:var(--ink);font:500 11px var(--sans);cursor:pointer;background:0 0;border:none;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 6px;display:inline-flex;position:relative}.phone-act:active,.phone-tab:active{background:var(--hover)}.phone-act.danger{color:var(--danger)}.phone-bar{padding:4px 4px calc(4px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--border);z-index:30;justify-content:space-around;gap:2px;display:flex}.phone-tab{flex:1;min-width:0}.phone-tab.active{color:var(--accent);background:var(--accent-soft)}.phone-tab .tab-badge{font-style:normal;top:2px;right:calc(50% - 22px)}.phone-tab>span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.phone-scrim{z-index:44;background:#14100a38;position:fixed;inset:0}.phone-drawer{z-index:45;background:var(--panel);border-top:1px solid var(--border-strong);max-height:72dvh;padding-bottom:env(safe-area-inset-bottom);border-radius:16px 16px 0 0;flex-direction:column;animation:.18s ease-out phone-drawer-in;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 30px #0000002e}.phone-drawer.parts,.phone-drawer.comments,.phone-drawer.edit{height:62dvh}@keyframes phone-drawer-in{0%{opacity:0;transform:translateY(40px)}}.phone-drawer>header{font-family:var(--serif);font-variant:small-caps;letter-spacing:.03em;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 10px 6px 16px;font-size:18px;display:flex}.phone-drawer>header:before{content:"";background:var(--border-strong);border-radius:2px;width:36px;height:4px;position:absolute;top:5px;left:calc(50% - 18px)}.phone-drawer>header .icon-btn{width:38px;height:38px}.phone-drawer-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.phone-drawer-body>*{flex:1;min-height:0}.phone-drawer .library,.phone-drawer .props{width:auto}.phone-drawer input,.phone-drawer select,.phone-drawer textarea{font-size:16px}.phone-parts-tabs{align-self:flex-start;margin:10px 12px 0;flex:none!important}.phone-parts-tabs button{padding:6px 16px;font-size:15px}.phone-tools{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px;padding:12px;display:grid;flex:none!important}.phone-tools button{border:1px solid var(--border);background:var(--panel-2);color:var(--ink);font:13px var(--sans);text-align:center;cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;display:flex}.phone-tools button.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.phone-more{flex-direction:column;padding:6px 8px 12px;display:flex;flex:none!important}.phone-row{border:none;border-bottom:1px solid var(--border);min-height:50px;color:var(--ink);font:15px var(--sans);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;padding:6px 10px;display:flex}.phone-row.static{cursor:default;justify-content:space-between}.phone-row .segmented button{padding:6px 12px;font-size:14px}.phone-more .theme-list{padding:4px 6px 8px}.editor.phone .modal-backdrop{padding-top:12px}.editor.phone .modal{width:calc(100vw - 16px);max-width:none;max-height:calc(100dvh - 24px)}.inline-edit{z-index:5;position:absolute}.inline-edit .inline-editor{display:block;position:static}.inline-edit.floating{background:var(--panel);border:1px solid var(--accent);width:max-content;min-width:200px;max-width:360px;box-shadow:var(--shadow);border-radius:8px;flex-direction:column;gap:4px;padding:6px 10px 8px;display:flex}.inline-edit.floating.above{transform:translateY(calc(-100% - 8px))}.inline-edit.floating.below{transform:translateY(8px)}.inline-edit-caption{font-family:var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;gap:16px;font-size:11px;display:flex}.inline-edit-caption kbd{text-transform:none;letter-spacing:0}.inline-edit.floating .inline-editor{width:100%;min-width:0;box-shadow:none;resize:none;color:var(--ink);background:0 0;border:none;outline:none;padding:0;font-size:16px}.inline-edit.in-place .inline-editor{min-width:0;box-shadow:none;resize:none;white-space:pre-wrap;background:0 0;border:none;border-radius:0;outline:none;margin:0;padding:0;overflow:hidden}.math-dock{z-index:6;flex-direction:column;align-items:flex-end;gap:6px;max-width:min(440px,100% - 20px);display:flex;position:absolute;top:10px;right:10px}.math-dock .math-bar{box-shadow:var(--shadow)}.math-preview{max-width:100%;color:var(--ink);background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:6px;flex-direction:column;align-items:flex-start;gap:6px;padding:8px 12px;display:flex;overflow:hidden}.math-preview svg{fill:currentColor;max-width:100%;height:auto}.handle-text-width{cursor:ew-resize}.math-bar{background:var(--panel);border:1px solid var(--border);border-radius:6px;flex-wrap:wrap;gap:2px;width:max-content;max-width:min(420px,100vw - 12px);padding:3px;display:flex;position:relative}.math-field .math-bar{flex-wrap:wrap;max-width:100%;margin-bottom:4px}.math-field textarea{width:100%}.math-input{position:relative}.math-input input{width:100%}.math-input .math-bar{z-index:7;box-shadow:var(--shadow);position:absolute;top:calc(100% + 3px);left:0}.math-btn{min-width:26px;height:26px;font-family:var(--serif);color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:0 5px;font-size:14px;line-height:1}.math-btn:hover,.math-btn.active{background:var(--hover);border-color:var(--border)}.math-btn.dollars{font-family:var(--mono,monospace);color:var(--accent);font-size:12.5px;font-weight:600}.math-more{z-index:6;background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;gap:6px;width:max-content;max-width:calc(100vw - 12px);max-height:min(420px,70vh);padding:8px;display:grid;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.math-group-name{color:var(--muted);margin-bottom:2px;font-size:11px;display:block}.math-grid{grid-template-columns:repeat(8,30px);gap:2px;display:grid}.math-grid .math-btn{width:30px;min-width:0;padding:0}.math-grid .math-btn.has-face{height:auto;min-height:30px;padding:2px 0}.math-grid .math-btn.wide{grid-column:span 2;width:auto}.math-face{fill:currentColor;margin:auto;display:block;overflow:visible}@media (width<=600px){.math-grid{grid-template-columns:repeat(6,36px)}.math-btn{min-width:34px;height:34px}.math-grid .math-btn{width:36px}}.present-blank-note{z-index:1;color:#ffffff8c;pointer-events:none;border:1px solid #ffffff2e;border-radius:999px;padding:5px 12px;font-size:13px;animation:3s ease-out forwards blank-note;position:absolute;top:16px;left:50%;transform:translate(-50%)}@keyframes blank-note{0%,60%{opacity:1}to{opacity:.35}}.anim-section{border-top:1px solid var(--border);margin-top:14px;padding-top:8px}.anim-toggle{width:100%;color:inherit;font:inherit;font-variant:small-caps;letter-spacing:.04em;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px 2px;display:flex}.anim-toggle:hover{color:var(--accent)}.anim-count{background:var(--accent-soft);min-width:18px;height:18px;color:var(--accent);text-align:center;border-radius:9px;margin-left:auto;padding:0 5px;font-size:11px;font-style:normal;line-height:18px}.anim-body{gap:8px;margin-top:6px;display:grid}.anim-card{border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--panel-2);gap:6px;padding:8px;animation:.25s ease-out anim-card-in;display:grid}@keyframes anim-card-in{0%{opacity:0;transform:translateY(-4px)}}.anim-card-head{align-items:center;gap:6px;display:flex}.anim-card-head b{white-space:nowrap;font-weight:600}.anim-card-head select{flex:1;min-width:0}.anim-card .field{margin:0}.anim-swatches{flex-wrap:wrap;gap:5px;display:flex}.anim-times input{width:100%}.anim-actions{gap:6px;display:flex}.anim-add{position:relative}.anim-menu{z-index:6;background:var(--panel);border:1px solid var(--border);min-width:170px;box-shadow:var(--shadow);border-radius:8px;padding:4px;animation:.15s ease-out anim-card-in;display:grid;position:absolute;bottom:calc(100% + 4px);left:0}.anim-menu button{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:6px 10px}.anim-menu button:hover{background:var(--hover)}.flow-btn{justify-content:center;width:100%;margin:2px 0 10px}.flow-symbols{flex-wrap:wrap;gap:4px;display:flex}.flow-symbols .icon-btn{border-color:var(--border);width:38px;height:30px}.flow-preview{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);margin:2px 0 8px;padding:4px 6px 2px 30px;position:relative}.flow-preview svg{display:block}.flow-preview .flow-zero{stroke:var(--muted);stroke-opacity:.45;stroke-dasharray:3 3}.flow-preview .flow-axis{color:var(--muted);font-size:11px;font-style:italic;position:absolute;top:50%;left:7px;transform:translateY(-50%)}.flow-reverse{white-space:nowrap;align-self:flex-end;margin-bottom:8px}.slide-order{align-items:center;gap:2px;margin:2px 0 8px;font-size:13px;display:flex}.slide-order span{color:var(--muted);margin-right:auto}.slide-order b{color:var(--ink)}.slide-order .icon-btn{width:26px;height:26px}.build-order{gap:6px;margin:6px 0 10px;padding:0;list-style:none;display:grid}.build-order li{flex-wrap:wrap;align-items:baseline;gap:4px;display:flex}.build-when{min-width:52px;color:var(--muted);font-size:12px}.build-item{border:1px solid var(--border);background:var(--panel);color:inherit;font:inherit;cursor:pointer;border-radius:999px;padding:2px 8px;font-size:12.5px}.build-item:hover{border-color:var(--accent);color:var(--accent)}.anim-badge text{font-family:var(--sans,system-ui);font-weight:600}.anim-card{min-width:0}.anim-card .row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;display:grid}.anim-card input,.anim-card select{box-sizing:border-box;width:100%;min-width:0}.anim-card .check input{width:auto}.anim-card-head .icon-btn{flex:none}.version-chip{border:1px solid var(--border);color:var(--muted);font-family:var(--serif);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;align-items:baseline;gap:5px;margin-left:10px;padding:2px 9px 3px;font-size:12.5px;transition:color .15s,border-color .15s;display:inline-flex;position:relative}.version-chip:hover{color:var(--accent);border-color:var(--accent)}.version-stage{font-variant:small-caps;letter-spacing:.05em;color:#c0453a}.version-chip.fresh:after{content:"";width:8px;height:8px;box-shadow:0 0 0 2px var(--panel);background:#c0453a;border-radius:50%;animation:2.4s ease-in-out infinite version-dot;position:absolute;top:-2px;right:-2px}@keyframes version-dot{50%{transform:scale(1.35)}}@media (prefers-reduced-motion:reduce){.version-chip.fresh:after{animation:none}}.whatsnew{flex-direction:column;gap:12px;display:flex}.whatsnew .wn-links{background:var(--panel);border-top:1px solid var(--border);margin:0 -16px -14px;padding:10px 16px 12px;position:sticky;bottom:-14px}.whatsnew>.btn{align-self:flex-start}.wn-release{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2);padding:10px 14px}.wn-release.current{border-left:3px solid var(--accent)}.wn-release h3{flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 6px;display:flex}.wn-release h3 i{font-weight:400}.wn-release h3 .small{margin-left:auto}.wn-release ul{margin:0;padding-left:1.2em;line-height:1.45}.wn-release li+li{margin-top:3px}.wn-fixed-title{font-variant:small-caps;letter-spacing:.05em;color:#c0453a;margin:8px 0 2px;font-size:12px;display:block}.wn-links,.help-links{flex-wrap:wrap;gap:8px;display:flex}.dash-version{color:var(--muted);font-family:var(--serif);align-self:center;margin-left:6px;font-size:13px;text-decoration:none}.dash-version:hover{color:var(--accent)}a.phone-row{color:inherit;text-decoration:none}.browser-only{border:1px dashed var(--border-strong);height:30px;color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12.5px;display:inline-flex}.browser-only:hover{color:var(--ink);border-color:var(--accent);background:var(--hover)}.topbar.phone .browser-only{padding:0 8px}.local-pill{border:1px dashed var(--border-strong);height:30px;color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;padding:0 3px;font-size:12.5px;display:inline-flex}.local-pill>button{height:24px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.local-pill>button:hover{color:var(--ink);background:var(--hover)}.local-pill .local-signup{color:var(--accent);font-weight:600}.local-pill .local-signup:hover{color:var(--accent)}.local-pill .local-dot{color:var(--border-strong)}@media (width<=1280px){.local-pill .local-keep .btn-label,.local-pill .local-dot{display:none}}@media (width<=1024px){.local-pill .btn-label{display:none}}@media (width<=1280px){.topbar .browser-only .btn-label{display:none}.topbar .browser-only{padding:0 8px}}@media (width<=1024px){.topbar .signup-btn .btn-label,.topbar .present-btn .btn-label{display:none}}.browser-only-text p,.browser-only-text li{line-height:1.5}.browser-only-text ul{margin:0 0 4px;padding-left:20px}.browser-only-text li+li{margin-top:6px}.dash-invites{border:1px solid color-mix(in srgb, var(--accent) 30%, var(--border));background:var(--accent-soft);border-radius:10px;margin:0 0 18px;padding:6px 14px}.dash-invites ul{margin:0;padding:0;list-style:none}.dash-invites li{align-items:center;gap:10px;padding:6px 0;font-size:14px;display:flex}.dash-invites li+li{border-top:1px solid color-mix(in srgb, var(--accent) 20%, transparent)}.dash-invites li>svg{color:var(--accent);flex:none}.dash-invite-text{flex:1;min-width:0}.browser-only-banner{border:1px solid color-mix(in srgb, var(--accent) 30%, var(--border));background:var(--accent-soft);border-radius:10px;align-items:center;gap:14px;margin:0 0 18px;padding:12px 14px;display:flex}.browser-only-banner p{flex:1;margin:0;font-size:14px;line-height:1.45}.browser-only-icon{color:var(--accent);flex:none}.browser-only-banner .btn{flex:none}@media (width<=640px){.browser-only-banner{flex-wrap:wrap}.browser-only-banner p{flex-basis:calc(100% - 80px)}}.academy-admin-actions{gap:8px;display:flex}.lesson-rows{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.lesson-row{border:1px solid var(--border);background:var(--panel);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:6px 10px 6px 6px;display:flex}.lesson-row:hover{border-color:var(--accent);background:var(--hover)}.lesson-thumb{background:var(--panel-2);border-radius:4px;flex:none;width:80px;height:50px;overflow:hidden}.lesson-thumb img{object-fit:cover;width:100%;height:100%}.lesson-row-text{flex-direction:column;flex:1;min-width:0;display:flex}.lesson-badges{gap:6px;display:flex}.badge.draft{background:var(--accent-soft);color:var(--accent)}.badge.premium{color:#f5d77a;background:#2a2a2a}.badge.warn{background:var(--warning-bg);color:var(--danger)}.lesson-form textarea{resize:vertical;width:100%}.lesson-form-grid{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}.lesson-form-grid.four{grid-template-columns:repeat(4,1fr)}.lesson-publish{margin:4px 0 8px}.lesson-files{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-top:16px;padding-top:14px;display:flex}.lesson-file{border:1px solid var(--border);background:var(--panel-2);border-radius:8px;padding:10px 12px}.lesson-file-head{flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:8px;display:flex}.lesson-file-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lesson-file-actions select{max-width:260px}.lesson-cover-preview{object-fit:cover;border:1px solid var(--border);border-radius:4px;width:160px;height:100px;display:block}@media (width<=700px){.lesson-form-grid,.lesson-form-grid.four{grid-template-columns:1fr}}.lesson-file.busy{opacity:.75}.lesson-file.sent{background:color-mix(in srgb, #2e7d4f 7%, var(--panel-2));border-color:#2e7d4f}.lesson-file-sent{color:#2e7d4f;align-items:center;gap:6px;margin:-2px 0 8px;font-size:13.5px;font-weight:500;animation:.5s ease-out lesson-sent;display:flex}@keyframes lesson-sent{0%{opacity:0;transform:translateY(-3px)}}:root[data-theme=blackboard] .lesson-file-sent,:root[data-theme=slate] .lesson-file-sent{color:#8fd19e}.text-style{flex-direction:column;gap:8px;display:flex}.text-style .segmented{align-self:flex-start}.text-style .segmented button.hand-sample{font-family:"Caveat", var(--serif);font-size:17px;line-height:1}.text-style-row{flex-wrap:wrap;align-items:flex-end}.text-style-row .field{flex:none;width:56px}.segmented.icons button{align-items:center;padding:5px 6px;display:inline-flex}.segmented button:disabled{opacity:.4;cursor:not-allowed}.tool-options .opt.text.hand{font-family:"Caveat", var(--serif);font-variant:normal;white-space:nowrap;font-size:18px}.text-style-row .segmented{align-self:flex-end;margin-bottom:8px}.modal-backdrop:has(.auth-form){align-items:center;padding:16px}.editor.phone .modal-backdrop:has(.auth-form){padding:12px}.auth-why{color:var(--muted);margin:0 0 14px;font-size:14px;line-height:1.45}.auth-providers{flex-direction:column;gap:6px;margin:0 0 12px;display:flex}.auth-or{color:var(--muted);align-items:center;gap:8px;margin-top:6px;font-size:12.5px;display:flex}.auth-server{margin:12px 0 0}.auth-or:before,.auth-or:after{content:"";background:var(--border);flex:1;height:1px}.auth-providers .btn{justify-content:center;gap:8px}.auth-providers .auth-google{color:#1f1f1f;background:#fff;border-color:#747775}.profile-grid{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:22px;display:grid}.profile-photo{flex-direction:column;align-items:center;gap:8px;width:220px;display:flex}.profile-photo p{text-align:center;margin:0}.profile-crop{background:var(--panel-2);box-shadow:0 0 0 3px var(--panel), 0 0 0 5px var(--accent);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:50%;position:relative;overflow:hidden}.profile-crop:active{cursor:grabbing}.profile-crop img{pointer-events:none;max-width:none;position:absolute}.profile-current{border:2px dashed var(--border-strong);cursor:pointer;background:0 0;border-radius:50%;place-items:center;width:200px;height:200px;transition:transform .16s cubic-bezier(.34,1.56,.64,1);display:grid}.profile-current:hover{border-color:var(--accent);transform:scale(1.03)}.profile-zoom{align-items:center;gap:8px;width:100%;display:flex}.profile-zoom input{flex:1}.profile-photo-actions{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.profile-fields{flex-direction:column;gap:10px;display:flex}.profile-colors{flex-wrap:wrap;gap:8px;display:flex}.profile-color{border:2px solid var(--panel);width:28px;height:28px;box-shadow:0 0 0 1px var(--border-strong);cursor:pointer;border-radius:50%;transition:transform .12s}.profile-color:hover{transform:scale(1.12)}.profile-color.active{box-shadow:0 0 0 2px var(--ink)}.me-avatar{cursor:pointer;background:0 0;border:none;border-radius:50%;padding:0}@media (width<=560px){.profile-grid{grid-template-columns:minmax(0,1fr);justify-items:center}.profile-fields{width:100%}}.badge.test,.badge.access-test{background:var(--accent-soft);color:var(--accent)}.badge.access-account{background:var(--panel-2);border:1px solid var(--accent);color:var(--accent)}.badge.access-premium{color:#f5d77a;background:#2a2a2a}.badge.access-everyone{background:var(--panel-2);border:1px solid var(--border);color:var(--ink)}.admin-wrap{white-space:normal}.admin-beta{background:var(--accent-soft);border-radius:10px;margin:0 0 12px;padding:10px 14px}.admin-access{gap:6px;margin:0 0 16px;display:grid}.admin-access>div{align-items:baseline;gap:10px;display:flex}.admin-access dt{min-width:84px}.admin-access dd{margin:0}.lib-circuits{padding:0 10px 2px}.lib-circuits .lib-results{padding:7px 0 0}.lib-circuits .template-card{grid-template-columns:84px 1fr;align-items:center;column-gap:8px;margin:5px 0 0;padding:6px 8px;display:grid}.lib-circuits .template-preview{grid-row:span 2;height:52px;margin:0}.lib-circuits .template-card span{font-size:12px;line-height:1.3}.upsell{background:var(--panel);border:1px dashed var(--accent);border-radius:var(--radius);color:var(--ink);flex-wrap:wrap;align-items:center;gap:8px 12px;margin:8px 0;padding:8px 12px;font-size:13px;display:flex}.upsell-icon{color:var(--accent);flex:none}.upsell-body{flex-direction:column;flex:1;min-width:180px;display:flex}.upsell-title{font-family:"Caveat", var(--serif);color:var(--accent);font-size:20px;font-weight:400;line-height:1.1}.upsell-actions{gap:6px;display:flex}.access-banner .access-block{flex-direction:column;flex:1;gap:2px;display:flex}.access-banner .upsell{background:0 0;margin:4px 0 2px}.history-locked{padding:8px 4px}.history-list li.locked b{color:var(--muted)}.plan-page .plan-note{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);border-left:3px solid #d24b3e;max-width:760px;margin:0 0 18px;padding:10px 14px;font-size:14px}.plan-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:860px;margin-bottom:24px;display:grid}.plan-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:4px;padding:16px 20px 20px;display:flex}.plan-card.premium{border-top:4px solid var(--accent)}.plan-card h2,.plan-mine h2{align-items:center;gap:8px;margin:0;font-size:26px;font-weight:400;display:flex}.plan-card h2 svg,.plan-mine h2 svg{color:var(--accent)}.plan-price{font-family:var(--serif);margin:0;font-size:34px;line-height:1.15}.plan-price span{color:var(--muted);font-size:16px}.plan-price .plan-was{color:var(--muted);font-size:20px}.plan-founder-tag{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin:6px 0 0;font-size:11.5px;font-weight:600}.plan-founder{font-family:"Caveat", var(--serif);color:var(--accent);margin:4px 0;font-size:21px;line-height:1.15}.plan-current{color:var(--accent);align-items:center;gap:6px;margin:8px 0 0;font-size:13px;display:inline-flex}.plan-buttons{flex-wrap:wrap;gap:8px;margin:10px 0 4px;display:flex}.plan-table{border-collapse:collapse;background:var(--panel);width:100%;max-width:860px;font-size:13.5px}.plan-table th,.plan-table td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:8px 10px}.plan-table thead th{background:var(--panel-2);font-weight:600}.plan-table tbody th{width:22%;font-weight:600}.plan-table tbody th a{color:inherit}.plan-names{text-underline-offset:3px;cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.plan-faq{max-width:760px;margin:24px 0 40px}.plan-faq h2{font-size:22px;font-weight:400}.plan-faq h3{margin:14px 0 2px;font-size:15px}.plan-faq p{margin:0}.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;max-width:980px;display:grid}.plan-fake{max-width:560px}.usage-list{margin:0 0 10px;padding:0;list-style:none}.usage-list>.usage{border-bottom:1px dashed var(--border);grid-template-columns:minmax(0,1fr) 120px auto;align-items:center;gap:10px;padding:6px 0;font-size:13.5px;display:grid}.usage .meter{background:var(--border);border-radius:3px;height:6px;display:block;overflow:hidden}.usage .meter span{background:var(--accent);height:100%;display:block}.usage.full .meter span{background:var(--danger)}.usage-n{font-variant-numeric:tabular-nums;white-space:nowrap}@media (width<=720px){.plan-cards,.plan-grid{grid-template-columns:minmax(0,1fr)}.plan-table thead{display:none}.plan-table,.plan-table tbody,.plan-table tr,.plan-table th,.plan-table td,.plan-table tbody th{width:auto;display:block}.plan-table tr{border:1px solid var(--border);margin-bottom:8px}.plan-table th,.plan-table td{border:0}.plan-table td:before{content:attr(data-plan) ": ";color:var(--muted);font-weight:600}.usage-list>.usage{grid-template-columns:minmax(0,1fr) auto}.usage .meter{order:3;grid-column:1/-1}}
