@import"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap";:root{--primary: #3b71ca;--primary-hover: #386bc0;--primary-active: #2f5aa3;--success: #14a44d;--danger: #dc4c64;--warning: #e4a11b;--info: #54b4d3;--body-bg: #f5f6f8;--surface: #ffffff;--surface-hover: #fafafa;--surface-muted: #f0f1f3;--border: #e0e0e0;--text: #4f4f4f;--heading: #212529;--muted: #757575;--input-bg: #ffffff;--input-border: #bdbdbd;--on-primary: #ffffff;--radius: .5rem;--radius-sm: .25rem;--shadow-1: 0 2px 5px 0 rgba(0, 0, 0, .08), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-2: 0 4px 12px 0 rgba(0, 0, 0, .1), 0 2px 4px 0 rgba(0, 0, 0, .06);--shadow-btn: 0 4px 9px -4px rgba(59, 113, 202, .55)}[data-theme=dark]{--body-bg: #121418;--surface: #1c1f26;--surface-hover: #252932;--surface-muted: #2a2f3a;--border: #343a46;--text: #c8cdd6;--heading: #eef0f4;--muted: #8b93a1;--input-bg: #1c1f26;--input-border: #4a5160;--shadow-1: 0 2px 5px 0 rgba(0, 0, 0, .35), 0 1px 2px 0 rgba(0, 0, 0, .25);--shadow-2: 0 4px 12px 0 rgba(0, 0, 0, .45), 0 2px 4px 0 rgba(0, 0, 0, .3)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--body-bg);color:var(--text);font-family:Roboto,system-ui,-apple-system,Segoe UI,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}.app{display:flex;flex-direction:column;min-height:100%}.app-header{display:flex;align-items:center;gap:14px;padding:12px 28px;background:var(--surface);box-shadow:var(--shadow-1);position:sticky;top:0;z-index:20}.brand{display:inline-flex;align-items:baseline;font-size:21px;font-weight:600;letter-spacing:-.025em;line-height:1;text-decoration:none;color:var(--heading)}.brand-accent{color:var(--primary);font-weight:700}.tagline{color:var(--muted);font-size:13px;font-weight:300}.header-spacer{flex:1}.header-user{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--muted)}.header-auth{display:flex;align-items:center;gap:10px}.lang-switch,.theme-switch{display:inline-flex;border:1px solid var(--border);border-radius:20px;overflow:hidden;background:var(--surface)}.lang-option,.theme-option{border:none;background:transparent;color:var(--muted);font-size:12px;font-weight:500;letter-spacing:.04rem;padding:5px 12px;transition:background-color .15s ease,color .15s ease}.theme-option{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px}.theme-option svg{width:16px;height:16px;display:block}.lang-option:hover,.theme-option:hover{color:var(--primary)}.lang-option.active,.theme-option.active{background:var(--primary);color:var(--on-primary)}.avatar{width:34px;height:34px;border-radius:50%;background:var(--primary);color:var(--on-primary);display:grid;place-items:center;font-weight:500;text-transform:uppercase}.settings-menu{position:relative}.settings-menu-trigger{width:34px;height:34px;border:none;border-radius:50%;background:var(--surface-muted);color:var(--muted);display:grid;place-items:center;cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.settings-menu-trigger:hover{color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--surface-muted))}.settings-menu-trigger:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.settings-menu-trigger svg{width:18px;height:18px}.settings-menu-panel{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-2);padding:12px;display:flex;flex-direction:column;gap:14px}.settings-menu-section{display:flex;flex-direction:column;gap:8px}.settings-menu-label{font-size:12px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.settings-menu-panel .theme-switch,.settings-menu-panel .lang-switch{width:100%}.settings-menu-panel .lang-option,.settings-menu-panel .theme-option{flex:1}.settings-menu-action-section{padding-top:2px;border-top:1px solid var(--border)}.settings-menu-action{width:100%;border:none;background:transparent;color:var(--heading);display:inline-flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;text-align:left;transition:background-color .15s ease,color .15s ease}.settings-menu-action:hover{background:var(--surface-muted);color:var(--primary)}.settings-menu-action svg{width:16px;height:16px;flex-shrink:0}.user-menu{position:relative}.user-menu-trigger{border:none;padding:0;cursor:pointer;transition:box-shadow .15s ease,transform .05s ease}.user-menu-trigger:hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 25%,transparent)}.user-menu-trigger:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.user-menu-panel{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-2);padding:12px;display:flex;flex-direction:column;gap:8px}.user-menu-name{margin:0;font-size:14px;font-weight:500;color:var(--heading)}.user-menu-email{margin:0;font-size:13px;color:var(--muted);word-break:break-word}.user-menu-logout{width:100%;min-height:44px;margin-top:4px}.app-main{flex:1;padding:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--radius-sm);padding:.625rem 1.5rem;font-size:.82rem;font-weight:500;letter-spacing:.06rem;text-transform:uppercase;transition:box-shadow .15s ease,background-color .15s ease}.btn-primary{background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-btn)}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:active{background:var(--primary-active)}.btn-primary:disabled{opacity:.65;cursor:default;box-shadow:none}.btn-block{width:100%}.btn-outline{background:transparent;color:var(--primary);border:2px solid var(--primary);padding:calc(.625rem - 2px) calc(1.5rem - 2px)}.btn-outline:hover{background:#3b71ca0f}.btn-light{background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-1);text-transform:none;letter-spacing:normal;font-weight:500}.btn-light:hover{background:var(--surface-hover)}.field{position:relative;margin-bottom:18px}.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.input{width:100%;padding:.7rem .85rem;border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--heading);font-size:15px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.input:focus{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.auth{display:flex;justify-content:center;align-items:flex-start;padding-top:7vh}.auth-card{width:100%;max-width:420px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-2);padding:36px 32px}.auth-logo{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:26px}.auth-logo .mark{width:54px;height:54px;border-radius:14px;background:linear-gradient(135deg,var(--primary),#2f5aa3);color:var(--on-primary);display:grid;place-items:center;font-size:26px;font-weight:700;box-shadow:var(--shadow-btn)}.auth-logo h1{margin:6px 0 0;font-size:22px;color:var(--heading);font-weight:500}.auth-sub{text-align:center;color:var(--muted);font-size:14px;margin:0 0 24px}.auth-actions{display:flex;gap:12px;margin-top:4px}.divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:22px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.google-btn{width:100%}.google-icon{width:18px;height:18px}.auth-hint{margin-top:22px;padding:10px 12px;background:#3b71ca12;border:1px solid rgba(59,113,202,.2);border-radius:var(--radius-sm);font-size:12.5px;color:var(--muted);text-align:center}.auth-hint code{color:var(--primary);font-weight:500}.auth-switch{text-align:center;margin:20px 0 0;font-size:14px;color:var(--muted)}.link{background:none;border:none;color:var(--primary);font-weight:500;cursor:pointer;padding:0;font-size:14px}.link:hover{text-decoration:underline}.my-boards{margin-top:26px;border-top:1px solid var(--border);padding-top:20px}.my-boards-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.my-boards h2{font-size:15px;font-weight:500;color:var(--heading);margin:0}.muted-text{color:var(--muted);font-size:14px;margin:0}.board-search{min-width:0;width:min(100%,240px);display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--input-border);border-radius:999px;background:var(--input-bg)}.board-search svg{width:16px;height:16px;flex-shrink:0;color:var(--muted)}.board-search-input{border:none;background:transparent;padding-left:0;padding-right:0}.board-search-input:focus{box-shadow:none}.board-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.board-list li{display:flex;align-items:stretch;gap:10px}.board-list .board-link{flex:1;min-width:0;display:flex;align-items:center;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);text-decoration:none;color:var(--heading);background:var(--surface);transition:border-color .15s ease,box-shadow .15s ease,transform .05s ease}.board-list .board-link:hover{border-color:var(--primary);box-shadow:var(--shadow-1)}.board-details{min-width:0;display:flex;flex-direction:column;gap:4px}.board-list-actions{display:flex;align-items:center;gap:8px}.board-action-btn{flex-shrink:0;width:40px;height:40px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s ease,color .15s ease,background-color .15s ease,box-shadow .15s ease}.board-action-btn:hover:not(:disabled){color:var(--primary);border-color:color-mix(in srgb,var(--primary) 45%,var(--border));background:color-mix(in srgb,var(--primary) 8%,var(--surface));box-shadow:var(--shadow-1)}.board-action-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.board-action-btn:disabled{opacity:.55;cursor:wait}.board-action-btn svg{width:18px;height:18px}.board-name{font-weight:500;min-width:0;overflow-wrap:anywhere}.board-date{font-size:12px;color:var(--muted)}.home{display:flex;justify-content:center;padding-top:4vh}.home-card{max-width:560px;width:100%;background:var(--surface);border-radius:var(--radius);padding:36px;box-shadow:var(--shadow-1)}.home-card h1{margin:0 0 10px;font-size:30px;letter-spacing:-.4px;color:var(--heading);font-weight:500}.home-sub{color:var(--muted);margin:0 0 24px;line-height:1.5}.home-form{display:flex;gap:10px}.home-form .input{flex:1}.home-features{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:10px}.home-features li{color:var(--muted);padding-left:26px;position:relative}.home-features li:before{content:"✓";position:absolute;left:0;color:var(--success);font-weight:700}.error{color:var(--danger);margin-top:12px;font-size:14px}.landing{max-width:1080px;margin:0 auto;display:flex;flex-direction:column;gap:72px;padding:24px 0 40px}.landing-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:48px;padding-top:3vh}.hero-eyebrow{display:inline-block;font-size:12px;font-weight:500;letter-spacing:.08rem;text-transform:uppercase;color:var(--primary);background:#3b71ca14;border-radius:20px;padding:5px 12px;margin-bottom:18px}.hero-copy h1{margin:0 0 16px;font-size:44px;line-height:1.1;letter-spacing:-.8px;font-weight:700;color:var(--heading)}.hero-lead{margin:0 0 28px;font-size:17px;line-height:1.6;color:var(--muted);max-width:46ch}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-note{margin:18px 0 0;font-size:13px;color:var(--muted)}.hero-visual{display:flex;justify-content:center}.hero-mock{width:100%;max-width:480px;height:auto;border-radius:14px;box-shadow:var(--shadow-2)}.landing-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.feature{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-1)}.feature-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#3b71ca1a;color:var(--primary);margin-bottom:16px}.feature-icon svg{width:24px;height:24px}.feature h3{margin:0 0 8px;font-size:16px;font-weight:500;color:var(--heading)}.feature p{margin:0;font-size:14px;line-height:1.55;color:var(--muted)}.landing-steps h2{text-align:center;margin:0 0 32px;font-size:28px;font-weight:500;letter-spacing:-.4px;color:var(--heading)}.landing-steps ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.landing-steps li{display:flex;gap:16px;align-items:flex-start}.step-num{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--primary);color:var(--on-primary);display:grid;place-items:center;font-weight:700;box-shadow:var(--shadow-btn)}.landing-steps h3{margin:4px 0 6px;font-size:16px;font-weight:500;color:var(--heading)}.landing-steps p{margin:0;font-size:14px;line-height:1.55;color:var(--muted)}.landing-cta{text-align:center;background:linear-gradient(135deg,var(--primary),#2f5aa3);color:var(--on-primary);border-radius:var(--radius);padding:48px 28px;box-shadow:var(--shadow-2)}.landing-cta h2{margin:0 0 8px;font-size:26px;font-weight:500;letter-spacing:-.3px}.landing-cta p{margin:0 0 24px;color:#ffffffd9}.landing-cta .btn-primary{background:#fff;color:var(--primary);box-shadow:none}.landing-cta .btn-primary:hover{background:#f0f2f5}@media (max-width: 760px){.app-header{padding:12px 16px;gap:10px}.app-main{padding:16px}.landing{gap:56px}.landing-hero{grid-template-columns:1fr;gap:32px;text-align:center}.hero-copy h1{font-size:34px}.hero-lead{max-width:none}.hero-actions{justify-content:center}.hero-visual{order:-1}.tagline{display:none}.user-menu-panel,.settings-menu-panel{position:fixed;top:58px;right:16px;left:auto}.board-bar{flex-direction:column;align-items:stretch;gap:12px}.board-actions{gap:8px}.home{padding-top:2vh}.home-card{padding:24px 20px}.home-card h1{font-size:26px}.home-form{flex-direction:column;align-items:stretch;gap:12px}.home-form .input{width:100%;font-size:16px}.home-form .btn{width:100%;min-height:44px}}.board-bar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px;gap:16px;flex-wrap:wrap}.board-title{margin:0;font-size:24px;color:var(--heading);font-weight:500}.board-meta{margin:4px 0 0;color:var(--muted);font-size:13px}.board-actions{display:flex;align-items:center;gap:12px}.status{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--muted)}.status .dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.status.online .dot{background:var(--success);box-shadow:0 0 6px var(--success)}.status.offline .dot{background:var(--warning)}.board-closed-banner{margin-bottom:18px;padding:12px 16px;border-radius:10px;background:color-mix(in srgb,var(--warning) 14%,transparent);border:1px solid color-mix(in srgb,var(--warning) 45%,transparent);color:var(--warning);font-size:14px;font-weight:600}.board-swipe-hint{display:none}.columns-wrap{position:relative}.columns{display:flex;flex-wrap:nowrap;gap:18px;align-items:start;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.column{flex:1 0 280px;min-width:280px;background:var(--surface);border-radius:var(--radius);padding:0 16px 16px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-1);overflow:hidden}.columns>.column:nth-child(3n+1){border-top:4px solid var(--success)}.columns>.column:nth-child(3n+2){border-top:4px solid var(--danger)}.columns>.column:nth-child(3n+3){border-top:4px solid var(--info)}.column-head{display:flex;justify-content:space-between;align-items:center;padding-top:14px}.column-head h3{margin:0;font-size:15px;font-weight:500;color:var(--heading)}.column-title-row{display:inline-flex;align-items:center;gap:6px;min-width:0}.column-title-row h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.column-info{position:relative;flex-shrink:0}.column-info-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;transition:color .15s ease,background-color .15s ease}.column-info-btn svg{width:16px;height:16px}.column-info-btn:hover,.column-info-btn[aria-expanded=true]{color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.column-info-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:12;width:max(220px,16vw);max-width:280px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-2);font-size:13px;line-height:1.45;color:var(--text)}.composer-topic-head,.composer-topic-hint{display:none}.count{font-size:12px;color:var(--muted);background:var(--surface-muted);border-radius:20px;padding:2px 10px;transition:transform .2s ease}.count--pop{animation:count-pop .42s cubic-bezier(.22,1,.36,1)}@keyframes count-pop{0%,to{transform:scale(1)}45%{transform:scale(1.2)}}.card-list{display:flex;flex-direction:column;gap:10px;min-height:8px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;box-shadow:var(--shadow-1);transition:box-shadow .15s ease,transform .05s ease}.card--enter{animation:card-enter .48s cubic-bezier(.22,1,.36,1) both}.card:hover{box-shadow:var(--shadow-2)}@keyframes card-enter{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.card-text{margin:0 0 10px;line-height:1.45;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;color:var(--heading)}.card-edit{width:100%;resize:vertical;background:var(--input-bg);color:var(--heading);border:1px solid var(--primary);border-radius:var(--radius-sm);padding:8px;margin-bottom:10px;outline:none;font-family:inherit;font-size:16px;overflow-wrap:anywhere}.card-foot{display:flex;justify-content:space-between;align-items:center}.author{font-size:12px;color:var(--muted)}.card-controls{display:flex;align-items:center;gap:6px;margin-left:auto}.link-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--muted);padding:4px 6px;border-radius:6px;font-size:12px;line-height:1}.link-btn svg{width:14px;height:14px}.link-btn-edit:hover{color:var(--primary);background:#3b71ca14}.link-btn-delete:hover{color:var(--danger);background:#dc4c6414}.vote-btn{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);border-radius:20px;padding:4px 12px;font-size:13px;font-weight:500;transition:all .15s ease}.vote-btn:hover{border-color:var(--primary);color:var(--primary)}.vote-btn.voted{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.vote-btn--pulse{animation:vote-pulse .38s cubic-bezier(.22,1,.36,1)}.vote-btn--pending{opacity:.72;cursor:wait}@keyframes vote-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.14)}}.add-card{display:flex;flex-direction:column;gap:8px;margin-top:auto}.add-card textarea{resize:vertical;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--heading);padding:9px;outline:none;font-family:inherit;font-size:16px;transition:border-color .15s ease}.add-card textarea:focus{border-color:var(--primary)}.add-card-row{display:flex;gap:8px;justify-content:space-between;align-items:center}.add-card-success{font-size:13px;font-weight:500;color:var(--success)}.add-card-success--show{animation:success-fade .42s ease both}@keyframes success-fade{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.column-dots{display:none}.column-tabs{display:none;position:relative}.column-tabs-indicator{display:none}.column-tab{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;color:var(--muted);font-size:13px;font-weight:500;padding:10px 12px 12px;white-space:nowrap;flex:1 1 0;justify-content:center;min-width:0;position:relative;z-index:1}.column-tab-label{overflow:hidden;text-overflow:ellipsis}.column-tab-count{font-size:11px;background:var(--surface-muted);border-radius:20px;padding:1px 7px;flex-shrink:0}.column-tab.active{color:var(--heading)}.composer-fab,.composer-overlay{display:none}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:40;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:20px;background:var(--heading);color:var(--surface);font-size:14px;font-weight:500;box-shadow:var(--shadow-2);pointer-events:none}.toast--show{animation:toast-in .32s cubic-bezier(.22,1,.36,1) both}.toast-icon{display:inline-flex;width:18px;height:18px;color:var(--success)}.toast-icon svg{width:100%;height:100%}.toast-icon-ring{fill:none;stroke:currentColor;stroke-width:1.4;opacity:.35;transform-origin:center;animation:toast-ring .45s ease both}.toast-icon-check{stroke-dasharray:12;stroke-dashoffset:12;animation:toast-check .35s .12s ease forwards}.board--composer-open .toast{bottom:calc(min(42vh,320px) + env(safe-area-inset-bottom))}.board--composer-fab .toast{bottom:calc(88px + env(safe-area-inset-bottom))}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.96)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes toast-ring{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:.35}}@keyframes toast-check{to{stroke-dashoffset:0}}.share-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:share-fade-in .18s ease}.share-dialog{width:min(100%,420px);background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow-2);padding:20px;animation:share-slide-up .22s ease}.share-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.share-dialog-title{margin:0;font-size:18px;font-weight:500;color:var(--heading)}.share-dialog-subtitle{margin:4px 0 0;font-size:13px;color:var(--muted)}.share-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;transition:background-color .15s ease,color .15s ease}.share-close:hover{background:var(--surface-muted);color:var(--heading)}.share-close svg{width:18px;height:18px}.share-link-row{display:flex;flex-direction:column;gap:10px}.share-link-field{display:flex;align-items:center;gap:10px;padding:0 12px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);min-height:44px}.share-link-field svg{flex-shrink:0;width:16px;height:16px;color:var(--muted)}.share-link-input{flex:1;min-width:0;border:none;background:transparent;color:var(--heading);font-size:13px;font-family:inherit;outline:none}.share-copy-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;width:100%}.share-copy-btn svg{width:16px;height:16px}.share-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.share-divider:before,.share-divider:after{content:"";flex:1;height:1px;background:var(--border)}.share-qr-wrap{display:flex;flex-direction:column;align-items:center;gap:12px}.share-qr-card{padding:16px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1)}.share-qr-hint{margin:0;font-size:13px;color:var(--muted);text-align:center;max-width:260px;line-height:1.45}.feedback-dialog{width:min(100%,520px)}.feedback-type-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:4px;margin-bottom:18px;background:var(--surface-muted);border-radius:calc(var(--radius) + 2px)}.feedback-type-option{border:none;border-radius:var(--radius-sm);background:transparent;color:var(--muted);padding:10px 14px;font-size:14px;font-weight:500;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.feedback-type-option.active{background:var(--surface);color:var(--heading);box-shadow:var(--shadow-1)}.feedback-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.feedback-signed-in{margin:0 0 18px;font-size:13px;color:var(--muted)}.feedback-textarea{width:100%;min-height:144px;resize:vertical;padding:.8rem .9rem;border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--heading);font:inherit;line-height:1.5;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.feedback-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.feedback-form-error{margin:-4px 0 16px;color:var(--danger);font-size:13px}.feedback-actions{display:flex;justify-content:flex-end;gap:10px}.feedback-success{display:flex;flex-direction:column;gap:12px}.feedback-success-title{margin:0;color:var(--heading);font-size:16px;font-weight:500}.feedback-success-body{margin:0;color:var(--muted);line-height:1.5}@keyframes share-fade-in{0%{opacity:0}to{opacity:1}}@keyframes share-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.board-loading{display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:12vh;color:var(--muted)}.spinner{width:34px;height:34px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 760px){.my-boards-head{flex-direction:column;align-items:stretch}.board-search{width:100%}.board-list li{gap:8px}.board-action-btn{width:38px;height:38px;border-radius:10px}.share-overlay{align-items:flex-end;padding:0}.share-dialog{width:100%;border-bottom-left-radius:0;border-bottom-right-radius:0;padding:20px 20px max(24px,env(safe-area-inset-bottom))}.feedback-grid{grid-template-columns:1fr;gap:0}.feedback-actions{flex-direction:column-reverse}.feedback-actions .btn{width:100%}.board-swipe-hint{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:10px 14px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--primary) 24%,transparent)}.board-swipe-hint p{margin:0;font-size:13px;color:var(--heading);line-height:1.4}.board-swipe-hint .link-btn{flex-shrink:0;color:var(--primary);font-size:13px;font-weight:500}.column-dots{display:flex;justify-content:center;gap:8px;margin-bottom:10px}.column-dot{width:8px;height:8px;padding:0;border:none;border-radius:50%;background:var(--border);transition:background-color .15s ease,transform .15s ease}.column-dot.active{background:var(--primary);transform:scale(1.15)}.column-tabs{display:flex;gap:4px;margin-bottom:14px;padding-bottom:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.column-tabs-indicator{display:block;position:absolute;left:0;bottom:0;height:2px;border-radius:2px;transition:transform .28s cubic-bezier(.22,1,.36,1),width .28s cubic-bezier(.22,1,.36,1),background-color .2s ease;pointer-events:none}.column-tabs-indicator--success{background:var(--success)}.column-tabs-indicator--danger{background:var(--danger)}.column-tabs-indicator--info{background:var(--info)}.column-tabs::-webkit-scrollbar{display:none}.board--composer-fab{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.board--composer-open{padding-bottom:0}.columns{gap:14px;scroll-snap-type:x mandatory;scroll-padding-bottom:env(safe-area-inset-bottom);scrollbar-width:none;margin-inline:-16px;padding-inline:16px}.columns::-webkit-scrollbar{display:none}.column{flex:0 0 min(80vw,300px);scroll-snap-align:start;max-height:calc(100dvh - 220px)}.board--composer-fab .column{max-height:calc(100dvh - 240px)}.card-list{overflow-y:auto;flex:1;min-height:0;scroll-padding-bottom:12px}.composer-fab{display:inline-flex;align-items:center;justify-content:center;position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:25;width:56px;height:56px;border:none;border-radius:50%;background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-btn);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;animation:composer-fab-in .3s cubic-bezier(.22,1,.36,1) both}.composer-fab svg{width:24px;height:24px;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;fill:none}.composer-fab:hover{transform:scale(1.05)}.composer-fab:active{transform:scale(.96)}.composer-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:composer-overlay-in .22s ease both}.composer-sheet{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:14px;padding:8px 16px max(16px,env(safe-area-inset-bottom));background:var(--surface);border-top-left-radius:calc(var(--radius) + 6px);border-top-right-radius:calc(var(--radius) + 6px);box-shadow:0 -8px 32px #0000001f;animation:composer-sheet-in .34s cubic-bezier(.22,1,.36,1) both}.composer-sheet-head{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;gap:4px 8px}.composer-sheet-handle{grid-column:1 / -1;justify-self:center;width:36px;height:4px;margin-bottom:4px;border-radius:4px;background:var(--border)}.composer-sheet-title{margin:0;font-size:16px;font-weight:500;color:var(--heading)}.composer-sheet-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;transition:background-color .15s ease,color .15s ease}.composer-sheet-close:hover{background:var(--surface-muted);color:var(--heading)}.composer-sheet-close svg{width:18px;height:18px;stroke:currentColor;stroke-width:2;stroke-linecap:round;fill:none}.composer-sheet-form{display:flex;flex-direction:column;gap:12px}.composer-topic-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.composer-topic-label{font-size:13px;font-weight:500;color:var(--muted)}.composer-topic-hint{display:block;margin:-4px 0 0;font-size:13px;line-height:1.45;color:var(--muted)}@keyframes composer-fab-in{0%{opacity:0;transform:scale(.8) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes composer-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes composer-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.composer-columns{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.composer-columns::-webkit-scrollbar{display:none}.composer-pill{flex:1 1 0;min-width:0;border:1px solid var(--border);border-radius:20px;background:var(--input-bg);color:var(--muted);font-size:13px;font-weight:500;padding:7px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.composer-pill.active{color:var(--heading);background:var(--surface);font-weight:600}.composer-pill--success.active{border-color:var(--success);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--success) 35%,transparent)}.composer-pill--danger.active{border-color:var(--danger);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger) 35%,transparent)}.composer-pill--info.active{border-color:var(--info);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--info) 35%,transparent)}.composer-input-row{display:flex;gap:10px;align-items:stretch}.composer-textarea{flex:1;min-width:0;resize:none;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--heading);padding:10px;outline:none;font-family:inherit;font-size:16px;line-height:1.4}.composer-textarea:focus{border-color:var(--primary)}.composer-submit{width:100%;min-height:44px}.composer-submit--success{animation:submit-pop .38s cubic-bezier(.22,1,.36,1)}@keyframes submit-pop{0%,to{transform:scale(1)}45%{transform:scale(.94)}}}@media (prefers-reduced-motion: reduce){.card--enter,.count--pop,.vote-btn--pulse,.add-card-success--show,.toast--show,.toast-icon-ring,.toast-icon-check,.composer-submit--success,.composer-fab,.composer-overlay,.composer-sheet{animation:none!important}.column-tabs-indicator{transition:none!important}.toast-icon-check{stroke-dashoffset:0}}
