:root{--green:#356c49;--bg:#f5f7f2;--panel:#fff;--ink:#25382c;--muted:#71816c;--line:#e1e8dc;--soft:#eaf2e5;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:var(--green);text-decoration:none}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:11px;padding:9px 15px;background:var(--green);color:#fff;cursor:pointer}button:disabled{opacity:.6;cursor:default}.soft{background:var(--soft);color:var(--green)}.danger{background:#fff0e9;color:#a33a29}.chrome{position:sticky;top:0;z-index:20;background:var(--panel);border-bottom:1px solid var(--line)}.top{max-width:1100px;margin:auto;padding:15px 22px;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:11px;font-weight:700;font-size:21px}.brand img{height:40px;max-width:160px;object-fit:contain}.brand small{display:block;font-size:12px;font-weight:400;color:var(--muted)}.nav{max-width:1100px;margin:auto;padding:0 16px 10px;display:flex;gap:5px;align-items:center;flex-wrap:wrap}.nav a{padding:7px 12px;border-radius:10px;font-size:14px;color:var(--muted)}.nav a.active{background:var(--soft);color:var(--green)}.count{background:#b54a3c;color:white;border-radius:20px;padding:0 5px;font-size:11px;margin-left:5px}.wrap{max-width:1060px;margin:auto;padding:25px 20px 75px}.chat{max-width:820px;margin:auto;border:1px solid var(--line);border-radius:21px;background:var(--panel);overflow:hidden}.chat-title{padding:19px 23px;border-bottom:1px solid var(--line)}.history{background:var(--bg);padding:15px 20px}.message,.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:21px;margin-bottom:18px}.message{margin:15px 0}.meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:13px}.meta strong{color:var(--green)}.message-body{font-size:19px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;margin:15px 0}.message footer{border-top:1px solid var(--line);margin-top:16px;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.message footer button{padding:5px 10px;font-size:13px}.images{display:flex;gap:10px;flex-wrap:wrap}.images img{width:120px;height:120px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}.compose{padding:20px;border-top:1px solid var(--line)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.between{justify-content:space-between}.muted{color:var(--muted)}.small{font-size:13px}h1{font-size:28px;line-height:1.3;margin:0 0 8px}h2{font-size:21px;margin:0 0 15px}h3{font-size:17px;margin:0 0 8px}p{margin:0 0 16px}label{display:block;font-size:14px;color:var(--muted);margin:12px 0}input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);margin-top:4px}input[type=checkbox]{width:auto;margin-right:7px}input[type=color]{height:45px}textarea{resize:vertical}.notice{padding:13px 16px;border-radius:12px;background:var(--soft);margin-bottom:17px}.warning{background:#faf0ce;color:#665529}.error{background:#fff0e9;color:#a33a29}.badge{font-size:12px;border-radius:20px;background:var(--soft);color:var(--green);padding:3px 9px;display:inline-block}.heading{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center;margin-bottom:22px}.tabs{display:flex;gap:8px;margin:0 0 20px;flex-wrap:wrap}.tabs a,.tabs button{padding:9px 15px;border-radius:11px;background:var(--panel);color:var(--muted)}.tabs .active{background:var(--green);color:white}.topic{padding:0;overflow:hidden}.cover{height:165px;background:var(--soft);display:grid;place-items:center;font-size:70px;position:relative}.cover img{width:100%;height:100%;object-fit:cover}.copy{padding:18px}.video-player{aspect-ratio:16/9;background:#18251c;width:100%;border-radius:12px;overflow:hidden}.video-player iframe{width:100%;height:100%;border:0}.auth{max-width:430px;margin:4vh auto;padding:28px}.full{width:100%}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:500;color:var(--muted)}td form{margin-bottom:6px}.stats{display:flex;gap:14px;min-width:calc(var(--days)*65px);height:255px;padding-top:36px;align-items:flex-end;padding-bottom:30px}.stat-col{flex:1;height:100%;display:flex;align-items:end;min-width:45px}.bar{width:100%;position:relative;background:var(--green);border-radius:8px 8px 0 0;min-height:2px}.bar span{position:absolute;bottom:100%;left:0;right:0;text-align:center;font-size:13px;color:var(--muted);padding-bottom:8px}.bar small{position:absolute;top:100%;left:0;right:0;text-align:center;padding-top:8px;color:var(--muted);white-space:nowrap;font-size:12px}.metric strong{font-size:29px;display:block}.mobile-nav{display:none}.pagination{display:flex;gap:12px;align-items:center;margin:20px 0}.pagination svg{width:18px}.footer{text-align:center;color:var(--muted);padding:20px;font-size:12px}.member{padding:17px 0;border-bottom:1px solid var(--line)}.settings-section{display:none}.settings-section.active{display:block}details{margin:12px 0}summary{cursor:pointer;color:var(--green)}dialog{border:1px solid var(--line);border-radius:16px;max-width:96vw;padding:15px;background:var(--panel);color:var(--ink)}dialog::backdrop{background:#132117d9}dialog img{max-width:90vw;max-height:80vh;object-fit:contain}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #d5b34c;outline-offset:3px}[hidden]{display:none!important}@media(max-width:760px){.wrap{padding:17px 12px 80px}.grid,.three{grid-template-columns:1fr}.nav{display:none}.top{padding:12px 16px}.brand{font-size:18px}.mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;justify-content:space-around;background:var(--panel);border-top:1px solid var(--line);padding:8px 4px max(8px,env(safe-area-inset-bottom))}.mobile-nav a,.mobile-nav button{display:flex;flex-direction:column;align-items:center;font-size:11px;background:transparent;color:var(--muted);padding:4px 7px}.mobile-nav .active{color:var(--green)}.history{padding:12px}.message{padding:17px}.message-body{font-size:18px}.compose{padding:15px}.compose .grid{grid-template-columns:1fr 1fr;gap:8px}.images img{width:100px;height:100px}.auth{margin:15px auto}.footer{padding-bottom:90px}.topic-grid{grid-template-columns:1fr 1fr;gap:12px}.topic-grid .cover{height:120px}.topic-grid .copy{padding:13px}.topic-grid h2{font-size:17px}}

:root[data-theme="dark"]{--bg:#17221b;--panel:#223229;--ink:#edf4ea;--muted:#b4c5ae;--line:#394c3d;--soft:#314b39;color-scheme:dark}:root[data-theme="dark"] input,:root[data-theme="dark"] textarea,:root[data-theme="dark"] select{background:var(--panel);color:var(--ink)}@media(prefers-color-scheme:dark){:root[data-theme="auto"]{--bg:#17221b;--panel:#223229;--ink:#edf4ea;--muted:#b4c5ae;--line:#394c3d;--soft:#314b39;color-scheme:dark}:root[data-theme="auto"] input,:root[data-theme="auto"] textarea,:root[data-theme="auto"] select{background:var(--panel);color:var(--ink)}}

.brand img{height:64px;max-width:265px}.landing-wrap{max-width:none;padding:0}.chat{max-width:850px;margin:0 auto;overflow:hidden}.chat-title{padding:14px 20px}.chat-title h2{margin:0;font-size:19px}.chat-title p{margin:3px 0}.history{height:min(62vh,650px);min-height:280px;overflow-y:auto;overscroll-behavior:contain;padding:18px;scrollbar-width:thin}.message{width:fit-content;max-width:86%;margin:0 auto 18px 0;padding:13px 16px;border-radius:16px 16px 16px 3px;box-shadow:none}.message.mine{margin-left:auto;margin-right:0;background:var(--soft);border-radius:16px 16px 3px 16px}.message .meta{flex-wrap:wrap;gap:4px 14px}.message time{font-size:11px}.message .message-body{margin:8px 0;font-size:15px}.message footer{flex-wrap:wrap;gap:7px;font-size:11px}.message footer button{font-size:12px;padding:5px 8px}.compose{padding:13px 18px;background:var(--panel);border-top:1px solid var(--line)}.compose-options{margin-bottom:8px}.compose-options summary{font-size:13px;color:var(--muted);cursor:pointer}.compose textarea{margin:5px 0;min-height:65px}.side-menu{position:fixed;inset:0 0 0 auto;margin:0;height:100dvh;max-height:none;width:min(340px,88vw);max-width:none;border:0;border-left:1px solid var(--line);border-radius:20px 0 0 20px;padding:24px 20px;background:var(--panel);color:var(--ink);overflow-y:auto}.side-menu::backdrop{background:#0007}.drawer-links{display:grid;gap:6px;margin:20px 0}.drawer-links a{display:flex;align-items:center;gap:10px;padding:13px;border-radius:12px;background:var(--soft)}.side-menu h2{font-size:20px}.mobile-nav a,.mobile-nav button{position:relative}.mobile-nav .unread{position:absolute;top:2px;right:14%;font-size:11px;min-width:18px}.nav-icon{font-size:23px;line-height:1.2}.footer{margin-top:20px}
@media(max-width:700px){input,select,textarea{font-size:16px!important}.brand img{height:58px;max-width:230px}.top{padding:10px 16px}.top .row .muted{display:none}.mobile-nav{padding:8px 6px calc(8px + env(safe-area-inset-bottom));gap:3px;align-items:stretch}.mobile-nav a,.mobile-nav button{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;padding:7px 2px;min-height:57px;border-radius:10px}.wrap{padding-left:10px;padding-right:10px}.landing-wrap{padding:0}.history{height:52dvh;min-height:250px;padding:13px 10px}.message{max-width:92%}.compose{padding:10px}.chat-title{padding:12px}.compose .row{flex-wrap:wrap}.compose input[type=file]{max-width:200px}.message time{font-size:11px}.side-menu{padding-bottom:calc(24px + env(safe-area-inset-bottom))}}

.icon{vertical-align:middle;flex-shrink:0}.nav a{display:inline-flex;align-items:center;gap:7px}.mobile-nav .nav-icon{width:26px;height:26px}.heading h1,.heading h2,.chat-title h2{display:flex;align-items:center;gap:9px}.drawer-links .icon{width:24px;height:24px}.cc-icon .icon{width:26px;height:26px}.brand .icon{width:28px;height:28px}
.side-menu[open]{animation:drawer-in .2s ease-out}@keyframes drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}@media(prefers-reduced-motion:reduce){.side-menu[open]{animation:none}}@media(max-width:700px){body{padding-bottom:calc(90px + env(safe-area-inset-bottom))}}
.compose-fields{border:0;margin:0;padding:0;min-width:0}.compose-fields:disabled{opacity:.65}.compose-fields:disabled textarea{resize:none;background:var(--bg);cursor:not-allowed}.attachment-preview{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.attachment-item{position:relative;width:76px;height:76px}.attachment-item img{width:100%;height:100%;border-radius:9px;object-fit:cover}.attachment-item button{position:absolute;right:-4px;top:-4px;width:25px;height:25px;border:1px solid var(--line);padding:0;border-radius:50%;font-size:19px}.overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.overview-card{margin:0;display:flex;flex-direction:column;gap:13px;padding:20px}.overview-card span{color:var(--muted);display:flex;align-items:center;gap:8px}.overview-card strong{font-size:28px}.overview-card .duration{font-size:20px}.overview-card small{color:var(--muted);font-size:12px}.chat{display:flex;flex-direction:column;height:calc(100dvh - 260px);min-height:420px}.history{height:auto;flex:1;min-height:0}.compose,.chat-title{flex-shrink:0}.compose textarea{height:60px;min-height:60px}.compose .compose-options[open]{max-height:180px;overflow-y:auto}@media(max-width:700px){.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.overview-card{padding:14px}.overview-card strong{font-size:24px}.overview-card .duration{font-size:17px}.chat{height:calc(100dvh - 195px);min-height:310px}.history{min-height:0;height:auto}.compose textarea{height:50px;min-height:50px}}
.is-liked .icon{fill:var(--green);color:var(--green)}
#chatCompose{margin:0;max-height:min(45dvh,310px);overflow-y:auto;overflow-x:hidden;padding:12px 16px;flex:0 0 auto}#chatCompose .compose-fields{display:block}#chatCompose textarea{display:block;width:100%;margin:8px 0;resize:vertical;max-height:120px;min-height:55px;height:65px}#chatCompose .attachment-preview{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:10px;padding:5px 2px;margin:8px 0;max-height:86px}#chatCompose .attachment-preview:empty{display:none}#chatCompose .attachment-item{width:66px;height:66px;flex:0 0 66px}#chatCompose .attachment-item button{right:0;top:0}.compose-toolbar{display:flex;align-items:center;gap:12px;min-width:0}.compose-toolbar>button{margin-left:auto;flex-shrink:0}.attach-button{position:relative;display:inline-flex;align-items:center;gap:7px;margin:0;padding:9px 12px;background:var(--soft);color:var(--green);border-radius:10px;white-space:nowrap;cursor:pointer}.file-picker{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);border:0!important}.attach-button:focus-within{outline:2px solid var(--green);outline-offset:2px}.attachment-hint{color:var(--muted);font-size:12px}.history{min-height:140px}.chat{height:clamp(500px,calc(100dvh - 210px),850px)}@media(max-width:700px){.chat{height:calc(100dvh - 185px);min-height:410px}#chatCompose{padding:10px;max-height:45dvh}#chatCompose textarea{font-size:16px;resize:none;height:60px}.compose-toolbar{flex-wrap:wrap;gap:8px}.attachment-hint{display:none}.compose-toolbar>button{margin-left:auto}.history{min-height:120px}.attach-button{font-size:14px}}
.chat .history{min-height:0}

.watch-countdown{display:none;align-items:center;gap:6px;font-size:12px;line-height:1.4;color:var(--green)}.watch-countdown strong{display:block;font-size:17px;font-variant-numeric:tabular-nums}.image-viewer{width:min(940px,96vw);max-height:94dvh;padding:12px}.image-viewer-bar,.image-viewer-controls{display:flex;justify-content:space-between;align-items:center;gap:12px}.image-viewer img{display:block;width:100%;height:calc(85dvh - 130px);max-height:75dvh;object-fit:contain;margin:12px auto}.image-viewer-controls button{min-width:100px}
@media(max-width:760px){.header-logout{display:none}.watch-countdown{display:flex}.top{flex-wrap:nowrap}.top>.row{flex-wrap:nowrap;flex-shrink:0}.top .row .muted{display:none}.brand{min-width:0}.brand img{max-width:min(230px,55vw)}body.chat-page{position:fixed;top:var(--chat-offset,0px);left:0;right:0;height:var(--chat-viewport,100dvh);padding:0;overflow:hidden;display:flex;flex-direction:column}.chat-page .chrome{position:relative;flex-shrink:0}.chat-page>.wrap{width:100%;flex:1;min-height:0;padding:8px 8px 0;display:flex;flex-direction:column;overflow:hidden;margin:0 auto}.chat-page .chat{width:100%;height:auto;min-height:0;flex:1;margin:0;border-radius:14px 14px 0 0}.chat-page .history{min-height:0;overflow-y:auto;overscroll-behavior:contain}.chat-page #chatCompose{max-height:45%;flex-shrink:0;padding-bottom:10px}.chat-page>.footer{display:none}.chat-page>.mobile-nav{position:relative;flex-shrink:0;bottom:auto;left:auto;right:auto;margin:0}.chat-page .chat-title{padding:8px 12px}.chat-page .chat-title p{display:none}.chat-page .notice{flex-shrink:0;max-height:15%;overflow:auto;margin-bottom:6px;font-size:12px}.image-viewer img{height:calc(80dvh - 130px)}}

.library-video{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.library-video>div:first-child{flex:1;min-width:200px}.grant-form{align-items:flex-end}.grant-form label{margin:8px 0;min-width:150px}.grant-form button{margin-bottom:8px}.grant-editor{margin:8px 0}.grant-editor summary{list-style:none}.video-preview{width:min(900px,96vw)}.video-preview .heading{margin-bottom:12px}.video-preview h2{font-size:18px;flex:1}.video-preview .video-player{border-radius:8px}

.video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.video-grid .topic{display:flex;flex-direction:column;min-width:0;height:auto}.video-grid .cover{height:auto;aspect-ratio:16/9;flex-shrink:0;overflow:hidden}.video-grid .cover img{display:block;position:static;width:100%;height:100%;object-fit:cover}.video-grid .copy{display:block;flex:1;height:auto;overflow:visible;padding:14px}.video-card-title{display:block;color:var(--ink);font-size:17px;line-height:1.45;margin:6px 0 10px;white-space:normal;overflow-wrap:anywhere}.related-heading{margin:22px 0 0;flex-wrap:nowrap}.related-heading h2{margin:0}.related-heading a{flex-shrink:0}@media(max-width:760px){.video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.video-grid .copy{padding:10px}.video-card-title{font-size:15px}.video-grid .copy>span{font-size:12px}}

.header-account{display:flex;align-items:center;gap:12px;flex-shrink:0}.account-menu{position:relative;margin:0}.account-menu summary{display:flex;align-items:center;gap:8px;list-style:none;color:var(--ink);font-size:14px;padding:6px;cursor:pointer}.account-menu summary::-webkit-details-marker{display:none}.account-info strong{display:block;font-size:14px}.account-info small{display:block;font-size:11px;color:var(--muted)}.account-dropdown{position:absolute;right:0;top:100%;width:210px;padding:8px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px #0002;z-index:40}.account-dropdown a,.account-dropdown button{display:flex;align-items:center;gap:9px;width:100%;padding:11px;border-radius:8px;font-size:14px;color:var(--ink);background:transparent;text-align:left;justify-content:flex-start}.account-dropdown a:hover,.account-dropdown button:hover{background:var(--soft)}.profile-panel{max-width:580px;margin:0 auto}.chrome .top{max-width:1400px}.chrome .top>.nav{flex:1;min-width:0;padding:0;justify-content:center;gap:2px}.chrome .top>.nav a{font-size:13px;padding:8px;white-space:nowrap}.chrome .top>.nav .icon{width:20px;height:20px}@media(min-width:761px){.chrome .top{flex-wrap:nowrap;gap:14px;padding:12px 20px}.chrome .brand img{max-width:200px;height:58px}.chrome .brand{flex-shrink:0}}@media(min-width:761px) and (max-width:1050px){.chrome .brand img{max-width:150px}.chrome .top>.nav a{font-size:12px;padding:6px;gap:4px}.account-info strong{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:760px){.account-menu{display:none}}
