@import"https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400&family=Inter:wght@400;500;600;700&display=swap";:root{--t-bg: #ece2d0;--t-bg-soft: #f1e8d8;--t-surface: #f7f1e6;--t-card: #f0e7d5;--t-ink: #2c2a26;--t-ink-soft: #8a8276;--t-ink-faint: #b3ab9d;--t-line: #d5ccbe;--t-line-soft: #e3dbcc;--t-ochre: #b8843f;--t-ochre-dk: #9e7030;--t-ochre-tint: #efd9b6;--t-sage: #6b8554;--t-sage-dk: #54693f;--t-rose: #c97d6a;--t-rose-dk: #a45645;--t-r-sm: 6px;--t-r: 10px;--t-r-lg: 14px;--t-shadow-sm: 0 1px 0 rgba(44, 42, 38, .04), 0 1px 2px rgba(44, 42, 38, .05);--t-shadow: 0 2px 4px rgba(44, 42, 38, .04), 0 6px 14px rgba(44, 42, 38, .06);--t-shadow-lg: 0 8px 24px rgba(44, 42, 38, .1), 0 2px 6px rgba(44, 42, 38, .05);--t-ring: 0 0 0 3px rgba(184, 132, 63, .22)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body.t-body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.5;color:var(--t-ink);background:radial-gradient(1200px 600px at 10% -10%,#f7eddb 0%,transparent 70%),radial-gradient(900px 500px at 110% 110%,#e8dcc4 0%,transparent 65%),var(--t-bg);background-attachment:fixed;min-height:100%;-webkit-font-smoothing:antialiased}button{font-family:inherit}:focus-visible{outline:none;box-shadow:var(--t-ring)}.t-header{display:flex;align-items:center;gap:0;padding:0 24px;background:#f7f1e6d9;backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--t-line);height:56px;position:sticky;top:0;z-index:20}.t-brand{font-family:Newsreader,Georgia,serif;font-size:20px;font-style:italic;color:var(--t-ochre-dk);letter-spacing:.01em;margin-right:28px;flex-shrink:0;display:inline-flex;align-items:baseline;gap:6px}.t-brand:after{content:"·";color:var(--t-ink-faint);font-style:normal;font-size:18px}.t-nav{display:flex;gap:2px;flex:1}.t-nav-tab{display:inline-flex;align-items:center;gap:8px;padding:0 14px;height:56px;font-size:13px;font-weight:500;color:var(--t-ink-soft);text-decoration:none;border-bottom:2px solid transparent;transition:color .15s,border-color .15s,background .15s}.t-nav-tab:hover{color:var(--t-ink);background:#f0e7d566}.t-nav-tab.is-active{color:var(--t-ochre-dk);border-bottom-color:var(--t-ochre)}.t-nav-tab .t-icon{color:currentColor;opacity:.85}.t-signout{margin-left:auto;display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--t-ink-soft);border:1px solid var(--t-line);border-radius:var(--t-r-sm);padding:6px 12px;font-size:12px;font-weight:500;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.t-signout:hover{background:var(--t-card);color:var(--t-ink);border-color:var(--t-ink-faint)}.t-main{max-width:880px;margin:0 auto;padding:36px 24px 64px}.t-page-title{font-family:Newsreader,Georgia,serif;font-size:30px;font-weight:500;margin:0 0 6px;color:var(--t-ink);letter-spacing:-.005em}.t-page-sub{font-size:14px;color:var(--t-ink-soft);margin:0 0 28px;max-width:580px}.t-card{background:var(--t-surface);border:1px solid var(--t-line);border-radius:var(--t-r-lg);padding:22px 24px;margin-bottom:16px;box-shadow:var(--t-shadow-sm);transition:box-shadow .18s ease}.t-card:hover{box-shadow:var(--t-shadow)}.t-card-title{font-family:Newsreader,Georgia,serif;font-size:19px;font-weight:500;margin:0 0 4px;color:var(--t-ink);letter-spacing:-.005em;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.t-card-sub{margin:0 0 16px;color:var(--t-ink-soft);font-size:13px}.t-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.t-label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:600;color:var(--t-ink-soft);text-transform:uppercase;letter-spacing:.06em}.t-input,.t-select{background:var(--t-card);color:var(--t-ink);border:1px solid var(--t-line);padding:8px 11px;border-radius:var(--t-r-sm);font-family:inherit;font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s,background .12s;min-width:180px}.t-input::placeholder{color:var(--t-ink-faint)}.t-input:hover,.t-select:hover{border-color:var(--t-ink-faint)}.t-input:focus,.t-select:focus{border-color:var(--t-ochre);box-shadow:var(--t-ring);background:#fbf6ea}.t-select{cursor:pointer}.t-input--inline{min-width:0;flex:1}.t-btn,.t-btn-sage,.t-btn-ghost{display:inline-flex;align-items:center;gap:6px;border-radius:var(--t-r-sm);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s,box-shadow .12s,transform .06s;white-space:nowrap;border:1px solid;padding:8px 16px;letter-spacing:.005em}.t-btn:active:not(:disabled),.t-btn-sage:active:not(:disabled),.t-btn-ghost:active:not(:disabled){transform:translateY(1px)}.t-btn{background:var(--t-ochre);border-color:var(--t-ochre);color:#fbf7f1;box-shadow:var(--t-shadow-sm)}.t-btn:hover{background:var(--t-ochre-dk);border-color:var(--t-ochre-dk)}.t-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.t-btn-sage{background:var(--t-sage);border-color:var(--t-sage);color:#fbf7f1;box-shadow:var(--t-shadow-sm)}.t-btn-sage:hover{background:var(--t-sage-dk);border-color:var(--t-sage-dk)}.t-btn-sage:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.t-btn-ghost{background:transparent;color:var(--t-ink-soft);border-color:var(--t-line)}.t-btn-ghost:hover{background:var(--t-card);color:var(--t-ink);border-color:var(--t-ink-faint)}.t-btn-sm{padding:5px 11px;font-size:12px}.t-btn-icon{padding:6px;width:30px;height:30px;justify-content:center}.t-list{list-style:none;margin:0;padding:0}.t-list-item{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--t-line-soft);font-size:14px}.t-list-item:last-child{border-bottom:none}.t-list-item--muted{color:var(--t-ink-soft)}.t-list-name{flex:1;font-weight:500;display:inline-flex;align-items:center;gap:10px;min-width:0}.t-list-name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-list-meta{font-size:12px;color:var(--t-ink-soft);display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.t-list-meta+.t-list-meta{margin-left:4px}.t-list-meta .t-dot{width:4px;height:4px;border-radius:50%;background:var(--t-ink-faint)}.t-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;background:var(--t-card);border:1px solid var(--t-line);font-size:11px;font-weight:600;color:var(--t-ink-soft);letter-spacing:.02em;line-height:1.4}.t-msg{font-size:13px;padding:11px 14px;border-radius:var(--t-r-sm);margin-bottom:16px;background:var(--t-card);color:var(--t-ink);border:1px solid var(--t-line);display:flex;align-items:flex-start;gap:9px}.t-msg[hidden]{display:none}.t-msg--err{background:#fce8e3;border-color:#e8c4bc;color:#8a3a2a}.t-msg--ok{background:#e8f0e3;border-color:#bdd4b0;color:var(--t-sage-dk)}.t-muted{color:var(--t-ink-soft);font-size:13px}.t-muted--xs{font-size:11px}.t-pin-reveal{background:linear-gradient(180deg,#fbf3e1 0%,var(--t-card) 100%);border:1px solid var(--t-line);border-top:3px solid var(--t-ochre);border-radius:var(--t-r-lg);padding:22px 22px 18px;text-align:center;margin-bottom:22px;box-shadow:var(--t-shadow)}.t-pin-reveal[hidden]{display:none}.t-pin-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--t-ochre-dk);margin:0 0 8px}.t-pin-digits{font-family:Newsreader,Georgia,serif;font-size:48px;letter-spacing:.22em;color:var(--t-ochre-dk);font-weight:500;line-height:1;margin:0 0 8px;user-select:all;cursor:pointer}.t-pin-digits:hover{color:#7e561e}.t-pin-note{font-size:12px;color:var(--t-ink-soft);margin:0}.t-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:20px}.t-section-title{font-family:Newsreader,Georgia,serif;font-size:21px;font-weight:500;color:var(--t-ink);margin:32px 0 14px;padding-bottom:9px;border-bottom:1px solid var(--t-line);display:flex;align-items:baseline;gap:10px}.class-section:first-child .t-section-title{margin-top:0}.t-section-title-meta{font-family:Inter,sans-serif;font-size:13px;font-weight:500;color:var(--t-ink-soft)}.t-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:10px 0}.t-stat{background:var(--t-card);border:1px solid var(--t-line);border-radius:var(--t-r);padding:11px 12px;text-align:left;transition:border-color .12s,background .12s}.t-stat:hover{border-color:var(--t-ink-faint)}.t-stat-label{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:600;color:var(--t-ink-soft);text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px}.t-stat-label .t-icon{opacity:.65}.t-stat-value{font-family:Newsreader,Georgia,serif;font-size:22px;font-weight:500;color:var(--t-ochre-dk);line-height:1.1}.t-stat-grid--compact{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin:8px 0 14px}.t-stat-grid--compact .t-stat{padding:9px 10px}.t-stat-grid--compact .t-stat-value{font-size:18px}.t-report{margin-top:18px;padding-top:16px;border-top:1px solid var(--t-line)}.t-report-heading{font-family:Newsreader,Georgia,serif;font-size:15px;font-weight:500;margin:0 0 4px;color:var(--t-ink)}.t-report-meta{margin:0 0 6px;font-size:11.5px;color:var(--t-ink-soft);text-transform:uppercase;letter-spacing:.05em}.t-report-headline{font-family:Newsreader,Georgia,serif;font-size:16px;margin:4px 0 10px;color:var(--t-ink);line-height:1.4}.t-report-strengths,.t-report-next,.t-report-flag{margin:0 0 10px;font-size:13.5px;color:var(--t-ink);line-height:1.5}.t-report-label{font-size:11px;font-weight:600;color:var(--t-ochre-dk);text-transform:uppercase;letter-spacing:.07em}.t-report-section{margin:10px 0}.t-report-section .t-report-label{display:block;margin-bottom:6px}.t-report-challenge-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.t-report-challenge{background:var(--t-card);border:1px solid var(--t-line);border-radius:var(--t-r);padding:10px 12px}.t-report-challenge-summary{margin:0 0 4px;font-size:13.5px;font-weight:500;color:var(--t-ink);line-height:1.4}.t-report-context{margin:0 0 6px;font-size:12.5px;color:var(--t-ink-soft);font-style:italic;line-height:1.4}.t-report-rec{margin:0;font-size:13px;color:var(--t-ink);line-height:1.45}.t-report-rec-label{font-size:10.5px;font-weight:600;color:var(--t-sage);text-transform:uppercase;letter-spacing:.06em;margin-right:4px}.t-report-flag{background:#fdf2e0;border-left:3px solid var(--t-ochre);padding:8px 12px;border-radius:4px}.t-login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.t-login-card{background:var(--t-surface);border:1px solid var(--t-line);border-radius:18px;padding:44px 40px 36px;max-width:400px;width:100%;text-align:center;box-shadow:var(--t-shadow-lg);position:relative;overflow:hidden}.t-login-card:before{content:"";position:absolute;inset:-1px -1px auto;height:4px;background:linear-gradient(90deg,var(--t-ochre) 0%,var(--t-sage) 100%);border-radius:18px 18px 0 0}.t-login-logo{font-family:Newsreader,Georgia,serif;font-size:38px;font-style:italic;color:var(--t-ochre-dk);letter-spacing:.01em;margin:8px 0 6px;font-weight:500}.t-login-tagline{font-size:14px;color:var(--t-ink-soft);margin:0 0 32px;line-height:1.55}.t-login-hint{margin-top:24px;font-size:12px;color:var(--t-ink-faint);line-height:1.5}#gsi-button{display:flex;justify-content:center}.t-icon{display:inline-flex;width:1em;height:1em;stroke-width:2;stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.t-icon--16{font-size:16px}.t-icon--14{font-size:14px}.t-icon--12{font-size:12px}.t-empty{text-align:center;padding:36px 24px;border:1px dashed var(--t-line);border-radius:var(--t-r-lg);background:#f7f1e680;color:var(--t-ink-soft)}.t-empty-title{font-family:Newsreader,Georgia,serif;font-size:17px;font-weight:500;color:var(--t-ink);margin:6px 0}.t-empty-sub{font-size:13px;color:var(--t-ink-soft);margin:0 0 14px}.t-empty .t-icon{width:26px;height:26px;color:var(--t-ink-faint);stroke-width:1.5}.t-search-wrap{position:relative;display:inline-flex;align-items:center;flex:1;min-width:200px}.t-search-wrap .t-icon{position:absolute;left:11px;color:var(--t-ink-faint);pointer-events:none}.t-search-wrap .t-input{padding-left:32px;width:100%}@media (max-width: 600px){.t-header{padding:0 14px;height:52px}.t-brand{margin-right:12px;font-size:18px}.t-nav-tab{padding:0 10px;height:52px;font-size:12px;gap:5px}.t-nav-tab .t-icon{display:none}.t-main{padding:22px 14px 48px}.t-page-title{font-size:24px}.t-pin-digits{font-size:38px}.t-card{padding:18px}.t-stat-grid{grid-template-columns:repeat(2,1fr)}}
