@font-face{font-family:Bricolage Grotesque;src:url(../../../fonts/learn/bricolage-grotesque.woff2)format("woff2");font-weight:200 800;font-style:normal;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(../../../fonts/learn/plus-jakarta-sans.woff2)format("woff2");font-weight:200 800;font-style:normal;font-display:swap}.campus-scope{--radius:.875rem;--campus-radius-md:calc(var(--radius) - 2px);--campus-radius-sm:calc(var(--radius) - 4px);--campus-radius-pill:9999px;--primary:#3f8f36;--primary-foreground:#fff;--ring:#3f8f36;--sidebar-primary:#3f8f36;--sidebar-primary-foreground:#fff;--background:#eef4f1;--foreground:#0f1e19;--card:#fff;--card-foreground:#0f1e19;--popover:#fff;--popover-foreground:#0f1e19;--muted:#e7efeb;--muted-foreground:#5c6b64;--accent:#e9f4e1;--accent-foreground:#2f7a27;--secondary:#eaf2ee;--secondary-foreground:#12352b;--border:#e0e9e4;--input:#dbe6e0;--sidebar:#fff;--sidebar-foreground:#0f1e19;--sidebar-accent:#e9f4e1;--sidebar-accent-foreground:#2f7a27;--sidebar-border:#e0e9e4;--sidebar-ring:#3f8f36;--campus-font-display:"Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--campus-font-ui:"Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;--campus-font-serif:"Source Serif 4", Georgia, "Times New Roman", serif;--campus-amber:#f59e0b;--campus-amber-ink:#b4740a;--campus-amber-bg:#fdf0d8;--campus-primary-ink:#2f7a27;--campus-primary-bg:#e9f4e1;--campus-primary-line:#cfe8bf;--campus-info-ink:#1c6fa6;--campus-info-bg:#e1f1fb;--campus-shadow:0 1px 2px #0f1e190d, 0 14px 30px -18px #0e785747;--campus-shadow-lg:0 2px 6px #0f1e190f, 0 26px 56px -26px #0e785757;--campus-inner-hi:inset 0 1px 0 0 #ffffffb3;--campus-ease:cubic-bezier(.32, .72, 0, 1);--campus-ease-spring:cubic-bezier(.34, 1.4, .64, 1);font-family:var(--campus-font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}:root:not(.dark) .campus-scope{--campus-primary-grad:linear-gradient(120deg, #2e5e24, #4f9e37);--campus-primary-grad-hover:linear-gradient(120deg, #285320, #468f30)}.dark .campus-scope{--primary:#34d399;--primary-foreground:#04211a;--ring:#34d399;--sidebar-primary:#34d399;--sidebar-primary-foreground:#04211a;--background:#0c1512;--foreground:#e7f0eb;--card:#12201b;--card-foreground:#e7f0eb;--popover:#12201b;--popover-foreground:#e7f0eb;--muted:#1a2a24;--muted-foreground:#9db3aa;--accent:#16332680;--accent-foreground:#7ee0b3;--secondary:#17251f;--secondary-foreground:#d6efe4;--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.13);--sidebar:#101c17;--sidebar-foreground:#e7f0eb;--sidebar-accent:#16332680;--sidebar-accent-foreground:#7ee0b3;--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:#34d399;--campus-amber:#fbbf24;--campus-amber-ink:#f2c56b;--campus-amber-bg:#3a2c14;--campus-primary-ink:#6ee7b7;--campus-primary-bg:#16332680;--campus-primary-line:#1f4a3a;--campus-info-ink:#82c7ee;--campus-info-bg:#14293a;--campus-shadow:0 1px 2px #0006, 0 16px 34px -18px #0009;--campus-shadow-lg:0 2px 6px #00000073, 0 30px 66px -28px #000000b3;--campus-inner-hi:inset 0 1px 0 0 #ffffff0f}.campus-scope :is(h1,h2,h3):not(.learn-serif):not(.campus-serif),.campus-scope .learn-display{font-family:var(--campus-font-display);letter-spacing:-.02em;font-weight:700}.campus-display{font-family:var(--campus-font-display);letter-spacing:-.02em;font-weight:700;line-height:1.02}.campus-serif{font-family:var(--campus-font-serif);letter-spacing:-.005em;font-weight:600}.campus-scope .prose{font-family:var(--campus-font-ui)}.campus-scope ::selection{background:color-mix(in oklab, var(--primary) 24%, transparent)}.campus-kicker{font-family:var(--campus-font-ui);text-transform:uppercase;letter-spacing:.12em;color:var(--muted-foreground);font-size:.68rem;font-weight:700;line-height:1;display:inline-block}.campus-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.campus-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--campus-shadow)}.campus-card-flat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}.campus-hover{transition:transform .4s var(--campus-ease-spring), box-shadow .35s var(--campus-ease), border-color .3s var(--campus-ease)}.campus-hover:hover{box-shadow:var(--campus-shadow-lg);border-color:color-mix(in oklab, var(--primary) 30%, var(--border));transform:translateY(-3px)}.campus-bezel{background:var(--muted);border:1px solid var(--border);border-radius:calc(var(--radius) + 6px);box-shadow:var(--campus-shadow);transition:transform .5s var(--campus-ease), box-shadow .5s var(--campus-ease), border-color .4s var(--campus-ease);padding:6px}.campus-bezel:hover{box-shadow:var(--campus-shadow-lg);border-color:color-mix(in oklab, var(--primary) 30%, var(--border));transform:translateY(-3px)}.campus-bezel-core{background:var(--card);border-radius:var(--radius);box-shadow:var(--campus-inner-hi);padding:1.25rem}.campus-chip{border-radius:var(--campus-radius-pill);font-family:var(--campus-font-ui);color:var(--campus-primary-ink);background:var(--campus-primary-bg);border:1px solid #0000;align-items:center;gap:.3rem;padding:.22rem .62rem;font-size:.68rem;font-weight:700;line-height:1.1;display:inline-flex}.campus-chip-amber{color:var(--campus-amber-ink);background:var(--campus-amber-bg)}.campus-chip-solid{color:#fff;background:var(--primary)}.campus-chip-danger{color:var(--destructive);background:color-mix(in oklab, var(--destructive) 12%, transparent)}.campus-chip-neutral{color:var(--muted-foreground);background:var(--muted)}.campus-chip-info{color:var(--campus-info-ink);background:var(--campus-info-bg)}.campus-btn{border-radius:var(--campus-radius-md);font-family:var(--campus-font-ui);white-space:nowrap;cursor:pointer;background:var(--primary);color:var(--primary-foreground);transition:background-color .25s var(--campus-ease), box-shadow .25s var(--campus-ease), transform .15s var(--campus-ease);border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;padding:.55rem 1.05rem;font-size:.85rem;font-weight:700;line-height:1.2;display:inline-flex}.campus-btn:hover{box-shadow:var(--campus-shadow);background:color-mix(in oklab, black 7%, var(--primary))}.campus-btn:active{transform:translateY(1px)}.campus-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.campus-btn-soft{background:var(--campus-primary-bg);color:var(--campus-primary-ink)}.campus-btn-soft:hover{background:color-mix(in oklab, var(--primary) 18%, var(--card))}.campus-btn-ghost{color:var(--foreground);border-color:var(--border);background:0 0}.campus-btn-ghost:hover{background:var(--accent);box-shadow:none}.campus-btn-sm{padding:.35rem .7rem;font-size:.78rem}.campus-btn-danger{color:var(--destructive);background:color-mix(in oklab, var(--destructive) 10%, transparent)}.campus-btn-danger:hover{background:color-mix(in oklab, var(--destructive) 16%, transparent);box-shadow:none}.campus-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.campus-icon{border-radius:var(--campus-radius-sm);width:2.5rem;height:2.5rem;color:var(--campus-primary-ink);background:var(--campus-primary-bg);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.campus-icon-danger{color:var(--destructive);background:color-mix(in oklab, var(--destructive) 12%, transparent)}.campus-kod{letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8em;font-weight:600}.campus-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.9rem}.campus-table th{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);background:color-mix(in oklab, var(--muted) 70%, transparent);border-bottom:1px solid var(--border);white-space:nowrap;padding:.7rem 1rem;font-size:.68rem;font-weight:700}.campus-table td{border-bottom:1px solid color-mix(in oklab, var(--border) 70%, transparent);vertical-align:middle;padding:.75rem 1rem}.campus-table tbody tr:last-child td{border-bottom:0}.campus-table tbody tr{transition:background .15s var(--campus-ease)}.campus-table tbody tr:hover{background:color-mix(in oklab, var(--accent) 60%, transparent)}.campus-tabstrip{scrollbar-width:none;scroll-snap-type:x proximity;background:linear-gradient(to right, var(--background) 45%, transparent) left / 2.5rem 100% no-repeat local, linear-gradient(to left, var(--background) 45%, transparent) right / 2.5rem 100% no-repeat local, linear-gradient(to right, color-mix(in oklab, var(--foreground) 16%, transparent), transparent) left / 1rem 100% no-repeat scroll, linear-gradient(to left, color-mix(in oklab, var(--foreground) 16%, transparent), transparent) right / 1rem 100% no-repeat scroll;overflow-x:auto}.campus-tabstrip::-webkit-scrollbar{display:none}.campus-tabstrip>*{scroll-snap-align:start;scroll-margin-inline:1rem}:root:not(.dark) .campus-scope .campus-btn:not(.campus-btn-soft):not(.campus-btn-ghost):not(.campus-btn-danger){background:var(--campus-primary-grad)}:root:not(.dark) .campus-scope .campus-btn:not(.campus-btn-soft):not(.campus-btn-ghost):not(.campus-btn-danger):hover{background:var(--campus-primary-grad-hover)}.campus-btn-cta{justify-content:space-between;gap:1rem;padding:.5rem .5rem .5rem 1.25rem;font-size:1.2rem;line-height:1.15}.campus-btn-cta:active{transform:scale(.975)}.campus-btn-ico{width:30px;height:30px;color:inherit;transition:transform .35s var(--campus-ease);background:#ffffff29;border-radius:9999px;flex:none;place-items:center;display:grid}.campus-btn-cta:hover .campus-btn-ico{transform:translate(3px,-1px)scale(1.06)}.campus-tabs{background:var(--card);border:1px solid var(--border);border-radius:var(--campus-radius-md);gap:.25rem;padding:.25rem;display:inline-flex}.campus-tab{font-family:var(--campus-font-ui);border-radius:var(--campus-radius-sm);color:var(--muted-foreground);cursor:pointer;transition:background-color .2s var(--campus-ease), color .2s var(--campus-ease);background:0 0;border:0;padding:.35rem .8rem;font-size:.78rem;font-weight:700}.campus-tab:hover{color:var(--foreground)}.campus-tab[aria-selected=true],.campus-tab[data-active=true]{background:var(--primary);color:var(--primary-foreground)}.campus-tab:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.campus-timeline{margin:0;padding:0;list-style:none;position:relative}.campus-timeline>li{padding-left:3.25rem;position:relative}.campus-timeline>li+li{margin-top:.75rem}.campus-timeline>li:before{content:"";background:var(--border);border-radius:1px;width:2px;position:absolute;top:3.5rem;bottom:-.75rem;left:calc(1.25rem - 1px)}.campus-timeline>li[data-tone=done]:before{background:var(--primary)}.campus-timeline>li:last-child:before{display:none}.campus-timeline-node{border-radius:var(--campus-radius-pill);width:2.5rem;height:2.5rem;font-family:var(--campus-font-ui);font-variant-numeric:tabular-nums;color:var(--muted-foreground);background:var(--muted);box-shadow:0 0 0 2px var(--card) inset;border:2px solid var(--border);place-items:center;font-size:.8rem;font-weight:700;display:grid;position:absolute;top:1rem;left:0}.campus-timeline>li[data-tone=done]>.campus-timeline-node{color:var(--primary-foreground);background:var(--primary);border-color:var(--primary)}.campus-timeline>li[data-tone=current]>.campus-timeline-node{color:var(--campus-primary-ink);background:var(--campus-primary-bg);border-color:var(--primary)}.campus-timeline>li[data-tone=warn]>.campus-timeline-node{color:var(--campus-amber-ink);background:var(--campus-amber-bg);border-color:var(--campus-amber)}.campus-timeline>li[data-tone=danger]>.campus-timeline-node{color:var(--destructive);background:color-mix(in oklab, var(--destructive) 12%, transparent);border-color:var(--destructive)}.campus-bar{border-radius:var(--campus-radius-pill);background:var(--muted);height:7px;overflow:hidden}.campus-bar>i{border-radius:var(--campus-radius-pill);background:linear-gradient(90deg, var(--primary), color-mix(in oklab, white 22%, var(--primary)));height:100%;display:block}.campus-bar[data-tone=warn]>i{background:linear-gradient(90deg, var(--campus-amber), color-mix(in oklab, white 18%, var(--campus-amber)))}.campus-scope .campus-progress [data-slot=progress-indicator]{background:linear-gradient(90deg, var(--primary), color-mix(in oklab, white 22%, var(--primary)))}.campus-viewer{background:var(--muted);border:1px solid var(--border);border-radius:var(--radius);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-direction:column;align-items:center;gap:1rem;padding:1rem;display:flex}.campus-viewer-page{border-radius:var(--campus-radius-sm);width:100%;max-width:56rem;box-shadow:var(--campus-shadow);background:#fff;position:relative;overflow:hidden}.campus-viewer-page>canvas{pointer-events:none;width:100%;height:auto;display:block}.campus-viewer-print-notice{display:none}@media print{.campus-viewer,.campus-viewer-noprint{display:none!important}.campus-viewer-print-notice{font-family:var(--campus-font-ui);padding:2rem;font-size:1.25rem;font-weight:700;display:block}}.campus-railitem{border-radius:var(--campus-radius-sm);width:42px;height:42px;color:var(--muted-foreground);transition:color .2s var(--campus-ease);place-items:center;display:grid;position:relative}.campus-railitem[aria-current=page]{background:color-mix(in oklab, var(--primary) 14%, transparent);color:var(--campus-primary-ink)}.campus-railitem:hover,.campus-railitem:focus-visible{color:var(--background)}.campus-railitem>.campus-railico{z-index:2;position:relative}.campus-goo{pointer-events:none;filter:url(#campus-goo);z-index:1;width:220px;height:42px;position:absolute;top:0;left:0}.campus-goo-dot,.campus-goo-pill{background:var(--foreground);opacity:0;transform-origin:0;transition:opacity .12s var(--campus-ease), transform .3s var(--campus-ease-spring);position:absolute}.campus-goo-dot{border-radius:50%;width:36px;height:36px;top:3px;left:3px;transform:scale(.5)}.campus-goo-pill{border-radius:var(--campus-radius-md);white-space:nowrap;color:#0000;padding:.42rem .62rem;font-size:.72rem;font-weight:600;line-height:1;top:50%;left:45px;transform:translateY(-50%)translate(-8px)scale(.6)}.campus-railitem>.campus-raillabel{transform-origin:0;white-space:nowrap;color:var(--background);opacity:0;pointer-events:none;z-index:2;transition:opacity .12s var(--campus-ease), transform .3s var(--campus-ease-spring);padding:.42rem .62rem;font-size:.72rem;font-weight:600;line-height:1;position:absolute;top:50%;left:45px;transform:translateY(-50%)translate(-8px)scale(.6)}.campus-railitem:hover .campus-goo-dot,.campus-railitem:focus-visible .campus-goo-dot{opacity:1;transform:scale(1)}.campus-railitem:hover .campus-goo-pill,.campus-railitem:focus-visible .campus-goo-pill,.campus-railitem:hover>.campus-raillabel,.campus-railitem:focus-visible>.campus-raillabel{opacity:1;transform:translateY(-50%)translate(0)scale(1)}.campus-scope .learn-panel,.campus-scope .learn-panel-raised,.campus-scope .learn-frame{border-radius:var(--radius);box-shadow:var(--campus-shadow);border-color:var(--border)}.campus-scope .learn-panel{box-shadow:none}.campus-scope .learn-frame:after{display:none}.campus-scope .learn-tag{border-radius:var(--campus-radius-pill);letter-spacing:.04em;background:var(--campus-primary-bg);color:var(--campus-primary-ink);border-color:#0000}.campus-scope .learn-cta{border-radius:var(--campus-radius-md)}.campus-scope .learn-kicker{letter-spacing:.12em}@media (prefers-reduced-motion:reduce){.campus-btn,.campus-hover,.campus-bezel,.campus-btn-ico,.campus-tab,.campus-table tbody tr,.campus-railitem,.campus-railitem>.campus-raillabel,.campus-goo-dot,.campus-goo-pill{transition:none}.campus-hover:hover,.campus-bezel:hover,.campus-btn-cta:hover .campus-btn-ico{transform:none}}
