@font-face{font-family:Orca Sans;font-weight:400;font-display:swap;src:url(/fonts/inter-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orca Sans;font-weight:500;font-display:swap;src:url(/fonts/inter-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orca Sans;font-weight:600;font-display:swap;src:url(/fonts/inter-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orca Sans;font-weight:700;font-display:swap;src:url(/fonts/inter-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orca Sans;font-weight:400;font-display:swap;src:url(/fonts/notothai-400-thai.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Orca Sans;font-weight:500;font-display:swap;src:url(/fonts/notothai-500-thai.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Orca Sans;font-weight:600;font-display:swap;src:url(/fonts/notothai-600-thai.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Orca Sans;font-weight:700;font-display:swap;src:url(/fonts/notothai-700-thai.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}:root{--acc-rgb:115, 239, 255;--red-rgb:255, 115, 115;--acc:#73efff;--red:#ff7373;--green:#5cff7a;--gold:#ffc46b;--acc-27:rgba(var(--acc-rgb), .27);--acc-17:rgba(var(--acc-rgb), .17);--acc-14:rgba(var(--acc-rgb), .14);--acc-10:rgba(var(--acc-rgb), .1);--red-27:rgba(var(--red-rgb), .27);--red-17:rgba(var(--red-rgb), .17);--red-10:rgba(var(--red-rgb), .1);--gold-14:#ffc46b29;--green-14:#5cff7a26;--bg:#0c0d0e;--panel:#161718;--chip:#1a1b1c;--inset:#1c2125;--well:#2a2a2a4d;--card:#212121;--card-hi:#262728;--box:#262626;--soft:#88888824;--line:#2a2a2a;--teal:#29585e;--teal-2:#4396a0;--text:#fff;--text-2:#9c9c9c;--text-3:#737373;--text-hint:#5c5c5c;--grad-action:linear-gradient(90deg, var(--inset) 0%, var(--teal) 50%, var(--inset) 100%);--grad-glow:radial-gradient(1100px 520px at 15% -12%, #4396a029, transparent 62%);--r-chip:6px;--r-btn:8px;--r-row:10px;--r-card:14px;--r-well:16px;--r-panel:18px;--col-w:296px;--font:"Orca Sans", "Segoe UI", system-ui, sans-serif;--ease:var(--ease-smooth-out);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--duration-stagger:40ms;--duration-micro:80ms;--duration-quick:.15s;--duration-fast:.25s;--duration-medium:.35s;--duration-slow:.4s;--duration-very-slow:.5s;--ease-smooth-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:ease-in-out;--ease-out:ease-out;--ease-linear:linear;--ease-bounce:cubic-bezier(.34, 1.36, .64, 1);--ease-bounce-strong:cubic-bezier(.34, 3.85, .64, 1);--distance-micro:4px;--distance-small:6px;--distance-base:8px;--distance-medium:12px;--distance-large:30px;--scale-large:.96;--scale-medium:.97;--scale-small:.98;--scale-tiny:.99;--blur-small:2px;--blur-medium:3px;--blur-large:8px;--dropdown-open-dur:.25s;--dropdown-close-dur:.15s;--dropdown-pre-scale:.97;--dropdown-closing-scale:.99;--dropdown-ease:cubic-bezier(.22, 1, .36, 1);--modal-open-dur:.25s;--modal-close-dur:.15s;--modal-scale:.96;--modal-scale-close:.96;--modal-ease:cubic-bezier(.22, 1, .36, 1);--toast-open:.35s;--toast-close:.25s;--toast-distance:16px;--toast-blur:2px;--toast-scale:.97;--toast-ease:cubic-bezier(.22, 1, .36, 1);--check-box:.15s;--check-draw:.35s;--check-delay:0s;--check-uncheck:.15s;--check-ease:cubic-bezier(.22, 1, .36, 1);--check-len:23;--stagger-dur:.5s;--stagger-distance:12px;--stagger-stagger:40ms;--stagger-blur:3px;--stagger-ease:cubic-bezier(.22, 1, .36, 1);--pulse-dur:1s;--pulse-min:.5;--reveal-dur:.4s;--reveal-blur:2px;--reveal-ease:ease-in-out;--shimmer-dur:2s;--shimmer-base:var(--text-3);--shimmer-highlight:var(--text);--shimmer-band:400%;--shimmer-ease:linear;--avatar-lift:-4px;--avatar-dur:.32s;--avatar-scale:1.05;--avatar-falloff:.45;--avatar-ease-in:cubic-bezier(.22, 1, .36, 1);--avatar-ease-out:cubic-bezier(.34, 3.85, .64, 1)}*{box-sizing:border-box}html,body{height:100%}body{font-family:var(--font);color:var(--text);background:var(--grad-glow), var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-attachment:fixed;margin:0;font-size:14px;font-weight:500;line-height:1.5}button{cursor:pointer;color:inherit;border:0;font-family:inherit}input,textarea,select{color:inherit;border:0;font-family:inherit}a{color:inherit}code{color:var(--acc);font-size:.92em}::selection{background:var(--acc-27)}[hidden]{display:none!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d9d9d92e;border-radius:3px}.t-dropdown{transform-origin:0 0;transform:scale(var(--dropdown-pre-scale));opacity:0;pointer-events:none;transition:transform var(--dropdown-open-dur) var(--dropdown-ease), opacity var(--dropdown-open-dur) var(--dropdown-ease);will-change:transform, opacity}.t-dropdown[data-origin=top-right]{transform-origin:100% 0}.t-dropdown[data-origin=top-center]{transform-origin:top}.t-dropdown[data-origin=bottom-left]{transform-origin:0 100%}.t-dropdown[data-origin=bottom-center]{transform-origin:bottom}.t-dropdown[data-origin=bottom-right]{transform-origin:100% 100%}.t-dropdown.is-open{opacity:1;pointer-events:auto;transform:scale(1)}.t-dropdown.is-closing{transform:scale(var(--dropdown-closing-scale));opacity:0;pointer-events:none;transition:transform var(--dropdown-close-dur) var(--dropdown-ease), opacity var(--dropdown-close-dur) var(--dropdown-ease)}@media (prefers-reduced-motion:reduce){.t-dropdown{transition:none!important}}.t-modal{transform-origin:50%;transform:scale(var(--modal-scale));opacity:0;pointer-events:none;transition:transform var(--modal-open-dur) var(--modal-ease), opacity var(--modal-open-dur) var(--modal-ease);will-change:transform, opacity}.t-modal.is-open{opacity:1;pointer-events:auto;transform:scale(1)}.t-modal.is-closing{transform:scale(var(--modal-scale-close));opacity:0;pointer-events:none;transition:transform var(--modal-close-dur) var(--modal-ease), opacity var(--modal-close-dur) var(--modal-ease)}@media (prefers-reduced-motion:reduce){.t-modal{transition:none!important}}.overlay,.qe,.lightbox{transition:background-color var(--modal-open-dur) var(--modal-ease);background-color:#0000}.overlay.is-open,.qe.is-open{background-color:#0000009e}.lightbox.is-open{background-color:#000000e0}.overlay.is-closing,.qe.is-closing,.lightbox.is-closing{transition:background-color var(--modal-close-dur) var(--modal-ease);pointer-events:none;background-color:#0000}.qe.is-closing .qe-card{opacity:0;transition:opacity var(--modal-close-dur) var(--modal-ease)}.t-toast{opacity:0;transform:translateY(var(--toast-distance)) scale(var(--toast-scale));filter:blur(var(--toast-blur));will-change:transform, opacity, filter;transition:opacity var(--toast-close) var(--toast-ease), transform var(--toast-close) var(--toast-ease), filter var(--toast-close) var(--toast-ease)}.t-toast.is-open{opacity:1;filter:blur();transition:opacity var(--toast-open) var(--toast-ease), transform var(--toast-open) var(--toast-ease), filter var(--toast-open) var(--toast-ease);transform:translateY(0)scale(1)}@media (prefers-reduced-motion:reduce){.t-toast{transition:none!important}}.t-check{transition:background var(--check-box) var(--check-ease), box-shadow var(--check-box) var(--check-ease)}.t-check svg path{stroke-dasharray:var(--check-len,15);stroke-dashoffset:var(--check-len,15);transition:stroke-dashoffset var(--check-uncheck) var(--check-ease)}.t-check[aria-checked=true] svg path{stroke-dashoffset:0;transition:stroke-dashoffset var(--check-draw) var(--check-ease) var(--check-delay)}@media (prefers-reduced-motion:reduce){.t-check,.t-check svg path{transition:none!important}}.t-stagger-line{opacity:0;transform:translateY(var(--stagger-distance));filter:blur(var(--stagger-blur));transition:opacity var(--stagger-dur) var(--stagger-ease), transform var(--stagger-dur) var(--stagger-ease), filter var(--stagger-dur) var(--stagger-ease);will-change:transform, opacity, filter;display:block}.t-stagger-line--2{transition-delay:var(--stagger-stagger)}.t-stagger-line--3{transition-delay:calc(var(--stagger-stagger) * 2)}.t-stagger-line--4{transition-delay:calc(var(--stagger-stagger) * 3)}.t-stagger-line--5{transition-delay:calc(var(--stagger-stagger) * 4)}.t-stagger-line--6{transition-delay:calc(var(--stagger-stagger) * 5)}.t-stagger-line--7{transition-delay:calc(var(--stagger-stagger) * 6)}.t-stagger-line--8{transition-delay:calc(var(--stagger-stagger) * 7)}.t-stagger-line--9{transition-delay:calc(var(--stagger-stagger) * 8)}.t-stagger.is-shown .t-stagger-line{opacity:1;filter:blur();transform:translateY(0)}.t-stagger.is-hiding .t-stagger-line{opacity:0;filter:blur();transition:opacity .2s,transform linear,filter linear;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.t-stagger-line{transition:none!important}}.t-shimmer{color:var(--shimmer-base);display:inline-block;position:relative}.t-shimmer:before{content:attr(data-text);pointer-events:none;background-image:linear-gradient(90deg, transparent 0%, transparent 40%, var(--shimmer-highlight) 50%, transparent 60%, transparent 100%);background-size:var(--shimmer-band) 100%;color:#0000;-webkit-text-fill-color:transparent;animation:t-shimmer var(--shimmer-dur) var(--shimmer-ease) infinite;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;position:absolute;inset:0}@keyframes t-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.t-shimmer:before{animation:none!important}}.t-avatar{transform-origin:50%;transform:translateY(var(--shift,0px)) scale(var(--scale-active,1));transition:transform var(--avatar-dur) var(--avatar-ease-in);will-change:transform}@media (prefers-reduced-motion:reduce){.t-avatar{transition:none!important;transform:none!important}}.img-reveal{opacity:0;filter:blur(var(--reveal-blur));transition:opacity var(--reveal-dur) var(--reveal-ease), filter var(--reveal-dur) var(--reveal-ease)}.img-reveal.is-revealed{opacity:1;filter:blur()}.is-loading{animation:t-skel-pulse var(--pulse-dur) ease-in-out infinite}@keyframes t-skel-pulse{0%,to{opacity:1}50%{opacity:var(--pulse-min)}}@media (prefers-reduced-motion:reduce){.img-reveal{transition:none!important}.is-loading{animation:none!important}}.topbar{padding:14px max(18px, env(safe-area-inset-right,0px)) 14px max(18px, env(safe-area-inset-left,0px));border-bottom:1px solid var(--line);background:var(--panel);flex:none;align-items:center;gap:12px;display:flex}.brand{align-items:center;gap:14px;min-width:0;display:flex}.brand-txt{flex-direction:column;min-width:0;line-height:1.2;display:flex}.brand-title{letter-spacing:.02em;font-size:19px;font-weight:600}.brand-title b,.brand-sub b{font-weight:inherit;color:var(--acc)}.brand-sub{letter-spacing:.14em;color:var(--text-3);text-transform:uppercase;padding-left:1px;font-size:11px;font-weight:600}.o-hex{background:var(--acc-27);width:40px;height:46px;color:var(--acc);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);flex:none;place-items:center;text-decoration:none;display:grid}.o-hex svg{width:20px;height:20px}.o-hex--red{background:var(--red-27);color:var(--red)}.o-hex--card{width:34px;height:38px}.o-hex--card svg{width:17px;height:17px}.title-row{align-items:center;gap:2px;min-width:0;display:flex}.board-name{letter-spacing:-.01em;color:var(--text);field-sizing:content;text-overflow:ellipsis;white-space:nowrap;min-width:60px;max-width:40vw;transition:background .15s var(--ease), box-shadow .15s var(--ease);background:0 0;border:1px solid #0000;border-radius:8px;margin-left:-7px;padding:2px 7px;font-size:19px;font-weight:600;overflow:hidden}.board-name:hover{background:var(--box)}.board-name:focus{background:var(--box);box-shadow:inset 0 0 0 1px rgba(var(--acc-rgb), .5);outline:none}.board-name[readonly]{cursor:default}.board-name[readonly]:hover,.board-name[readonly]:focus{box-shadow:none;background:0 0}.switch-btn{width:30px;height:30px;color:var(--text-2);transition:background .15s var(--ease), color .15s var(--ease);background:0 0;border-radius:7px;flex:none;place-items:center;display:grid}.switch-btn:hover{background:var(--box);color:var(--acc)}.switch-btn svg{width:17px;height:17px}.spacer{flex:1}.members-btn{border-radius:var(--r-btn);background:var(--box);height:42px;color:var(--text-2);transition:background .15s var(--ease), color .15s var(--ease);flex:none;align-items:center;gap:9px;padding:0 14px 0 10px;font-size:13.5px;font-weight:600;display:flex}.members-btn:hover{background:var(--acc-17);color:var(--acc)}.members-btn>svg{width:17px;height:17px}.members-btn .avatars .avatar{box-shadow:0 0 0 2px var(--box)}.search{align-items:center;display:flex;position:relative}.search svg{width:16px;height:16px;color:var(--text-hint);pointer-events:none;position:absolute;left:13px}.search input{border-radius:var(--r-btn);background:var(--box);width:210px;max-width:34vw;height:42px;transition:box-shadow .15s var(--ease);padding:0 14px 0 36px;font-size:14px}.search input::placeholder{color:var(--text-hint)}.search input:focus{box-shadow:inset 0 0 0 1px rgba(var(--acc-rgb), .5);outline:none}.user-btn{border-radius:var(--r-btn);background:var(--box);width:42px;height:42px;transition:background .15s var(--ease);flex:none;place-items:center;display:grid}.user-btn:hover{background:var(--acc-17)}.user-chip{border-radius:var(--r-btn);background:var(--box);align-items:center;gap:10px;height:42px;padding:0 6px 0 7px;display:flex}.user-chip .avatar{width:28px;height:28px}.user-name{text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:13.5px;font-weight:600;overflow:hidden}.app{flex-direction:column;height:100%;display:flex;overflow:hidden}.board{min-height:0;padding:20px max(18px, env(safe-area-inset-right,0px)) 22px max(18px, env(safe-area-inset-left,0px));flex:auto;align-items:flex-start;gap:16px;display:flex;overflow:auto hidden}.column{flex:0 0 var(--col-w);width:var(--col-w);background:var(--panel);border-radius:var(--r-panel);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 18px,100% 100%,0 100%);flex-direction:column;max-height:100%;display:flex}.col-head{align-items:center;gap:8px;padding:16px 14px 12px 18px;display:flex}.col-title{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;transition:background .15s var(--ease);background:0 0;border:1px solid #0000;border-radius:7px;flex:1;padding:3px 7px;font-size:15px;font-weight:600;overflow:hidden}.col-title:hover{background:var(--box)}.col-title:focus{background:var(--box);white-space:normal;box-shadow:inset 0 0 0 1px rgba(var(--acc-rgb), .5);outline:none}.count{color:var(--acc);background:var(--acc-14);text-align:center;font-variant-numeric:tabular-nums;border-radius:20px;flex:none;min-width:24px;padding:2px 9px;font-size:12px;font-weight:600}.col-menu-btn{width:30px;height:30px;color:var(--text-2);transition:background .15s var(--ease), color .15s var(--ease);background:0 0;border-radius:7px;flex:none;place-items:center;display:grid}.col-menu-btn:hover{background:var(--box);color:var(--text)}.col-menu-btn svg{width:17px;height:17px}.card-list{background:var(--well);border-radius:var(--r-well);flex-direction:column;flex:auto;gap:10px;min-height:10px;margin:0 12px;padding:10px;display:flex;overflow:hidden auto}.card{background:var(--card);border-radius:var(--r-card);-webkit-user-select:none;user-select:none;transition:background .16s var(--ease), transform .16s var(--ease), box-shadow .16s var(--ease);padding:11px 13px;position:relative}.card:hover{background:var(--card-hi);transform:translateY(-1px);box-shadow:0 6px 16px #0006}.card:active{transform:translateY(0)}.card .label-bar,.qe-card .label-bar{border-radius:3px;width:38px;height:6px;margin-bottom:9px}.card .ttl{min-width:0;color:var(--text);white-space:pre-wrap;word-break:break-word;flex:1;font-size:14px;line-height:1.45}.card-top{align-items:flex-start;gap:8px;display:flex}.done-btn{width:18px;height:18px;box-shadow:inset 0 0 0 1.5px var(--text-3);color:#07110a;transition:width var(--duration-quick) var(--ease), margin var(--duration-quick) var(--ease), opacity var(--duration-quick) var(--ease), background var(--check-box) var(--check-ease), box-shadow var(--check-box) var(--check-ease);background:0 0;border-radius:50%;flex:none;place-items:center;margin-top:2px;padding:0;display:grid}.done-btn svg{stroke-width:3.4px;width:12px;height:12px}.done-btn:hover{box-shadow:inset 0 0 0 1.5px var(--green)}.card:not(.is-done) .done-btn{opacity:0;width:0;margin-right:-8px}.card:not(.is-done):hover .done-btn{opacity:1;width:18px;margin-right:0}.card.is-done .done-btn{background:var(--green);box-shadow:none}.card-edit{z-index:1;background:var(--box);width:28px;height:28px;color:var(--text-2);opacity:0;transition:opacity .12s var(--ease), background .12s var(--ease), color .12s var(--ease);border-radius:7px;place-items:center;display:grid;position:absolute;top:7px;right:7px}.card:hover .card-edit,.card-edit:focus-visible{opacity:1}.card-edit:hover{background:var(--acc-17);color:var(--acc)}.card-edit svg{width:14px;height:14px}.card .meta{flex-wrap:wrap;align-items:center;gap:7px;margin-top:10px;display:flex}.pill{border-radius:var(--r-chip);background:var(--box);color:var(--text-2);font-variant-numeric:tabular-nums;align-items:center;gap:5px;padding:3px 8px;font-size:11.5px;font-weight:500;display:inline-flex}.pill svg{width:12px;height:12px}.pill.due-over{background:var(--red-17);color:var(--red);font-weight:600}.pill.due-today{background:var(--gold-14);color:var(--gold);font-weight:600}.pill.chk.full{background:var(--green-14);color:var(--green);font-weight:600}.card.dim{opacity:.26}.card .cover,.qe-card .cover{border-radius:var(--r-card) var(--r-card) 0 0;background:var(--box);margin:-11px -13px 10px;overflow:hidden}.card .cover img,.qe-card .cover img{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;max-height:230px;display:block}.card.drop{background:var(--acc-10);box-shadow:inset 0 0 0 2px var(--acc)}.avatar{color:#0b0d0e;-webkit-user-select:none;user-select:none;background:var(--box);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:11px;font-weight:700;line-height:1;display:inline-grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.avatar.sm{width:22px;height:22px;font-size:9.5px}.avatar.lg{width:34px;height:34px;font-size:12.5px}.avatar.more{background:var(--box);color:var(--text-2)}.avatars{align-items:center;display:inline-flex}.avatars .avatar+.avatar{margin-left:-6px}.card .avatars{margin-left:auto}.card .avatars .avatar{box-shadow:0 0 0 2px var(--card)}.placeholder{border:1px dashed rgba(var(--acc-rgb), .5);border-radius:var(--r-card);background:var(--acc-10);flex:none}.drag-clone{z-index:9999;pointer-events:none;filter:drop-shadow(0 18px 30px #0009);opacity:.98;position:fixed;transform:rotate(2.5deg)scale(1.02)}.drag-clone .card{box-shadow:inset 0 0 0 1px rgba(var(--acc-rgb), .5);margin:0}.card.ghost{display:none}.add-card{margin:4px 12px 12px}.add-btn{text-align:left;width:100%;color:var(--text-2);border-radius:var(--r-btn);transition:background .15s var(--ease), color .15s var(--ease);background:0 0;align-items:center;gap:8px;padding:9px 11px;font-size:13.5px;font-weight:500;display:flex}.add-btn:hover{background:var(--soft);color:var(--text)}.add-btn svg{width:15px;height:15px}.composer{flex-direction:column;gap:9px;display:flex}.composer textarea{resize:none;border-radius:var(--r-btn);background:var(--box);width:100%;color:var(--text);min-height:64px;box-shadow:inset 0 0 0 1px rgba(var(--acc-rgb), .5);padding:11px 13px;font-size:14px;line-height:1.45}.composer textarea:focus{outline:none}.composer textarea::placeholder,.composer input::placeholder{color:var(--text-hint)}.composer-row{align-items:center;gap:8px;display:flex}.btn{border-radius:var(--r-btn);background:var(--soft);height:40px;color:var(--text);transition:background .15s var(--ease), color .15s var(--ease), filter .15s var(--ease), transform .1s var(--ease);justify-content:center;align-items:center;gap:7px;padding:0 18px;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-flex}.btn svg{width:16px;height:16px}.btn:hover{background:var(--acc-17);color:var(--acc)}.btn:active{transform:scale(.97)}.btn.acc{background:var(--acc-27);color:var(--acc)}.btn.acc:hover{background:rgba(var(--acc-rgb), .4)}.btn.ghost{color:var(--text-2);background:0 0;font-weight:500}.btn.ghost:hover{background:var(--soft);color:var(--text)}.btn.danger,.btn.confirm{background:var(--red-17);color:var(--red)}.btn.danger:hover{background:var(--red-27)}.btn.danger-text{color:var(--red)}.btn.cta{border-radius:var(--r-row);background:var(--grad-action);height:48px;color:var(--text);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 11px,100% 100%,0 100%);padding:0 22px;font-size:15px}.btn.cta:hover{filter:brightness(1.25);background:var(--grad-action);color:var(--text)}.btn.cta svg{width:20px;height:20px}.btn:disabled{opacity:.5;cursor:default}.btn.small{height:32px;padding:0 12px;font-size:12.5px}.btn.small svg{width:14px;height:14px}.add-column{flex:0 0 280px}.add-column .add-btn{box-shadow:inset 0 0 0 1px var(--line);color:var(--text-2);background:#ffffff08}.add-column .add-btn:hover{background:var(--soft);color:var(--text)}.add-column .composer{background:var(--panel);border-radius:var(--r-panel);padding:12px}.add-column .composer input{border-radius:var(--r-btn);background:var(--box);width:100%;height:44px;color:var(--text);box-shadow:inset 0 0 0 1px rgba(var(--acc-rgb), .5);padding:0 14px;font-size:14px}.add-column .composer input:focus{outline:none}.popover{z-index:700;background:var(--card);border-radius:var(--r-card);min-width:200px;padding:8px;position:fixed;box-shadow:0 20px 44px #0009}.pop-item{text-align:left;width:100%;color:var(--text);border-radius:var(--r-btn);transition:background .12s var(--ease);background:0 0;align-items:center;gap:11px;padding:10px 11px;font-size:13.5px;text-decoration:none;display:flex}.pop-item:hover{background:var(--acc-17);color:var(--acc)}.pop-item:hover svg,.pop-item.is-on svg{color:var(--acc)}.pop-item.is-on{background:var(--acc-14);color:var(--acc)}.pop-item.del,.pop-item.del svg{color:var(--red)}.pop-item.del:hover,.pop-item.confirm{background:var(--red-17);color:var(--red)}.pop-item svg{width:15px;height:15px;color:var(--text-2);flex:none}.pop-item:disabled{opacity:.4;cursor:default}.popover .sep{background:var(--line);height:1px;margin:6px 4px}.pop-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin:4px 4px 10px;font-size:11.5px;font-weight:600}.pop-row{gap:8px;margin-top:10px;display:flex}.pop-row.tight{margin-top:0}.pop-list{max-height:320px;overflow-y:auto}.spop,.upop{width:270px}.lpop,.dpop,.mvpop{padding:14px}.dpop,.mvpop{width:250px}.dpop input,.mvpop select{border-radius:var(--r-btn);background:var(--box);width:100%;height:42px;color:var(--text);padding:0 12px;font-size:14px}.dpop input:focus,.mvpop select:focus{box-shadow:inset 0 0 0 1px rgba(var(--acc-rgb), .5);outline:none}.up-head{align-items:center;gap:11px;padding:6px 6px 12px;display:flex}.up-who{min-width:0}.up-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.up-id{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:11.5px}.mpanel{width:340px;max-width:calc(100vw - 24px);max-height:calc(100vh - 90px);padding:14px 14px 16px;overflow-y:auto}.mpanel-head{align-items:center;margin-bottom:12px;padding-left:30px;display:flex}.mpanel-head h3{text-align:center;flex:1;margin:0;font-size:15px;font-weight:600}.mp-x{border-radius:var(--r-btn);width:30px;height:30px;color:var(--text-2);transition:background .12s var(--ease), color .12s var(--ease);background:0 0;place-items:center;display:grid}.mp-x:hover{background:var(--acc-17);color:var(--acc)}.mp-x svg{width:15px;height:15px}.mp-search{border-radius:var(--r-btn);background:var(--box);width:100%;min-width:0;height:40px;padding:0 13px;font-size:13.5px}.mp-search:focus,.mp-select:focus{box-shadow:inset 0 0 0 1px rgba(var(--acc-rgb), .5);outline:none}.mp-search::placeholder{color:var(--text-hint)}.mp-select{border-radius:var(--r-btn);background:var(--box);min-width:0;height:40px;color:var(--text);flex:1;padding:0 10px;font-size:13.5px}.mp-sec{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin:16px 2px 8px;font-size:11.5px;font-weight:600}.mp-list{flex-direction:column;gap:2px;max-height:260px;margin:0 -4px;padding:0 4px;display:flex;overflow-y:auto}.mp-row{border-radius:var(--r-btn);text-align:left;width:100%;color:var(--text);transition:background .12s var(--ease);background:0 0;align-items:center;gap:11px;padding:6px 8px;display:flex}.mp-row:hover{background:var(--well)}.mp-row.is-on{background:var(--acc-10)}.mp-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13.5px;overflow:hidden}.mp-name small{color:var(--text-3);text-overflow:ellipsis;font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:500;display:block;overflow:hidden}.mp-check{width:20px;height:20px;color:var(--acc);flex:none;place-items:center;display:grid}.mp-check svg{stroke-width:3px;width:15px;height:15px}.mp-rm{border-radius:var(--r-btn);min-width:28px;height:28px;color:var(--text-3);opacity:0;transition:opacity .12s var(--ease), background .12s var(--ease), color .12s var(--ease);background:0 0;flex:none;place-items:center;padding:0 7px;font-size:12px;font-weight:600;display:grid}.mp-row:hover .mp-rm,.mp-rm.confirm{opacity:1}.mp-rm:hover,.mp-rm.confirm{background:var(--red-17);color:var(--red)}.mp-rm svg{width:14px;height:14px}.mp-empty{color:var(--text-3);padding:8px 4px 10px;font-size:13px}.mp-hint{color:var(--text-3);margin-top:8px;font-size:11.5px;line-height:1.55}.role-chip{background:var(--box);height:24px;color:var(--text-2);border-radius:20px;flex:none;place-items:center;padding:0 10px;font-size:11.5px;font-weight:600;display:inline-grid}.role-chip.owner{background:var(--acc-14);color:var(--acc)}.role-chip.admin{background:var(--acc-10);color:var(--acc)}button.role-chip:hover{background:var(--acc-17);color:var(--acc)}.inv-list{flex-direction:column;gap:6px;margin-top:10px;display:flex}.inv-row{border-radius:var(--r-btn);background:var(--well);align-items:center;gap:6px;padding:8px 6px 8px 12px;display:flex}.inv-main{flex:1;min-width:0}.inv-link{color:var(--acc);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.inv-meta{color:var(--text-3);font-size:11px}.icon-mini{border-radius:var(--r-btn);width:30px;height:30px;color:var(--text-2);transition:background .12s var(--ease), color .12s var(--ease);background:0 0;flex:none;place-items:center;font-size:11.5px;font-weight:600;display:grid}.icon-mini:hover{background:var(--acc-17);color:var(--acc)}.icon-mini.del:hover,.icon-mini.confirm{background:var(--red-17);color:var(--red);width:auto;padding:0 8px}.icon-mini svg{width:15px;height:15px}.pop-item.leave{margin-top:14px}.qe{z-index:450;position:fixed;inset:0}.qe-card{background:var(--card);border-radius:var(--r-card);box-shadow:inset 0 0 0 1px rgba(var(--acc-rgb), .55), 0 18px 40px #0009;padding:11px 13px;position:fixed}.qe-card textarea{resize:none;width:100%;min-height:62px;color:var(--text);background:0 0;padding:0;font-size:14px;line-height:1.45;display:block;overflow:hidden}.qe-card textarea:focus{outline:none}.qe-save{position:fixed}.qe-menu{flex-direction:column;align-items:flex-start;gap:6px;display:flex;position:fixed}.qe-menu button{border-radius:var(--r-btn);background:var(--card);height:36px;color:var(--text);white-space:nowrap;transition:background .12s var(--ease), color .12s var(--ease), transform .12s var(--ease);align-items:center;gap:9px;padding:0 14px;font-size:13.5px;display:inline-flex;box-shadow:0 6px 16px #0006}.qe-menu button:hover{background:var(--acc-17);color:var(--acc);transform:translate(3px)}.qe-menu button svg{width:15px;height:15px}.qe-menu button.del:hover,.qe-menu button.confirm{background:var(--red-17);color:var(--red)}.empty{text-align:center;color:var(--text-2);flex-direction:column;align-items:center;gap:14px;max-width:380px;margin:auto;padding:30px;display:flex}.empty .o-hex{width:56px;height:64px}.empty .o-hex svg{width:26px;height:26px}.empty h2{color:var(--text);text-wrap:balance;margin:0;font-size:21px;font-weight:600}.overlay{z-index:500;justify-content:center;align-items:flex-start;padding:30px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--panel);border-radius:var(--r-panel);clip-path:polygon(0 0,calc(100% - 30px) 0,100% 24px,100% 100%,0 100%);width:100%;max-width:560px;margin:auto;position:relative}.modal-body{padding:26px 28px 28px}.modal-head{align-items:center;gap:14px;margin-bottom:6px;padding-right:10px;display:flex}.modal textarea.title-in{letter-spacing:-.01em;color:var(--text);resize:none;transition:background .15s var(--ease);background:0 0;border-radius:8px;flex:1;padding:6px 9px;font-size:20px;font-weight:600;line-height:1.35;overflow:hidden}.modal textarea.title-in:hover{background:var(--box)}.modal textarea.title-in:focus{background:var(--box);box-shadow:inset 0 0 0 1px rgba(var(--acc-rgb), .5);outline:none}.modal .close{border-radius:var(--r-btn);background:var(--acc-27);width:40px;height:40px;color:var(--acc);transition:background .15s var(--ease);flex:none;place-items:center;display:grid}.modal .close:hover{background:rgba(var(--acc-rgb), .4)}.modal .close svg{width:16px;height:16px}.modal .in-list{color:var(--text-3);padding:0 2px 20px 48px;font-size:12.5px}.modal .in-list b{color:var(--text-2);font-weight:600}.field{margin-bottom:20px}.field>label,.chk-head label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin:0 0 10px;font-size:11.5px;font-weight:600;display:block}.labels{flex-wrap:wrap;gap:9px;display:flex}.swatch{border-radius:var(--r-chip);background:var(--box);width:46px;height:30px;transition:transform .12s var(--ease);position:relative;box-shadow:inset 0 0 0 1px #ffffff0d}.swatch:hover{transform:translateY(-1px)}.swatch.sel{box-shadow:0 0 0 2px var(--panel), 0 0 0 4px currentColor}.popover .swatch.sel{box-shadow:0 0 0 2px var(--card), 0 0 0 4px currentColor}.swatch.none:after{content:"";background:var(--text-hint);border-radius:2px;width:18px;height:2px;margin:auto;position:absolute;inset:0;transform:rotate(-45deg)}.mem-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mem-add{background:var(--box);width:34px;height:34px;color:var(--text-2);transition:background .12s var(--ease), color .12s var(--ease);border-radius:50%;place-items:center;display:grid}.mem-add:hover{background:var(--acc-17);color:var(--acc)}.mem-add svg{width:16px;height:16px}.row2{flex-wrap:wrap;gap:14px;display:flex}.row2 .field{flex:1;min-width:150px}.modal input[type=date],.modal select{border-radius:var(--r-btn);background:var(--box);width:100%;height:46px;color:var(--text);transition:box-shadow .15s var(--ease);padding:0 14px;font-size:14px}.modal input[type=date]:focus,.modal select:focus{box-shadow:inset 0 0 0 1px rgba(var(--acc-rgb), .5);outline:none}.modal textarea.desc{resize:vertical;border-radius:var(--r-btn);background:var(--box);width:100%;min-height:102px;color:var(--text);transition:box-shadow .15s var(--ease);padding:13px;font-size:14px;line-height:1.6}.modal textarea.desc::placeholder{color:var(--text-hint)}.modal textarea.desc:focus{box-shadow:inset 0 0 0 1px rgba(var(--acc-rgb), .5);outline:none}.chk-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.chk-head label{margin:0}.chk-prog{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.chk-bar{background:#3b3b3b;border-radius:3px;height:6px;margin-bottom:13px;overflow:hidden}.chk-bar>i{border-radius:inherit;background:linear-gradient(90deg, var(--teal-2), var(--acc));width:0;height:100%;box-shadow:0 0 8px rgba(var(--acc-rgb), .5);transition:width .25s var(--ease);display:block}.checklist{flex-direction:column;gap:2px;margin-bottom:10px;display:flex}.chk-item{border-radius:var(--r-btn);transition:background .12s var(--ease);align-items:center;gap:10px;padding:2px;display:flex}.chk-item:hover{background:var(--well)}.chk-box{border-radius:var(--r-chip);background:var(--box);width:22px;height:22px;box-shadow:inset 0 0 0 1.5px var(--line);color:#07110a;flex:none;place-items:center;display:grid}.chk-box[aria-checked=true]{background:var(--green);box-shadow:none}.chk-box svg{stroke-width:3.2px;width:14px;height:14px}.chk-text{min-width:0;color:var(--text);transition:background .12s var(--ease);background:0 0;border-radius:7px;flex:1;padding:6px 8px;font-size:14px}.chk-text:focus{background:var(--box);box-shadow:inset 0 0 0 1px rgba(var(--acc-rgb), .5);outline:none}.chk-text.done{color:var(--text-3);text-decoration:line-through}.chk-del{width:30px;height:30px;color:var(--text-3);border-radius:var(--r-btn);opacity:0;transition:opacity .12s var(--ease), background .12s var(--ease), color .12s var(--ease);background:0 0;flex:none;place-items:center;display:grid}.chk-item:hover .chk-del,.chk-del:focus{opacity:1}.chk-del:hover{background:var(--red-17);color:var(--red)}.chk-del svg{width:15px;height:15px}.chk-add{gap:9px;margin-top:6px;display:flex}.chk-add input{border-radius:var(--r-btn);background:var(--box);min-width:0;height:42px;color:var(--text);transition:box-shadow .15s var(--ease);flex:1;padding:0 13px;font-size:13.5px}.chk-add input::placeholder{color:var(--text-hint)}.chk-add input:focus{box-shadow:inset 0 0 0 1px rgba(var(--acc-rgb), .5);outline:none}.modal-foot{align-items:center;gap:10px;margin-top:8px;display:flex}.modal-foot .spacer{flex:1}.modal.drop{box-shadow:inset 0 0 0 2px var(--acc)}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.shot{border-radius:var(--r-btn);background:var(--box);position:relative;overflow:hidden}.shot-frame{background:var(--chip)}.shot img{aspect-ratio:16/10;object-fit:cover;cursor:zoom-in;width:100%;display:block}.shot.is-cover{box-shadow:0 0 0 2px var(--acc)}.shot-badge{background:var(--acc);color:#0b0d0e;pointer-events:none;border-radius:20px;padding:2px 9px;font-size:11px;font-weight:700;position:absolute;top:8px;left:8px}.shot-bar{align-items:center;gap:2px;padding:5px 5px 5px 10px;display:flex}.shot-name{min-width:0;color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.shot.loading{aspect-ratio:16/13;place-items:center;font-size:12.5px;display:grid}.drop-hint{color:var(--text-3);margin-top:10px;font-size:12px}.cpop{width:300px;padding:14px}.cover-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.cover-grid .mp-empty{grid-column:1/-1}.cover-pick{border-radius:var(--r-chip);background:var(--box);box-shadow:inset 0 0 0 1px var(--line);padding:0;overflow:hidden}.cover-pick img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.cover-pick:hover{box-shadow:0 0 0 2px var(--acc-27)}.cover-pick.sel{box-shadow:0 0 0 2px var(--acc)}.lightbox{z-index:800;cursor:zoom-out;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;border-radius:var(--r-btn);width:auto;max-width:100%;height:auto;max-height:calc(100% - 64px);box-shadow:0 24px 60px #0009}.lb-bar{max-width:100%;color:var(--text-2);cursor:default;align-items:center;gap:12px;font-size:13px;display:flex}.lb-name{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.toast{background:var(--card);width:max-content;max-width:calc(100vw - 32px);color:var(--text);border-radius:var(--r-btn);box-shadow:0 18px 40px #0009, inset 0 0 0 1px var(--line);z-index:900;pointer-events:none;margin:0 auto;padding:12px 18px;font-size:13.5px;font-weight:500;position:fixed;bottom:26px;left:0;right:0}.notice{background:var(--box);color:var(--gold);padding:9px max(18px, env(safe-area-inset-left,0px));text-align:center;border-bottom:1px solid var(--line);flex:none;font-size:13px;font-weight:500}.page{flex-direction:column;min-height:100%;display:flex}.page .topbar{z-index:5;position:sticky;top:0}.home{width:100%;max-width:1120px;padding:32px max(18px, env(safe-area-inset-right,0px)) 56px max(18px, env(safe-area-inset-left,0px));margin:0 auto}.home-head{margin-bottom:22px}.home-head h1{margin:0;font-size:24px;font-weight:600}.home-head p{color:var(--text-2);margin:4px 0 0;font-size:14px}.tiles{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;display:grid}.tile{border-radius:var(--r-panel);background:var(--panel);min-height:140px;color:var(--text);clip-path:polygon(0 0,calc(100% - 24px) 0,100% 20px,100% 100%,0 100%);transition:background .15s var(--ease), transform .15s var(--ease);flex-direction:column;gap:14px;padding:22px 24px;text-decoration:none;display:flex}.tile:hover{background:#1c1d1e;transform:translateY(-2px)}.tile h3{word-break:break-word;margin:0;padding-right:14px;font-size:17px;font-weight:600}.tile-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;display:flex}.tile-new{box-shadow:inset 0 0 0 1px var(--line);clip-path:none;background:#ffffff06}.tile-new:hover{background:#ffffff0a;transform:none}.tile-new h3{color:var(--text-2);font-size:15px}.tile-new input{border-radius:var(--r-btn);background:var(--box);height:42px;padding:0 13px;font-size:14px}.tile-new input:focus{box-shadow:inset 0 0 0 1px rgba(var(--acc-rgb), .5);outline:none}.tile-new input::placeholder{color:var(--text-hint)}.tile-new .btn{margin-top:auto}.note{border-radius:var(--r-panel);background:var(--panel);max-width:620px;margin-top:28px;padding:22px 24px}.note h2{margin:0 0 6px;font-size:17px;font-weight:600}.note p{color:var(--text-2);margin:0 0 16px;line-height:1.6}.note.warn h2{color:var(--gold)}.center{flex:1;place-items:center;padding:32px 16px;display:grid}.o-shadow{filter:drop-shadow(0 24px 48px #00000080);width:100%;max-width:460px}.panel{background:var(--panel);text-align:center;clip-path:polygon(0 0,calc(100% - 56px) 0,100% 44px,100% 100%,0 100%);border-radius:28px;flex-direction:column;align-items:center;width:100%;padding:36px 36px 34px;display:flex;position:relative}.panel .o-hex{width:56px;height:64px;margin-bottom:18px}.panel .o-hex svg{width:26px;height:26px}.panel h1{text-wrap:balance;margin:0 0 8px;font-size:24px;font-weight:600}.panel h1 b{font-weight:inherit;color:var(--acc)}.panel p{color:var(--text-2);text-wrap:pretty;margin:0 0 22px;font-size:14px;line-height:1.6}.panel .btn.cta{width:100%}.panel .back{margin-top:12px}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px;font-size:12px;font-weight:600}.panel h1.invite-title{color:var(--acc);word-break:break-word;font-size:26px}.as-who{margin:14px 0 0!important;font-size:13px!important}.as-who b{color:var(--text);font-weight:600}.link-btn{color:var(--acc);font-size:inherit;text-underline-offset:2px;background:0 0;padding:0;text-decoration:underline}.err{background:var(--red-10);width:100%;color:var(--red);border-radius:var(--r-btn);text-align:left;margin-bottom:16px;padding:10px 12px;font-size:13px}.err.small{margin:0;padding:8px 10px}.id-chip{border-radius:var(--r-btn);background:var(--box);max-width:100%;height:42px;color:var(--text);font-variant-numeric:tabular-nums;transition:background .15s var(--ease);align-items:center;gap:10px;padding:0 6px 0 14px;font-size:14px;display:inline-flex}.id-chip:hover{background:var(--acc-17)}.id-label{color:var(--text-3);font-size:12px;font-weight:600}.id-value{text-overflow:ellipsis;overflow:hidden}.id-copy{background:var(--acc-14);min-width:30px;height:30px;color:var(--acc);border-radius:6px;place-items:center;padding:0 6px;font-size:12px;font-weight:600;display:grid}.id-copy svg{width:15px;height:15px}.dev-form{border-top:1px dashed var(--line);text-align:left;width:100%;margin-top:20px;padding-top:16px}.dev-note{color:var(--gold);margin-bottom:8px;font-size:11.5px}.dev-row{gap:8px;display:flex}.dev-row input{border-radius:var(--r-btn);background:var(--box);font-variant-numeric:tabular-nums;flex:1;min-width:0;height:40px;padding:0 11px;font-size:13px}@media (hover:none){.card:not(.is-done) .done-btn{opacity:1;width:18px;margin-right:0}.chk-del,.mp-rm{opacity:1}.card-edit{display:none}}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}@media (max-width:760px){.mb-label,.user-name,.brand-sub{display:none}.members-btn{padding:0 10px}.search input{width:130px}.board-name{max-width:46vw}}@media (max-width:520px){.search{display:none}.panel{padding:30px 22px 26px}}
