:root{--bg: #f4f1ea;--panel: #ffffff;--ink: #1d1d1f;--muted: #6b6b70;--accent: #2f6f6a}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink)}#app{max-width:880px;margin:0 auto;padding:40px 24px 64px}.brand{text-decoration:none;color:inherit}.topbar h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:34px;letter-spacing:-.01em}.tagline{margin:6px 0 0;color:var(--muted);font-size:15px}.topnav{margin-top:14px;display:flex;gap:18px}.topnav a{text-decoration:none;color:var(--muted);font-size:14px;font-weight:600;padding-bottom:3px;border-bottom:2px solid transparent}.topnav a:hover{color:var(--ink);border-bottom-color:var(--ink)}.lead{color:var(--muted);font-size:15px;line-height:1.5;max-width:60ch}.gallery{margin-top:24px;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-auto-rows:1fr;gap:22px}.gallery-make{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.gallery-make .thumb{height:300px}.card{display:flex;flex-direction:column;height:100%;background:var(--panel);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 8px 24px #00000012,0 1px #00000008;transition:transform .12s ease,box-shadow .18s ease}.card:hover{transform:translateY(-3px);box-shadow:0 16px 38px #0000001f}.card .thumb{background:#fbfaf7;border-bottom:1px solid rgba(0,0,0,.06);padding:14px;height:200px;display:flex;align-items:center;justify-content:center}.card .thumb svg{max-width:100%;max-height:100%;width:auto;height:auto;pointer-events:none}.card-body{padding:16px 18px 20px;flex:1}.constant-badge{display:inline-block;font-family:Georgia,Times New Roman,serif;font-size:12px;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,#fff);border:1px solid color-mix(in srgb,var(--accent) 35%,#fff);border-radius:999px;padding:2px 10px;margin-bottom:8px}.constant-badge.detail{font-size:13px;margin:14px 0 8px}.card-body h3{margin:0 0 6px;font-family:Georgia,Times New Roman,serif;font-size:19px}.card-body p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.5}.task-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:9px}.task-pill{display:inline-block;font-size:11.5px;letter-spacing:.02em;color:var(--muted);background:#0000000b;border:1px solid rgba(0,0,0,.08);border-radius:999px;padding:2px 10px}.detail-head .task-meta{margin:16px 0 4px}.fasit{margin-top:18px;padding:16px 18px;background:color-mix(in srgb,var(--accent) 8%,var(--panel));border:1px solid color-mix(in srgb,var(--accent) 28%,#fff);border-radius:12px;max-width:60ch}.fasit-label{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}.fasit p{margin:0;color:var(--ink);font-size:15px;line-height:1.55}.back-link{display:inline-block;margin-top:22px;color:var(--accent);text-decoration:none;font-size:14px}.back-link:hover{text-decoration:underline}.detail-head h2{margin:14px 0 8px;font-family:Georgia,Times New Roman,serif;font-size:26px}.equations-block{margin-top:26px}.equations-block h3{font-family:Georgia,Times New Roman,serif;font-size:17px;margin:0 0 10px}.equations{list-style:none;padding:16px 18px;margin:0;background:var(--panel);border-radius:12px;box-shadow:0 6px 18px #0000000d}.equations li{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13.5px;color:var(--ink);padding:7px 0;border-bottom:1px solid rgba(0,0,0,.06)}.equations li:last-child{border-bottom:none}.stage{margin:28px 0 20px;padding:24px;background:var(--panel);border-radius:16px;box-shadow:0 10px 30px #00000014,0 1px #00000008;display:flex;justify-content:center}.stage svg{max-width:100%;height:auto}.toolbar{display:flex;gap:12px}.toolbar button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(0,0,0,.12);background:var(--panel);color:var(--ink);font-size:14px;padding:9px 16px;border-radius:10px;cursor:pointer;transition:transform .06s ease,box-shadow .15s ease}.toolbar button:hover{box-shadow:0 4px 14px #0000001a}.toolbar button:active{transform:translateY(1px)}.toolbar .toggle{display:inline-flex;align-items:center;gap:7px;font-size:14px;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.controls{display:flex;flex-wrap:wrap;gap:18px 28px;margin:0 0 18px}.control-row{display:inline-flex;align-items:center;gap:10px}.control-label{font-size:13px;color:var(--muted);letter-spacing:.02em}.seg{display:inline-flex;border:1px solid rgba(0,0,0,.12);border-radius:10px;overflow:hidden}.seg button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-left:1px solid rgba(0,0,0,.1);background:var(--panel);color:var(--ink);font-size:14px;padding:8px 14px;cursor:pointer;transition:background .12s ease,color .12s ease}.seg button:first-child{border-left:none}.seg button:hover{background:#0000000a}.seg button.active{background:var(--accent);color:#fff}.regions-block{margin-top:26px}.regions-block h3{font-family:Georgia,Times New Roman,serif;font-size:17px;margin:0 0 6px}.regions-note{margin:0 0 14px;font-size:13.5px;color:var(--muted)}.region-bulk{display:flex;align-items:center;gap:10px;margin-bottom:14px}.region-bulk-label{font-size:13px;color:var(--muted);letter-spacing:.02em}.region-bulk button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(0,0,0,.12);background:var(--panel);color:var(--ink);font-size:13px;padding:7px 14px;border-radius:9px;cursor:pointer}.region-bulk button:hover{box-shadow:0 4px 14px #0000001a}.regions{display:grid;gap:8px}.region-row{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;text-align:left;border:1px solid rgba(0,0,0,.1);background:var(--panel);border-radius:12px;padding:11px 14px;cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease}.region-row:hover{box-shadow:0 4px 14px #00000014}.region-row.on{border-color:#00000047;box-shadow:0 4px 16px #0000001f}.region-head{display:flex;align-items:center;gap:10px}.region-swatch{width:14px;height:14px;border-radius:4px;flex:none;border:1px solid rgba(0,0,0,.18);opacity:.45;transition:opacity .15s ease}.region-row.on .region-swatch{opacity:1}.region-head strong{font-family:Georgia,Times New Roman,serif;font-size:15px}.region-inside{font-size:12.5px;color:var(--muted)}.region-area{margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;font-weight:600;color:var(--ink)}.region-exact{margin-top:9px;line-height:2.1;color:var(--muted)}.region-exact math{font-size:17px;color:var(--ink);margin-right:2px;vertical-align:-.35em}.region-presets{display:grid;grid-template-columns:1fr;gap:9px}.region-preset{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;flex-direction:column;gap:5px;text-align:left;border:1px solid rgba(0,0,0,.1);background:var(--panel);border-radius:12px;padding:12px 15px;cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease}.region-preset-exact{line-height:2;color:var(--muted)}.region-preset-exact math{font-size:17px;color:var(--ink);margin-right:2px;vertical-align:-.35em}.region-preset:hover{box-shadow:0 4px 14px #00000014}.region-preset.on{border-color:var(--accent);box-shadow:0 4px 16px #0000001f}.region-preset-label{font-family:Georgia,Times New Roman,serif;font-size:15px;color:var(--ink)}.region-preset-note{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--muted)}
