:root{--ink:#0e1d41;--muted:#5c6378;--line:#dfe2ea;--bg:#f4f5f8;--card:#ffffff;--tint:#eef0f5;--warn:#c62828;--warn-bg:#fdecea;--warn-line:#f3c7c3;--ask:#b45309;--ask-bg:#fdf3e6;--ask-line:#f0d9b8;--ok:#2e7d32;--ok-bg:#e8f5e9;--pick:#f59e0b;--r:8px;--R:12px;--turn:1.2s}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:system-ui,sans-serif}a{color:inherit}:is(button,.btn,a,summary):focus-visible{outline:2px solid var(--ink);outline-offset:2px}.btn,button{font:inherit;font-weight:600;font-size:13px;min-height:32px;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:0 12px;border-radius:var(--r);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn.primary,button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}button:disabled{opacity:.5;cursor:default}button[aria-busy=true]:before{content:"";width:12px;height:12px;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:spin var(--turn) linear infinite}input,select,textarea{font:inherit;font-size:13px;min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r);width:100%;background:var(--card);color:var(--ink)}:is(input,textarea,select):focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px var(--tint)}textarea{resize:vertical;padding-block:6px}h2{margin:24px 0 8px;font-size:16px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.more{all:unset;cursor:pointer;font-size:12px;text-decoration:underline}.empty,.more{color:var(--muted)}.empty{display:flex;flex-direction:column;align-items:flex-start;gap:2px;max-width:60ch;padding:28px 0}.empty b{color:var(--ink);font-weight:600}.empty .actions{margin-top:10px}a[target=_blank]:not(:has(img,svg)):after{content:" ↗"}input[type=file]{width:auto;max-width:100%;padding:4px;font-size:13px;color:var(--muted)}input[type=file]::-webkit-file-upload-button{font:inherit;font-weight:600;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:5px 10px;margin-right:8px;cursor:pointer}input[type=file]::file-selector-button{font:inherit;font-weight:600;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:5px 10px;margin-right:8px;cursor:pointer}.top{display:flex;align-items:center;gap:10px;box-sizing:border-box;min-height:48px;padding:0 16px;background:var(--card);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:10;white-space:nowrap}.top>*{flex:none}.brand{color:var(--ink);font-size:14px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}.top .crumbs{flex:0 1 auto;display:flex;align-items:center;gap:8px;min-width:0;padding-left:12px;border-left:1px solid var(--line);font-size:14px}.crumbs>*+:before{content:"/";display:inline-block;margin-right:8px;color:var(--line);font-weight:400}.crumbs a{flex:none;color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--ink);text-decoration:underline}.crumbs h1{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;font-size:14px;font-weight:600}.grow{flex:1 1;min-width:0}.menu{position:relative}.menu>summary{list-style:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.menu>summary::-webkit-details-marker{display:none}.menu>div{position:absolute;right:0;top:36px;min-width:180px;display:flex;flex-direction:column;gap:2px;padding:10px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 6px 24px rgba(14,29,65,.12);font-size:14px}.me>summary{width:28px;height:28px;border-radius:50%;background:var(--tint);color:var(--ink);font-size:11px;font-weight:700;display:grid;place-items:center}.me[open]>summary{background:var(--ink);color:#fff}.me>div>b{padding:0 6px}.me>div>.note{padding:0 6px 6px;border-bottom:1px solid var(--line);margin-bottom:4px}.me>div>:is(a,button){all:unset;padding:6px;border-radius:6px;cursor:pointer;color:var(--ink)}.me>div>:is(a,button):hover{background:var(--tint)}.wrap{max-width:1100px;margin:0 auto;padding:24px 16px}.files h3{font-size:13px;color:var(--muted);margin:16px 0 6px}.files ul{margin:0;padding-left:18px;font-size:14px}.files section>p{margin:6px 0;font-size:13px;color:var(--muted)}.files .photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:8px;gap:8px}.files .photos img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);background:var(--tint)}.login{min-height:100vh;display:grid;place-items:center;padding:16px}.login form{background:var(--card);border:1px solid var(--line);border-radius:var(--R);padding:24px;width:100%;max-width:360px;display:flex;flex-direction:column;gap:10px}.login h1{margin:0 0 6px;font-size:20px}.error{display:flex;gap:10px;align-items:flex-start;margin:0;padding:10px 12px;border:1px solid var(--warn-line);border-radius:var(--r);background:var(--warn-bg);color:var(--warn);font-size:14px;line-height:1.45;text-align:left}.error:before{content:"!";flex:none;width:18px;height:18px;margin-top:1px;border-radius:50%;background:var(--warn);color:#fff;font-size:12px;font-weight:700;line-height:18px;text-align:center}.note{font-size:13px}.badge,.note{color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--tint);white-space:nowrap;text-decoration:none}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.ask{background:var(--ask-bg);color:var(--ask)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.work{color:var(--ink)}.badge.work:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:blink 1.4s ease-in-out infinite}.yacht{display:grid;grid-template:"top top" auto "sub sub" auto "view side" minmax(0,1fr) /minmax(0,1fr) 420px;height:100dvh}.yacht>.top{grid-area:top}.yacht>.subtop{grid-area:sub}.yacht>.viewer{grid-area:view}.subtop{position:-webkit-sticky;position:sticky;top:48px;z-index:9;display:flex;align-items:center;gap:10px;min-height:36px;padding:0 8px 0 16px;background:var(--ink);color:#fff;font-size:13px;font-weight:600;letter-spacing:.02em;animation:slide .2s ease-out}.subtop i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--pick);box-shadow:0 0 0 3px rgba(245,158,11,.28);animation:blink 1.4s ease-in-out infinite}.subtop button{flex:none;width:28px;min-height:28px;margin-left:auto;padding:0;border:0;background:none;color:inherit;font-size:14px;transition:background .15s}.subtop button:hover{background:rgba(255,255,255,.16)}.subtop button:focus-visible{outline-color:#fff;outline-offset:-2px}.side{--r:6px;grid-area:side;overflow-y:auto;box-sizing:border-box;padding-bottom:12px;background:var(--card);border-left:1px solid var(--line);font-size:13px;line-height:18px}.viewer{padding:16px 0 40px;overflow:auto}.sheet,.viewer{position:relative}.sheet{margin:0 auto 18px;box-shadow:0 1px 3px rgba(0,0,0,.12),0 6px 24px rgba(0,0,0,.06);width:-moz-fit-content;width:fit-content;background:#fff}.compare.wrap{max-width:none}.compare .pair{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px 16px;gap:8px 16px;padding-top:12px;border-top:1px solid var(--line)}.compare .pair>*{min-width:0}.compare .pair h3{grid-column:1/-1;margin:0;font-size:13px;color:var(--muted)}.compare .pair img{display:block;width:100%;height:auto;margin:0 auto 18px;box-shadow:0 1px 3px rgba(0,0,0,.12),0 6px 24px rgba(0,0,0,.06)}.compare .pair .brochure{overflow:hidden}@media (max-width:700px){.compare .pair{grid-template-columns:1fr}}.editing :is(.col,.val){outline:none;cursor:text}.editing [data-fixed]{cursor:not-allowed}.editing [data-shape]:where(:has(.col:not([data-fixed]))){box-shadow:0 0 0 4pt rgba(14,29,65,.18)}.editing .val:focus{background:rgba(245,158,11,.18)}.editing [data-shape]:focus-within{box-shadow:0 0 0 6pt rgba(14,29,65,.45)}.editing [data-shape].over{box-shadow:0 0 0 8pt rgba(198,40,40,.75)}.story{display:contents}.story>:is(.note,.error){margin:8px 16px}.story>.actions{padding:0 16px 12px}.points{list-style:none;margin:0;padding:0}.points li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:baseline;padding:3px 0}.points :is(.n,.meta,.x){color:var(--muted);font-size:12px}.points .x{grid-column:2/-1;display:flex;flex-wrap:wrap;gap:0 10px;overflow-wrap:anywhere}.points q{flex-basis:100%;white-space:pre-wrap}.points a{text-decoration:none}.points a:hover{color:var(--ink);text-decoration:underline}.card{display:flex;flex-direction:column;gap:8px;padding:12px 16px;border-top:1px solid var(--tint)}.card p{margin:0}.card .hd{display:flex;align-items:baseline;gap:8px}.card .hd b{font-weight:600}.card .hd span{margin-left:auto;color:var(--muted);font-size:12px;text-align:right}.card .hd span:only-child{margin-left:0;color:var(--ink);font-size:13px;font-weight:600;text-align:left}.card .warn{color:var(--ask)}.card .warn:before,.card:is(.ask,.work)>p:first-child:before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:var(--ask);vertical-align:1px}.card.work>p:first-child:before{background:var(--ink);animation:blink 1.4s ease-in-out infinite}.card .actions{gap:6px}.card details:not(.menu)>summary{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;cursor:pointer;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.card details:not(.menu)>summary:hover{color:var(--ink)}.card details:not(.menu)>summary::-webkit-details-marker{display:none}.card details:not(.menu)>summary:before,.fold>summary:after{content:"";width:5px;height:5px;border:solid;border-width:0 1.25px 1.25px 0;transform:rotate(-45deg)}.card details[open]:not(.menu)>summary:before,.fold[open]>summary:after{transform:rotate(45deg)}.card details ul{margin:6px 0 0;padding-left:12px;color:var(--muted);font-size:12px;list-style:none}.card details li+li{margin-top:4px}.card details .form{grid-template-columns:1fr;margin-top:8px}.card textarea{field-sizing:content;min-height:60px;max-height:30vh}.editbar{position:-webkit-sticky;position:sticky;top:0;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--card)}.editbar .actions{width:100%}.editbar .save{justify-content:flex-end}.progress{container-type:inline-size;display:flex;flex-wrap:wrap;gap:14px 24px;align-items:flex-start}.progress>div{flex:0 0 220px}.progress>.stage{flex:1 1;min-width:0}.steps{list-style:none;margin:0;padding:6px 0 0;counter-reset:step}.steps li{counter-increment:step;position:relative;display:flex;align-items:center;gap:12px;min-height:42px;font-size:14px;color:var(--muted)}.steps li:before{content:counter(step);flex:none;z-index:1;width:26px;height:26px;border:1.5px solid var(--line);border-radius:50%;background:var(--card);color:var(--muted);font-size:12px;font-weight:700;display:grid;place-items:center}.steps li:not(:last-child):after{content:"";position:absolute;left:12px;top:34px;width:2px;height:16px;background:var(--line)}.steps li.done,.steps li[aria-current]{color:var(--ink)}.steps li[aria-current]{font-weight:700}.steps li.done:before{content:"✓";background:var(--ink);border-color:var(--ink);color:#fff}.steps li.done:after{background:var(--ink)}.steps li.act:before{content:"";border:2px solid var(--ink);background:radial-gradient(circle,var(--ink) 0 4px,var(--card) 5px)}.steps li.work:before{content:"";border:2.5px solid var(--line);border-top-color:var(--ink);animation:spin var(--turn) linear infinite}.steps li.ask:before{content:"?";background:var(--ask);border-color:var(--ask);color:#fff}.steps li.warn{color:var(--warn)}.steps li.warn:before{content:"!";background:var(--warn);border-color:var(--warn);color:#fff}.steps.detail li{display:grid;grid-template-columns:26px minmax(0,1fr);grid-column-gap:12px;column-gap:12px;align-items:start;min-height:0;padding-bottom:14px;line-height:26px}.steps.detail li:last-child{padding-bottom:0}.steps.detail li:before{grid-row:span 2}.steps.detail li:not(:last-child):after{top:30px;bottom:4px;height:auto}.steps.detail small{grid-column:2;color:var(--muted);font-size:13px;font-weight:400;line-height:1.45}.files pre{margin:8px 0;padding:10px;max-height:40vh;overflow:auto;white-space:pre-wrap;font:inherit;color:var(--ink);border:1px solid var(--line);border-radius:var(--r)}.files pre,.stage{background:var(--card)}.stage{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:24px;border:1px solid var(--line);border-radius:var(--R)}.stage h2{margin:0;font-size:20px}.stage>h2+p{margin:0 0 8px;max-width:62ch;color:var(--muted);font-size:14px;line-height:1.5}.stage .note{margin:0}.stage>:is(.form,.error,.actions){align-self:stretch}.stage>i{display:block;flex:none;width:40px;height:40px;margin-bottom:6px;border-radius:50%;color:#fff;font:normal 700 20px/40px system-ui,sans-serif;text-align:center}.stage.act>i{display:none}.stage.ask{border-color:var(--ask-line)}.stage.ask>i{background:var(--ask)}.stage.ask>i:before{content:"?"}.stage.ask>h2+p{color:var(--ink);font-size:16px}.stage.warn{border-color:var(--warn-line)}.stage.warn>i{background:var(--warn)}.stage.warn>i:before{content:"!"}.stage.work{min-height:280px;align-items:center;justify-content:center;text-align:center}.stage.work>i{position:relative;width:88px;height:88px;margin-bottom:12px;box-shadow:inset 0 0 0 1px var(--line);background:radial-gradient(circle,var(--ink) 0 5px,transparent 6px),repeating-radial-gradient(circle,transparent 0 14px,rgba(14,29,65,.1) 14.5px 15.5px),var(--bg)}.stage.work>i:after,.stage.work>i:before{content:"";position:absolute;inset:0;border-radius:50%}.stage.work>i:before{background:conic-gradient(transparent 0 72%,rgba(14,29,65,.32) 99.4%,var(--ink) 99.4%);animation:spin calc(var(--turn) * 2) linear infinite}.stage.work>i:after{border:1.5px solid var(--ink);animation:ping calc(var(--turn) * 2) cubic-bezier(.2,.6,.35,1) infinite}.form{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px 14px;gap:10px 14px}.form label:not(.btn,.drop){display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.form label:has(textarea),.form>:is(button,.note,.error,.actions,.drop){grid-column:1/-1}.form>button{justify-self:start}.drop{position:relative;display:flex;align-items:center;gap:14px;padding:16px 18px;border:1.5px dashed var(--line);border-radius:var(--R);background:var(--bg);color:var(--muted);font-size:13px;transition:border-color .15s,background .15s}.drop.over,.drop:hover{border-color:var(--ink);background:var(--tint)}.drop:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:2px}.drop:has(li){border-style:solid}.drop input{position:absolute;inset:0;width:100%;height:100%;padding:0;opacity:0;cursor:pointer}.drop i{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(14,29,65,.12);transition:transform .2s}.drop.over i{transform:translateY(-3px)}.drop span{display:flex;flex-direction:column;gap:2px;min-width:0}.drop b{color:var(--ink);font-size:14px}.drop ul{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 0;padding:0;list-style:none}:is(.drop,.chips) li{max-width:100%;overflow:hidden;padding:3px 10px;border-radius:999px;background:var(--card);color:var(--ink);font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}:is(.drop,.chips) li small{color:var(--muted);font-weight:400}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}@container (max-width: 600px){.progress>div{display:contents}.progress>.stage,.progress>div>*{flex-basis:100%}.steps{display:flex;padding:0}.steps li{flex:1 1;justify-content:center;gap:0;min-height:0;font-size:0}.steps li:not(:last-child):after{left:calc(50% + 13px);top:12px;width:calc(100% - 26px);height:2px}.stage{padding:16px}.stage h2{font-size:16px}.stage.work{min-height:0}.form{grid-template-columns:1fr;gap:8px}}.nt{--lift:0 1px 2px rgba(14,29,65,.06),0 14px 34px -16px rgba(14,29,65,.28);padding-bottom:64px}.nt>:not(.sea){max-width:1132px;margin-inline:auto;padding-inline:16px}.sea{overflow:hidden;padding:48px max(16px,calc(50% - 534px)) 120px;color:#fff;background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none' stroke='white'><circle cx='100' cy='100' r='97' stroke-opacity='.16'/><circle cx='100' cy='100' r='88' stroke-opacity='.22' stroke-width='5' stroke-dasharray='.6 5.6'/><circle cx='100' cy='100' r='62' stroke-opacity='.12'/><path d='M100 3v194M3 100h194' stroke-opacity='.08'/><path d='M150 50 110 100l40 50-50-40-50 40 40-50-40-50 50 40z' fill='white' fill-opacity='.05' stroke-opacity='.12'/><path d='M100 12l12 76 76 12-76 12-12 76-12-76-76-12 76-12z' fill='white' fill-opacity='.08' stroke-opacity='.22'/><circle cx='100' cy='100' r='4' fill='white' fill-opacity='.35' stroke='none'/></svg>") calc(50% + 430px) -96px /400px no-repeat,radial-gradient(900px 380px at 80% -20%,rgba(98,140,222,.38),transparent 70%),radial-gradient(700px 300px at 0 120%,rgba(60,160,190,.25),transparent 70%),linear-gradient(170deg,var(--ink),#142a5c 60%,#0a1531)}.sea,.sea>*{position:relative}.sea>*{z-index:1;margin:0}.sea h2{font-size:34px;line-height:1.15;letter-spacing:.01em}.sea p{margin-top:8px;color:rgba(255,255,255,.7);font-size:16px}.sea:after,.sea:before{content:"";position:absolute;left:0;width:calc(100% + 1200px);animation:swell 48s linear infinite}.sea:before{bottom:22px;height:64px;background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 64' preserveAspectRatio='none'><path d='M0 32Q100 14 200 32T400 32T600 32T800 32T1000 32T1200 32V64H0z' fill='white' fill-opacity='.07'/></svg>") 0 0 /1200px 100% repeat-x;animation-duration:70s;animation-direction:reverse}.sea:after{bottom:-1px;height:56px;background:var(--bg);-webkit-mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 56' preserveAspectRatio='none'><path d='M0 28Q150 6 300 28T600 28T900 28T1200 28V56H0z'/></svg>") 0 0 /1200px 100% repeat-x;mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 56' preserveAspectRatio='none'><path d='M0 28Q150 6 300 28T600 28T900 28T1200 28V56H0z'/></svg>") 0 0 /1200px 100% repeat-x}.nt .asks{position:relative;z-index:1;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);grid-gap:14px;gap:14px;margin-top:-72px}.nt .asks button{position:relative;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:12px;min-height:152px;padding:18px;border:0;border-radius:18px;text-align:left;box-shadow:var(--lift);transition:transform .2s,box-shadow .2s;animation:rise .5s cubic-bezier(.2,.7,.3,1) calc(var(--n) * 70ms) backwards}.nt .asks button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 2px 4px rgba(14,29,65,.06),0 22px 40px -18px rgba(14,29,65,.45)}.nt .asks [aria-pressed=true]{box-shadow:0 0 0 2px var(--ink),0 22px 40px -18px rgba(14,29,65,.45)}.nt .asks [aria-pressed=true]:after{content:"✓";position:absolute;top:16px;right:16px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--ink);color:#fff;font-size:12px;animation:tick .25s ease-out}.nt .asks button:disabled{opacity:1}.nt .asks button:disabled:not([aria-pressed=true]){opacity:.45}.nt .asks i{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--tint);color:var(--ink);transition:background .2s,color .2s}.nt .asks [aria-pressed=true] i{background:var(--ink);color:#fff}.nt .asks b{padding-right:22px;font-size:15px;line-height:1.35}.nt .asks small{margin-top:auto;color:var(--muted);font-size:12px}.nt .progress{container-type:normal;flex-wrap:nowrap;flex-direction:row-reverse;gap:20px;margin-top:22px}.nt .progress>div{position:-webkit-sticky;position:sticky;top:68px;flex:0 0 300px;padding:22px 20px;border-radius:18px;background:var(--card);box-shadow:var(--lift)}.nt .steps{padding:0}.nt .steps li{animation:rise .45s ease-out calc(var(--n) * 45ms) backwards}.nt .steps li.act:before{animation:halo 2.4s ease-out infinite}.nt .stage{gap:10px;padding:28px 30px 30px;border:0;border-radius:18px;box-shadow:var(--lift);animation:rise .35s ease-out}.nt .stage>h2+p{margin-bottom:14px;font-size:15px;line-height:1.6}.nt .form{gap:16px 18px}.nt .form label:not(.btn,.drop){gap:6px;color:var(--ink);font-weight:600}.nt .stage .actions{gap:16px;margin-top:2px;padding-top:18px;border-top:1px solid var(--line)}.nt .stage .actions .note{flex:1 1}@media (max-width:900px){.nt .progress{flex-direction:column-reverse;align-items:stretch}.nt .progress>*{position:static;flex:none}}@media (max-width:720px){.sea{padding:30px 16px 104px}.sea h2{font-size:26px}.nt .asks{grid-auto-flow:row;grid-template-columns:1fr 1fr;gap:10px}.nt .asks button{min-height:0;padding:14px;gap:10px}.nt .asks i{width:38px;height:38px}.nt .stage{padding:20px}.nt .stage .actions .note{flex-basis:100%}.nt .form{grid-template-columns:1fr}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes ping{0%{transform:scale(.1);opacity:.9}to{transform:scale(1);opacity:0}}@keyframes blink{50%{opacity:.2}}@keyframes slide{0%{transform:translateY(-100%)}}@keyframes swell{to{transform:translateX(-1200px)}}@keyframes halo{0%{box-shadow:0 0 0 0 rgba(14,29,65,.35)}70%,to{box-shadow:0 0 0 9px rgba(14,29,65,0)}}@keyframes tick{0%{transform:scale(0)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important}}.viewer.editing [data-pic]{cursor:pointer}.viewer.editing [data-pic]:hover{outline:3px solid var(--pick);outline-offset:-3px}.drop-page{display:none}.viewer.editing .drop-page{display:inline-flex;position:absolute;top:8px;right:8px;z-index:5}.row-x{position:absolute;transform:translate(calc(-100% - 4px),-50%);min-height:0;padding:2px 8px;font-size:12px;z-index:5}.dialog{width:min(440px,calc(100vw - 32px));padding:0;border:0;border-radius:var(--R);background:var(--card);color:var(--ink);box-shadow:0 2px 6px rgba(14,29,65,.08),0 24px 64px -12px rgba(14,29,65,.5);animation:rise .2s ease-out}.dialog::-webkit-backdrop{background:rgba(14,29,65,.55)}.dialog::backdrop{background:rgba(14,29,65,.55)}.dialog>div{display:grid;grid-template-columns:40px minmax(0,1fr);grid-gap:4px 14px;gap:4px 14px;padding:20px}.dialog i{grid-row:span 2;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--tint);font:normal 700 18px/1 system-ui,sans-serif}.dialog.ask i{background:var(--ask-bg);color:var(--ask)}.dialog.warn i{background:var(--warn-bg);color:var(--warn)}.dialog h2{margin:0;font-size:16px;line-height:1.3}.dialog p:not(.error){margin:0;color:var(--muted);font-size:14px;line-height:1.5}.dialog .error,.dialog .form{grid-column:1/-1;margin-top:12px}.dialog .form{grid-template-columns:1fr}.dialog .more{justify-self:start}.dialog .actions{grid-column:1/-1;justify-content:flex-end;margin-top:12px}.dialog .danger{margin-right:auto}.modal{position:fixed;inset:0;background:rgba(14,29,65,.55);z-index:50;display:flex;align-items:center;justify-content:center}.modal .panel{background:var(--card);border-radius:var(--R);padding:16px;width:min(1000px,94vw);max-height:90vh;overflow:auto;display:flex;flex-direction:column;gap:10px}.modal .panel.board{width:min(1400px,96vw);height:92vh;max-height:none;overflow:hidden}.board .columns{flex:1 1;min-height:0;display:grid;grid-template-columns:minmax(220px,32%) 1fr;grid-gap:16px;gap:16px}.board .columns>*{overflow:auto;align-content:start}.board section{margin-bottom:18px}.board h3{display:flex;align-items:center;gap:8px;margin:0;font-size:16px}.board section>.note{margin:2px 0 8px}.library{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));grid-gap:8px;gap:8px}.library img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r);cursor:pointer;border:3px solid transparent}.library img.on{border-color:var(--pick)}.library img.used{opacity:.4;filter:grayscale(.5)}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:8px;gap:8px;align-items:start;margin-bottom:8px}.slot{position:relative;overflow:hidden;display:grid;place-items:center;aspect-ratio:1.414;border:2px dashed var(--line);border-radius:var(--r);background:var(--bg);cursor:pointer}.slot:has(>img){border-style:solid}.slot.focus{border-color:var(--pick)}.slot>img{position:absolute;max-width:none;cursor:-webkit-grab;cursor:grab}.slot .cut{top:4px;left:4px}.slot .cut,.slot .tools{position:absolute;display:flex;gap:4px}.slot .tools{inset:auto 4px 4px;flex-wrap:wrap;justify-content:flex-end}.slot .tools button{min-height:0;padding:2px 8px;font-size:12px}button.slot{color:var(--muted)}.frame{position:relative;height:60vh;touch-action:none;background:#0a0e14;border-radius:var(--r);overflow:hidden}.frame canvas{width:100%;height:100%}.frame .ring{position:absolute;border:2px solid #fff;pointer-events:none}.tabs{display:flex;flex-wrap:wrap;gap:4px 14px}.tabs button{all:unset;flex:none;white-space:nowrap;cursor:pointer;font-size:14px;color:var(--muted);border-bottom:2px solid transparent;padding:2px 0}.tabs button[aria-pressed=true]{color:var(--ink);border-color:var(--ink)}.dc{min-height:100vh;background:var(--card);font-size:13px;line-height:1.4}.dc :is(.muted,.type,.from,.arrow,.to.none,.src,.st .idle,.ev :is(.s,.d,.m,small),.act label,.tabs b,.sw,.keys,tr.dec-discard td){color:var(--muted)}.dc .num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dc .small{font-size:12px}.dc .in{padding:10px 16px 40px}.dc .filters{position:-webkit-sticky;position:sticky;top:48px;z-index:9;background:var(--card);border-bottom:1px solid var(--line)}.dc .filters>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:6px 16px}.dc .filters>div+div{border-top:1px solid var(--tint)}.dc .filters>div:empty{display:none}.dc .tabs b{margin-left:4px;font-weight:400}.dc :is(.filters select,.search,.act input,.act select){width:auto;min-width:0}.dc .filters select{max-width:112px}.dc .search{width:150px}.dc .sw{display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap}.dc .sw input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:14px;min-height:0;margin:0;padding:0;border:0;border-radius:7px;cursor:pointer;background:var(--line) radial-gradient(circle at 7px 50%,var(--muted) 4px,transparent 4.5px)}.dc .sw input:checked{background:var(--ink) radial-gradient(circle at 17px 50%,#fff 5px,transparent 5.5px)}.dc .cols{margin-left:auto}.dc .cols[open]>summary{background:var(--tint)}.dc .cols>div{gap:8px;font-size:13px}.dc .cols .sw:has(:disabled){opacity:.5}.dc .scroller{overflow-x:auto}.dc table{border-collapse:collapse;width:100%}.dc .t{table-layout:fixed;min-width:1000px}.dc th{padding:4px 8px 6px;text-align:left;font-size:12px;font-weight:500;color:var(--muted);white-space:nowrap}.dc .t th{box-shadow:inset 0 -1px var(--line)}.dc th button{all:unset;cursor:pointer}.dc th button:hover,.dc th[aria-sort]{color:var(--ink)}.dc th[aria-sort=ascending] button:after{content:" ↑"}.dc th[aria-sort=descending] button:after{content:" ↓"}.dc th[draggable=true]{cursor:-webkit-grab;cursor:grab}.dc th.dragging{opacity:.4}.dc th.drop-before{box-shadow:inset 2px 0 0 var(--ink),inset 0 -1px var(--line)}.dc th.drop-after{box-shadow:inset -2px 0 0 var(--ink),inset 0 -1px var(--line)}.dc td{padding:5px 8px;white-space:nowrap;vertical-align:middle}.dc tr.r{cursor:pointer;scroll-margin-top:96px}.dc tr.r>td{overflow:hidden;text-overflow:ellipsis}.dc tr.first:not(:first-child)>td{border-top:1px solid var(--line)}.dc tr.r:hover>td{background:var(--bg)}.dc tr.r.sel>td{background:var(--tint)}.dc tr.r.sel>td:first-child{box-shadow:inset 3px 0 0 var(--ink)}.dc .name{all:unset;cursor:pointer;font-weight:600}.dc .inactive .name{color:var(--muted);font-weight:500}.dc .name+.more{margin-left:6px}.dc .warnmark{margin-left:4px;color:var(--ask)}.dc .arrow{margin:0 6px}.dc :is(.ws,.against){color:var(--warn)}.dc .st{text-align:center;font-weight:600}.dc .st .ok{color:var(--ok)}.dc .st .bad{color:var(--warn)}.dc .rng-none,.dc .st .due{color:var(--ask)}.dc .ev{display:grid;grid-template-columns:6em 3.4em minmax(0,1fr) 1em;grid-gap:0 6px;gap:0 6px;padding:3px 0;font-size:12px}.dc .ev .d{text-align:right}.dc .ev .m{grid-column:3/5}.dc .ev :is(.m,small){font-size:12px}.dc .ev b{margin-right:6px;font-weight:500}.dc .ev small{display:inline-block;max-width:100%;overflow:hidden;vertical-align:bottom;text-overflow:ellipsis;white-space:nowrap}.dc .ev .badge{margin-left:6px}.dc .ev .k{text-align:right}.dc .ev .ok{color:var(--ok)}.dc .ev .maybe{color:var(--ask)}.dc .act{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}.dc .act :is(input.val,select){width:210px}.dc .act input.note{width:240px}.dc .rules{display:grid;grid-gap:18px;gap:18px;max-width:920px}.dc .rules h2{margin:0 0 6px}.dc .rules ul{display:grid;grid-gap:3px;gap:3px;margin:0;padding-left:18px}.dc .rules p{margin:0 0 4px}.dc .t2{min-width:620px}.dc .t2 :is(th,td){padding:4px 8px;border-bottom:1px solid var(--line);vertical-align:top;white-space:normal}.dc code{display:block;font:12px ui-monospace,Menlo,Consolas,monospace}.dc .toast{position:fixed;right:16px;bottom:16px;z-index:20;max-width:min(420px,calc(100vw - 32px));padding:6px 12px;border-radius:var(--r);background:var(--ink);color:#fff}.dc .copybox{position:fixed;inset:auto 16px 16px;z-index:21;display:grid;grid-gap:6px;gap:6px;padding:10px;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}.dc .copybox textarea{min-height:120px;background:var(--tint);font:12px/1.45 ui-monospace,Menlo,Consolas,monospace}.dc :is(button,a):focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media (min-width:1001px){.dc{display:grid;grid-template:"top top" auto "filters filters" auto "in side" minmax(0,1fr) /minmax(0,1fr) auto;height:100dvh;min-height:0}.dc>.top{grid-area:top}.dc>.filters{grid-area:filters}.dc>.in{grid-area:in;overflow:auto}.dc>.in>.scroller{overflow:visible}.dc>.in:has(>.scroller){padding-top:0}.dc .t th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--card)}.dc>.side{width:420px}.dc:has(>.side) .t{min-width:640px}}@media (max-width:1000px){.dc>.side{position:fixed;inset:auto 0 0;z-index:15;max-height:70dvh;border:0;border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(0,0,0,.08)}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.side p{margin:0}.side :is(.kick,.tally){color:var(--muted);font-size:12px}.side header{padding:10px 8px 12px 16px}.side .title{display:flex;align-items:center;gap:2px}.side header h2{flex:1 1;min-width:0;margin:0;font-size:14px;font-weight:600;line-height:24px;letter-spacing:.01em}.side header h2 .name-field{min-height:0;margin:-3px 0 -3px -5px;padding:2px 4px;border-color:transparent;background:none;font:inherit;letter-spacing:inherit;text-transform:uppercase}.side header h2 .name-field:hover{background:var(--bg)}.side header h2 .name-field:focus{border-color:var(--ink);background:none}@media (max-width:720px){.side header h2 .name-field{font-size:16px}}.side .state{display:flex;align-items:center;gap:6px;padding-right:8px;color:var(--muted);font-size:12px}.side .state b{color:var(--ink);font-weight:400}.side .state .tally{margin-left:auto;white-space:nowrap}.dot{flex:none;width:6px;height:6px;border-radius:50%;background:var(--muted)}.dot.ok{background:var(--ok)}.dot.ask{background:var(--ask)}.dot.warn{background:var(--warn)}.dot.work{background:var(--ink);animation:blink 1.4s ease-in-out infinite}.side :is(button:not(.more,.ico),.btn){padding:0 10px;font-size:12px;font-weight:500}@media (min-width:721px){.side :is(button:not(.more,.ico),.btn,input,select){min-height:28px}}.side .ico{display:grid;place-items:center;flex:none;width:24px;height:24px;min-height:0;padding:0;border:0;border-radius:var(--r);background:none;color:var(--muted);cursor:pointer}.side .ico:hover,.side .menu[open]>.ico{background:var(--bg);color:var(--ink)}.side .actions .ico{width:28px;height:28px}@media (max-width:720px){.side :is(.ico,.actions .ico){width:32px;height:32px}}.ico .icon{width:16px;height:16px}.side .menu>div{top:32px;right:auto;left:0;min-width:172px;padding:4px;font-size:12px}.side .menu>div>:is(button,.btn){justify-content:flex-start;min-height:26px;padding:0 8px;border:0;background:none;white-space:nowrap}.side .menu>div>:is(button,.btn):hover{background:var(--bg)}.side .now{box-shadow:inset 2px 0 var(--ink)}.t .badge{padding:1px 7px}.side .badge{padding:0;background:none;font-weight:400}.side .error,.side .note{font-size:12px}.side .error{padding:8px 10px;line-height:18px}.rows{padding:6px 8px;border-top:1px solid var(--tint)}.rows>:is(.note,.error){margin:4px 8px}.row{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;min-height:28px;margin:0;padding:4px 8px;border-radius:var(--r)}.row:hover{background:var(--bg)}.row>:first-child{color:var(--muted);font-size:12px}.side .row select{min-height:0;padding:0;border:0;background:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.row select:has(option[value=""]:checked){color:var(--muted)}.fold>summary{grid-template-columns:88px minmax(0,1fr) 8px;cursor:pointer;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fold>summary::-webkit-details-marker{display:none}.fold>summary:after{color:var(--muted)}.fold>.form{padding:4px 8px 8px}.fold .form{grid-template-columns:1fr}.fold :is(pre,ul){margin:0;padding:0;color:var(--muted);font:inherit;font-size:12px;list-style:none;white-space:pre-wrap}.side .drop{gap:8px;padding:6px 10px;border-width:1px;border-radius:var(--r);background:none;font-size:12px}.side .drop i{width:24px;height:24px;background:none;box-shadow:none}.side .drop .icon{width:16px;height:16px}.side .drop b{font-size:12px;font-weight:500}.fold .chips{display:flex;flex-wrap:wrap;gap:6px;padding:0;list-style:none}.chips li{background:var(--tint)}.chips input{position:absolute;width:0;min-height:0;padding:0;border:0;opacity:0}.fold .chips label{display:inline;color:inherit;font-size:inherit;cursor:pointer}.chips label:has(input):after{content:" ✕";color:var(--muted)}.chips label:has(:checked){opacity:.5;text-decoration:line-through}.chips label:has(:focus-visible){outline:2px solid var(--ink);outline-offset:2px}.danger{border-color:var(--warn-line);color:var(--warn)}.fold .danger{margin-left:auto}.side .change{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px}.side .change .arrow{margin:0}.side .change .to{font-size:14px;font-weight:600}.side .change .badge{margin-left:6px;color:var(--muted)}.dc .trend{display:block;width:100%;max-width:360px;height:auto;margin:8px 0 4px}.dc .trend path{fill:none}.dc .trend circle,.dc .trend path{stroke:var(--ink);stroke-width:1.5}.dc .trend circle{fill:var(--card)}.dc .trend circle:last-of-type{fill:var(--ink)}.dc .trend line{stroke:var(--muted);stroke-dasharray:3 4}.dc .trend text{font-size:12px;fill:var(--muted)}.side .card.done{flex-direction:row;align-items:center;padding:8px 16px}.side .card.done>b{flex:none;color:var(--ok);font-weight:600}.side .chosen{flex:1 1;min-width:0;overflow:hidden;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.side .ready{padding:12px 16px;border-top:1px solid var(--tint);color:var(--ok)}.side kbd{font:inherit;opacity:.55}.side .keys{padding:10px 16px 0;font-size:12px}.side .keys,.side .progress{border-top:1px solid var(--tint)}.side .progress{gap:10px;padding:12px 16px}.side .stage{align-items:stretch;min-height:0;padding:0;border:0;border-radius:0;background:none;text-align:left}.side .stage>i{display:none}.side .stage h2{font-size:13px;font-weight:600}.side>.progress .stage h2{display:none}.side .stage>h2+p{margin:0;font-size:13px}.side .steps{gap:3px}.side .steps li{height:3px;min-height:0;border-radius:2px;background:var(--tint)}.side .steps li:after,.side .steps li:before{display:none}.side .steps li:is(.done,.act,.work){background:var(--ink)}.side .steps li.work{animation:blink 1.4s ease-in-out infinite}.side .steps li.ask{background:var(--ask)}.side .steps li.warn{background:var(--warn)}@media (max-width:1000px){.yacht{display:block;height:auto}.side{border-left:0;border-bottom:1px solid var(--line)}}@media (max-width:720px){.top{position:static;padding:0 12px}.subtop{top:0}:is(input,textarea,select){font-size:16px}.dc .filters{position:static}.dc .tabs{flex-wrap:nowrap;overflow-x:auto}.dc .t{min-width:0}.board .columns{grid-template-columns:1fr}}.accounts{list-style:none;margin:0 0 16px;padding:0}.accounts li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px 0;border-bottom:1px solid var(--line)}.accounts li>span,.link>span{flex:1 1 100%}.accounts li>span{flex-basis:220px;min-width:0}.accounts input{width:auto;max-width:100%;field-sizing:content;font-size:14px;font-weight:700}.name-field[aria-busy=true]{opacity:.5}.link{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin:0 0 16px}.link input{flex:1 1;min-width:200px}