@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/logbook/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/logbook/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--green: #083121;--gold: #fcc56c;--muted: #4a5c52;--green-light: #0f4a30;--bg: #f5f3ef;--white: #ffffff;--border: #e0dbd0;--text: #1a1a1a;--text-light: #5a5a5a;--radius: 10px;--font: "DM Sans", "Avenir Next", -apple-system, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:6px;border:none;cursor:pointer;font-family:var(--font);font-size:14px;font-weight:500;transition:opacity .15s,transform .1s;text-decoration:none;white-space:nowrap}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--green);color:var(--white)}.btn-primary:hover:not(:disabled){background:var(--green-light)}.btn-gold{background:var(--gold);color:var(--green);font-weight:600}.btn-gold:hover:not(:disabled){opacity:.9}.btn-secondary{background:transparent;color:var(--green);border:1.5px solid var(--green)}.btn-secondary:hover:not(:disabled){background:var(--green);color:var(--white)}.btn-ghost{background:transparent;color:var(--text-light);border:1.5px solid var(--border)}.btn-ghost:hover:not(:disabled){border-color:var(--muted);color:var(--text)}.btn-danger{background:transparent;color:#c0392b;border:1.5px solid #c0392b}.btn-danger:hover:not(:disabled){background:#c0392b;color:#fff}.btn-sm{padding:5px 12px;font-size:13px}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.form-group label{font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}input[type=text],input[type=email],input[type=number],input[type=password],input[type=file],textarea{font-family:var(--font);font-size:16px;color:var(--text);background:var(--white);border:1.5px solid var(--border);border-radius:6px;padding:10px 14px;width:100%;transition:border-color .15s;outline:none}input[type=text]:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,textarea:focus{border-color:var(--green)}textarea{resize:vertical;line-height:1.6}input[type=file]{padding:8px 10px;cursor:pointer}.card{background:var(--white);border-radius:var(--radius);box-shadow:0 1px 4px #00000012;overflow:hidden}.page{flex:1;padding:32px 20px;max-width:760px;margin:0 auto;width:100%}.page-wide{flex:1;padding:32px 20px;max-width:960px;margin:0 auto;width:100%}.section-header{background:var(--green);color:var(--gold);padding:10px 16px;border-radius:6px;font-weight:600;font-size:15px;margin-bottom:16px}.divider{border:none;border-top:1.5px solid var(--border);margin:28px 0}.loading{display:flex;justify-content:center;align-items:center;padding:60px;color:var(--muted);font-size:15px}.error-msg{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;border-radius:6px;padding:12px 16px;margin-bottom:16px;font-size:14px}.empty-state{text-align:center;padding:60px 20px;color:var(--muted)}.empty-state p{font-size:16px;margin-bottom:16px}.feed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.post-card{background:var(--white);border-radius:var(--radius);border-left:4px solid var(--gold);box-shadow:0 1px 4px #00000012;cursor:pointer;transition:box-shadow .2s,transform .15s;overflow:hidden}.post-card:hover{box-shadow:0 4px 16px #0831211f;transform:translateY(-2px)}.post-card-body{padding:18px 20px}.post-card-meta{font-size:12px;color:var(--muted);margin-bottom:8px;font-weight:500}.post-card-title{font-size:17px;font-weight:700;color:var(--green);margin-bottom:8px;line-height:1.3}.post-card-excerpt{font-size:14px;color:var(--text-light);line-height:1.5}.post-card-footer{padding:10px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}.header{background:var(--green);padding:0 24px;height:60px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #0003}.header-brand{display:flex;align-items:center;gap:12px;text-decoration:none}.header-logo{height:36px;width:36px;border-radius:50%;object-fit:cover}.header-name{color:var(--gold);font-size:17px;font-weight:700;letter-spacing:-.01em}.header-actions{display:flex;align-items:center;gap:10px;position:relative}.login-page{min-height:100vh;background:var(--green);display:flex;align-items:center;justify-content:center;padding:24px}.login-card{background:var(--white);border-radius:16px;padding:40px 36px;width:100%;max-width:380px;box-shadow:0 8px 40px #0003;text-align:center;box-sizing:border-box}.login-logo{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid var(--gold);margin-bottom:16px}.login-title{font-size:20px;font-weight:700;color:var(--green);margin-bottom:4px}.login-subtitle{font-size:13px;color:var(--muted);margin-bottom:28px}.login-form{text-align:left;width:100%}.login-form .form-group{margin-bottom:16px}.login-form .form-group input{width:100%;box-sizing:border-box}.login-submit-btn{width:100%;justify-content:center;padding:12px;margin-top:4px}.post-title{font-size:26px;font-weight:800;color:var(--green);line-height:1.25;margin-bottom:6px}.post-meta{font-size:13px;color:var(--muted);margin-bottom:24px;font-weight:500}.post-content{font-size:16px;line-height:1.75;white-space:pre-wrap;color:var(--text);margin-bottom:28px}.recipe-box{background:#f0f7f3;border:1px solid #c8e0d2;border-radius:8px;padding:20px;margin-bottom:28px}.recipe-content{font-size:15px;line-height:1.75;white-space:pre-wrap;color:var(--text)}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:28px}.image-thumb{aspect-ratio:1;border-radius:6px;overflow:hidden;cursor:pointer;border:2px solid var(--border);transition:border-color .15s}.image-thumb:hover{border-color:var(--gold)}.image-thumb img{width:100%;height:100%;object-fit:cover}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;cursor:pointer}.lightbox-img{max-width:90vw;max-height:90vh;border-radius:8px;box-shadow:0 8px 40px #0006}.questions-section{margin-top:8px}.question-item{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}.question-text{font-size:15px;color:var(--text);margin-bottom:10px;font-style:italic}.question-text:before{content:'"';color:var(--gold);font-size:18px;font-style:normal}.question-text:after{content:'"';color:var(--gold);font-size:18px;font-style:normal}.answer-box{background:#fffbf0;border:1px solid var(--gold);border-radius:6px;padding:12px 14px;margin-top:8px}.answer-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.answer-text{font-size:14px;color:var(--text);white-space:pre-wrap}.answer-form{margin-top:10px;display:flex;flex-direction:column;gap:8px}.answer-form textarea{min-height:80px;font-size:14px}.ask-form{display:flex;gap:10px;margin-top:16px;align-items:flex-end}.ask-form input{flex:1}.create-form{display:flex;flex-direction:column}.create-form textarea.content-area{min-height:220px}.create-form textarea.recipe-area{min-height:140px}.image-previews{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.image-preview-thumb{width:90px;height:90px;border-radius:6px;object-fit:cover;border:2px solid var(--border)}.form-actions{display:flex;gap:12px;margin-top:8px}.feed-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.feed-page-title{font-size:22px;font-weight:700;color:var(--green)}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:14px;text-decoration:none;margin-bottom:20px;font-weight:500}.back-link:hover{color:var(--green)}@media (max-width: 600px){.page,.page-wide{padding:20px 14px}.header{padding:0 14px}.header-name{font-size:15px}.feed-grid{grid-template-columns:1fr}.post-title{font-size:22px}.login-card{padding:32px 24px}.ask-form{flex-direction:column;align-items:stretch}.form-actions{flex-direction:column}.images-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}}.sidebar{width:280px;min-width:280px;background:var(--white);border-right:1px solid var(--border);overflow-y:auto;height:calc(100vh - 60px);position:sticky;top:60px;flex-shrink:0}.sidebar-inner{padding:16px 12px;display:flex;flex-direction:column;gap:12px}.sidebar-new-btn{width:100%;justify-content:center}.main-content{flex:1;overflow-y:auto;height:calc(100vh - 60px);position:sticky;top:60px;background:var(--bg)}.post-detail-pane{padding:28px 40px;max-width:720px}.tabs{display:flex;gap:4px;background:var(--bg);border-radius:8px;padding:4px}.tab-btn{flex:1;padding:7px 10px;border:none;border-radius:6px;background:transparent;color:var(--muted);font-family:var(--font);font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:background .15s,color .15s}.tab-btn.active{background:var(--white);color:var(--green);font-weight:700;box-shadow:0 1px 3px #00000014}.tab-count{background:var(--gold);color:var(--green);font-size:11px;font-weight:700;border-radius:10px;padding:1px 6px;line-height:1.4}.session-list{list-style:none;display:flex;flex-direction:column;gap:2px}.session-item{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;cursor:pointer;border-left:3px solid transparent;transition:background .12s,border-color .12s}.session-item:nth-child(odd){background:#f7faf8}.session-item:nth-child(2n){background:#fff}.session-item:hover{background:#e8f3ed}.session-item.active{background:#dff0e6!important;border-left-color:var(--gold)}.session-item.session-practical{background:#fffbf0}.session-item.session-practical:nth-child(odd){background:#fff8e8}.session-item.session-practical .session-label{background:#fde8a0}.session-item.session-practical .session-dd{color:#a07000}.session-item.session-practical .session-title{color:#7a5500}.session-item.session-practical:hover{background:#fef0c4}.session-item.session-practical.active{background:#fde8a0!important;border-left-color:var(--green)}.session-item.session-practical.active .session-label{background:var(--green)}.session-item.session-practical.active .session-dow,.session-item.session-practical.active .session-dd{color:var(--gold)}.session-label{display:flex;flex-direction:column;align-items:center;background:#e8ede9;border-radius:6px;padding:4px 0;flex-shrink:0}.session-dow{font-size:10px;font-weight:700;color:var(--muted);letter-spacing:.5px;text-transform:uppercase;line-height:1.2}.session-dd{font-size:11px;font-weight:600;color:var(--green);line-height:1.3}.session-item.active .session-label{background:var(--gold)}.session-item.active .session-dow,.session-item.active .session-dd{color:var(--green)}.session-title{font-size:13px;font-weight:600;color:var(--text);line-height:1.35}.session-empty{font-size:13px;color:var(--muted);padding:12px;text-align:center;font-style:italic}@media (max-width: 768px){.sidebar{width:100%;min-width:100%;height:auto;position:static;border-right:none;border-bottom:1px solid var(--border)}.main-content{height:auto;position:static}.sidebar-hidden-mobile{display:none}.main-content-visible-mobile{display:block}.post-detail-pane{padding:20px 16px}}@media (min-width: 769px){.back-link{display:none}}.chat-widget{position:fixed;bottom:24px;right:24px;z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.chat-fab{width:52px;height:52px;border-radius:50%;background:var(--green);color:#fff;border:none;font-size:22px;cursor:pointer;box-shadow:0 4px 16px #0000002e;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .15s}.chat-fab:hover{background:#1a5c38;transform:scale(1.05)}.chat-panel{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:#fff;border-radius:0;box-shadow:none;display:flex;flex-direction:column;overflow:hidden;border:none;box-sizing:border-box;z-index:999}.chat-header{background:var(--green);color:#fff;padding:14px 20px;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.chat-close{background:none;border:none;color:#fff;font-size:16px;cursor:pointer;opacity:.8;line-height:1;padding:0}.chat-close:hover{opacity:1}.chat-messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px;display:flex;flex-direction:column;gap:10px;max-width:720px;width:100%;margin:0 auto;box-sizing:border-box}.chat-empty{font-size:13px;color:var(--muted);font-style:italic;text-align:center;padding:16px 0}.chat-bubble{max-width:75%;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.6;word-break:break-word;overflow-wrap:break-word}.chat-bubble.user{background:var(--green);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.chat-bubble.assistant{background:#f3f7f4;color:var(--text);align-self:flex-start;border-bottom-left-radius:4px}.chat-typing{opacity:.6;font-style:italic}.chat-session-link{display:inline;background:none;border:none;padding:0;color:var(--green);font-size:inherit;font-family:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.chat-session-link:hover{color:#1a5c38}.chat-bubble.assistant p{margin:0 0 6px}.chat-bubble.assistant p:last-child{margin-bottom:0}.chat-bubble.assistant ul,.chat-bubble.assistant ol{margin:4px 0 4px 16px;padding:0}.chat-bubble.assistant li{margin-bottom:2px}.chat-bubble.assistant strong{font-weight:700}.chat-bubble.assistant code{background:#e8f3ed;padding:1px 4px;border-radius:3px;font-size:12px}.chat-input-row{display:flex;border-top:1px solid var(--border);padding:12px 16px;gap:8px;max-width:720px;width:100%;margin:0 auto;box-sizing:border-box}.chat-input-row input{flex:1;border:1px solid var(--border);border-radius:8px;padding:7px 10px;font-size:16px;font-family:inherit;outline:none}.chat-input-row input:focus{border-color:var(--green)}.chat-input-row button{background:var(--green);color:#fff;border:none;border-radius:8px;padding:7px 12px;font-size:13px;font-family:inherit;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-input-row button:disabled{opacity:.5;cursor:not-allowed}.chat-mic-btn{background:#f3f4f6!important;color:var(--text)!important}.chat-mic-btn.recording{background:#fee2e2!important;color:#dc2626!important;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@media (max-width: 768px){.chat-widget{bottom:16px;right:16px}}.detail-section{margin-bottom:28px}.section-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;flex-wrap:wrap}.section-header-row .section-header{margin:0}.lock-status{font-size:12px;color:var(--muted);font-style:italic}.section-text{font-size:15px;line-height:1.75;color:var(--text);white-space:pre-wrap}.empty-hint{font-size:14px;color:var(--muted);font-style:italic;margin:0 0 4px}.inline-edit-textarea{width:100%;min-height:120px;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:inherit;line-height:1.6;resize:vertical;box-sizing:border-box;outline:none}.inline-edit-textarea:focus{border-color:var(--green)}.upload-label{display:inline-block}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:4px}.media-item{display:flex;flex-direction:column}.media-video{width:100%;border-radius:8px;background:#000;max-height:240px}.media-caption{min-height:24px}.caption-text{font-size:12px;color:var(--muted);font-style:italic}.caption-input{flex:1;border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-size:16px;font-family:inherit;outline:none}.caption-input:focus{border-color:var(--green)}.sidebar-search{padding:0 0 8px}.search-input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:16px;font-family:inherit;background:#f9fafb;color:var(--text);outline:none;box-sizing:border-box}.search-input:focus{border-color:var(--green);background:#fff}.hamburger-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:none;background:transparent;color:var(--gold);cursor:pointer;transition:background .15s}.hamburger-btn:hover{background:#ffffff1a}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:399;opacity:0;pointer-events:none;transition:opacity .25s ease}.drawer-overlay.visible{opacity:1;pointer-events:auto}.side-drawer{position:fixed;top:0;right:0;bottom:0;width:320px;background:#fff;z-index:400;display:flex;flex-direction:column;box-shadow:-6px 0 24px #0000001f;transform:translate(100%);transition:transform .28s cubic-bezier(.4,0,.2,1)}.side-drawer.open{transform:translate(0)}@media (max-width: 768px){.side-drawer{width:100%}}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:60px;background:var(--green);flex-shrink:0}.drawer-title{color:var(--gold);font-size:16px;font-weight:700}.drawer-close{background:none;border:none;color:#ffffffb3;cursor:pointer;padding:4px;display:flex;align-items:center}.drawer-close:hover{color:#fff}.drawer-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px;display:flex;flex-direction:column;gap:4px}.drawer-primary-btn{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--gold);color:var(--green);border-radius:8px;font-family:var(--font);font-size:14px;font-weight:700;text-decoration:none;margin-bottom:8px;border:none;cursor:pointer}.drawer-section{border:1px solid var(--border);border-radius:8px;overflow:hidden}.drawer-section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:11px 14px;background:#f8faf8;border:none;font-family:var(--font);font-size:13px;font-weight:600;color:var(--green);cursor:pointer;transition:background .12s}.drawer-section-toggle:hover{background:#eff6f1}.drawer-section-title{display:flex;align-items:center;gap:8px}.drawer-section-body{padding:12px 14px;border-top:1px solid var(--border);background:#fff}.drawer-empty{font-size:13px;color:var(--muted);font-style:italic}.drawer-resource-list{list-style:none;display:flex;flex-direction:column;gap:6px}.drawer-resource-item{border-radius:6px;border:1px solid var(--border);background:#fafafa;overflow:hidden}.drawer-resource-item.expandable{display:flex;flex-direction:column}.drawer-resource-row{display:flex;align-items:center;gap:8px;padding:8px 10px;width:100%;background:none;border:none;cursor:pointer;font-family:var(--font);text-align:left;transition:background .12s}.drawer-resource-row:hover{background:#eff6f1}.resource-chevron{margin-left:auto;flex-shrink:0;color:var(--muted)}.drawer-resource-detail{padding:0 10px 10px;border-top:1px solid var(--border);margin-top:0}.drawer-resource-desc{font-size:12px;color:var(--text-light);line-height:1.55;margin:8px 0 10px}.drawer-resource-open-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;background:var(--green);color:#fff;border-radius:5px;font-size:12px;font-weight:500;text-decoration:none;transition:opacity .15s}.drawer-resource-open-btn:hover{opacity:.85}.drawer-quiz-list{list-style:none;display:flex;flex-direction:column;gap:6px}.drawer-quiz-item{padding:9px 10px;border-radius:6px;border:1px solid var(--border);background:#fafafa;cursor:pointer;transition:background .12s}.drawer-quiz-item:hover{background:#eff6f1}.drawer-quiz-title{font-size:13px;font-weight:600;color:var(--text)}.drawer-quiz-post{font-size:11px;color:var(--muted);margin-top:2px}.drawer-upload-btn{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:6px 12px;border:1.5px dashed var(--border);border-radius:6px;background:transparent;font-family:var(--font);font-size:12px;color:var(--muted);cursor:pointer;transition:border-color .15s,color .15s;width:100%;justify-content:center}.drawer-upload-btn:hover{border-color:var(--green);color:var(--green)}.drawer-footer{padding:12px;border-top:1px solid var(--border);flex-shrink:0}.drawer-logout{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:8px;background:transparent;font-family:var(--font);font-size:14px;font-weight:500;color:var(--text-light);cursor:pointer;transition:color .15s,border-color .15s}.drawer-logout:hover{color:#c0392b;border-color:#c0392b}.sidebar-rules{border-top:1px solid var(--border);padding-top:10px}.rules-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:7px 10px;background:#f5f7f5;border:none;border-radius:6px;font-family:var(--font);font-size:12px;font-weight:600;color:var(--green);cursor:pointer;letter-spacing:.02em;text-transform:uppercase}.rules-toggle:hover{background:#e8f0ea}.rules-body{padding:10px 8px 4px;display:flex;flex-direction:column;gap:2px}.rules-line{font-size:12px;color:var(--text-light);line-height:1.55}.sidebar-logout{display:flex;align-items:center;gap:8px;width:100%;padding:12px 10px 8px;border:none;border-radius:6px;background:transparent;font-family:var(--font);font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;border-top:1px solid var(--border);margin-top:4px;transition:color .15s}.sidebar-logout:hover{color:#c0392b}.rp-toggle{position:fixed;right:0;top:50%;transform:translateY(-50%);background:var(--green);color:#fff;border:none;border-radius:8px 0 0 8px;padding:14px 7px;cursor:pointer;z-index:300;display:flex;align-items:center;box-shadow:-2px 2px 8px #00000026;transition:right .25s ease,background .15s}.rp-toggle:hover{background:var(--green-light)}.rp-toggle.open{right:320px}.right-panel{position:fixed;right:-320px;top:60px;bottom:0;width:320px;background:#fff;border-left:1px solid var(--border);z-index:299;display:flex;flex-direction:column;box-shadow:-4px 0 20px #00000014;transition:right .25s ease}.right-panel.open{right:0}.rp-header{padding:10px 14px;font-size:13px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--border);flex-shrink:0;letter-spacing:.02em;text-transform:uppercase}.rp-messages{max-width:100%!important;padding:12px!important}.rp-resources{flex:1;overflow-y:auto;display:flex;flex-direction:column}.resource-list{list-style:none;padding:8px;display:flex;flex-direction:column;gap:4px;flex:1}.resource-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;border:1px solid var(--border);background:#fafafa}.resource-icon{color:var(--muted);flex-shrink:0}.resource-name{flex:1;font-size:13px;color:var(--text);line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.resource-dl{color:var(--green);display:flex;align-items:center;flex-shrink:0;padding:4px;border-radius:4px}.resource-dl:hover{background:var(--bg)}.rp-upload-area{padding:10px 12px;border-top:1px solid var(--border)}.voice-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1.5px solid var(--border);border-radius:6px;background:#f9fafb;color:var(--text-light);font-family:var(--font);font-size:12px;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.voice-btn:hover:not(:disabled){border-color:var(--green);color:var(--green);background:#f0f7f3}.voice-btn:disabled{opacity:.5;cursor:not-allowed}.voice-btn.recording{border-color:#dc2626;color:#dc2626;background:#fff5f5;animation:pulse 1s ease-in-out infinite}@media (max-width: 768px){.right-panel{width:100%;right:-100%}.right-panel.open{right:0}.rp-toggle.open{right:calc(100% - 8px)}}@media (min-width: 769px){.chat-panel{position:fixed;inset:auto;right:0;top:60px;bottom:0;width:420px;border-left:1px solid var(--border);box-shadow:-4px 0 20px #0000001a;border-radius:0}.chat-widget{bottom:32px;right:32px}.page,.page-wide{padding:36px 40px}.post-detail-pane{padding:36px 48px}}.quiz-item{border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px;background:var(--white)}.quiz-question{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.quiz-question:last-of-type{border-bottom:none}.quiz-option{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;margin-bottom:4px;font-size:14px;cursor:pointer;transition:background .1s}.quiz-option:hover{background:var(--bg)}.quiz-option.correct{background:#d4edda;color:#155724}.quiz-option.wrong{background:#f8d7da;color:#721c24}.quiz-score{font-size:22px;font-weight:700;color:var(--green);padding:14px 18px;background:#eaf7ee;border-radius:var(--radius);margin-bottom:20px;text-align:center}.quiz-history{margin-top:20px;padding-top:12px;border-top:1px solid var(--border)}.menu-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.menu-page-header{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:60px;background:var(--green);flex-shrink:0;position:sticky;top:0;z-index:10}.menu-back-btn{display:flex;align-items:center;gap:6px;background:none;border:none;color:#fffc;cursor:pointer;font-family:var(--font);font-size:14px;padding:6px 0;transition:color .15s;width:80px}.menu-back-btn:hover{color:#fff}.menu-page-title{color:var(--gold);font-size:16px;font-weight:700}.menu-page-body{flex:1;max-width:640px;width:100%;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:8px}.menu-primary-btn{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--gold);color:var(--green);border-radius:8px;font-family:var(--font);font-size:14px;font-weight:600;text-decoration:none;transition:opacity .15s}.menu-primary-btn:hover{opacity:.88}.menu-section{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden}.menu-section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;background:none;border:none;cursor:pointer;font-family:var(--font);text-align:left;transition:background .12s}.menu-section-toggle:hover{background:#fafafa}.menu-section-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--green)}.menu-section-body{padding:4px 16px 16px;border-top:1px solid var(--border)}.menu-resource-item{border-radius:6px;border:1px solid var(--border);background:#fafafa;overflow:hidden}.menu-resource-row{display:flex;align-items:center;gap:8px;padding:10px 12px;width:100%;background:none;border:none;cursor:pointer;font-family:var(--font);text-align:left;transition:background .12s}.menu-resource-row:hover{background:#eff6f1}.menu-logout-btn{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fff;border:1px solid var(--border);border-radius:8px;font-family:var(--font);font-size:14px;color:#c0392b;cursor:pointer;transition:background .12s;margin-top:4px}.menu-logout-btn:hover{background:#fff5f5}.rules-group-header{font-size:12px;font-weight:700;color:var(--green);letter-spacing:.04em;margin:12px 0 4px}.rules-group-header:first-child{margin-top:0}.resource-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.resource-page-header{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:60px;background:var(--green);flex-shrink:0;position:sticky;top:0;z-index:10}.resource-back-btn{display:flex;align-items:center;gap:4px;background:none;border:none;color:#fffc;cursor:pointer;font-family:var(--font);font-size:14px;padding:6px 0;transition:color .15s}.resource-back-btn:hover{color:#fff}.resource-page-body{max-width:560px;width:100%;margin:40px auto;padding:0 20px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}.resource-page-icon{width:72px;height:72px;background:#edf7f1;border-radius:16px;display:flex;align-items:center;justify-content:center;color:var(--green)}.resource-page-title{font-size:20px;font-weight:700;color:var(--green);line-height:1.3}.resource-page-desc{font-size:15px;color:var(--text-light);line-height:1.6}.resource-download-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:var(--green);color:#fff;border-radius:8px;font-size:15px;font-weight:600;text-decoration:none;margin-top:8px;transition:opacity .15s}.resource-download-btn:hover{opacity:.85}.resource-pdf-frame{flex:1;width:100%;min-height:calc(100vh - 180px);border:none}.article-page{min-height:100vh;background:var(--bg);display:flex;flex-direction:column}.article-topbar{position:sticky;top:0;z-index:10;background:var(--green);display:flex;align-items:center;justify-content:space-between;padding:12px 16px}.article-loading{padding:48px 24px;text-align:center;color:var(--muted)}.article-body{max-width:680px;margin:0 auto;padding:28px 20px 60px;width:100%}.article-title{font-size:22px;font-weight:700;color:var(--text);line-height:1.35;margin-bottom:12px}.article-excerpt{font-size:15px;color:var(--muted);line-height:1.6;font-style:italic;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--border)}.article-content{display:flex;flex-direction:column;gap:0}.article-h2{font-size:17px;font-weight:700;color:var(--green);margin:28px 0 10px}.article-h3{font-size:15px;font-weight:600;color:var(--text);margin:18px 0 6px}.article-p{font-size:15px;color:var(--text-light);line-height:1.7;margin:6px 0}.article-list{margin:6px 0 6px 16px;display:flex;flex-direction:column;gap:4px}.article-list li{font-size:15px;color:var(--text-light);line-height:1.6}.workshop-session-card{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#fafafa;border:1px solid var(--border);border-radius:8px;text-decoration:none;transition:background .12s,border-color .12s}.workshop-session-num{width:32px;height:32px;background:var(--green);color:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.workshop-session-body{flex:1;min-width:0}.workshop-session-title{font-size:13px;font-weight:600;color:var(--green);margin-bottom:2px}.workshop-session-date{font-size:11px;color:var(--muted);margin-bottom:4px}.workshop-session-desc{font-size:12px;color:var(--text-light);line-height:1.4}.workshop-tools-link{display:block;text-align:center;padding:9px;font-size:12px;font-weight:600;color:var(--green);border:1.5px dashed var(--border);border-radius:7px;text-decoration:none;transition:border-color .15s}.workshop-tools-link:hover{border-color:var(--green)}.qz-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.qz-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:60px;background:var(--green);position:sticky;top:0;z-index:10;flex-shrink:0}.qz-back{display:flex;align-items:center;gap:4px;background:none;border:none;color:#fffc;cursor:pointer;font-family:var(--font);font-size:14px;padding:6px 0;transition:color .15s}.qz-back:hover{color:#fff}.qz-progress-label{font-size:13px;color:#ffffffb3}.qz-body{max-width:680px;width:100%;margin:0 auto;padding:24px 16px 60px}.qz-title{font-size:22px;font-weight:700;color:var(--green);margin-bottom:4px}.qz-subtitle{font-size:13px;color:var(--muted);margin-bottom:16px}.qz-progress-bar-wrap{height:5px;background:var(--border);border-radius:3px;margin-bottom:24px;overflow:hidden}.qz-progress-bar{height:100%;background:var(--green);border-radius:3px;transition:width .3s ease}.qz-score-card{background:#fff;border-radius:14px;padding:28px 24px;text-align:center;margin-bottom:28px;box-shadow:0 2px 12px #08312114}.qz-score-ring{position:relative;width:100px;height:100px;margin:0 auto 16px}.qz-ring-svg{width:100%;height:100%}.qz-ring-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.qz-ring-score{font-size:18px;font-weight:800;color:var(--green);line-height:1}.qz-ring-pct{font-size:11px;color:var(--muted);margin-top:2px}.qz-score-msg{font-size:14px;color:var(--muted);margin-bottom:14px}.qz-attempts{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:16px}.qz-attempt-chip{font-size:12px;color:var(--muted);background:var(--bg);padding:3px 10px;border-radius:12px;border:1px solid var(--border)}.qz-retry-btn{background:var(--green);color:#fff;border:none;border-radius:8px;padding:10px 24px;font-family:var(--font);font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s}.qz-retry-btn:hover{opacity:.85}.qz-questions{display:flex;flex-direction:column;gap:16px}.qz-card{background:#fff;border-radius:12px;padding:18px;border:1.5px solid var(--border);transition:border-color .2s}.qz-card.card-correct{border-color:#2ecc71}.qz-card.card-wrong{border-color:#e74c3c}.qz-card-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.qz-card-num{width:28px;height:28px;background:var(--green);color:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.qz-card-meta{flex:1;display:flex;gap:6px}.qz-type-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px}.qz-type-badge.multi{background:#e8f4fd;color:#2471a3}.qz-type-badge.written{background:#fef9e7;color:#b7950b}.qz-card-status{flex-shrink:0}.qz-card-status.correct{color:#2ecc71}.qz-card-status.wrong{color:#e74c3c}.qz-card-q{font-size:15px;font-weight:600;color:var(--text);line-height:1.45;margin-bottom:14px}.qz-options{display:flex;flex-direction:column;gap:8px}.qz-multi-hint{font-size:11px;color:var(--muted);margin-bottom:4px;font-style:italic}.qz-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1.5px solid var(--border);border-radius:8px;background:var(--bg);cursor:pointer;font-family:var(--font);font-size:14px;text-align:left;transition:border-color .15s,background .15s;width:100%}.qz-option:hover:not(:disabled){border-color:var(--green);background:#f0f7f3}.qz-option.selected{border-color:var(--green);background:#e8f5ec}.qz-option.correct{border-color:#2ecc71;background:#eafaf1}.qz-option.wrong{border-color:#e74c3c;background:#fdedec}.qz-option:disabled{cursor:default}.qz-opt-label{width:26px;height:26px;border-radius:50%;border:1.5px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;color:var(--muted)}.qz-option.selected .qz-opt-label{border-color:var(--green);color:var(--green);background:#e8f5ec}.qz-option.correct .qz-opt-label{border-color:#2ecc71;color:#2ecc71;background:#d5f5e3}.qz-option.wrong .qz-opt-label{border-color:#e74c3c;color:#e74c3c;background:#fde8e7}.qz-opt-text{flex:1}.qz-opt-icon{margin-left:auto;flex-shrink:0}.qz-option.correct .qz-opt-icon{color:#2ecc71}.qz-option.wrong .qz-opt-icon{color:#e74c3c}.qz-check-box{width:20px;height:20px;border:1.5px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;color:transparent;transition:all .15s}.qz-check-box.checked{background:var(--green);border-color:var(--green);color:#fff}.qz-option.correct .qz-check-box{background:#2ecc71;border-color:#2ecc71;color:#fff}.qz-option.wrong .qz-check-box{background:#e74c3c;border-color:#e74c3c;color:#fff}.qz-written{display:flex;flex-direction:column;gap:10px}.qz-hint{font-size:13px;color:var(--muted);font-style:italic;padding:8px 12px;background:var(--bg);border-radius:6px;border-left:3px solid var(--gold);white-space:pre-wrap;overflow-wrap:break-word;line-height:1.6}.qz-written-input-wrap{position:relative}.qz-written-textarea{width:100%;border:1.5px solid var(--border);border-radius:8px;padding:12px 44px 12px 12px;font-family:var(--font);font-size:14px;line-height:1.55;resize:vertical;min-height:100px;transition:border-color .15s;outline:none}.qz-written-textarea:focus{border-color:var(--green)}.qz-written-textarea:disabled{background:var(--bg)}.qz-mic-btn{position:absolute;bottom:10px;right:10px;width:30px;height:30px;border-radius:50%;border:none;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.qz-mic-btn.recording{background:#e74c3c}.qz-mic-btn:disabled{opacity:.5;cursor:not-allowed}.qz-feedback-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:#fef9e7;border:1.5px solid #f9e79f;border-radius:7px;font-family:var(--font);font-size:13px;font-weight:600;color:#b7950b;cursor:pointer;transition:background .15s;align-self:flex-start}.qz-feedback-btn:hover:not(:disabled){background:#fdebd0}.qz-feedback-btn:disabled{opacity:.5;cursor:not-allowed}.qz-feedback-block{padding:12px 14px;background:#f0f7f3;border-radius:8px;border-left:3px solid var(--green);font-size:13px;line-height:1.6;color:var(--text)}.qz-feedback-link{color:var(--green);font-weight:600;text-decoration:underline}.qz-answer-key{background:#fff;border-radius:12px;padding:18px;border:1px solid var(--border);margin-top:20px}.qz-answer-key-title{font-size:13px;font-weight:700;color:var(--green);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.qz-answer-row{display:flex;align-items:center;gap:12px;padding:6px 0;border-bottom:1px solid var(--bg);font-size:13px}.qz-answer-row:last-child{border-bottom:none}.qz-answer-num{color:var(--muted);width:60px}.qz-answer-correct{font-weight:700;color:#2ecc71}.qz-submit-btn{width:100%;padding:14px;background:var(--green);color:#fff;border:none;border-radius:10px;font-family:var(--font);font-size:15px;font-weight:700;cursor:pointer;margin-top:24px;transition:opacity .15s}.qz-submit-btn:disabled{opacity:.45;cursor:not-allowed}.qz-submit-btn:hover:not(:disabled){opacity:.88}.qz-loading{padding:60px 20px;text-align:center;color:var(--muted)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.workshop-detail-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.workshop-detail-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:60px;background:var(--green);flex-shrink:0;position:sticky;top:0;z-index:10}.workshop-detail-title{font-size:14px;font-weight:600;color:var(--gold);text-align:center;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 12px}.workshop-detail-frame{flex:1;width:100%;min-height:calc(100vh - 60px);border:none}.workshop-session-card{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#fafafa;border:1px solid var(--border);border-radius:8px;text-decoration:none;cursor:pointer;font-family:var(--font);text-align:left;width:100%;transition:background .12s,border-color .12s}.workshop-session-card:hover{background:#eff6f1;border-color:var(--green)}.tools-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.tools-page-title{font-weight:700;font-size:14px;color:var(--gold)}.tools-split{flex:1;display:flex;overflow:hidden;min-height:0;height:calc(100vh - 52px)}.tools-split-left{width:230px;flex-shrink:0;border-right:1px solid var(--border);overflow-y:auto;background:var(--white)}.tools-split-right{flex:1;overflow-y:auto;background:var(--bg)}.tools-split-content{max-width:640px;margin:0 auto;padding:24px 20px 80px}.tool-menu-sidebar{padding:10px 8px;display:flex;flex-direction:column;gap:2px}.tool-menu-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;border:none;background:none;cursor:pointer;text-align:left;width:100%;transition:background .12s}.tool-menu-item:hover{background:#f0fdf4}.tool-menu-item.active{background:#dcfce7}.tool-menu-icon-svg{flex-shrink:0;color:var(--muted)}.tool-menu-text{min-width:0}.tool-menu-label{font-size:13px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tool-menu-item.active .tool-menu-label,.tool-menu-item.active .tool-menu-icon-svg{color:var(--green)}.tool-menu-sub{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tool-card{padding:20px}.tool-card-wide{grid-column:1 / -1}.tool-card-title{font-size:16px;font-weight:700;color:var(--green);margin-bottom:4px}.tool-desc{font-size:13px;color:var(--muted);line-height:1.5;margin-bottom:16px}.tool-slider-row{margin-bottom:14px}.tool-slider-label{display:flex;justify-content:space-between;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:5px}.tool-slider-val{color:var(--green);font-weight:700}.tool-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;background:var(--border);border-radius:3px;outline:none;cursor:pointer}.tool-range::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:var(--green);border-radius:50%;cursor:pointer}.tool-range::-moz-range-thumb{width:20px;height:20px;background:var(--green);border-radius:50%;cursor:pointer;border:none}.tool-input-row{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap}.tool-input-group{flex:1;min-width:110px}.tool-input-label{display:block;font-size:11px;font-weight:600;color:var(--muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}.tool-input{width:100%;padding:8px 10px;border:1.5px solid var(--border);border-radius:6px;font-size:14px;font-family:var(--font);color:var(--text);background:var(--white);outline:none;transition:border-color .15s}.tool-input:focus{border-color:var(--green)}.tool-result-box{background:#fffbf0;border:1px solid var(--gold);border-radius:8px;padding:12px 14px;margin-top:12px;text-align:center}.tool-result-label{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.tool-result-value{font-size:20px;font-weight:800;color:var(--green);line-height:1.2}.tool-result-sub{font-size:12px;color:var(--muted);margin-top:3px}.tool-result-row{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.tool-result-row .tool-result-box{flex:1;margin-top:0;min-width:100px}.tool-result-row .tool-result-value{font-size:15px;word-break:break-word}.tool-result-row:has(>:nth-child(3)) .tool-result-value{font-size:14px}.tool-bar-wrap{margin-top:12px}.tool-bar-label-row{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);font-weight:600;margin-bottom:4px}.tool-bar-bg{height:24px;background:var(--border);border-radius:6px;overflow:hidden}.tool-bar-fill{height:100%;border-radius:6px;display:flex;align-items:center;padding-left:8px;font-size:11px;font-weight:700;color:#1e293b;transition:width .3s ease;white-space:nowrap;overflow:hidden}.tool-gauge-wrap{margin-top:12px}.tool-gauge{position:relative;height:14px;background:linear-gradient(90deg,#22c55e,#22c55e 35%,#eab308 35%,#eab308 55%,#ef4444 55%,#ef4444);border-radius:7px}.tool-gauge-marker{position:absolute;top:-4px;width:4px;height:22px;background:var(--green);border-radius:2px;transform:translate(-50%);transition:left .3s ease;box-shadow:0 0 0 2px #fff}.tool-gauge-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:4px}.tool-table{width:100%;border-collapse:collapse;font-size:13px}.tool-table th{background:var(--green);color:var(--gold);padding:8px 10px;text-align:left;font-weight:600;font-size:12px}.tool-table th:first-child{border-radius:6px 0 0}.tool-table th:last-child{border-radius:0 6px 0 0}.tool-table td{padding:8px 10px;border-bottom:1px solid var(--border);color:var(--text)}.tool-table tbody tr:nth-child(odd) td{background:#fafafa}.tool-table tbody tr:nth-child(2n) td{background:var(--white)}.tool-table-total td{background:var(--green)!important;color:var(--gold);font-weight:700}.tool-table-total td:first-child{border-radius:0 0 0 6px}.tool-table-total td:last-child{border-radius:0 0 6px}.tool-tip-box{margin-top:12px;padding:10px 14px;background:#fffbf0;border-left:3px solid var(--gold);border-radius:0 6px 6px 0;font-size:13px;color:var(--text);line-height:1.55}.tool-tip-warn{background:#fef2f2;border-left-color:#ef4444}.tool-about{background:#f8fdf8;border:1px solid #d1fae5;border-radius:8px;padding:12px 14px;margin-bottom:16px;display:flex;flex-direction:column;gap:6px}.tool-about-row{font-size:12.5px;color:var(--text);line-height:1.55}.tool-about-tag{font-weight:700;color:var(--green);margin-right:4px}.tool-nav{display:flex;gap:6px;padding:10px 16px;overflow-x:auto;background:var(--white);border-bottom:1px solid var(--border);scrollbar-width:none;position:sticky;top:0;z-index:10}.tool-nav::-webkit-scrollbar{display:none}.tool-nav-btn{flex-shrink:0;padding:5px 12px;border-radius:20px;border:1px solid var(--border);background:var(--white);font-size:12.5px;font-weight:600;color:var(--text);cursor:pointer;white-space:nowrap;transition:all .15s}.tool-nav-btn:hover{border-color:var(--green);color:var(--green);background:#f0fdf4}.tool-ai-toggle{display:flex;align-items:center;margin-top:14px;padding:7px 14px;border-radius:8px;border:1px dashed var(--green);background:#f0fdf4;color:var(--green);font-size:13px;font-weight:600;cursor:pointer;width:100%;justify-content:center;transition:background .15s}.tool-ai-toggle:hover{background:#dcfce7}.tool-ai-panel{margin-top:14px;border:1px solid #bbf7d0;border-radius:10px;overflow:hidden;background:#f0fdf4}.tool-ai-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#dcfce7;font-size:13px;font-weight:700;color:var(--green)}.tool-ai-close{background:none;border:none;font-size:18px;line-height:1;color:var(--green);cursor:pointer;padding:0 4px}.tool-ai-summary{padding:8px 12px;font-size:11.5px;color:var(--muted);border-bottom:1px solid #bbf7d0;line-height:1.4}.tool-ai-input-row{display:flex;gap:8px;align-items:flex-start;padding:10px 12px 4px}.tool-ai-input{flex:1;border:1px solid #bbf7d0;border-radius:6px;padding:8px 10px;font-size:13px;font-family:inherit;resize:none;background:var(--white);color:var(--text);line-height:1.4}.tool-ai-input:focus{outline:none;border-color:var(--green)}.tool-ai-mic{flex-shrink:0;width:36px;height:36px;border-radius:50%;border:1px solid #bbf7d0;background:var(--white);color:var(--green);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.tool-ai-mic:hover{background:#dcfce7}.tool-ai-mic.recording{background:#fef2f2;border-color:#ef4444;color:#ef4444}.tool-ai-submit{display:block;width:calc(100% - 24px);margin:8px 12px 12px}.tool-ai-reply{margin:0 12px 12px;padding:10px 12px;background:var(--white);border:1px solid #bbf7d0;border-radius:8px;font-size:13px;color:var(--text);line-height:1.65;white-space:pre-line}.spin{animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 700px){.tools-split{height:calc(100vh - 52px)}.tools-split-left.mobile-hidden,.tools-split-right.mobile-hidden{display:none}.tools-split-left{width:100%;border-right:none}.tools-split-right{width:100%}.tools-split-content{padding:16px 14px 80px}}@media (max-width: 700px){.tool-table{font-size:11px}.tool-table th,.tool-table td{padding:6px}}.agr-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px}.agr-modal{background:var(--white);border-radius:14px;width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000040}.agr-done{align-items:center;justify-content:center;gap:16px;padding:48px 32px;min-height:220px}.agr-done-title{font-size:20px;font-weight:800;color:var(--green)}.agr-done-sub{font-size:14px;color:var(--muted)}.agr-header{padding:16px 24px;border-bottom:1px solid var(--border);background:var(--bg)}.agr-steps{display:flex;align-items:center;gap:0}.agr-step{display:flex;align-items:center;gap:8px;flex-shrink:0}.agr-step-num{width:24px;height:24px;border-radius:50%;border:2px solid var(--border);background:var(--white);color:var(--muted);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.agr-step-label{font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap;transition:color .2s}.agr-step.active .agr-step-num{border-color:var(--green);background:var(--green);color:var(--gold)}.agr-step.active .agr-step-label{color:var(--green)}.agr-step.done .agr-step-num{border-color:var(--green);background:var(--green);color:var(--gold)}.agr-step.done .agr-step-label{color:var(--muted)}.agr-step-divider{flex:1;height:2px;background:var(--border);margin:0 10px;min-width:20px}.agr-body{flex:1;overflow-y:auto;padding:20px}.agr-title{font-size:17px;font-weight:800;color:var(--text);margin-bottom:2px}.agr-sub{font-size:12px;color:var(--muted);margin-bottom:16px}.agr-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:16px}.agr-table-key{padding:8px 10px;font-weight:600;color:var(--muted);font-size:12px;background:#f8f9fa;width:38%;border:1px solid var(--border)}.agr-table-val{padding:8px 10px;color:var(--text);border:1px solid var(--border)}.agr-section-title{font-size:12px;font-weight:700;color:var(--green);text-transform:uppercase;letter-spacing:.06em;margin:16px 0 8px}.agr-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.agr-list li{font-size:13px;color:var(--text);line-height:1.5}.agr-rules-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:10px}.agr-rules-list li{font-size:13.5px;color:var(--text);line-height:1.55}.agr-notice{margin-top:16px;padding:12px 14px;background:#fffbf0;border:1px solid var(--gold);border-radius:8px;font-size:13px;color:var(--text);line-height:1.55}.agr-footer{padding:16px 20px;border-top:1px solid var(--border);background:#fafafa;flex-shrink:0}.agr-name-row{margin-bottom:10px}.agr-name-input{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:8px;font-size:14px;font-family:var(--font);color:var(--text);background:var(--white);outline:none;box-sizing:border-box}.agr-name-input:focus{border-color:var(--green)}.agr-check-row{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--text);line-height:1.4;cursor:pointer}.agr-check-row input[type=checkbox]{margin-top:2px;flex-shrink:0;width:16px;height:16px;accent-color:var(--green)}.agr-signed-name{font-size:13px;color:var(--muted);margin-bottom:10px;padding:8px 12px;background:#f0fdf4;border-radius:6px;border:1px solid #bbf7d0}.sidebar-sticky-top{position:sticky;top:0;z-index:5;background:var(--white);padding:12px 12px 0;border-bottom:1px solid var(--border)}.sidebar-inner{padding:12px 12px 16px}.header-search-wrap{position:relative}.header-search-input{width:200px;padding:6px 12px;border:1.5px solid var(--green);border-radius:20px;font-size:13px;font-family:inherit;outline:none;background:var(--white);color:var(--text);transition:width .2s}.header-search-results{position:absolute;top:calc(100% + 6px);right:0;width:280px;background:var(--white);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0000001f;overflow:hidden;z-index:200}.header-search-item{display:block;width:100%;padding:10px 14px;text-align:left;border:none;background:none;font-size:13px;color:var(--text);cursor:pointer;border-bottom:1px solid var(--border)}.header-search-item:last-child{border-bottom:none}.header-search-item:hover{background:#f0fdf4;color:var(--green)}.tools-menu-toolbar{display:flex;align-items:center;gap:4px;margin-bottom:8px}.tools-menu-search{flex:1;padding:6px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;font-family:inherit;outline:none;background:#f9fafb;color:var(--text)}.tools-menu-search:focus{border-color:var(--green)}.tools-view-btn{width:30px;height:30px;border-radius:6px;border:1px solid var(--border);background:var(--white);color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tools-view-btn.active{background:#f0fdf4;border-color:var(--green);color:var(--green)}.tools-menu-list{display:flex;flex-direction:column;gap:2px}.tools-menu-row{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;border:none;background:none;cursor:pointer;text-align:left;width:100%;transition:background .12s}.tools-menu-row:hover{background:#f0fdf4}.tools-menu-row-icon{color:var(--muted);flex-shrink:0}.tools-menu-row-text{flex:1;min-width:0}.tools-menu-row-label{font-size:13px;font-weight:600;color:var(--text)}.tools-menu-row-sub{font-size:11px;color:var(--muted)}.tools-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tools-menu-grid-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border-radius:10px;border:1px solid var(--border);background:var(--white);cursor:pointer;text-align:center;transition:all .12s}.tools-menu-grid-item:hover{border-color:var(--green);background:#f0fdf4}.tools-menu-grid-icon{color:var(--green)}.tools-menu-grid-label{font-size:12px;font-weight:700;color:var(--text);line-height:1.3}.tools-menu-grid-sub{font-size:11px;color:var(--muted);line-height:1.3}.student-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--white);border:1px solid var(--border);border-radius:8px}.student-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.student-name{font-size:14px;font-weight:600;color:var(--text)}.student-email{font-size:12px;color:var(--muted)}.student-date{font-size:11px;color:var(--muted)}.student-actions{display:flex;gap:4px;align-items:center;flex-shrink:0}.icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;transition:all .15s}.icon-btn:hover{border-color:var(--green);color:var(--green)}.icon-btn-danger:hover{border-color:#dc2626;color:#dc2626}.student-add-form{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--white);border:1px dashed var(--border);border-radius:8px}.tool-ai-convo{display:flex;flex-direction:column;gap:10px;max-height:360px;overflow-y:auto;padding:4px 0 8px}.tool-ai-msg{font-size:13.5px;line-height:1.65;white-space:pre-wrap;border-radius:8px;padding:10px 12px}.tool-ai-msg-user{background:var(--green);color:var(--gold);align-self:flex-end;max-width:85%}.tool-ai-msg-assistant{background:#f0f7f0;color:var(--text);align-self:flex-start}.tool-ai-loading{display:flex;align-items:center;color:var(--muted);background:transparent;padding:4px 0}.consult-page{display:flex;flex-direction:column;height:100dvh;background:var(--bg);overflow:hidden}.consult-header{display:flex;align-items:center;padding:0 8px;height:50px;background:var(--green);flex-shrink:0}.consult-back-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#ffffffbf;cursor:pointer;border-radius:6px}.consult-back-btn:hover{color:#fff}.consult-header-title{flex:1;text-align:center;font-size:15px;font-weight:700;color:var(--gold)}.consult-tabs{display:flex;background:var(--white);border-bottom:1px solid var(--border);flex-shrink:0}.consult-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 8px;background:none;border:none;border-bottom:2px solid transparent;font-family:var(--font);font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:-1px}.consult-tab.active{color:var(--green);border-bottom-color:var(--green);font-weight:600}.consult-body{flex:1;display:flex;flex-direction:column;overflow:hidden}.consult-messages-wrap{flex:1;overflow-y:auto;display:flex;flex-direction:column}.consult-center{flex:1;display:flex;align-items:center;justify-content:center;color:var(--muted);padding:40px 24px}.consult-welcome{flex-direction:column;text-align:center;gap:10px}.consult-welcome-title{font-size:18px;font-weight:700;color:var(--green)}.consult-welcome-sub{font-size:14px;color:var(--muted);max-width:340px;line-height:1.65}.consult-messages{padding:14px 12px;display:flex;flex-direction:column;gap:12px}.consult-msg{display:flex;gap:8px;align-items:flex-start;max-width:90%}.consult-msg-user{align-self:flex-end;flex-direction:row-reverse}.consult-msg-assistant{align-self:flex-start}.consult-msg-avatar{flex-shrink:0;width:28px;height:28px;background:var(--green);color:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700}.consult-msg-bubble{padding:9px 13px;border-radius:12px;font-size:14px;line-height:1.65;white-space:pre-wrap}.consult-msg-user .consult-msg-bubble{background:var(--green);color:var(--gold);border-radius:12px 12px 4px}.consult-msg-assistant .consult-msg-bubble{background:var(--white);color:var(--text);border:1px solid var(--border);border-radius:4px 12px 12px}.consult-typing{display:flex!important;align-items:center;gap:7px;color:var(--muted)!important;font-style:italic;background:transparent!important;border:none!important;padding:6px 0!important}.consult-input-area{padding:10px 12px;background:var(--white);border-top:1px solid var(--border);flex-shrink:0}.consult-input-row{display:flex;gap:7px;align-items:flex-end}.consult-input{flex:1;padding:9px 11px;border:1px solid var(--border);border-radius:8px;font-family:var(--font);font-size:14px;resize:none;background:var(--bg);color:var(--text);line-height:1.5}.consult-input:focus{outline:none;border-color:var(--green)}.consult-send-btn{flex-shrink:0;width:38px;height:38px;background:var(--green);color:var(--white);border:none;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer}.consult-send-btn:disabled{opacity:.35;cursor:not-allowed}.consult-limit-warn{font-size:12px;color:#ca8a04;text-align:center;margin-bottom:6px}.consult-limit-reached{font-size:13px;color:var(--muted);text-align:center;padding:11px;background:#fefce8;border-radius:8px;border:1px solid #fde68a}.consult-plan-tab{flex:1;overflow-y:auto;padding:16px}.consult-plan-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 24px;gap:6px}.consult-plan-content{display:flex;flex-direction:column;gap:14px}.consult-plan-updated{font-size:11px;color:var(--muted);text-align:center}.consult-plan-section{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:12px 14px;border-left:3px solid var(--gold)}.consult-plan-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:5px}.consult-plan-section-val{font-size:14px;color:var(--text);line-height:1.6}.consult-plan-list{font-size:14px;color:var(--text);padding-left:18px;line-height:1.7;display:flex;flex-direction:column;gap:3px}.student-detail-section{padding:16px;display:flex;flex-direction:column;gap:12px}.student-detail-loading{display:flex;align-items:center;justify-content:center;padding:48px;color:var(--muted)}.student-detail-card{background:var(--white);border:1px solid var(--border);border-radius:10px;overflow:hidden}.student-detail-row{display:flex;align-items:baseline;gap:12px;padding:11px 14px;border-bottom:1px solid var(--border)}.student-detail-row:last-child{border-bottom:none}.student-detail-label{font-size:12px;font-weight:600;color:var(--muted);width:90px;flex-shrink:0}.student-detail-val{font-size:14px;color:var(--text)}.student-detail-actions{display:flex;flex-direction:column;gap:8px}.student-action-btn{display:flex;align-items:center;gap:8px;padding:11px 14px;background:var(--white);border:1px solid var(--border);border-radius:8px;font-family:var(--font);font-size:14px;color:var(--green);cursor:pointer;text-align:left;transition:background .12s}.student-action-btn:hover{background:#f5f5f0}.student-action-btn.danger{color:#dc2626;border-color:#fecaca}.student-action-btn.danger:hover{background:#fef2f2}.student-reset-form{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:12px 14px}.agr-status-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--white);border:1px solid var(--border);border-radius:8px}.agr-status-card.signed{border-color:#bbf7d0;background:#f0fdf4}.agr-status-icon{flex-shrink:0}.agr-status-name{font-size:14px;font-weight:600;color:var(--text)}.agr-status-date{font-size:12px;color:var(--muted);margin-top:2px}.consult-admin-meta{display:flex;gap:16px;font-size:12px;color:var(--muted)}.consult-admin-plan{background:var(--white);border:1px solid var(--border);border-radius:8px;overflow:hidden}.consult-admin-plan-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:11px 14px;background:none;border:none;font-family:var(--font);font-size:14px;font-weight:600;color:var(--green);cursor:pointer;text-align:left}.consult-admin-plan-body{padding:4px 14px 14px;border-top:1px solid var(--border)}.admin-plan-row{padding:8px 0;border-bottom:1px solid var(--border)}.admin-plan-row:last-child{border-bottom:none}.admin-plan-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:3px}.admin-plan-val{font-size:13px;color:var(--text);line-height:1.55}.admin-plan-list{font-size:13px;color:var(--text);padding-left:16px;line-height:1.65}.admin-thread{display:flex;flex-direction:column;gap:2px;background:var(--white);border:1px solid var(--border);border-radius:8px;overflow:hidden}.admin-thread-msg{padding:10px 14px;border-bottom:1px solid var(--border)}.admin-thread-msg:last-child{border-bottom:none}.admin-thread-user{background:#fff}.admin-thread-assistant{background:#f7faf8}.admin-thread-who{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.admin-thread-user .admin-thread-who{color:var(--green)}.admin-thread-assistant .admin-thread-who{color:#ca8a04}.admin-thread-content{font-size:13px;color:var(--text);line-height:1.6;white-space:pre-wrap}
