:root{--bg-app:#f7f3ee;--surface:#fff;--ink:#2c3e50;--muted:#6c757d;--edge:#e8e4de;--edge-2:#d4c4b0;--brand-green:#5b8c5a;--brand-green-2:#4a7349;--brand-blue:#6c8ebf;--radius-6:6px;--radius-8:8px;--radius-10:10px}.brand-ui .btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;font-size:.875rem;line-height:1;font-weight:600;padding:.5rem .75rem;border-radius:var(--radius-6,6px);border:1px solid transparent;background:var(--surface,#fff);color:var(--ink,#2c3e50);transition:background .12s ease,color .12s ease,border-color .12s ease,transform .12s ease;user-select:none}.brand-ui .btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(108,142,191,.35)}.brand-ui .btn:disabled,.brand-ui .btn[disabled]{opacity:.55;cursor:not-allowed}.brand-ui .btn--icon{padding:.4rem;width:36px;height:36px;border-radius:var(--radius-6,6px)}.brand-ui .btn--border{background:var(--surface,#fff);color:var(--muted,#6c757d);border-color:var(--edge,#e8e4de)}.brand-ui .btn--border:hover{background:var(--bg-app,#f7f3ee);color:var(--ink,#2c3e50);border-color:var(--edge-2,#d4c4b0)}.brand-ui .btn--primary{background:var(--brand-blue,#6c8ebf);color:#fff}.brand-ui .btn--primary:hover{filter:brightness(.95);transform:translateY(-1px)}.brand-ui .btn--success{background:var(--brand-green,#5b8c5a);color:#fff}.brand-ui .btn--success:hover{filter:brightness(.95);transform:translateY(-1px)}.panel{flex-shrink:0;width:var(--panel-width,380px);background:var(--surface,#fff);border-left:1px solid var(--edge,#e8e4de);display:flex;flex-direction:column;min-height:0;position:relative}.panel--md{width:380px}.panel--md,.panel.panel--md{flex:1;display:flex;flex-direction:column;overflow:hidden}.divider{height:1px;width:100%;background:var(--divider-color,var(--edge,#e8e4de))}.field{width:100%;background:var(--surface,#fff);color:var(--ink,#2c3e50);border:1px solid var(--edge,#e8e4de);border-radius:var(--radius-8,8px);padding:.5rem .75rem;font-size:.875rem;line-height:1.2}.field::placeholder{color:var(--muted,#6c757d)}.field:focus{outline:none;border-color:var(--edge-2,#d4c4b0);box-shadow:0 0 0 3px rgba(108,142,191,.25)}.chip{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:9999px;background:var(--surface,#fff);border:1px solid var(--edge,#e8e4de);color:var(--muted,#6c757d);font-size:.85rem;line-height:1;cursor:pointer;user-select:none}.chip:hover{background:var(--bg-app,#f7f3ee);color:var(--ink,#2c3e50);border-color:var(--edge-2,#d4c4b0)}.chip--active{background:var(--brand-green,#5b8c5a);color:#fff;border-color:var(--brand-green,#5b8c5a)}.chip--action{background:var(--left-pane-bg,#faf8f5)}.chip--action:hover{background:var(--bg-selected,#f7f3ee)}.rail-menu{position:absolute;inset:auto 0 auto auto;margin-top:.5rem;min-width:12rem;background:var(--surface,#fff);border:1px solid var(--edge,#e8e4de);border-radius:var(--radius-8,8px);box-shadow:0 8px 24px rgba(0,0,0,.08);z-index:10;overflow:hidden}.rail-menu__section{padding:.25rem .5rem;color:var(--muted,#6c757d);font-size:.75rem}.rail-menu__item{width:100%;text-align:left;background:transparent;border:none;color:var(--ink,#2c3e50);padding:.5rem .75rem;cursor:pointer}.rail-menu__item:hover{background:var(--bg-app,#f7f3ee)}input[type=checkbox].rail-check{accent-color:var(--brand-blue,#6c8ebf);width:14px;height:14px;border:1px solid var(--edge,#e8e4de);border-radius:2px}.scrollbar--thin{scrollbar-width:thin;scrollbar-color:var(--edge-2,#d4c4b0) transparent}.scrollbar--thin::-webkit-scrollbar{width:5px}.scrollbar--thin::-webkit-scrollbar-track{background:transparent}.scrollbar--thin::-webkit-scrollbar-thumb{background:var(--edge-2,#d4c4b0);border-radius:3px}.scrollbar--thin::-webkit-scrollbar-thumb:hover{background:var(--brand-green,#5b8c5a)}.map-background-pattern{position:absolute;inset:0;opacity:.7;background-image:radial-gradient(circle,#d4c4b0 1px,transparent 0);background-size:20px 20px;pointer-events:none}:is(.theme-warm-board,[data-theme=warm-board],.warm-board){--header-tint:#fafafa;--left-pane-bg:#faf8f5;--bg-selected:#f7f3ee;--divider-color:#e8e4de;--accent-1:var(--brand-green);--accent-2:var(--brand-blue)}:is(.theme-warm-board,[data-theme=warm-board],.warm-board) .canvas-header{background:var(--surface)!important;border-bottom-color:var(--edge)!important}:is(.theme-warm-board,[data-theme=warm-board],.warm-board) .canvas-header__titlewrap:hover{background:var(--bg-app)}:is(.theme-warm-board,[data-theme=warm-board],.warm-board) .canvas-header .btn--border{background:var(--surface);border-color:var(--edge);color:var(--muted)}:is(.theme-warm-board,[data-theme=warm-board],.warm-board) .canvas-header .btn--border:hover{background:var(--bg-app);color:var(--ink);border-color:var(--edge-2)}:is(.theme-warm-board,[data-theme=warm-board],.warm-board) .canvas-header .btn--primary{background:var(--brand-blue);color:#fff}:is(.theme-warm-board,[data-theme=warm-board],.warm-board) .canvas-header .btn--primary:hover{background:#5a7cae}:is(.theme-warm-board,[data-theme=warm-board],.warm-board) .canvas-header .btn--success{background:var(--brand-green);color:#fff}:is(.theme-warm-board,[data-theme=warm-board],.warm-board) .canvas-header .btn--success:hover{background:var(--brand-green-2)}.flowchart-nodes{display:flex;flex-direction:column;gap:3rem;align-items:center;position:relative;padding:2rem 0;min-height:100%}.connection-line{position:absolute;width:2px;background:linear-gradient(180deg,#9ca3af,#6b7280);z-index:0;opacity:.6}.node-row{gap:2rem;flex-wrap:wrap;z-index:1}.node,.node-row{display:flex;justify-content:center;position:relative}.node{background:#fff;border:3px solid #9e9e9e;border-radius:8px;padding:16px;box-shadow:0 4px 6px rgba(0,0,0,.1);transition:all .2s ease;cursor:pointer;min-width:240px;max-width:300px;min-height:80px;max-height:125px;flex-direction:column;align-items:center;text-align:center;overflow:hidden}.node:hover{transform:translateY(-2px);box-shadow:0 8px 15px rgba(0,0,0,.15);border-color:#6b7280}.node-title{font-size:1rem;color:#111827;font-weight:700;margin-bottom:0;line-height:1.4;letter-spacing:0;max-width:100%;hyphens:auto}.node-subtitle,.node-title{text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word}.node-subtitle{font-size:.75rem;color:#6b7280;line-height:1.3;opacity:.85;margin-top:4px}.node.main{background:#f0f8ff;border:3px solid #9ca3af;transform:scale(1.05);min-width:280px}.node.main:hover{transform:scale(1.08) translateY(-2px);border-color:#9ca3af;background:#ebf4ff}.node.secondary{background:#f9fafb;border:2px solid #d1d5db;min-width:260px;box-shadow:0 2px 8px rgba(0,0,0,.08)}.node.secondary:hover{border-color:#9ca3af;background:#f3f4f6;box-shadow:0 6px 15px rgba(0,0,0,.12)}.add-button{width:40px;height:40px;border-radius:50%;background:#fff;border:2px dashed #d1d5db;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:1.2rem;color:#6b7280;box-shadow:0 2px 4px rgba(0,0,0,.1)}.add-button:hover{background:#f0f8ff;border-color:#3b82f6;color:#3b82f6;transform:scale(1.1);box-shadow:0 4px 12px rgba(59,130,246,.15)}.node.fixed{min-width:0!important;max-width:none!important}.node.tertiary{background:#fafafa;border:1px solid #e5e7eb;min-width:220px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.node.tertiary:hover{border-color:#d1d5db;background:#f5f5f5;box-shadow:0 4px 6px rgba(0,0,0,.1)}.node.selected{border:none!important}.node:focus{outline:none}.add-button:focus{outline:2px solid #3b82f6;outline-offset:2px}.expand-indicator{position:absolute;bottom:-8px;right:-8px;background:#3b82f6;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px rgba(59,130,246,.3)}.expand-indicator:hover{background:#2563eb;transform:scale(1.1)}.node input{background:hsla(0,0%,100%,.95);border:1px solid #d1d5db;border-radius:6px;padding:8px 12px;font-size:.9rem;font-weight:600;color:#4b5563;text-align:center;width:100%;max-width:200px;outline:none}.node input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59,130,246,.2)}@media (max-width:768px){.node{min-width:200px;max-width:280px;padding:12px 16px;min-height:70px;max-height:110px}.node.main{min-width:240px;max-height:125px}.node.secondary{min-width:220px}.node-title{font-size:.85rem;-webkit-line-clamp:2}.node-subtitle{font-size:.7rem;-webkit-line-clamp:1}}.forum-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(44,62,80,.15);display:flex;align-items:center;justify-content:center;z-index:1000}.forum-modal{background:#fff;border-radius:16px;width:90%;max-width:800px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 40px rgba(44,62,80,.15),0 8px 16px rgba(44,62,80,.1);overflow:hidden}.forum-modal__header{padding:24px 32px 20px;border-bottom:1px solid #f0f0f0;background:#fff}.forum-modal__header-content{display:flex;align-items:center;justify-content:space-between}.forum-modal__title{font-size:24px;font-weight:600;color:#2c3e50;margin:0}.forum-modal__header-actions{display:flex;align-items:center;gap:16px}.forum-modal__start-btn{background:#5b8c5a;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s ease}.forum-modal__start-btn:hover{background:#4a7249;transform:translateY(-1px);box-shadow:0 4px 12px rgba(91,140,90,.25)}.forum-modal__close-btn{background:none;border:none;color:#6b7280;padding:8px;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.forum-modal__close-btn:hover{background:#f3f4f6;color:#2c3e50}.forum-modal__content{flex:1;overflow-y:auto;display:flex;flex-direction:column}.forum-modal__filters{padding:0 32px;background:#fff;border-bottom:1px solid #f0f0f0}.forum-modal__tabs{display:flex;gap:8px;overflow-x:auto;padding:16px 0}.forum-modal__tab{padding:8px 16px;border-radius:20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;border:1px solid transparent;background:#f8f9fa;color:#6b7280}.forum-modal__tab--active{background:#5b8c5a;color:#fff;box-shadow:0 2px 8px rgba(91,140,90,.2)}.forum-modal__tab:not(.forum-modal__tab--active):hover{background:#e5f3e4;color:#5b8c5a;border-color:#d1e7d0}.forum-modal__search{padding:20px 32px 16px;background:#fafbfc}.forum-modal__search-container{position:relative;max-width:500px}.forum-modal__search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:16px}.forum-modal__search-input{width:100%;padding:12px 16px 12px 44px;border:1px solid #e5e7eb;border-radius:10px;font-size:14px;background:#fff;transition:all .2s ease;color:#2c3e50}.forum-modal__search-input:focus{outline:none;border-color:#5b8c5a;box-shadow:0 0 0 3px rgba(91,140,90,.1)}.forum-modal__search-input::placeholder{color:#9ca3af}.forum-modal__posts{flex:1;overflow-y:auto;padding:8px 32px 32px;background:#fafbfc}.forum-modal__empty{text-align:center;padding:60px 20px;color:#6b7280}.forum-modal__empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.forum-modal__empty-title{font-size:18px;font-weight:600;color:#2c3e50;margin-bottom:8px}.forum-modal__empty-text{font-size:14px;line-height:1.5}.forum-post{background:#fff;border:1px solid #f0f0f0;border-radius:12px;padding:20px;margin-bottom:12px;transition:all .2s ease;cursor:pointer}.forum-post:hover{border-color:#d1e7d0;box-shadow:0 4px 12px rgba(91,140,90,.08);transform:translateY(-1px)}.forum-post:focus{outline:none;border-color:#5b8c5a;box-shadow:0 0 0 3px rgba(91,140,90,.1)}.forum-post__header{margin-bottom:12px}.forum-post__tags{display:flex;gap:8px;flex-wrap:wrap}.forum-post__tag{padding:4px 10px;border-radius:16px;font-size:12px;font-weight:500}.forum-post__tag--primary{background:rgba(91,140,90,.1);color:#5b8c5a}.forum-post__tag--secondary{background:rgba(108,142,191,.1);color:#6c8ebf}.forum-post__title{font-size:16px;font-weight:600;color:#2c3e50;line-height:1.4;margin:12px 0}.forum-post__footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.forum-post__author{display:flex;align-items:center;gap:12px}.forum-post__avatar{width:36px;height:36px;border-radius:50%;background:#6c8ebf;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.forum-post__author-info{display:flex;flex-direction:column;gap:2px}.forum-post__author-name{font-weight:600;color:#2c3e50;font-size:14px}.forum-post__timestamp{font-size:12px;color:#9ca3af}.forum-post__stats{display:flex;align-items:center;gap:6px;color:#6b7280;font-size:13px}.forum-post__reply-count{font-weight:500}.discussion-thread{padding:24px 32px 32px;width:100%;max-width:900px;margin:0 auto;background:#fff}.discussion-thread__header{margin-bottom:32px}.discussion-thread__back-btn{display:flex;align-items:center;gap:8px;color:#6b7280;text-decoration:none;font-size:14px;font-weight:500;transition:all .2s ease;background:none;border:none;cursor:pointer}.discussion-thread__back-btn:hover{color:#5b8c5a}.discussion-thread__original-post{background:linear-gradient(135deg,rgba(91,140,90,.03),rgba(108,142,191,.02));border:1px solid rgba(91,140,90,.1);border-radius:16px;overflow:hidden;margin-bottom:40px}.discussion-thread__post-header{background:#fff;padding:24px 28px 16px;border-bottom:1px solid rgba(91,140,90,.1)}.discussion-thread__post-title-row{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.discussion-thread__post-title{font-family:Crimson Text,serif;font-size:24px;font-weight:600;color:#2c3e50;flex:1;line-height:1.3;margin:0}.discussion-thread__post-badge{background:rgba(91,140,90,.1);color:#5b8c5a;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-left:16px}.discussion-thread__post-meta{display:flex;align-items:center;gap:16px;color:#6b7280;font-size:14px}.discussion-thread__author-info{display:flex;align-items:center;gap:10px}.discussion-thread__author-avatar{width:32px;height:32px;border-radius:50%;background:#5b8c5a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px}.discussion-thread__author-name{font-weight:600;color:#2c3e50}.discussion-thread__post-timestamp{color:#9ca3af}.discussion-thread__post-content{padding:24px 28px 28px;background:#fff}.discussion-thread__post-text{font-size:16px;line-height:1.7;color:#2c3e50;margin-bottom:20px}.discussion-thread__post-actions{display:flex;gap:12px;align-items:center;padding-top:16px;border-top:1px solid #f3f4f6}.discussion-thread__reply-btn{background:#5b8c5a;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.discussion-thread__reply-btn:hover{background:#4a7249;transform:translateY(-1px);box-shadow:0 4px 12px rgba(91,140,90,.25)}.discussion-thread__engagement-stats{display:flex;align-items:center;gap:16px;margin-left:auto;font-size:13px;color:#6b7280}.discussion-thread__stat-item{display:flex;align-items:center;gap:4px}.discussion-thread__replies{margin-bottom:32px}.discussion-thread__section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.discussion-thread__section-title{font-size:18px;font-weight:600;color:#2c3e50;margin:0}.discussion-thread__replies-count{color:#6b7280;font-size:14px}.discussion-thread__replies-list{display:flex;flex-direction:column;gap:16px}.discussion-thread__reply{background:#fff;border:1px solid #f0f0f0;border-radius:12px;padding:20px;transition:all .2s ease;position:relative}.discussion-thread__reply:hover{border-color:rgba(91,140,90,.2);box-shadow:0 2px 8px rgba(91,140,90,.08)}.discussion-thread__reply--original-author:before{content:"OP";position:absolute;top:16px;right:16px;background:#6c8ebf;color:#fff;padding:2px 8px;border-radius:12px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.discussion-thread__reply-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.discussion-thread__reply-avatar{width:36px;height:36px;border-radius:50%;background:#6c8ebf;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.discussion-thread__reply-avatar--op{background:#5b8c5a}.discussion-thread__reply-meta{flex:1}.discussion-thread__reply-author{font-weight:600;color:#2c3e50;font-size:14px}.discussion-thread__reply-timestamp{font-size:12px;color:#9ca3af;margin-top:2px}.discussion-thread__reply-content{font-size:15px;line-height:1.6;color:#2c3e50}.discussion-thread__compose{padding:24px;background:#fafbfc;border-radius:12px;border:1px solid #f0f0f0}.discussion-thread__compose-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.discussion-thread__current-user-avatar{width:36px;height:36px;border-radius:50%;background:#5b8c5a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.discussion-thread__reply-prompt{font-weight:500;color:#2c3e50}.discussion-thread__reply-textarea{width:100%;min-height:100px;padding:12px 16px;border:1px solid #e5e7eb;border-radius:8px;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;resize:vertical;transition:all .2s ease}.discussion-thread__reply-textarea:focus{outline:none;border-color:#5b8c5a;box-shadow:0 0 0 3px rgba(91,140,90,.1)}.discussion-thread__reply-textarea::placeholder{color:#9ca3af}.discussion-thread__compose-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:16px}.discussion-thread__cancel-btn{background:none;border:1px solid #e5e7eb;color:#6b7280;padding:10px 20px;border-radius:8px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s ease}.discussion-thread__cancel-btn:hover{border-color:#d1d5db;background:#f9fafb}.discussion-thread__submit-btn{background:#5b8c5a;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s ease}.discussion-thread__submit-btn:hover:not(:disabled){background:#4a7249;transform:translateY(-1px);box-shadow:0 4px 12px rgba(91,140,90,.25)}.discussion-thread__submit-btn:disabled{background:#d1d5db;cursor:not-allowed;transform:none;box-shadow:none}.discussion-thread__error{text-align:center;padding:60px 20px;color:#6b7280}.discussion-thread__error h3{color:#2c3e50;margin-bottom:8px}.discussion-thread__error p{margin-bottom:20px}.discussion-form{display:flex;flex-direction:column;height:100%;max-width:700px;margin:0 auto;background:#fff}.discussion-form__header{display:flex;align-items:center;justify-content:space-between;padding:24px 32px 20px;border-bottom:1px solid #f0f0f0}.discussion-form__title{font-size:24px;font-weight:600;color:#2c3e50;margin:0}.discussion-form__close-btn{background:none;border:none;color:#6b7280;padding:8px;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.discussion-form__close-btn:hover{background:#f3f4f6;color:#2c3e50}.discussion-form__form{flex:1;overflow-y:auto;padding:24px 32px 32px}.discussion-form__group{margin-bottom:24px}.discussion-form__label{display:block;font-weight:600;color:#2c3e50;margin-bottom:8px;font-size:15px}.discussion-form__help{font-size:13px;color:#6b7280;margin-bottom:12px;line-height:1.4}.discussion-form__title-input{width:100%;padding:12px 16px;border:1px solid #e5e7eb;border-radius:8px;font-size:16px;font-weight:500;background:#fff;transition:all .2s ease;color:#2c3e50}.discussion-form__title-input:focus{outline:none;border-color:#5b8c5a;box-shadow:0 0 0 3px rgba(91,140,90,.1)}.discussion-form__title-input::placeholder{color:#9ca3af;font-weight:400}.discussion-form__content-textarea{width:100%;min-height:140px;padding:16px;border:1px solid #e5e7eb;border-radius:8px;font-family:Inter,sans-serif;font-size:15px;line-height:1.6;resize:vertical;background:#fff;transition:all .2s ease;color:#2c3e50}.discussion-form__content-textarea:focus{outline:none;border-color:#5b8c5a;box-shadow:0 0 0 3px rgba(91,140,90,.1)}.discussion-form__content-textarea::placeholder{color:#9ca3af}.discussion-form__char-counter{display:flex;justify-content:flex-end;margin-top:6px;font-size:12px;color:#9ca3af}.discussion-form__char-counter--warning{color:#f59e0b}.discussion-form__char-counter--error{color:#ef4444}.discussion-form__tags-section{margin-top:16px}.discussion-form__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.discussion-form__tag{padding:6px 12px;border-radius:16px;font-size:12px;font-weight:500;display:flex;align-items:center;gap:6px}.discussion-form__tag--primary{background:rgba(91,140,90,.1);color:#5b8c5a}.discussion-form__tag--secondary{background:rgba(108,142,191,.1);color:#6c8ebf}.discussion-form__actions{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid #f0f0f0;margin-top:24px}.discussion-form__cancel-btn{background:none;border:1px solid #e5e7eb;color:#6b7280;padding:12px 24px;border-radius:8px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s ease}.discussion-form__cancel-btn:hover:not(:disabled){border-color:#d1d5db;background:#f9fafb}.discussion-form__submit-btn{background:#5b8c5a;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.discussion-form__submit-btn:hover:not(:disabled){background:#4a7249;transform:translateY(-1px);box-shadow:0 4px 12px rgba(91,140,90,.25)}.discussion-form__submit-btn:disabled{background:#d1d5db;cursor:not-allowed;transform:none;box-shadow:none}.discussion-form__spinner{width:16px;height:16px;border:2px solid transparent;border-top-color:currentcolor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.forum-modal{width:95%;max-height:90vh;margin:20px}.forum-modal__filters,.forum-modal__header,.forum-modal__posts,.forum-modal__search{padding-left:24px;padding-right:24px}.forum-modal__title{font-size:20px}.forum-modal__header-actions{gap:12px}.forum-modal__start-btn{padding:8px 16px;font-size:13px}.forum-modal__tabs{gap:6px}.forum-modal__tab{padding:6px 12px;font-size:13px}.discussion-thread{padding:20px 24px 24px}.discussion-thread__post-content,.discussion-thread__post-header{padding-left:20px;padding-right:20px}.discussion-thread__post-title{font-size:20px}.discussion-thread__post-title-row{flex-direction:column;gap:12px}.discussion-thread__post-badge{margin-left:0;align-self:flex-start}.discussion-form__form,.discussion-form__header{padding-left:24px;padding-right:24px}.discussion-form__title{font-size:20px}.discussion-form__actions{gap:12px}.discussion-form__cancel-btn,.discussion-form__submit-btn{flex:1;justify-content:center}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (prefers-contrast:high){.forum-modal__tab--active{border:2px solid}.discussion-form__content-textarea:focus,.discussion-form__title-input:focus,.discussion-thread__reply-textarea:focus,.discussion-thread__reply:hover,.forum-modal__search-input:focus,.forum-post:hover{border:2px solid #5b8c5a}}.discussion-form__cancel-btn:focus-visible,.discussion-form__submit-btn:focus-visible,.discussion-thread__back-btn:focus-visible,.discussion-thread__reply-btn:focus-visible,.forum-modal__tab:focus-visible,.forum-post:focus-visible{outline:2px solid #5b8c5a;outline-offset:2px}.view-panel{position:absolute;top:0;bottom:0;left:0;right:0;z-index:0}.view-panel.hidden{display:none}.pdf-panel{overflow-y:auto}.map-panel{overflow:hidden}.resource-panel{flex-shrink:0;width:320px;border-left:1px solid #e2e8f0;overflow-y:auto}.canvas-panels{display:grid;grid-template-columns:1fr auto;min-height:0;overflow:hidden}.map-canvas{height:100dvh;overflow:hidden;display:flex;flex-direction:column}.map-canvas>header{position:sticky;top:0;z-index:40}.map-column{display:flex;flex-direction:column;position:relative;min-height:0}.map-cell{flex:1 1 auto}.map-cell,.resource-cell{position:relative;overflow:hidden}.resource-cell{z-index:1;display:flex;flex-direction:column}.bottom-controls{left:50%;transform:translateX(-50%)}.bottom-controls,.chat-btn{position:absolute;bottom:20px}.chat-btn{right:20px;z-index:60;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .1s ease}.chat-btn:hover{transform:scale(1.05)}@media (max-width:1024px){[data-testid=canvas-viewer].map-canvas{height:100vh!important;max-width:100vw!important;min-width:100vw!important;border-radius:0!important;border:none!important;box-shadow:none!important;position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;flex:none!important;display:block!important;overflow:auto;transform:none!important;scrollbar-width:auto}.canvas-panels,[data-testid=canvas-viewer].map-canvas{width:100vw!important;margin:0!important;padding:0!important}.canvas-panels{grid-template-columns:1fr!important;grid-template-rows:1fr!important}.resource-cell{display:none!important;width:0!important;height:0!important;min-width:0!important;min-height:0!important;border:none!important}.map-column,.resource-cell{padding:0!important;margin:0!important}.map-column{width:100vw!important;height:calc(100vh - 60px)!important;min-width:100%!important;min-height:100%!important}.map-cell{width:100%!important;height:100%!important;min-height:0!important;position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important}.map-canvas{height:100dvh!important;overflow-y:auto!important;overflow-x:auto!important;display:flex!important;flex-direction:column!important;width:100vw!important;margin:0!important;padding:0!important}.hidden-scrollbar::-webkit-scrollbar,.map-cell ::-webkit-scrollbar{display:block!important;width:6px;height:6px;background-color:rgba(0,0,0,.05)}.hidden-scrollbar::-webkit-scrollbar-thumb,.map-cell ::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.2);border-radius:4px}.hidden-scrollbar::-webkit-scrollbar-corner,.map-cell ::-webkit-scrollbar-corner{background:transparent}}.prevent-select{-webkit-user-select:none;-ms-user-select:none;user-select:none}.file-tile{border:1px solid #e8e8e8;padding:14px 14px 14px 10px;transition:all .2s ease;box-shadow:0 1px 3px rgba(0,0,0,.06);display:flex;flex-direction:column;min-height:90px}.file-tile:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 2px 2px 0;background:var(--accent-color,#c8e6c9);transition:all .2s ease}.file-tile:hover{transform:translateX(3px);box-shadow:0 4px 12px rgba(108,142,191,.12);border-color:#d4c4b0}.file-tile:hover:before{width:4px}.file-tile .file-header-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding-left:6px;flex:1;min-height:0}.file-tile .file-icon-small{width:32px;height:32px;border-radius:6px;background:#faf8f5;display:flex;align-items:center;justify-content:center;color:#8b7355;font-size:16px;flex-shrink:0}.file-tile .file-title{font-weight:500;font-size:13.5px;color:#2c3e50;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1;word-wrap:break-word;hyphens:auto}.file-tile .file-footer{font-size:11px;color:#6c757d}.file-tile .file-footer,.file-tile .file-meta{padding-left:6px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.file-tile .file-time{font-size:11px;color:#6c757d}.file-tile .delete-button{position:absolute;top:8px;right:8px;background:hsla(0,0%,100%,.95);border:1px solid #e0e0e0;border-radius:4px;padding:4px;cursor:pointer;opacity:0;transition:all .15s ease;z-index:10}.file-tile .delete-button:hover{background:#fff5f5;border-color:#fca5a5;transform:scale(1.05)}.file-tile .trash-icon{width:12px;height:12px;color:#ef4444}.file-tile.color-sage,.file-tile[data-color="#C8E6C9"]{--accent-color:#c8e6c9}.file-tile.color-peach,.file-tile[data-color="#FFE0B2"]{--accent-color:#ffe0b2}.file-tile.color-sky,.file-tile[data-color="#BBDEFB"]{--accent-color:#bbdefb}.file-tile.color-lavender,.file-tile[data-color="#E1BEE7"]{--accent-color:#e1bee7}.file-tile.color-rose,.file-tile[data-color="#FFCDD2"]{--accent-color:#ffcdd2}.file-tile.color-sand,.file-tile[data-color="#D4C4B0"]{--accent-color:#d4c4b0}.file-tile.color-mint,.file-tile[data-color="#B2DFDB"]{--accent-color:#b2dfdb}.file-tile.color-cream,.file-tile[data-color="#F0E6D2"]{--accent-color:#f0e6d2}.file-tile.color-periwinkle,.file-tile[data-color="#E8EAF6"]{--accent-color:#e8eaf6}.file-tile.color-butter,.file-tile[data-color="#FFF9C4"]{--accent-color:#fff9c4}.file-tile.color-slate,.file-tile[data-color="#CFD8DC"]{--accent-color:#cfd8dc}.file-tile.color-blush,.file-tile[data-color="#F8BBD0"]{--accent-color:#f8bbd0}.file-tile.color-leaf,.file-tile[data-color="#DCEDC8"]{--accent-color:#dcedc8}.file-tile.color-coral,.file-tile[data-color="#FFCCBC"]{--accent-color:#ffccbc}.file-tile.color-lilac,.file-tile[data-color="#D1C4E9"]{--accent-color:#d1c4e9}.file-tile.color-iris,.file-tile[data-color="#C5CAE9"]{--accent-color:#c5cae9}.file-tile.color-azure,.file-tile[data-color="#B3E5FC"]{--accent-color:#b3e5fc}.file-tile.color-aqua,.file-tile[data-color="#E0F2F1"]{--accent-color:#e0f2f1}.file-tile.color-honey,.file-tile[data-color="#FFF3E0"]{--accent-color:#fff3e0}.file-tile.color-orchid,.file-tile[data-color="#F3E5F5"]{--accent-color:#f3e5f5}@media (max-width:768px){.file-tile{padding:12px 12px 12px 8px;min-height:85px}.file-tile .file-header-row{gap:8px;margin-bottom:8px}.file-tile .file-icon-small{width:28px;height:28px;font-size:14px}.file-tile .file-title{font-size:13px}.file-tile .file-time{font-size:10px}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.file-tile.skeleton{cursor:default;pointer-events:none;border-color:#e8e8e8;box-shadow:none}.file-tile.skeleton:hover{transform:none;box-shadow:none}.file-tile.skeleton:before{display:none}.skeleton-bg{background:#f0f0f0;background:linear-gradient(90deg,#f0f0f0 25%,#f8f8f8 50%,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-icon{width:32px;height:32px;border-radius:6px}.skeleton-text{height:14px;margin-bottom:6px}.skeleton-text.title{width:70%;height:16px}.skeleton-text.meta{width:40%;margin-top:auto}@media (max-width:480px){.file-tile{padding:10px 10px 10px 6px;min-height:80px}.file-tile .file-header-row{gap:6px;margin-bottom:6px}.file-tile .file-icon-small{width:26px;height:26px;font-size:13px}.file-tile .file-title{font-size:12.5px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;background:linear-gradient(180deg,#fefefe 0,#fefefe 60px,#faf8f5 0,#faf8f5 calc(100% - 60px),#fefefe calc(100% - 60px),#fefefe);color:#2c3e50;line-height:1.5;height:100vh;overflow:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f8f9fa;border-radius:4px}::-webkit-scrollbar-thumb{background:#d4c4b0;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#c4b4a0}.nav-panel{position:fixed;left:0;top:0;width:280px;height:100vh;background:#fff;border-right:1px solid #e8e8e8;transform:translateX(-280px);transition:transform .25s ease;z-index:90;box-shadow:2px 0 12px rgba(0,0,0,.08)}.nav-panel.expanded{transform:translateX(0)}.nav-panel-content{padding:24px 20px}.nav-brand{font-family:Crimson Text,serif;font-size:22px;font-weight:600;color:#2c3e50;margin-bottom:32px;text-align:center}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;cursor:pointer;margin-bottom:8px;font-size:14px;color:#6c757d;transition:all .15s ease}.nav-item:hover{background:#f8f9fa;color:#2c3e50}.nav-item.active{background:#f0f8f0;color:#5b8c5a}.nav-icon{width:18px;height:18px;fill:currentColor}.nav-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.3);opacity:0;visibility:hidden;transition:all .25s ease;z-index:80}.nav-overlay.active{opacity:1;visibility:visible}.menu-toggle{position:fixed;top:20px;left:20px;z-index:100;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:10px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:all .15s ease}.menu-toggle:hover{background:#f8f9fa;transform:translateY(-1px)}.hamburger{width:20px;height:20px;stroke:#2c3e50;stroke-width:2}.home-screen-v3{height:100vh;width:100vw;background:linear-gradient(180deg,#fefefe 0,#fefefe 60px,#faf8f5 0,#faf8f5 calc(100% - 60px),#fefefe calc(100% - 60px),#fefefe)!important}.main-container{height:100vh;width:100vw;padding-left:60px}.content-wrapper{height:100vh;display:grid;grid-template-columns:1fr 300px;gap:24px;overflow:hidden}.main-content{padding:24px 0 32px 32px;overflow-y:auto;display:flex;flex-direction:column;gap:20px;scrollbar-width:none;-ms-overflow-style:none}.main-content::-webkit-scrollbar{display:none}.welcome-section{padding:16px 0;flex-shrink:0}.welcome-title{font-size:28px;font-weight:600;color:#2c3e50;margin-bottom:4px}.welcome-subtitle{color:#6c757d;font-size:14px}.actions-card{background:#fff;border:1px solid #e8e8e8;border-radius:12px;padding:20px;flex-shrink:0}.actions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.action-tile{background:#fafafa;border:1px solid #f0f0f0;border-radius:8px;padding:18px 14px;text-align:center;cursor:pointer;transition:all .15s ease}.action-tile:hover{background:#fff;border-color:#d4c4b0;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08)}.action-tile.emphasized{border-color:#5b8c5a;background:#f8fbf8}.action-icon{width:28px;height:28px;margin:0 auto 10px;color:#5b8c5a}.action-title{font-weight:500;font-size:13px;color:#2c3e50;margin-bottom:3px}.action-desc{font-size:11px;color:#6c757d}.files-card{background:#fff;border:1px solid #e8e8e8;border-radius:12px;display:flex;flex-direction:column;height:400px;overflow:hidden;flex-shrink:0}.files-header{padding:20px 20px 12px;flex-shrink:0;border-bottom:1px solid #f0f0f0}.files-header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.files-title{font-size:18px;font-weight:600;color:#2c3e50}.files-search{display:flex;align-items:center;gap:16px}.files-search-input{padding:8px 16px;border:1px solid #d4c4b0;border-radius:20px;font-size:13px;background:#fafafa;color:#2c3e50;width:220px}.files-search-input:focus{outline:none;border-color:#5b8c5a;background:#fff}.files-search-input::placeholder{color:#9ca3af}.tab-controls{display:flex;gap:6px}.tab{padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;color:#6c757d;transition:all .15s ease;border-bottom:2px solid transparent}.tab.active{color:#5b8c5a;border-bottom-color:#5b8c5a;background:#f8fbf8}.tab:hover:not(.active){background:#f8f9fa}.files-content{flex:1;overflow-y:auto;padding:20px}.files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.file-tile{background:#fff;border:1px solid #d0d0d0;border-radius:8px;padding:14px;cursor:pointer;transition:all .15s ease;position:relative;box-shadow:0 1px 3px rgba(0,0,0,.05)}.file-tile:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.12);border-color:#b0b0b0}.file-header{height:5px;border-radius:2px;margin-bottom:12px}.file-header.bio{background:#c8e6c9}.file-header.chem{background:#ffe0b2}.file-header.math{background:#bbdefb}.file-header.history{background:#e1bee7}.file-header.physics{background:#c8e6c9}.file-header.psych{background:#ffcdd2}.file-title{font-weight:500;font-size:14px;color:#1a1a1a;margin-bottom:8px;line-height:1.3}.file-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.file-time{font-size:11px;color:#555}.file-status{font-size:9px;background:#e8f5e8;color:#2e7d32;padding:2px 6px;border-radius:8px;font-weight:500}.file-subject{font-size:10px;color:#757575;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.delete-button{position:absolute;top:8px;right:8px;background:hsla(0,0%,100%,.9);border:1px solid #e0e0e0;border-radius:4px;padding:4px;cursor:pointer;opacity:0;transition:all .15s ease;z-index:10}.file-tile:hover .delete-button{opacity:1}.delete-button:hover{background:#fff5f5;border-color:#fca5a5}.trash-icon{width:12px;height:12px;color:#ef4444}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}.empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.6}.empty-title{font-size:1.25rem;font-weight:600;color:#2c3e50;margin-bottom:.5rem}.empty-description{color:#6c757d;font-size:.875rem}.assistant-panel{position:fixed;right:0;top:0;width:300px;height:100vh;padding:24px 32px 32px 0;display:flex;flex-direction:column;gap:16px;overflow-y:auto;background:inherit}.assistant-card{background:#fff;border:1px solid #e8e8e8;border-radius:12px;padding:18px;flex-shrink:0}.panel-title{font-weight:600;font-size:15px;color:#2c3e50;margin-bottom:14px}.checklist-item{gap:10px;margin-bottom:10px;font-size:13px}.check-icon,.checklist-item{display:flex;align-items:center}.check-icon{width:18px;height:18px;border-radius:50%;background:#5b8c5a;color:#fff;justify-content:center;font-size:10px;flex-shrink:0}.suggestion-item{padding:10px;background:#f8f9fa;border-radius:6px;margin-bottom:6px;cursor:pointer;transition:all .15s ease;font-size:13px}.suggestion-item:hover{background:#f0f8f0}.learn-card-content{background:#5b8c5a;color:#fff;padding:14px;border-radius:8px;cursor:pointer;transition:transform .15s ease}.learn-card-content:hover{transform:translateY(-1px)}.learn-title{font-weight:600;margin-bottom:4px;font-size:13px}.learn-desc{font-size:11px;opacity:.9}.fixed{position:fixed}.inset-0{top:0;right:0;bottom:0;left:0}.z-50{z-index:50}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.bg-black{background-color:rgba(0,0,0,.5)}.bg-opacity-50{background-opacity:.5}.modal-content{background:#fff;border-radius:12px;padding:24px;max-width:400px;width:90%;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.modal-title{font-size:18px;font-weight:600;color:#2c3e50;margin-bottom:16px}.modal-description{color:#6c757d;margin-bottom:24px;line-height:1.5}.modal-button{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .15s ease}.modal-button:hover{background:#2563eb}@media (max-width:768px){.content-wrapper{grid-template-columns:1fr;gap:16px}.assistant-panel{position:static;width:100%;height:auto;padding:16px}.main-container{padding-left:20px}.actions-grid{grid-template-columns:repeat(2,1fr);gap:12px}.files-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}}@media (max-width:1024px){.home-screen-v3,.main-container,body{height:auto!important;overflow-y:auto!important;overflow-x:hidden}.content-wrapper{display:flex;flex-direction:column;height:auto;overflow:visible}.main-content{width:100%;padding:20px;overflow:visible;height:auto}.assistant-panel{position:static;width:100%;height:auto;padding:0 20px 40px;border-left:none;background:transparent}.actions-grid{grid-template-columns:repeat(2,1fr);gap:12px}.files-card{height:auto;max-height:500px;overflow:hidden}.files-content{overflow-y:auto;max-height:400px}}@media (max-width:480px){.main-container{padding-left:0}.actions-grid{grid-template-columns:1fr}.files-header-top{flex-direction:column;align-items:flex-start;gap:12px}.files-search-input{width:100%}.nav-panel{box-shadow:2px 0 20px rgba(0,0,0,.2)}}.lo-overlay{position:fixed;inset:0;z-index:9999;background:hsla(0,0%,100%,.85);justify-content:center}.lo-card,.lo-overlay{display:flex;align-items:center}.lo-card{flex-direction:column;gap:12px;background:#fff;border:1px solid #d4c4b0;border-radius:12px;padding:20px 22px;min-width:280px;max-width:92vw;box-shadow:0 8px 22px rgba(0,0,0,.08)}.lo-card--sm{padding:16px 18px}.lo-card--lg{padding:24px 26px}.lo-anim{display:flex;align-items:center;justify-content:center;gap:8px;height:18px}.lo-dot{width:8px;height:8px;border-radius:999px;background:#6c8ebf;animation:loPulse 1.2s ease-in-out infinite}.lo-dot:nth-child(2){animation-delay:.15s}.lo-dot:nth-child(3){animation-delay:.3s}@keyframes loPulse{0%{transform:scale(1);opacity:.45}50%{transform:scale(1.35);opacity:1}to{transform:scale(1);opacity:.45}}.lo-texts{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}.lo-title{margin:0;color:#2c3e50;font-weight:700;font-size:16px}.lo-subtitle{margin:0;color:#6b7280;font-size:13px}