*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f5f5f7;color:#1d1d1f}a{color:inherit}.app{height:100vh;display:grid;grid-template-columns:340px 1fr}.sidebar{background:#fff;border-right:1px solid #ddd;display:flex;flex-direction:column;min-width:0}.sidebar-top{padding:22px 18px 12px;display:flex;align-items:center;justify-content:space-between}.sidebar h1{margin:0;font-size:28px}.muted{color:#757575}.small{font-size:13px}.search{margin:0 14px 12px;padding:12px 14px;border:0;border-radius:12px;background:#f0f0f2;font-size:15px;outline:none}.note-list{overflow:auto;flex:1;padding:0 8px}.note-item{width:100%;text-align:left;border:0;background:transparent;border-radius:12px;padding:13px 12px;display:flex;flex-direction:column;gap:4px;cursor:pointer}.note-item:hover,.note-item.active{background:#f1f1f4}.note-item strong{font-size:15px}.note-item span,.note-item small{color:#737373;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-footer{padding:12px 18px 20px;display:flex;justify-content:space-between;font-size:13px;color:#666}.editor{display:flex;flex-direction:column;min-width:0;background:#fff}.editor-head{display:flex;align-items:center;padding:15px 22px;border-bottom:1px solid #eee;gap:12px}.title-input{flex:1;border:0;outline:0;font-weight:700;font-size:23px;min-width:0}.content{flex:1;border:0;outline:0;resize:none;padding:24px;font:17px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.status{height:38px;border-top:1px solid #eee;padding:9px 22px;color:#777;font-size:12px;display:flex;justify-content:space-between}.icon-btn{border:0;background:#efeff2;border-radius:10px;width:40px;height:40px;font-size:24px;cursor:pointer}.icon-btn.danger{font-size:18px}.mobile-only{display:none}.auth-body{min-height:100vh;display:grid;place-items:center;padding:20px;background:#f5f5f7}.auth-card{background:#fff;width:min(430px,100%);padding:30px;border-radius:18px;box-shadow:0 15px 45px rgba(0,0,0,.08)}.auth-card h1{margin-top:0}.auth-card form{display:grid;gap:15px}.auth-card label{display:grid;gap:7px;font-weight:600;font-size:14px}.auth-card input{width:100%;padding:12px 13px;border:1px solid #ccc;border-radius:10px;font-size:16px}.button{display:inline-block;border:0;border-radius:10px;padding:12px 16px;text-decoration:none;font-weight:700;cursor:pointer}.primary{background:#1d1d1f;color:#fff}.notice{padding:12px;border-radius:10px;margin:14px 0}.notice.error{background:#ffe7e7;color:#8b1414}.notice.success{background:#e6f7ea;color:#17662b}
@media(max-width:720px){.app{display:block}.sidebar,.editor{position:fixed;inset:0}.editor{transform:translateX(100%);transition:.18s ease}.editing .editor{transform:translateX(0)}.mobile-only{display:block}.sidebar{border:0}.sidebar-top{padding-top:max(20px,env(safe-area-inset-top))}.content{padding:20px}.status{padding-bottom:max(9px,env(safe-area-inset-bottom));height:auto}}
.history-btn{font-size:19px}.live-state{font-weight:700}.conflict-bar{padding:9px 18px;background:#fff4cf;border-bottom:1px solid #ead28b;color:#674d00;font-size:13px;display:flex;gap:12px;align-items:center;justify-content:space-between}.conflict-bar[hidden]{display:none}.mini-btn{border:1px solid #ccc;background:#fff;border-radius:8px;padding:7px 10px;cursor:pointer;font-weight:600;white-space:nowrap}.modal{position:fixed;inset:0;background:rgba(0,0,0,.34);display:grid;place-items:center;padding:18px;z-index:30}.modal[hidden]{display:none}.modal-card{width:min(700px,100%);max-height:min(760px,90vh);background:#fff;border-radius:18px;box-shadow:0 20px 70px rgba(0,0,0,.2);display:flex;flex-direction:column;overflow:hidden}.modal-head{padding:18px 20px;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0 0 3px}.version-list{overflow:auto;padding:10px}.version-row{display:flex;gap:12px;align-items:center;padding:13px 10px;border-bottom:1px solid #eee}.version-main{min-width:0;flex:1;display:grid;gap:3px}.version-main small,.version-main span{color:#777}.version-main span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:720px){.conflict-bar{position:relative}.modal{padding:0;align-items:end}.modal-card{width:100%;max-height:85vh;border-radius:18px 18px 0 0}.version-row{align-items:flex-start}.version-row .mini-btn{margin-top:2px}}
.toolbar{display:flex;align-items:center;gap:6px;padding:8px 22px;border-bottom:1px solid #eee;background:#fff;overflow-x:auto;overflow-y:visible;min-height:48px}.toolbar button{border:0;background:#f1f1f4;border-radius:8px;min-width:34px;height:32px;padding:0 9px;font-size:14px;cursor:pointer;white-space:nowrap}.toolbar button:hover{background:#e5e5e9}.toolbar-sep{width:1px;height:24px;background:#ddd;flex:0 0 auto}.highlight-wrap{position:relative}.highlight-menu{position:absolute;top:38px;left:0;z-index:20;background:#fff;border:1px solid #ddd;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.14);padding:7px;display:flex;gap:6px}.highlight-menu[hidden]{display:none}.highlight-menu button{width:30px;min-width:30px;padding:0;border:1px solid rgba(0,0,0,.09)}.highlight-menu button[data-highlight="yellow"]{background:#fff2a8}.highlight-menu button[data-highlight="green"]{background:#d1fae5}.highlight-menu button[data-highlight="blue"]{background:#dbeafe}.highlight-menu button[data-highlight="pink"]{background:#fce7f3}.highlight-menu .clear-highlight{background:#fff;color:#555;font-size:20px}.rich-content{overflow:auto;white-space:normal}.rich-content:empty:before{content:attr(data-placeholder);color:#999;pointer-events:none}.rich-content h1,.rich-content h2,.rich-content h3{line-height:1.2}.rich-content p,.rich-content div{margin:.25em 0}.rich-content ul,.rich-content ol{padding-left:1.8em}.rich-content blockquote{border-left:3px solid #ccc;margin:1em 0;padding-left:1em;color:#555}.rich-content a{color:#2457c5;text-decoration:underline}.rich-content span[data-highlight="yellow"]{background:#fff2a8}.rich-content span[data-highlight="green"]{background:#d1fae5}.rich-content span[data-highlight="blue"]{background:#dbeafe}.rich-content span[data-highlight="pink"]{background:#fce7f3}@media(max-width:720px){.toolbar{padding:7px 10px}.toolbar button{height:34px}.rich-content{padding:18px 20px}}
.workspace{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 430px}.workspace>.content{min-height:0}.project-panel{border-left:1px solid #eee;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#fafafa}.project-head{padding:16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8e8e8}.project-head h2{font-size:17px;margin:0 0 3px}.compact{padding:8px 11px}.task-filters{padding:10px 12px;display:grid;grid-template-columns:1fr 1fr;gap:8px;border-bottom:1px solid #e8e8e8}.task-filters select,.task-form select,.task-form input,.task-form textarea{width:100%;border:1px solid #d5d5d8;border-radius:9px;background:#fff;padding:9px;font:inherit}.task-list{overflow:auto;padding:8px;flex:1}.task-card{background:#fff;border:1px solid #e2e2e5;border-radius:11px;padding:11px;margin-bottom:8px;cursor:pointer}.task-card:hover{border-color:#bbb}.task-card.done{opacity:.65}.task-top{display:flex;gap:8px;align-items:flex-start}.task-icon{font-size:17px}.task-title{font-weight:700;flex:1}.task-badges{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 0 25px}.badge{font-size:11px;padding:3px 7px;border-radius:999px;background:#eee}.badge.high,.badge.critical{background:#fee2e2;color:#991b1b}.badge.doing,.badge.testing{background:#dbeafe;color:#1e40af}.badge.done{background:#dcfce7;color:#166534}.badge.clarify{background:#fef3c7;color:#92400e}.task-meta{font-size:11px;color:#777;margin:7px 0 0 25px}.task-form{padding:18px;overflow:auto;display:grid;gap:14px}.task-form label{display:grid;gap:6px;font-size:13px;font-weight:650}.task-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.task-actions{display:flex;justify-content:space-between}.danger-button{background:#fee2e2;color:#991b1b}.task-modal-card{max-height:90vh}.empty-tasks{text-align:center;color:#888;padding:35px 10px}.progressbar{height:5px;background:#e5e7eb;border-radius:9px;overflow:hidden;margin-top:6px}.progressbar span{display:block;height:100%;background:#222}@media(max-width:1050px){.workspace{grid-template-columns:1fr 360px}}@media(max-width:720px){.workspace{display:flex;flex-direction:column;overflow:auto}.workspace>.content{flex:none;min-height:38vh;overflow:visible}.project-panel{border-left:0;border-top:1px solid #eee;overflow:visible;min-height:45vh}.task-list{overflow:visible}.task-grid{grid-template-columns:1fr}.task-modal-card{max-height:92vh}.status{position:sticky;bottom:0;background:#fff}.editor{overflow:auto}}
.workspace-v3{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 500px}.notes-area{min-width:0;overflow:auto}.project-panel{min-height:0}.panel-tabs{display:flex;border-bottom:1px solid #ddd;background:#fff}.panel-tab{flex:1;border:0;background:#fff;padding:12px;font-weight:700;cursor:pointer}.panel-tab.active{box-shadow:inset 0 -3px #222}.count-pill{display:inline-block;min-width:20px;padding:2px 6px;border-radius:12px;background:#eee;font-size:11px}.panel-pane{display:flex;flex-direction:column;min-height:0;flex:1}.panel-pane[hidden]{display:none}.head-actions{display:flex;gap:6px}.secondary{background:#e9e9ed;color:#222}.task-filters{grid-template-columns:1fr 1fr}.input-capture{padding:16px;border-bottom:1px solid #ddd;display:grid;gap:8px}.input-capture h2{margin:0}.input-capture input,.input-capture select,.input-capture textarea,.input-tools select{width:100%;padding:9px;border:1px solid #d5d5d8;border-radius:9px;font:inherit}.input-tools{padding:10px 12px;border-bottom:1px solid #ddd}.input-list{overflow:auto;padding:8px}.input-card{background:#fff;border:1px solid #e2e2e5;border-radius:11px;padding:11px;margin-bottom:8px}.input-card-head{display:flex;justify-content:space-between;gap:8px}.input-card-head small{color:#777}.input-cat{display:inline-block;margin:7px 0;padding:3px 7px;border-radius:999px;background:#eee;font-size:11px}.input-text{white-space:pre-wrap;line-height:1.4}.input-actions{display:flex;gap:8px;margin-top:10px}.input-actions button{border:0;border-radius:7px;padding:6px 8px;cursor:pointer}.text-icon{display:grid;place-items:center;text-decoration:none;font-size:18px}.badge.blocked{background:#fee2e2;color:#991b1b}@media(max-width:900px){.workspace-v3{grid-template-columns:1fr 390px}}@media(max-width:720px){.workspace-v3{display:flex;flex-direction:column;overflow:visible}.notes-area{min-height:35vh;overflow:visible}.project-panel{border-top:1px solid #eee;border-left:0;min-height:55vh}.panel-pane,.input-list{overflow:visible}.head-actions{flex-wrap:wrap}.project-head{align-items:flex-start}}
/* Workspace V4 */
.v4-main{overflow:hidden}.workspace-nav{display:flex;gap:6px;padding:10px 18px;border-bottom:1px solid #e5e7eb;overflow-x:auto;background:#fff}.workspace-tab{border:0;background:transparent;padding:9px 12px;border-radius:10px;font-weight:700;white-space:nowrap;cursor:pointer}.workspace-tab.active{background:#111827;color:#fff}.workspace-view{display:none;overflow:auto;min-height:0;flex:1;padding:18px}.workspace-view.active{display:block}.dashboard-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:12px}.dash-card{padding:16px;border:1px solid #e5e7eb;border-radius:14px;background:#fff}.dash-card span{display:block;font-size:12px;color:#6b7280}.dash-card strong{font-size:30px;line-height:1.2}.dashboard-sections{display:grid;grid-template-columns:1.2fr 1fr;gap:14px;margin-top:14px}.dash-panel{border:1px solid #e5e7eb;border-radius:14px;background:#fff;padding:16px}.section-title,.structure-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.section-title h2,.structure-head h2{margin:0}.module-row{margin:12px 0}.module-row>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:13px}.next-step{width:100%;text-align:left;border:1px solid #e5e7eb;background:#fff;border-radius:10px;padding:10px;margin-bottom:8px;cursor:pointer}.next-step span,.next-step small{display:block;color:#6b7280;font-size:11px}.next-step strong{display:block;margin:3px 0}.inbox-layout{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:16px}.capture-panel,.inbox-list-panel{border:1px solid #e5e7eb;border-radius:14px;background:#fff;padding:16px}.capture-panel h2{margin-top:0}.capture-panel input,.capture-panel select,.capture-panel textarea,.task-form input,.task-form select,.task-form textarea{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:9px;padding:10px;background:#fff}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.capture-panel textarea{margin:8px 0}.capture-panel hr{border:0;border-top:1px solid #e5e7eb;margin:18px 0}.tree-list{padding-bottom:60px}.task-line{display:flex;gap:10px}.type-icon{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:8px;background:#f3f4f6;font-weight:800}.task-body{min-width:0;flex:1}.asset-list{display:grid;gap:8px}.asset-card{display:flex;align-items:center;gap:12px;border:1px solid #e5e7eb;background:#fff;border-radius:12px;padding:12px}.asset-icon{font-size:24px}.asset-main{min-width:0;flex:1}.asset-main a{color:inherit;text-decoration:none}.asset-main strong{word-break:break-word}.asset-tags{display:flex;gap:5px}.empty-state{padding:16px;color:#6b7280;background:#f9fafb;border-radius:10px}.task-actions .spacer{flex:1}.inline-highlight{position:static!important;display:flex!important;background:transparent!important;box-shadow:none!important;padding:0!important}.inline-highlight[hidden]{display:none!important}@media(max-width:1100px){.dashboard-grid{grid-template-columns:repeat(3,1fr)}.dashboard-sections{grid-template-columns:1fr}}@media(max-width:760px){.workspace-view{padding:12px}.workspace-nav{padding:8px}.dashboard-grid{grid-template-columns:repeat(2,1fr)}.inbox-layout{grid-template-columns:1fr}.dash-card strong{font-size:24px}.form-row{grid-template-columns:1fr}.structure-head{align-items:flex-start;flex-direction:column}.task-filters{display:grid;grid-template-columns:1fr}.asset-card{align-items:flex-start}}
