@font-face{font-family:Bricolage;src:url(/assets/bricolage.woff2) format("woff2");font-weight:200 800;font-display:swap}@font-face{font-family:Public Sans;src:url(/assets/public-sans.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Plex Mono;src:url(/assets/plex-mono.woff2) format("woff2");font-weight:400 600;font-display:swap}:root{--ground:#F0F0EC;--paper:#FCFCFA;--ink:#1C2733;--ink2:#44505E;--muted:#6B7683;--accent:#2B5BD7;--accent-soft:#EAEFFC;--mark:#4272E5;--line:rgba(28,39,51,.16);--hair:rgba(28,39,51,.08);--amber:#9A6C0E;--amber-soft:#FBF3DF;--ok:#3E7A4E;--r:10px;--d:"Bricolage";--b:"Public Sans";--m:"Plex Mono"}*{box-sizing:border-box}body,html{margin:0;height:100%}body{background:var(--ground);color:var(--ink);font:400 14.5px/1.6 var(--b),PingFang SC,sans-serif;-webkit-font-smoothing:antialiased}a,button{color:inherit}button{font:inherit;background:none;border:0;cursor:pointer;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.btn{font:600 12.5px var(--b);padding:7px 14px;border-radius:8px;border:1px solid var(--line);background:var(--paper);white-space:nowrap}.btn:hover{border-color:var(--ink)}.btn.pri{background:var(--accent);border-color:var(--accent);color:#fff}.btn.pri:hover{filter:brightness(1.08)}.btn:disabled{opacity:.45;cursor:default}.btn:disabled:hover{border-color:var(--line);filter:none}.btn.pri:disabled{opacity:1;color:var(--muted)}.btn.pri:disabled,.btn.pri:disabled:hover{background:var(--ground);border-color:var(--line)}.btn.pri:disabled:hover{filter:none}.shell{display:grid;grid-template-rows:auto minmax(0,1fr);height:100vh;height:100dvh}.top{display:flex;gap:14px;padding:0 16px;height:52px;background:var(--paper);border-bottom:1px solid var(--hair)}.mark,.top{align-items:center}.mark{display:inline-flex;gap:7px;font:650 14px var(--d);text-decoration:none;white-space:nowrap}.mark-fig{width:1.35em;height:1.35em;flex:none;overflow:visible}.top .mark{padding:7px;margin:-7px}.mark-words em{font-style:normal;color:var(--accent)}.top .doc{flex:1 1;min-width:0;font:400 12.5px var(--b);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumb{color:var(--line);font-size:13px;flex:none}.crumb-link{font:500 12.5px var(--b);color:var(--muted);text-decoration:none;flex:none}.crumb-link:hover{color:var(--accent)}.crumb-here{font:600 12.5px var(--b);color:var(--ink);flex:none}.seg{display:flex;gap:2px;padding:2px;background:var(--ground);border-radius:9px}.seg button{font:600 12px var(--b);color:var(--muted);padding:5px 14px;border-radius:7px}.seg button.on,.seg button:hover{color:var(--ink)}.seg button.on{background:var(--paper);box-shadow:0 1px 2px rgba(28,39,51,.09)}.main{display:grid;grid-template-columns:minmax(0,1fr) 372px;min-height:0}.main.no-chat{grid-template-columns:minmax(0,1fr)}@media(max-width:900px){.main,.main.no-chat{grid-template-columns:1fr;grid-template-rows:minmax(240px,1fr) minmax(0,44vh)}.drafter{border-left:0;border-top:1px solid var(--hair);min-height:0}.top .doc{display:none}.top{gap:8px;padding:0 12px}.stage{padding:14px}.btn{padding:7px 11px}.mark{font-size:13px}#shareBtn,.mark span,.stat,.top .icon{display:none}}.back{font:400 18px var(--b);color:var(--muted);text-decoration:none;line-height:1;padding:2px 6px;border-radius:7px;flex:none}.back:hover{background:var(--ground);color:var(--ink)}.tdiv{width:1px;height:18px;background:var(--hair);flex:none}.icon{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;color:var(--muted);font-size:13px;flex:none}.icon:hover{background:var(--ground)}.icon.on,.icon:hover{color:var(--ink)}.stat{font:400 11px var(--m);color:var(--muted);flex:none}.stage{position:relative;overflow:hidden;display:grid;min-width:0;min-height:0}.paper-scroll{position:absolute;inset:0;overflow:auto;display:flex;padding:24px}.paper{margin:auto;display:grid;place-items:center}.paper.fit{width:100%;height:100%}.stage svg{display:block;box-shadow:0 1px 2px rgba(28,39,51,.07),0 16px 44px rgba(28,39,51,.09);border-radius:2px;background:var(--paper)}.paper.fit svg{width:auto;height:auto;max-width:min(100%,960px);max-height:100%}.paper:not(.fit) svg{width:100%;height:auto;max-width:none;max-height:none}.stage.is3d{place-items:stretch}.tools{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:2px;padding:4px;border-radius:999px;background:rgba(252,252,250,.92);border:1px solid var(--line);box-shadow:0 2px 10px rgba(28,39,51,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tool{display:grid;place-items:center;min-width:28px;height:28px;padding:0 6px;border-radius:999px;font:500 14px var(--b);color:var(--ink2);line-height:1}.tool:hover:not(:disabled){background:var(--ground);color:var(--ink)}.tool:disabled{opacity:.32;cursor:default}.tool-fit{font:500 11px var(--m);min-width:46px;color:var(--muted)}.tool-fit:hover{color:var(--ink)}.sheet-switcher{position:relative;display:flex}.tool-sheet{display:flex;gap:5px;min-width:156px;padding:0 10px;font:600 12px var(--b);white-space:nowrap}.tool-ref{font:500 10.5px var(--m);color:var(--muted)}.tool-chevron{font-size:9px;color:var(--muted);margin-left:2px}.sheet-menu{position:absolute;left:50%;bottom:calc(100% + 10px);width:min(320px,calc(100vw - 32px));transform:translateX(-50%);padding:5px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);box-shadow:0 8px 28px rgba(28,39,51,.14)}.sheet-menu,.sheet-menu-item{display:grid;grid-gap:2px;gap:2px}.sheet-menu-item{width:100%;padding:8px 10px;border-radius:7px;text-align:left}.sheet-menu-item:focus-visible,.sheet-menu-item:hover{background:var(--ground)}.sheet-menu-item.on{background:var(--accent-soft)}.sheet-menu-line{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.sheet-menu-name{font:600 12.5px var(--b);color:var(--ink)}.sheet-menu-ref{font:500 10.5px var(--m);color:var(--muted)}.sheet-menu-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 11.5px var(--b);color:var(--muted)}.tool-div{width:1px;height:16px;background:var(--hair);margin:0 3px}@media(max-width:560px){.tools{gap:1px}.tool{min-width:26px}.tool-sheet{min-width:0;padding:0 7px}.tool-fit{min-width:38px}}#gl{min-height:320px}#gl,#gl canvas{width:100%;height:100%}#gl canvas{display:block}.gl-hint{position:absolute;left:16px;bottom:14px;font:400 10.5px var(--m);color:var(--muted);background:rgba(252,252,250,.85);border-radius:6px;padding:3px 8px;pointer-events:none}.stage-note{color:var(--muted);font:400 13px var(--b)}.drafter{display:grid;grid-template-rows:minmax(0,1fr) auto;background:var(--paper);border-left:1px solid var(--hair);min-width:0;position:relative}.flow{overflow-y:auto;padding:18px 18px 6px;scroll-behavior:smooth}.msg{margin:0 0 18px;animation:in .28s ease-out both}@keyframes in{0%{opacity:0;transform:translateY(4px)}to{opacity:1}}@media(prefers-reduced-motion:reduce){.msg{animation:none}}.who{display:block;margin:0 0 4px;font:500 9px/1 var(--m);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.msg.you .who{color:var(--accent)}.msg.checks .who{color:var(--amber)}.msg .body{white-space:pre-line;color:var(--ink2);font-size:14px}.msg.you .body{color:var(--ink)}.msg.quiet .body{color:var(--muted);font-size:13px}.msg.ok .body{color:var(--ok);font-size:13px}.msg .undo{font:600 11px var(--m);color:var(--accent);margin-left:7px}.msg .undo:hover{text-decoration:underline}.dots span{display:inline-block;width:4px;height:4px;margin-right:3px;border-radius:50%;background:var(--muted);animation:blink 1.1s infinite}.dots span:nth-child(2){animation-delay:.18s}.dots span:nth-child(3){animation-delay:.36s}@keyframes blink{0%,60%,to{opacity:.25}30%{opacity:1}}.chips{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin-top:9px}.chip{font:500 12.5px var(--b);text-align:left;border:1px solid var(--line);border-radius:8px;padding:5px 11px;background:var(--paper);color:var(--ink2);max-width:100%}.chip:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.composer{padding:0 14px 14px}.box{border:1px solid var(--line);border-radius:12px;background:var(--paper);transition:border-color .15s,box-shadow .15s}.box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}#ask{display:block;width:100%;resize:none;border:0;background:none;outline:0;font:14.5px/1.5 var(--b);color:var(--ink);padding:11px 13px 4px;max-height:132px;overflow-y:auto}#ask::placeholder{color:var(--muted)}.box-foot{display:flex;align-items:center;gap:10px;padding:4px 8px 8px 13px}.quota{flex:1 1;min-width:0;font:400 11px var(--m);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quota b{color:var(--ink);font-weight:600}.quota.spent b{color:var(--amber)}.send{font:600 12.5px var(--b);color:#fff;background:var(--accent);border-radius:8px;padding:6px 15px}.send:hover{filter:brightness(1.08)}.send:disabled{background:var(--line);color:var(--muted);cursor:default;filter:none}.scrim{position:fixed;inset:0;background:rgba(28,39,51,.42);display:none;align-items:center;justify-content:center;z-index:40;padding:20px}.scrim.on{display:flex}.modal{background:var(--paper);border-radius:16px;max-width:392px;width:100%;padding:28px 30px;box-shadow:0 24px 70px rgba(28,39,51,.3)}.modal h3{font:650 21px var(--d);margin:0 0 6px}.modal .sub{color:var(--muted);font-size:13.5px;margin:0;line-height:1.55}.modal .price{font:700 34px var(--d);margin:18px 0 2px}.modal .price small{font:400 13.5px var(--b);color:var(--muted)}.modal ul{list-style:none;margin:14px 0 20px;padding:0;display:grid;grid-gap:7px;gap:7px;font-size:13.5px;color:var(--ink2)}.modal li:before{content:"— ";color:var(--ok);font-weight:700}.modal .keep{font:400 11px var(--m);color:var(--muted);text-align:center;margin:11px 0 0}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:var(--paper);font-size:13.5px;border-radius:10px;padding:10px 18px;opacity:0;pointer-events:none;transition:opacity .25s;z-index:50;max-width:min(520px,90vw)}.toast.on{opacity:1}.pbar{display:flex;align-items:center;gap:14px;padding:0 20px;height:52px;background:var(--paper);border-bottom:1px solid var(--hair)}.pwrap{max-width:1040px;margin:0 auto;padding:38px 20px 72px}.pwrap h1{font:650 25px var(--d);margin:0 0 4px}.pwrap .sub{color:var(--muted);margin:0 0 28px;font-size:14px}.dash{max-width:1040px;padding:0 20px 80px}.dash,.hero{margin:0 auto}.hero{max-width:660px;padding:72px 0 56px;text-align:center}.hero h1{font:600 38px/1.15 var(--d);margin:0;letter-spacing:-.015em}.hero .sub{margin:12px 0 0;color:var(--ink2);font-size:15px;line-height:1.6}.composer{margin-top:30px;padding:18px 18px 14px;background:var(--paper);border:1px solid var(--line);border-radius:14px;text-align:left;box-shadow:0 1px 2px rgba(28,39,51,.05);transition:border-color .15s,box-shadow .15s}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.composer-in{display:block;width:100%;border:0;background:none;resize:none;overflow:hidden;padding:0;font:400 15px/1.55 var(--b);color:var(--ink);outline:none}.composer-in::placeholder{color:var(--muted)}.composer-foot{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:12px}.composer-foot .btn{min-height:34px;padding:0 16px;font-size:13px}.composer-hint{margin:11px 0 0 2px;text-align:left;font:400 11.5px var(--m);color:var(--muted)}@media(max-width:560px){.composer-hint{display:none}}.openers{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:18px 0 0;padding:0}.opener{font:400 12.5px var(--b);color:var(--ink2);padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--paper);white-space:nowrap}.opener:hover{border-color:var(--ink);color:var(--ink)}.work{border-top:1px solid var(--hair);padding-top:34px}.eyebrow{margin:0;font:600 10px var(--m);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.work h2{font:600 19px var(--d);margin:6px 0 22px;letter-spacing:-.01em}.work-note{margin:0;color:var(--muted);font-size:14px}.work-mock{max-width:62ch;margin:-14px 0 22px;font-size:13px;line-height:1.6}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));grid-gap:18px;gap:18px}.card{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .16s,border-color .16s}.card:hover{box-shadow:0 8px 24px rgba(28,39,51,.1);border-color:var(--ink2)}.card .th{display:grid;place-items:center;height:168px;padding:12px 14px;border-bottom:1px solid var(--hair);overflow:hidden}.card .th svg{width:100%;height:100%;display:block}.th-none{font:400 11px var(--m);color:var(--muted)}.card .meta{padding:12px 14px 13px}.card .nm{display:block;font:600 14px var(--b);color:var(--ink);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card .nm:hover{color:var(--accent)}.card .sub2{margin:4px 0 0;font:400 11.5px var(--m);display:flex;align-items:center;gap:7px}.card .sub2,.tag{color:var(--muted)}.tag{font:600 9.5px var(--m);letter-spacing:.1em;text-transform:uppercase;background:var(--ground);border-radius:5px;padding:2px 6px}.tag.paid{color:var(--ok);background:#EAF2EC}.tag.mock{color:var(--amber);background:var(--amber-soft)}.card .acts{position:absolute;top:8px;right:8px;z-index:2;display:flex;gap:3px;padding:3px;border-radius:9px;background:rgba(252,252,250,.94);border:1px solid var(--line);box-shadow:0 2px 8px rgba(28,39,51,.12);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transform:translateY(-2px);transition:opacity .14s,transform .14s}.card:focus-within .acts,.card:hover .acts{opacity:1;transform:none}.card .acts button{font:500 11.5px var(--b);color:var(--ink2);padding:4px 8px;border-radius:6px;border:1px solid transparent}.card .acts button:hover{background:var(--ground);border-color:var(--line)}.card .acts .danger:hover{color:#A8402E;border-color:#E7C9C2;background:#FBF1EF}@media(hover:none){.card .acts{opacity:1;transform:none;position:static;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0 11px 11px;border-radius:0}}@media(prefers-reduced-motion:reduce){.card .acts{transition:none;transform:none}}.empty{border:1.5px dashed var(--line);border-radius:14px;padding:56px 20px;text-align:center;color:var(--muted)}.empty a{color:var(--accent)}