:root{color:#f3f3f0;background:radial-gradient(circle at 14% 18%,#46465257,#0000 24%),radial-gradient(circle at 82% 14%,#2e344447,#0000 26%),linear-gradient(#101115 0%,#090a0d 100%);font-family:Avenir Next,Helvetica Neue,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh}button{font:inherit}a{color:inherit}button:disabled{cursor:not-allowed;opacity:.5}.app-shell{min-height:100vh;position:relative;overflow:hidden}.app-shell--login{place-items:center;padding:24px;display:grid}.app-shell:before{content:"";opacity:.42;pointer-events:none;background:linear-gradient(0deg,#0000 0 calc(100% - 1px),#ffffff07 calc(100% - 1px)) 0 0/100% 26px,linear-gradient(90deg,#0000 0 calc(100% - 1px),#ffffff06 calc(100% - 1px)) 0 0/26px 100%;position:absolute;inset:0}.toolbar{z-index:1000;position:fixed;top:auto;bottom:18px;right:18px}.toolbar__actions{opacity:.34;align-items:flex-start;gap:6px;transition:opacity .18s;display:flex}.toolbar:hover .toolbar__actions,.toolbar:focus-within .toolbar__actions{opacity:1}.toolbar__button,.boards-menu__action,.boards-menu__board,.boards-menu__delete{color:#f5f5f1b8;cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:0;transition:border-color .14s,color .14s,background .14s}.toolbar__button{letter-spacing:.08em;text-transform:uppercase;min-width:0;padding:7px 10px;font-size:.75rem}.toolbar__button:hover,.boards-menu__action:hover,.boards-menu__board:hover,.boards-menu__delete:hover{color:#fffff1f0;border-color:#ffffff5c}.toolbar__button.is-active{color:#fff;background:#ffffff14;border-color:#ffffff6b}.boards-menu-anchor{position:relative}.boards-menu{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a0b0fdb;border:1px solid #ffffff24;min-width:238px;padding:10px;position:absolute;top:auto;bottom:calc(100% + 8px);right:0;box-shadow:0 18px 42px #0006}.share-menu{min-width:260px}.boards-menu__header{border-bottom:1px solid #ffffff14;gap:4px;margin-bottom:10px;padding-bottom:10px;display:grid}.boards-menu__eyebrow{color:#ffffff6b;letter-spacing:.12em;text-transform:uppercase;font-size:.65rem}.boards-menu__header strong{font-size:.92rem;font-weight:600}.boards-menu__title-input{color:#fffffff5;font:inherit;background:0 0;border:1px solid #0000;width:calc(100% + 12px);min-width:0;margin:-4px -6px;padding:4px 6px;font-size:.92rem;font-weight:600}.boards-menu__title-input:hover,.boards-menu__title-input:focus{border-color:#ffffff29;outline:none}.boards-menu__title-input::placeholder{color:#fff6}.boards-menu__actions{gap:6px;margin-bottom:10px;display:grid}.boards-menu__action{letter-spacing:.08em;text-align:left;text-transform:uppercase;padding:7px 8px;font-size:.72rem}.boards-menu__list{gap:6px;max-height:280px;padding-right:2px;display:grid;overflow-y:auto}.boards-menu__row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:6px;display:grid}.boards-menu__row.is-active .boards-menu__board{color:#fff;background:#ffffff14;border-color:#ffffff57}.boards-menu__board{text-align:left;align-items:flex-start;gap:4px;padding:8px 9px;display:grid}.boards-menu__board span{font-size:.84rem}.boards-menu__board small{color:#ffffff75;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem}.boards-menu__delete{min-width:34px;padding:0;font-size:.95rem;line-height:1}.share-menu__url{color:#ffffff9e;overflow-wrap:anywhere;border:1px solid #ffffff14;margin:0 0 10px;padding:8px;font-size:.72rem;line-height:1.45}.login-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#08090cc7;border:1px solid #ffffff1f;gap:18px;width:min(100%,460px);max-width:460px;padding:24px;display:grid;box-shadow:0 22px 48px #00000052}.login-panel__copy{gap:8px;display:grid}.login-panel__eyebrow{color:#ffffff6b;letter-spacing:.16em;text-transform:uppercase;font-size:.72rem}.login-panel__copy h1,.login-panel__copy p{margin:0}.login-panel__copy h1{letter-spacing:-.02em;font-size:clamp(1.4rem,4vw,2rem);font-weight:600}.login-panel__copy p{color:#ffffffa3;line-height:1.5}.login-form{gap:10px;display:grid}.login-form__label{color:#ffffffa3;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.login-form__input,.login-form__button{color:#ffffffe6;font:inherit;background:0 0;border:1px solid #ffffff24;border-radius:0;padding:11px 12px}.login-form__input::placeholder{color:#ffffff57}.login-form__button{cursor:pointer;letter-spacing:.08em;text-transform:uppercase;transition:border-color .14s,color .14s,background .14s}.login-form__button:hover{background:#ffffff0f;border-color:#ffffff47}.login-panel__note{color:#fff9;gap:6px;line-height:1.5;display:grid}.login-panel__note strong{color:#ffffffe0;font-weight:600}.login-panel__link{color:#ffffffe0;text-decoration-color:#ffffff61}.login-panel__status{margin:0;padding-top:2px}.login-panel__status.is-error{color:#ffa5a5f0}.board-surface{-webkit-user-select:none;user-select:none;width:100vw;height:100vh;position:relative;overflow:hidden}.board-surface.is-dragging{cursor:copy}.board-surface.is-readonly{cursor:default}.board-item{cursor:grab;touch-action:none;transform-origin:50%;background:#f5f5f3fa;border-radius:0;position:absolute;overflow:visible;box-shadow:0 16px 36px #00000061,0 3px 10px #0000004d}.board-item.is-selected{box-shadow:0 0 0 1px #fffc,0 20px 42px #00000075,0 5px 14px #0000005c}.board-item:active{cursor:grabbing}.board-item__image,.board-item__missing{object-fit:cover;border-radius:0;width:100%;height:100%;display:block;position:absolute;inset:0}.board-item__missing{color:#1b1c20;text-align:center;background:linear-gradient(135deg,#ffffff0f,#ffffff05),repeating-linear-gradient(-45deg,#ffffff0f 0 10px,#0000 10px 20px);align-content:center;justify-items:center;padding:12px;font-weight:700;display:grid}.board-item__missing small{opacity:.76;margin-top:6px;font-size:.72rem;font-weight:500;display:block}.item-control{color:#111216;cursor:pointer;background:#f5f5f3f5;border:1px solid #ffffff80;border-radius:999px;width:14px;height:14px;padding:0;display:block;position:absolute;box-shadow:0 6px 16px #00000059}.item-control--delete{justify-content:center;align-items:center;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex;top:-8px;right:-8px}.item-control--rotate{top:-22px;left:50%;transform:translate(-50%)}.item-control--rotate:after{content:"";background:#ffffff42;width:1px;height:12px;position:absolute;top:13px;left:50%;transform:translate(-50%)}.item-control--resize{background:#fff;bottom:-8px;right:-8px}.empty-state{color:#ffffff6b;letter-spacing:.08em;pointer-events:none;text-align:center;text-transform:uppercase;gap:4px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.empty-state p,.empty-state span{margin:0}.empty-state p{font-size:.72rem}.empty-state span{font-size:.78rem}.readonly-pill{color:#ffffffb8;letter-spacing:.12em;text-transform:uppercase;z-index:1000;background:#0a0b0fad;border:1px solid #ffffff1f;padding:7px 10px;font-size:.72rem;position:fixed;top:18px;left:18px}.drop-overlay{pointer-events:none;text-align:center;background:0 0;place-items:center;display:grid;position:absolute;inset:0}.drop-overlay strong{color:#fff;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:clamp(1.35rem,3vw,2rem);font-weight:600;display:block}.drop-overlay span{color:#ffffff85;letter-spacing:.06em;text-transform:uppercase;font-size:.8rem}.upload-panel{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:none;z-index:1080;background:#0a0b0fc7;border:1px solid #ffffff1f;gap:8px;max-width:min(360px,100vw - 36px);padding:10px;display:grid;position:fixed;bottom:18px;left:18px}.upload-panel__item{background:#ffffff08;border:1px solid #ffffff0f;gap:6px;padding:8px;display:grid}.upload-panel__item.is-done{border-color:#6dc08e42}.upload-panel__item.is-error{border-color:#ff626233}.upload-panel__header{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:8px;display:grid}.upload-panel__name{color:#ffffffdb;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.upload-panel__status{color:#ffffff8f;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem}.upload-panel__track{background:#ffffff14;height:5px;position:relative;overflow:hidden}.upload-panel__fill{background:#ffffffc7;height:100%;transition:width .12s linear,background .16s}.upload-panel__item.is-done .upload-panel__fill{background:#6dc08ee6}.upload-panel__item.is-error .upload-panel__fill{background:#ff6262eb}.upload-panel__error{color:#ffb1b1eb;font-size:.7rem;line-height:1.35;display:block}.status-pill{color:#ffffffe0;z-index:1100;background:#0a0b0fb8;border:1px solid #ffffff24;border-radius:0;max-width:min(520px,100vw - 36px);padding:8px 10px;position:fixed;top:18px;left:18px}.status-pill.is-error{background:#5f1212bd;border-color:#ff626242}.status-pill.is-warning{background:#62541db3;border-color:#ffdd7a3d}@media (width<=840px){.toolbar{top:auto;bottom:12px;right:12px}.toolbar__actions{gap:4px}.toolbar__button{padding:6px 8px;font-size:.7rem}.boards-menu{min-width:210px;right:0}.login-panel{padding:18px}.status-pill{max-width:calc(100vw - 24px);top:12px;left:12px}.upload-panel{max-width:calc(100vw - 24px);bottom:12px;left:12px}.readonly-pill{top:12px;left:12px}}
