:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ui-primary:#2f7c61;--ui-primary-strong:#245e49;--ui-primary-soft:#edf6f1;--ui-accent:#d96643;--ui-accent-soft:#fff1eb;--ui-danger:#b8473c;--ui-danger-soft:#fff0ed;--ui-success:#327556;--ui-success-soft:#edf7f1;--ui-warning:#9b681c;--ui-warning-soft:#fff7e6;--ui-info:#496c85;--ui-info-soft:#edf5f8;--ui-ink:#302924;--ui-muted:#766960;--ui-subtle:#998b80;--ui-border:#e5d9cd;--ui-border-strong:#d3c3b5;--ui-canvas:#f7f2eb;--ui-surface:#fffdfa;--ui-surface-alt:#fbf7f1;--ui-shadow-sm:0 1px 2px #4933290a, 0 3px 10px #4933290b;--ui-shadow-md:0 8px 24px #49332917;--ui-radius-sm:6px;--ui-radius-md:8px;--ui-radius-lg:12px;--ui-max-width:1180px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px}body{background:var(--ui-canvas);min-width:320px;min-height:100vh;color:var(--ui-ink);margin:0;font-size:1rem;line-height:1.6;overflow-x:hidden}a{color:inherit;text-underline-offset:3px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #d9664347}input,select,textarea{border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-sm);background:var(--ui-surface);width:100%;min-height:40px;color:var(--ui-ink);padding:8px 11px;transition:border-color .18s,box-shadow .18s}textarea{resize:vertical;min-height:112px}input:focus,select:focus,textarea:focus{border-color:var(--ui-primary);outline:none;box-shadow:0 0 0 3px #2f7c611c}input:disabled,select:disabled,textarea:disabled,button:disabled{cursor:not-allowed;opacity:.62}label{color:var(--ui-ink);gap:6px;font-size:.93rem;font-weight:650;display:grid}.app-shell{min-height:100vh}.skip-link{z-index:999;border-radius:var(--ui-radius-sm);background:var(--ui-ink);color:#fff;padding:8px 12px;position:fixed;top:8px;left:16px;transform:translateY(-180%)}.skip-link:focus{transform:none}.site-header{z-index:40;border-bottom:1px solid var(--ui-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdfaf5;position:sticky;top:0}.site-header__inner{width:min(var(--ui-max-width), calc(100% - 32px));justify-content:space-between;align-items:center;gap:20px;min-height:64px;margin:auto;display:flex}.brand-lockup{align-items:center;gap:10px;min-width:210px;display:flex}.brand-lockup--link{color:inherit;text-decoration:none}.brand-lockup--link:focus-visible{outline:2px solid var(--ui-primary);outline-offset:4px;border-radius:4px}.brand-lockup h1{color:#382c25;letter-spacing:-.015em;margin:0;font-size:1.32rem;line-height:1.15}.brand-lockup p{color:var(--ui-muted);margin:2px 0 0;font-size:.78rem}.brand-eyebrow{color:var(--ui-accent);letter-spacing:.12em;margin-bottom:1px;font-size:.63rem;font-weight:800;display:block}.brand-mark{background:var(--ui-primary);border-radius:50%;flex:none;width:36px;height:36px;position:relative;box-shadow:inset -6px -6px #19493621}.brand-mark--image{border:1px solid var(--ui-border);background:var(--ui-surface);box-shadow:none;object-fit:contain;border-radius:9px;padding:2px}.brand-mark span{background:#fffdfa;border-radius:50%;width:5px;height:5px;position:absolute}.brand-mark span:first-child{top:10px;left:9px}.brand-mark span:nth-child(2){top:9px;left:20px}.brand-mark span:nth-child(3){top:20px;left:15px}.site-header__actions{align-items:center;min-width:0;display:flex}.primary-nav ul{align-items:center;gap:2px;margin:0;padding:0;list-style:none;display:flex}.primary-nav a,.text-button{border-radius:var(--ui-radius-sm);min-height:40px;color:var(--ui-muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:7px 10px;font-size:.9rem;font-weight:650;text-decoration:none;display:inline-flex}.primary-nav a:hover,.primary-nav a.active,.text-button:hover{background:var(--ui-primary-soft);color:var(--ui-primary-strong)}.primary-nav .nav-login{background:var(--ui-primary);color:#fff;margin-left:4px;padding-inline:15px}.primary-nav .nav-login:hover{background:var(--ui-primary-strong);color:#fff}.notice{width:min(var(--ui-max-width), calc(100% - 32px));border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);align-items:flex-start;gap:10px;margin:12px auto 0;padding:10px 12px;display:flex}.notice__icon{background:var(--ui-info-soft);width:20px;height:20px;color:var(--ui-info);border-radius:50%;flex:none;place-items:center;font-size:.78rem;font-weight:900;display:grid}.notice h2{margin:0;font-size:.9rem}.notice p{color:var(--ui-muted);margin:2px 0 0;font-size:.85rem}.notice--success{background:var(--ui-success-soft);border-color:#cbe3d4}.notice--success .notice__icon{background:var(--ui-success);color:#fff}.notice--warning{background:var(--ui-warning-soft);border-color:#ead8b3}.notice--warning .notice__icon{background:var(--ui-warning);color:#fff}.ui-surface{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-sm);padding:16px}.ui-surface__header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.ui-surface__header h3{margin:0;font-size:1rem}.ui-surface__header p{color:var(--ui-muted);margin:3px 0 0;font-size:.86rem}.button,.primary-button,.outline-button,.secondary-link{border-radius:var(--ui-radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:7px 15px;font-weight:700;text-decoration:none;transition:background .18s,border-color .18s,color .18s,box-shadow .18s;display:inline-flex}.button--primary,.primary-button{background:var(--ui-primary);color:#fff}.button--primary:hover,.primary-button:hover{background:var(--ui-primary-strong)}.button--secondary,.outline-button,.secondary-link{border-color:var(--ui-border-strong);background:var(--ui-surface);color:var(--ui-ink)}.button--secondary:hover,.outline-button:hover,.secondary-link:hover{border-color:var(--ui-primary);color:var(--ui-primary-strong)}.status-badge{min-height:24px;color:var(--ui-muted);white-space:nowrap;background:#f1ece7;border-radius:999px;align-items:center;padding:2px 9px;font-size:.76rem;font-weight:750;display:inline-flex}.status-badge--success{background:var(--ui-success-soft);color:var(--ui-success)}.status-badge--warning{background:var(--ui-warning-soft);color:var(--ui-warning)}.status-badge--danger{background:var(--ui-danger-soft);color:var(--ui-danger)}.status-badge--info{background:var(--ui-info-soft);color:var(--ui-info)}.ui-state{text-align:center;min-height:150px;color:var(--ui-muted);align-content:center;place-items:center;gap:6px;padding:24px;display:grid}.ui-state h3,.ui-state p{margin:0}.ui-state h3{color:var(--ui-ink);font-size:1rem}.ui-state p{max-width:560px;font-size:.87rem}.ui-state__symbol{background:var(--ui-surface-alt);width:32px;height:32px;color:var(--ui-subtle);border-radius:50%;place-items:center;font-weight:800;display:grid}.ui-state--error .ui-state__symbol{background:var(--ui-danger-soft);color:var(--ui-danger)}.ui-spinner{border:3px solid var(--ui-border);border-top-color:var(--ui-primary);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite ui-spin}.route-state{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);width:min(720px,100% - 32px);margin:48px auto}@keyframes ui-spin{to{transform:rotate(360deg)}}@media (width<=920px){.site-header__inner{flex-direction:column;align-items:flex-start;gap:6px;min-height:auto;padding:8px 0}.brand-lockup{min-width:0}.site-header__actions,.primary-nav{scrollbar-width:thin;width:100%;overflow-x:auto}.primary-nav ul{width:max-content}}@media (width<=520px){.site-header__inner,.notice{width:calc(100% - 16px)}.brand-lockup p,.brand-eyebrow{display:none}.brand-lockup h1{font-size:1.16rem}.brand-mark{width:32px;height:32px}.primary-nav a,.text-button{min-height:44px;padding-inline:9px}.ui-surface__header{flex-direction:column}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.primary-nav .nav-school-login{border:1px solid var(--ui-primary);color:var(--ui-primary-strong);margin-left:4px;padding-inline:13px}.primary-nav .nav-school-login:hover{border-color:var(--ui-primary-strong);background:var(--ui-primary-soft);color:var(--ui-primary-strong)}main{display:block}.eyebrow,.section-kicker{color:var(--ui-accent);letter-spacing:.11em;text-transform:uppercase;margin:0 0 6px;font-size:.8rem;font-weight:800}.muted{color:var(--ui-muted)}.form-error{color:var(--ui-danger);margin:8px 0;font-weight:650}.text-link,.back-link{min-height:40px;color:var(--ui-primary-strong);align-items:center;font-weight:700;display:inline-flex}.inline-links,.button-row,.section-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.portal-home{padding-bottom:32px}.portal-hero{width:min(var(--ui-max-width), calc(100% - 32px));border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-sm);background:linear-gradient(135deg,#fffdfa 0%,#fbf5eb 100%);grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);align-items:stretch;gap:20px;margin:24px auto 0;padding:clamp(28px,5vw,56px);display:grid}.portal-hero h2{color:#392b24;letter-spacing:-.025em;max-width:700px;margin:0;font-size:clamp(2rem,4.1vw,3.55rem);line-height:1.18}.portal-hero>div>p:not(.section-kicker){max-width:650px;color:var(--ui-muted);margin:14px 0 0;font-size:1rem}.hero-actions{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.hero-illustration{place-items:center;min-width:0;display:grid}.academic-hero-illustration{width:min(100%,420px);height:auto;overflow:visible}.illustration-paper{fill:#f7ecdc;stroke:#dfd1c2;stroke-width:2px}.illustration-sun{fill:#e7b69f;opacity:.75}.illustration-building,.illustration-arch,.illustration-book,.illustration-path,.illustration-accent{fill:none;stroke-linecap:round;stroke-linejoin:round}.illustration-building,.illustration-arch{stroke:#46362d;stroke-width:5px}.illustration-book,.illustration-path{stroke:#356b50;stroke-width:5px}.illustration-accent{stroke:#ca765f;stroke-width:4px}.illustration-coral{fill:#ca765f}.illustration-dot{fill:#356b50}.home-section,.public-list-page,.public-content-page,.activity-page,.auth-page,.workspace-frame{width:min(var(--ui-max-width), calc(100% - 32px));margin:24px auto 0}.home-section{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-sm);padding:24px}.section-title-row{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.section-title-row h2,.public-page-heading h2,.activity-intro h2,.activity-detail-hero h2,.workspace h2,.auth-panel h2{color:#392b24;margin:0;font-size:clamp(1.55rem,2.7vw,2.15rem);line-height:1.25}.section-title-row p:not(.section-kicker),.public-page-heading p,.activity-intro p,.workspace>p,.auth-panel>p{color:var(--ui-muted);margin:6px 0 0}.how-section ol{grid-template-columns:repeat(3,1fr);gap:12px;margin:0;padding:0;list-style:none;display:grid}.how-section li{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface-alt);gap:12px;padding:16px;display:flex}.how-section li>span{background:var(--ui-primary);color:#fff;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:.75rem;font-weight:800;display:grid}.how-section h3{margin:0;font-size:1rem}.how-section p{color:var(--ui-muted);margin:4px 0 0;font-size:.86rem}.about-summary{grid-template-columns:1.2fr .8fr;gap:24px;display:grid}.about-summary h2{margin:0;font-size:1.45rem}.about-summary p{color:var(--ui-muted)}.about-summary dl{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);margin:0}.about-summary dl div{grid-template-columns:70px 1fr;gap:10px;padding:12px 14px;display:grid}.about-summary dl div+div{border-top:1px solid var(--ui-border)}.about-summary dt{color:var(--ui-primary-strong);font-weight:800}.about-summary dd{color:var(--ui-muted);margin:0}.activity-intro{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px;display:flex}.activity-intro>div{max-width:700px}.activity-filters{justify-content:space-between;align-items:end;gap:12px;margin-bottom:16px;display:flex}.search-field{max-width:360px}.category-filter{flex-wrap:wrap;gap:6px;display:flex}.category-filter button{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface);min-height:36px;color:var(--ui-muted);cursor:pointer;padding:5px 11px}.category-filter button:hover,.category-filter button.is-active{border-color:var(--ui-primary);background:var(--ui-primary-soft);color:var(--ui-primary-strong)}.activity-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.activity-card{border:1px solid var(--ui-border);background:var(--ui-surface);min-width:0;box-shadow:var(--ui-shadow-sm);border-radius:16px;flex-direction:column;padding:10px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative}.activity-card:hover{border-color:var(--ui-border-strong);box-shadow:var(--ui-shadow-md);transform:translateY(-3px)}.activity-card--clickable{cursor:pointer}.activity-card__cover{border-radius:10px;flex:none;align-items:flex-end;height:104px;padding:12px 14px;display:flex;position:relative;overflow:hidden}.activity-card__cover:before,.activity-card__cover:after{content:"";border:1px solid;border-radius:50%;position:absolute}.activity-card__cover:before{opacity:.26;width:132px;height:132px;top:-58px;right:-46px}.activity-card__cover:after{opacity:.2;width:76px;height:76px;bottom:-36px;left:-22px}.activity-card__cover span{letter-spacing:.1em;filter:brightness(.72);font-size:.74rem;font-weight:800;position:relative}.activity-card__body{flex-direction:column;flex:1 0 auto;gap:8px;padding:14px 6px 10px;display:flex}.activity-card h3{color:var(--ui-ink);letter-spacing:-.01em;margin:0;font-size:1.08rem;line-height:1.42}.activity-card h3 a{color:inherit;text-decoration:none}.activity-card h3 a:hover{color:var(--ui-primary-strong)}.activity-card__meta{color:var(--ui-muted);gap:2px;margin:0;font-size:.8rem;line-height:1.55;display:grid}.meta-location{align-items:center;gap:4px;min-width:0;display:inline-flex}.meta-icon{width:13px;height:13px;color:var(--ui-accent);flex:none}.activity-card__description{color:var(--ui-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.84rem;line-height:1.66;display:-webkit-box;overflow:hidden}.activity-card__footer{border-top:1px dashed var(--ui-border);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding:11px 6px 3px;display:flex}.activity-card__footer:empty{display:none}.activity-card__tag{background:var(--ui-surface-alt);min-width:0;max-width:64%;color:var(--ui-muted);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;padding:4px 10px;font-size:.74rem;font-weight:700;display:inline-flex;overflow:hidden}.activity-card__detail-link{border:1px solid var(--ui-border-strong);background:var(--ui-surface);min-height:36px;color:var(--ui-primary-strong);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:5px 14px;font-size:.84rem;font-weight:750;text-decoration:none;transition:background .18s,border-color .18s,color .18s,box-shadow .18s,transform .12s;display:inline-flex}.activity-card__detail-link:hover{border-color:var(--ui-primary);background:var(--ui-primary-soft);color:var(--ui-primary-strong);box-shadow:var(--ui-shadow-sm);text-decoration:none}.activity-card__detail-link:active{transform:scale(.97)}.activity-card__detail-link:focus-visible{outline:2px solid var(--ui-primary);outline-offset:2px}.activity-card__detail-link span{transition:transform .18s}.activity-card__detail-link:hover span{transform:translate(2px)}.activity-page__more,.activity-page__footnote{color:var(--ui-muted);margin-top:16px;font-size:.84rem}.activity-page__more{text-align:center}.activity-state,.empty-activities{border:1px dashed var(--ui-border-strong);border-radius:var(--ui-radius-md);background:var(--ui-surface);text-align:center;align-content:center;place-items:center;gap:8px;min-height:190px;padding:24px;display:grid}.activity-state h2,.empty-activities h3{margin:0}.activity-state p,.empty-activities p{max-width:600px;color:var(--ui-muted);margin:0}.activity-state--error{border-color:#e4bdb5}.activity-state__actions{gap:8px;display:flex}.activity-detail-hero{border:1px solid var(--ui-border);background:var(--ui-surface);box-shadow:var(--ui-shadow-sm);border-radius:16px;padding:10px 10px 16px}.activity-detail-hero>.eyebrow{margin:16px 12px 0}.activity-detail-hero h2{color:var(--ui-ink);letter-spacing:-.02em;margin:6px 12px 0;font-size:clamp(1.55rem,2.7vw,2.1rem);line-height:1.28}.activity-detail-hero__meta{color:var(--ui-muted);flex-wrap:wrap;gap:4px 16px;margin:9px 12px 0;font-size:.9rem;display:flex}.activity-detail-stats{border-top:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border);grid-template-columns:repeat(5,minmax(0,1fr));margin:16px 12px 0;display:grid}.activity-detail-stats>div{border-right:1px solid var(--ui-border);min-width:0;padding:12px 13px}.activity-detail-stats>div:last-child{border-right:0}.activity-detail-stats label{color:var(--ui-subtle);letter-spacing:.09em;text-transform:uppercase;font-size:.68rem;font-weight:800;display:block}.activity-detail-stats strong{color:var(--ui-ink);overflow-wrap:anywhere;margin-top:4px;font-size:.9rem;line-height:1.45;display:block}.activity-detail-layout{grid-template-columns:minmax(0,1fr) 320px;gap:16px;margin-top:16px;display:grid}.activity-detail-content,.activity-detail-aside{border:1px solid var(--ui-border);background:var(--ui-surface);box-shadow:var(--ui-shadow-sm);border-radius:16px;padding:8px 20px 20px}.activity-detail-section{border-top:1px solid var(--ui-border);margin-top:18px;padding-top:16px}.activity-detail-section:first-child{border-top:0;margin-top:10px;padding-top:0}.activity-detail-section__head{align-items:baseline;gap:10px;margin:0 0 8px;display:flex}.activity-detail-section__head h3,.activity-detail-section__head .eyebrow{margin:0}.activity-detail-content h3,.activity-detail-aside h3{color:var(--ui-ink);letter-spacing:-.01em;margin:4px 0 10px;font-size:1.12rem}.activity-detail-content p{color:var(--ui-muted);margin:0;font-size:.9rem;line-height:1.8}.activity-detail-note{border-left:3px solid var(--ui-primary);border-radius:0 var(--ui-radius-sm) var(--ui-radius-sm) 0;background:var(--ui-primary-soft);margin:12px 0 0!important;padding:9px 12px!important;font-size:.8rem!important;line-height:1.7!important}.activity-detail-schedule{gap:10px;margin:0;padding:0;list-style:none;display:grid}.activity-detail-schedule li{align-items:flex-start;gap:12px;display:flex}.activity-detail-schedule li>span{background:var(--ui-primary-soft);width:28px;height:28px;color:var(--ui-primary-strong);border-radius:50%;flex:none;place-items:center;font-size:.78rem;font-weight:800;display:grid}.activity-detail-schedule p{margin:3px 0 0!important;font-size:.88rem!important}.activity-detail-certificate{border:1px solid var(--ui-border);background:var(--ui-surface-alt);border-radius:12px;align-items:flex-start;gap:13px;padding:14px 16px;display:flex}.activity-detail-certificate>span{background:var(--ui-primary);color:#fffdfa;border-radius:12px 12px 12px 4px;flex:none;place-items:center;width:42px;height:42px;font-size:1.05rem;font-weight:800;display:grid}.activity-detail-certificate strong{color:var(--ui-ink);font-size:.95rem;display:block}.activity-detail-certificate p{margin:4px 0 0!important;font-size:.8rem!important;line-height:1.65!important}.activity-detail-notes{gap:6px;margin:0;padding-left:20px;display:grid}.activity-detail-notes li{color:var(--ui-muted);font-size:.87rem;line-height:1.7}.activity-detail-aside{align-self:start;position:sticky;top:84px}.activity-detail-aside h3{margin:12px 0 6px}.activity-detail-aside dl{margin:0}.activity-detail-aside dl div{border-top:1px solid var(--ui-border);grid-template-columns:76px minmax(0,1fr);gap:10px;padding:11px 0;display:grid}.activity-detail-aside dl div:first-child{border-top:0}.activity-detail-aside dt{color:var(--ui-subtle);font-size:.8rem;font-weight:750}.activity-detail-aside dd{color:var(--ui-ink);overflow-wrap:anywhere;margin:0;font-size:.88rem;line-height:1.55}.activity-detail-aside__note{border:1px dashed var(--ui-border-strong);background:var(--ui-surface-alt);color:var(--ui-muted);border-radius:10px;margin:14px 0 0;padding:11px 13px;font-size:.8rem;line-height:1.7}.activity-detail-aside__action{gap:8px;margin-top:14px;display:grid}.activity-detail-aside__action .primary-button,.activity-detail-aside__action .outline-button{justify-content:center;width:100%;min-height:42px}.activity-detail-aside__select{justify-items:center;gap:8px;display:grid}.public-page-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px;display:flex}.content-document,.reflection-guide,.reflection-empty-card{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-sm);padding:20px}.content-document{max-width:860px}.content-document p{white-space:pre-wrap}.content-updated{color:var(--ui-subtle);font-size:.78rem}.reflection-wall{gap:14px;display:grid}.reflection-count{background:var(--ui-primary-soft);color:var(--ui-primary-strong);border-radius:999px;align-items:center;padding:3px 9px;font-size:.8rem;font-weight:750;display:inline-flex}.reflection-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.reflection-card{border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:var(--ui-surface);box-shadow:var(--ui-shadow-sm);flex-direction:column;gap:12px;padding:18px 18px 16px;transition:box-shadow .18s,transform .18s;display:flex;position:relative;overflow:hidden}.reflection-card:hover{box-shadow:var(--ui-shadow-md);transform:translateY(-2px)}.reflection-card__quote{color:var(--ui-primary-soft);pointer-events:none;-webkit-user-select:none;user-select:none;font-family:Georgia,Times New Roman,serif;font-size:88px;line-height:1;position:absolute;top:-14px;right:8px}.reflection-card__head{align-items:center;gap:10px;min-width:0;display:flex}.reflection-card__avatar{border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-size:1rem;font-weight:800;display:grid}.reflection-card__avatar--primary{background:var(--ui-primary-soft);color:var(--ui-primary-strong)}.reflection-card__avatar--accent{background:var(--ui-accent-soft);color:var(--ui-accent)}.reflection-card__avatar--info{background:var(--ui-info-soft);color:var(--ui-info)}.reflection-card__meta{gap:1px;min-width:0;display:grid}.reflection-card__meta strong{overflow-wrap:anywhere;font-size:.95rem}.reflection-card__meta small{color:var(--ui-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.reflection-card__date{color:var(--ui-subtle);white-space:nowrap;flex:none;margin-left:auto;font-size:.74rem}.reflection-card__body{color:var(--ui-ink);-webkit-line-clamp:5;-webkit-box-orient:vertical;margin:0;font-size:.92rem;line-height:1.7;display:-webkit-box;position:relative;overflow:hidden}.reflection-empty-card{text-align:center;grid-column:1/-1;align-content:center;place-items:center;min-height:160px;display:grid}.reflection-empty-card .reflection-quote{color:var(--ui-primary-soft);font-family:Georgia,Times New Roman,serif;font-size:44px;line-height:1}.reflection-empty-card h3,.reflection-empty-card p{margin:4px 0}.reflection-empty-card p,.reflection-guide{color:var(--ui-muted)}.auth-page{max-width:560px;padding-bottom:32px}.paper-panel{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-sm);padding:20px}.auth-panel{margin-bottom:24px}.auth-mode-tabs{border-radius:var(--ui-radius-sm);background:#f1ebe4;gap:2px;margin-bottom:14px;padding:3px;display:inline-flex}.auth-mode-tabs a{min-height:32px;color:var(--ui-subtle);border-radius:4px;align-items:center;padding:5px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.auth-mode-tabs .is-active{background:var(--ui-surface);color:var(--ui-primary-strong);box-shadow:var(--ui-shadow-sm)}.stack-form{gap:14px;display:grid}.auth-help{border-top:1px solid var(--ui-border);margin-top:18px;padding-top:16px}.auth-help h3{margin:0;font-size:1rem}.auth-help p{color:var(--ui-muted);font-size:.86rem}.auth-unavailable{color:var(--ui-muted);background:#f1ebe4;border-radius:999px;padding:4px 9px;font-size:.76rem;font-weight:750;display:inline-flex}.agreement-links{color:var(--ui-muted);margin-top:10px;font-size:.83rem}.workspace-frame{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:16px;padding-bottom:32px;display:grid}.workspace-sidebar{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-sm);padding:12px;position:sticky;top:16px}.workspace-identity{border-bottom:1px solid var(--ui-border);align-items:center;gap:9px;padding:5px 4px 12px;display:flex}.workspace-identity>span{background:var(--ui-primary);color:#fff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.workspace-identity div{min-width:0;display:grid}.workspace-identity strong{overflow-wrap:anywhere}.workspace-identity small{color:var(--ui-muted);font-size:.72rem}.workspace-powered{border-top:1px solid var(--ui-border);color:var(--ui-subtle);letter-spacing:.02em;text-align:center;margin:22px 0 0;padding:10px 0 2px;font-size:.72rem}.workspace-sidebar ul{gap:2px;margin:10px 0;padding:0;list-style:none;display:grid}.workspace-sidebar a{border-radius:var(--ui-radius-sm);min-height:40px;color:var(--ui-muted);align-items:center;padding:7px 10px;font-weight:650;text-decoration:none;display:flex}.workspace-sidebar a:hover,.workspace-sidebar a.active{background:var(--ui-primary-soft);color:var(--ui-primary-strong)}.workspace-sidebar__note{border-radius:var(--ui-radius-sm);background:var(--ui-surface-alt);padding:10px}.workspace-sidebar__note strong{font-size:.82rem}.workspace-sidebar__note p{color:var(--ui-muted);margin:3px 0 0;font-size:.75rem}.workspace-main{min-width:0}.workspace,.workspace-page{margin:0}.workspace>h2,.workspace-page-heading h2{margin-top:0}.workspace-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.workspace-card,.planned-page{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-sm);padding:18px}.workspace-page-heading{margin-bottom:12px}.plain-list,.item-list{margin:0;padding:0;list-style:none}.plain-list li{padding:8px 0}.plain-list li+li,.item-row+.item-row{border-top:1px solid var(--ui-border)}.item-list{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface)}.item-row{justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.item-row p{color:var(--ui-muted);margin:3px 0 0}.check-row,.course-choice{align-items:flex-start;gap:8px;display:flex}.check-row input,.course-choice input{width:auto;min-height:auto;margin-top:4px}.visibility-choice{gap:8px;display:grid}.transfer-warning{border-radius:var(--ui-radius-md);background:var(--ui-warning-soft);border:1px solid #ead8b3;padding:12px}.filter-row{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:12px;display:flex}.filter-row label{min-width:170px}.filter-row>button{flex:none}.student-table{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);overflow-x:auto}.student-table-head,.student-row{grid-template-columns:1.25fr .8fr 1.15fr .95fr 1.4fr 168px;align-items:center;gap:14px;min-width:860px;padding:12px 16px;display:grid}.student-table-head{display:none}.student-table-head__actions{text-align:right}.student-row+.student-row{border-top:1px solid var(--ui-border)}.student-row__main{gap:3px;min-width:0;display:grid}.student-row__main strong{font-size:.95rem}.student-row__field{gap:4px;min-width:0;display:grid}.student-row__field>span:last-child{overflow-wrap:anywhere;line-height:1.45}.student-row__label{color:var(--ui-subtle);letter-spacing:.04em;font-size:.72rem;font-weight:750}.student-row__graduation{align-items:center;gap:7px;display:inline-flex}.form-hint{margin:4px 0 0;font-size:.76rem}.status-alumni{background:var(--ui-info-soft);color:var(--ui-info)}.student-row__status{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.student-row__status small{color:var(--ui-muted)}.student-row__actions{justify-content:flex-end;gap:8px;display:flex}.status-chip{white-space:nowrap;background:#f1ece7;border-radius:999px;padding:3px 8px;font-size:.74rem;font-weight:750;display:inline-flex}.status-active{background:var(--ui-success-soft);color:var(--ui-success)}.status-pending{background:var(--ui-warning-soft);color:var(--ui-warning)}.status-suspended,.status-removed{background:var(--ui-danger-soft);color:var(--ui-danger)}.site-footer{border-top:1px solid var(--ui-border);color:#e8ddd4;background:#3a2d26;margin-top:32px}.footer-grid{width:min(var(--ui-max-width), calc(100% - 32px));grid-template-columns:1.5fr repeat(3,1fr);gap:24px;margin:auto;padding:30px 0 24px;display:grid}.footer-grid section{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.footer-grid h2{color:#fffdfa;margin:0 0 4px;font-size:.9rem}.footer-grid p,.footer-grid a{color:#d0c1b7;margin:0;font-size:.82rem}.footer-grid a:hover{color:#fff}.footer-brand{color:#fffdfa;font-size:1.2rem}.footer-bottom{width:min(var(--ui-max-width), calc(100% - 32px));color:#bbaa9f;border-top:1px solid #ffffff1f;justify-content:space-between;gap:12px;margin:auto;padding:14px 0 20px;font-size:.76rem;display:flex}.footer-bottom a{color:inherit;text-decoration:none}.footer-bottom a:hover{color:#fffdfa}@media (width<=960px){.portal-hero{grid-template-columns:1fr}.activity-grid,.reflection-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-frame{grid-template-columns:1fr}.workspace-sidebar ul{display:flex;overflow-x:auto}.workspace-sidebar li{flex:none}.workspace-sidebar a{white-space:nowrap}.workspace-sidebar__note{display:none}.activity-detail-layout{grid-template-columns:1fr}.activity-detail-aside{position:static}.activity-detail-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.activity-detail-stats>div{border-right:0}.activity-detail-stats>div:nth-child(n+4){border-top:1px solid var(--ui-border)}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=680px){.portal-hero,.home-section,.public-list-page,.public-content-page,.activity-page,.auth-page,.workspace-frame{width:calc(100% - 16px);margin-top:12px}.portal-hero,.home-section,.activity-detail-hero,.content-document,.reflection-guide,.workspace-card,.planned-page,.paper-panel{padding:16px}.portal-hero h2{font-size:clamp(1.85rem,9vw,2.55rem)}.how-section ol,.activity-grid,.reflection-card-grid,.workspace-grid,.about-summary{grid-template-columns:1fr}.section-title-row,.public-page-heading,.activity-intro,.activity-filters,.item-row,.filter-row{flex-direction:column;align-items:stretch}.search-field{max-width:none}.category-filter{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.category-filter button{flex:none;min-height:40px}.activity-card__footer{flex-wrap:wrap}.footer-bottom{flex-direction:column;align-items:flex-start}.footer-grid{grid-template-columns:1fr;gap:18px;width:calc(100% - 32px)}.footer-bottom{width:calc(100% - 32px)}.student-table{margin-inline:-1px}.student-table-head{display:none}.student-table,.student-row{grid-template-columns:1fr 1fr;row-gap:12px;min-width:0}.student-row__main,.student-row__actions{grid-column:1/-1}.student-row__actions{justify-content:stretch}.student-row__actions>button{flex:1}.button-row>*,.activity-state__actions>*{width:100%}.activity-state__actions{flex-direction:column;width:100%}.activity-detail-stats{grid-template-columns:1fr}.activity-detail-stats>div{border-right:0}.activity-detail-stats>div+div{border-top:1px solid var(--ui-border)}.activity-detail-stats strong{white-space:nowrap}}.captcha-row{grid-template-columns:150px minmax(0,1fr);align-items:end;gap:10px;display:grid}.captcha-image-wrap{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:#fff4ed;place-items:center;min-width:150px;min-height:50px;display:grid;position:relative;overflow:hidden}.captcha-image-wrap img{object-fit:contain;width:150px;height:50px;display:block}.captcha-image-button{cursor:pointer;background:0 0;border:0;padding:0;transition:box-shadow .18s;display:block}.captcha-image-button:hover:not(:disabled),.captcha-image-button:focus-visible{box-shadow:0 0 0 3px #2f7c6129}.captcha-image-button:disabled{cursor:wait;opacity:.75}.captcha-image-status{z-index:1;color:var(--ui-muted);pointer-events:none;font-size:.75rem;position:absolute}.auth-intro{margin-bottom:20px}.auth-form{margin-top:18px}.auth-secondary-link{color:var(--ui-muted);margin-top:10px;font-size:.83rem}.auth-secondary-link .text-link{color:var(--ui-primary-strong);font-size:inherit}.captcha-control{justify-items:start;display:grid}.captcha-refresh{min-height:44px;color:var(--ui-primary-strong);font:inherit;cursor:pointer;background:0 0;border:0;margin-bottom:-9px;padding:0 4px;font-size:.76rem;font-weight:700}.captcha-refresh:focus-visible{outline:2px solid var(--ui-primary);outline-offset:1px}.auth-submit{margin-top:8px}.verification-field{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.verification-button{min-width:112px}.form-feedback{color:var(--ui-primary-strong);margin:0;font-size:.86rem}@media (width<=520px){.captcha-row,.verification-field{grid-template-columns:1fr}.captcha-image-wrap{width:150px}.verification-button{width:100%}}.workspace button:not([class]),.workspace-page button:not([class]){border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-sm);background:var(--ui-surface);min-height:40px;color:var(--ui-ink);cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:7px 15px;font-weight:700;transition:background .18s,border-color .18s,color .18s;display:inline-flex}.workspace button:not([class]):hover:not(:disabled){border-color:var(--ui-primary);color:var(--ui-primary-strong)}.share-link-title{align-items:center;gap:7px;min-width:0;display:flex}.share-link-title h3{min-width:0;margin:0}.share-link-name{color:var(--ui-ink);border-bottom:1px dashed var(--ui-border-strong);text-decoration:none;transition:color .15s,border-color .15s}.share-link-name:hover{color:var(--ui-primary-strong);border-bottom-color:var(--ui-primary)}.icon-button{border:1px solid var(--ui-border);width:24px;height:24px;color:var(--ui-muted);cursor:pointer;background:0 0;border-radius:6px;flex:none;place-items:center;transition:color .15s,border-color .15s,background .15s;display:inline-grid}.icon-button .meta-icon{color:currentColor;width:12px;height:12px}.icon-button:hover{color:var(--ui-primary-strong);border-color:var(--ui-primary);background:var(--ui-primary-soft)}.icon-button:focus-visible{outline:2px solid var(--ui-primary);outline-offset:2px}.danger-button{color:var(--ui-danger)!important;border-color:#e4bdb5!important}.danger-button:hover:not(:disabled){background:var(--ui-danger-soft);border-color:var(--ui-danger)!important;color:var(--ui-danger)!important}.warning-button{color:var(--ui-warning)!important;border-color:#e8d5ac!important}.warning-button:hover:not(:disabled){background:var(--ui-warning-soft);border-color:var(--ui-warning)!important;color:var(--ui-warning)!important}@media (width>=681px){.share-link-row>div:first-child{flex:auto;min-width:0}.share-link-row small{overflow-wrap:anywhere}.share-link-row .button-row{flex-wrap:nowrap;flex:none}.share-link-row .button-row .outline-button{white-space:nowrap;min-height:32px;padding:3px 11px;font-size:.82rem}}.outline-button.is-selected{border-color:var(--ui-primary);background:var(--ui-primary);color:#fff}.outline-button.is-selected:hover{background:var(--ui-primary-strong);border-color:var(--ui-primary-strong);color:#fff}.workspace-page-heading .form-feedback{margin:0}.workspace-reminder{margin:0 0 14px}.workspace-reminder p{color:var(--ui-muted);margin:4px 0 0}.workspace-summary-row{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.workspace-summary{border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-muted);border-radius:999px;align-items:baseline;gap:7px;padding:6px 13px;font-size:.82rem;font-weight:650;display:inline-flex}.workspace-summary b{color:var(--ui-primary-strong);font-size:1.02rem;font-weight:800}.workspace-note{margin:14px 0 0;font-size:.84rem}.workspace-note a{color:var(--ui-primary-strong)}.plain-list li>strong,.plain-list li>span:not(.button-row){display:block}.plain-list li>span.button-row{margin-top:6px}.school-course textarea{min-height:72px}.workspace-side-panel{margin-top:18px}.workspace-side-panel h3{margin:0;font-size:1rem}.workspace-side-panel .item-list{margin-top:10px}.activity-card--selected{border-color:var(--ui-primary);box-shadow:0 0 0 1px var(--ui-primary), var(--ui-shadow-sm)}.activity-card--expired{cursor:default;filter:grayscale(.92);opacity:.6}.activity-card--expired:hover{border-color:var(--ui-border);box-shadow:var(--ui-shadow-sm);transform:none}.activity-card--expired .activity-card__cover:before,.activity-card--expired .activity-card__cover:after{opacity:.08}.status-expired{color:var(--ui-muted);background:#eceae7}.activity-card__requirement{border-left:3px solid var(--ui-primary);background:var(--ui-primary-soft);color:var(--ui-muted);border-radius:0 var(--ui-radius-sm) var(--ui-radius-sm) 0;margin:0 0 10px;padding:6px 9px;font-size:.8rem}.activity-card__requirement strong{color:var(--ui-primary-strong)}.activity-card__footer .button-row{align-items:center}.activity-card__footer .primary-button{min-height:34px;padding:5px 13px}.field-hint{color:var(--ui-muted);margin:2px 0 4px;font-size:.8rem;line-height:1.5;display:block}.visibility-choice .field-hint{margin-bottom:0}.workspace-timeline{margin:0;padding:0 0 0 26px;list-style:none;position:relative}.workspace-timeline:before{content:"";background:var(--ui-border-strong);border-radius:999px;width:2px;position:absolute;top:8px;bottom:8px;left:7px}.timeline-entry{gap:2px;padding:0 0 20px;display:grid;position:relative}.timeline-entry:last-child{padding-bottom:0}.timeline-dot{background:var(--ui-subtle);width:12px;height:12px;box-shadow:0 0 0 4px var(--ui-surface);border-radius:50%;position:absolute;top:5px;left:-26px}.timeline-dot--confirmed{background:var(--ui-primary)}.timeline-dot--pending{background:var(--ui-warning)}.timeline-dot--cancelled{background:var(--ui-subtle)}.timeline-entry h3{margin:0;font-size:1rem}.timeline-meta{color:var(--ui-muted);flex-wrap:wrap;align-items:center;gap:3px 12px;margin:4px 0 0;font-size:.86rem;display:flex}.timeline-certificate-row{margin:8px 0 0;display:flex}.timeline-certificate{border:1px solid var(--ui-border-strong);background:var(--ui-surface);color:var(--ui-ink);border-radius:999px;align-items:center;padding:3px 12px;font-size:.8rem;font-weight:650;display:inline-flex}.timeline-entry small{color:var(--ui-subtle)}.timeline-actions{flex-wrap:wrap;align-items:center;gap:10px;margin:6px 0 0;display:flex}.timeline-actions .outline-button{min-height:32px;padding:3px 11px;font-size:.82rem}.account-profile-card{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-sm);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:14px;padding:18px;display:flex}.account-avatar{background:linear-gradient(135deg, var(--ui-primary), #4a9a79);color:#fff;border-radius:50%;flex:none;place-items:center;width:64px;height:64px;font-size:1.5rem;font-weight:800;display:grid}.account-avatar img,.workspace-identity>span img{object-fit:cover;border-radius:50%;width:100%;height:100%}.avatar-editable{cursor:pointer;border:none;padding:0;position:relative;overflow:hidden}.avatar-editable:disabled{cursor:default}.avatar-editable:focus-visible{outline:2px solid var(--ui-primary);outline-offset:2px}.avatar-editable__hint{color:#fff;opacity:0;pointer-events:none;background:#1a140f7a;border-radius:50%;place-items:center;font-size:.72rem;font-weight:750;transition:opacity .18s;display:grid;position:absolute;inset:0}.avatar-editable:hover .avatar-editable__hint,.avatar-editable:focus-visible .avatar-editable__hint,.avatar-editable:disabled .avatar-editable__hint{opacity:1}.account-profile-card>div{gap:2px;min-width:180px;display:grid}.account-profile-card strong{font-size:1.08rem}.account-profile-card small{color:var(--ui-muted)}.account-id-list{flex-wrap:wrap;gap:8px;margin:0 0 0 auto;display:flex}.account-id-list div{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface-alt);padding:7px 12px}.account-id-list dt{color:var(--ui-muted);font-size:.72rem;font-weight:750}.account-id-list dd{margin:2px 0 0;font-size:.9rem;font-weight:750}.message-row h3{color:var(--ui-muted);flex-wrap:wrap;align-items:center;gap:7px;margin:0;font-size:1rem;font-weight:700;display:flex}.message-row--unread h3{color:var(--ui-ink)}.message-row small{color:var(--ui-subtle)}.message-filters{margin-bottom:10px}.message-row .button-row{flex-wrap:nowrap;flex:none}.message-row .button-row .outline-button{white-space:nowrap;min-height:32px;padding:3px 11px;font-size:.82rem}@media (width<=680px){.message-row{flex-direction:row;align-items:center}}.school-course{border-bottom:1px solid var(--ui-border);gap:10px;padding-bottom:12px;display:grid}.school-course:last-of-type{border-bottom:0;padding-bottom:0}.school-course h3{margin:0;font-size:1rem}.school-course p{color:var(--ui-muted);margin:4px 0 0;font-size:.84rem}.registration-card-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.registration-card{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-sm);gap:7px;padding:14px 16px;display:grid}.registration-card__title{overflow-wrap:anywhere;margin:0;font-size:1.02rem}.registration-card__meta{color:var(--ui-muted);flex-wrap:wrap;align-items:center;gap:3px 14px;margin:0;font-size:.86rem;display:flex}.registration-card__place{align-items:center;gap:5px;min-width:0;display:inline-flex}.registration-card__place .meta-icon{flex:none;width:14px;height:14px}.registration-card__status{color:var(--ui-muted);flex-wrap:wrap;align-items:center;gap:3px 10px;margin:0;font-size:.84rem;display:flex}.registration-card__actions{border-top:1px solid var(--ui-border);flex-wrap:wrap;align-items:center;gap:8px;padding-top:9px;display:flex}.registration-card__divider{color:var(--ui-border-strong)}.registration-card__note{color:var(--ui-subtle);font-size:.78rem}.registration-detail-summary{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.registration-detail-summary>span{color:var(--ui-muted);font-size:.86rem}.registration-readonly{gap:0;margin:0;display:grid}.registration-readonly>div{border-top:1px solid var(--ui-border);grid-template-columns:minmax(120px,34%) 1fr;gap:12px;padding:9px 0;display:grid}.registration-readonly>div:first-child{border-top:0}.registration-readonly dt{color:var(--ui-subtle);margin:0;font-size:.8rem;font-weight:750}.registration-readonly dd{overflow-wrap:anywhere;margin:0}.registration-list{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);overflow:hidden}.registration-list__head,.registration-list__row{grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr) minmax(0,.9fr) max-content max-content;align-items:center;gap:14px;padding:11px 16px;display:grid}.registration-list__head{background:var(--ui-surface-alt);color:var(--ui-subtle);letter-spacing:.04em;white-space:nowrap;padding-block:9px;font-size:.72rem;font-weight:750}.registration-list__row+.registration-list__row{border-top:1px solid var(--ui-border)}.registration-list__row>div:not(.registration-list__actions){gap:2px;min-width:0;display:grid}.registration-list__row strong{overflow-wrap:anywhere;font-size:.93rem}.registration-list__row small{color:var(--ui-muted);overflow-wrap:anywhere;font-size:.78rem}.registration-list__time>span{color:var(--ui-muted);font-size:.84rem}.registration-list__actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.registration-list__actions .outline-button{min-height:34px;padding:4px 12px;font-size:.84rem}.registration-list__actions .registration-check{min-height:34px;color:var(--ui-muted);align-items:center;font-size:.84rem;font-weight:650}.registration-list__empty{text-align:center;justify-items:center;gap:8px;padding:26px 16px;display:grid}.registration-list__empty h3,.registration-list__empty .muted{margin:0}.registration-check{align-items:center;gap:6px;font-weight:650;display:inline-flex}.registration-check input{width:auto;min-height:auto;margin:0}.registration-actions{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding:12px 14px;display:flex}.modal-layer{z-index:80;background:#30292470;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{width:min(560px,100%);max-height:88vh;box-shadow:var(--ui-shadow-md);overflow:auto}.workspace-guide{width:min(680px,100%)}.modal-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.modal-head h2{margin:2px 0}.modal-head p{margin:2px 0 0}.close-button{border:1px solid var(--ui-border-strong);background:var(--ui-surface);width:34px;height:34px;color:var(--ui-muted);cursor:pointer;border-radius:50%;flex:none;font-size:1.3rem;line-height:1}.close-button:hover{color:var(--ui-danger);border-color:var(--ui-danger)}.guide-list{gap:12px;margin:0 0 14px;padding:0;list-style:none;display:grid}.guide-step{gap:12px;display:flex}.guide-step-number{background:var(--ui-primary-soft);width:34px;height:34px;color:var(--ui-primary-strong);border-radius:50%;flex:none;place-items:center;font-size:.78rem;font-weight:800;display:grid}.guide-step h3{margin:4px 0;font-size:.96rem}.guide-step p{color:var(--ui-muted);margin:0;font-size:.86rem}.workspace-sidebar-footer{border-top:1px solid var(--ui-border);gap:4px;margin-top:10px;padding-top:10px;display:grid}.workspace-sidebar-footer button,.workspace-sidebar-footer a{border-radius:var(--ui-radius-sm);min-height:38px;color:var(--ui-muted);cursor:pointer;background:0 0;border:0;justify-content:flex-start;align-items:center;padding:7px 10px;font-weight:650;text-decoration:none;display:flex}.workspace-sidebar-footer button:hover,.workspace-sidebar-footer a:hover{background:var(--ui-primary-soft);color:var(--ui-primary-strong)}@media (width<=960px){.workspace-sidebar{z-index:30;position:sticky;top:0}.workspace-sidebar-footer{gap:4px;margin-top:8px;padding-top:8px;display:flex}.workspace-sidebar-footer button,.workspace-sidebar-footer a{white-space:nowrap;flex:0 auto}}@media (width<=680px){.workspace-summary-row{gap:6px}.account-id-list{margin-left:0}.registration-actions{flex-direction:column;align-items:stretch}.modal-layer{padding:10px}.account-profile-card{align-items:flex-start}.registration-card__actions{justify-content:flex-start}.registration-readonly>div{grid-template-columns:1fr;gap:3px}}@media (width<=900px){.registration-list__head{display:none}.registration-list__row{grid-template-columns:1fr 1fr;row-gap:10px;padding:12px}.registration-list__student,.registration-list__activity,.registration-list__actions{grid-column:1/-1}.registration-list__actions{justify-content:stretch}.registration-list__actions .outline-button{flex:1}}.grade-select-field select{min-width:160px}.copy-toast{z-index:90;background:var(--ui-ink);color:#fffdfa;opacity:0;pointer-events:none;border-radius:999px;padding:9px 20px;font-size:.88rem;font-weight:750;transition:opacity .2s,transform .2s;position:fixed;bottom:28px;left:50%;transform:translate(-50%,12px)}.copy-toast--show{opacity:1;transform:translate(-50%)}.ai-spark{flex:none;width:14px;height:14px}.ai-statement-panel{border-left:3px solid var(--ui-primary);background:linear-gradient(135deg, var(--ui-surface) 0%, var(--ui-primary-soft) 180%);margin-top:16px}.ai-statement-panel>p{margin:0}.ai-statement-panel__head{align-items:center;gap:12px;min-width:0;display:flex}.ai-statement-panel__head h3{margin:0}.ai-statement-panel__head p{margin:2px 0 0}.ai-statement-panel__icon{background:var(--ui-accent-soft);width:40px;height:40px;color:var(--ui-accent);border-radius:12px 12px 12px 4px;flex:none;place-items:center;display:grid}.ai-statement-panel__icon .ai-spark{width:18px;height:18px}.ai-statement-panel__actions{margin-top:14px}.ai-draft-modal{width:min(680px,100%)}.ai-draft-modal .modal-head h3{align-items:center;gap:8px;margin:2px 0;font-size:1.05rem;display:flex}.ai-draft-modal .modal-head h3 .ai-spark{color:var(--ui-accent)}.ai-draft-modal textarea{min-height:180px}.ai-draft-notice{border-radius:var(--ui-radius-md);background:var(--ui-warning-soft);border:1px solid #ead8b3;align-items:flex-start;gap:10px;padding:11px 13px;display:flex}.ai-draft-notice>span{background:var(--ui-warning);color:#fff;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:.8rem;font-weight:900;display:grid}.ai-draft-notice strong{font-size:.88rem}.ai-draft-notice p{color:var(--ui-muted);margin:2px 0 0;font-size:.82rem;line-height:1.65}.ai-generating{border:1px dashed var(--ui-border-strong);border-radius:var(--ui-radius-md);background:var(--ui-surface-alt);gap:12px;padding:16px;display:grid}.ai-generating p{color:var(--ui-muted);align-items:center;gap:10px;margin:0;font-size:.88rem;display:flex}.ai-generating-lines{gap:8px;display:grid}.ai-generating-lines span{background:linear-gradient(90deg, var(--ui-border) 25%, var(--ui-surface) 45%, var(--ui-border) 65%);background-size:240% 100%;border-radius:999px;height:12px;animation:1.4s ease-in-out infinite ai-shimmer}.ai-generating-lines span:nth-child(2){width:88%;animation-delay:.12s}.ai-generating-lines span:nth-child(3){width:64%;animation-delay:.24s}@keyframes ai-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.ui-spinner--sm{border-width:2px;width:16px;height:16px}.ai-draft-meta{color:var(--ui-muted);flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0;font-size:.78rem;display:flex}.ai-draft-meta span+span:before{content:"·";color:var(--ui-border-strong);margin-right:10px}.ai-draft-hint{margin:0;font-size:.84rem}.ai-draft-footnote{margin:4px 0 0;font-size:.78rem}.ai-draft-status{color:var(--ui-subtle);flex-wrap:wrap;align-items:center;gap:4px 10px;margin:-6px 0 0;font-size:.76rem;display:flex}.ai-draft-status span+span:before{content:"·";color:var(--ui-border-strong);margin-right:10px}.ai-send-confirm{border-radius:var(--ui-radius-md);background:var(--ui-warning-soft);border:1px solid #ead8b3;gap:10px;padding:12px 14px;display:grid}.ai-send-confirm strong{font-size:.88rem}.ai-send-confirm p{color:var(--ui-muted);overflow-wrap:anywhere;margin:2px 0 0;font-size:.82rem;line-height:1.65}.ai-send-confirm .button-row{margin:2px 0 0}.ai-draft-actions{margin-top:2px}.ai-draft-actions .outline-button{display:inline-flex}@media (prefers-reduced-motion:reduce){.ai-generating-lines span{animation:none}}@media (width<=680px){.ai-statement-panel__head{gap:10px}.ai-draft-modal .modal-head{flex-direction:column}}
