.cn-console{--cn-ink:#f1eee4;--cn-muted:#a8bbb6;--cn-teal:#a0c9be;--cn-gold:#d9bd82;--cn-line:#abc9c42b;min-width:0;min-height:610px;color:var(--cn-ink);font-family:inherit}
.cn-console [hidden]{display:none!important}
.cn-toolbar{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}
.cn-kicker{margin:0 0 8px;color:var(--cn-teal);font-size:14px;line-height:1.5;letter-spacing:.04em}
.cn-heading-title{margin:0;color:var(--cn-ink);font:inherit;font-size:25px;font-weight:500;line-height:1.5;letter-spacing:-.04em;word-break:keep-all;overflow-wrap:anywhere}
.cn-list-button{flex:0 0 auto;min-height:44px;padding:10px 0;background:none;border:0;border-bottom:1px solid #abc9c46b;color:#d3dfd7;font:inherit;font-size:14px;line-height:1.6;cursor:pointer}
.cn-list-button:hover{color:#f3dbac;border-bottom-color:#d9bd82}
.cn-controls{display:grid;grid-template-columns:145px minmax(0,1fr) 180px;gap:35px;align-items:center;padding:19px 0;border-top:1px solid var(--cn-line);border-bottom:1px solid var(--cn-line)}
.cn-count-box,.cn-slider-box,.cn-count-status{min-width:0}
.cn-control-label{display:block;color:var(--cn-muted);font-size:14px;line-height:1.65;font-weight:400}
.cn-count-field{display:flex;align-items:baseline;gap:9px;border-bottom:1px solid #d9bd8278}
.cn-count-input{appearance:textfield;-moz-appearance:textfield;min-width:0;width:100%;max-width:100%;padding:5px 0;color:var(--cn-ink);border:0;background:none;font:inherit;font-size:32px;font-weight:400;line-height:1.4;letter-spacing:0;font-variant-numeric:tabular-nums;box-sizing:border-box}
.cn-count-input::-webkit-inner-spin-button,.cn-count-input::-webkit-outer-spin-button{appearance:none;margin:0}
.cn-count-unit{color:var(--cn-muted);font-size:15px;white-space:nowrap}
.cn-range{--cn-range-value:0%;display:block;appearance:none;-webkit-appearance:none;width:100%;height:44px;margin:6px 0 0;padding:0;border:0;background:linear-gradient(90deg,#d9bd82 0 var(--cn-range-value),#385455 var(--cn-range-value) 100%) center/100% 3px no-repeat;cursor:ew-resize}
.cn-range::-webkit-slider-runnable-track{height:3px;border:0;background:transparent}
.cn-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin-top:-7.5px;border:2px solid #eddbb3;border-radius:50%;background:#c9a76b;box-shadow:0 0 0 5px #c9a76b10;cursor:ew-resize}
.cn-range::-moz-range-track{height:3px;border:0;background:transparent}
.cn-range::-moz-range-thumb{width:15px;height:15px;border:2px solid #eddbb3;border-radius:50%;background:#c9a76b;box-shadow:0 0 0 5px #c9a76b10;cursor:ew-resize}
.cn-slider-ticks{display:flex;justify-content:space-between;margin-top:-3px;color:#9aafa9;font-size:13px;line-height:1.5;font-variant-numeric:tabular-nums}
.cn-count-status{text-align:right}
.cn-completed-count{display:block;margin:2px 0 0;color:var(--cn-gold);font-size:24px;font-weight:400;line-height:1.5;font-variant-numeric:tabular-nums}
.cn-next-location{min-height:44px;padding:8px 0;border:0;background:none;color:var(--cn-teal);font:inherit;font-size:14px;line-height:1.5;cursor:pointer;text-align:right}
.cn-next-location:hover{color:#e0eee5}
.cn-next-location:disabled{color:#aac4b9;cursor:default}
.cn-input-error{margin:12px 0 0;color:#f0b4a1;font-size:14px;line-height:1.7}
.cn-simulation-note{margin:11px 0 21px;color:#9bb0aa;font-size:13px;line-height:1.7;word-break:keep-all;overflow-wrap:anywhere}
.cn-main{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:27px;align-items:start}
.cn-map-shell{min-width:0;padding-right:26px;border-right:1px solid var(--cn-line)}
.cn-chapters{display:flex;flex-wrap:wrap;gap:7px}
.cn-chapter-button{min-width:47px;min-height:44px;padding:10px 12px;border:1px solid transparent;border-radius:2px;background:none;color:#aac0b9;font:inherit;font-size:14px;line-height:1.5;cursor:pointer;transition:color .2s,border-color .2s,background .2s}
.cn-chapter-button:hover{color:#eae2ce;border-color:#d9bd823d}
.cn-chapter-button.is-active{color:var(--cn-gold);border-color:#d9bd826d;background:#d9bd820b}
.cn-map-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:11px}
.cn-mobile-selection{display:none}
.cn-mobile-selection-name{margin:0;color:#f0eadc;font:inherit;font-size:14px;font-weight:500;line-height:1.45;word-break:keep-all;overflow-wrap:anywhere}
.cn-mobile-selection-quantity{color:#ead098;font-weight:500;white-space:nowrap}
.cn-mobile-selection-facts{margin:3px 0 0;color:#aec6b9;font-size:13px;line-height:1.5;font-variant-numeric:tabular-nums;word-break:keep-all}
.cn-chapter-label{margin:0;color:#bdd0c8;font-size:14px;line-height:1.6;font-variant-numeric:tabular-nums}
.cn-chapter-arrows{display:flex;gap:6px;flex-shrink:0}
.cn-arrow{width:44px;height:44px;padding:0;border:0;border-bottom:1px solid #8eaea43b;background:none;color:#c6dbcf;font:inherit;font-size:20px;cursor:pointer}
.cn-arrow:hover{color:var(--cn-gold);border-bottom-color:var(--cn-gold)}
.cn-arrow:disabled{opacity:.3;cursor:default}
.cn-map-viewport{position:relative;min-width:0;width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#9bb39e69 transparent;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch;cursor:grab;scroll-behavior:auto;contain:layout paint}
.cn-map-viewport::-webkit-scrollbar{height:5px}
.cn-map-viewport::-webkit-scrollbar-track{background:#7ea0930c}
.cn-map-viewport::-webkit-scrollbar-thumb{background:#9bb39e69;border-radius:3px}
.cn-map-viewport.is-dragging{cursor:grabbing;user-select:none}
.cn-map-viewport.is-dragging .cn-node{cursor:grabbing}
.cn-map-track{position:relative;display:flex;align-items:stretch;min-width:0;width:max-content;will-change:auto;isolation:isolate}
.cn-map-chapter{position:relative;flex:0 0 auto;width:620px;min-width:620px;max-width:none;box-sizing:border-box;padding:0;border:0;background:transparent}
.cn-map-chapter+.cn-map-chapter{border-left:0}
.cn-map-caption{margin:0;padding:7px 12px 0;color:#8fa89d;font-size:13px;line-height:1.7;letter-spacing:.025em;font-variant-numeric:tabular-nums}
.cn-map-plane{position:relative;width:100%;height:355px;background:radial-gradient(ellipse at 45% 48%,#9cb8a107,transparent 69%)}
.cn-map-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.cn-map-lines path{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.cn-path-base{stroke:#aac6b948;stroke-width:1.5}
.cn-path-reached{stroke:#a5d1bd;stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .62s cubic-bezier(.25,.65,.3,1);filter:drop-shadow(0 0 3px #a5d1bd45)}
.cn-path-reached.is-active{stroke-dashoffset:0}
.cn-path-selected{stroke:#e6c68c;stroke-width:2.5;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;transition:stroke-dashoffset .68s cubic-bezier(.25,.65,.3,1),opacity .28s ease;filter:drop-shadow(0 0 5px #e6c68c3d)}
.cn-path-selected.is-active{opacity:1;stroke-dashoffset:0}
.cn-node{position:absolute;display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin:0;padding:0;transform:translate(-50%,-50%);border:0;background:none;color:#a9c0b4;cursor:pointer;touch-action:pan-x pan-y;user-select:none;-webkit-user-select:none;z-index:2;isolation:isolate}
.cn-node-face{position:relative;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid #adc6b858;border-radius:50%;background:#132229ed;box-shadow:0 3px 14px #050c113f;transition:border-color .2s,background .2s,transform .25s,box-shadow .25s}
.cn-node-face:after{content:'';position:absolute;inset:-6px;border:1px solid transparent;border-radius:50%;transform:scale(.9);transition:transform .3s,border-color .3s}
.cn-node-icon{display:block;width:32px;height:32px;max-width:32px;max-height:32px;object-fit:contain;pointer-events:none}
.cn-node-marker{font-family:Georgia,serif;font-size:25px;line-height:1;color:#9fbaaf;pointer-events:none;transition:color .2s}
.cn-node-count{position:absolute;left:50%;top:calc(100% + 9px);min-width:70px;transform:translateX(-50%);color:#b5c9be;font-size:13px;font-weight:400;line-height:1.5;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;pointer-events:none;transition:color .2s}
.cn-node-tooltip{position:absolute;left:50%;bottom:calc(100% + 14px);width:max-content;max-width:210px;padding:8px 10px;border:1px solid #a5c1ae3d;border-radius:3px;background:#0b171ff5;color:#eee8d9;font-size:13px;line-height:1.55;text-align:center;word-break:keep-all;overflow-wrap:anywhere;opacity:0;transform:translate(-50%,5px);pointer-events:none;transition:opacity .16s,transform .16s;z-index:5}
.cn-node:hover,.cn-node:focus-visible{z-index:6}
.cn-node:hover .cn-node-face{transform:translateY(-3px);border-color:#dbbf89;background:#1d3032}
.cn-node:hover .cn-node-tooltip,.cn-node:focus-visible .cn-node-tooltip{opacity:1;transform:translate(-50%,0)}
.cn-node.is-edge-start .cn-node-tooltip{left:0;transform:translateY(5px)}
.cn-node.is-edge-end .cn-node-tooltip{left:auto;right:0;transform:translateY(5px)}
.cn-node.is-edge-start:hover .cn-node-tooltip,.cn-node.is-edge-start:focus-visible .cn-node-tooltip,.cn-node.is-edge-end:hover .cn-node-tooltip,.cn-node.is-edge-end:focus-visible .cn-node-tooltip{transform:translateY(0)}
.cn-node.is-reached .cn-node-face{background:#233a35;border-color:#a5d1bd90}
.cn-node.is-reached .cn-node-marker{color:#bae3ca}
.cn-node.is-reached .cn-node-count{color:#c4dfd0}
.cn-node.is-next .cn-node-face{border-color:#d3bd8b8c}
.cn-node.is-selected{z-index:4}
.cn-node.is-selected .cn-node-face{background:#343b2c;border-color:#e4c88e;box-shadow:0 0 24px #e4c88e20;animation:cn-node-select .42s ease-out}
.cn-node.is-selected .cn-node-face:after{border-color:#e4c88e80;transform:scale(1)}
.cn-node.is-selected .cn-node-marker,.cn-node.is-selected .cn-node-count{color:#f0d69f}
.cn-map-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 20px;margin-top:12px}
.cn-map-help{margin:0;color:#94ada2;font-size:13px;line-height:1.7}
.cn-legend{display:flex;gap:17px;flex-wrap:wrap;font-size:13px;line-height:1.6;color:#a7bdb1}
.cn-legend span{display:inline-flex;align-items:center;gap:7px}
.cn-legend span:before{content:'';width:6px;height:6px;border:1px solid currentColor;border-radius:50%}
.cn-legend-reached{color:#b0d8c3}
.cn-legend-selected{color:#ddc08a}
.cn-panel{min-width:0;padding:8px 0 0}
.cn-panel-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px}
.cn-panel-mode{margin:0;color:var(--cn-teal);font-size:14px;line-height:1.6}
.cn-panel-index{color:#93ada0;font-size:13px;line-height:1.6;font-variant-numeric:tabular-nums}
.cn-panel-content{min-width:0}
.cn-panel-identity{display:flex;flex-direction:column;align-items:start;gap:16px;min-width:0}
.cn-panel-icon{display:block;width:64px;height:64px;max-width:64px;max-height:64px;object-fit:contain}
.cn-panel-title{margin:0;color:#f0eadc;font:inherit;font-size:21px;font-weight:500;line-height:1.65;letter-spacing:-.03em;word-break:keep-all;overflow-wrap:anywhere}
.cn-panel-quantity{margin:12px 0 24px;color:var(--cn-gold);font-size:29px;font-weight:400;line-height:1.4;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.cn-panel-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0;padding-top:18px;border-top:1px solid var(--cn-line)}
.cn-panel-facts dt{color:#a2b8ac;font-size:14px;line-height:1.7;margin:0 0 6px}
.cn-panel-facts dd{margin:0;color:#eee9dc;font-size:22px;line-height:1.5;font-variant-numeric:tabular-nums}
.cn-panel-facts>div:last-child dd{color:#e6c890}
.cn-panel-condition{margin:15px 0 0;color:#aabeb1;font-size:14px;line-height:1.85;word-break:keep-all;overflow-wrap:anywhere}
.cn-panel.is-reached .cn-panel-condition{color:#b9d7bd}
.cn-panel-locate,.cn-next-button{display:inline-flex;align-items:center;min-height:44px;padding:10px 0;border:0;border-bottom:1px solid #b0c29b50;background:none;color:#c5d5bb;font:inherit;font-size:14px;line-height:1.6;cursor:pointer;text-align:left}
.cn-panel-locate{margin-top:11px}
.cn-panel-locate:hover,.cn-next-button:hover{color:#f0d8a3;border-bottom-color:#d9bd82}
.cn-next-button:disabled{opacity:.5;cursor:default;pointer-events:none}
.cn-next-summary{margin-top:24px;padding-top:20px;border-top:1px solid var(--cn-line)}
.cn-next-label{margin:0 0 8px;color:#90b5a8;font-size:14px;line-height:1.6}
.cn-next-name{margin:0;color:#d8e0d1;font-size:15px;line-height:1.7;word-break:keep-all;overflow-wrap:anywhere}
.cn-next-info{margin:8px 0 5px;color:#a2b8a9;font-size:14px;line-height:1.7}
.cn-panel.is-changing .cn-panel-content{animation:cn-panel-select .3s ease-out}
.cn-console button:focus-visible,.cn-console input:focus-visible{outline:2px solid #b8d2b1;outline-offset:4px}
.cn-node:focus-visible{outline:0}
.cn-node:focus-visible .cn-node-face:after{border:2px solid #f0ddb4;transform:scale(1.07)}
@keyframes cn-node-select{from{transform:scale(.86);box-shadow:0 0 0 0 #e4c88e20}to{transform:scale(1);box-shadow:0 0 24px #e4c88e20}}
@keyframes cn-panel-select{from{opacity:.65;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1150px){.cn-main{grid-template-columns:minmax(0,1fr) 245px;gap:23px}.cn-map-shell{padding-right:22px}.cn-controls{grid-template-columns:140px minmax(0,1fr) 160px;gap:25px}.cn-chapter-button{padding:10px 9px}.cn-panel-title{font-size:19px}.cn-panel-facts dd{font-size:21px}}
@media(max-width:860px){.cn-mobile-selection{display:block;position:sticky;top:80px;z-index:8;min-height:66px;max-height:100px;margin:9px 0 5px;padding:8px 10px;border-left:2px solid #d9bd829e;border-bottom:1px solid #abc9c438;background:#14242cf5;box-shadow:0 8px 14px #07101726;box-sizing:border-box}}
@media(max-width:860px){.cn-main{grid-template-columns:minmax(0,1fr);gap:24px}.cn-map-shell{padding-right:0;border-right:0}.cn-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 30px;padding:22px 0 0;border-top:1px solid var(--cn-line)}.cn-panel-top{grid-column:1/-1;margin-bottom:18px}.cn-panel-content{grid-column:1}.cn-panel-locate{grid-column:1;justify-self:start;align-self:start;margin-top:8px}.cn-next-summary{grid-column:2;grid-row:2/4;margin-top:0;padding-top:0;border-top:0}.cn-panel-identity{flex-direction:row;align-items:center;gap:15px}.cn-panel-icon{flex:0 0 64px}.cn-panel-quantity{margin:12px 0 19px}.cn-map-plane{height:340px}.cn-controls{grid-template-columns:130px minmax(0,1fr);gap:18px 28px}.cn-count-status{grid-column:1/-1;display:flex;align-items:center;text-align:left;gap:10px 15px}.cn-count-status .cn-control-label{flex:0 0 auto}.cn-completed-count{font-size:20px;margin:0}.cn-next-location{margin-left:auto;min-height:44px}.cn-simulation-note{margin-bottom:20px}}
@media(max-width:600px){.cn-console{min-height:0}.cn-toolbar{align-items:start;gap:15px;margin-bottom:20px}.cn-kicker{font-size:13px;margin-bottom:7px}.cn-heading-title{font-size:21px;line-height:1.5}.cn-list-button{font-size:13px;min-width:92px;padding:8px 0}.cn-controls{grid-template-columns:108px minmax(0,1fr);gap:11px 20px;padding:15px 0 5px}.cn-control-label{font-size:13px;line-height:1.6}.cn-count-input{font-size:28px;line-height:1.5}.cn-count-unit{font-size:14px}.cn-slider-ticks{font-size:12px}.cn-count-status{gap:8px 12px;flex-wrap:wrap}.cn-completed-count{font-size:18px}.cn-next-location{font-size:13px}.cn-simulation-note{font-size:13px;margin:10px 0 17px}.cn-chapters{gap:4px;flex-wrap:nowrap}.cn-chapter-button{min-width:0;flex:1 1 0;padding:10px 4px;font-size:13px;white-space:nowrap}.cn-map-bar{gap:8px;margin-top:9px}.cn-chapter-label{font-size:13px}.cn-arrow{width:44px;height:44px}.cn-map-plane{height:305px}.cn-map-caption{font-size:12px;padding-left:10px}.cn-map-footer{margin-top:10px;gap:7px}.cn-map-help{font-size:13px}.cn-legend{font-size:12px;gap:14px}.cn-main{gap:20px}.cn-panel{display:block;padding-top:19px}.cn-panel-top{margin-bottom:17px}.cn-panel-identity{gap:16px}.cn-panel-title{font-size:20px;line-height:1.65}.cn-panel-facts{gap:20px}.cn-panel-facts dd{font-size:23px}.cn-panel-quantity{font-size:28px;margin:10px 0 18px}.cn-panel-condition{font-size:14px;margin-top:13px}.cn-next-summary{margin-top:19px;padding-top:18px;border-top:1px solid var(--cn-line)}.cn-node-tooltip{display:none}.cn-node-count{font-size:13px}.cn-input-error{font-size:14px}}
@media(prefers-reduced-motion:reduce){.cn-console *,.cn-console *:before,.cn-console *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.cn-node:hover .cn-node-face{transform:none}}
.motion-paused .cn-console *,.motion-paused .cn-console *:before,.motion-paused .cn-console *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.motion-paused .cn-node:hover .cn-node-face{transform:none}
