/*! © 2026 attic rain. All rights reserved. OSCILLA and its code may not be copied, modified or reused without written permission. */:root{--bg: #232323;--panel: #1b1b1b;--card: #2a2a2a;--line: #383838;--ink: #ededeb;--mid: #9a9a96;--dim: #6f6f6c;--z1: #a8ebe2;--z2: #5fd3c3;--z3: #e0a85a;--z4: #c47a1e;--wv: #4a4a4a;--amberbg: #2c241a;--amberline: #5a3e1f;--font: Helvetica, "Helvetica Neue", Arial, sans-serif;--safe-b: env(safe-area-inset-bottom, 0px);color-scheme:dark}:root[data-theme=light]{--bg: #f4f4f2;--panel: #ffffff;--card: #ebebe8;--line: #d6d6d2;--ink: #161616;--mid: #5d5d5a;--dim: #8a8a86;--z1: #3f9e92;--z2: #1f8a7d;--z3: #b8741a;--z4: #8a4f0c;--wv: #c9c9c5;--amberbg: #fbf0e2;--amberline: #e6c79d;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 var(--font);font-variant-numeric:tabular-nums;overflow-x:hidden}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}.z1{color:var(--z1)}.z2{color:var(--z2)}.z3{color:var(--z3)}.z4{color:var(--z4)}.z0{color:var(--mid)}.ic{width:42%;height:42%;display:block;margin:auto}.ch{width:12px;height:12px;display:inline-block;vertical-align:-1px}.pact .ic{width:14px;height:14px;display:inline-block;vertical-align:-2px;margin:0}.play,.roplay{display:flex;align-items:center;justify-content:center;padding:0}.pcard>button .k,.slist .k{display:flex;align-items:center}.bar{display:flex;align-items:center;gap:12px;padding:16px;max-width:1280px;margin:0 auto}.brand{display:block;line-height:0}.logo{height:26px;width:auto;display:block}:root[data-theme=light] .logo{filter:invert(1)}.prod{font-size:12px;letter-spacing:.2em;color:var(--mid);margin-left:auto}.ghost{border:1px solid var(--line);background:transparent;border-radius:18px;padding:0 14px;height:36px;font-size:13px}#landing{max-width:1280px;margin:0 auto;padding:0 16px 24px}.hero{display:flex;flex-direction:column;align-items:stretch;gap:8px}.circle{display:flex;justify-content:center}#hero{width:min(86vw,360px);aspect-ratio:1;display:block}.words h1{font-size:32px;line-height:1.08;letter-spacing:-.01em;margin:10px 0 12px;font-weight:700}.subhead{font-size:16px;line-height:1.5;color:var(--mid);margin:0 0 20px;max-width:34em}.cta{display:flex;flex-direction:column;gap:10px}.primary{height:54px;border-radius:27px;border:0;background:var(--z2);color:#0f2e2a;font-size:17px;font-weight:700;padding:0 28px}.primary:active{transform:scale(.98)}.drophint{display:none;font-size:14px;color:var(--mid)}.progress{margin-top:14px;display:flex;flex-direction:column;gap:8px}.pbar{height:6px;border-radius:3px;background:var(--line);overflow:hidden}.pbar i{display:block;height:100%;width:0;background:var(--z2);transition:width .15s}.ptext{font-size:13px;color:var(--mid)}.err{color:var(--z3);font-size:14px}.example{margin-top:26px;padding:14px;border-radius:12px;background:var(--card);border:1px solid var(--line);display:flex;flex-direction:column;gap:10px;cursor:pointer}.exhead{display:flex;flex-direction:column;gap:4px}.lbl{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--mid)}.exhead b{font-size:16px}.exnums{display:flex;justify-content:space-between;gap:12px}.num{display:flex;flex-direction:column}.num b{font-size:28px;line-height:1.05;font-weight:700}.num span{font-size:11px;color:var(--mid)}.exline{width:100%;height:56px;display:block;border-radius:6px;background:var(--panel)}.exopen{font-size:13px;color:var(--z2);white-space:nowrap}.veil{position:fixed;inset:0;background:#0000008c;z-index:40;display:flex;align-items:center;justify-content:center;pointer-events:none}.veil div{border:2px solid var(--z2);border-radius:18px;padding:28px 40px;font-size:20px;color:var(--z2);background:#141414b3}#report{max-width:1280px;margin:0 auto;padding:0 16px calc(96px + var(--safe-b))}.rgrid{display:flex;flex-direction:column;gap:22px}.side,.main,.sidebox{display:contents}.o1{order:1}.o2{order:2}.o3{order:3}.o4{order:4}.o5{order:5}.o6{order:6}.o7{order:7}.o8{order:8}.o9{order:9}.o10{order:10}.o11{order:11}.rgrid section{min-width:0}.rhead .lbl{display:block;margin-bottom:6px}.rname{font-size:22px;font-weight:700;margin:0 0 4px;word-break:break-word}.vt{font-size:24px;line-height:1.15;margin:4px 0;font-weight:700}.sub{color:var(--mid);margin:0;font-size:14px}.note{color:var(--dim);font-size:12px;margin:6px 0 0}.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.chips::-webkit-scrollbar{display:none}.chip{flex-shrink:0;height:36px;padding:0 14px;border-radius:18px;border:1px solid var(--line);background:transparent;font-size:13px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.chip i{width:8px;height:8px;border-radius:4px;background:var(--mid)}.chip i.z2{background:var(--z2)}.chip i.z3{background:var(--z3)}.chip i.z4{background:var(--z4)}.chip.on{background:var(--z2);color:#0f2e2a;border-color:var(--z2);font-weight:700}.chip.on i{background:#0f2e2a}.nums{display:flex;justify-content:space-between;gap:12px}.listen{padding:12px;border-radius:12px;background:var(--card);display:flex;flex-direction:column;gap:10px}.lrow{display:flex;align-items:center;gap:12px}.play{width:48px;height:48px;border-radius:24px;border:0;background:var(--z2);color:#0f2e2a;font-size:17px;flex-shrink:0}.ab{display:flex;flex:1;border:1px solid var(--line);border-radius:8px;overflow:hidden}.ab button{flex:1;min-height:44px;border:0;background:transparent;font-size:13px;padding:6px}.ab button.on{background:var(--line);font-weight:700}.lnote{font-size:12px;color:var(--mid);margin:0}.ppos{height:4px;border-radius:2px;background:var(--line);position:relative;overflow:hidden}.ppos i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--z2)}h2.h{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mid);margin:0 0 10px;font-weight:400;display:flex;justify-content:space-between;align-items:baseline;gap:10px}h2.h small{letter-spacing:0;text-transform:none;font-size:12px;color:var(--dim)}.crumb{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--mid);margin-bottom:8px}.crumb button{border:0;border-radius:6px;background:var(--card);padding:6px 10px;font-size:12px;min-height:32px}.crumb .cur{background:var(--amberline);color:#f8d3a4}.secstrip{display:flex;height:30px;gap:2px;margin-bottom:4px}.secstrip button{border:0;padding:0 6px;font-size:11px;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--ink);min-width:0}.tlwrap{position:relative}#tl{width:100%;height:190px;display:block;border-radius:6px;background:var(--panel);touch-action:none;cursor:crosshair}.ruler{display:flex;justify-content:space-between;font-size:10px;color:var(--dim);margin-top:4px}.layers{display:flex;gap:6px;overflow-x:auto;margin-top:8px;scrollbar-width:none}.layers .chip{height:32px;font-size:12px}.plist{display:flex;flex-direction:column;gap:8px}.pcard{border-radius:8px;background:var(--amberbg);border:1px solid var(--amberline)}.pcard.s0{background:var(--card);border-color:var(--line)}.pcard>button{width:100%;text-align:left;background:transparent;border:0;padding:12px;display:flex;justify-content:space-between;gap:10px;min-height:44px}.pcard .pt{font-weight:700}.pcard.s1 .pt{color:var(--z3)}.pcard.s2 .pt{color:var(--z4)}:root:not([data-theme=light]) .pcard.s2 .pt{color:#e8933a}.pbody{padding:0 12px 12px;display:flex;flex-direction:column;gap:10px;font-size:14px}.pbody .lbl{color:#c9b08c}:root[data-theme=light] .pbody .lbl{color:#8a6a3a}.pact{display:flex;gap:8px;flex-wrap:wrap}.pact button{min-height:40px;padding:0 12px;border-radius:8px;border:1px solid var(--amberline);background:transparent;font-size:13px}.ok{color:var(--z2);margin:0}.fixed{color:var(--z2);text-decoration:line-through;font-size:13px;margin:0}.slist{border-radius:8px;background:var(--card);overflow:hidden}.slist button{display:grid;grid-template-columns:minmax(0,1.6fr) .7fr .9fr .7fr 14px;gap:8px;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px;text-align:left;min-height:44px;font-size:14px}.slist button:last-child{border-bottom:0}.slist .k{color:var(--mid)}.svgbox svg{width:100%;height:auto;display:block}.svgbox .gr{stroke:var(--line);stroke-width:1}.svgbox .tl{fill:var(--mid);font-size:11px}.svgbox .ln{fill:none;stroke-width:2;stroke-linejoin:round}.svgbox .ln.z2{stroke:var(--z2)}.svgbox .ln.z3{stroke:var(--z3)}.svgbox .tg{stroke:var(--ink);stroke-width:1.5;stroke-dasharray:3 2}.svgbox rect.z1{fill:var(--z1)}.svgbox rect.z2{fill:var(--z2)}.svgbox rect.z3{fill:var(--z3)}.svgbox rect.z4{fill:var(--z4)}.legend{font-size:12px;color:var(--mid);margin:6px 0 0}.legend i{display:inline-block;width:14px;height:2px;vertical-align:middle;margin:0 4px 0 8px}details{border-radius:8px;background:var(--card)}details>summary{list-style:none;padding:14px 12px;min-height:44px;display:flex;justify-content:space-between;cursor:pointer}details>summary::-webkit-details-marker{display:none}details>summary:after{content:"";width:7px;height:7px;margin:5px 4px 0 0;border-right:1.6px solid var(--mid);border-bottom:1.6px solid var(--mid);transform:rotate(45deg);flex-shrink:0}details[open]>summary:after{transform:rotate(-135deg);margin-top:9px}details .dbody{padding:0 12px 12px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:400;color:var(--mid)}.share{display:flex;gap:8px;flex-wrap:wrap}.share button{min-height:44px;padding:0 16px;border-radius:22px;border:1px solid var(--line);background:transparent;font-size:14px}.readout{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--card);border-top:1px solid var(--line);padding:10px 16px calc(12px + var(--safe-b));display:flex;align-items:center;gap:12px}.roplay{width:44px;height:44px;border-radius:22px;border:0;background:var(--z2);color:#0f2e2a;flex-shrink:0;font-size:15px}.rovals{display:flex;flex-wrap:wrap;gap:2px 14px;font-size:13px;min-width:0}.rovals .w{color:var(--mid);width:100%}.foot{max-width:1280px;margin:0 auto;padding:24px 16px 40px;display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--dim)}#report:not([hidden])~.foot{padding-bottom:calc(110px + var(--safe-b))}.toast{position:fixed;left:50%;bottom:calc(90px + var(--safe-b));transform:translate(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:20px;font-size:13px;z-index:50}@media(min-width:700px){.words h1{font-size:40px}.cta{flex-direction:row;align-items:center;gap:18px}.rgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px 24px;align-items:start}.rgrid .wide{grid-column:1 / -1}#tl{height:260px}}html.fine .drophint{display:inline}@media(min-width:1100px){.hero{flex-direction:row-reverse;align-items:center;gap:48px;min-height:560px}.circle{flex:0 0 auto}#hero{width:520px}.words{flex:1}.words h1{font-size:58px;line-height:1.03;max-width:11em}.subhead{font-size:19px}.example{flex-direction:row;align-items:center;gap:28px}.example .exhead{width:300px}.example .exnums{width:260px}.example .exline{flex:1}.rgrid{grid-template-columns:minmax(0,1fr) 400px;gap:22px 32px}.main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;grid-column:1;grid-row:1;min-width:0;align-content:start}.main .o5,.main .o7{grid-column:1 / -1}.side{display:block;grid-column:2;grid-row:1}.sidebox{position:sticky;top:16px;display:flex;flex-direction:column;gap:22px}.rgrid>.wide{grid-column:1 / -1}#tl{height:340px}.readout{display:none!important}.dock{display:flex!important}}.dock{display:none;gap:20px;flex-wrap:wrap;padding:10px 12px;border-radius:6px;background:var(--card);font-size:13px;margin-top:8px}@media print{:root{--bg: #fff;--panel: #fff;--card: #f4f4f4;--line: #ccc;--ink: #000;--mid: #333;--dim: #555;--z1: #3f9e92;--z2: #1f8a7d;--z3: #b8741a;--z4: #8a4f0c;--amberbg: #fff;--amberline: #e6c79d;color-scheme:light}.bar button,.readout,.listen,.share,.layers,.veil,#landing,.crumb,.pact{display:none!important}.logo{filter:invert(1)}details>.dbody{display:block!important}.sidebox{position:static}section{break-inside:avoid}}
