:root{--paper:#f4efe3;--paper-2:#faf7ef;--card:#fcfaf4;--note:#f7ecc9;--rose:#f6e1d6;--ink:#2b2622;--ink-soft:#6e655c;--coral:#d97757;--sun:#e8b654;--teal:#6a9a86;--plum:#8c5a8f;--wood:#dcb27a;--wood-dark:#a9794b;--line:1.4px solid var(--ink);--shadow:none;--drawn:url(#drawn);--pop:cubic-bezier(.34, 1.56, .64, 1);--spring:cubic-bezier(.22, 1.4, .36, 1);--ui:"Courier Prime", "Courier New", ui-monospace, monospace;--hand:"Courier Prime", "Courier New", ui-monospace, monospace}*{box-sizing:border-box}html,body{background:var(--paper);height:100%;color:var(--ink);font-family:var(--ui);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:#2b262238 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#2b262238;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#2b262266}button,input,textarea{font:inherit;color:inherit}.view{background:url(/paper.svg) 0 0 / 360px 360px, radial-gradient(ellipse at 50% 40%, #f8f4ea 0%, var(--paper) 60%, #eae2d0 100%);position:fixed;inset:0;overflow:hidden}#stage{cursor:grab;touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}#stage.is-bot{cursor:pointer}#stage.is-drag{cursor:grabbing}.layer{pointer-events:none;position:absolute;inset:0}.layer>*{pointer-events:auto}.btn{border:var(--line);background:var(--paper-2);box-shadow:none;cursor:pointer;transition:transform .18s var(--pop), box-shadow .18s var(--pop), background .2s;border-radius:4px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:600;display:inline-flex}.btn:hover{box-shadow:none;transform:translate(-1px,-2px)rotate(-1deg)}.btn:active{box-shadow:none;transform:translate(2px,3px)}.btn.primary{background:var(--coral);color:var(--card);text-shadow:0 1px #0003}.btn.sun{background:var(--sun)}.btn.ghost{box-shadow:none;background:0 0;border-color:#0000}.btn.icon{justify-content:center;width:36px;height:36px;padding:0;font-size:18px}.btn:disabled{opacity:.55;cursor:default;transform:none}.pill{border:1.5px solid var(--ink);background:var(--paper-2);white-space:nowrap;border-radius:3px;align-items:center;gap:5px;padding:1px 9px 1px 7px;font-size:12px;font-weight:600;display:inline-flex}.dot{border:1.5px solid var(--ink);background:#cfc4b2;border-radius:50%;flex:none;width:9px;height:9px}.is-work .dot,.dot.work{background:var(--teal);animation:.9s ease-in-out infinite beat}.is-think .dot,.dot.think{background:var(--sun);animation:1.4s ease-in-out infinite beat}.is-wait .dot,.dot.wait{background:var(--coral);animation:.6s ease-in-out infinite beat}.is-idle .dot,.dot.idle{background:#a9c9a4}@keyframes beat{50%{transform:scale(1.35)}}@keyframes pop-in{0%{opacity:0;transform:var(--from,scale(.6))}}.topbar{pointer-events:none;z-index:5;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:fixed;top:14px;left:14px;right:14px}.topbar>*{pointer-events:auto}.brand{background:var(--paper-2);border:var(--line);box-shadow:none;border-radius:4px;align-items:center;gap:12px;padding:8px 16px 8px 8px;display:flex;transform:rotate(-1.2deg)}.brand canvas{background:var(--sun);border:1.5px solid var(--ink);border-radius:4px;width:46px;height:46px}.brand h1{letter-spacing:.2px;margin:0;font-size:21px;font-weight:700;line-height:1.05}.brand p{color:var(--ink-soft);margin:2px 0 0;font-size:13px;font-weight:500}.tools{align-items:center;gap:8px;display:flex}.account{font-size:13px;font-weight:600}.signin{background:var(--paper-2);border:var(--line);width:min(380px,100vw - 28px);box-shadow:none;z-index:6;animation:pop-in .6s var(--pop) both;--from:translateY(-20px) scale(.9) rotate(-2deg);border-radius:4px;padding:18px 20px 16px;position:fixed;top:96px;left:14px}.signin h2{margin:0 0 4px;font-size:22px}.signin p{color:var(--ink-soft);margin:0 0 12px;font-size:15px;line-height:1.35}.signin .row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.signin .wait{color:var(--ink-soft);font-size:14px}.signin .wait a{color:var(--coral);font-weight:600}.signin .tag{background:var(--sun);position:absolute;top:-13px;right:18px;rotate:4deg}.plaque{transform-origin:50% 100%;cursor:pointer;-webkit-user-select:none;user-select:none;will-change:transform;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;top:0;left:0}.plaque .board{background:linear-gradient(180deg, #f0c48a, var(--wood));border:var(--line);box-shadow:none;white-space:nowrap;text-overflow:ellipsis;max-width:260px;transition:transform .25s var(--pop);border-radius:4px;padding:3px 14px 4px;font-size:17px;font-weight:700;position:relative;overflow:hidden}.plaque .board:before,.plaque .board:after{content:"";background:var(--wood-dark);border:1.5px solid var(--ink);border-radius:50%;width:5px;height:5px;margin-top:-2.5px;position:absolute;top:50%}.plaque .board:before{left:4px}.plaque .board:after{right:4px}.plaque:hover .board{transform:rotate(-2deg)scale(1.06)}.plaque.is-selected .board{background:linear-gradient(180deg, #ffe58a, var(--sun))}.plaque .status{align-items:center;gap:5px;max-width:300px;display:flex}.plaque .status .pill{text-overflow:ellipsis;max-width:230px;overflow:hidden}.plaque .sched{background:var(--note)}.bubble{background:var(--card);border:1.5px solid var(--ink);width:max-content;min-width:150px;max-width:270px;box-shadow:none;font-family:var(--hand);transform-origin:18px 100%;will-change:transform;border-radius:4px;padding:9px 14px 10px;font-size:17px;line-height:1.22;position:absolute;top:0;left:0}.bubble-in{animation:bubble-pop .55s var(--pop) both}@keyframes bubble-pop{0%{opacity:0;rotate:-8deg;scale:.3}}.bubble:after{content:"";background:var(--card);border-left:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform-origin:0 0;clip-path:polygon(0 0,100% 0,0 100%);border-bottom-left-radius:4px;width:22px;height:18px;position:absolute;bottom:-15px;left:16px;transform:skew(-38deg)rotate(-8deg)}.bubble.is-mine,.bubble.is-mine:after{background:var(--note)}.bubble.is-card,.bubble.is-card:after{background:var(--rose)}.bubble .who{font-family:var(--ui);color:var(--ink-soft);gap:6px;margin:-1px 22px 3px 0;font-size:11.5px;font-weight:600;display:flex}.bubble .text{overflow-wrap:anywhere;max-height:7.4em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 78%,#0000);mask-image:linear-gradient(#000 78%,#0000)}.bubble.is-open .text{max-height:16em;overflow-y:auto;-webkit-mask-image:none;mask-image:none}.bubble.is-short .text{-webkit-mask-image:none;mask-image:none}.bubble .text b{background:linear-gradient(#0000 55%,#ffe17a 55%);font-weight:400}.bubble .text code{background:#efe7d6;border-radius:4px;padding:0 3px;font-family:ui-monospace,monospace;font-size:.82em}.bubble .close{border:1.5px solid var(--ink);background:var(--coral);width:26px;height:26px;color:var(--card);font-family:var(--ui);cursor:pointer;box-shadow:none;transition:transform .2s var(--pop);border-radius:50%;place-items:center;font-size:14px;font-weight:700;line-height:1;display:grid;position:absolute;top:-11px;right:-11px}.bubble .close:hover{transform:rotate(90deg)scale(1.15)}.bubble .more{color:var(--coral);font-family:var(--ui);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:600}.bubble form{align-items:center;gap:6px;margin-top:8px;display:none}.bubble:hover form,.bubble:focus-within form,.bubble.is-selected form{display:flex}.bubble input{border:1.5px solid var(--ink);min-width:0;font-family:var(--hand);background:var(--paper-2);border-radius:4px;outline:none;flex:1;padding:4px 9px;font-size:16px;transition:box-shadow .15s}.bubble input:focus{box-shadow:0 0 0 3px #e8b65466}.bubble form .btn{box-shadow:none;border-radius:4px;padding:3px 10px;font-size:13px}.bubble .choices{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.bubble .choices .btn{padding:3px 10px;font-size:13px}.bubble .note{font-family:var(--ui);color:var(--ink-soft);margin-top:5px;font-size:12px}.nub{border:1.5px solid var(--ink);background:var(--card);cursor:pointer;width:30px;height:24px;box-shadow:none;transition:transform .2s var(--pop);border-radius:4px;place-items:center;font-size:13px;font-weight:700;display:grid;position:absolute;top:0;left:0}.nub:hover{transform:translateY(-2px)rotate(-6deg)scale(1.12)}.nub span{letter-spacing:1px;margin-top:-6px}.strip{background:var(--paper-2);border:var(--line);max-width:calc(100vw - 24px);box-shadow:none;z-index:5;scrollbar-width:none;border-radius:4px;gap:8px;padding:8px;display:flex;position:fixed;bottom:14px;left:50%;overflow-x:auto;translate:-50%}.chip{cursor:pointer;transition:transform .2s var(--pop), background .2s;background:0 0;border:2px solid #0000;border-radius:4px;flex:none;align-items:center;gap:7px;padding:3px 10px 3px 4px;display:flex}.chip:hover{background:#efe7d6;transform:translateY(-3px)}.chip.is-selected{border-color:var(--ink);background:var(--note)}.chip canvas{width:34px;height:34px}.chip .name{white-space:nowrap;text-overflow:ellipsis;max-width:130px;font-size:14px;font-weight:600;overflow:hidden}.chip .state{color:var(--ink-soft);align-items:center;gap:4px;font-size:11.5px;display:flex}.chip .state .dot{border-width:1px;width:7px;height:7px}.chip .text{flex-direction:column;align-items:flex-start;display:flex}.drawer{background:var(--paper-2);border:var(--line);width:min(380px,100vw - 28px);box-shadow:none;z-index:6;transition:transform .55s var(--spring);border-radius:4px;flex-direction:column;display:flex;position:fixed;top:84px;bottom:100px;right:14px;overflow:hidden;transform:translate(calc(100% + 40px))rotate(3deg)}.drawer.is-open{transform:none}.drawer header{border-bottom:2px dashed #d9c6ad;align-items:center;gap:12px;padding:14px 16px 10px;display:flex}.drawer header canvas{border:1.5px solid var(--ink);background:var(--note);border-radius:4px;flex:none;width:64px;height:64px}.drawer h2{margin:0;font-size:21px;line-height:1.1}.drawer header p{color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:3px 0 0;font-size:13px;line-height:1.3;display:-webkit-box;overflow:hidden}.drawer .x{align-self:flex-start;margin-left:auto}.drawer .body{scrollbar-width:thin;flex:1;padding:10px 16px 16px;overflow-y:auto}.drawer section{margin-top:12px}.drawer h3{text-transform:uppercase;letter-spacing:.8px;color:var(--ink-soft);align-items:center;gap:6px;margin:0 0 6px;font-size:13px;display:flex}.now{background:var(--card);border:1.5px solid var(--ink);border-radius:4px;align-items:center;gap:10px;padding:8px 10px;display:flex}.now .what{flex:1;min-width:0;font-size:14px;font-weight:500}.now .what small{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-weight:400;display:block;overflow:hidden}.card{background:var(--card);border:1.5px solid var(--ink);border-radius:4px;margin-bottom:6px;padding:8px 10px;font-size:14px}.card .title{font-weight:600}.card .meta{color:var(--ink-soft);flex-wrap:wrap;gap:4px 10px;margin-top:2px;font-size:12.5px;display:flex}.todo{align-items:baseline;gap:8px;padding:2px 0;font-size:14px;display:flex}.todo .box{border:1.5px solid var(--ink);border-radius:4px;flex:none;place-items:center;width:15px;height:15px;font-size:11px;font-weight:700;display:grid;translate:0 2px}.todo.done .box{background:#a9c9a4}.todo.doing .box{background:var(--sun)}.todo.cancelled{color:var(--ink-soft);text-decoration:line-through}.timeline{flex-direction:column;gap:6px;display:flex}.msg{border:1.5px solid var(--ink);max-width:92%;font-family:var(--hand);background:var(--card);overflow-wrap:anywhere;border-radius:4px;padding:5px 10px 6px;font-size:16px;line-height:1.2}.msg.user{background:var(--note);border-bottom-right-radius:4px;align-self:flex-end}.msg.bot{border-bottom-left-radius:4px}.msg time,.tl-tool time{font-family:var(--ui);color:var(--ink-soft);font-size:11px;display:block}.tl-tool{color:var(--teal);align-self:flex-start;align-items:center;gap:6px;padding-left:4px;font-size:12.5px;font-weight:600;display:flex}.tl-tool time{font-weight:400;display:inline}.empty{color:var(--ink-soft);font-size:13.5px;font-style:italic}.composer{border-top:2px dashed #d9c6ad;align-items:flex-end;gap:8px;padding:10px 12px 12px;display:flex}.composer textarea{resize:none;border:1.5px solid var(--ink);font-family:var(--hand);background:var(--card);border-radius:4px;outline:none;flex:1;min-height:40px;max-height:120px;padding:7px 10px;font-size:14px}.composer textarea:focus{box-shadow:0 0 0 3px #e8b65466}.toasts{z-index:9;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:96px;left:50%;translate:-50%}.toast{background:var(--ink);color:var(--card);box-shadow:none;animation:pop-in .45s var(--pop) both;--from:translateY(16px) scale(.8);border-radius:4px;max-width:min(520px,92vw);padding:7px 14px;font-size:14px;font-weight:500}.toast.bad{background:var(--coral)}@media (max-width:700px){.brand{padding:6px 12px 6px 6px}.brand img{width:34px!important;height:34px!important}.brand h1{white-space:nowrap;font-size:16px}.tools{gap:5px}.tools .btn{padding:4px 8px;font-size:13px}.tools .btn.icon{width:30px;height:30px}.tools .label,.brand p{display:none}.drawer{height:62vh;top:auto;bottom:86px}.chip .text{display:none}.chip{padding:3px}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.bubble .who .new{background:var(--coral);color:var(--card);border-radius:3px;margin-left:auto;padding:0 7px;font-size:10.5px;line-height:16px}.chip.is-unread{position:relative}.chip.is-unread:after{content:"";background:var(--coral);border:1.5px solid var(--paper-2);border-radius:50%;width:9px;height:9px;position:absolute;top:3px;left:30px}.btn:not(.ghost),.brand,.signin,.plaque .board,.bubble,.nub,.strip,.drawer,.toast{filter:var(--drawn)}.brand h1,.drawer h2,.signin h2{letter-spacing:.04em;font-weight:400}.brand p,.bubble .who,.drawer header p,.msg time,.empty,.note{letter-spacing:.02em;font-style:italic}.plaque .board{background:radial-gradient(circle at 7px 7px, var(--paint-ink,var(--ink)) 1.3px, transparent 1.6px), radial-gradient(circle at calc(100% - 7px) 7px, var(--paint-ink,var(--ink)) 1.3px, transparent 1.6px), radial-gradient(circle at 7px calc(100% - 7px), var(--paint-ink,var(--ink)) 1.3px, transparent 1.6px), radial-gradient(circle at calc(100% - 7px) calc(100% - 7px), var(--paint-ink,var(--ink)) 1.3px, transparent 1.6px), repeating-linear-gradient(180deg, transparent 0 6px, #2b262229 6px 7px), linear-gradient(180deg, #ffffff24, #0000000f), var(--paint,var(--wood));color:var(--paint-ink,var(--ink));letter-spacing:.05em;padding:5px 18px 6px;font-weight:400}.plaque .board:before,.plaque .board:after{display:none}.plaque.is-selected .board{outline:2.5px solid var(--sun);outline-offset:2px}.bubble{background:var(--card);font-size:15px;line-height:1.3}.bubble:before{content:"";background:#e8dcbed9;border-left:1px dashed #2b262240;border-right:1px dashed #2b262240;width:54px;height:16px;position:absolute;top:-9px;left:50%;translate:-50%;rotate:-3deg}.bubble .close{background:var(--card);color:var(--ink);font-weight:400}.bubble .who .new{background:var(--coral);font-style:normal}.chip .name,.btn{font-weight:700}
