/* Inline map/calculator cards. Neutral site tokens; no page-global selectors. */
.wse{--wse-soft:color-mix(in srgb,var(--ink,#111) 3%,var(--bg,#fff));color:var(--ink,#111);font:13px/1.5 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;min-width:0}.wse *{box-sizing:border-box}.wse button,.wse input,.wse select,.wse textarea{font:inherit;color:var(--ink,#111)}.wse button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line,#ddd);border-radius:6px;background:var(--bg,#fff);padding:5px 8px;min-height:34px;font-size:12px;cursor:pointer;line-height:1.4;white-space:normal}.wse button:hover{background:var(--wse-soft);border-color:var(--muted,#777)}.wse button.wse-primary{background:var(--button,#111);color:var(--button-ink,#fff);border-color:var(--button,#111)}.wse :is(button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--ink,#111);outline-offset:2px}.wse button:disabled{opacity:.4;cursor:not-allowed}
.wse-map{display:flex;flex-direction:column;height:100%;min-height:180px;position:relative;background:var(--bg,#fff);border-radius:7px;overflow:hidden}.wse-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:8px 10px;border-bottom:1px solid var(--line,#ddd);flex:none}.wse-map-toolbar>span{font-size:12px;color:var(--muted,#666);white-space:nowrap}.wse-map-toolbar>div{display:flex;gap:4px}.wse-map-toolbar button{min-height:30px;padding:3px 7px;font-size:12px}.wse-map-surface{display:block;width:100%;flex:1;min-height:0;cursor:crosshair;touch-action:none;user-select:none}.wse-map-ocean{fill:var(--wse-soft)}.wse-map-land{filter:grayscale(1);opacity:.7;pointer-events:none}.wse-map-route{cursor:pointer}.wse-map-route-hit{stroke:transparent;stroke-width:18}.wse-map-route-line{stroke:var(--ink,#222);stroke-width:2;fill:none;opacity:.62}.wse-map-route.is-planned .wse-map-route-line{stroke-dasharray:7 6;opacity:.45}.wse-map-place{cursor:pointer}.wse-map-place circle:not(.wse-map-marker-hit){fill:var(--ink,#111);stroke:var(--bg,#fff);stroke-width:1.7}.wse-map-place .wse-map-marker-hit{fill:transparent}.wse-map-place text{font-size:32px;font-weight:500;fill:var(--ink,#111);paint-order:stroke;stroke:var(--bg,#fff);stroke-width:3px;stroke-linejoin:round;pointer-events:none}.wse-map-place.is-selected circle:not(.wse-map-marker-hit){stroke-width:3}.wse-map-crosshair{fill:none;stroke:var(--ink,#111);stroke-width:1.8;pointer-events:none}.wse-map-crosshair circle{stroke-dasharray:3 3}.wse-map-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 10px;border-top:1px solid var(--line,#ddd);color:var(--muted,#666);font-size:11px;flex:none}.wse-map-foot small{font-size:12px;white-space:nowrap}.wse-map-empty{position:absolute;bottom:46px;left:20px;right:20px;text-align:center;pointer-events:none;font-size:12px;color:var(--muted,#666);text-shadow:0 1px 3px var(--bg,#fff)}
.wse-cost{height:100%;overflow:auto;scrollbar-width:thin;padding:0 2px}.wse-cost-form{margin:0}.wse-form-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;padding-bottom:5px;border-bottom:1px solid var(--line,#ddd)}.wse-form-meta>span{font-size:12px;font-weight:600}.wse-form-meta small{font-size:12px;color:var(--muted,#666)}.wse-cost-fields,.wse-coordinate-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.wse-field{display:flex;flex-direction:column;min-width:0;gap:3px;margin:0 0 4px}.wse-field>span{font-size:12px;font-weight:400;color:var(--muted,#666)}.wse-field input,.wse-field select,.wse-field textarea{width:100%;min-width:0;border:1px solid var(--line,#ddd);background:var(--bg,#fff);border-radius:6px;padding:7px 8px;min-height:36px;font-size:14px;line-height:1.4;box-shadow:none}.wse-field input::placeholder,.wse-field textarea::placeholder{color:var(--muted,#666);font-size:12px;opacity:.8}.wse-field textarea{resize:vertical;min-height:70px}.wse-cost-extra{margin:2px 0 6px}.wse-cost-extra summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;font-size:12px;padding:5px 0;color:var(--muted,#666);list-style:none}.wse-cost-extra summary:before{content:'+';font-size:12px;margin-right:-3px}.wse-cost-extra[open] summary:before{content:'−'}.wse-cost-extra summary>span{font-size:11px;margin-left:auto;color:var(--muted,#666);opacity:.8}.wse-cost-extra[open] .wse-cost-fields{padding-top:3px}.wse-cost-result{border-top:1px solid var(--line,#ddd);padding-top:9px;margin-top:3px}.wse-cost-total,.wse-cost-pending{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 10px}.wse-cost-total>span,.wse-cost-pending>span{font-size:12px;color:var(--muted,#666)}.wse-cost-total strong,.wse-cost-pending strong{font-size:28px;font-weight:550;line-height:1.2;letter-spacing:-1px;font-variant-numeric:tabular-nums}.wse-cost-pending small{flex-basis:100%;font-size:11px;color:var(--muted,#666);line-height:1.5;margin-top:3px}.wse-cost-breakdown{display:flex;justify-content:space-between;gap:10px;margin:8px 0;font-size:11px;color:var(--muted,#666)}.wse-cost-breakdown b{font-weight:500;color:var(--ink,#111);margin-left:4px}.wse-cost-actions{display:flex;align-items:stretch;gap:6px;margin-top:8px}.wse-cost-actions>button:first-child{flex:1}.wse-cost-actions>button:last-child{flex:1;font-size:11px}.wse .wse-hint{font-size:11px;line-height:1.65;color:var(--muted,#666);margin:8px 0 0;font-weight:400}.wse .wse-error{color:var(--ink,#111);font-weight:500}.wse .wse-feedback{font-size:12px;line-height:1.65;color:var(--ink,#111);margin:9px 0 0}.wse-feedback:empty{display:none}
.wse-editor{min-width:0;padding:0 1px}.wse-editor .wse-form-meta{display:none}.wse-editor .wse-field{margin-bottom:11px}.wse-editor .wse-field input,.wse-editor .wse-field select{min-height:38px}.wse-editor .wse-hint{font-size:12px;line-height:1.7}.wse-editor h4{font-size:14px;font-weight:600;line-height:1.5;margin:18px 0 8px}.wse-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.wse-editor-heading h4{margin:0}.wse-editor-map-tools,.wse-editor-actions{display:flex;align-items:center;gap:7px}.wse-editor-map-tools>button{flex:1}.wse-editor-actions{margin-top:13px;flex-wrap:wrap}.wse-editor-actions .wse-delete{margin-left:auto;background:transparent;border-color:transparent;color:var(--muted,#666)}.wse-map-records{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;max-height:200px;overflow:auto}.wse-map-records .wse-map-record{display:block;text-align:left;border-color:transparent;padding:5px 0;min-height:30px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}.wse-map-records small{font-size:11px;line-height:1.5;color:var(--muted,#666);padding-bottom:7px;border-bottom:1px solid var(--line,#ddd)}.wse-delete-confirm{border-top:1px solid var(--line,#ddd);margin-top:17px;padding-top:11px}.wse-delete-confirm p{font-size:12px;line-height:1.65;margin:0 0 8px}.wse-delete-confirm button{margin-right:6px}
:root[data-theme=dark] .wse-map-land{filter:grayscale(1) brightness(.43);opacity:.8}
/* The site's shared workspace styles intentionally size every SVG as an icon
   and every button as a toolbar control. These are document contents instead. */
#workspace-root .wse svg.wse-map-surface{width:100%;height:auto;min-height:0;max-width:none;flex:1 1 auto;fill:none;stroke:none;stroke-width:0}
#workspace-root .wse button{font:inherit;font-size:12px;min-height:34px;height:auto;border:1px solid var(--line,#ddd);border-radius:6px;padding:5px 8px;background:var(--bg,#fff);color:var(--ink,#111);line-height:1.4}
#workspace-root .wse button.wse-primary{background:var(--button,#111);color:var(--button-ink,#fff);border-color:var(--button,#111)}
#workspace-root .wse .wse-map-toolbar button{min-height:30px;padding:3px 7px;font-size:12px}
#workspace-root .wse .wse-map-records .wse-map-record{display:block;text-align:left;border-color:transparent;padding:5px 0;min-height:30px;line-height:1.5;white-space:normal}
#workspace-root .wse .wse-cost-actions>button:last-child{font-size:12px}
#workspace-root .wse .wse-editor-actions .wse-delete{background:transparent;border-color:transparent;color:var(--muted,#666)}
#workspace-root .wse .wse-field textarea{min-height:70px;margin:0;padding:7px 8px;font-size:14px;line-height:1.4}
#workspace-root .wse .wse-hint{margin:6px 0 0;font-size:10px;line-height:1.6}
#workspace-root .wse.wse-editor .wse-hint{font-size:11px;line-height:1.7}
#workspace-root .wse .wse-feedback{margin:9px 0 0;font-size:12px;line-height:1.65}
/* SVG labels use world coordinates; 32 units render at about 14–16px in a 520px card. */
.wse-map-route text{font-size:28px}
#workspace-root .wse.wse-editor button{font-size:13px}
#workspace-root .wse.wse-editor .wse-field>span{font-size:13px}
#workspace-root .wse.wse-editor .wse-map-records .wse-map-record{font-size:13px;min-height:32px}
#workspace-root .wse.wse-editor .wse-feedback{font-size:12px}
@media(max-width:700px){#workspace-root .wse.wse-editor .wse-field input,#workspace-root .wse.wse-editor .wse-field select,#workspace-root .wse.wse-editor .wse-field textarea{font-size:16px}.wse-map-toolbar>span{font-size:11px}.wse-map-toolbar button{font-size:11px;padding-inline:5px}.wse-map-foot{font-size:12px;gap:6px}}
