:root{--gold:#b8954a;--gold-soft:#d0b36a;--gold-deep:#8f7134;--ink:#0c0c0c;--ink-soft:#2c2c2c;--steel:#667085;--mist:#f6f6f6;--paper:#fff;--grey-50:#fafafa;--grey-100:#f2f2f2;--grey-200:#e8e8e8;--grey-300:#d6d6d6;--line:#e8e8e8;--danger:#0c0c0c;--ok:#b8954a;--shadow:0 12px 32px #0c0c0c14;--shadow-soft:0 1px 2px #0c0c0c0f, 0 4px 12px #0c0c0c0a;--radius:8px;--radius-lg:12px;--font-display:"Familjen Grotesk", sans-serif;--font-body:"Public Sans", sans-serif;--ease:cubic-bezier(.25, .1, .25, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--dur:.15s;--dur-slow:.26s;--btn-h:36px;--btn-h-lg:42px}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100dvh}body{font-family:var(--font-body);color:var(--ink);background:var(--mist);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overscroll-behavior-x:none;margin:0;font-size:14px;font-weight:400;line-height:1.45}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;font-weight:600;line-height:1.15}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.app-loading{background:var(--mist);place-items:center;min-height:100vh;display:grid}.app-loading img{width:88px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(1.04)}}.auth-page{background:#fff;grid-template-columns:.95fr 1.05fr;min-height:100vh;display:grid}.auth-visual{color:#fff;background:linear-gradient(160deg,#0c0c0c 0%,#1a1a1a 55%,#2a2418 100%);flex-direction:column;justify-content:space-between;padding:48px;display:flex;position:relative;overflow:hidden}.auth-visual:after{content:"";background:var(--gold);pointer-events:none;height:4px;position:absolute;bottom:0;left:0;right:0}.auth-brand{z-index:1;align-items:center;gap:14px;display:flex;position:relative}.auth-brand img{object-fit:contain;width:64px;height:64px}.auth-brand span{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.5rem;font-weight:600}.auth-copy{z-index:1;max-width:440px;position:relative}.auth-copy h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 14px;font-size:clamp(2.1rem,3.8vw,3rem);font-weight:600;line-height:1.08}.auth-copy p{color:#ffffffad;max-width:36ch;margin:0;font-size:1rem;font-weight:400;line-height:1.55}.auth-panel{background:var(--paper);place-items:center;padding:40px 28px;display:grid}.auth-card{width:min(100%,400px)}.auth-card h2{font-family:var(--font-display);letter-spacing:-.025em;margin:0 0 6px;font-size:1.75rem;font-weight:600}.auth-card .subtitle{color:var(--steel);margin:0 0 24px;font-size:.95rem}.form-stack{flex-direction:column;gap:12px;display:flex}.form-field{flex-direction:column;gap:6px;display:flex}.form-field label{color:var(--ink-soft);letter-spacing:.01em;font-size:.8rem;font-weight:500}.form-field input,.form-field textarea,.form-field select,.text-input{border:1px solid var(--grey-200);border-radius:var(--radius);width:100%;min-height:var(--btn-h-lg);transition:border-color var(--dur) ease, box-shadow var(--dur) ease;background:#fff;outline:none;padding:10px 12px}.form-field input:focus,.form-field textarea:focus,.text-input:focus{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.btn{height:var(--btn-h);border-radius:var(--radius);color:var(--ink);font-family:var(--font-body);letter-spacing:.01em;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background var(--dur) ease, border-color var(--dur) ease, color var(--dur) ease, opacity var(--dur) ease;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:.875rem;font-weight:500;line-height:1;display:inline-flex}.btn svg{flex-shrink:0}.btn:hover,.btn:active{transform:none}.btn:active{opacity:.88}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.btn-primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn-primary:hover{background:#000;border-color:#000}.btn-gold{background:var(--gold);border-color:var(--gold);color:#111}.btn-gold:hover{background:var(--gold-soft);border-color:var(--gold-soft)}.btn-ghost{color:#fff;background:0 0;border-color:#ffffff47}.btn-ghost:hover{background:#ffffff1a;border-color:#ffffff73}.btn-soft{color:var(--ink);border-color:var(--grey-200);background:#fff}.btn-soft:hover{background:var(--grey-50);border-color:var(--grey-300)}.btn-danger{color:var(--ink);border-color:var(--grey-300);background:#fff}.btn-danger:hover{background:var(--grey-100);border-color:var(--ink)}.btn-block{width:100%;height:var(--btn-h-lg)}.btn-lg{height:var(--btn-h-lg);padding:0 18px}.btn-sm{height:30px;margin-top:0;padding:0 10px;font-size:.8rem}.error-banner{background:var(--grey-100);color:var(--ink);border:1px solid var(--grey-200);border-radius:var(--radius);margin-bottom:14px;padding:10px 12px;font-size:.875rem}.success-banner{color:var(--ink);background:#c5a0591f;border-color:#c5a05959}.auth-switch{color:var(--steel);text-align:center;margin-top:18px;font-size:.9rem}.auth-switch a{color:var(--ink);border-bottom:1px solid var(--gold);font-weight:600}.auth-switch a:hover{color:var(--gold-deep)}.home-shell{background:linear-gradient(180deg, #fff 0%, var(--mist) 42%);min-height:100dvh}.topbar{color:var(--ink);border-bottom:1px solid var(--grey-200);z-index:20;background:#fff;justify-content:space-between;align-items:center;gap:16px;padding:12px 22px;display:flex;position:sticky;top:0}.topbar .btn-ghost{color:var(--ink);border-color:var(--grey-200);background:#fff}.topbar .btn-ghost:hover{background:var(--grey-50);border-color:var(--grey-300)}.topbar .user-chip{background:var(--grey-100);color:var(--ink)}.home-kicker{color:var(--steel);font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;margin:0 0 8px;font-size:.75rem;font-weight:500;display:inline-flex}.board-tile{border-radius:var(--radius-lg);color:#fff;min-height:128px;box-shadow:var(--shadow-soft);transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);flex-direction:column;justify-content:space-between;padding:18px;display:flex;position:relative;overflow:hidden}.board-tile:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.board-tile:active{transform:translateY(-1px)scale(.995)}.board-tile-overlay{pointer-events:none;background:linear-gradient(#0000 35%,#00000059);position:absolute;inset:0}.board-tile-meta{z-index:1;opacity:.9;align-items:center;gap:6px;margin-top:10px;font-size:.85rem;display:inline-flex;position:relative}.board-tile-create{border:1px dashed var(--grey-300);color:var(--ink);box-shadow:none;background:#fff}.board-tile-create:hover{background:var(--grey-50);border-color:var(--gold);box-shadow:none;transform:translateY(-2px)}.create-tile-inner{text-align:center}.create-tile-icon{background:var(--grey-100);width:42px;height:42px;color:var(--ink);border-radius:12px;place-items:center;margin:0 auto 10px;display:grid}.create-tile-title{font-weight:600;font-family:var(--font-display);letter-spacing:-.02em}.create-tile-sub{color:var(--steel);margin-top:4px;font-size:.84rem}.skeleton-tile{background:linear-gradient(90deg, var(--grey-200) 25%, var(--grey-100) 50%, var(--grey-200) 75%);border-radius:var(--radius-lg);background-size:200% 100%;min-height:128px;animation:1.2s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-hero{text-align:center;border-radius:var(--radius-lg);border:1px solid var(--grey-200);background:#fff;margin-top:28px;padding:36px 20px}.empty-hero-logo{opacity:.9;width:64px;margin:0 auto 14px}.empty-hero h2{font-family:var(--font-display);margin:0 0 8px}.empty-hero p{color:var(--steel);margin:0 0 18px}.create-preview{color:#fff;min-height:72px;font-family:var(--font-display);border-radius:12px;align-items:end;padding:14px;font-weight:700;display:flex;box-shadow:inset 0 0 0 1px #ffffff1f}.topbar-brand{font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.05rem;font-weight:600;display:flex}.topbar-brand img{object-fit:contain;width:36px;height:36px}.topbar-actions{align-items:center;gap:12px;display:flex}.user-chip{border-radius:var(--radius);background:#ffffff14;align-items:center;gap:8px;padding:4px 10px 4px 4px;font-size:.85rem;font-weight:500;display:flex}.avatar{color:#111;background:var(--gold);border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:.8rem;font-weight:700;display:grid}.avatar.sm{width:24px;height:24px;font-size:.68rem}.avatar.md{width:36px;height:36px}.home-main{width:min(1120px,100% - 40px);margin:0 auto;padding:36px 0 64px}.home-header{justify-content:space-between;align-items:end;gap:16px;margin-bottom:28px;display:flex}.home-header h1{font-family:var(--font-display);letter-spacing:-.025em;margin:0 0 6px;font-size:clamp(1.7rem,2.8vw,2.15rem);font-weight:600}.home-header p{color:var(--steel);margin:0;font-size:.95rem}.board-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;display:grid}.board-tile h3{font-family:var(--font-display);letter-spacing:-.02em;z-index:1;margin:0;font-size:1.1rem;font-weight:600;position:relative}.board-page{isolation:isolate;flex-direction:column;min-height:100dvh;display:flex;position:relative}.board-page-veil{pointer-events:none;z-index:0;background:#0000000a;position:absolute;inset:0}.board-topbar,.board-canvas,.banner-warn{z-index:1;position:relative}.board-topbar{color:#fff;background:#111111e0;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.board-topbar-left,.board-topbar-right{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.board-title-input{color:#fff;font-family:var(--font-display);letter-spacing:-.02em;border-radius:var(--radius);background:0 0;border:1px solid #0000;min-width:160px;max-width:min(420px,50vw);padding:6px 10px;font-size:1.1rem;font-weight:600}.board-title-input:hover,.board-title-input:focus{background:#ffffff1f;border-color:#fff3;outline:none}.member-stack{align-items:center;display:flex}.member-stack .avatar{border:2px solid #00000040;margin-left:-8px}.member-stack .avatar:first-child{margin-left:0}.board-canvas{scrollbar-width:thin;flex:1;padding:16px;overflow:auto hidden}.lists-row{align-items:flex-start;gap:12px;width:max-content;min-height:calc(100vh - 90px);padding-bottom:20px;display:flex}.list-column{background:var(--grey-100);width:288px;max-height:calc(100dvh - 110px);box-shadow:var(--shadow-soft);border:1px solid var(--grey-200);transition:background var(--dur) ease, box-shadow var(--dur) ease, border-color var(--dur) ease;border-radius:14px;flex-direction:column;display:flex}.list-column-over{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold), var(--shadow-soft);background:#fff}.list-count{min-width:22px;height:22px;color:var(--steel);background:#091e4214;border-radius:999px;place-items:center;padding:0 6px;font-size:.72rem;font-weight:700;display:inline-grid}.list-header{align-items:center;gap:6px;padding:10px 10px 6px;display:flex}.list-title-input{font-family:var(--font-display);letter-spacing:-.01em;border-radius:var(--radius);background:0 0;border:none;flex:1;padding:6px 8px;font-size:.92rem;font-weight:600}.list-title-input:focus{background:#fff;outline:none;box-shadow:0 0 0 2px #c5a05959}.icon-btn{color:inherit;border-radius:var(--radius);opacity:.75;width:32px;height:32px;transition:background var(--dur) ease, opacity var(--dur) ease, border-color var(--dur) ease;background:0 0;border:1px solid #0000;place-items:center;display:grid}.icon-btn:hover{opacity:1;background:#0000000f}.list-cards{flex-direction:column;gap:8px;min-height:8px;padding:4px 8px 8px;display:flex;overflow-y:auto}.card-item{box-shadow:none;border:1px solid var(--grey-200);cursor:pointer;transition:box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease), border-color var(--dur) ease;background:#fff;border-radius:10px;padding:10px}.card-item:hover{border-color:var(--grey-300);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.card-item:active{transform:scale(.99)}.card-item.dragging{box-shadow:var(--shadow);opacity:.95;transform:rotate(2deg)scale(1.03)}.card-cover{border-radius:8px 8px 0 0;height:32px;margin:-10px -10px 8px}.card-labels{flex-wrap:wrap;gap:4px;margin-bottom:6px;display:flex}.label-chip{border-radius:4px;min-width:40px;height:8px}.label-chip.named{color:#fff;min-width:0;height:auto;padding:2px 8px;font-size:.72rem;font-weight:700}.card-title{word-break:break-word;margin:0;font-size:.875rem;font-weight:500;line-height:1.4}.card-meta{color:var(--steel);flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:.78rem;display:flex}.card-meta-item{align-items:center;gap:4px;display:inline-flex}.due-badge.overdue{color:#fff;background:#111;border-radius:4px;padding:2px 6px}.due-badge.soon{color:#111;background:var(--gold);border-radius:4px;padding:2px 6px}.add-card-btn{text-align:left;height:var(--btn-h);border-radius:var(--radius);color:var(--steel);font-family:var(--font-body);transition:background var(--dur) ease, color var(--dur) ease;background:0 0;border:1px solid #0000;margin:0 8px 10px;padding:0 10px;font-size:.875rem;font-weight:500}.add-card-btn:hover{color:var(--ink);background:#0000000d}.add-list-composer{flex-shrink:0;width:288px}.add-list-btn{width:100%;height:var(--btn-h-lg);border-radius:var(--radius-lg);color:#fff;font-family:var(--font-body);transition:background var(--dur) ease, border-color var(--dur) ease;background:#ffffff1a;border:1px solid #ffffff2e;justify-content:flex-start;align-items:center;gap:8px;margin:0;padding:0 12px;font-size:.875rem;font-weight:500;display:inline-flex}.add-list-btn:hover{background:#ffffff29;border-color:#ffffff47}.add-form{flex-direction:column;gap:8px;padding:8px;display:flex}.add-form textarea,.add-form input{resize:vertical;min-height:54px;box-shadow:inset 0 0 0 2px var(--gold);border:none;border-radius:8px;outline:none;padding:10px}.add-form-actions{align-items:center;gap:8px;display:flex}.modal-backdrop{z-index:50;animation:backdrop-in var(--dur) var(--ease-out);background:#00000073;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{width:min(100%,520px);max-height:min(90vh,860px);box-shadow:var(--shadow);border:1px solid var(--grey-200);background:#fff;border-radius:14px;padding:22px;overflow:auto}.modal.wide{width:min(100%,768px)}.modal-header{justify-content:space-between;align-items:start;gap:12px;margin-bottom:16px;display:flex}.modal-header h2,.modal-header h3{font-family:var(--font-display);margin:0}.bg-picker{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.bg-swatch{cursor:pointer;border:2px solid #0000;border-radius:8px;height:44px}.bg-swatch.active{border-color:var(--ink);box-shadow:0 0 0 2px var(--gold)}.card-modal-layout{grid-template-columns:1fr 180px;gap:18px;display:grid}.card-section{margin-bottom:18px}.card-section h4{font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:8px;margin:0 0 8px;font-size:.9rem;font-weight:600;display:flex}.card-title-edit{width:100%;font-family:var(--font-display);letter-spacing:-.02em;border-radius:var(--radius);background:0 0;border:1px solid #0000;padding:4px 6px;font-size:1.25rem;font-weight:600}.card-title-edit:hover,.card-title-edit:focus{border-color:var(--line);background:#fff;outline:none}.desc-box,.comment-box{border:1px solid var(--line);resize:vertical;background:#fff;border-radius:10px;width:100%;min-height:90px;padding:12px}.card-sidebar{flex-direction:column;gap:8px;display:flex}.side-action{border-color:var(--grey-200);width:100%;height:var(--btn-h);background:#fff;justify-content:flex-start}.popover{position:relative}.popover-panel{z-index:5;box-shadow:var(--shadow);border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px;position:absolute;top:calc(100% + 6px);left:0;right:0}.label-options{flex-direction:column;gap:6px;display:flex}.label-option{text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:0;display:flex}.label-option span{color:#fff;border-radius:6px;flex:1;min-height:34px;padding:8px 10px;font-size:.85rem;font-weight:700}.check-row{align-items:center;gap:8px;padding:6px 0;display:flex}.check-row input[type=checkbox]{width:16px;height:16px}.check-row.done span{color:var(--steel);text-decoration:line-through}.progress-track{background:#00000014;border-radius:99px;height:8px;margin-bottom:8px;overflow:hidden}.progress-fill{background:var(--gold);height:100%}.comment-list{flex-direction:column;gap:12px;margin-top:12px;display:flex}.comment-item{grid-template-columns:auto 1fr;gap:10px;display:grid}.comment-body{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px}.comment-meta{color:var(--steel);justify-content:space-between;gap:8px;margin-bottom:4px;font-size:.82rem;display:flex}.attachment-list{flex-direction:column;gap:8px;display:flex}.attachment-item{border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.member-list{flex-direction:column;gap:8px;display:flex}.member-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.member-info{align-items:center;gap:10px;display:flex}.muted{color:var(--steel);font-size:.9rem}.empty-state{text-align:center;color:var(--steel);padding:40px 20px}.empty-panel{text-align:center;box-shadow:var(--shadow);background:#ffffffeb;border-radius:16px;padding:24px}.btn-icon-label{gap:7px}.inline-form,.form-actions{align-items:center;gap:8px;margin-top:8px;display:flex}.inline-form .text-input{flex:1}.attachment-list{margin-top:10px}.attachment-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.member-pick{cursor:pointer;background:0 0;border:none;width:100%;padding:4px}.sidebar-label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.06em;color:var(--steel);margin:0 0 4px;font-size:.7rem;font-weight:500}.list-composer-form{background:var(--grey-100);border-radius:14px}.drag-overlay-card{width:272px}.banner-warn{color:var(--ink);background:#ffffffeb;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:10px 16px 0;padding:10px 12px;font-size:.92rem;display:flex}.toast{left:50%;bottom:max(20px, env(safe-area-inset-bottom));z-index:80;color:#fff;box-shadow:var(--shadow);background:#111;border:1px solid #2a2a2a;border-radius:10px;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:12px 14px;display:flex;position:fixed;transform:translate(-50%)}.share-bar{background:var(--grey-50);border:1px solid var(--grey-200);border-radius:10px;align-items:center;gap:8px;margin:0 0 16px;padding:8px;display:flex}.share-bar-icon{color:var(--steel);flex-shrink:0;margin-left:4px}.share-bar-input{min-width:0;color:var(--ink-soft);background:0 0;border:none;outline:none;flex:1;font-size:.85rem}.card-modal-header{align-items:flex-start}.card-modal-heading{flex:1;min-width:0}.card-modal-header-actions{align-items:center;gap:6px;display:flex}.card-list-meta{margin-left:6px}.card-list-meta strong{color:var(--ink)}.close-btn{width:36px;height:36px}.mobile-actions{align-items:center;gap:4px;display:none}.menu-wrap{position:relative}.menu-panel{width:min(240px,100vw - 24px);color:var(--ink);box-shadow:var(--shadow);z-index:30;background:#fff;border-radius:12px;padding:12px;position:absolute;top:calc(100% + 8px);right:0}.menu-members{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.desktop-actions{align-items:center;gap:8px;display:flex}.desktop-only{display:flex}@media (width<=900px){.auth-page{grid-template-columns:1fr}.auth-visual{min-height:220px;padding:28px}.auth-copy h1{font-size:2rem}.card-modal-layout{grid-template-columns:1fr}.card-sidebar{order:-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px;display:grid}.sidebar-label,.card-sidebar .btn-danger{grid-column:1/-1}.side-action,.popover{width:100%}.popover-panel{left:12px;right:12px;bottom:max(12px, env(safe-area-inset-bottom));z-index:60;max-height:55vh;position:fixed;top:auto;overflow:auto}}@media (width<=768px){.desktop-actions,.desktop-only{display:none}.mobile-actions{display:flex}.board-topbar{gap:8px;padding:10px 12px}.board-topbar-left{flex:1;min-width:0}.board-title-input{flex:1;min-width:0;max-width:none;font-size:1.05rem}.board-canvas{-webkit-overflow-scrolling:touch;padding:12px 12px 28px}.lists-row{scroll-snap-type:x proximity;gap:10px;min-height:calc(100dvh - 88px);padding-bottom:28px}.list-column,.add-list-composer{scroll-snap-align:start;flex-shrink:0;width:min(86vw,300px)}.list-column{max-height:calc(100dvh - 110px)}.card-modal-backdrop{place-items:stretch stretch;padding:0}.card-modal{width:100%;max-width:none;height:100%;min-height:100dvh;max-height:none;padding:14px 14px max(20px, env(safe-area-inset-bottom));border-radius:0}.share-bar{flex-wrap:wrap}.share-bar-input{flex:140px}.btn-label{display:none}.banner-warn{flex-direction:column;align-items:stretch}}@media (width<=640px){.home-main{width:calc(100% - 24px);padding-top:24px}.home-header{flex-direction:column;align-items:stretch}.home-header .btn{width:100%}.topbar{padding:12px 14px}.topbar-brand{font-size:.95rem}.topbar-brand img{width:30px;height:30px}.user-chip span{display:none}.board-grid{grid-template-columns:1fr 1fr;gap:12px}.board-tile{min-height:108px}.modal-backdrop:not(.card-modal-backdrop){align-items:flex-end;padding:12px}.modal:not(.card-modal){border-radius:16px 16px 12px 12px;width:100%;max-height:min(92dvh,860px)}.auth-panel{padding:28px 18px 40px}.comment-meta{flex-direction:column;align-items:flex-start}.attachment-item{flex-direction:column;align-items:stretch}}@media (width<=420px){.board-grid,.card-sidebar{grid-template-columns:1fr}}@media (hover:none){.btn:hover,.board-tile:hover,.card-item:hover{transform:none}.icon-btn,.btn,.add-card-btn,.add-list-btn{min-height:44px}.card-item{padding:12px}}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-in{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes list-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.anim-fade-up{animation:fade-up var(--dur-slow) var(--ease-out) both}.anim-fade-up-delay{animation:fade-up var(--dur-slow) var(--ease-out) 80ms both}.anim-tile{animation:fade-up var(--dur-slow) var(--ease-out) both}.anim-modal{animation:modal-in var(--dur-slow) var(--ease-out) both}.anim-list{animation:list-in var(--dur-slow) var(--ease-out) both}.lists-row>.anim-list:first-child{animation-delay:20ms}.lists-row>.anim-list:nth-child(2){animation-delay:60ms}.lists-row>.anim-list:nth-child(3){animation-delay:.1s}.lists-row>.anim-list:nth-child(4){animation-delay:.14s}.lists-row>.anim-list:nth-child(5){animation-delay:.18s}.toast{animation:toast-in var(--dur) var(--ease-out) both}.list-menu{width:168px;left:auto;right:0}.user-chip{transition:background var(--dur) ease}.user-chip:hover{background:#ffffff24}.share-bar{transition:box-shadow var(--dur) ease, border-color var(--dur) ease}.share-bar:focus-within{border-color:#c5a0598c;box-shadow:0 0 0 3px #c5a0592e}.side-action{transition:background var(--dur) ease, transform var(--dur) var(--ease)}.side-action:hover{background:var(--grey-50);border-color:var(--grey-300)}.popover-panel{animation:fade-up .16s var(--ease-out) both}.bg-swatch{transition:transform var(--dur) var(--ease), box-shadow var(--dur) ease}.bg-swatch:hover{transform:scale(1.05)}.bg-swatch.active{transform:scale(1.04)}.form-field input,.form-field textarea,.text-input,.desc-box,.comment-box{transition:border-color var(--dur) ease, box-shadow var(--dur) ease, background var(--dur) ease}@media (width<=768px){.anim-modal{animation:fade-up var(--dur-slow) var(--ease-out) both}.modal-backdrop:not(.card-modal-backdrop){align-items:end}.modal:not(.card-modal).anim-modal{animation:modal-in var(--dur-slow) var(--ease-out) both}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation:none!important}}.board-toolbar{z-index:2;background:#ffffffeb;border-bottom:1px solid #0000000f;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex;position:relative}.search-field{min-width:min(280px,100%);height:var(--btn-h);border:1px solid var(--grey-200);border-radius:var(--radius);background:#fff;align-items:center;gap:8px;padding:0 12px;display:flex}.search-field input{width:100%;font:inherit;color:var(--ink);background:0 0;border:none;outline:none}.filter-chip{height:var(--btn-h);border:1px solid var(--grey-200);color:var(--ink-soft);background:#fff;border-radius:999px;padding:0 12px;font-size:.8rem;font-weight:500}.filter-chip.active{background:var(--ink);border-color:var(--ink);color:#fff}.section-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink-soft);margin:28px 0 14px;font-size:1rem;font-weight:600}.star-btn{color:var(--steel);border-radius:var(--radius);background:0 0;border:none;padding:4px}.star-btn.active,.star-btn:hover{color:var(--gold)}.board-topbar .star-btn{color:#ffffffb3}.board-topbar .star-btn.active,.board-topbar .star-btn:hover{color:var(--gold)}.board-tile-actions{z-index:2;position:absolute;top:10px;right:10px}.archived-panel{border-left:1px solid var(--grey-200);width:min(360px,100vw);height:100dvh;box-shadow:var(--shadow);z-index:40;animation:fade-up var(--dur-slow) var(--ease-out);background:#fff;flex-direction:column;display:flex;position:fixed;top:0;right:0}.archived-panel header{border-bottom:1px solid var(--grey-200);justify-content:space-between;align-items:center;padding:16px;display:flex}.archived-panel h3{margin:0;font-size:1rem}.archived-list{flex-direction:column;gap:8px;padding:12px;display:flex;overflow:auto}.archived-item{border:1px solid var(--grey-200);border-radius:var(--radius);background:var(--grey-50);padding:12px}.archived-item strong{margin-bottom:8px;display:block}.list-column.collapsed{width:44px;min-width:44px;overflow:hidden}.list-column.collapsed .list-cards,.list-column.collapsed .add-card-btn,.list-column.collapsed .add-form,.list-column.collapsed .list-count,.list-column.collapsed .menu-wrap{display:none}.list-column.collapsed .list-header{writing-mode:vertical-rl;justify-content:start;min-height:160px;padding:12px 8px;transform:rotate(180deg)}.list-column.collapsed .list-title-input{pointer-events:none}.settings-panel{flex-direction:column;gap:12px;display:flex}.label-edit-row{align-items:center;gap:8px;display:flex}.label-edit-row .swatch{border-radius:6px;flex-shrink:0;width:28px;height:28px}@media (width<=768px){.board-toolbar{padding:8px 12px}.search-field{flex:100%;min-width:100%}}
