:root{font:14px system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#293e44;background:#fff;--blue:#167fbe;--amber:#b98a17;--green:#2b8c6c;--ink:#293e44;--line:#dce5e7}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}a{color:#247fa0;text-underline-offset:3px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 25px;border-bottom:1px solid var(--line)}h1{font-size:24px;font-weight:650;margin:3px 0 0;letter-spacing:0}h2{font-size:14px;font-weight:650;margin:0;letter-spacing:0}.library{font-size:12px;text-decoration:none}.identity{font:21px Georgia,serif}main{display:grid;grid-template-columns:260px minmax(0,1fr)}aside{padding:18px;background:#f3f7f8;border-right:1px solid var(--line)}.modes{display:flex;border:1px solid #a7c6d2;border-radius:4px;overflow:hidden}.modes button{flex:1;padding:9px 4px;background:transparent;color:#376270;border:0;font-size:12px}.modes button[aria-pressed=true]{background:#277d9d;color:white}.functionals{padding:16px 0 6px;min-height:114px;line-height:1.65;font:15px/1.7 Georgia,serif}.functionals div:last-child{font-size:12px;color:#6b858d;margin-top:5px}.field{margin:13px 0}.field-head{display:flex;justify-content:space-between;align-items:center;gap:7px}.field-head label{font-size:12px;color:#4b717c}.field-head input{width:73px;text-align:right;border:1px solid #b5cbd4;border-radius:3px;padding:5px;color:var(--ink);background:white;font-variant-numeric:tabular-nums}input[type=range]{width:100%;min-height:22px;accent-color:#277d9d;cursor:pointer;margin:5px 0 0}.field[hidden]{display:none}.commands{display:grid;gap:7px;padding:12px 0}.commands button{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #acc9d2;border-radius:4px;background:white;color:#236b87;padding:8px}.commands button[hidden]{display:none}.commands svg{width:16px;height:16px}.tools{display:flex;gap:7px;padding:4px 0 16px}.icon{width:32px;height:32px;border:1px solid #b5cdd5;border-radius:4px;display:grid;place-items:center;background:white;color:#277d9d}.icon:hover,.commands button:hover{background:#eaf3f6}.icon svg{width:17px;height:17px}#play{background:#277d9d;border-color:#277d9d;color:white}.icon:disabled{opacity:.4;cursor:not-allowed}.toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:#58757e;border-top:1px solid var(--line);padding-top:14px}.toggle input{accent-color:#277d9d;margin:0;width:15px;height:15px}dl{display:grid;grid-template-columns:1fr auto;gap:10px;font-size:12px;margin:19px 0}dt{color:#647e86}dd{margin:0;font-variant-numeric:tabular-nums}#status{display:block;font-size:12px;color:#8d6f22;min-height:42px;line-height:1.5}.workspace{min-width:0}.views{display:grid;grid-template-columns:1fr 1fr}.surface-view,.coefficient-view{min-width:0}.surface-view{background:#eef5f7}.view-head{height:52px;padding:10px 20px;display:flex;align-items:center;justify-content:space-between;gap:10px}.view-head h2{font-size:13px}#coordinates{font-size:10px;color:#728991;font-variant-numeric:tabular-nums}#scene{height:350px;position:relative;overflow:hidden}#scene>canvas{display:block;width:100%;height:100%;touch-action:none}#fallback{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:20px}#fallback[hidden]{display:none}#geometry{display:block;width:100%;height:350px;touch-action:none;cursor:crosshair}.caption{display:flex;justify-content:flex-start;gap:5px 13px;flex-wrap:wrap;padding:9px 20px 13px;min-height:39px;font-size:10px;color:#718790}.caption span:last-child{margin-left:auto}.blue{color:var(--blue)}.amber{color:var(--amber)}.green{color:var(--green)}.ink{color:var(--ink)}.muted{color:#73858c}.readouts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;padding:21px 24px;border-top:1px solid var(--line)}.readouts span{display:block;font-size:11px;color:#71848c;margin-bottom:5px}.readouts strong{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.plots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:5px 24px}.plot{min-width:0}.plot h2{font-size:13px}.plot canvas{display:block;width:100%;height:205px}.legend{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:10px;min-height:28px}.legend span:not(.muted):before{content:"";display:inline-block;width:8px;height:2px;vertical-align:middle;margin-right:4px;background:currentColor}.notes{display:flex;flex-wrap:wrap;gap:10px 20px;padding:13px 24px 24px;font-size:11px;color:#627f89}#classification{color:#8d6f22}#error{background:#fff0eb;color:#a2392d;padding:12px;margin:10px 24px}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:16px 25px;font-size:11px;color:#6e838c}footer nav{display:flex;flex-wrap:wrap;gap:14px}button:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid #c0932c;outline-offset:2px}
@media(min-width:1600px){#scene,#geometry{height:410px}.plot canvas{height:235px}}
@media(max-width:1150px){main{grid-template-columns:235px minmax(0,1fr)}.views{grid-template-columns:1fr 1fr}.view-head{padding:10px 13px;height:60px;flex-wrap:wrap;gap:2px}.caption{padding:9px 13px;min-height:52px}.plots{grid-template-columns:1fr 1fr}.plot:last-child{grid-column:1/-1}.readouts{grid-template-columns:1fr 1fr}#scene,#geometry{height:310px}}
@media(max-width:760px){header{display:block;padding:15px 16px}h1{font-size:22px}.identity{font-size:17px;margin-top:7px}main{display:flex;flex-direction:column}.workspace,.views{display:contents}.coefficient-view{order:0}aside{order:1;border-right:0;border-bottom:1px solid var(--line);padding:16px}.surface-view{order:2}.readouts{order:3;padding:16px}.plots{order:4;grid-template-columns:1fr;padding:8px 16px;gap:18px}.plot:last-child{grid-column:auto}.notes{order:5;padding:12px 16px 20px}#error{order:6}.functionals{min-height:0;padding:12px 0 4px}#fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.field{margin:7px 0}.field-head input{width:65px;font-size:12px}.field-head label{font-size:11px}.commands{grid-template-columns:1fr 1fr}.commands button{font-size:12px;padding:8px 4px}.commands:has(#mode2[hidden]){grid-template-columns:1fr}.tools{padding-bottom:10px}dl{grid-template-columns:1fr auto 1fr auto;font-size:11px;gap:10px;margin:14px 0}.toggle{padding-top:10px}#status{min-height:0}.view-head{padding:10px 16px;height:50px}.caption{padding:8px 16px;min-height:40px}#scene{height:300px}#geometry{height:325px}.readouts strong{font-size:17px}.plot canvas{height:215px}footer{padding:15px 16px}}
.integral{display:inline-block;position:relative;width:24px;margin-right:3px;font-size:22px;vertical-align:middle;line-height:1.5}.integral sub,.integral sup{position:absolute;left:12px;font-size:10px;line-height:1}.integral sub{bottom:1px}.integral sup{top:0}.functionals>div:not(:last-child){min-height:36px}
.figure-explanation{font-size:12px;line-height:1.65;color:#526f7a;margin:0;padding:3px 20px 18px;max-width:75ch}.interpretation{border-left:3px solid #b98a17;margin:0 24px 24px;padding:1px 0 1px 16px}.interpretation h2{font-size:15px;margin:0 0 6px;color:#315766}.interpretation p{font-size:13px;line-height:1.7;margin:0;color:#526d78;max-width:100ch;min-height:4.9em}.plot-explanation{font-size:12px;line-height:1.7;color:#566f79;margin:8px 0 12px}.mathematical-guide{border-top:1px solid var(--line);padding:22px 24px 26px}.mathematical-guide>h2{font-size:17px;margin:0 0 20px}.guide-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.mathematical-guide h3{font-size:14px;font-weight:650;margin:0 0 9px;letter-spacing:0}.mathematical-guide p{font-size:13px;line-height:1.75;color:#526d78;margin:0 0 12px;max-width:80ch;overflow-wrap:break-word}.worked-explanation{border-top:1px solid var(--line);padding-top:20px;margin-top:14px}.worked-explanation p{max-width:105ch}.figure-explanation strong,.plot-explanation strong,.mathematical-guide strong{color:#315766;font-weight:600}
@media(max-width:1150px){.guide-columns{grid-template-columns:1fr 1fr}.guide-columns>section:last-child{grid-column:1/-1}.guide-columns>section:last-child p{max-width:100ch}}
@media(max-width:760px){.figure-explanation{padding:3px 16px 16px;font-size:12px}.interpretation{order:4;margin:2px 16px 20px;padding-left:12px}.interpretation p{min-height:0}.plots{order:5}.notes{order:6}.mathematical-guide{order:7;padding:20px 16px}#error{order:8}.guide-columns{grid-template-columns:1fr;gap:14px}.guide-columns>section:last-child{grid-column:auto}.mathematical-guide>h2{font-size:16px}.plot-explanation{margin-top:6px}}
