@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:normal;font-display:swap;src:url(/fonts/bricolage-grotesque-700.ttf) format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-condensed-700.ttf) format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/barlow-condensed-800.ttf) format("truetype")}:root{--bg: #0E1510;--bg-raised: #18241C;--line: #2C3A30;--text: #F4EEDC;--muted: #C9CDBE;--accent: #E4B73F;--accent-hover: #FFD75B;--on-accent: #151515;--display: "Barlow Condensed", "Arial Narrow", sans-serif;--wordmark: "Bricolage Grotesque", "Arial Black", sans-serif;--body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, system-ui, sans-serif;--mono: "SFMono-Regular", Menlo, Consolas, "Courier New", monospace;--gutter: clamp(16px, 5vw, 48px);--header: 72px;color-scheme:dark;font-family:var(--body);color:var(--text);background:var(--bg);font-synthesis:none;font-weight:400;scrollbar-color:var(--line) var(--bg)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 16px);-webkit-text-size-adjust:100%}body{margin:0;background:radial-gradient(ellipse 130% 100% at 0% 0%,#3B4A2C 0%,#2A3A27 25%,#1A261C 55%,var(--bg) 100%) 0 0 / 100% 110vh no-repeat,var(--bg);font-size:1.0625rem;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{display:block;max-width:100%;height:auto}svg{flex-shrink:0}h1,h2,h3,h4,p,figure,ul,ol,pre{margin:0}ul,ol{padding:0;list-style:none}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:3px solid var(--text);outline-offset:3px;border-radius:4px}summary::-webkit-details-marker{display:none}.section-inner,.header-inner{width:min(1200px,calc(100% - 2 * var(--gutter)));margin-inline:auto}.site-header{position:sticky;top:0;z-index:10;height:var(--header);background:#0e151099;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(44,58,48,.55)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:inline-flex;flex-direction:column;flex-shrink:0;font-family:var(--wordmark);font-weight:700;font-size:1.75rem;line-height:.84;letter-spacing:-.03em}.brand b{color:var(--accent);font-weight:700}.brand span{color:var(--text)}.header-meta-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border:0;border-radius:12px;font-weight:700;font-size:1.0625rem;line-height:1.2;cursor:pointer;transition:background-color .18s,transform .18s}.button:active{transform:translateY(1px)}.button-primary{background:var(--accent);color:var(--on-accent)}.button-primary:hover:not(:disabled){background:var(--accent-hover)}.button-dark{background:var(--bg);color:var(--text)}.button-dark:hover:not(:disabled){background:var(--bg-raised)}.button-surface{background:var(--bg-raised);color:var(--text);border:1px solid var(--line)}.button-surface:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.button[disabled]{opacity:.58;cursor:not-allowed}.button-compact{min-height:42px;padding:0 18px;font-size:.95rem;border-radius:10px}.button-ghost{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 12px;background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s}.button-ghost:hover:not(:disabled){color:var(--text);border-color:var(--accent)}.button-ghost:disabled{opacity:.5;cursor:not-allowed}.danger-text{color:#ffa6a6;border-color:#eb575759}.danger-text:hover:not(:disabled){color:#ffc2c2;border-color:#ffa6a6}.text-link{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}.text-link:hover{color:var(--accent-hover)}.accent-icon{color:var(--accent)}.pilot-pill,.role-pill,.status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-size:.8125rem;font-weight:700;letter-spacing:.02em;line-height:1.3}.pilot-pill{background:#e4b73f29;color:var(--accent);border:1px solid rgba(228,183,63,.45)}.role-pill{background:var(--bg);color:var(--muted);border:1px solid var(--line)}.status-pill{background:#e4b73f26;color:var(--accent);border:1px solid rgba(228,183,63,.4);text-transform:capitalize}.status-pill.is-published,.status-pill.is-done,.status-pill.is-resolved{background:#4caf7029;color:#8ce0a8;border-color:#4caf7066}.status-pill.is-cancelled,.status-pill.is-danger,.status-pill.is-critical,.status-pill.is-blocked{background:#eb575729;color:#ffa6a6;border-color:#eb575773}.status-pill.is-ended,.status-pill.is-low{background:var(--bg);color:var(--muted);border-color:var(--line)}.portal-page{width:min(1120px,calc(100% - 2 * var(--gutter)));margin:0 auto;padding:clamp(24px,4vw,48px) 0 clamp(72px,10vw,120px)}.portal-page select,.portal-page textarea{font:inherit}.portal-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-bottom:24px}.portal-breadcrumb .text-link{display:inline-flex;align-items:center;gap:6px;min-height:40px;font-weight:600}.portal-user-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.portal-hero{max-width:46rem;margin-bottom:28px}.portal-hero h1{margin-top:10px;font-family:var(--body);text-transform:none;font-size:clamp(2rem,4vw,2.75rem);font-weight:800;letter-spacing:-.02em;line-height:1.15}.portal-lead{margin-top:12px;font-size:1.08rem;color:var(--muted);max-width:62ch;line-height:1.55}.portal-muted{color:var(--muted);font-size:.95rem}.portal-card{background:var(--bg-raised);border:1px solid var(--line);border-radius:20px;padding:clamp(20px,3vw,32px);box-shadow:0 12px 32px #00000038}.portal-card h1{font-family:var(--body);text-transform:none;font-size:clamp(1.625rem,3vw,2.125rem);font-weight:800;line-height:1.2;letter-spacing:-.015em}.portal-card h2{font-family:var(--body);text-transform:none;font-size:clamp(1.3rem,2.4vw,1.6rem);font-weight:700;line-height:1.25;letter-spacing:-.01em}.portal-card h3{font-family:var(--body);text-transform:none;font-size:1.125rem;font-weight:700;line-height:1.3}.section-title-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.signin-container{max-width:560px}.signin-card{display:grid;gap:18px}.signin-footer-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}.signin-request-prompt{padding-top:16px;border-top:1px solid var(--line);font-size:.95rem;color:var(--muted)}.portal-form{display:grid;gap:18px;scroll-margin-top:calc(var(--header) + 16px)}.portal-form label{display:grid;gap:7px;font-size:.9375rem;font-weight:600;color:var(--text)}.portal-form input[type=text],.portal-form input[type=email],.portal-form input[type=url],.portal-form select,.portal-form textarea,.inline-add-form input,.inline-add-form select,.moderation-controls input,.moderation-controls select,.org-switcher select{width:100%;min-height:46px;padding:10px 14px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:12px;font-size:1rem;font-weight:400;line-height:1.4}.portal-form textarea{min-height:108px;resize:vertical}.portal-form input:focus,.portal-form select:focus,.portal-form textarea:focus,.inline-add-form input:focus,.inline-add-form select:focus,.moderation-controls input:focus,.moderation-controls select:focus,.org-switcher select:focus{border-color:var(--accent);outline:2px solid rgba(228,183,63,.35);outline-offset:1px}.form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.submit-wide{width:100%;margin-top:6px}.portal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:8px}.optional-fields-disclosure{padding:12px 16px;background:var(--bg);border:1px solid var(--line);border-radius:14px}.optional-fields-disclosure summary{cursor:pointer;font-size:.9375rem;font-weight:600;color:var(--muted);list-style:none}.optional-fields-disclosure summary:hover{color:var(--accent)}.optional-fields-body{display:grid;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.portal-alert{padding:12px 16px;border-radius:12px;background:#eb575724;border:1px solid rgba(235,87,87,.45);color:#ffc4c4;font-size:.95rem;font-weight:600}.portal-toast{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;background:#4caf7026;border:1px solid rgba(76,175,112,.45);color:#a8f0be;font-size:.95rem;font-weight:600}.student-callout{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:#e4b73f14;border:1px solid rgba(228,183,63,.3);border-radius:12px;font-size:.925rem;color:var(--muted);line-height:1.45}.student-callout strong{color:var(--text)}.dashboard-shell,.portal-stack,.org-header-card{display:grid;gap:20px}.org-header-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px 24px}.org-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.org-switcher{display:grid;gap:6px;font-size:.875rem;font-weight:600;min-width:250px}.portal-tabs{display:flex;flex-wrap:wrap;gap:8px;padding-top:16px;border-top:1px solid var(--line)}.portal-tabs button{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;background:var(--bg);color:var(--muted);border:1px solid var(--line);border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer}.portal-tabs button:hover{color:var(--text);border-color:var(--accent)}.portal-tabs button.is-active{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:700}.analytics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric-card{padding:20px;background:var(--bg-raised);border:1px solid var(--line);border-radius:18px;display:grid;gap:6px}.metric-label{display:inline-flex;align-items:center;gap:7px;font-size:.875rem;font-weight:600;color:var(--muted)}.metric-card strong{font-size:2rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--text)}.metric-card small{font-size:.8125rem;color:var(--muted);line-height:1.35}.definitions-strip{padding:16px 20px;font-size:.925rem;color:var(--muted);display:grid;gap:8px}.definitions-strip strong,.definitions-strip em{color:var(--text)}.org-event-list,.member-list,.pending-request-list{display:grid;gap:14px;margin-top:16px}.org-event-card{display:grid;gap:16px;padding:20px;background:var(--bg);border:1px solid var(--line);border-radius:16px}.org-event-card.is-just-saved,.org-event-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px #e4b73f40}.org-event-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.org-event-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:6px;color:var(--muted);font-size:.9375rem}.org-publisher-note{margin-top:6px;font-size:.85rem}.org-event-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px 14px;background:var(--bg-raised);border:1px solid var(--line);border-radius:12px}.org-event-stats div{display:grid;gap:2px}.org-event-stats strong{font-size:1.1rem;font-variant-numeric:tabular-nums}.org-event-stats span{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;color:var(--muted)}.org-event-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.code-box{padding:14px 16px;background:#090e0b;border:1px solid var(--line);border-radius:12px;font-family:var(--mono);font-size:.85rem;line-height:1.55;color:var(--text);overflow-x:auto;white-space:pre-wrap;word-break:break-word}.env-textarea{font-family:var(--mono)!important;font-size:.85rem!important;line-height:1.55!important;background:#090e0b!important;min-height:200px!important}.task-body-text{color:var(--text);font-size:.975rem;line-height:1.6;white-space:pre-wrap}.criteria-checklist{display:grid;gap:8px;padding:14px 16px;background:var(--bg-raised);border:1px solid var(--line);border-radius:12px}.criteria-checklist li{display:flex;align-items:flex-start;gap:8px;font-size:.925rem;color:var(--text)}.writeup-thread{display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--line)}.writeup-item{padding:12px 14px;background:var(--bg-raised);border:1px solid var(--line);border-radius:12px;display:grid;gap:6px}.writeup-item.is-ai{border-color:#e4b73f73;background:#e4b73f0f}.writeup-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;font-size:.825rem;color:var(--muted)}.member-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--bg);border:1px solid var(--line);border-radius:14px}.moderation-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.moderation-controls input{flex:1 1 240px}.moderation-controls select{width:auto;min-width:170px}.portal-snackbar{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:40;display:flex;align-items:center;gap:10px;max-width:min(560px,calc(100% - 32px));padding:12px 12px 12px 16px;border-radius:12px;background:#1f3326;border:1px solid rgba(76,175,112,.55);color:#c8f5d6;font-size:.95rem;font-weight:600;box-shadow:0 10px 30px #00000073}.portal-snackbar button{margin-left:auto;min-width:32px;min-height:32px;border:0;border-radius:8px;background:transparent;color:inherit;font-size:1.25rem;cursor:pointer}.footer{width:min(1200px,calc(100% - 2 * var(--gutter)));margin:0 auto;padding:56px 0 40px;border-top:1px solid var(--line)}.footer-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:16px 32px}.footer .brand{font-size:3rem}.footer-top>a:not(.brand){color:var(--muted);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}.footer-top>a:not(.brand):hover{color:var(--text)}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:40px;color:var(--muted);font-size:.9375rem}.footer-bottom nav{display:flex;flex-wrap:wrap;gap:12px 24px}.footer-bottom nav a:hover{color:var(--text)}@media(max-width:900px){.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){:root{--header: 60px}.brand{font-size:1.5rem}.form-grid-2,.form-grid-3,.org-event-stats{grid-template-columns:minmax(0,1fr)}.footer{padding:40px 0 32px}.footer .brand{font-size:2.25rem}.footer-bottom{margin-top:28px;flex-direction:column;gap:16px}}
