:root{--wine:#43212a;--forest:#233b31;--gold:#ac8a50;--paper:#f2ede3;--ink:#302b27;--muted:#7c7268;--line:#e2d8c8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;background-image:radial-gradient(#8a70450a .8px,transparent 0);background-size:5px 5px}button,input,select,textarea{font:inherit}a,button,input,select,textarea{outline-offset:3px}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}h1,h2,h3{font-family:Arial,Helvetica,sans-serif;font-weight:600;color:var(--wine);line-height:1.25}h1{font-size:37px;margin:12px 0}h2{font-size:25px;margin:0 0 17px}h3{font-size:19px;margin:8px 0 12px}p{color:var(--muted);line-height:1.7;margin:10px 0}label{display:block;font-size:12px;color:#665747;margin:18px 0}input,select,textarea{display:block;width:100%;border:1px solid #d7c8ad;border-radius:4px;background:#fffdf7;padding:12px;color:var(--ink);margin-top:7px}textarea{min-height:130px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #9b8051}a{color:inherit}.eyebrow{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#8c7953}.btn{border:1px solid var(--wine);background:var(--wine);color:#fff7e6;border-radius:4px;padding:12px 17px;display:inline-block;text-decoration:none;font-size:12px}.btn:hover{filter:brightness(1.1)}.btn.light{background:#fbf7ef;border-color:#d8c9ae;color:#5a4339}.btn.parchment{background:#ece1c8;border-color:#c6ab75;color:var(--forest)}.btn.wide{width:100%;margin:12px 0}.text-btn{background:none;border:0;text-decoration:underline;padding:8px 0;color:#775b41;font-size:12px}.badge{display:inline-block;padding:5px 9px;font-size:10px;background:#e7e9df;color:#536047;border-radius:3px}.note{font-size:11px}.card{background:#fcfaf5;border:1px solid #ded4c3;border-radius:5px;padding:26px;margin-bottom:23px}.cardhead{display:flex;justify-content:space-between;align-items:center;gap:14px}.cardhead h2{font-size:23px}.cardhead>button:not(.btn){background:none;border:0;color:#82683e;font-size:11px}.app{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:100vh}aside{background:linear-gradient(155deg,#392027,#251d20 70%);border-right:1px solid #b3955e60;padding:29px 24px;color:#eadcc1}.brand,aside{display:flex;flex-direction:column}.brand{align-items:center;gap:17px;font:21px Georgia,serif;letter-spacing:2px}.brand img{width:125px;height:125px;border-radius:50%;border:1px solid #b3955e80;box-shadow:0 9px 26px #0004}.tag{text-align:center;font-size:8px;letter-spacing:2px;color:#bca576;margin:12px 0 34px}nav{display:grid;gap:8px}nav button{border:1px solid transparent;background:none;color:#d0c2b4;border-radius:4px;text-align:left;padding:14px 12px;font-size:12px}nav button.active,nav button:hover{background:#ac8a501b;border-color:#b8995a60;color:#f3e3c0}.aside-bottom{margin-top:60px;border-top:1px solid #b3955e40;padding-top:24px}.aside-bottom p{color:#d7c6ac;font:18px Georgia,serif}.aside-bottom button{background:none;border:0;color:#c6ae80;padding:7px 0;font-size:11px}.aside-bottom .badge{background:#ac8a5020;color:#d5bd89}.main{max-width:1450px;width:100%;padding:29px 43px;margin:0 auto}header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:22px;border-bottom:1px solid #d4c6ae}.user-chip{background:#faf6ec;border:1px solid #ddd0b8;padding:9px 12px;border-radius:4px;font-size:11px;color:#665747}.user-chip span{margin-left:15px}.intro{margin:31px 0 25px}.intro p{font-size:13px}.hero{display:flex;align-items:center;justify-content:space-between;gap:25px;background:linear-gradient(115deg,#253b31,#172d24);border:1px solid #b3955e;border-radius:5px;padding:35px 38px;position:relative;isolation:isolate}.hero:before{content:"";position:absolute;inset:9px;border:1px solid #b3955e66;z-index:-1;pointer-events:none}.hero img{width:185px;height:185px;border-radius:50%;border:1px solid #b3955e;flex-shrink:0}.hero .eyebrow{color:#c7ab73}.hero h2{font-size:32px;color:#f4ead6;max-width:450px;margin:15px 0}.hero p{color:#c6cebf;font-size:13px}.hero .btn{margin-top:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:23px 0}.stats>div{background:#fcf9f2;border:1px solid #ded2bd;border-top:2px solid #b3955e88;border-radius:4px;padding:21px 23px}.stats strong{display:block;font:31px Georgia,serif;color:var(--wine)}.stats span{display:block;margin-top:6px;color:var(--muted);font-size:11px}.entry,.person{display:flex;gap:17px;align-items:center;border-top:1px solid var(--line);padding:21px 0}.entry h3,.person h3{font:16px -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0 0 8px}.entry p,.person p{font-size:12px;margin:4px 0}.grow{flex:1;min-width:0}.entry-symbol,.initial{display:grid;place-items:center;background:#eee4d4;border:1px solid #e0d0b0;color:#8c6e40;border-radius:4px;width:42px;height:47px;flex-shrink:0;font:21px Georgia,serif}.excerpt{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.empty{text-align:center;padding:45px 20px}.empty span{color:#b3955e;font-size:26px}.empty h3{font-size:23px;margin:15px 0}.empty p{max-width:420px;font-size:13px;margin:auto}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.grid .card{margin:0}.teacher h2{margin-top:14px}.teacher>p{font-family:Georgia,serif;font-size:17px;margin:20px 0}.teacher-meta{padding:14px 0;border-top:1px solid var(--line);margin-bottom:12px;font-size:11px;color:#837052}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.feedback{padding:18px;background:#e9eddf;border:1px solid #ced6bd;margin:20px 0}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}.error,.success{padding:13px 16px;border-radius:4px;margin:16px 0;font-size:12px}.error{background:#f8e5e2;color:#8f313a;border:1px solid #e8c3bd}.success{background:#e7edde;color:#45603c;border:1px solid #cfdcbe}.modal-backdrop{position:fixed;inset:0;background:#221b1cce;display:flex;align-items:center;justify-content:center;padding:22px;z-index:20}.modal{position:relative;background:#fcf8ef;border:1px solid #b3955e;border-radius:5px;padding:32px;width:min(590px,100%);max-height:90vh;overflow:auto}.modal h2{padding-right:20px}.modal h3{margin:24px 0 10px}.modal p{font-size:13px}.close{position:absolute;right:14px;top:10px;background:none;border:0;color:var(--wine);font-size:27px}.modal form>.btn{margin-top:12px}.danger-zone{margin-top:28px;border-top:1px solid var(--line);padding-top:12px}.danger-zone button{color:#8b4148}.credential{border:1px solid #d9c9a8;padding:17px;background:#eee5d3;overflow-wrap:anywhere}.credential p{color:#4f4031}hr{border:0;border-top:1px solid var(--line);margin:25px 0}footer{border-top:1px solid #ddd1bd;padding:20px 0;margin-top:30px;font-size:9px;letter-spacing:1px;color:#938371}.login-page{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-story{background:linear-gradient(145deg,#392027,#251d20);padding:55px 55px 40px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#e9ddc6}.login-crest{width:235px;height:235px;border-radius:50%;border:1px solid #b3955e;box-shadow:0 10px 50px #0004;margin-bottom:32px}.login-story .eyebrow{color:#bea06a}.login-story h1{font-size:48px;color:#eee1c8;margin:22px 0}.login-story p{color:#c7b7a8;font-size:13px}.gold-rule{color:#b3955e;margin-top:30px;font-size:23px}.login-panel{display:flex;align-items:center;justify-content:center;padding:45px}.login-box{width:100%;max-width:380px}.login-box h2{font-size:30px;margin:18px 0}.login-box>p{font-size:13px}.login-footer{font-size:8px;color:#9f9079;letter-spacing:1.3px;border-top:1px solid #ded1b9;margin-top:35px;padding-top:20px}.loading,.password-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px}.loading img,.password-page>img{width:100px;border-radius:50%;margin-bottom:24px}.password-page .card{width:min(480px,100%)}html body img[src="/assets/sirius-crest-original-cutout.svg"]{object-fit:contain;border-radius:0;border:0;box-shadow:none;background:transparent;filter:none}@media(max-width:1050px){.app{grid-template-columns:200px minmax(0,1fr)}aside{padding:25px 16px}.brand{font-size:18px}.main{padding:25px}.hero{padding:30px}.hero img{width:140px;height:140px}.hero h2{font-size:28px}.grid{grid-template-columns:1fr}}@media(max-width:700px){.app{display:block}aside{padding:16px 17px 12px}.brand{flex-direction:row;justify-content:center;gap:12px;font-size:21px}.brand img{width:49px;height:49px}.tag{margin:8px 0 15px}nav{display:flex;overflow:auto;gap:4px;border-top:1px solid #b3955e40;padding-top:9px}nav button{white-space:nowrap;padding:10px;font-size:11px}.aside-bottom{display:none}.main{padding:20px 16px}header{padding-bottom:16px}.user-chip{max-width:170px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.eyebrow{font-size:8px;letter-spacing:1.5px}h1{font-size:29px}.intro{margin:25px 0 22px}.hero{padding:28px 23px;min-height:225px}.hero h2{font-size:28px}.hero img{display:none}.stats{gap:8px}.stats>div{padding:17px 10px}.stats strong{font-size:26px}.stats span{font-size:9px}.card{padding:20px}.cardhead h2{font-size:21px}.cardhead .btn{font-size:10px;padding:9px}.entry,.person{gap:10px;flex-wrap:wrap}.entry .btn,.person .btn{font-size:10px;padding:9px}.entry-symbol,.initial{width:32px;height:39px}.person .badge{font-size:9px}.person .grow{min-width:140px}.modal{padding:26px 21px}.modal-backdrop{padding:12px}.login-page{display:block}.login-story{padding:27px 20px 24px}.login-crest{width:92px;height:92px;margin-bottom:17px}.login-story h1{font-size:29px;margin:15px 0 4px}.gold-rule,.login-story p{display:none}.login-panel{padding:32px 24px}.login-box h2{font-size:27px}.login-footer{margin-top:24px}.login-story .eyebrow{font-size:8px}.teacher>p{font-size:16px}.modal h2{font-size:23px}}