html,body{height:100%;margin:0}.boot,.board-error{font-family:sans-serif;margin:1.5rem}.board{height:100vh}.board-tools{display:flex;align-items:center;gap:.5rem}.shelf{position:relative}.shelf-backdrop{position:fixed;inset:0;z-index:10000;border:none;padding:0;background:transparent;cursor:default}.shelf-panel{position:fixed;z-index:10001;box-sizing:border-box;width:min(22rem,calc(100vw - 1.5rem));max-height:min(28rem,calc(100vh - 6rem));overflow:auto;padding:.85rem;border-radius:12px;background:#fff;color:#1e1e1e;box-shadow:0 0 0 1px #ececec,0 12px 32px #00000014;font-family:system-ui,sans-serif;display:grid;gap:.7rem}.shelf-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}.shelf-panel li{display:flex;gap:.25rem;align-items:center}.shelf-panel li>button:first-child,.shelf-panel li>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shelf-panel li.is-current>button:first-child{background:#e7e5ff}.shelf-head{display:flex;justify-content:space-between;align-items:center}.shelf-head button{border:none;background:transparent;font:inherit;cursor:pointer;color:#4a4a4a}.shelf-name,.shelf-import{display:grid;gap:.3rem;font-size:.75rem;letter-spacing:.02em}.shelf-panel input[type=text],.shelf-name input,.shelf-panel li button,.shelf-new,.shelf-signout{font:inherit;font-size:.9rem}.shelf-name input,.shelf-search,.shelf-panel select{padding:.45rem .55rem;border-radius:8px;border:1px solid #d0d0d0;font:inherit;font-size:.9rem}.shelf-new,.shelf-signout,.shelf-panel li button{border:none;background:#f1f0ef;border-radius:8px;padding:.4rem .55rem;cursor:pointer;text-align:left}.shelf-new{background:#6965db;color:#fff}.shelf-invite{display:flex;gap:.35rem}.shelf-invite input{flex:1;min-width:0;font:inherit;font-size:.85rem;padding:.4rem .5rem;border-radius:8px;border:1px solid #d0d0d0}.confirm-dialog{border:none;border-radius:12px;padding:1.25rem;width:min(22rem,calc(100vw - 2rem));box-shadow:0 0 0 1px #ececec,0 12px 32px #0000001f;font-family:system-ui,sans-serif;color:#1e1e1e}.confirm-dialog::backdrop{background:#1e1e1e59}.confirm-dialog p{margin:0 0 1rem}.confirm-dialog form{display:flex;justify-content:flex-end;gap:.5rem}.confirm-dialog button{font:inherit;border:none;border-radius:8px;padding:.45rem .75rem;background:#f1f0ef;cursor:pointer}.confirm-dialog .confirm-dialog-danger{background:#e03131;color:#fff}.share-dialog h2{margin:0 0 .75rem;font-size:1.05rem}.share-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:.4rem;align-items:center;margin-bottom:.55rem}.share-row code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;color:#4a4a4a}.share-dialog .shelf-invite{margin-bottom:.75rem}.login{min-height:100vh;display:grid;place-items:center;background:#f8f9fa;font-family:system-ui,sans-serif;color:#1e1e1e}.login-card{width:min(22rem,calc(100% - 2rem));background:#fff;border-radius:12px;box-shadow:0 0 0 1px #ececec;padding:1.5rem;display:grid;gap:.75rem;justify-items:start}.login h1{margin:0;font-size:1.25rem;font-weight:600}.login-google{display:block;max-width:100%;line-height:0}.login-google img{display:block;width:180px;max-width:100%;height:auto}.login-error{margin:0;color:#c92a2a}.dash{min-height:100vh;background:#f8f9fa;font-family:system-ui,sans-serif;color:#1e1e1e;padding:1.5rem}.dash-bar,.dash-actions,.dash-list li{display:flex;align-items:center;gap:.6rem}.dash-bar{justify-content:space-between}.dash h1,.dash p{margin:0}.dash-actions,.dash-drop,.dash-list{margin-top:1rem}.dash button,.dash-open{font:inherit;border:1px solid #d0d0d0;background:#fff;border-radius:8px;padding:.4rem .7rem;cursor:pointer}.dash-drop{border:1px dashed #b0b0b0;border-radius:12px;padding:1rem;background:#fff;display:grid;gap:.4rem}.dash-drop.dragging{border-color:#6965db;background:#f3f0ff}.dash-drop input{display:block;margin-top:.3rem}.dash-list{list-style:none;padding:0;display:grid;gap:.5rem}.dash-open{font-weight:600;min-width:10rem;text-align:left}.dash-list input{font:inherit;padding:.35rem .5rem;border-radius:8px;border:1px solid #d0d0d0}.board-error button{font:inherit;padding:.35rem .7rem;border-radius:6px;border:1px solid #1e1e1e;background:#fff;cursor:pointer}.board-banner{position:fixed;left:1rem;bottom:1rem;z-index:20;max-width:28rem;padding:.7rem .9rem;background:#fff3bf;border:1px solid #1e1e1e;border-radius:8px;font-family:sans-serif}
