|
1 | 1 | /* A single experiment and a magnified view of the same entry point. */ |
2 | 2 | #s3 .lesson-body { container-type:inline-size; container-name:oblique-card; } |
3 | 3 | #oblique-lab { --oblique-in:#165fc2; --oblique-out:#24783a; padding:0; border:0; background:transparent; } |
4 | | -.oblique-topline { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 14px; margin:0 0 12px; } |
5 | | -.oblique-topline .oblique-hint { flex:1 1 280px; margin:0; } |
6 | | -.oblique-toolbar { display:flex; justify-content:flex-end; align-items:center; gap:9px; margin:0; color:#315340; font-size:.87rem; font-weight:650; } |
7 | | -.oblique-toolbar button { min-width:68px; min-height:42px; padding:7px 16px; } |
8 | | -.oblique-hint { margin:0 0 12px; color:#607366; font-size:.8rem; } |
| 4 | +.oblique-toolbar { display:flex; align-items:center; gap:6px; margin:0; padding:3px 5px; border:1px solid #d2dfcf; border-radius:9px; background:#fffef7f2; color:#315340; font-size:.78rem; font-weight:650; box-shadow:0 1px 5px #263c2710; } |
| 5 | +.oblique-toolbar button { min-width:52px; min-height:36px; padding:4px 12px; } |
9 | 6 | .oblique-experiment { position:relative; } |
10 | 7 | .oblique-settings { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6px 18px; align-items:center; margin-top:4px; } |
11 | | -.oblique-overview { min-width:0; width:min(100%,560px,calc((100svh - 285px) * 1.16111)); margin:0 auto; display:flex; flex-direction:column; } |
12 | | -.oblique-overview figcaption { display:flex; align-items:center; height:28px; margin:0 0 4px; color:#28523e; font-size:1rem; font-weight:750; } |
13 | | -.oblique-table { position:relative; width:100%; aspect-ratio:1254 / 1080; overflow:hidden; border-radius:12px; background:#fffdf7; } |
| 8 | +.oblique-overview { position:relative; min-width:0; width:100%; margin:0; } |
| 9 | +.oblique-overview figcaption { position:absolute; inset:8px 8px auto; z-index:2; display:flex; justify-content:space-between; align-items:flex-start; gap:8px; margin:0; color:#28523e; font-size:.9rem; font-weight:750; pointer-events:none; } |
| 10 | +.oblique-overview-title { padding:4px 8px; border-radius:6px; background:#fffef7ed; } |
| 11 | +.oblique-overview figcaption .oblique-toolbar { pointer-events:auto; } |
| 12 | +.oblique-table { position:relative; width:100%; aspect-ratio:1254 / 780; overflow:hidden; border-radius:12px; background:#fffdf7; } |
14 | 13 | #oblique-background { display:block; } |
15 | | -#oblique-background, #oblique-scene { position:absolute; left:0; top:-6.944444%; width:100%; height:116.111111%; } |
| 14 | +#oblique-background, #oblique-scene { position:absolute; left:0; top:-23.076923%; width:100%; height:160.769231%; } |
| 15 | +#oblique-case-label { display:none; } |
16 | 16 | #oblique-scene text, #oblique-zoom text { font-family:ui-sans-serif,system-ui,"Noto Sans TC",sans-serif; fill:#233d35; font-weight:650; } |
17 | 17 | .oblique-normal { fill:none; stroke:#737e76; stroke-width:3; stroke-dasharray:12 9; } |
18 | 18 | .oblique-angle-sector { stroke:none; } |
|
36 | 36 | .oblique-source:focus-visible { outline:none; } |
37 | 37 | .oblique-source:focus-visible .oblique-focus, .oblique-source:hover .oblique-focus { opacity:1; } |
38 | 38 | .oblique-source[data-lit=true] .oblique-lens { fill:url(#oblique-lit-lens); } |
39 | | -.oblique-state { position:absolute; right:3%; top:1%; padding:3px 7px; border:1px solid #b6cab3; border-radius:7px; background:#f2f8eaf5; color:#28654f; font-size:.66rem; font-weight:700; pointer-events:none; } |
| 39 | +.oblique-state { position:absolute; left:8px; bottom:8px; padding:3px 7px; border:1px solid #b6cab3; border-radius:7px; background:#f2f8eaf5; color:#28654f; font-size:.66rem; font-weight:700; pointer-events:none; } |
40 | 40 | #oblique-magnify { position:absolute; z-index:2; width:44px; height:44px; min-height:44px; padding:0; transform:translate(-50%,-50%); border:2px solid #fffce9; border-radius:5px; background:#fffae51a; outline:1px solid #2a7350; box-shadow:0 0 0 3px #ffffed55; cursor:zoom-in; } |
41 | 41 | #oblique-magnify:hover, #oblique-magnify:focus-visible { background:#fff4ba55; outline:3px solid #246747; } |
42 | 42 | #oblique-magnify:disabled { cursor:default; opacity:.45; } |
43 | 43 | #oblique-lab[data-detail-open=true] #oblique-magnify, #oblique-lab[data-detail-open=true] .oblique-magnify-label { opacity:0; pointer-events:none; } |
44 | 44 | .oblique-magnify-label { position:absolute; z-index:2; left:var(--oblique-entry-x); top:var(--oblique-entry-y); transform:translate(32px,-28px); pointer-events:none; display:inline-flex; align-items:center; gap:5px; padding:6px 9px; border:1px solid #b9cdb7; border-radius:7px; background:#fffef4f5; color:#23583f; font-size:.8rem; font-weight:700; white-space:nowrap; box-shadow:0 2px 7px #35463212; } |
45 | 45 | .oblique-magnify-label svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; } |
46 | | -.oblique-detail { position:absolute; z-index:3; width:clamp(200px,44%,340px); max-width:calc(100% - 24px); min-width:0; padding:10px; border:1px solid #8dac96; border-radius:12px; background:#fffef8; box-shadow:0 8px 28px #1d302735,0 2px 5px #1d30271a; } |
| 46 | +.oblique-detail { position:absolute; z-index:3; width:clamp(180px,40%,320px); max-width:calc(100% - 24px); min-width:0; padding:6px; border:1px solid #8dac96; border-radius:12px; background:#fffef8; box-shadow:0 8px 28px #1d302735,0 2px 5px #1d30271a; } |
47 | 47 | .oblique-detail[hidden] { display:none; } |
48 | | -.oblique-detail-readouts { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:5px; min-height:44px; margin-top:6px; font-size:.8rem; font-weight:700; } |
49 | | -.oblique-detail-readouts > span { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:center; gap:1px 5px; } |
50 | | -.oblique-detail-readouts output { color:inherit; font-size:1.05rem; font-weight:750; font-variant-numeric:tabular-nums; } |
51 | | -#oblique-close { display:grid; place-items:center; flex:none; width:32px; height:32px; min-width:32px; min-height:32px; padding:0; border:0; border-radius:50%; background:#e9f1e4; color:#2d5744; font-size:1.35rem; line-height:1; } |
| 48 | +#oblique-close { position:absolute; top:4px; right:4px; z-index:1; display:grid; place-items:center; flex:none; width:32px; height:32px; min-width:32px; min-height:32px; padding:0; border:0; border-radius:50%; background:#e9f1e4; color:#2d5744; font-size:1.35rem; line-height:1; } |
52 | 49 | #oblique-close:hover, #oblique-close:focus-visible { background:#d9e9d3; outline:2px solid #5b8869; outline-offset:1px; } |
53 | 50 | #oblique-lab[aria-busy=true] .oblique-detail #oblique-zoom { opacity:.45; } |
54 | 51 |
|
55 | | -.oblique-detail-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:5px 6px; height:32px; margin-bottom:6px; } |
56 | | -.oblique-detail-heading h3 { display:flex; align-items:center; gap:6px; margin:0; color:#25573f; font-size:.9rem; font-weight:750; } |
57 | | -.oblique-detail-heading svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; } |
58 | | -.oblique-detail-heading > span { color:#68796c; font-size:.72rem; } |
| 52 | +.oblique-detail-heading { height:0; margin:0; } |
59 | 53 | #oblique-zoom { display:block; width:100%; height:auto; aspect-ratio:4 / 3; overflow:hidden; border:1px solid #dfe5d7; border-radius:10px; background:#fffdf6; } |
60 | 54 | #oblique-zoom .oblique-normal { stroke:#526559; stroke-width:1.3; stroke-dasharray:5 4; } |
61 | 55 | .oblique-normal-underlay { fill:none; stroke:#fffef5; stroke-opacity:.85; stroke-width:2.5; stroke-dasharray:5 4; } |
|
105 | 99 | .oblique-model-note { padding-top:12px; border-top:1px solid #e1e9dc; color:#64736d; font-size:.76rem; } |
106 | 100 | #oblique-retry[hidden] { display:none; } |
107 | 101 | @container oblique-card (max-width:680px) { |
108 | | - .oblique-overview { width:min(100%,520px,calc((100svh - 340px) * 1.16111)); } |
109 | 102 | .oblique-console { grid-template-columns:1fr; gap:8px; margin-top:8px; padding-top:10px; } |
110 | 103 | .oblique-actions { display:grid; grid-template-columns:1fr 1fr; } |
111 | 104 | .oblique-status { grid-column:1; } |
112 | 105 | .oblique-cart-pan-hint { display:block; } |
113 | 106 | } |
114 | 107 | @media(max-width:700px) { |
115 | | - .oblique-toolbar { justify-content:flex-start; } |
116 | 108 | .oblique-actions button { font-size:.86rem; padding-inline:8px; } |
117 | 109 | .oblique-angle-control { gap:10px; font-size:.86rem; } |
118 | 110 | .oblique-explanation summary { padding:15px 13px; font-size:.95rem; } |
119 | 111 | .oblique-explanation-body { padding:14px 13px; } |
120 | 112 | } |
121 | 113 | @container oblique-card (max-width:520px) { |
122 | | - .oblique-overview { width:100%; max-width:420px; } |
123 | | - .oblique-table { aspect-ratio:1; } |
124 | | - #oblique-background, #oblique-scene { top:0; height:100%; } |
| 114 | + .oblique-overview figcaption { position:static; height:46px; margin-bottom:4px; align-items:center; pointer-events:auto; } |
| 115 | + .oblique-overview-title { padding:0; background:transparent; } |
| 116 | + .oblique-toolbar { border:0; padding:0; box-shadow:none; background:transparent; } |
| 117 | + .oblique-toolbar > span { display:none; } |
| 118 | + .oblique-toolbar button { min-width:46px; min-height:40px; } |
125 | 119 | .oblique-settings { grid-template-columns:1fr; gap:0; } |
126 | 120 | .oblique-angle-reading { flex-direction:column; align-items:center; gap:3px; } |
127 | 121 | .oblique-angle-readouts { padding-top:6px; } |
128 | 122 | .oblique-magnify-label { transform:translate(-50%,calc(-100% - 30px)); } |
129 | | - .oblique-detail { padding:8px; } |
130 | | - .oblique-detail-heading h3 { font-size:.8rem; } |
131 | | - .oblique-detail-heading h3 svg { display:none; } |
132 | | - .oblique-detail-readouts > span { flex-direction:column; align-items:center; } |
133 | 123 | .oblique-rule-divider { display:none; } |
134 | 124 | #oblique-zoom-note { flex-basis:100%; margin-top:3px; } |
135 | 125 | } |
|
0 commit comments