:root{--ink: #0f172a;--muted: #64748b;--bg: #f4f6f8;--panel: #ffffff;--line: #e2e8f0;--line-strong: #cbd5e1;--accent: #0f766e;--accent-soft: #ccfbf1;--accent-ink: #115e59;--danger: #dc2626;--danger-soft: #fee2e2;--shadow: 0 10px 30px rgba(15, 23, 42, .08);--shadow-lg: 0 24px 50px rgba(15, 23, 42, .12);--radius: 16px;--radius-sm: 12px;font-family:DM Sans,sans-serif;color:var(--ink);background:var(--bg);line-height:1.45;color-scheme:light}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--bg)}button,input{font:inherit}a{color:inherit}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px 16px;background:radial-gradient(circle at 15% 20%,rgba(15,118,110,.12),transparent 34%),radial-gradient(circle at 85% 10%,rgba(59,130,246,.1),transparent 30%),linear-gradient(180deg,#f8fafc,#eef2f7)}.auth-atmosphere{display:none}.auth-panel{width:min(420px,100%);background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:32px 28px;box-shadow:var(--shadow-lg)}.brand-lockup{display:grid;justify-items:center;gap:10px;margin-bottom:14px}.brand-logo{width:min(168px,55vw);height:auto;display:block;filter:drop-shadow(0 10px 24px rgba(15,23,42,.12))}.brand{margin:0;font-family:Space Grotesk,sans-serif;font-size:clamp(1.8rem,4vw,2.2rem);font-weight:700;letter-spacing:-.04em;color:var(--ink);text-decoration:none;text-align:center}.brand.compact{font-size:1.15rem;margin:0;display:inline-block}.auth-panel h1,.boards-heading h1,.create-strip h1{margin:0 0 6px;font-family:Space Grotesk,sans-serif;font-size:1.4rem;letter-spacing:-.03em}.lead{margin:0 0 20px;color:var(--muted)}.auth-form{display:grid;gap:12px}.auth-form label,.settings-form label{display:grid;gap:6px;font-size:.9rem;color:var(--muted)}input{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px 13px;color:var(--ink)}input:focus{outline:2px solid color-mix(in srgb,var(--accent) 35%,white);border-color:var(--accent)}.btn{border:1px solid transparent;border-radius:12px;padding:10px 14px;cursor:pointer;transition:.15s ease;background:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--accent);color:#fff;font-weight:600}.btn.primary:hover{background:#0d9488}.btn.ghost{background:#fff;border-color:var(--line);color:var(--ink)}.btn.danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}.btn.tiny{padding:7px 10px;font-size:.85rem}.icon-btn svg{flex-shrink:0}.app-frame{min-height:100vh;padding-left:72px}.app-content{min-width:0;min-height:100vh}.app-shell{min-height:100vh;background:var(--bg)}.side-nav{position:fixed;left:0;top:0;bottom:0;width:72px;z-index:50;background:#0f172a;color:#e2e8f0;overflow:hidden;transition:width .22s ease,box-shadow .22s ease;border-right:1px solid rgba(148,163,184,.12)}.side-nav:hover,.side-nav:focus-within{width:228px;box-shadow:16px 0 40px #0f172a38}.side-nav-inner{width:228px;height:100%;display:flex;flex-direction:column;padding:14px 12px;gap:10px}.side-nav-brand,.side-nav-item{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:12px;text-decoration:none;color:inherit;border:0;background:transparent;cursor:pointer;font:inherit;width:100%;text-align:left}.side-nav-brand{color:#fff;font-family:Space Grotesk,sans-serif;font-weight:700;margin-bottom:8px}.side-nav-icon{width:24px;height:24px;flex:0 0 24px;display:grid;place-items:center;color:#cbd5e1}.side-nav-logo-wrap{width:32px!important;height:32px!important;flex-basis:32px!important;border-radius:8px;overflow:hidden;background:#fff}.side-nav-logo{width:100%;height:100%;object-fit:cover;display:block;filter:contrast(1.05)}.side-nav-label{white-space:nowrap;opacity:0;transform:translate(-4px);transition:opacity .16s ease,transform .16s ease;font-size:.92rem}.side-nav:hover .side-nav-label,.side-nav:focus-within .side-nav-label{opacity:1;transform:translate(0)}.side-nav-menu{display:grid;gap:4px;flex:1;align-content:start}.side-nav-item:hover{background:#94a3b81f}.side-nav-item.active{background:#2dd4bf29;color:#fff}.side-nav-item.active .side-nav-icon{color:#5eead4}.side-nav-footer{margin-top:auto;display:grid;gap:6px;padding-top:10px;border-top:1px solid rgba(148,163,184,.14)}.side-nav-user{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 10px}.side-nav-user-meta{display:grid;line-height:1.2}.side-nav-user-meta strong{font-size:.9rem;color:#fff}.side-nav-user-meta small{color:#94a3b8;font-size:.75rem}.side-nav-logout,.side-nav-logout .side-nav-icon{color:#fca5a5}.side-nav-logout:hover{background:#f8717124}.topbar,.board-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 22px;border-bottom:1px solid var(--line);background:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}.board-shell .board-topbar{border-bottom:0;background:linear-gradient(180deg,#fffffff5,#ffffffb8);position:absolute;left:0;right:0;top:0}.page-title{margin:0;font-family:Space Grotesk,sans-serif;font-size:1.25rem;letter-spacing:-.03em}.topbar-brand .muted,.muted{margin:4px 0 0;color:var(--muted);font-size:.9rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lead.tight{margin:0}.topbar-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.boards-main{width:min(1100px,calc(100% - 40px));margin:0 auto;padding:28px 0 56px}.boards-main.wide{width:min(1200px,calc(100% - 40px))}.boards-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;flex-wrap:wrap}.boards-heading .lead{margin:0}.boards-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 1px 2px #0f172a08}.author-filter{position:relative}.author-filter-trigger{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--bg);border-radius:999px;padding:7px 12px 7px 8px;cursor:pointer;color:var(--ink);font-size:.9rem;transition:.15s ease}.author-filter.open .author-filter-trigger,.author-filter-trigger:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.author-filter-text strong{font-weight:700}.author-filter-count{min-width:1.4em;height:1.4em;padding:0 6px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--muted);font-size:.75rem;font-weight:700;display:inline-grid;place-items:center}.author-filter.open .author-filter-count,.author-filter-trigger:hover .author-filter-count{border-color:transparent;background:#0f766e1f;color:var(--accent-ink)}.author-filter-caret{color:var(--muted);font-size:.75rem;line-height:1}.author-filter-dot{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#99f6e4,#5eead4);border:1px solid rgba(15,118,110,.2);flex:0 0 22px}.author-filter-dot.mine{background:linear-gradient(135deg,#fda4af,#fb7185);border-color:#be123c33}.author-filter-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:260px;max-height:320px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:6px;z-index:30}.author-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;background:transparent;border-radius:12px;padding:8px 10px;cursor:pointer;color:var(--ink);font:inherit;text-align:left}.author-option:hover,.author-option.active{background:var(--accent-soft)}.author-option-main{display:inline-flex;align-items:center;gap:8px;min-width:0}.author-you{font-size:.72rem;font-weight:700;color:var(--accent-ink);background:#0f766e1f;border-radius:999px;padding:2px 6px}.author-filter-sep{height:1px;background:var(--line);margin:4px 6px}.boards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.board-card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 1px 2px #0f172a0a;transition:.18s ease;min-height:240px;display:grid;grid-template-rows:1fr auto}.board-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.board-card:hover .board-card-actions{opacity:1;pointer-events:auto}.board-card.skeleton{background:linear-gradient(90deg,#fff,#f1f5f9,#fff);background-size:200% 100%;animation:shimmer 1.2s infinite linear}@keyframes shimmer{to{background-position:-200% 0}}.board-card-link{display:grid;grid-template-rows:1fr auto;min-height:240px;text-decoration:none;color:inherit}.board-preview{position:relative;aspect-ratio:16 / 10;background:#fff;border-bottom:1px solid var(--line);overflow:hidden}.board-preview img,.board-preview canvas{width:100%;height:100%;object-fit:cover;display:block}.board-preview-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--muted);font-size:.9rem;pointer-events:none}.board-card-body{padding:14px 16px 16px}.board-card-body strong{display:block;font-family:Space Grotesk,sans-serif;font-size:1.05rem;margin-bottom:4px}.board-card-body span{color:var(--muted);font-size:.86rem}.board-card-meta{display:flex;align-items:center;gap:10px;padding:12px 14px 14px;border-top:1px solid var(--line);background:#fbfcfd}.board-card-meta-text{display:grid;line-height:1.2;min-width:0}.board-card-meta-text strong{font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-card-meta-text span{font-size:.75rem;color:var(--muted)}.board-card-actions{position:absolute;top:10px;right:10px;display:flex;gap:6px;z-index:2;opacity:0;pointer-events:none;transition:opacity .15s ease}.board-card-action{width:34px;height:34px;border:0;border-radius:10px;background:#fffffff5;color:var(--ink);box-shadow:0 4px 14px #0f172a1f;cursor:pointer;display:grid;place-items:center;transition:.15s ease}.board-card-action:hover{background:var(--bg)}.board-card-action.danger{color:var(--danger)}.board-card-action.danger:hover{background:var(--danger-soft)}.board-card-editing{cursor:default}.rename-form{display:grid;gap:10px}.rename-form input{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.05rem}.rename-actions{display:flex;gap:8px}.create-card{border:1.5px dashed var(--line-strong);background:#fbfdff;display:grid;place-items:center;align-content:center;gap:8px;cursor:pointer;color:var(--muted);box-shadow:none;padding:24px}.create-card:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.create-card-icon{width:48px;height:48px;border-radius:14px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;color:var(--accent);margin-bottom:4px}.create-card strong{color:var(--ink);font-family:Space Grotesk,sans-serif}.empty-hint{margin-top:16px;color:var(--muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px;z-index:50}.modal-card{width:min(440px,100%);background:#fff;border-radius:20px;border:1px solid var(--line);box-shadow:var(--shadow-lg);padding:26px}.modal-card h2{margin:0 0 6px;font-family:Space Grotesk,sans-serif}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.board-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr;background:#fff;border:0}.board-shell.borderless,.whiteboard.borderless,.canvas-wrap.borderless,.board-canvas{border:0!important;outline:0}.board-title-block{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.back-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;color:var(--ink);text-decoration:none}.back-btn:hover{background:var(--bg)}.title-btn{border:0;background:transparent;font-family:Space Grotesk,sans-serif;font-size:1.1rem;font-weight:700;cursor:pointer;padding:4px 8px;border-radius:8px;max-width:min(420px,50vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.title-btn:hover{background:var(--bg)}.title-edit input{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.05rem;width:min(320px,50vw)}.status-pill{font-size:.78rem;padding:4px 10px;border-radius:999px;background:#ecfdf5;color:#047857;font-weight:600}.status-pill.bad{background:var(--danger-soft);color:var(--danger)}.presence{display:flex;align-items:center;gap:8px}.presence-label{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.85rem;margin-right:4px}.user-avatar{border-radius:50%;display:inline-grid;place-items:center;overflow:hidden;flex:0 0 auto;background:color-mix(in srgb,var(--c, #0f766e) 22%,white);color:var(--ink);border:2px solid color-mix(in srgb,var(--c, #0f766e) 55%,white);font-weight:700;line-height:1}.user-avatar img{width:100%;height:100%;object-fit:cover;display:block}.user-avatar-fallback{display:grid;place-items:center;width:100%;height:100%}.presence-avatar{box-shadow:0 0 0 1px #fffc}.side-nav-avatar-img{border-color:#5eead473!important;background:#2dd4bf33!important;color:#5eead4!important}.side-nav-user{text-decoration:none;color:inherit;border-radius:12px}.side-nav-user:hover{background:#94a3b81f}.profile-card{max-width:640px}.profile-avatar-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.profile-avatar-lg{border-width:3px}.profile-avatar-actions{flex:1;min-width:220px}.whiteboard{position:relative;min-height:0;height:100vh;background:#fff}.app-content .board-shell{min-height:100vh;position:relative;grid-template-rows:1fr}.app-content .app-shell{min-height:100vh}.app-content .whiteboard{height:100vh}.selection-toolbar{position:absolute;z-index:8;display:flex;align-items:center;gap:4px;padding:6px 8px;background:#fffffff7;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.selection-toolbar .tool-icon{width:34px;height:34px;font-weight:700}.zoom-pill{position:absolute;right:16px;bottom:22px;z-index:6;background:#ffffffeb;border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:700;color:var(--muted);box-shadow:var(--shadow)}.cursor-hand{cursor:grab}.cursor-select{cursor:default}.canvas-wrap{position:relative;width:100%;height:100%;overflow:hidden;background:#fff}.board-canvas{display:block;width:100%;height:100%;touch-action:none;background:#fff}.cursor-draw{cursor:crosshair}.cursor-text{cursor:text}.cursor-erase{cursor:cell}.toolbar-float{position:absolute;left:50%;bottom:22px;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fffffff5;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:5;max-width:calc(100% - 24px);overflow-x:auto}.tool-group{display:flex;gap:4px}.tool-icon{width:40px;height:40px;border:0;border-radius:12px;background:transparent;color:var(--ink);cursor:pointer;display:grid;place-items:center}.tool-icon:hover{background:var(--bg)}.tool-icon.active{background:var(--accent-soft);color:var(--accent-ink)}.tool-icon.danger{color:var(--danger)}.tool-sep-v{width:1px;align-self:stretch;background:var(--line);margin:2px}.swatches{display:flex;gap:7px;align-items:center}.swatch{width:22px;height:22px;border-radius:50%;border:1px solid rgba(15,23,42,.15);cursor:pointer;padding:0}.swatch.active{outline:2px solid var(--accent);outline-offset:2px}.width-control{display:flex;align-items:center;gap:8px;color:var(--muted)}.width-dot{border-radius:50%;display:inline-block;min-width:6px;min-height:6px}.width-control input[type=range]{width:90px;padding:0;border:0;accent-color:var(--accent)}.text-overlay{position:absolute;min-width:160px;border:1px dashed var(--accent);background:#fffffff2;font-family:Space Grotesk,sans-serif;font-size:22px;font-weight:600;padding:4px 8px;z-index:2;border-radius:8px}.board-loading{display:grid;place-items:center;color:var(--muted);min-height:50vh}.banner-error{margin:0;padding:10px 22px;background:var(--danger-soft);color:var(--danger)}.form-error{color:var(--danger);margin:8px 0 0}.form-ok{color:var(--accent-ink);margin:0}.settings-form{display:grid;gap:12px;max-width:440px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:18px;box-shadow:0 1px 2px #0f172a0a}.settings-form h2{margin:0;font-family:Space Grotesk,sans-serif;font-size:1.1rem}.user-list{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:8px}.user-list li{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.user-list strong{font-family:Space Grotesk,sans-serif;min-width:120px}.role-admin{color:var(--accent-ink);background:var(--accent-soft);font-size:.78rem;font-weight:700;border-radius:999px;padding:3px 8px}.role-user{color:var(--muted);font-size:.85rem}.valo-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:18px}.valo-select{position:relative;display:grid;gap:6px;min-width:min(280px,100%)}.valo-select-label{font-size:.78rem;font-weight:600;color:var(--muted);letter-spacing:.02em;text-transform:uppercase}.valo-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:10px 14px;cursor:pointer;color:var(--ink);font:inherit;text-align:left;box-shadow:0 1px 2px #0f172a0a;transition:.15s ease}.valo-select.open .valo-select-trigger,.valo-select-trigger:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.valo-select-trigger:disabled{opacity:.65;cursor:wait}.valo-select-value{display:grid;gap:2px;min-width:0}.valo-select-value strong{font-family:Space Grotesk,sans-serif;font-size:.95rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.valo-select-value small,.valo-select-option small{color:var(--muted);font-size:.78rem}.valo-select.open .valo-select-value small,.valo-select-trigger:hover:not(:disabled) .valo-select-value small{color:color-mix(in srgb,var(--accent-ink) 70%,var(--muted))}.valo-select-caret{color:var(--muted);font-size:.8rem;flex-shrink:0}.valo-select-menu{position:absolute;top:calc(100% + 8px);left:0;right:0;min-width:100%;max-height:320px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:6px;z-index:40}.valo-select-option{width:100%;display:block;border:0;background:transparent;border-radius:12px;padding:10px 12px;cursor:pointer;text-align:left;font:inherit;color:inherit}.valo-select-option span{display:grid;gap:2px}.valo-select-option strong{font-weight:650}.valo-select-option:hover,.valo-select-option.active{background:var(--accent-soft);color:var(--accent-ink)}.valo-select-option:hover small,.valo-select-option.active small{color:color-mix(in srgb,var(--accent-ink) 70%,var(--muted))}.valo-toolbar-meta{display:flex;align-items:center;gap:10px;margin-left:auto}.valo-stat-pills{display:inline-flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}.valo-stat-pill{display:inline-grid;gap:1px;min-width:42px;padding:4px 7px;border-radius:10px;background:#0f172a0f;text-align:center;line-height:1.1}.valo-stat-pill em{font-style:normal;font-size:.62rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:700}.valo-stat-pill strong{font-family:Space Grotesk,sans-serif;font-size:.82rem;font-weight:700}.valo-map-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.valo-map-tile{display:grid;gap:4px;align-content:end;min-height:72px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#94a3b81a;background-size:cover;background-position:center;color:#f8fafc;text-align:left;cursor:pointer;font:inherit}.valo-map-tile strong{font-family:Space Grotesk,sans-serif}.valo-map-tile span{font-size:.78rem;opacity:.88}.valo-map-tile.good{box-shadow:inset 0 0 0 1px #14b8a673}.valo-map-tile.bad{box-shadow:inset 0 0 0 1px #f8717173}.valo-roster{display:grid;gap:10px}.valo-roster-card{border:1px solid var(--line);border-radius:16px;padding:12px;background:#ffffffb3;display:grid;gap:10px}.valo-roster-card.is-error{border-color:#f8717173;background:#fee2e259}.valo-roster-error{display:block;font-size:.78rem;color:#b91c1c;font-weight:650}.valo-roster-error-msg{margin:0;font-size:.82rem;color:#991b1b}.valo-roster-card>header{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.valo-roster-card>header strong{display:block}.valo-agent-rail{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:8px}.valo-agent-tile{display:flex;gap:8px;align-items:center;padding:8px;border-radius:12px;background:#94a3b81a;min-width:0}.valo-agent-tile img,.valo-agent-tile .valo-img-fallback{width:34px;height:34px;border-radius:8px;object-fit:cover;flex-shrink:0}.valo-agent-tile strong{display:block;font-size:.85rem;font-family:Space Grotesk,sans-serif}.valo-agent-tile span{display:block;font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.valo-map-head-stats{display:inline-flex;align-items:center;gap:10px;font-size:.85rem}.valo-wr-badge{display:inline-flex;padding:4px 10px;border-radius:999px;background:#ffffff29;font-weight:800;font-family:Space Grotesk,sans-serif}.valo-wr-badge.good{background:#14b8a659}.valo-wr-badge.bad{background:#f8717159}.valo-summary-hero{margin-bottom:14px}.valo-summary-hero h2{margin:0;font-family:Space Grotesk,sans-serif;font-size:1.35rem}.valo-summary-hero p{margin:4px 0 0}.valo-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:24px}.valo-summary-wide{grid-column:1 / -1}.valo-panel h3{margin:0 0 12px;font-family:Space Grotesk,sans-serif;font-size:1rem}.valo-panel-hint{margin:-6px 0 14px;font-size:.85rem}.valo-map-rank{list-style:none;margin:0;padding:0;display:grid;gap:10px}.valo-map-rank-item{display:grid;grid-template-columns:36px 88px 1fr auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;background:#94a3b80d}.valo-map-rank-pos{font-family:Space Grotesk,sans-serif;font-weight:800;color:var(--accent-ink);text-align:center}.valo-map-rank-art{width:88px;height:48px;object-fit:cover;border-radius:10px;display:block;background:#0f172a14}.valo-map-rank-art.placeholder{display:block}.valo-map-rank-meta{display:grid;gap:4px;min-width:0}.valo-map-rank-meta strong{font-family:Space Grotesk,sans-serif}.valo-map-rank-meta span{font-size:.82rem;color:var(--muted)}.valo-map-rank-best{white-space:normal}.valo-map-rank-agent{width:40px;height:40px;border-radius:10px;object-fit:cover}.valo-map-rank-badge{display:inline-block;margin-bottom:4px;padding:2px 8px;border-radius:999px;background:#ffffff29;font-size:.75rem;font-weight:800}.valo-summary-map-head:not(.has-art) .valo-map-rank-badge{background:var(--accent-soft);color:var(--accent-ink)}.valo-bars{list-style:none;margin:0;padding:0;display:grid;gap:10px}.valo-bars-head{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:.88rem;margin-bottom:5px}.valo-bars-who{display:inline-flex;align-items:center;gap:8px;min-width:0}.valo-bars-track{height:10px;border-radius:999px;background:#94a3b82e;overflow:hidden}.valo-bars-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#0f766e,#14b8a6);min-width:4px;transition:width .35s ease}.valo-chip-row{display:inline-flex;flex-wrap:wrap;gap:6px}.valo-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;background:#94a3b81f;font-size:.78rem;white-space:nowrap}.valo-chip img{width:16px;height:16px;border-radius:4px;object-fit:cover}.valo-summary-maps,.valo-summary-agents{display:grid;gap:14px}.valo-summary-map,.valo-summary-agent{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#94a3b80a;padding:0 0 12px}.valo-summary-map-head{display:flex;justify-content:space-between;align-items:end;gap:12px;width:100%;border:0;padding:16px;min-height:72px;background:#94a3b81a;background-size:cover;background-position:center;color:var(--ink);margin:0;cursor:pointer;font:inherit;text-align:left}.valo-summary-map-head.has-art{color:#f8fafc}.valo-summary-map-head h3{margin:0;color:inherit}.valo-summary-map-head span{opacity:.85;font-size:.85rem}.valo-summary-map .valo-bars,.valo-summary-agent .valo-bars{padding:0 12px}.valo-summary-agent header{display:flex;gap:12px;align-items:center;padding:14px 12px 8px}.valo-summary-agent h3{margin:0}.valo-summary-agent-notes{list-style:none;margin:12px 12px 0;padding:10px 12px;border-top:1px solid var(--line);display:grid;gap:6px;font-size:.82rem;color:var(--muted)}.valo-summary-agent-notes strong{color:var(--ink)}.valo-rank-inline{display:inline-flex;align-items:center;gap:6px;font-size:.85rem}.valo-rank-inline img{width:22px;height:22px;object-fit:contain}.valo-link-btn{border:0;background:transparent;color:var(--accent-ink);font:inherit;font-size:.82rem;font-weight:650;cursor:pointer;padding:6px 0 0}.valo-insight-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.valo-insight-list li{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:#94a3b814}.valo-insight-list span{color:var(--muted);font-size:.85rem}.valo-map-body{padding:14px 12px 12px;display:grid;gap:16px}.valo-map-players{display:grid;gap:10px}.valo-map-player-card{border:1px solid var(--line);border-radius:14px;padding:12px;background:#ffffffa6}.valo-map-player-head{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin-bottom:10px}.valo-map-player-head strong{display:block}.valo-map-player-stats{font-size:.85rem;color:var(--muted);white-space:nowrap}.valo-map-player-card .valo-agent-rail{margin-top:2px}.valo-chip em{font-style:normal;opacity:.65;margin-left:4px;font-size:.72rem}.valo-agent-player-rows{list-style:none;margin:0;padding:0 12px 12px;display:grid;gap:8px}.valo-agent-player-rows li{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:.88rem}.valo-pick{border:1px solid var(--line);border-radius:16px;padding:14px;background:linear-gradient(160deg,#0f766e14,#94a3b80d);display:grid;gap:12px}.valo-pick-toolbar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}.valo-pick-title{display:flex;align-items:center;gap:8px}.valo-pick-toolbar h4{margin:0;font-family:Space Grotesk,sans-serif}.valo-rec-badge{display:inline-flex;padding:3px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.valo-pick-actions{display:flex;flex-wrap:wrap;gap:8px}.valo-pick-criteria{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.valo-role-chip{display:inline-flex;padding:4px 8px;border-radius:999px;background:#94a3b824;color:var(--muted);font-size:.75rem;font-weight:650}.valo-role-chip.ok{background:var(--accent-soft);color:var(--accent-ink)}.valo-pick-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.valo-pick-stats>div{background:#ffffffd1;border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:grid;gap:4px}.valo-pick-stats span{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;font-weight:700}.valo-pick-stats strong{font-family:Space Grotesk,sans-serif;font-size:1.05rem}.valo-pick-stats strong small{font-size:.78rem;color:var(--muted);font-weight:650}.valo-pick-slots{list-style:none;margin:0;padding:0;display:grid;gap:10px}.valo-pick-slot{display:grid;grid-template-columns:1fr 1.35fr 1.35fr;gap:12px;align-items:start;background:#ffffffe0;border:1px solid var(--line);border-radius:14px;padding:12px}.valo-pick-player{display:flex;gap:10px;align-items:center}.valo-pick-rank{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:.8rem}.valo-pick-rank img{width:18px;height:18px;object-fit:contain}.valo-pick-agent{display:flex;gap:10px;align-items:center}.valo-agent-picker{display:grid;gap:8px;min-width:0;width:100%}.valo-agent-picker-trigger{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.valo-agent-picker-trigger:hover,.valo-agent-picker.is-open .valo-agent-picker-trigger{border-color:var(--accent-ink)}.valo-agent-picker-trigger img,.valo-agent-picker-trigger .valo-img-fallback{width:40px;height:40px;border-radius:10px;object-fit:cover}.valo-agent-picker-label{display:grid;gap:2px;min-width:0}.valo-agent-picker-label strong{font-family:Space Grotesk,sans-serif;font-size:.95rem}.valo-agent-picker-label em{font-style:normal;font-size:.72rem;color:var(--muted)}.valo-agent-picker-caret{color:var(--muted);font-size:.85rem}.valo-agent-picker-pop{position:relative;width:100%;max-width:100%;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff;display:grid;grid-template-rows:auto minmax(0,220px);gap:10px;overflow:hidden}.valo-agent-picker-roles{display:flex;flex-wrap:wrap;gap:6px;position:static;z-index:auto;background:#fff;flex-shrink:0}.valo-agent-picker-scroll{min-height:0;overflow:auto;padding-right:2px}.valo-agent-picker-roles button{border:0;border-radius:999px;padding:5px 10px;font:inherit;font-size:.72rem;font-weight:700;background:#94a3b824;color:var(--muted);cursor:pointer}.valo-agent-picker-roles button.active{background:var(--accent-soft);color:var(--accent-ink)}.valo-agent-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px}.valo-agent-pick-tile{display:grid;grid-template-columns:32px 1fr;gap:7px;align-items:center;padding:7px;border:1px solid transparent;border-radius:12px;background:#94a3b814;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.valo-agent-pick-tile img,.valo-agent-pick-tile .valo-img-fallback{width:32px;height:32px;border-radius:8px;object-fit:cover}.valo-agent-pick-meta{display:grid;gap:1px;min-width:0}.valo-agent-pick-meta strong{font-size:.78rem;font-family:Space Grotesk,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.valo-agent-pick-meta em{font-style:normal;font-size:.68rem;color:var(--muted);white-space:nowrap}.valo-agent-pick-tile.played{background:#0f766e14}.valo-agent-pick-tile.selected{border-color:var(--accent-ink);background:var(--accent-soft)}.valo-agent-pick-tile.taken{opacity:.4;cursor:not-allowed}.valo-agent-pick-tile:not(:disabled):hover{border-color:#0f766e73}.valo-pick-meta{display:grid;gap:8px;justify-items:start}.valo-pick-notes{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.valo-pick-notes li{padding:5px 10px;border-radius:999px;background:#0f172a0f;font-size:.75rem;color:var(--muted)}.valo-slot-reason{display:block;margin-top:2px;font-size:.72rem;color:var(--muted)}.valo-save-msg{font-size:.8rem;color:var(--muted);align-self:center}.valo-save-msg a{color:var(--accent-ink);font-weight:650}.valo-saved-pools{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.valo-saved-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#ffffffb8;display:grid}.valo-saved-card>header{display:flex;justify-content:space-between;align-items:end;gap:10px;padding:14px;min-height:84px;background:#94a3b81f;background-size:cover;background-position:center}.valo-saved-card>header.has-art{color:#f8fafc}.valo-saved-card>header h3{margin:0 0 4px;font-family:Space Grotesk,sans-serif}.valo-saved-card>header span{font-size:.8rem;opacity:.88}.valo-saved-head-meta{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;white-space:nowrap}.valo-saved-team-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;padding:10px 12px;border-bottom:1px solid var(--line)}@media(max-width:700px){.valo-saved-team-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}.valo-saved-team-stats span{display:grid;gap:2px;text-align:center;font-family:Space Grotesk,sans-serif;font-size:.88rem}.valo-saved-team-stats em{font-style:normal;font-size:.65rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:700}.valo-saved-slots{list-style:none;margin:0;padding:10px 12px;display:grid;gap:8px}.valo-saved-slots li{display:grid;grid-template-columns:26px 26px 1fr;gap:8px;align-items:center}.valo-saved-agent{width:26px;height:26px;border-radius:7px;object-fit:cover}.valo-saved-slot-text{min-width:0}.valo-saved-slot-text strong{display:flex;gap:6px;align-items:baseline;font-size:.85rem}.valo-saved-slot-text strong em{font-style:normal;font-size:.7rem;color:var(--muted);font-weight:650}.valo-saved-slot-text span{display:block;font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.valo-saved-notes{list-style:none;margin:0;padding:0 12px 10px;display:grid;gap:4px}.valo-saved-notes li{font-size:.74rem;color:var(--muted)}.valo-saved-card>footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px 12px;border-top:1px solid var(--line)}@media(max-width:900px){.valo-pick-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.valo-pick-slot{grid-template-columns:1fr}.valo-agent-picker-pop{grid-template-rows:auto minmax(0,180px)}.valo-map-player-head{grid-template-columns:auto 1fr}.valo-map-player-stats,.valo-map-player-head .valo-stat-pills,.valo-roster-card>header .valo-stat-pills{grid-column:1 / -1;justify-content:flex-start}.valo-roster-card>header{grid-template-columns:auto 1fr}}.valo-hero{display:grid;gap:16px;background:var(--panel);background-size:cover;background-position:center;border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:16px;box-shadow:0 1px 2px #0f172a0a;overflow:hidden}.valo-hero[style*=background-image]{color:#f8fafc}.valo-hero[style*=background-image] .valo-stat{background:#ffffff1a}.valo-hero[style*=background-image] .valo-stat span{color:#f8fafcb3}.valo-hero-sub{margin:4px 0 0;color:#f8fafcb8}.valo-hero-main{display:flex;gap:14px;align-items:center}.valo-hero-main h2{margin:0;font-family:Space Grotesk,sans-serif;font-size:1.35rem}.valo-hero-main p{margin:4px 0 0}.valo-rank{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.valo-rank-img{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}.valo-rank-text{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline}.valo-rank span{color:var(--muted);font-size:.85rem}.valo-rank strong{font-family:Space Grotesk,sans-serif;font-size:1.2rem}.valo-stats-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.valo-stat{display:grid;gap:4px;padding:10px 12px;background:#94a3b814;border-radius:12px}.valo-stat span{color:var(--muted);font-size:.75rem}.valo-stat strong{font-family:Space Grotesk,sans-serif;font-size:1.05rem}.valo-tabs{display:flex;gap:6px;margin-bottom:12px}.valo-tabs button{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:8px 14px;font:inherit;font-weight:600;color:var(--muted);cursor:pointer}.valo-tabs button.active{color:var(--accent-ink);background:var(--accent-soft);border-color:transparent}.valo-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:24px}.valo-cards{display:grid;gap:12px}.valo-map-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#94a3b80a}.valo-map-card-head{width:100%;display:grid;grid-template-columns:120px 1fr auto;gap:12px;align-items:center;padding:0;border:0;background:transparent;text-align:left;cursor:pointer;font:inherit;color:inherit}.valo-map-img{width:120px;height:64px;object-fit:cover;display:block;background:#0f172a14}.valo-map-card-meta{display:grid;gap:4px;padding:8px 0}.valo-map-card-meta strong{font-family:Space Grotesk,sans-serif}.valo-map-card-meta span,.valo-agent-list span{color:var(--muted);font-size:.85rem}.valo-map-card-head .valo-expand-hint{padding-right:14px;margin:0}.valo-agent-list{list-style:none;margin:0;padding:8px 12px 12px;display:grid;gap:8px;border-top:1px solid var(--line)}.valo-agent-list li{display:flex;gap:10px;align-items:center}.valo-agent-list li div{display:grid;gap:2px}.valo-agent-img{width:28px;height:28px;border-radius:8px;object-fit:cover;background:#0f172a14;flex-shrink:0}.valo-img-fallback{display:inline-block;border-radius:8px;background:#94a3b833;flex-shrink:0}.valo-cell-media{display:inline-flex;align-items:center;gap:10px}.valo-table-wrap{overflow-x:auto}.valo-table{width:100%;border-collapse:collapse;font-size:.92rem}.valo-table th,.valo-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.valo-table th{color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.valo-row-click{cursor:pointer}.valo-row-click:hover{background:#94a3b814}.valo-expand-hint{display:inline-block;margin-left:8px;color:var(--muted);font-size:.78rem;font-weight:500}.valo-subrow td{color:var(--muted);background:#94a3b80d}.valo-subrow td:first-child{padding-left:28px}.valo-recent{list-style:none;margin:0;padding:0;display:grid;gap:8px}.valo-recent li{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;background:#94a3b80f}.valo-recent-body{flex:1;min-width:0}.valo-recent strong{display:block}.valo-recent p{margin:2px 0 0}.valo-recent-map{width:88px;height:48px;object-fit:cover;border-radius:8px;flex-shrink:0}.valo-badge{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:800;font-size:.85rem;flex-shrink:0}.valo-badge.win{background:#22c55e26;color:#15803d}.valo-badge.loss{background:#ef44441f;color:#b91c1c}.settings-form select{width:100%;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff;font:inherit}@media(max-width:720px){.app-frame{padding-left:64px}.side-nav{width:64px}.side-nav:hover,.side-nav:focus-within{width:200px}.side-nav-inner{width:200px}.boards-heading{align-items:stretch}.boards-heading .btn{width:100%}.toolbar-float{bottom:12px;border-radius:16px;gap:8px}.width-control input[type=range]{width:70px}.boards-toolbar{align-items:stretch}.boards-toolbar .btn,.author-filter,.author-filter-trigger,.author-filter-menu{width:100%}.board-card:focus-within .board-card-actions{opacity:1;pointer-events:auto}.valo-toolbar{align-items:stretch}.valo-select{width:100%;min-width:0}.valo-summary-grid{grid-template-columns:1fr}.valo-map-rank-item{grid-template-columns:28px 72px 1fr}.valo-map-rank-agent{display:none}.valo-stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}.valo-map-card-head{grid-template-columns:96px 1fr auto}.valo-map-img{width:96px;height:56px}.valo-recent-map{display:none}}.audit-toolbar{flex-wrap:wrap;gap:10px}.audit-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-left:auto}.audit-filters select,.audit-search input{border:1px solid var(--line);border-radius:10px;padding:8px 10px;font:inherit;background:#fff;color:var(--ink)}.audit-search{display:flex;gap:6px;align-items:center}.audit-count{margin:0 0 10px}.audit-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.audit-row{border:1px solid var(--line);border-radius:12px;background:#ffffffbf;overflow:hidden}.audit-row.tone-danger{border-color:#f8717173}.audit-row.tone-warn{border-color:#f59e0b66}.audit-row.tone-ok{border-color:#14b8a659}.audit-row-main{display:grid;grid-template-columns:140px 110px 90px 1fr auto;gap:10px;align-items:center;width:100%;padding:10px 12px;border:0;background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer}.audit-when{font-size:.78rem;color:var(--muted);white-space:nowrap}.audit-user{font-weight:700;font-family:Space Grotesk,sans-serif}.audit-section{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.audit-summary{font-size:.9rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-caret{color:var(--muted)}.audit-details{padding:10px 12px 12px;display:grid;gap:4px;font-size:.82rem;color:var(--muted);border-top:1px dashed var(--line);margin:0 12px 10px}.audit-details em{font-style:normal;font-weight:700;color:var(--ink);margin-right:6px}.audit-details code{font-size:.78rem}@media(max-width:900px){.audit-row-main{grid-template-columns:1fr auto;gap:6px}.audit-when,.audit-section{grid-column:1 / -1}.audit-summary{white-space:normal}}
