html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}.problems,.project,.case,.flowlab__notes .measure,.leverage,.practices li,.fossils,.colophon,.work,.contact__grid>div{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(16px)saturate(1.1)}.project__meta{flex-wrap:wrap;gap:8px;display:flex}.project__meta span{border:1px solid var(--line-2);font-family:var(--font-mono);color:var(--text-2);border-radius:999px;padding:4px 11px;font-size:11.5px}.problems{margin-bottom:clamp(56px,9vh,110px);padding:clamp(6px,1vw,12px) clamp(18px,2.6vw,36px)}.problems__head,.problems__list a{grid-template-columns:40px minmax(0,1fr) minmax(0,1.2fr) minmax(0,.55fr);align-items:baseline;gap:6px clamp(16px,2vw,28px);display:grid}.problems__head{font-family:var(--font-mono);letter-spacing:.05em;color:var(--text-3);padding:14px 0 12px;font-size:11.5px}.problems__list li{border-top:1px solid var(--line)}.problems__list a{padding:18px 0}.problems__n{font-family:var(--font-mono);color:var(--text-3);font-size:12px}.problems__q{letter-spacing:-.02em;font-size:16.5px;line-height:1.45;transition:color .25s}.problems__list a:hover .problems__q,.problems__list a:focus-visible .problems__q{color:var(--ice)}.problems__a{color:var(--text-2);font-size:14px;line-height:1.6}.problems__r{font-family:var(--font-mono);color:var(--acid);font-size:12.5px;line-height:1.55}.part{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ice);margin:26px 0 10px;font-size:12px}.part:first-child,.part+.notes__list,.part+.measure{margin-top:0}.choices{margin-top:clamp(24px,3.4vh,36px)}.result{background:var(--acid-soft);color:var(--text-2);border:1px solid #c8ff4a4d;border-radius:12px;margin-top:18px;padding:16px 18px;font-size:14.5px;line-height:1.62}.result b{color:var(--acid);margin-right:6px}.project{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);margin-bottom:clamp(56px,9vh,110px);padding:clamp(24px,3.4vw,48px);display:grid}.project__name{letter-spacing:-.045em;margin-top:22px;font-size:clamp(30px,3.4vw,48px);line-height:1.15}.project__name small{letter-spacing:-.02em;color:var(--text-2);margin-top:8px;font-size:.42em;font-weight:600;display:block}.project__desc{color:var(--text-2);margin-top:20px}.constraints{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:26px;display:grid}.constraints li{border:1px solid var(--line);color:var(--text-3);background:#05060a80;border-radius:12px;padding:14px 16px;font-size:13.5px;line-height:1.5}.constraints b{color:var(--text);margin-bottom:4px;font-size:15px;display:block}.stack{font-family:var(--font-mono);color:var(--text-3);margin-top:22px;font-size:12.5px;line-height:1.8}.roles{flex-direction:column;gap:20px;display:flex}.roles figcaption b{letter-spacing:-.02em;font-size:18px;display:block}.roles figcaption span{color:var(--text-2);margin-top:8px;font-size:14.5px;line-height:1.6;display:block}.roles__diagram{justify-items:center;display:grid;position:relative}.roles__image{border:1px solid var(--ice);background:var(--ice-soft);border-radius:12px;justify-items:center;gap:2px;padding:10px 18px;display:grid;box-shadow:0 0 40px #6fe3ff2e}.roles__image span{font-family:var(--font-mono);color:var(--ice);font-size:13px}.roles__image small{color:var(--text-3);font-size:11.5px}.roles__wires{width:100%;height:56px;overflow:visible}.roles__wires path{fill:none;stroke:#6fe3ff73;stroke-width:1.2px;vector-effect:non-scaling-stroke;stroke-dasharray:4 6;animation:1.6s linear infinite wire}@keyframes wire{to{stroke-dashoffset:-20px}}.roles__list{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;display:grid}.roles__list li{border:1px solid var(--line-2);text-align:center;transition:border-color .25s, transform .25s var(--ease-out);background:#05060a99;border-radius:12px;padding:12px 10px}.roles__list li:hover{border-color:var(--ice);transform:translateY(-2px)}.roles__list b{font-family:var(--font-mono);color:var(--text);font-size:12.5px;display:block}.roles__list span{color:var(--text-3);margin-top:6px;font-size:12px;line-height:1.45;display:block}.code{border:1px solid var(--line);color:#d9e2ee;background:#030407bf;border-radius:12px;padding:16px 18px;font-size:12.5px;line-height:1.65;overflow-x:auto}.code .k{color:var(--violet)}.code .t{color:var(--ice)}.code .n{color:var(--amber)}.code .c{color:var(--text-3)}.case{margin-bottom:clamp(36px,6vh,72px);padding:clamp(22px,3.2vw,44px)}.case__head{max-width:920px}.case__tag{font-family:var(--font-mono);letter-spacing:.05em;flex-wrap:wrap;gap:8px;font-size:11.5px;display:flex}.case__tag span{border:1px solid var(--line-2);color:var(--text-2);border-radius:999px;padding:4px 10px}.case__tag span:first-child{background:var(--text);color:var(--bg);border-color:#0000;font-weight:600}.case__tag .sev,b.sev{color:var(--ember);background:var(--ember-soft);border-color:#ff5b2e80}b.sev{font-family:var(--font-mono);border:1px solid;border-radius:999px;margin-right:4px;padding:1px 7px;font-size:10.5px;display:inline-block}.case__head h3{letter-spacing:-.048em;text-wrap:balance;margin-top:20px;font-size:clamp(28px,3.6vw,54px);font-weight:760;line-height:1.14}.facts{gap:6px;max-width:820px;margin-top:18px;display:grid}.chapter__head .facts{max-width:680px;margin-top:26px}.facts li{color:var(--text-2);text-wrap:pretty;padding-left:20px;font-size:clamp(15px,1.15vw,17px);line-height:1.6;position:relative}.facts li:before{content:"";background:var(--text-3);width:9px;height:1px;position:absolute;top:.8em;left:2px}.facts b{color:var(--text)}.case__grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:clamp(20px,3vw,40px);margin-top:clamp(26px,4vh,40px);display:grid}.notes__list{gap:2px;margin-top:16px;display:grid}.notes__list>div{border-top:1px solid var(--line);padding:14px 0}.notes__list dt{font-family:var(--font-mono);letter-spacing:.03em;color:var(--ice);font-size:12px}.notes__list dd{color:var(--text-2);margin-top:6px;font-size:14.5px;line-height:1.62}.notes__honest{border:1px dashed var(--line-3);color:var(--text-2);border-radius:12px;margin-top:14px;padding:14px 16px;font-size:14px}.notes__honest b{font-family:var(--font-mono);letter-spacing:.05em;color:var(--amber);margin-bottom:4px;font-size:11.5px;font-weight:500;display:block}.notes__steps{counter-reset:s;gap:12px;margin-top:16px;display:grid}.notes__steps li{counter-increment:s;color:var(--text-2);padding-left:40px;font-size:14.5px;line-height:1.62;position:relative}.notes__steps li:before{content:counter(s);width:26px;height:26px;color:var(--ember);font-family:var(--font-mono);border:1px solid #ff5b2e80;border-radius:50%;place-items:center;font-size:12px;display:grid;position:absolute;top:0;left:0}.notes__steps b{color:var(--text)}.record{border-top:1px solid var(--line);margin-top:clamp(22px,3vh,34px)}.record summary{cursor:pointer;color:var(--text-2);justify-content:space-between;align-items:center;gap:16px;padding:18px 0 4px;font-size:15px;font-weight:600;list-style:none;transition:color .2s;display:flex}.record summary::-webkit-details-marker{display:none}.record summary:hover{color:var(--text)}.record summary i{border:1px solid var(--line-2);border-radius:50%;flex:none;width:32px;height:32px;position:relative}.record summary i:before,.record summary i:after{content:"";width:11px;height:1.5px;transition:transform .3s var(--ease-out);background:currentColor;margin:-.75px 0 0 -5.5px;position:absolute;top:50%;left:50%}.record summary i:after{transform:rotate(90deg)}.record[open] summary i:after{transform:rotate(0)}.record__body{color:var(--text-2);gap:22px;padding-top:18px;display:grid}.record__body>p{max-width:820px}.record__foot{color:var(--text-3);font-size:14.5px}.lessons{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.lessons li{border:1px solid var(--line);background:#05060a80;border-radius:12px;padding:16px 18px;font-size:14.5px;line-height:1.62}.lessons b{color:var(--text);margin-bottom:4px;display:block}.incidents td:nth-child(2){color:var(--text)}.flow{counter-reset:f;gap:10px;display:grid}.flow li{counter-increment:f;border:1px solid var(--line);background:#05060a80;border-radius:12px;grid-template-columns:34px 120px minmax(0,1fr);align-items:baseline;gap:12px;padding:14px 16px;font-size:14.5px;line-height:1.6;display:grid}.flow li:before{content:"0" counter(f);font-family:var(--font-mono);color:var(--text-3);font-size:12px}.flow b{color:var(--ice)}.case-pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(20px,2.4vw,32px);display:grid}.case--half .case__head h3{font-size:clamp(24px,2.4vw,34px)}.case--half .demo,.case--half .notes{margin-top:26px}.rules{gap:8px;margin-top:18px;display:grid}.rules li{border:1px solid var(--line);color:var(--text-3);background:#05060a80;border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.55}.rules b{color:var(--text);font-size:14.5px;display:block}.formula{margin-top:12px}.formula code{white-space:normal;color:var(--ice);padding:8px 10px;font-size:12.5px;line-height:1.6;display:block}.flowlab .chapter__head .project__meta{margin-top:22px}.flowlab__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:clamp(20px,3vw,40px);display:grid}.features{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.features li{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(12px);border-radius:14px;padding:16px 18px}.features b{font-size:15.5px;display:block}.features span{color:var(--text-2);margin-top:6px;font-size:13.5px;line-height:1.6;display:block}.measure{background:var(--line);gap:1px;margin-top:14px;display:grid;overflow:hidden}.measure__item{background:#080a0feb;padding:20px 22px}.measure__k{font-family:var(--font-mono);letter-spacing:.05em;color:var(--text-3);font-size:11.5px}.measure__v{font-family:var(--font-mono);letter-spacing:-.04em;align-items:baseline;gap:10px;margin-top:6px;font-size:clamp(26px,2.6vw,36px);font-weight:600;display:flex}.measure__v i{color:var(--text-3);font-size:.6em;font-style:normal}.measure__d{color:var(--text-2);margin-top:8px;font-size:14px;line-height:1.6}.bars{gap:6px;margin-top:14px;display:grid}.bars span{font-family:var(--font-mono);color:var(--text);z-index:0;padding:5px 10px;font-size:11.5px;display:block;position:relative}.bars span:before{content:"";z-index:-1;width:var(--w);transform-origin:0;min-width:6px;transform:scaleX(var(--grow,1));transition:transform 1.2s var(--ease-out);background:#ff5b2e52;border-radius:6px;position:absolute;inset:0 auto 0 0}.bars span.is-good:before{background:#c8ff4a57}.pipeline{max-width:620px;margin-bottom:clamp(48px,8vh,90px)}.pipeline__list{counter-reset:p;display:grid}.pipeline__list li{counter-increment:p;border-top:1px solid var(--line);grid-template-columns:52px minmax(0,1fr);gap:4px 6px;padding:18px 0;transition:background .4s;display:grid;position:relative}.pipeline__list li:before{content:"0" counter(p);font-family:var(--font-mono);color:var(--text-3);grid-row:span 3;padding-top:3px;font-size:13px;transition:color .3s}.pipeline__list b{letter-spacing:-.02em;font-size:19px}.pipeline__list span{color:var(--text-2);font-size:14.5px;line-height:1.6}.pipeline__list em{color:var(--acid);text-shadow:0 0 16px #05060af2,0 0 3px #05060ae6;grid-column:2;margin-top:4px;font-size:14px;font-style:normal;line-height:1.6}.inline-link{color:var(--ice);text-underline-offset:3px;text-decoration:underline}.pipeline__list li.is-active:before,.pipeline__list li.is-active b{color:var(--acid)}.pipeline__list li:after{content:"";background:var(--acid);width:0;height:1px;transition:width .6s var(--ease-out);position:absolute;top:-1px;left:0}.pipeline__list li.is-active:after{width:100%}.agents__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:clamp(20px,3vw,40px);margin-bottom:clamp(28px,5vh,48px);display:grid}.leverage{padding:clamp(22px,3vw,36px)}.leverage__list{counter-reset:l;gap:16px;display:grid}.leverage__list li{counter-increment:l;padding:0 0 12px 34px;position:relative}.leverage__list li:before{content:counter(l);font-family:var(--font-mono);color:var(--text-3);font-size:13px;position:absolute;top:2px;left:0}.leverage__list li:after{content:"";height:4px;width:calc((100% - 34px) * var(--w,1) * var(--grow,1));background:linear-gradient(90deg, var(--acid), var(--ice));transition:width 1.2s var(--ease-out);border-radius:4px;position:absolute;bottom:0;left:34px}.leverage__list li:last-child:after{background:var(--line-3)}.leverage__list b{font-size:16px;display:block}.leverage__list span{color:var(--text-3);font-size:13.5px;display:block}.practices{gap:10px;display:grid}.practices li{padding:18px 20px}.practices b{font-size:16px;display:block}.practices span{color:var(--text-2);margin-top:6px;font-size:14px;line-height:1.62;display:block}.fossils,.colophon{margin-bottom:clamp(28px,5vh,48px);padding:clamp(22px,3vw,36px)}.loop-line{color:var(--text-2);margin-top:16px;font-size:14.5px}.term{border:1px solid var(--line);color:#d6dde8;background:#030407;border-radius:12px;padding:18px 20px;font-size:13px;line-height:1.75;overflow-x:auto}.term .p{color:var(--acid)}.term .g{color:var(--ice)}.term .a{color:var(--acid)}.term .r{color:var(--ember)}.term .d{color:var(--text-3)}.term--colophon{min-height:12.5em}.examples{margin-bottom:clamp(28px,5vh,48px)}.examples__note{max-width:720px;color:var(--text-3);font-size:14.5px}.examples__grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;margin-top:18px;display:grid}.ex{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);-webkit-backdrop-filter:blur(16px);overflow:hidden}.ex__bar{border-bottom:1px solid var(--line);font-family:var(--font-mono);color:var(--text-3);justify-content:space-between;gap:12px;padding:12px 16px;font-size:12px;display:flex}.ex__bar b{color:var(--ice);font-weight:500}.ex__body{padding:14px 16px}.ex__code{color:#d6dde8;margin:0;padding:14px 16px;font-size:12.5px;line-height:1.7;overflow-x:auto}.ex__code .c{color:var(--text-3)}.ex__code .k{color:var(--ice)}.ex__code .a,.ex__code .d-add{color:var(--acid)}.ex__code .d-del{color:var(--ember);text-decoration:line-through}.ex__table{font-size:13px}.ex__foot{color:var(--text-2);border-top:1px dashed var(--line);padding:10px 16px 14px;font-size:13px;line-height:1.6}.ex__body .ex__foot{margin:12px -16px -14px}.ex__title{font-size:16px;font-weight:700}.ex__title small{font-family:var(--font-mono);color:var(--acid);margin-left:6px;font-size:11.5px;font-weight:400}.ex__tags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.ex__tags span{border:1px solid var(--line-2);font-family:var(--font-mono);color:var(--text-2);border-radius:999px;padding:2px 9px;font-size:11px}.ex__dl{gap:8px;margin-top:12px;font-size:13.5px;display:grid}.ex__dl dt{font-family:var(--font-mono);color:var(--ice);font-size:11.5px}.ex__dl dd{color:var(--text-2)}.ex__review{color:var(--text-2);gap:8px;padding:14px 16px;font-size:13.5px;line-height:1.55;display:grid}.ex__review b{font-family:var(--font-mono);border:1px solid;border-radius:999px;margin-right:8px;padding:1px 8px;font-size:10.5px;font-weight:500;display:inline-block}.ex__review .sev{color:var(--ember)}.ex__review .mid{color:var(--amber)}.ex__review .ok{color:var(--acid)}.works{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.work{transition:border-color .3s, transform .4s var(--ease-out), background .3s;flex-direction:column;padding:22px 20px;display:flex;position:relative}.work:hover{border-color:var(--line-3);background:#0e111adb;transform:translateY(-4px)}.work:target{border-color:var(--ice);box-shadow:0 0 0 1px var(--ice), 0 0 40px #6fe3ff33}.work__meta{font-family:var(--font-mono);letter-spacing:.03em;color:var(--text-3);flex-wrap:wrap;gap:6px 10px;font-size:11px;display:flex}.work h3{letter-spacing:-.035em;margin-top:12px;font-size:22px}.work__stack{font-family:var(--font-mono);color:var(--text-3);margin-top:6px;font-size:11.5px;line-height:1.6}.work__pdr{gap:10px;margin-top:16px;display:grid}.work__pdr dt{font-family:var(--font-mono);color:var(--ice);font-size:11px}.work__pdr dd{color:var(--text-2);font-size:13.5px;line-height:1.58}.work__pdr b{color:var(--acid)}.work__link{color:var(--ice);margin-top:auto;padding-top:16px;font-size:13.5px;font-weight:600}.contact{padding-bottom:clamp(60px,10vh,120px)}.contact__title{letter-spacing:-.06em;text-wrap:balance;margin-top:22px;font-size:clamp(44px,8vw,136px);font-weight:790;line-height:1.02}.contact__actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:clamp(32px,5vh,56px);display:flex}.mail{background:var(--text);color:var(--bg);transition:transform .3s var(--ease-out), background .2s;border-radius:20px;flex-direction:column;align-items:flex-start;gap:2px;padding:16px 26px;display:inline-flex}.mail:hover{background:#fff;transform:translateY(-2px)}.mail__addr{font-family:var(--font-mono);letter-spacing:-.02em;font-size:clamp(17px,2.2vw,26px);font-weight:600}.mail__hint{color:#05060a99;font-size:12.5px}.pill{border:1px solid var(--line-3);border-radius:999px;padding:13px 22px;font-size:15px;font-weight:600;transition:background .2s,border-color .2s}.pill:hover{border-color:var(--text);background:#ece9e214}.contact__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:clamp(48px,8vh,90px);display:grid}.contact__grid>div{padding:clamp(22px,3vw,34px)}.creds{gap:2px;display:grid}.creds li{border-top:1px solid var(--line);padding:12px 0}.creds b{font-size:16px;display:block}.creds span{color:var(--text-3);font-size:13.5px}.stackmap{gap:2px;display:grid}.stackmap>div{border-top:1px solid var(--line);grid-template-columns:76px minmax(0,1fr);gap:12px;padding:12px 0;display:grid}.stackmap dt{font-family:var(--font-mono);color:var(--ice);padding-top:2px;font-size:11.5px}.stackmap dd{color:var(--text-2);font-size:14px;line-height:1.6}@media (max-width:1200px){.works{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1000px){.project,.case__grid,.flowlab__grid,.agents__grid,.case-pair,.contact__grid,.lessons,.examples__grid{grid-template-columns:minmax(0,1fr)}.problems__head{display:none}.problems__list li:first-child{border-top:0}.problems__list a{grid-template-columns:30px minmax(0,1fr)}.problems__a,.problems__r{grid-column:2}.problems__a:before,.problems__r:before{font-family:var(--font-mono);color:var(--ice);margin-right:8px;font-size:11px}.problems__a:before{content:"판단"}.problems__r:before{content:"결과"}}@media (max-width:640px){.constraints,.features{grid-template-columns:minmax(0,1fr)}.roles__list{grid-template-columns:repeat(2,minmax(0,1fr))}.works{grid-template-columns:minmax(0,1fr)}.flow li{grid-template-columns:28px minmax(0,1fr)}.flow li b{grid-column:2}.flow li:before{grid-row:span 2}.stackmap>div{grid-template-columns:minmax(0,1fr);gap:4px}table{font-size:13.5px}th,td{padding:10px 11px}td:first-child{white-space:normal;min-width:110px}}.demo{border:1px solid var(--line-2);background:linear-gradient(#0e1119f0,#07090ef0);border-radius:16px;padding:16px;position:relative;box-shadow:0 30px 80px -40px #000c,inset 0 1px #ffffff0a}.demo:before,.demo:after{content:"";border:1px solid var(--line-3);pointer-events:none;width:14px;height:14px;position:absolute}.demo:before{border-bottom:0;border-right:0;border-top-left-radius:16px;top:-1px;left:-1px}.demo:after{border-top:0;border-left:0;border-bottom-right-radius:16px;bottom:-1px;right:-1px}.demo__bar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;margin-bottom:14px;padding-bottom:14px;display:flex}.demo__title{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-3);font-size:11.5px}.demo__caption{color:var(--text-2);margin-bottom:14px;font-size:13.5px;line-height:1.6}.demo__caption b{color:var(--text)}.demo__actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.demo__actions--wrap{gap:6px}.demo__log{min-height:2.9em;font-family:var(--font-mono);color:var(--text-2);word-break:keep-all;background:#00000059;border-radius:10px;margin-top:12px;padding:10px 12px;font-size:12.5px;line-height:1.6}.demo__log .ok{color:var(--acid)}.demo__log .bad{color:var(--ember)}.demo__log .warn{color:var(--amber)}.dd{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:12px;display:grid}.dd__node{border:1px dashed var(--line-3);border-radius:12px;gap:8px;padding:26px 12px 12px;display:grid;position:relative}.dd__label{font-family:var(--font-mono);color:var(--text-3);font-size:10.5px;position:absolute;top:7px;left:12px}.dd__port{font-family:var(--font-mono);color:var(--amber);background:#ffc24a1a;border:1px solid #ffc24a4d;border-radius:8px;justify-content:space-between;align-items:center;padding:7px 10px;font-size:12px;display:flex}.dd__port small{color:var(--text-2);font-size:10.5px}.dd__edge{border:1px solid var(--line-2);color:var(--text-3);border-radius:8px;padding:7px 10px;font-size:12.5px;transition:border-color .3s,color .3s,background .3s}.dd__edge.is-on{border-color:var(--ice);color:var(--ice);background:var(--ice-soft)}.dd__tasks{gap:6px;display:grid}.dd__task{border:1px solid var(--line);background:#0000004d;border-radius:8px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;transition:border-color .3s,background .3s,opacity .3s;display:grid}.dd__task b{font-weight:600}.dd__task code{font-size:11px}.dd__task [data-state]{font-family:var(--font-mono);color:var(--text-3);justify-self:end;font-size:11px}.dd__task.is-run{border-color:#c8ff4a59}.dd__task.is-run [data-state]{color:var(--acid)}.dd__task.is-pending{background:var(--amber-soft);border-color:#ffc24a80;animation:1.1s ease-in-out infinite blink}.dd__task.is-pending [data-state]{color:var(--amber)}.dd__task.is-start{border-color:#6fe3ff80}.dd__task.is-start [data-state]{color:var(--ice)}.dd__task.is-drain{opacity:.45}.dd__task.is-dead{opacity:.28;text-decoration:line-through}.dd__task.is-fail{background:var(--ember-soft);border-color:#ff5b2e99}.dd__task.is-fail [data-state]{color:var(--ember)}@keyframes blink{50%{background:#ffc24a0a}}.dd__ready{flex-wrap:wrap;gap:5px;display:flex}.dd__ready li{border:1px solid var(--line);font-family:var(--font-mono);color:var(--text-3);border-radius:999px;padding:3px 8px;font-size:10.5px;transition:all .25s}.dd__ready li.is-ok{color:var(--acid);border-color:#c8ff4a80}.dd__ready li.is-bad{color:var(--ember);border-color:#ff5b2e99}.dd__ready li.is-ok:before{content:"✓ "}.dd__ready li.is-bad:before{content:"✕ "}.dd__pipe{align-content:start;gap:6px;display:grid}.dd__pipe li{border:1px solid var(--line);color:var(--text-3);border-radius:8px;padding:8px 10px 8px 30px;font-size:12.5px;line-height:1.4;transition:all .25s;position:relative}.dd__pipe li small{font-family:var(--font-mono);color:var(--text-3);font-size:10.5px;display:block}.dd__pipe li:before{content:"";border:1px solid var(--line-3);border-radius:50%;width:9px;height:9px;position:absolute;top:12px;left:11px}.dd__pipe li.is-active{color:var(--text);border-color:var(--line-2)}.dd__pipe li.is-active:before{border-color:var(--ice);border-top-color:#0000;animation:.7s linear infinite spin}.dd__pipe li.is-done{color:var(--text-2)}.dd__pipe li.is-done:before{border-color:var(--acid);background:var(--acid)}.dd__pipe li.is-warn{color:var(--amber);border-color:#ffc24a66}.dd__pipe li.is-warn:before{border-color:var(--amber);background:var(--amber)}.dd__pipe li.is-fail{color:var(--ember);border-color:#ff5b2e80}.dd__pipe li.is-fail:before{border-color:var(--ember);background:var(--ember)}.dd__pipe li.dd__result{font-family:var(--font-mono);padding-left:10px;font-size:12px;font-weight:600}.dd__pipe li.dd__result:before{display:none}.dd__result.is-green{background:var(--acid);color:var(--bg)!important;border-color:var(--acid)!important}.dd__result.is-red{background:var(--ember);color:#fff!important;border-color:var(--ember)!important}@keyframes spin{to{transform:rotate(360deg)}}.dd__verdict{border:1px solid var(--line);color:var(--text-2);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:12px;padding:12px 14px;font-size:12.5px;transition:all .3s;display:flex}.dd__verdict b{margin-left:auto;font-size:13px}.dd__verdict.is-bad{background:var(--ember-soft);border-color:#ff5b2e99}.dd__verdict.is-bad b{color:var(--ember)}.dd__verdict.is-good{background:var(--acid-soft);border-color:#c8ff4a80}.dd__verdict.is-good b{color:var(--acid)}.sync{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr);align-items:stretch;gap:10px;display:grid}.sync__box{border:1px solid var(--line-2);text-align:center;background:#0000004d;border-radius:12px;align-content:center;gap:4px;padding:16px 12px;transition:border-color .3s,background .3s,box-shadow .3s;display:grid}.sync__label{font-family:var(--font-mono);color:var(--text-3);font-size:10.5px}.sync__rev{font-family:var(--font-mono);letter-spacing:-.04em;font-size:30px;font-weight:600}.sync__state{color:var(--text-2);font-size:12.5px}.sync__match{font-family:var(--font-mono);color:var(--acid);border:1px solid #c8ff4a80;border-radius:999px;justify-self:center;margin-top:6px;padding:2px 10px;font-size:11px}.sync__box--client.is-stale{background:var(--ember-soft);border-color:#ff5b2e99;box-shadow:0 0 30px #ff5b2e24}.sync__box--client.is-stale .sync__match{color:var(--ember);border-color:#ff5b2e99}.sync__box--client.is-recover{border-color:var(--ice);box-shadow:0 0 30px #6fe3ff33}.sync__box.is-flash{box-shadow:0 0 0 2px var(--acid), 0 0 30px #c8ff4a40}.sync__wire{background:linear-gradient(90deg,#0000,#6fe3ff2e,#0000) 50%/100% 1px no-repeat,repeating-linear-gradient(90deg,#ece9e20f 0 2px,#0000 2px 10px) 50% 72%/100% 1px no-repeat;border-radius:12px;min-height:120px;position:relative}.sync__wire-label,.sync__wire-cp{text-align:center;font-family:var(--font-mono);color:var(--text-3);font-size:10.5px;position:absolute;left:0;right:0}.sync__wire-label{top:14px}.sync__wire-cp{bottom:10px}.sync__wire.no-cp .sync__wire-cp{opacity:.5;text-decoration:line-through}.msg{background:var(--ice);min-width:34px;height:22px;color:var(--bg);font-family:var(--font-mono);will-change:transform, opacity;border-radius:999px;place-items:center;margin-top:-11px;padding:0 6px;font-size:10.5px;font-weight:700;display:grid;position:absolute;top:50%;left:0;box-shadow:0 0 16px #6fe3ff99}.msg--cp{color:var(--amber);border:1px solid var(--amber);box-shadow:none;background:0 0;top:72%}.msg--lost{background:var(--ember);box-shadow:0 0 16px #ff5b2e99}.retry{gap:12px;display:grid}.retry__track{border:1px solid var(--line);background:#00000047;border-radius:12px;grid-template-rows:44px 44px;gap:34px;padding:10px 12px;display:grid;position:relative;overflow:hidden}.retry__lane{border-bottom:1px dashed var(--line-2);align-items:center;display:flex;position:relative}.retry__lane span{font-family:var(--font-mono);color:var(--text-3);font-size:10.5px}.retry__dot{width:24px;height:24px;font-family:var(--font-mono);color:var(--bg);background:var(--ice);border-radius:50%;place-items:center;margin:-12px 0 0 -12px;font-size:10.5px;font-weight:700;display:grid;position:absolute}.retry__dot--write{background:var(--ember);color:#fff}.retry__dot--skip{background:var(--acid)}.retry__arrow{background:linear-gradient(180deg, var(--ice), #6fe3ff33);transform-origin:top;width:1.5px;position:absolute}.retry__arrow--up{background:linear-gradient(0deg, var(--text-2), #ece9e226);transform-origin:bottom}.retry__arrow.is-lost:after{content:"✕";background:var(--ember);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.retry__gap{font-family:var(--font-mono);color:var(--amber);white-space:nowrap;font-size:10px;position:absolute;top:6px;transform:translate(-50%)}.retry__counters{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.retry__counters>div{border:1px solid var(--line);background:#00000040;border-radius:10px;padding:10px 12px}.retry__counters dt{font-family:var(--font-mono);color:var(--text-3);font-size:10.5px}.retry__counters dd{font-family:var(--font-mono);margin-top:2px;font-size:22px;font-weight:600;transition:color .3s}.retry__counters dd.is-bad{color:var(--ember)}.retry__counters dd.is-good{color:var(--acid)}.retry__log{max-height:168px;font-family:var(--font-mono);gap:4px;font-size:11.5px;line-height:1.5;display:grid;overflow-y:auto}.retry__log li{color:var(--text-2);grid-template-columns:52px minmax(0,1fr);gap:8px;display:grid}.retry__log li time{color:var(--text-3)}.retry__log li.is-bad{color:var(--ember)}.retry__log li.is-ok{color:var(--acid)}.retry__log li.is-warn{color:var(--amber)}.fp{width:100%;height:auto;overflow:visible}.fp .axis{stroke:var(--line-3);stroke-width:1px}.fp .tick{fill:var(--text-3);font-family:var(--font-mono);font-size:11px}.fp .grid{stroke:var(--line);stroke-width:1px}.fp .timeout{stroke:var(--ember);stroke-width:1.2px;stroke-dasharray:4 5}.fp .timeout-label{fill:var(--ember);font-family:var(--font-mono);font-size:11px}.fp .ok{fill:var(--ice);opacity:.75}.fp .fail{fill:var(--ember)}.fp-bars{border-top:1px solid var(--line);gap:8px;margin-top:16px;padding-top:14px;display:grid}.fp-bars>div{grid-template-rows:auto 8px;grid-template-columns:minmax(0,1fr) 46px;align-items:center;gap:4px 10px;display:grid}.fp-bars span{color:var(--text-2);font-size:12.5px}.fp-bars i{height:8px;width:var(--w);background:var(--ember);transform-origin:0;min-width:6px;transform:scaleX(var(--grow,1));transition:transform 1.2s var(--ease-out);border-radius:6px;grid-row:2;display:block}.fp-bars>div:nth-child(2) i{background:var(--acid)}.fp-bars b{font-family:var(--font-mono);text-align:right;grid-area:1/2/span 2;font-size:15px}.opday{border:1px solid var(--line);touch-action:pan-y;-webkit-user-select:none;user-select:none;background:#00000047;border-radius:12px;height:132px;margin:4px 0 0;position:relative;overflow:hidden}.opday__days{position:absolute;inset:0}.opday__day{border-right:1px dashed var(--line-3);transition:background .3s;position:absolute;top:0;bottom:0}.opday__day span{font-family:var(--font-mono);color:var(--text-3);white-space:nowrap;font-size:10.5px;position:absolute;top:8px;left:8px}.opday__day.is-hit{background:#6fe3ff1a}.opday__day.is-hit span{color:var(--ice)}.opday__axis{border-top:1px solid var(--line);height:26px;position:absolute;bottom:0;left:0;right:0}.opday__tick{font-family:var(--font-mono);color:var(--text-3);white-space:nowrap;font-size:10px;position:absolute;bottom:6px;transform:translate(-50%)}.opday__tick.is-boundary{color:var(--amber)}.opday__work{cursor:grab;background:linear-gradient(90deg,#c8ff4ae6,#6fe3ffe6);border-radius:7px;min-width:12px;height:26px;position:absolute;top:66px;box-shadow:0 8px 30px -10px #6fe3ff99}.opday__work:active{cursor:grabbing}.opday__work b{color:var(--ice);font-family:var(--font-mono);white-space:nowrap;pointer-events:none;background:#05060ad9;border:1px solid #6fe3ff66;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.opday__handle{cursor:ew-resize;width:14px;position:absolute;top:0;bottom:0}.opday__handle:after{content:"";background:#05060a8c;border-radius:3px;width:3px;position:absolute;top:9px;bottom:9px;left:5px}.opday__handle--l{left:0}.opday__handle--r{right:0}.demo-ci .term{min-height:22.4em;font-size:12.5px}.demo-inspector{padding:0;overflow:hidden}.window__bar{border-bottom:1px solid var(--line);background:#ffffff06;align-items:center;gap:7px;padding:11px 14px;display:flex}.window__bar i{background:#ece9e22e;border-radius:50%;width:10px;height:10px}.window__bar span{font-family:var(--font-mono);color:var(--text-3);margin-left:8px;font-size:11px}.window__body{grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);min-height:430px;display:grid}.fl-app{border-right:1px solid var(--line);align-content:start;gap:14px;padding:16px;display:grid}.fl-card{border:1px solid var(--line-2);background:#0000004d;border-radius:12px;padding:14px}.fl-card__meta{font-family:var(--font-mono);color:var(--text-3);justify-content:space-between;font-size:10.5px;display:flex}.fl-card__title{margin-top:8px;font-size:16px;font-weight:700;line-height:1.35}.fl-card__title small{color:var(--amber);margin-top:2px;font-size:12px;font-weight:500;display:block}.fl-actions{gap:6px;margin-top:14px;display:grid}.fl-actions button{border:1px solid var(--line-2);text-align:left;border-radius:9px;justify-content:space-between;align-items:center;padding:9px 12px;font-size:13px;font-weight:600;transition:border-color .2s,background .2s;display:flex}.fl-actions button small{font-family:var(--font-mono);color:var(--text-3);font-size:10.5px;font-weight:500}.fl-actions button:hover{border-color:var(--ice);background:var(--ice-soft)}.fl-actions button.is-flash{border-color:var(--acid);background:var(--acid-soft)}.fl-note{color:var(--text-3);font-size:12.5px;line-height:1.55}.fl-inspector{background:#00000038;flex-direction:column;min-width:0;display:flex}.fl-inspector__head{border-bottom:1px solid var(--line);justify-content:space-between;padding:12px 14px;font-size:12.5px;display:flex}.fl-inspector__head span{font-family:var(--font-mono);color:var(--text-3);font-size:11px}.fl-groups{flex:1;align-content:start;gap:10px;max-height:440px;padding:12px;display:grid;overflow-y:auto}.fl-empty{text-align:center;color:var(--text-3);padding:30px 0;font-size:12.5px}.fl-group{border:1px solid var(--line);background:#0b0d14e6;border-radius:10px;overflow:hidden}.fl-group__head{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:8px 11px;font-size:12.5px;font-weight:600;display:flex}.fl-group__head small{font-family:var(--font-mono);color:var(--text-3);font-size:10.5px;font-weight:500}.fl-group--auto .fl-group__head{color:var(--text-3)}.fl-row{font-family:var(--font-mono);cursor:pointer;border-bottom:1px solid #ece9e20d;grid-template-columns:46px minmax(0,1fr) auto;gap:4px 8px;padding:7px 11px;font-size:11px;display:grid}.fl-row:last-child{border-bottom:0}.fl-row:hover{background:#ffffff08}.fl-row__method{color:var(--violet)}.fl-row__path{text-overflow:ellipsis;white-space:nowrap;color:var(--text);overflow:hidden}.fl-row__status{text-align:right;color:var(--acid)}.fl-row__status.is-bad{color:var(--ember)}.fl-row__status.is-pending{color:var(--amber)}.fl-row__meta{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;grid-column:2/span 2;overflow:hidden}.fl-row__body{color:var(--text-2);white-space:pre-wrap;word-break:break-all;background:#0006;border-radius:8px;grid-column:1/span 3;margin:4px 0 2px;padding:8px 10px;display:none}.fl-row.is-open .fl-row__body{display:block}.fl-row__body .mask{color:var(--amber)}@media (max-width:760px){.dd,.window__body{grid-template-columns:minmax(0,1fr)}.fl-app{border-right:0;border-bottom:1px solid var(--line)}.fl-groups{max-height:360px}}@media (max-width:520px){.demo{padding:12px}.sync{grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(0,1fr);gap:6px}.sync__rev{font-size:22px}.sync__state{font-size:11px}.sync__wire-label{font-size:9.5px}.sync__wire-cp{font-size:9px}.retry__counters dd{font-size:18px}.opday__tick.is-minor{display:none}.demo__log{font-size:12px}}
