:root{--bg:#111215;--bg-2:#17181c;--panel:#1c1d22;--panel-2:#23252b;--line:#2d2f36;--line-2:#3a3d45;--text:#ececee;--text-2:#a3a6af;--text-3:#6f737d;--accent:#ffd43b;--accent-ink:#1a1500;--accent-soft:#ffd43b24;--danger:#ff6b5b;--ok:#4fd18b;--info:#6aa8ff;--warn:#ffa94d;--viewer-bg:#0b0b0d;--radius:8px;--shadow:0 10px 30px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f4f4f2;--bg-2:#ecece9;--panel:#fff;--panel-2:#f6f6f4;--line:#e2e2de;--line-2:#cfcfca;--text:#17181b;--text-2:#565961;--text-3:#8b8e96;--accent:#f5c400;--accent-ink:#1a1500;--accent-soft:#f5c4002e;--viewer-bg:#e6e6e3;--shadow:0 10px 30px #0000001f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:anywhere;margin:0;font-family:Pretendard Variable,Pretendard,-apple-system,Segoe UI,system-ui,sans-serif;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:700}h1{font-size:22px}h2{font-size:18px}h3{font-size:15px}::selection{background:var(--accent);color:var(--accent-ink)}.btn{border-radius:var(--radius);border:1px solid var(--line-2);background:var(--panel-2);height:34px;color:var(--text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--text-3)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:650}.btn.primary:hover:not(:disabled){filter:brightness(1.06)}.btn.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent);background:0 0}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--panel-2)}.btn.sm{height:28px;padding:0 10px;font-size:13px}.btn.icon{width:32px;padding:0}.btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.input,.select,.textarea{border-radius:var(--radius);border:1px solid var(--line-2);background:var(--bg-2);outline:none;width:100%;height:36px;padding:0 11px}.textarea{resize:vertical;height:auto;min-height:80px;padding:9px 11px}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent)}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field>label{color:var(--text-2);font-size:12.5px;font-weight:550}.hint{color:var(--text-3);font-size:12px}.err{color:var(--danger);font-size:13px}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.col{flex-direction:column;gap:8px;display:flex}.spacer{flex:1}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12.5px}.chip{background:var(--panel-2);border:1px solid var(--line);height:22px;color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:0 8px;font-size:12px;display:inline-flex}.chip.accent{background:var(--accent-soft);color:var(--accent);border-color:#0000}.chip.ok{color:var(--ok);background:color-mix(in srgb, var(--ok) 14%, transparent);border-color:#0000}.chip.danger{color:var(--danger);background:color-mix(in srgb, var(--danger) 14%, transparent);border-color:#0000}.chip.info{color:var(--info);background:color-mix(in srgb, var(--info) 14%, transparent);border-color:#0000}.chip.warn{color:var(--warn);background:color-mix(in srgb, var(--warn) 14%, transparent);border-color:#0000}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px}.card.pad{padding:18px}.tabs{border-bottom:1px solid var(--line);gap:2px;display:flex;overflow-x:auto}.tabs a,.tabs button{cursor:pointer;color:var(--text-2);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-weight:550}.tabs .on{color:var(--text);border-bottom-color:var(--accent)}table.tbl{border-collapse:collapse;width:100%}.tbl th,.tbl td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:9px 10px}.tbl th{color:var(--text-3);font-size:12px;font-weight:600}.tbl tr.click{cursor:pointer}.tbl tr.click:hover td{background:var(--panel-2)}.avatar{background:var(--line-2);width:26px;height:26px;color:var(--text);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.modal-back{z-index:100;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);width:100%;max-width:520px;max-height:calc(100vh - 32px);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;display:flex}.modal.wide{max-width:760px}.modal-h{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:16px 18px;display:flex}.modal-b{padding:18px;overflow:auto}.modal-f{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.toast-wrap{z-index:300;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:76px;left:50%;transform:translate(-50%)}.toast{background:var(--text);color:var(--bg);box-shadow:var(--shadow);border-radius:999px;padding:9px 16px;font-weight:550}.toast.error{background:var(--danger);color:#fff}.menu{z-index:60;background:var(--panel);border:1px solid var(--line-2);min-width:180px;box-shadow:var(--shadow);border-radius:10px;padding:4px;position:absolute}.menu button{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;gap:8px;width:100%;padding:7px 10px;display:flex}.menu button:hover:not(:disabled){background:var(--panel-2)}.menu button:disabled{opacity:.4;cursor:default}.menu hr{border:none;border-top:1px solid var(--line);margin:4px 0}.empty{text-align:center;color:var(--text-3);padding:48px 16px}.switch{background:var(--line-2);cursor:pointer;border:none;border-radius:999px;flex:none;width:34px;height:20px;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch.on{background:var(--accent)}.switch.on:after{background:var(--accent-ink);transform:translate(14px)}.switch:disabled{opacity:.4}.shell{grid-template-columns:232px 1fr;height:100%;display:grid}.side{background:var(--bg-2);border-right:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.side .brand{letter-spacing:-.02em;align-items:center;gap:9px;padding:16px 16px 12px;font-size:16px;font-weight:800;display:flex}.side .sec{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;padding:10px 10px 4px 16px;font-size:11px;font-weight:700}.side nav{flex-direction:column;gap:1px;padding:0 8px;display:flex;overflow:auto}.side nav a{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;border-radius:7px;align-items:center;gap:9px;padding:7px 8px;display:flex;overflow:hidden}.side nav a:hover{background:var(--panel);color:var(--text)}.side nav a.on{background:var(--panel-2);color:var(--text)}.ws-dot{background:var(--accent);width:20px;height:20px;color:var(--accent-ink);border-radius:6px;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:inline-flex}.main{flex-direction:column;min-width:0;height:100%;display:flex;overflow:auto}.topbar{border-bottom:1px solid var(--line);background:var(--bg);z-index:20;flex:none;align-items:center;gap:10px;height:54px;padding:0 22px;display:flex;position:sticky;top:0}.crumbs{color:var(--text-2);align-items:center;gap:6px;min-width:0;display:flex}.crumbs a:hover{color:var(--text)}.crumbs b{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.page{width:100%;max-width:1240px;margin:0 auto;padding:22px}.mobile-nav{display:none}@media (width<=820px){.shell{grid-template-columns:1fr}.side{display:none}.side.open{z-index:90;box-shadow:var(--shadow);display:flex;position:fixed;inset:0 30% 0 0}.mobile-nav{display:inline-flex}.page{padding:16px}.topbar{padding:0 16px}}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.proj-card{flex-direction:column;transition:border-color .12s;display:flex;overflow:hidden}.proj-card:hover{border-color:var(--line-2)}.proj-cover{aspect-ratio:3/4;background:linear-gradient(160deg, var(--panel-2), var(--bg-2));color:var(--line-2);align-items:flex-end;padding:12px;font-size:40px;font-weight:800;display:flex;position:relative}.proj-cover img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.auth-wrap{grid-template-columns:1.1fr 1fr;min-height:100%;display:grid}.auth-art{background:var(--bg-2);border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;padding:40px;display:flex;position:relative;overflow:hidden}.auth-form{justify-content:center;align-items:center;padding:32px 20px;display:flex}.auth-form>div{width:100%;max-width:360px}@media (width<=820px){.auth-wrap{grid-template-columns:1fr}.auth-art{display:none}}.status-dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.st-none{background:var(--line-2)}.st-in_progress{background:var(--info)}.st-completed{background:var(--ok)}.st-closed{background:var(--accent)}.ep-shell{background:var(--bg);grid-template-rows:auto 1fr;height:100vh;display:grid}.ep-top{border-bottom:1px solid var(--line);align-items:center;gap:8px;min-width:0;height:48px;padding:0 12px;display:flex}.ep-body{min-height:0;display:flex;position:relative}.ep-left,.ep-right{background:var(--bg-2);border-color:var(--line);border-style:solid;flex:none;overflow:auto}.ep-left{border-width:0 1px 0 0;width:280px}.ep-right{border-width:0 0 0 1px;position:relative}.ep-center{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.ep-head{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:4px;padding:6px 10px;display:flex;overflow-x:auto}.proc-tab{cursor:pointer;height:30px;color:var(--text-2);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:6px;padding:0 10px;font-weight:550;display:inline-flex;position:relative}.proc-tab:hover{background:var(--panel)}.proc-tab.on{background:var(--panel-2);border-color:var(--line-2);color:var(--text)}.proc-tab .badge{background:var(--danger);color:#fff;text-align:center;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:800;line-height:16px;position:absolute;top:-4px;right:-4px}.sec-h{color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:10px 12px 6px;font-size:12px;font-weight:700;display:flex}.ver{cursor:pointer;border-left:3px solid #0000;align-items:flex-start;gap:8px;padding:8px 12px;display:flex}.ver:hover{background:var(--panel)}.ver.on{background:var(--panel-2);border-left-color:var(--accent)}.toolbar{z-index:30;background:var(--panel);border:1px solid var(--line-2);box-shadow:var(--shadow);border-radius:12px;gap:2px;padding:4px;display:flex;position:absolute}.toolbar.left{flex-direction:column;top:50%;left:12px;transform:translateY(-50%)}.toolbar.right{flex-direction:column;top:50%;right:12px;transform:translateY(-50%)}.toolbar.bottom{bottom:14px;left:50%;transform:translate(-50%)}.toolbar .btn{width:34px;height:34px;padding:0;font-size:15px}.resize-handle{cursor:col-resize;z-index:5;width:6px;position:absolute;top:0;bottom:0}.resize-handle:hover{background:var(--accent-soft)}.page-seam{z-index:1;height:3px;position:absolute;top:-1px;left:0;right:0}.page-seam:hover{background:var(--accent)}.cmp-grid{background:var(--line);flex:1;gap:2px;min-height:0;display:flex}.cmp-col{background:var(--bg);flex-direction:column;flex:1;min-width:0;display:flex}.cmp-col .cmp-h{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:4px;padding:6px;display:flex}.ui-hidden .ep-left,.ui-hidden .ep-right,.ui-hidden .ep-top,.ui-hidden .ep-head,.ui-hidden .toolbar{display:none!important}@media (width<=820px){.hide-m{display:none!important}.ep-top .crumbs b{max-width:40vw}.ep-left{z-index:40;height:100%;box-shadow:var(--shadow);position:absolute}.ep-right{z-index:40;height:100%;box-shadow:var(--shadow);position:absolute;right:0;width:min(360px,92vw)!important}}.cutline-rich-toolbar{z-index:3;background:var(--bg,Canvas);flex-wrap:wrap;gap:4px;padding:8px 0;position:sticky;top:0}.cutline-rich-body{overflow-wrap:anywhere;white-space:pre-wrap;outline:none;min-height:60vh;line-height:1.75}.cutline-rich-body p{margin:.45em 0}.cutline-rich-body>p:first-child:last-child:has(>br:only-child):before{content:attr(data-placeholder);pointer-events:none}.cutline-rich-body img{max-width:100%;height:auto}.cutline-rich-body table{border-collapse:collapse;table-layout:fixed;width:100%;margin:12px 0}.cutline-rich-body td,.cutline-rich-body th{border:1px solid var(--line-2);vertical-align:top;min-width:70px;padding:6px 9px;position:relative}.cutline-rich-body .selectedCell:after{background:var(--accent-soft);content:"";pointer-events:none;position:absolute;inset:0}.cutline-rich-body blockquote{border-left:3px solid var(--line-2);margin-left:0;padding-left:16px}.cutline-rich-body pre{background:var(--bg-2);padding:12px;overflow-x:auto}.cutline-rich-body a{color:var(--accent);text-decoration:underline}.cutline-block-menu{border:1px solid var(--line-2);border-radius:8px;flex-wrap:wrap;gap:5px;margin-bottom:12px;padding:10px;display:flex}.ProseMirror-selectednode{outline:2px solid var(--accent)}
