:root{--bg: #1a2332;--bg-elev: #243044;--ink: #f2efe8;--muted: #9aa7b8;--accent: #3d9b8f;--accent-2: #e8a87c;--danger: #e06c75;--grid: rgba(255, 255, 255, .04);--shadow: 0 12px 40px rgba(0, 0, 0, .35);font-family:system-ui,-apple-system,Segoe UI,DM Sans,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html,body,#app{margin:0;height:100%;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen{height:100%;display:grid;place-items:center;padding:24px 16px;touch-action:manipulation;background:radial-gradient(ellipse at 20% 10%,rgba(61,155,143,.25),transparent 50%),radial-gradient(ellipse at 80% 90%,rgba(232,168,124,.18),transparent 45%),var(--bg)}.card{width:min(420px,calc(100vw - 32px));background:var(--bg-elev);border-radius:18px;padding:28px;box-shadow:var(--shadow)}.card h1{margin:0 0 8px;font-size:1.6rem;letter-spacing:-.02em}.card p{margin:0 0 20px;color:var(--muted);line-height:1.45}.card .btn{width:100%;min-height:44px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:10px;padding:10px 14px;background:var(--accent);color:#06221f;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.btn.secondary{background:transparent;color:var(--ink);border:1px solid rgba(255,255,255,.15)}.btn.danger{background:var(--danger);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible,.view-btn:focus-visible,.menu-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button,input,select,textarea{font:inherit}.gsi-material-button{-moz-user-select:none;-webkit-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#131314;background-image:none;border:1px solid #8e918f;border-radius:4px;box-sizing:border-box;color:#e3e3e3;cursor:pointer;font-family:Roboto,arial,sans-serif;font-size:14px;height:40px;letter-spacing:.25px;outline:none;overflow:hidden;padding:0 12px;position:relative;text-align:center;text-decoration:none;transition:background-color .218s,border-color .218s,box-shadow .218s;vertical-align:middle;white-space:nowrap;width:100%;max-width:400px;min-width:min-content;display:inline-flex}.gsi-material-button .gsi-material-button-icon{height:20px;margin-right:12px;min-width:20px;width:20px}.gsi-material-button .gsi-material-button-icon svg{display:block;height:20px;width:20px}.gsi-material-button .gsi-material-button-content-wrapper{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;height:100%;justify-content:space-between;position:relative;width:100%}.gsi-material-button .gsi-material-button-contents{flex-grow:1;font-family:Roboto,arial,sans-serif;font-weight:500;overflow:hidden;text-overflow:ellipsis;vertical-align:top;text-align:left}.gsi-material-button .gsi-material-button-state{transition:opacity .218s;bottom:0;left:0;opacity:0;position:absolute;right:0;top:0}.gsi-material-button:disabled{cursor:default;background-color:#13131461;border-color:#8e918f1f}.gsi-material-button:disabled .gsi-material-button-state{background-color:#e3e3e31f}.gsi-material-button:disabled .gsi-material-button-contents,.gsi-material-button:disabled .gsi-material-button-icon{opacity:.38}.gsi-material-button:not(:disabled):active .gsi-material-button-state,.gsi-material-button:not(:disabled):focus .gsi-material-button-state{background-color:#fff;opacity:.12}.gsi-material-button:not(:disabled):hover{box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.gsi-material-button:not(:disabled):hover .gsi-material-button-state{background-color:#fff;opacity:.08}.error{color:#ffb4b8;background:#e06c7526;border-radius:10px;padding:10px 12px;margin-bottom:16px;font-size:.92rem}.field{display:grid;gap:6px;margin-bottom:14px}.field label{font-size:.85rem;color:var(--muted)}.field input,.field select{border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#00000040;color:var(--ink);padding:10px 12px}.pictogram-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.pictogram-grid button{height:44px;border-radius:10px;border:1px solid transparent;background:#ffffff0d;font-size:1.35rem;cursor:pointer}.pictogram-grid button.selected{border-color:var(--accent);background:#3d9b8f33}.board-shell{position:relative;height:100%;display:grid;grid-template-rows:auto 1fr;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}.topbar{display:flex;flex-direction:column;background:#1a2332f0;border-bottom:1px solid rgba(255,255,255,.06);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20}.topbar-main{display:flex;align-items:center;gap:10px;padding:8px 12px;min-height:56px}.topbar .brand{font-weight:800;letter-spacing:-.04em;display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.brand-mark{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#3d9b8f59,#e8a87c38);border:1px solid rgba(255,255,255,.1);font-size:.85rem}.brand-text{font-size:1rem}.toolbar-desktop{display:inline-flex;align-items:center;gap:10px;margin-left:4px}.tool-group{display:inline-flex;align-items:center;gap:6px}.tool-divider{width:1px;height:24px;background:#ffffff1f}.chip-control{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:4px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:var(--muted);font-size:.82rem;cursor:pointer;-webkit-user-select:none;user-select:none}.chip-control input[type=color]{width:28px;height:24px;padding:0;border:0;background:transparent;cursor:pointer}.menu-toggle{display:none;margin-left:auto;min-height:44px;min-width:76px;touch-action:manipulation}.mobile-only{display:none!important}.desktop-only{display:inline-flex}.presence-strip.desktop-only{display:flex}.spacer{flex:1}.presence-strip{display:flex;gap:6px;align-items:center;max-width:min(280px,28vw);overflow-x:auto}.presence-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;background:#ffffff12;font-size:.78rem;white-space:nowrap}.presence-chip.me{background:#3d9b8f2e;border:1px solid rgba(61,155,143,.35)}.canvas-viewport{position:relative;overflow:hidden;cursor:grab;background-color:var(--board-bg, var(--bg));touch-action:none}.canvas-viewport.panning{cursor:grabbing}.view-controls{position:absolute;right:12px;bottom:12px;z-index:25;display:flex;gap:6px;padding:6px;border-radius:14px;background:#1a2332e0;border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);touch-action:manipulation}.view-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;min-height:40px;min-width:52px;padding:0 12px;border-radius:10px;background:#ffffff0f;color:var(--ink);font-weight:600;font-size:.85rem;cursor:pointer}.view-btn:hover{background:#3d9b8f40}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;background:#00000073;touch-action:manipulation}.tools-sheet{position:fixed;left:0;right:0;bottom:0;z-index:46;max-height:min(86vh,720px);overflow:auto;background:#1c2636;border-radius:20px 20px 0 0;border:1px solid rgba(255,255,255,.08);border-bottom:0;padding:10px 16px calc(18px + env(safe-area-inset-bottom));transform:translateY(110%);transition:transform .28s ease;touch-action:manipulation;pointer-events:none}body.sheet-open .tools-sheet{transform:translateY(0);pointer-events:auto}.sheet-grab{width:42px;height:4px;border-radius:999px;background:#fff3;margin:4px auto 12px}.sheet-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.sheet-header h2{margin:0;font-size:1.15rem}.sheet-section{margin-top:14px}.sheet-section h3{margin:0 0 8px;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}.sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sheet-grid .touch-btn:last-child:nth-child(odd){grid-column:1 / -1}.sheet-user{display:grid;gap:10px}.touch-btn{min-height:48px;border-radius:12px;font-size:1rem;touch-action:manipulation}.touch-label{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:var(--muted);font-size:1rem;cursor:pointer;-webkit-user-select:none;user-select:none}.touch-label input[type=checkbox]{width:22px;height:22px}.touch-label input[type=color]{width:44px;height:36px;padding:2px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;margin-left:auto}.topbar .board-switcher{display:inline-flex;align-items:center;min-width:0;flex:0 1 220px}.topbar .board-switcher select{width:100%;min-width:140px;max-width:240px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#00000040;color:var(--ink);padding:8px 10px;font-size:.9rem}@media(max-width:960px){.menu-toggle{display:inline-flex}.desktop-only{display:none!important}.mobile-only{display:flex!important}.toolbar-desktop{display:none!important}.topbar .brand{gap:0}.brand-mark{width:34px;height:34px;font-size:.8rem}.topbar .board-switcher{flex:1}.topbar .board-switcher select{max-width:none;min-height:44px;font-size:1rem}.view-controls{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));justify-content:space-between}.view-btn{flex:1;min-height:48px;font-size:.95rem}.postit-edit-btn{opacity:1;width:40px;height:40px;font-size:1.1rem}.resize-handle,.postit-check{width:22px;height:22px}.modal-backdrop{align-items:end;padding:0}.modal-card,.modal-card-wide{width:100%;max-width:none;border-radius:18px 18px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom));max-height:min(92vh,900px);overflow:auto}.modal-actions{flex-wrap:wrap;gap:10px}.modal-actions .btn{min-height:48px;flex:1 1 120px}.postit-editor-toolbar button,.postit-editor-toolbar select{min-height:44px}.note-swatch{width:32px;height:32px}.pictogram-grid{grid-template-columns:repeat(4,1fr)}.pictogram-grid button{height:52px}}@media(min-width:961px){.tools-sheet,.sheet-backdrop{display:none!important}}.canvas-world{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0;will-change:transform}.canvas-grid{position:absolute;left:-50000px;top:-50000px;width:100000px;height:100000px;pointer-events:none;z-index:0;background-image:linear-gradient(var(--grid, rgba(255, 255, 255, .12)) 1px,transparent 1px),linear-gradient(90deg,var(--grid, rgba(255, 255, 255, .12)) 1px,transparent 1px);background-size:128px 128px}.canvas-grid.hidden{display:none}.board-object{position:absolute;-webkit-user-select:none;user-select:none;touch-action:none;z-index:1}.board-object.selected{outline:2px solid var(--accent);outline-offset:2px;z-index:9999!important}.postit{border-radius:4px;box-shadow:0 8px 24px #00000040;display:flex;flex-direction:column;overflow:hidden;min-width:120px;min-height:120px;position:relative}.postit-edit-btn{position:absolute;top:6px;right:6px;z-index:2;width:28px;height:28px;border:0;border-radius:8px;background:#0003;color:inherit;cursor:pointer;opacity:0;transition:opacity .15s ease}.postit:hover .postit-edit-btn,.board-object.selected .postit-edit-btn{opacity:1}.postit-body{flex:1;padding:10px 12px;overflow:hidden;outline:none;word-break:break-word;line-height:1.25;cursor:grab}.postit-body ul{margin:0;padding-left:1.1em}.postit-checklist{list-style:none;padding-left:0;margin:.2em 0}.postit-checklist li{display:flex;align-items:flex-start;gap:8px;margin:.2em 0}.postit-check{flex:0 0 auto;width:16px;height:16px;margin-top:2px;border:2px solid currentColor;border-radius:4px;display:inline-grid;place-items:center;cursor:pointer;background:transparent;box-sizing:border-box}.postit-checklist li.checked .postit-check,.postit-checklist li[data-checked=true] .postit-check{background:currentColor}.postit-checklist li.checked .postit-check:after,.postit-checklist li[data-checked=true] .postit-check:after{content:"";width:8px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}.postit-checklist li.checked .postit-check-text,.postit-checklist li[data-checked=true] .postit-check-text{text-decoration:line-through;opacity:.7}.postit-check-text{flex:1;min-width:0}.postit-editor-toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:10px}.postit-editor-toolbar button,.postit-editor-toolbar select{border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:inherit;border-radius:8px;min-height:32px;padding:0 10px;cursor:pointer}.postit-editor-body{min-height:160px;max-height:50vh;overflow:auto;border-radius:10px;padding:12px;margin-bottom:12px;outline:none}.postit-editor-body .postit-checklist{padding-left:0}.image-obj img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;border-radius:8px;background:#0003}.board-link-obj{border-radius:14px;background:linear-gradient(145deg,#2f4058,#1e2a3c);border:1px solid rgba(255,255,255,.14);padding:14px 14px 12px;color:var(--ink);display:flex;flex-direction:column;gap:4px;cursor:pointer;box-shadow:var(--shadow);justify-content:center}.board-link-obj:hover{border-color:var(--accent);background:linear-gradient(145deg,#35506a,#223348)}.board-link-obj .board-link-icon{font-size:1.2rem;color:var(--accent-2);line-height:1}.board-link-obj .label{font-weight:700;font-size:1rem}.board-link-obj .target{font-size:.78rem;color:var(--muted)}.topbar .board-switcher select{min-width:160px;max-width:220px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#00000040;color:var(--ink);padding:6px 8px;font-size:.9rem}.modal-card{width:min(420px,calc(100vw - 32px));background:var(--bg-elev);border-radius:16px;padding:22px;box-shadow:var(--shadow);touch-action:manipulation}.modal-card-wide{width:min(640px,calc(100vw - 32px))}.modal-card h2{margin:0 0 8px;font-size:1.25rem}.modal-card p{margin:0 0 16px;color:var(--muted);line-height:1.4}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.modal-card select{width:100%;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#00000040;color:var(--ink);padding:10px 12px}.resize-handle{position:absolute;right:2px;bottom:2px;width:14px;height:14px;border-radius:3px;background:#00000059;cursor:nwse-resize}.cursor-layer{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:40}.cursor-remote{position:absolute;pointer-events:none;z-index:40;transform:translate(-50%,-50%);transition:left 60ms linear,top 60ms linear;display:flex;flex-direction:column;align-items:center;gap:4px;width:40px}.cursor-remote .cursor-orb{position:relative;width:40px;height:40px;pointer-events:none}.cursor-remote .cursor-picto{pointer-events:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid rgba(255,255,255,.9);background:#0000008c;border-radius:999px;width:40px;height:40px;font-size:1.2rem;line-height:1;cursor:pointer;box-shadow:0 4px 14px #00000059;position:relative;z-index:1}.cursor-remote .cursor-arrow{position:absolute;left:50%;top:50%;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:12px solid rgba(255,255,255,.95);filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));z-index:2;pointer-events:none;will-change:transform}.cursor-remote.edge .cursor-picto{border-color:var(--accent-2)}.cursor-remote.edge .cursor-arrow{border-bottom-color:var(--accent-2)}.cursor-remote .badge{pointer-events:none;display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:6px;background:#000000a6;font-size:.72rem;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}.format-bar{position:absolute;left:50%;bottom:18px;transform:translate(-50%);display:none;gap:6px;align-items:center;padding:8px;border-radius:12px;background:#243044f2;border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow);z-index:30}.format-bar.visible{display:flex;flex-wrap:wrap;max-width:calc(100vw - 24px);justify-content:center}.format-bar button,.format-bar select,.format-bar input[type=color]{height:32px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:var(--ink);padding:0 8px;cursor:pointer}.format-bar input[type=color]{width:36px;padding:2px}.note-palette{display:inline-flex;gap:4px;align-items:center}.note-swatch{width:22px;height:22px;border-radius:6px;border:2px solid rgba(0,0,0,.25);padding:0;cursor:pointer}.note-swatch.selected{outline:2px solid var(--accent);outline-offset:1px;border-color:#00000073}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:grid;place-items:center;z-index:50}.hidden{display:none!important}.status-dot{width:8px;height:8px;border-radius:50%;background:#666}.status-dot.online{background:#5bd6a2}.status-dot.offline{background:var(--danger)}.pres-design-bar,.pres-design-bar.desktop-only{display:none!important;align-items:center;gap:8px;padding:0 12px 10px;flex-wrap:wrap}body.pres-design .pres-design-bar.desktop-only{display:flex!important}.pres-count{font-size:.82rem;color:var(--muted)}.btn.active,.btn.secondary.active{border-color:var(--accent);background:#3d9b8f33;color:var(--ink)}.presentation-layer{position:absolute;left:0;top:0;width:0;height:0;overflow:visible;pointer-events:none;z-index:5}.presentation-layer.interactive{pointer-events:auto}.presentation-layer[hidden],.pres-show-controls[hidden],.pres-follow-chip[hidden],.pres-design-bar[hidden],#pres-design-sheet[hidden]{display:none!important}.pres-svg{overflow:visible;position:absolute;left:0;top:0;pointer-events:none}.pres-slide{pointer-events:auto;cursor:move}.pres-frame{fill:#3d9b8f0f;stroke:#5ac88c8c;stroke-width:2;vector-effect:non-scaling-stroke}.pres-slide.selected .pres-frame{fill:#3d9b8f24;stroke:#78e6a0f2;stroke-width:3}.pres-path{stroke:#5ac88c73;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}.pres-handle{fill:#78e6a0f2;stroke:#1a3228cc;stroke-width:1;cursor:nwse-resize;vector-effect:non-scaling-stroke}.pres-badge{pointer-events:none}.pres-badge rect{fill:#1a3228d9;stroke:#5ac88cb3;stroke-width:1}.pres-badge text{fill:#b8f5d0;font-size:12px;font-weight:700;font-family:system-ui,sans-serif}.pres-show-controls{position:absolute;left:50%;bottom:12px;transform:translate(-50%);z-index:26;display:flex;align-items:center;gap:8px;padding:8px;border-radius:14px;background:#1a2332eb;border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow);touch-action:manipulation}.pres-slide-label{min-width:64px;text-align:center;font-size:.9rem;font-weight:600;color:var(--ink)}.pres-follow-chip{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:26;padding:8px 14px;border-radius:999px;background:#3d9b8feb;color:#06221f;font-weight:700;font-size:.85rem;pointer-events:none}body.pres-show .view-controls{display:none!important}@media(max-width:960px){.pres-show-controls{left:12px;right:12px;transform:none;bottom:calc(12px + env(safe-area-inset-bottom));justify-content:space-between}.pres-show-controls .view-btn{flex:1;min-height:48px}}
