.btn{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;padding:9px 15px;border-radius:9px;border:1px solid transparent;cursor:pointer;font-family:var(--sans);text-decoration:none}.btn:focus-visible{outline:2px solid var(--teal-deep);outline-offset:2px}.btn-primary{background:var(--teal);color:#fff}.btn-ghost{background:transparent;border-color:var(--line);color:var(--text)}.btn-locked{background:var(--paper);border-color:var(--line);color:var(--muted);cursor:not-allowed}.btn[disabled]{cursor:not-allowed}.btn-sm{font-size:18px;padding:6px 12px;border-radius:7px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.tag{display:inline-flex;align-items:center;font-family:var(--mono);font-size:10.5px;letter-spacing:.03em;padding:3px 8px;border-radius:6px;background:var(--teal-tint);color:var(--teal-deep);font-weight:600;white-space:nowrap}.tag.amber{background:var(--amber-tint);color:var(--amber)}.tag.muted{background:var(--paper);color:var(--muted);border:1px solid var(--line)}.meta{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px;font-family:var(--mono)}.avatar-wrap{position:relative;display:inline-flex;flex:none}.avatar{width:34px;height:34px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex:none}.avatar-status-dot{position:absolute;bottom:-2px;right:-2px;width:15px;height:15px;border-radius:50%;background:var(--danger);border:2px solid var(--surface)}.row-card{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:13px 14px;background:var(--surface)}.who-line{display:flex;align-items:center;gap:10px}.view-toggle{display:inline-flex;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:3px;gap:2px;margin-bottom:14px}.view-toggle-btn{padding:7px 16px;border-radius:8px;border:none;background:transparent;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;font-family:var(--sans);transition:background .15s,color .15s}.view-toggle-btn:hover{color:var(--text)}.view-toggle-btn.active{background:var(--teal);color:#fff;font-weight:600}.view-toggle-btn-past:not(.active){color:var(--muted);opacity:.7}.view-toggle-btn-past:not(.active):hover{opacity:1}.pagehead{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;flex-wrap:wrap}.pagehead h1{font-size:25px}.pagehead .sub{color:var(--muted);font-size:13.5px;max-width:56ch;margin-top:6px;line-height:1.5}.pagehead-actions{display:flex;gap:8px;align-items:center}.list{display:flex;flex-direction:column;gap:10px}.panel-title{font-size:15px;font-family:var(--serif);margin-bottom:2px}.panel-sub{font-size:12px;color:var(--muted);margin-bottom:14px}.writeup{font-size:12.5px;color:var(--muted);margin-top:8px;line-height:1.5;max-width:60ch}.grid-2{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}@media (max-width: 900px){.grid-2{grid-template-columns:1fr}}.hero-dark{background:var(--ink);color:#edeff3;border-radius:var(--radius);padding:26px;position:relative;overflow:hidden}.hero-dark h3{color:#fff;font-size:20px;margin:10px 0 8px}.hero-dark p{color:#b7bec6;font-size:13px;max-width:56ch;line-height:1.5}.hero-dark .meta{color:#9ba4b4;margin-top:14px}.cap-note{font-size:11.5px;color:var(--muted);font-family:var(--mono)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0c1073;display:flex;align-items:center;justify-content:center;z-index:100}.modal{width:100%;max-width:420px;margin:16px}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.modal-title{font-size:15px;font-family:var(--serif);font-weight:700}.modal-subtitle{font-size:12px;font-weight:400;color:var(--muted);margin-top:4px}.modal-close{background:none;border:none;font-size:18px;line-height:1;cursor:pointer;color:var(--muted);padding:2px 6px}.modal-close:focus-visible{outline:2px solid var(--teal-deep);outline-offset:2px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:12.5px;font-weight:600;color:var(--text)}.field input,.field textarea,.field select{font-family:var(--sans);font-size:13px;padding:9px 11px;border-radius:8px;border:1px solid var(--line);background:var(--paper);color:var(--text);resize:vertical;accent-color:var(--teal);color-scheme:light}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-tint)}:root[data-theme=dark] .field input,:root[data-theme=dark] .field textarea,:root[data-theme=dark] .field select{color-scheme:dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .field input,:root:not([data-theme=light]) .field textarea,:root:not([data-theme=light]) .field select{color-scheme:dark}}.dtp{position:relative}.dtp-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;font-family:var(--sans);font-size:13px;text-align:left;padding:9px 11px;border-radius:8px;border:1px solid var(--line);background:var(--paper);color:var(--text);cursor:pointer}.dtp-trigger:hover,.dtp-trigger.is-open,.dtp-trigger:focus-visible{border-color:var(--teal);outline:none}.dtp-placeholder{color:var(--muted)}.dtp-icon{font-size:12px;line-height:1}.dtp-panel{position:absolute;z-index:20;top:calc(100% + 6px);left:0;display:flex;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 12px 28px #0000002e}.dtp-panel.is-up{top:auto;bottom:calc(100% + 6px)}.dtp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.dtp-month{font-size:13px;font-weight:600;color:var(--text)}.dtp-nav{border:1px solid var(--line);background:var(--paper);color:var(--text);border-radius:6px;width:24px;height:24px;line-height:1;cursor:pointer}.dtp-nav:hover:not(:disabled){border-color:var(--teal);color:var(--teal)}.dtp-nav:disabled{opacity:.35;cursor:not-allowed}.dtp-grid{display:grid;grid-template-columns:repeat(7,30px);gap:2px}.dtp-weekdays{margin-bottom:2px}.dtp-weekdays span{font-size:10.5px;font-weight:600;color:var(--muted);text-align:center;line-height:18px}.dtp-day{height:28px;font-family:var(--sans);font-size:12.5px;border:1px solid transparent;border-radius:6px;background:none;color:var(--text);cursor:pointer}.dtp-day.is-empty{cursor:default}.dtp-day:hover:not(:disabled):not(.is-selected){background:var(--teal-tint);color:var(--teal-deep)}.dtp-day.is-today:not(.is-selected):not(:disabled){border-color:var(--teal);color:var(--teal-deep)}.dtp-day.is-selected{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:600}.dtp-day:disabled{background:none;border-color:transparent;color:var(--muted);opacity:.4;cursor:not-allowed}.dtp-times{display:flex;flex-direction:column;gap:2px;width:96px;max-height:244px;overflow-y:auto;padding-right:4px;border-left:1px solid var(--line);padding-left:10px}.dtp-slot{font-family:var(--sans);font-size:12.5px;padding:5px 8px;border:1px solid transparent;border-radius:6px;background:none;color:var(--text);cursor:pointer;text-align:left}.dtp-slot:hover:not(:disabled):not(.is-selected){background:var(--teal-tint);color:var(--teal-deep)}.dtp-slot.is-selected{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:600}.dtp-slot:disabled{background:none;border-color:transparent;color:var(--muted);opacity:.4;font-weight:400;cursor:not-allowed}@media (max-width: 480px){.dtp-panel{flex-direction:column}.dtp-times{width:100%;max-height:140px;border-left:none;border-top:1px solid var(--line);padding-left:0;padding-top:8px}}.field-error{font-size:12px;color:#d33;margin-bottom:10px}.membership-warning{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:8px 0}.membership-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;font-size:28px;border-radius:50%;background:var(--teal-tint)}.membership-warning p{font-size:13px;color:var(--muted);margin:0}.membership-warning a{font-size:13px;color:inherit;text-decoration:underline}.landing{min-height:100vh}.landing-top{display:flex;justify-content:space-between;align-items:center;padding:20px 44px;background:var(--teal);color:#fff}.brand{font-family:var(--serif);font-weight:600;font-size:17px}.landing-hero{padding:80px 44px 56px;text-align:center;max-width:900px;margin:0 auto}.landing-hero h1{font-size:44px;line-height:1.2}.landing-hero h1 br+.accent{display:inline-block;margin-top:6px}.landing-hero .accent{color:var(--teal-deep)}.landing-hero .sub{margin-top:18px;color:var(--muted);font-size:16px;max-width:52ch;margin-left:auto;margin-right:auto;line-height:1.55}.hero-cta{margin-top:30px;padding:12px 22px;font-size:14px}.hero-cta-visitor{border-color:var(--teal);color:var(--teal-deep)}.hero-cta-visitor:hover{background:var(--teal-tint)}.feature-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;padding:10px 44px 60px;max-width:1180px;margin:0 auto}@media (max-width: 920px){.feature-row{grid-template-columns:1fr 1fr}}@media (max-width: 560px){.landing-hero h1{font-size:32px}.feature-row{grid-template-columns:1fr;padding-left:20px;padding-right:20px}.landing-top{padding:16px 20px}}.feature-card{border:1px solid var(--line);border-radius:14px;padding:22px;background:var(--surface)}.feature-card .icon{width:38px;height:38px;border-radius:10px;background:var(--teal-tint);color:var(--teal-deep);display:flex;align-items:center;justify-content:center;margin-bottom:14px;font-size:17px}.feature-card h3{font-size:15.5px;margin-bottom:6px;display:flex;align-items:center;gap:8px}.feature-card p{font-size:13px;color:var(--muted);line-height:1.5}.feature-card-disabled{opacity:.55}.feature-card-disabled .icon{background:var(--line);color:var(--muted)}.coming-soon{font-size:10px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--line);border-radius:999px;padding:2px 8px}.landing-footer{text-align:center;padding:0 20px 60px;color:var(--muted);font-size:12.5px;font-family:var(--mono)}.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.login-page{min-height:100vh;display:flex;flex-direction:column;background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed}.login-top{padding:20px 44px;background:var(--teal);color:#fff}.login-body{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px}.login-card{width:100%;max-width:570px;padding:27px}.login-card .panel-title{font-size:22.5px;font-weight:700;color:var(--teal-deep);margin-bottom:21px}.login-card .field{margin-bottom:21px}.login-card .field label{font-size:19px;font-weight:400}.login-card .field input,.login-card .field textarea,.login-card .field select{font-size:19.5px;padding:13.5px 16.5px;border-radius:12px}.login-card .field-error{font-size:18px;margin-bottom:15px}.login-card .btn{font-size:19.5px;padding:13.5px 22.5px;border-radius:13.5px}.login-card .btn.btn-sm{font-size:15px;padding:9px 16px;border-radius:9px}.profile-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0c1073;z-index:100;display:flex;justify-content:flex-end}.profile-drawer{width:100%;max-width:380px;height:100%;background:var(--surface);border-left:1px solid var(--line);padding:20px;overflow-y:auto;box-shadow:-8px 0 24px #0000001f}.profile-drawer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.profile-drawer-who{display:flex;align-items:center;gap:12px;margin-bottom:14px}.profile-drawer-name{font-size:15px;font-weight:600;display:flex;align-items:center}.profile-drawer-sub{font-size:12px;color:var(--muted);margin-top:2px}.profile-drawer-linkedin{display:inline-block;font-size:12.5px;color:var(--teal-deep);text-decoration:none}.profile-drawer-linkedin:hover{text-decoration:underline}.profile-drawer-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.profile-drawer-section .panel-title{margin-bottom:8px}.profile-drawer-empty{font-size:12.5px;color:var(--muted)}.profile-drawer-stats{display:flex;gap:10px}.profile-drawer-stat{flex:1;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:10px 4px}.profile-drawer-stat-value{font-size:18px;font-weight:700;font-family:var(--serif)}.profile-drawer-stat-label{font-size:10px;color:var(--muted);margin-top:2px;line-height:1.3}.profile-drawer-areas-label{font-size:11.5px;font-weight:600;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.03em}.field-checkbox label{display:flex;align-items:center;gap:8px;font-weight:500}.areas-picker-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.areas-picker-chip button{background:none;border:none;color:inherit;margin-left:4px;cursor:pointer;font-size:12px;padding:0}.areas-picker-controls{display:flex;gap:8px}.areas-picker-controls select,.areas-picker-controls input{font-family:var(--sans);font-size:13px;padding:7px 9px;border-radius:8px;border:1px solid var(--line);background:var(--paper);color:var(--text);flex:1;min-width:0}.profile-drawer-logout{margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}.profile-drawer-logout .btn{width:100%;justify-content:center;color:var(--danger)}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.shell-main{min-width:0}.sidebar{border-right:1px solid var(--line);padding:22px 16px;display:flex;flex-direction:column;gap:22px}.sidebar .logo{font-family:var(--serif);font-size:18px;font-weight:600}.sidebar .logo small{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;font-weight:400;margin-top:2px}.navgroup{display:flex;flex-direction:column;gap:2px}.navitem{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;font-size:13.5px;color:var(--muted);font-weight:500;text-decoration:none;transition:background .15s,color .15s}.navitem:hover{background:var(--teal-tint);color:var(--teal-deep)}.navitem.active{background:var(--teal-tint);color:var(--teal-deep);font-weight:600}.navitem .dot{width:6px;height:6px;border-radius:2px;background:currentColor;opacity:.55;flex:none}.navitem-disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.nav-soon{margin-left:auto;font-size:10px;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;opacity:.7}.topbar{display:flex;align-items:center;justify-content:flex-end;padding:16px 28px;border-bottom:1px solid var(--line)}.persona{display:flex;align-items:center;gap:10px}.persona-btn{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}.persona .who{text-align:right;line-height:1.25}.persona .name{font-size:13px;font-weight:600}.persona .role{font-size:11px;color:var(--muted);font-family:var(--mono);letter-spacing:.02em}.job-search-banner{display:flex;align-items:center;gap:9px;width:100%;padding:10px 28px;background:var(--teal-tint);border:none;border-bottom:1px solid var(--line);font-family:var(--sans);font-size:13px;color:var(--teal-deep);cursor:pointer;text-align:left}.job-search-banner-dot{width:8px;height:8px;border-radius:50%;background:var(--teal);flex:none}.content{padding:28px}@media (max-width: 860px){.shell{grid-template-columns:1fr}.sidebar{display:none}}.topic-list{display:flex;flex-direction:column}.topic-row{display:grid;grid-template-columns:64px 1fr auto;gap:16px;align-items:center;padding:14px 2px;border-bottom:1px solid var(--line)}.topic-row:last-child{border-bottom:0}.topic-stat{text-align:center}.topic-stat-n{font-family:var(--serif);font-size:22px;line-height:1}.topic-stat-l{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-top:3px}.topic-row-main{min-width:0}.topic-name{font-size:15px;font-weight:600}.topic-vote{flex-shrink:0;display:flex;align-items:center;gap:7px;padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--teal);cursor:pointer;font-size:13px;font-weight:600}.topic-vote.voted{border-color:var(--teal);background:var(--teal-tint)}.topic-vote:disabled{cursor:default;opacity:.6}.topic-vote:focus-visible{outline:2px solid var(--teal-deep);outline-offset:2px}@media (max-width: 640px){.topic-row{grid-template-columns:48px 1fr;row-gap:10px}.topic-vote{grid-column:2;justify-self:start}}.topic-list-hero{margin-top:14px}.topic-list-hero .topic-row{grid-template-columns:52px 1fr;padding:9px 0;border-bottom-color:#ffffff14}.topic-list-hero .topic-stat-n{color:#fff;font-size:18px}.topic-list-hero .topic-stat-l{color:#ffffff59}.topic-list-hero .topic-name{color:#ffffffd1;font-size:14px}.resource-card-compact{background:var(--paper);border-color:var(--line);gap:7px;min-height:150px;padding:13px}.resource-card-compact .resource-card-title{font-size:13.5px}.resource-card-compact .resource-card-desc{font-size:11.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;overflow:hidden}.resource-card-compact .resource-card-foot{padding-top:9px}.resource-card-compact .src-badge{font-size:9.5px;padding:2px 6px}.resource-card-compact .like-btn{padding:3px 8px;min-height:22px}.resource-card-compact .resource-card-avatar{width:17px;height:17px;font-size:8px}.resource-card-highlight{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-tint);animation:resource-card-flash 1.6s ease-out 2}.resource-card-highlight.resource-card-primary{border-color:#fff;box-shadow:0 0 0 3px #ffffff59}@keyframes resource-card-flash{0%,to{box-shadow:0 0 0 3px var(--teal-tint)}50%{box-shadow:0 0 0 7px var(--teal-tint)}}@media (prefers-reduced-motion: reduce){.resource-card-highlight{animation:none}}.resource-section{margin-bottom:34px}.resource-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line);flex-wrap:wrap}.resource-section-head .panel-title{font-weight:700}.resource-section-head .panel-sub{margin-bottom:0}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}@media (max-width: 900px){.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.resource-grid{grid-template-columns:1fr}}.dash-stack{display:flex;flex-direction:column;gap:18px}.dash-stack .hero-lock{margin-top:16px}.group-session-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-radius:var(--radius);background:var(--teal-tint);border:1px solid var(--line);flex-wrap:wrap}.group-session-banner-title{font-size:14px;font-weight:600;color:var(--teal-deep)}.group-session-banner-sub{font-size:13px;color:var(--muted);margin-top:2px}.hero-dark-empty{cursor:pointer}.hero-dark-empty .hero-line{white-space:normal;overflow:visible;text-overflow:clip}.panel-cta{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:14px}.panel-hint{font-size:12px;color:var(--muted)}.link-btn{background:none;border:none;padding:0;font:inherit;color:var(--teal);text-decoration:underline;cursor:pointer}.dash-stack .row-card-past{opacity:.6}.dash-stack .row-name{font-size:13px;font-weight:600}.dash-stack .row-meta{font-size:12px;color:var(--muted);margin-top:2px}.dash-stack .row-tags{display:flex;gap:6px;align-items:center}.hero-slider{display:flex;flex-direction:column;gap:10px}.hero-dots{display:flex;justify-content:center;gap:7px}.hero-dot{width:7px;height:7px;padding:0;border:none;border-radius:50%;background:var(--line);cursor:pointer;transition:background .15s}.hero-dot:hover{background:var(--muted)}.hero-dot.active{background:var(--teal)}.hero-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hero-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:6px}.hero-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.hero-nav{display:flex;align-items:center;justify-content:center;gap:12px}.hero-arrow{width:26px;height:26px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--muted);font-size:17px;line-height:1;cursor:pointer;transition:background .15s,color .15s}.hero-arrow:hover{background:var(--teal-tint);color:var(--teal-deep)}.hero-actions{margin-top:14px}.hero-join{padding:8px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.16);background:#fff;color:#111;font-size:13px;font-weight:600;cursor:pointer}.hero-join:disabled{background:#ffffff0f;color:#ffffff59;border-color:#ffffff1a;cursor:not-allowed}.hero-join-error{margin-top:10px;font-size:12px;color:#ff9a9a}.mi-filters{display:flex;align-items:center;gap:10px;margin-bottom:18px}.mi-filters .filter-chip{padding:8px 12px}.mock-card{transition:box-shadow .15s}.mock-card:hover{box-shadow:0 2px 10px #00000012}.mock-card-past{opacity:.6}.mock-card-past:hover{box-shadow:none}.mock-card-row{display:flex;align-items:flex-start;gap:12px;justify-content:space-between}.mock-card-left{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:0}.mock-card-title{font-size:14px;font-weight:600;color:var(--text)}.mock-card-note{font-size:12.5px;color:var(--muted);margin-top:3px;line-height:1.45;max-width:480px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mock-card-meta{display:flex;gap:8px;font-size:12px;color:var(--muted);margin-top:4px}.mock-card-tags{display:flex;gap:6px;align-items:center;flex-shrink:0}.mock-card-time{font-size:12px;color:var(--muted);margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.mock-modal-who{display:flex;align-items:center;gap:12px;margin-bottom:14px}.mock-modal-name{font-size:14px;font-weight:600}.mock-modal-sub{font-size:12px;color:var(--muted);margin-top:2px}.mock-modal-tags{margin-left:auto;display:flex;gap:6px;flex-shrink:0}.mock-modal-note{font-size:13px;color:var(--muted);line-height:1.5;margin-bottom:14px;padding:10px 12px;background:var(--paper);border-radius:8px;border:1px solid var(--line)}.mock-modal-sched{font-size:12.5px;color:var(--muted);margin-bottom:14px;padding:8px 12px;background:var(--paper);border-radius:8px;border:1px solid var(--line)}.mock-modal-actions{display:flex;flex-direction:column;gap:10px;margin-top:4px}.mock-propose-row{display:flex;gap:8px;align-items:center}.mock-propose-row .dtp{flex:1;min-width:0}.mock-datetime-input{flex:1;font-size:13px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-family:var(--sans);background:var(--bg);color:var(--text)}.mock-modal-cap{font-size:12.5px;color:var(--muted);margin:0}.sessions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media (max-width: 980px){.sessions-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 620px){.sessions-grid{grid-template-columns:1fr}}.session-tile{position:relative;padding:0;overflow:hidden;text-align:right;font:inherit;color:#fff;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);transition:box-shadow .15s}.session-tile:hover{box-shadow:0 2px 10px #00000014}.session-tile-banner{width:100%;border:none;font:inherit;aspect-ratio:4 / 3;display:flex;align-items:center;justify-content:center;padding:18px;text-align:center;font-family:var(--serif);font-size:17px;font-weight:600;line-height:1.35}.session-tile-banner{position:relative;color:#fff;background:var(--cat-color, var(--muted))}.session-tile-banner.cat-android{--cat-color: var(--teal)}.session-tile-banner.cat-dsa{--cat-color: #2f5d8a}.session-tile-banner.cat-system-design{--cat-color: #9c5f2b}.session-tile-banner.cat-machine-coding{--cat-color: #6a4a7c}.session-tile-banner.cat-ai{--cat-color: #8a4256}.session-tile-banner.cat-community{--cat-color: #2b7a5b}.session-tile-banner.cat-default{--cat-color: #4a5568}.session-tile-banner.past{filter:grayscale(.75);opacity:.6}.session-tile-live{position:absolute;top:10px;right:10px;padding:2px 7px;border-radius:999px;background:#ffffff38;font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.session-tile-like{position:absolute;top:10px;right:10px;z-index:2}.like-btn.session-tile-like{border-color:#ffffff52;color:#e4f2ee}.like-btn.session-tile-like.on{background:#fff;border-color:#fff;color:var(--teal-deep)}.like-static.session-tile-like{color:#c9e5de}.session-tile-foot{display:flex;align-items:center;gap:10px;padding:12px 14px}.session-tile-host{font-size:12.5px;font-weight:600}.session-tile-when{font-size:11.5px;color:var(--muted);font-family:var(--mono);margin-top:2px}.session-card-who{display:flex;align-items:center;gap:10px;margin-top:12px;background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}.session-modal-meta{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.session-modal-desc{font-size:13px;color:var(--muted);line-height:1.55}.session-modal-actions{display:flex;gap:8px;align-items:center;margin-top:16px;flex-wrap:wrap}.session-tile-banner.joinable{cursor:pointer}.session-tile-banner.joinable:hover{filter:brightness(.94)}.session-tile-who{display:flex;align-items:center;gap:10px;padding:0;border:none;background:none;font:inherit;color:inherit;cursor:pointer;text-align:left}.session-tile-who .session-tile-host,.session-tile-who .session-tile-when{display:block}.session-tile-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 14px 12px}.session-tile-note{font-size:11.5px;color:var(--muted)}.session-tile-toggle{padding:4px 6px;border:none;background:none;font:inherit;font-size:12px;color:var(--muted);cursor:pointer}.session-tile-toggle:hover{color:var(--text)}.session-tile-toggle .caret{display:inline-block;transition:transform .15s}.session-tile-toggle .caret.up{transform:rotate(180deg)}.session-tile-details{padding:0 14px 14px;border-top:1px solid var(--line)}.session-tile-details .session-modal-desc{margin-top:12px}.session-tile-error{padding:0 14px 12px;font-size:12px}.session-tile-prereq{margin:0;font-size:12px;color:var(--muted);line-height:1.5}.topic-poll{margin-top:28px;margin-bottom:16px;padding:0;overflow:hidden}.topic-poll-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 14px;border-bottom:1px solid var(--line)}.topic-week-pill{flex-shrink:0;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-deep);background:var(--teal-tint);border-radius:999px;padding:6px 12px;white-space:nowrap}.topic-poll-error{color:var(--danger);font-size:13px;padding:10px 20px 0}.topic-slider-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px 0}.topic-slide-tabs{display:flex;gap:6px}.topic-slide-tab{font-size:13px;font-weight:600;color:var(--muted);background:transparent;border:0;padding:7px 14px;border-radius:8px;cursor:pointer}.topic-slide-tab.on{background:var(--teal-tint);color:var(--teal-deep)}.topic-arrows{display:flex;gap:8px}.topic-arrow{width:30px;height:30px;border-radius:50%;border:1px solid var(--teal);background:var(--surface);color:var(--teal);font-size:13px;line-height:1;cursor:pointer}.topic-arrow:disabled{border-color:var(--line);color:var(--muted);opacity:.6;cursor:default}.topic-slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;align-items:flex-start}.topic-slides::-webkit-scrollbar{display:none}.topic-slide{flex:0 0 100%;min-width:100%;scroll-snap-align:start;padding:16px 20px 4px}.topic-empty{color:var(--muted);font-size:13px;margin:0}.topic-chart{display:flex;flex-direction:column;gap:14px}.topic-chart-row{display:grid;grid-template-columns:132px 1fr 74px;align-items:center;gap:14px}.topic-chart-label{font-size:13.5px;font-weight:600}.topic-chart-track{height:26px;background:var(--paper);border-radius:7px;overflow:hidden}.topic-chart-fill{height:100%;border-radius:7px;background:var(--teal);transition:width .24s ease}.topic-chart-fill.rank-0{background:linear-gradient(90deg,#0e7c6b,#12a08a)}.topic-chart-fill.rank-1{background:linear-gradient(90deg,#2f8f7f,#4fb3a1)}.topic-chart-fill.rank-2{background:linear-gradient(90deg,#6aa79b,#8cc3b8)}.topic-chart-fill.rank-3{background:#c2d4d0}.topic-chart-value{font-size:13px;color:var(--muted);text-align:right}.topic-chart-value b{color:var(--text);font-size:14px}.topic-suggest{border-top:1px solid var(--line);background:var(--surface);padding:16px 20px 18px;margin-top:14px}.topic-suggest-label{font-size:14px;font-weight:600}.topic-suggest-sub{font-size:12.5px;color:var(--muted);margin-top:2px}.topic-form{display:flex;gap:10px;flex-wrap:wrap;margin-top:11px}.topic-form input,.topic-form select{font-family:var(--sans);font-size:14px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);accent-color:var(--teal)}.topic-form input{flex:1 1 180px}.topic-form input:focus,.topic-form select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-tint)}.topic-slide-tab:focus-visible,.topic-arrow:focus-visible{outline:2px solid var(--teal-deep);outline-offset:2px}.topic-suggest-note{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin:10px 0 0}.topic-kbd{font-size:11px;font-weight:600;border:1px solid var(--line);border-radius:5px;padding:2px 6px;background:var(--surface)}.topic-duplicate{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:10px;padding:10px 12px;border-radius:8px;background:var(--teal-tint);font-size:13px}@media (max-width: 640px){.topic-chart-row{grid-template-columns:96px 1fr 62px;gap:10px}}.kb-section{margin-bottom:34px}.kb-section-head .panel-title{font-weight:700}.kb-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line);flex-wrap:wrap}.kb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}@media (max-width: 900px){.kb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.kb-grid{grid-template-columns:1fr}}.kb-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}.kb-chip{font-family:var(--sans);font-size:12.5px;font-weight:500;padding:7px 13px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;min-height:32px}.kb-chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600}.resource-card{display:flex;flex-direction:column;gap:9px;min-height:186px}.resource-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.resource-card-title{font-size:14.5px;font-family:var(--serif);line-height:1.35}.resource-card-title a{color:var(--text);text-decoration:none}.resource-card-desc{font-size:12.5px;color:var(--muted);line-height:1.5}.resource-card-foot{margin-top:auto;padding-top:11px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:8px}.resource-card-by{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10.5px;color:var(--muted)}.resource-card-avatar{width:20px;height:20px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;flex:none}.resource-card{position:relative}.resource-card-link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit}.resource-card:hover{border-color:var(--teal)}.resource-card:hover .resource-card-title a{text-decoration:underline}.resource-card:focus-within{outline:2px solid var(--teal-deep);outline-offset:2px}.resource-card-link:focus-visible{outline:none}.resource-card-top,.resource-card-desc,.resource-card-foot{position:relative;z-index:1}.resource-card-top,.resource-card-foot{pointer-events:none}.like-btn,.resource-card-foot .tag{pointer-events:auto}.like-heart{flex:none}.src-badge{display:inline-flex;align-items:center;font-family:var(--mono);font-size:10px;letter-spacing:.03em;padding:3px 7px;border-radius:6px;background:var(--paper);border:1px solid var(--line);color:var(--muted);font-weight:600;flex:none;white-space:nowrap}.like-btn{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11px;font-weight:600;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:999px;padding:5px 10px;cursor:pointer;min-height:26px}.like-btn.on{color:var(--teal-deep);border-color:var(--teal-tint);background:var(--teal-tint)}.like-static{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11px;color:var(--muted)}.resource-card-primary{background:var(--teal-deep);border-color:var(--teal-deep)}.resource-card-primary:hover{border-color:#fff}.resource-card-primary:focus-within{outline-color:#fff}.resource-card-primary .resource-card-title a{color:#fff}.resource-card-primary .resource-card-desc{color:#c9e5de}.resource-card-primary .resource-card-foot{border-top-color:#fff3}.resource-card-primary .src-badge{background:#ffffff1f;border-color:#ffffff42;color:#e4f2ee}.resource-card-primary .tag{background:#ffffff29;color:#fff}.resource-card-primary .resource-card-by{color:#c9e5de}.resource-card-primary .resource-card-avatar{background:#fff;color:var(--teal-deep)}.resource-card-primary .like-btn{border-color:#ffffff52;color:#e4f2ee}.resource-card-primary .like-btn.on{background:#fff;border-color:#fff;color:var(--teal-deep)}.resource-card-primary .like-static{color:#c9e5de}:root{--ink: #0d1321;--teal: #0e7c6b;--teal-deep: #0a5f51;--teal-tint: #e1f3ee;--paper: #f5f7f8;--surface: #ffffff;--line: #e2e6e9;--text: #12161f;--muted: #5c6672;--amber: #b4790a;--amber-tint: #fbf0dc;--danger: #b23b33;--radius: 14px;--serif: "Iowan Old Style", "Palatino Linotype", Georgia, serif;--sans: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace}@media (prefers-color-scheme: dark){:root{--paper: #0a0e16;--surface: #121826;--line: #232b3b;--text: #e8ebf0;--muted: #8891a0;--teal-tint: #123a34;--amber-tint: #3a2c10}}:root[data-theme=dark]{--paper: #0a0e16;--surface: #121826;--line: #232b3b;--text: #e8ebf0;--muted: #8891a0;--teal-tint: #123a34;--amber-tint: #3a2c10}:root[data-theme=light]{--paper: #f5f7f8;--surface: #ffffff;--line: #e2e6e9;--text: #12161f;--muted: #5c6672;--teal-tint: #e1f3ee;--amber-tint: #fbf0dc}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--serif);text-wrap:balance;margin:0;font-weight:600;letter-spacing:.01em}p{margin:0}a{color:inherit}button{font-family:var(--sans)}
