.seshat{--s-ink:#0f1729;--s-blue:#4169e2;--s-blue2:#3457c8;--s-gold:#c19e5c;--s-gold-ink:#7a571f;--s-gold-soft:#fcf7ed;--s-gold-tag:#f6eedf;--s-bg:#fff;--s-card:#fff;--s-soft:#f0f6ff;--s-line:#cbd5e1;--s-muted:#48566a;--s-ok:#166433;--s-ok-bg:#edfdf5;--s-no:#ba1c1c;--s-no-bg:#fef1f1;--s-white:#fff;--s-warn:#864e0e}@media (prefers-color-scheme:dark){.seshat{--s-ink:#e1e7ef;--s-blue:#94b4ff;--s-blue2:#7aa2ff;--s-bg:#0b1223;--s-card:#11192d;--s-soft:#172440;--s-line:#2a395b;--s-muted:#9ba8c0;--s-ok:#4ade80;--s-ok-bg:#0f291c;--s-no:#f87272;--s-no-bg:#2b1214;--s-gold-ink:#e4c68b;--s-gold-soft:#2e2719;--s-gold-tag:#3c3220;--s-warn:#fbbd23}}.seshat{box-sizing:border-box;min-height:100vh;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--s-bg);color:var(--s-ink);font-family:Carlito,Calibri,Segoe UI,Arial,sans-serif;font-size:18px;line-height:1.5}.seshat *,.seshat :before,.seshat :after{box-sizing:border-box}.seshat .wrap{max-width:760px;margin:0 auto;padding:16px 18px 40px}.seshat .wrap.wide{max-width:1000px}.seshat header{border-bottom:2px solid var(--s-gold);align-items:center;gap:12px;padding:6px 0 12px;display:flex}.seshat header img{width:46px;height:46px}.seshat h1{color:var(--s-blue);margin:0;font-family:Poppins,Arial,sans-serif;font-size:22px;font-weight:700;line-height:1.2}.seshat h2{color:var(--s-blue);margin:24px 0 8px;font-family:Poppins,Arial,sans-serif;font-size:17px;font-weight:700}.seshat header p{color:var(--s-muted);margin:2px 0 0;font-size:14px}.seshat .card{background:var(--s-card);border:1px solid var(--s-line);border-radius:14px;margin-top:18px;padding:20px}.seshat .btn{background:var(--s-blue);color:var(--s-white);cursor:pointer;border:0;border-radius:10px;padding:12px 20px;font-family:Poppins,Arial,sans-serif;font-size:16px;font-weight:700}.seshat a.btn,.seshat button.btn{text-align:center;vertical-align:middle;justify-content:center;align-items:center;gap:6px;max-width:100%;line-height:1.25;text-decoration:none;display:inline-flex}.seshat .btn-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.seshat .btn.ghost{color:var(--s-blue);border:2px solid var(--s-blue);background:0 0}.seshat .btn:disabled{opacity:.45;cursor:default}.seshat .btn:focus-visible,.seshat .opt:focus-visible,.seshat input:focus-visible,.seshat select:focus-visible{outline:3px solid var(--s-gold);outline-offset:2px}.seshat .row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.seshat .progress{background:var(--s-soft);border-radius:6px;height:10px;margin:14px 0 4px;overflow:hidden}.seshat .progress>div{background:linear-gradient(90deg,var(--s-blue),var(--s-blue2));width:0;height:100%;transition:width .3s}.seshat .meta{color:var(--s-muted);justify-content:space-between;font-size:14px;display:flex}.seshat .topic{color:var(--s-gold-ink);background:var(--s-gold-tag);border-radius:6px;margin-bottom:8px;padding:2px 8px;font-family:Poppins,Arial;font-size:12px;font-weight:700;display:inline-block}.seshat .q{margin:4px 0 12px;font-size:20px;font-weight:700}.seshat .q .cmd{text-underline-offset:3px;text-decoration:underline}.seshat .pic{background:var(--s-white);border-radius:10px;max-width:100%;height:auto;margin:6px auto 12px;display:block}.seshat .picsvg{background:var(--s-white);border-radius:10px;max-width:420px;margin:6px auto 12px;padding:6px}.seshat .opts{gap:10px;display:grid}.seshat .opt{text-align:left;background:var(--s-card);width:100%;color:var(--s-ink);border:2px solid var(--s-line);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:12px 14px;font-family:inherit;font-size:18px;display:flex}.seshat .opt .key{color:var(--s-blue);min-width:22px;font-family:Poppins;font-weight:700}.seshat .opt.sel{border-color:var(--s-blue);background:var(--s-soft)}.seshat .opt.right{border-color:var(--s-ok);background:var(--s-ok-bg)}.seshat .opt.wrong{border-color:var(--s-no);background:var(--s-no-bg)}.seshat input[type=text],.seshat input[type=number],.seshat input[type=password],.seshat input[type=date],.seshat select{border:2px solid var(--s-line);background:var(--s-card);color:var(--s-ink);border-radius:10px;min-width:0;padding:10px 12px;font-family:inherit;font-size:18px}.seshat input[type=text],.seshat input[type=password]{width:100%}.seshat .eqg{gap:10px;display:grid}.seshat .eql{border:1px solid var(--s-line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.seshat .eql .small{width:100%}.seshat .eql.cond{border-color:var(--s-gold);background:var(--s-gold-soft)}.seshat .eql.arrow{color:var(--s-blue);border:0;justify-content:center;padding:0;font-size:22px}.seshat .eql select{flex:1;min-width:120px}.seshat .order li{border:2px solid var(--s-line);background:var(--s-card);border-radius:10px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 10px;display:flex}.seshat .order li span{flex:1}.seshat .order button{border:1px solid var(--s-line);background:var(--s-soft);color:var(--s-ink);cursor:pointer;border-radius:8px;padding:4px 10px;font-size:16px}.seshat ol.order{margin:0;padding:0;list-style:none}.seshat .fb{border-left:6px solid;border-radius:12px;margin-top:16px;padding:14px 16px}.seshat .fb.ok{background:var(--s-ok-bg);border-color:var(--s-ok)}.seshat .fb.no{background:var(--s-no-bg);border-color:var(--s-no)}.seshat .fb h3{margin:0 0 6px;font-family:Poppins;font-size:17px}.seshat .fb.ok h3{color:var(--s-ok)}.seshat .fb.no h3{color:var(--s-no)}.seshat .chip{border-radius:999px;margin:4px 6px 0 0;padding:2px 10px;font-size:15px;font-weight:700;display:inline-block}.seshat .chip.w{background:var(--s-ok-bg);color:var(--s-ok);border:1px solid var(--s-ok)}.seshat .chip.n{background:var(--s-no-bg);color:var(--s-no);border:1px dashed var(--s-no)}.seshat .score{color:var(--s-blue);font-family:Poppins;font-size:54px;font-weight:700;line-height:1}.seshat table{border-collapse:collapse;width:100%;font-size:16px}.seshat th,.seshat td{border-bottom:1px solid var(--s-line);text-align:left;vertical-align:top;padding:8px 6px}.seshat th{color:var(--s-blue);font-family:Poppins;font-size:13px}.seshat .dash th{background:var(--s-blue);color:var(--s-white);cursor:pointer;white-space:nowrap}.seshat .small{color:var(--s-muted);font-size:13px}.seshat footer{color:var(--s-muted);border-top:1px solid var(--s-line);margin-top:30px;padding-top:10px;font-size:12px}.seshat .hidden{display:none}.seshat .say{border:2px solid var(--s-gold);background:var(--s-gold-soft);color:var(--s-gold-ink);cursor:pointer;border-radius:999px;margin:0 8px 10px 0;padding:6px 14px;font-family:Poppins,Arial;font-size:14px;font-weight:700}.seshat .say[aria-pressed=true]{background:var(--s-gold);color:var(--s-white)}.seshat .sent{border-radius:10px;margin-top:12px;padding:10px 12px;font-weight:700}.seshat .sent.ok{background:var(--s-ok-bg);color:var(--s-ok)}.seshat .sent.no{background:var(--s-no-bg);color:var(--s-no)}.seshat .cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:16px;display:grid}.seshat .stat{background:var(--s-card);border:1px solid var(--s-line);border-radius:12px;padding:12px 14px}.seshat .stat b{color:var(--s-blue);font-family:Poppins;font-size:28px;line-height:1.1;display:block}.seshat .tw{overflow-x:auto}.seshat .bar{background:var(--s-soft);border-radius:6px;min-width:80px;height:12px;overflow:hidden}.seshat .bar>div{background:var(--s-no);height:100%}.seshat .hi{color:var(--s-ok);font-weight:700}.seshat .mid{color:var(--s-warn);font-weight:700}.seshat .lo{color:var(--s-no);font-weight:700}.seshat .link{color:var(--s-blue);font-weight:700}@media (width<=520px){.seshat{font-size:17px}.seshat .q{font-size:18px}.seshat h1{font-size:19px}.seshat .score{font-size:44px}}@media (prefers-reduced-motion:reduce){.seshat .progress>div{transition:none}}@media print{.seshat .btn,.seshat .noprint{display:none}}.seshat .snd{border:1px solid var(--s-line);background:var(--s-card);color:var(--s-muted);cursor:pointer;border-radius:999px;margin-right:8px;padding:2px 10px;font-family:Poppins,Arial;font-size:12px;font-weight:700}.seshat .eqg select.right{border-color:var(--s-ok);background:var(--s-ok-bg)}.seshat .eqg select.wrong{border-color:var(--s-no);background:var(--s-no-bg)}.seshat .eql.arrow{font-family:Poppins,Arial;font-size:16px;font-weight:700}.seshat textarea{border:2px solid var(--s-line);background:var(--s-card);width:100%;color:var(--s-ink);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:17px}.seshat label.pt{border-bottom:1px solid var(--s-line);align-items:flex-start;gap:10px;padding:8px 0;font-size:17px;display:flex}.seshat label.pt input{width:22px;height:22px;margin-top:2px}@media (width<=640px){.seshat .tw table.dash thead{display:none}.seshat .tw table.dash tr{border:1px solid var(--s-line);border-radius:12px;margin:0 0 10px;padding:6px 10px;display:block}.seshat .tw table.dash td{border:0;padding:3px 0;display:block}}.seshat .ml{display:none}@media (width<=640px){.seshat .ml{letter-spacing:.3px;text-transform:uppercase;color:var(--s-muted);margin-top:6px;font-family:Poppins,Arial;font-size:11px;font-weight:700;display:block}.seshat .tw table.dash td.hi,.seshat .tw table.dash td.lo{border-radius:8px;margin-top:6px;padding:6px 10px}.seshat .tw table.dash td.hi{background:var(--s-ok-bg)}.seshat .tw table.dash td.lo{background:var(--s-no-bg)}.seshat .tw table.dash td.hi .ml{color:var(--s-ok)}.seshat .tw table.dash td.lo .ml{color:var(--s-no)}.seshat .tw table.dash td:first-child b{color:var(--s-blue);font-size:20px}}.seshat td.kwpic{width:112px}.seshat td.kwpic img{object-fit:contain;background:#fff;border-radius:8px;width:104px;height:auto;max-height:80px;display:block}@media (width<=640px){.seshat .tw table.dash td.kwpic{width:auto}.seshat .tw table.dash td.kwpic img{width:200px;max-height:150px;margin:6px 0}}.seshat .q b,.seshat .fb b{color:var(--s-blue);font-weight:800}.seshat .picsvg{box-sizing:border-box;width:100%;max-width:520px;margin:0 auto 12px;overflow:hidden}.seshat .picsvg svg{display:block;width:100%!important;max-width:100%!important;height:auto!important}.seshat img.pic{width:100%;max-width:520px;height:auto;margin:0 auto 12px;display:block}.seshat .rv-link{color:#4169e2;align-items:center;gap:6px;font-weight:800;text-decoration:none;display:inline-flex}.seshat .rv-badge{color:#fff;background:#4169e2;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:800}.seshat .say.rv-add{white-space:nowrap;display:block}.seshat .say.rv-add[aria-pressed=true]{color:#166534;background:#ecfdf5;border-color:#15803d}.seshat .rv-sum .rv-nums{text-align:center;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;display:grid}.seshat .rv-nums div{background:#f8faff;border:2px solid #dbeafe;border-radius:14px;padding:10px 6px}.seshat .rv-nums b{color:#4169e2;font-size:28px;line-height:1.1;display:block}.seshat .rv-nums span{color:#334155;font-size:13px}.seshat .rv-start{width:100%;padding:14px;font-size:18px}.seshat .rv-calm{margin:4px 0 0}.seshat .rv-how{margin:12px 0 0}.seshat .rv-empty .rv-go{flex-wrap:wrap;gap:8px;display:flex}.seshat .rv-th{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.seshat .rv-th h2{margin:18px 0 8px}.seshat .rv-tag{color:#475569;vertical-align:middle;background:#f1f5f9;border-radius:999px;padding:2px 8px;font-size:13px;font-weight:700}.seshat .rv-list{border:1px solid var(--s-line,#e2e8f0);background:#fff;border-radius:14px;margin:0;padding:0;list-style:none;overflow:hidden}.seshat .rv-list li{border-top:1px solid var(--s-line,#e2e8f0);border-left:4px solid #0000;grid-template-columns:auto 1fr;grid-template-areas:"kind meta""label label";gap:4px 10px;padding:10px 12px;display:grid}.seshat .rv-list li:first-child{border-top:0}.seshat .rv-list li.due{background:#f8faff;border-left-color:#4169e2}.seshat .rv-list li.safe{opacity:.75}.seshat .rv-kind{color:#4169e2;text-transform:uppercase;letter-spacing:.04em;grid-area:kind;align-self:center;font-size:12px;font-weight:800}.seshat .rv-label{color:#0f172a;-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;grid-area:label;font-size:15px;line-height:1.4;display:-webkit-box;overflow:hidden}.seshat .rv-meta{color:#334155;grid-area:meta;justify-content:flex-end;align-items:center;gap:10px;font-size:13px;display:flex}.seshat .rv-dots{gap:3px;display:inline-flex}.seshat .rv-dots i{border:1.5px solid #4169e2;border-radius:50%;width:9px;height:9px;display:inline-block}.seshat .rv-dots i.on{background:#4169e2}.seshat .rv-when{text-align:right;min-width:64px;font-weight:700}.seshat .rv-x{color:#64748b;cursor:pointer;background:0 0;border:0;min-width:32px;min-height:32px;padding:4px 6px;font-size:16px}.seshat .rv-x:hover{color:#b91c1c}.seshat .wrap.rv{padding-bottom:96px}.seshat .rv-acc{margin:-4px 0 12px}.seshat .lg-step{max-width:520px}.seshat .lg-code{letter-spacing:.25em;text-transform:uppercase;text-align:center;max-width:260px;margin:8px 0 12px;font-size:28px;font-weight:800}.seshat .lg-pin{letter-spacing:.6em;text-align:center;max-width:200px;margin:8px 0 12px;font-size:32px;font-weight:800}.seshat .lg-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.seshat .lg-back{color:#4169e2;cursor:pointer;background:0 0;border:0;padding:6px 0;font-size:14px;font-weight:700}.seshat .lg-names{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:10px;display:grid}.seshat .lg-names .btn{width:100%;margin:0}.seshat .lg-go{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.seshat .lg-out{margin-top:6px}.seshat .cl textarea{box-sizing:border-box;width:100%}.seshat .pc-big{letter-spacing:.12em;color:#0f172a;font-family:monospace;font-size:20px}.seshat .pc-wrap{margin:14px 0}.seshat .pc-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-top:10px;display:grid}.seshat .pc{break-inside:avoid;background:#fff;border:2px dashed #4169e2;border-radius:12px;padding:12px}.seshat .pc-h{color:#4169e2;align-items:center;gap:8px;display:flex}.seshat .pc-h img{width:28px;height:28px}.seshat .pc-n{color:#0f172a;margin:6px 0 8px;font-size:20px;font-weight:800}.seshat .pc-r{color:#334155;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:baseline;gap:8px;padding:4px 0;font-size:13px;display:flex}.seshat .pc-f{color:#475569;margin-top:6px;font-size:12px}@media print{.seshat .pc-grid{grid-template-columns:repeat(3,1fr)}.seshat .pc{border-color:#1e40af}}.seshat .lic{border-left:4px solid #4169e2}.seshat .codebox{background:#f8faff;border:2px solid #4169e2}.seshat .codebig{letter-spacing:.12em;color:#0f172a;word-break:break-all;margin:8px 0;font-family:monospace;font-size:30px;font-weight:800}.seshat .scope{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px}.seshat .scope label{cursor:pointer;margin:3px 0;display:block}.seshat .scope .sc-s{margin-left:20px}.seshat .scope .sc-i{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0 12px;margin-left:22px;display:grid}.seshat .scope input[disabled]+*{color:#64748b}.seshat .scope label:has(input[disabled]){color:#64748b}.seshat .edit{background:#f8faff;border-radius:10px;padding:10px}.seshat .gate{max-width:560px}.seshat .agree{align-items:flex-start;gap:8px;margin:10px 0 4px;line-height:1.45;display:flex}.seshat .agree input{flex:none;width:auto;margin-top:3px}.seshat .lg-parent{border-top:1px solid var(--s-line,#dbe3f4);margin-top:14px;padding-top:12px}.seshat .pv-k{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:12px 0 6px;display:grid}.seshat .pv-k div{border:1px solid #dbe3f4;border-radius:12px;flex-direction:column;padding:10px 12px;display:flex}.seshat .pv-k b{color:#1e40af;font-size:24px}.seshat .pv-k span{color:var(--s-muted);font-size:13px}.seshat .pv-l{margin:0;padding-left:18px;line-height:1.5}.seshat .pv-l li{margin:4px 0}.seshat .jby{border:0;margin:6px 0;padding:0}.seshat .jby label{align-items:flex-start;gap:8px;margin:6px 0;line-height:1.45;display:flex}.seshat .jby input{flex:none;width:auto;margin-top:3px}.seshat .lib-tabs{gap:8px;margin:12px 0}.seshat .lib-jump{flex-wrap:wrap;gap:14px;margin:0 0 10px;display:flex}.seshat .lib-sh{border-bottom:2px solid #4169e2;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.seshat .lib-sh h2{margin:0 0 4px}.seshat .lib-sub{color:var(--s-ink);margin:14px 0 6px;font-size:17px}.seshat .lib-list{margin:0;padding:0;list-style:none}.seshat .lib-code{border:1px solid var(--s-line);border-radius:12px;margin:8px 0;padding:10px 12px}.seshat .lib-code.ready{border-left:5px solid #4169e2}.seshat .lib-h{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.seshat .lib-id{font-size:16px}.seshat .lib-soon{border:1px solid var(--s-line);color:var(--s-muted);border-radius:999px;padding:2px 8px;font-size:12px}.seshat .lib-lo{color:var(--s-muted);margin:4px 0 6px;font-size:15px;line-height:1.45}.seshat .lib-item{margin:6px 0 2px}.seshat .lib-name{font-weight:700}.seshat .lib-links{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.seshat .lib-chip{color:var(--s-blue);border:1px solid #4169e2;border-radius:999px;align-items:center;min-height:36px;padding:6px 12px;font-size:14px;text-decoration:none;display:inline-flex}.seshat .lib-chip:hover{background:var(--s-soft)}.seshat .lib-same{margin:4px 0;font-size:14px}.seshat .lib-topic{margin-bottom:8px}@media (width<=640px){.seshat .tw table.dash td[data-l]:before{content:attr(data-l) ": ";color:#334155;font-weight:600}}.seshat .lc-list{margin:0;padding:0;list-style:none}.seshat .lc-item{background:#fff;border:1px solid #dbe4fb;border-radius:12px;margin:0 0 8px;padding:10px 12px}.seshat .lib-chip.lc-teach{color:#fff;background:#1e40af;border-color:#1e40af}.seshat .lc-cov{background:#fff;border:1px solid #dbe4fb;border-left:4px solid #c5a059;border-radius:12px;margin:0 0 12px;padding:10px 12px}.seshat .lc-cov p{margin:4px 0}.seshat .lc-covl{margin:6px 0;padding-left:18px}.seshat .lc-cov .sc-bar,.seshat .lic-warn .sc-bar{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden}.seshat .lc-cov .sc-bar i{background:#1e40af;height:100%;display:block}.seshat .lic-warn{color:#7f1d1d;background:#fef2f2;border:1px solid #f5c2c2;border-radius:12px;margin:8px 0;padding:10px 12px}.seshat .lib-ubar{margin:6px 0 10px}.seshat .lib-chip.lc-home{background:#eef2ff;font-weight:700}.seshat .lib-group{border:1px solid var(--s-line);background:#fff;border-radius:12px;margin:8px 0;padding:8px 12px}.seshat .lib-group>summary{cursor:pointer;color:var(--s-ink);align-items:center;min-height:32px;font-weight:800;display:flex}.seshat .lib-qrow{border-bottom:1px solid var(--s-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;display:flex}.seshat .lib-row{border-bottom:1px solid var(--s-line);padding:8px 0}.seshat .lib-tools{flex-wrap:wrap;align-items:flex-start;gap:6px;margin-top:6px;display:flex}.seshat .lib-mini{border:1px solid #4169e2;border-radius:18px;padding:0 4px}.seshat .lib-mini>summary{cursor:pointer;color:var(--s-blue);align-items:center;min-height:36px;padding:6px 8px;font-size:14px;list-style:none;display:flex}.seshat .lib-mini>summary::-webkit-details-marker{display:none}.seshat .lib-mini[open]{border-radius:12px;flex-basis:100%;padding:0 8px 8px}.seshat .lib-chip.lc-quiz{background:#eef2ff;font-weight:700}
