:root,[data-theme=light]{--bg: #f2f2f3;--surface: #ffffff;--surface-solid: #ffffff;--ink: #141414;--muted: #5f5f5f;--faint: #8a8a8a;--line: rgba(20, 20, 20, .1);--line-strong: rgba(20, 20, 20, .16);--accent: #7c5cfc;--accent-ink: #5b3fd6;--accent-soft: rgba(124, 92, 252, .16);--accent-ring: rgba(124, 92, 252, .32);--danger: #d13b3b;--danger-soft: rgba(209, 59, 59, .1);--shadow: 0 1px 2px rgba(20, 20, 20, .06);--wash-a: transparent;--wash-b: transparent;--toast: #141414;--code-bg: #f6f6f6;--checker: #ececec;--radius: 12px;--radius-sm: 8px;--font: "DM Sans", sans-serif;--display: "Space Grotesk", sans-serif;--ease: cubic-bezier(.22, 1, .36, 1)}[data-theme=dark]{--bg: #111111;--surface: #1a1a1a;--surface-solid: #1a1a1a;--ink: #f2f2f2;--muted: #a0a0a0;--faint: #777777;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .14);--accent: #7c5cfc;--accent-ink: #b4a4ff;--accent-soft: rgba(124, 92, 252, .18);--accent-ring: rgba(124, 92, 252, .35);--danger: #ff6b6b;--danger-soft: rgba(255, 107, 107, .14);--shadow: 0 1px 2px rgba(0, 0, 0, .35);--wash-a: transparent;--wash-b: transparent;--toast: #0c0c0c;--code-bg: #141414;--checker: #222222}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;min-height:100%;height:100%}body{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color .25s var(--ease),color .25s var(--ease)}button,input,textarea,select,a{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer}input,textarea,select{outline:none}:focus-visible{outline:none}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{width:0;height:0;display:none}.app{position:relative;min-height:100%;height:100%;overflow:hidden}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:var(--bg)}.backdropWash,.backdropOrb,.backdropGrid{display:none}.shell{position:relative;z-index:1;height:100%;display:grid;grid-template-rows:auto auto 1fr;max-width:1280px;margin:0 auto;padding:20px 24px 28px;gap:14px}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.fadeIn{animation:rise .35s var(--ease) both}.boot{position:relative;z-index:1;height:100%;display:grid;place-items:center;gap:12px;color:var(--muted);font-weight:500}.bootLogo{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 0 18px rgba(124,92,252,.45))}.topbar{display:flex;align-items:center;gap:14px;padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brandLogo{width:28px;height:28px;object-fit:contain;display:block;filter:drop-shadow(0 0 10px rgba(124,92,252,.35))}.brand-lg .brandLogo{width:42px;height:42px}.brandMark{font-family:var(--display);font-weight:700;font-size:1.2rem;letter-spacing:-.03em}.boardSwitch{min-width:0}.boardTrigger{display:inline-flex;align-items:center;gap:8px;max-width:220px;height:36px;padding:0 12px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface-solid);color:var(--ink);font-weight:650;font-size:.86rem;transition:border-color .2s var(--ease),background .2s var(--ease)}.boardTrigger:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface-solid))}.boardTrigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boardTrigger svg{width:14px;height:14px;flex-shrink:0;color:var(--faint)}.nav{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.navItem{position:relative;padding:8px 14px;border-radius:8px;color:var(--muted);font-weight:600;font-size:.9rem;border:1px solid transparent;background:transparent;transition:color .2s var(--ease),background .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease)}.navItem:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}.navItem.active{color:#fff;background:var(--accent);border-color:var(--accent-ring);box-shadow:0 0 0 1px var(--accent-ring),0 0 16px var(--accent-soft)}.navLabel{position:relative;z-index:1}.topMeta{display:flex;align-items:center;gap:8px;margin-left:auto}.userChip{display:flex;align-items:center;gap:10px}.userChip img,.userFallback{width:34px;height:34px;border-radius:10px;object-fit:cover;background:color-mix(in srgb,var(--ink) 12%,transparent);flex-shrink:0}.userChip strong{display:block;font-size:.88rem;font-weight:650;line-height:1.15}.userChip small{display:block;color:var(--faint);font-size:.72rem;font-weight:500}.main{min-height:0;overflow:auto}.view{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow)}.view.narrow,.settingsView{max-width:720px}.settingsStack{display:flex;flex-direction:column;gap:12px}.settingsBlock{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--code-bg)}.settingsBlock header{margin-bottom:12px}.settingsBlock h3{font-family:var(--display);font-size:1.05rem;letter-spacing:-.02em}.settingsBlock header p,.settingsHint{color:var(--muted);font-size:.86rem;line-height:1.4}.settingsRow{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.settingsRow .grow,.settingsRow label.grow{flex:1;min-width:160px}.prefList{display:flex;flex-direction:column;gap:10px}.prefRow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface-solid) 70%,transparent)}.prefRow span{display:flex;flex-direction:column;gap:2px;min-width:0}.prefRow b{font-size:.92rem;font-weight:650}.prefRow small{color:var(--muted);font-size:.78rem;line-height:1.35}.prefControl{width:auto;min-width:120px;max-width:160px;height:36px}.toggle{position:relative;width:44px;height:26px;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--ink) 8%,transparent);flex-shrink:0;transition:background .2s var(--ease),border-color .2s var(--ease)}.toggle i{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--ink);transition:transform .22s var(--ease),background .22s var(--ease)}.toggle.on{background:var(--accent);border-color:color-mix(in srgb,var(--accent) 70%,transparent)}.toggle.on i{transform:translate(18px);background:#fff}.catBar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}.catCreate{display:flex;gap:8px;align-items:center}.catCreate .field{max-width:160px;height:34px}.catManage{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.catChip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;border-radius:8px;border:1px solid var(--line);background:var(--code-bg);font-size:.82rem;font-weight:600}.field.catSelect{max-width:none;height:32px;margin-top:6px;font-size:.8rem}.viewHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.viewHead h2{font-family:var(--display);font-size:1.5rem;font-weight:650;letter-spacing:-.03em}.viewHead p{margin-top:4px;color:var(--muted);font-size:.94rem}.toolbar,.compose{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}.compose{padding:14px;border:1px dashed var(--line-strong);border-radius:var(--radius);background:color-mix(in srgb,var(--surface-solid) 70%,transparent)}.field{width:100%;max-width:280px;height:42px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--code-bg);color:var(--ink);box-shadow:none;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:border-color .2s var(--ease),background .2s var(--ease)}.field.grow{max-width:none;flex:1;min-width:180px}.field:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line-strong))}.field:focus{border-color:var(--accent);background:var(--surface-solid);box-shadow:none;outline:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 16px;border-radius:var(--radius-sm);border:1px solid transparent;font-weight:650;font-size:.9rem;text-decoration:none;transition:transform .15s var(--ease),background .2s var(--ease),border-color .2s var(--ease),opacity .2s var(--ease)}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled,.btn.disabled{opacity:.45;pointer-events:none}.btn.sm{height:34px;padding:0 12px;font-size:.8rem}.btn.lg{height:48px;padding:0 22px}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent-ring);box-shadow:0 0 0 1px var(--accent-ring),0 0 14px var(--accent-soft)}.btn.primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 88%,white)}.btn.ghost{border-color:var(--line-strong);background:transparent}.btn.ghost:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 5%,transparent)}.btn.danger{background:var(--danger-soft);color:var(--danger)}.segment{display:inline-flex;padding:3px;border-radius:10px;background:color-mix(in srgb,var(--ink) 5%,transparent);border:1px solid var(--line)}.segment button{height:34px;padding:0 12px;border-radius:7px;color:var(--muted);font-weight:600;font-size:.8rem;transition:background .2s var(--ease),color .2s var(--ease)}.segment button.active{background:var(--surface-solid);color:var(--ink);box-shadow:0 1px 2px #00000014}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.thumb{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface-solid);content-visibility:auto;contain-intrinsic-size:280px;transition:border-color .2s var(--ease),transform .2s var(--ease)}.thumb:hover{border-color:var(--line-strong);transform:translateY(-2px)}.thumbMedia{aspect-ratio:1;background-color:var(--code-bg);background-image:linear-gradient(45deg,var(--checker) 25%,transparent 25%),linear-gradient(-45deg,var(--checker) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--checker) 75%),linear-gradient(-45deg,transparent 75%,var(--checker) 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}.thumbMedia img{width:100%;height:100%;object-fit:cover;display:block}.thumbMeta{display:flex;flex-direction:column;gap:4px;padding:12px}.thumbMeta b{font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thumbMeta>span{color:var(--faint);font-size:.76rem}.thumbActions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.pager{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:20px;color:var(--muted);font-weight:600}.empty{padding:48px 16px;text-align:center;color:var(--faint)}.dropzone{display:grid;place-items:center;gap:6px;min-height:220px;margin-bottom:16px;padding:28px;border:1.5px dashed var(--line-strong);border-radius:16px;background:color-mix(in srgb,var(--surface-solid) 60%,transparent);text-align:center;cursor:pointer;transition:border-color .2s var(--ease),background .2s var(--ease),transform .2s var(--ease)}.dropzone strong{font-family:var(--display);font-size:1.15rem}.dropzone span{color:var(--muted)}.dropzone:hover,.dropzone.drag,.dropzone.ready{border-color:var(--accent);background:var(--accent-soft)}.people{display:flex;flex-direction:column;gap:10px}.person{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-solid);animation:rise .3s var(--ease) both}.personMain{display:flex;align-items:center;gap:12px;min-width:0}.personMain img,.personMain .userFallback{width:42px;height:42px;border-radius:12px}.personMain b{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.personMain span,.personMain code{display:block;color:var(--muted);font-size:.8rem;margin-top:2px}.personMain code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--faint);word-break:break-all}.personActions{display:flex;flex-wrap:wrap;gap:6px}.tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;font-style:normal;font-size:.7rem;font-weight:700;text-transform:capitalize;background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--muted)}.tag.on{background:var(--accent-soft);color:var(--accent-ink)}.pendingBlock{margin-top:22px}.pendingBlock h3,.formSection{font-family:var(--display);font-size:1rem;margin:18px 0 10px}.form{display:flex;flex-direction:column;gap:14px}.form label{display:flex;flex-direction:column;gap:6px}.form label>span{font-size:.8rem;font-weight:650;color:var(--muted)}.form .field{max-width:none}body.modalOpen{overflow:hidden}body.modalOpen .shell{pointer-events:none}.modalOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:20px;background:#0000008c;pointer-events:auto}.modal{width:min(420px,100%);max-height:min(70vh,520px);display:flex;flex-direction:column;background:var(--surface-solid);border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 50px #00000059;overflow:hidden}.modalHead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.modalHead h3{font-family:var(--display);font-size:1.05rem}.modalBody{overflow:auto;padding:10px}.boardOption{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:12px;border-radius:12px;border:1px solid transparent;background:transparent;transition:background .15s var(--ease),border-color .15s var(--ease)}.boardOption:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}.boardOption.active{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:var(--accent-soft)}.boardOption b{display:block;font-size:.92rem}.boardOption small{display:block;margin-top:2px;color:var(--faint);font-size:.75rem;text-transform:capitalize}.boardOption em{font-style:normal;font-size:.72rem;font-weight:700;color:var(--accent-ink)}.login{position:relative;z-index:1;min-height:100%;display:grid;place-items:center;padding:32px 20px}.loginInner{width:min(420px,100%);animation:rise .5s var(--ease) both}.loginWordmark{width:min(280px,78vw);height:auto;display:block;margin:0 0 18px;filter:drop-shadow(0 10px 28px rgba(124,92,252,.28))}.loginSub{color:var(--muted);font-size:1.02rem;line-height:1.5;margin-bottom:20px;max-width:34ch}.loginInner .segment{margin-bottom:14px}.authForm{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.authForm .field,.loginInner .btn{max-width:none;width:100%}.discordBtn{margin-bottom:12px}.banner{padding:12px 14px;border-radius:var(--radius-sm);margin-bottom:12px;font-size:.88rem;line-height:1.45;border:1px solid transparent}.banner.warn{background:#b070141f;border-color:#b0701438;color:#b07014}[data-theme=dark] .banner.warn{color:#e0b35a}.banner.error{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 30%,transparent);color:var(--danger)}.inlineBanner{position:relative;z-index:1;margin:0}.linkish{color:inherit;text-decoration:underline;font-weight:700}.themeFab,.themeBtn{width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--line-strong);background:transparent;color:var(--ink)}.themeFab{position:fixed;top:18px;right:18px;z-index:5;background:var(--surface)}.themeFab svg,.themeBtn svg{width:16px;height:16px}.themeBtn:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}.noteWrap{position:relative}.noteBtn{width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line-strong);border-radius:8px;color:var(--ink);background:transparent;position:relative}.noteBtn:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}.noteBtn svg{width:16px;height:16px}.noteDot{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--accent);border:1.5px solid var(--surface)}.notesPanel{position:absolute;top:calc(100% + 8px);right:0;z-index:20;width:min(320px,calc(100vw - 32px));max-height:320px;overflow:auto;background:var(--surface-solid);border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 40px #00000047;padding:10px}.notesHead{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 8px}.notesHead h3{font-size:.8rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--faint)}.notesEmpty{padding:18px 8px;text-align:center;color:var(--faint);font-size:.85rem}.noteItem{padding:8px;border-radius:8px;display:flex;flex-direction:column;gap:2px}.noteItem:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}.noteItem b{font-size:.84rem}.noteItem span{color:var(--muted);font-size:.78rem;line-height:1.35}.noteItem.unread b{color:var(--accent-ink)}.toasts{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;flex-direction:column;gap:10px;width:min(360px,calc(100vw - 32px));pointer-events:none}.toast{position:relative;overflow:hidden;pointer-events:auto;padding:12px 12px 14px;border-radius:16px;color:#fff;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 42%),var(--toast);border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 40px #00000047,0 0 0 1px #ffffff08 inset;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.toastIcon{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:#ffffff1f;flex-shrink:0}.toastIcon svg{width:18px;height:18px}.toastCopy{display:flex;flex-direction:column;gap:2px;min-width:0;padding-top:2px}.toast strong{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;opacity:.72}.toastCopy span{font-size:.92rem;line-height:1.35;word-break:break-word}.toastClose{width:28px;height:28px;border-radius:8px;color:#ffffffb8;background:transparent;font-size:1.1rem;line-height:1}.toastClose:hover{background:#ffffff1a;color:#fff}.toast_success{background:linear-gradient(135deg,rgba(74,222,128,.18),transparent 46%),#0f2f27}.toast_success .toastIcon{color:#7dffb3;background:#7dffb31f}.toast_error{background:linear-gradient(135deg,rgba(255,107,107,.2),transparent 46%),#3d1518}.toast_error .toastIcon{color:#ff9b9b;background:#ff9b9b1f}.toast_warning{background:linear-gradient(135deg,rgba(251,191,36,.2),transparent 46%),#3a2a0d}.toast_warning .toastIcon{color:#ffd56a;background:#ffd56a1f}.toast_info{background:linear-gradient(135deg,rgba(124,92,252,.22),transparent 46%),#1a1630}.toast_info .toastIcon{color:#c4b5ff;background:#c4b5ff1f}.toastTimer{position:absolute;left:0;bottom:0;height:3px;width:100%;background:#ffffff6b;transform-origin:left center}.planCurrent{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;padding:12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--accent) 10%,transparent);margin-bottom:12px}.planCurrent>div{display:flex;flex-direction:column;gap:4px;min-width:160px}.planCurrent b{font-family:var(--display);font-size:1.05rem}.planCurrent span,.planCurrent li,.planCard p,.planCard li{color:var(--muted);font-size:.82rem;line-height:1.4}.planCurrent ul,.planCard ul{list-style:none;display:grid;gap:4px}.planGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:10px}.planCard{padding:12px;border-radius:12px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface-solid) 80%,transparent)}.planCard.current{border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}.planCard header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.planCard header b{font-family:var(--display)}.planCard header em{font-style:normal;font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-ink)}.planCard ul{margin-top:8px}.adminUsers{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.adminUsers h4{font-family:var(--display);margin-bottom:4px}.adminUserList{display:flex;flex-direction:column;gap:8px;margin-top:10px}.adminUserRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px}.adminUserRow>div{display:flex;flex-direction:column;gap:2px;min-width:0}.adminUserRow small{color:var(--muted)}.notesList{display:flex;flex-direction:column;gap:4px}@media(max-width:980px){.shell{padding:12px;grid-template-rows:auto auto auto 1fr}.topbar{flex-wrap:wrap}.nav,.boardSwitch{order:3;width:100%}.topMeta{margin-left:0}.userChip small{display:none}.person{flex-direction:column;align-items:stretch}}@media(max-width:560px){.toolbar,.compose{flex-direction:column;align-items:stretch}.field,.segment{max-width:none;width:100%}.segment button{flex:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}html[data-reduced-motion="1"] *,html[data-reduced-motion="1"] *:before,html[data-reduced-motion="1"] *:after{animation:none!important;transition:none!important}
