/* Tuji journey — warm paper, a continuous canal-side road and real course art. */
body.is-directory{--header-height:0px!important;background:#f7f6ef}
.is-directory .entry-shell>.entry-header{height:0!important;min-height:0;padding:0!important;margin:0;visibility:hidden;overflow:hidden}
#entry-main.directory-screen{padding:max(var(--journey-top,18px),env(safe-area-inset-top)) max(var(--journey-side,20px),env(safe-area-inset-right)) max(var(--journey-bottom,14px),env(safe-area-inset-bottom)) max(var(--journey-side,20px),env(safe-area-inset-left));gap:0;scrollbar-gutter:auto;background:#f7f6ef}
.is-directory .directory-header{display:flex;align-items:center;gap:9px;flex:none;width:min(100%,760px);margin:0 auto 19px;min-width:0}
.is-directory .directory-header .journey-back{display:grid!important;place-items:center;width:22px;min-width:22px;min-height:44px;margin:0;color:#304334}
.journey-back svg{width:22px;height:22px;transform:rotate(180deg)}
.is-directory .directory-header .journey-home-link{display:flex!important;align-items:center;gap:9px;flex:1;min-width:0;min-height:44px;margin:0;color:#304334;font-size:19px;font-weight:550;line-height:1.4}.journey-home-link svg{width:21px;height:21px;transform:rotate(180deg)}

.directory-header .theme-study-plan{flex:none;position:relative;max-width:none;margin:0;min-height:39px;gap:0}
.directory-header .theme-plan-input{display:flex;align-items:center;gap:2px;padding:0 10px;border:1px solid #efeee3;border-radius:18px;background:#faf8ef;box-shadow:0 4px 15px #82744306;min-height:39px}
.directory-header .theme-plan-input label,.directory-header .theme-plan-choice>span{font-size:10px;color:#64715b;white-space:nowrap}.directory-header .theme-plan-label-wide{display:none}.directory-header .theme-plan-label-short{display:inline}
.directory-header .theme-plan-choice{display:flex;align-items:center;gap:1px}.directory-header .theme-plan-choice select{appearance:none;width:43px;min-height:39px;border:0;padding:0 13px 0 3px;border-radius:8px;background:transparent;color:#405437;font-size:12px;font-weight:600;background-image:linear-gradient(45deg,transparent 50%,#8f9987 50%),linear-gradient(135deg,#8f9987 50%,transparent 50%);background-position:calc(100% - 7px) 18px,calc(100% - 3px) 18px;background-size:4px 4px;background-repeat:no-repeat;cursor:pointer}
.journey-frame{position:relative;isolation:isolate;display:grid;grid-template-rows:auto minmax(0,1fr);row-gap:14px;flex:1;min-height:0;width:min(100%,760px);margin:0 auto;background:transparent;border:0;overflow:hidden}
.journey-overview-panel{position:relative;z-index:2;min-height:120px;padding:15px 16px 16px;overflow:hidden;border:1px solid #e9ece1;border-radius:23px;background:linear-gradient(112deg,#fffefa 44%,#f4f8f4);box-shadow:0 8px 20px #52674305}
[data-journey-progress]{position:relative;z-index:1;width:100%}.journey-progress-label{display:block;color:#45583f;font-size:13px;font-weight:600;line-height:1.4}.journey-progress-count{display:flex;align-items:baseline;gap:3px;margin-top:3px;font-size:11px;color:#8f9987;line-height:1.35;font-variant-numeric:tabular-nums}.journey-progress-count b{font-size:32px;line-height:1.2;font-weight:500;color:#304334}
.journey-progress-meter{height:8px;width:46%;border-radius:8px;background:#e6e9dd;overflow:hidden;margin-top:11px}.journey-progress-meter>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#aec18f,#718d60)}
.journey-plan-slot{position:absolute;right:15px;top:15px;z-index:2}.journey-plan-slot .theme-plan-result{gap:4px;display:flex;align-items:center;white-space:nowrap}.journey-plan-slot .theme-plan-result>span{font-size:11px;color:#7f8d75}.journey-plan-slot .theme-plan-result strong{display:flex;align-items:baseline;gap:3px;font-size:24px;color:#698258;font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums}.journey-plan-slot .theme-plan-result strong>span{font-size:11px;font-weight:400;color:#8f9987}
.journey-plan-slot .theme-plan-helper,.theme-study-plan .theme-plan-helper{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.journey-landmark{position:absolute;right:-7px;bottom:-2px;width:65%;height:auto;max-width:360px;z-index:0;pointer-events:none;mask-image:linear-gradient(90deg,transparent 0,transparent 20%,#000 38%);-webkit-mask-image:linear-gradient(90deg,transparent 0,transparent 20%,#000 38%)}
#directory-content.learning-path-viewport{position:relative;inset:auto;min-height:0;overflow:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none;mask:none;-webkit-mask:none;touch-action:pan-y;scroll-behavior:auto;overflow-anchor:none;scroll-padding:55px 0;padding:48px 0 24px;border-radius:12px}
#directory-content.learning-path-viewport::-webkit-scrollbar{display:none}
.journey-map{display:flex;flex-direction:column-reverse;position:relative;isolation:isolate;container-type:inline-size;width:100%;max-width:620px;margin:0 auto;background:transparent}
.journey-turn{position:relative;flex:none;height:280px;isolation:isolate}.journey-turn[data-task-count="3"]{height:376px}
.journey-road{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:-1}.journey-road path{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:butt}.journey-road-edge{stroke:#d5e3bf;stroke-width:22}.journey-road-fill{stroke:#dfe8cc;stroke-width:19}.journey-road-dots{stroke:#fffff5;stroke-width:1.8;stroke-dasharray:5 9;stroke-linecap:round!important;opacity:.95}
.journey-gate{position:absolute;z-index:3;left:50%;bottom:0;transform:translate(-50%,50%);display:flex;align-items:center;justify-content:center;gap:7px;width:max-content;max-width:calc(100% - 14px);min-height:36px;padding:9px 13px;border:1px solid #f2f0e7;border-radius:24px;background:#fffefa;box-shadow:0 6px 16px #5260440d}.journey-gate>svg{width:14px;height:14px;fill:#efdab7;stroke:#b9a989;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex:none}.journey-chapter-number{color:#69765f;font-size:10px;font-weight:600;font-variant-numeric:tabular-nums}.journey-gate h2{margin:0;color:#45583e;font-size:12px;line-height:1.5;font-weight:600;text-align:center}.journey-chapter-progress{font-size:10px;color:#939e88;font-variant-numeric:tabular-nums;border-left:1px solid #eceee2;padding-left:7px;white-space:nowrap}
.path-track{position:absolute;inset:0;list-style:none;margin:0;padding:0}.journey-step{position:absolute;list-style:none;margin:0;padding:0;width:0;height:0;z-index:2}
.journey-stage{position:absolute;left:0;top:0;transform:translate(-50%,-50%);display:grid;place-items:center;width:52px;height:54px;border:0;padding:0;border-radius:50%;background:transparent;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent;outline-offset:4px}
.journey-node{position:relative;display:grid;place-items:center;width:44px;height:44px;border:2px solid #fffef9;border-radius:50%;color:#91a27d;background:linear-gradient(145deg,#fafbf3,#e3ead8);box-shadow:0 2px 1px #cad5bb,0 5px 12px #56714310;transition:transform .16s,background .16s,color .16s}.journey-node::before{content:'';position:absolute;inset:-4px;border-radius:inherit;background:conic-gradient(#7c9c60 calc(var(--task-fill)*1turn),#dce5cf 0);mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 0)}
.journey-node-icon{display:grid;place-items:center}.journey-node-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.journey-node-number{position:absolute;right:-7px;bottom:-5px;display:grid;place-items:center;width:21px;height:19px;border:1px solid #e4e9dc;border-radius:7px;background:#fffefa;color:#7e9071;font-size:9px;font-weight:600;font-variant-numeric:tabular-nums;box-shadow:0 2px 5px #52674309}
.journey-stage-caption{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:8px;width:clamp(170px,calc(71cqw - 4px),366px);min-height:68px;padding:10px 11px;border:1px solid #f5f3eb;border-radius:21px;background:#fffefa;box-shadow:0 9px 22px #4f61420a;text-align:left;transition:box-shadow .16s,background .16s}
.journey-stage-caption::before{content:'';position:absolute;left:-5px;top:calc(50% - 5px);width:9px;height:9px;transform:rotate(45deg);background:#fffefa}.turn-right .journey-stage-caption{left:auto;right:calc(100% + 8px)}.turn-right .journey-stage-caption::before{left:auto;right:-5px}
.journey-card-copy{display:block;min-width:0;flex:1}.journey-stage-caption strong{display:block;color:#304334;font-size:13px;line-height:1.4;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.journey-card-meta{display:flex;align-items:center;gap:4px;margin-top:6px;color:#939f86;font-size:10px;line-height:1.3;font-weight:400}.journey-card-meta svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round}
.journey-task-art{flex:none;display:block;width:40px;height:44px;border-radius:11px;background-color:#f0f3e7;background-repeat:no-repeat;overflow:hidden}.journey-card-arrow{flex:none;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#edf2e5;color:#8b9f78}.journey-card-arrow svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.is-current .journey-node{color:#7f9869}.is-selected .journey-node{color:#fffef5;background:linear-gradient(140deg,#9db77b,#718d60 75%);box-shadow:0 3px 1px #637b50,0 6px 14px #617b3d28}.is-selected .journey-node::before{background:#bfd1a6}.is-selected .journey-node-icon svg path{fill:#fffef5;stroke-width:1}.is-selected .journey-node-number{color:#587644;background:#fffefa}.is-selected .journey-stage-caption{box-shadow:0 10px 26px #536c3912;background:#fffffc}.is-selected .journey-stage-caption strong{font-weight:600}.is-selected .journey-card-arrow{background:#e4edd9;color:#6e8b55}.is-practiced .journey-node{color:#fff;background:linear-gradient(145deg,#b2c995,#86a168)}
.journey-origin{flex:none;height:24px;display:flex;align-items:flex-end;justify-content:center;color:#9eaa8f;font-size:10px;padding-bottom:4px}.journey-summit{height:86px;flex:none}

.journey-progress-notice{display:block;color:#9b8b67;font-size:10px;margin-top:7px}
@media(hover:hover){.journey-stage:hover .journey-node{transform:translateY(-2px)}.journey-stage:hover .journey-stage-caption{box-shadow:0 10px 24px #4f614218}}.journey-stage:active .journey-node{transform:translateY(1px)}
@media(prefers-reduced-motion:reduce){.journey-node,.journey-stage-caption{transition:none}}
@media(max-width:374px){#entry-main.directory-screen{--journey-top:12px;--journey-side:16px;--journey-bottom:10px}.is-directory .directory-header{gap:7px;margin-bottom:13px}.directory-header .theme-plan-input{padding:0 7px}.directory-header .theme-plan-choice select{width:40px}.journey-frame{row-gap:11px}.journey-overview-panel{min-height:102px;padding:13px 14px}.journey-progress-count b{font-size:28px}.journey-plan-slot{right:13px;top:14px}.journey-plan-slot .theme-plan-result strong{font-size:21px}.journey-landmark{width:65%}.journey-stage{width:48px;height:50px}.journey-node{width:40px;height:40px}.journey-stage-caption{left:calc(100% + 5px);padding:9px;gap:7px;min-height:62px}.turn-right .journey-stage-caption{right:calc(100% + 5px)}.journey-stage-caption strong{font-size:12px}.journey-card-arrow{display:none}.journey-task-art{width:34px;height:38px}.journey-turn{height:280px}.journey-turn[data-task-count="3"]{height:376px}}
@media(min-width:410px){.journey-task-art{width:44px;height:48px}.journey-stage-caption{gap:9px;padding:10px 12px;min-height:70px}.journey-stage-caption strong{font-size:14px}}
@media(min-width:1024px) and (hover:hover) and (pointer:fine){#entry-main.directory-screen{--journey-top:24px}.is-directory .directory-header{margin-bottom:22px}.journey-frame{row-gap:16px}.journey-overview-panel{min-height:130px;padding:18px 22px}.journey-progress-label{font-size:14px}.journey-progress-count b{font-size:37px}.journey-plan-slot{top:20px;right:21px}.journey-plan-slot .theme-plan-result strong{font-size:28px}.journey-landmark{width:340px}.journey-progress-meter{margin-top:14px;width:65%}.journey-turn{height:310px}.journey-turn[data-task-count="3"]{height:410px}.journey-stage-caption{min-height:76px}.journey-task-art{width:50px;height:52px}.journey-stage-caption strong{font-size:15px}.journey-gate h2{font-size:13px}}
@media(max-height:450px) and (min-width:600px){#entry-main.directory-screen{--journey-top:7px;--journey-bottom:9px}.is-directory .directory-header{margin-bottom:9px}.journey-frame{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:10px}.journey-overview-panel{grid-column:1/-1;min-height:77px;padding:9px 15px;border-radius:18px}.journey-progress-label{font-size:11px}.journey-progress-count{margin-top:0}.journey-progress-count b{font-size:23px}.journey-progress-meter{margin-top:5px;height:5px;width:65%}.journey-landmark{width:185px;right:0;bottom:-9px}.journey-plan-slot{top:12px;right:15px}.journey-plan-slot .theme-plan-result strong{font-size:22px}#directory-content.learning-path-viewport{grid-column:1;grid-row:2;padding-top:35px}.journey-task-art{width:38px;height:40px}.journey-stage-caption{padding:9px 10px;gap:7px;min-height:64px}.journey-card-arrow{display:none}.journey-stage-caption strong{font-size:12px}.journey-node{width:40px;height:40px}.journey-stage{width:48px;height:50px}.journey-turn{height:280px}.journey-turn[data-task-count="3"]{height:376px}}





/* Compact progress summary: one information row and one slim progress bar. */
.journey-overview-panel{min-height:60px;padding:10px 14px;border-radius:18px}
[data-journey-progress]{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;column-gap:8px;width:calc(100% - 96px)}
.journey-progress-label{font-size:12px;line-height:1.4;white-space:nowrap}
.journey-progress-count{margin-top:0;font-size:10px;line-height:1.2}
.journey-progress-count b{font-size:20px;line-height:1.2}
.journey-progress-meter{grid-column:1/-1;width:100%;height:4px;margin-top:5px}
.journey-plan-slot{right:13px;top:11px}
.journey-plan-slot .theme-plan-result{gap:3px}
.journey-plan-slot .theme-plan-result>span,.journey-plan-slot .theme-plan-result strong>span{font-size:10px}
.journey-plan-slot .theme-plan-result strong{font-size:20px;gap:2px}
.journey-landmark{width:112px;max-width:35%;right:-3px;bottom:-5px;opacity:.42}
@media(min-width:1024px) and (hover:hover) and (pointer:fine){.journey-overview-panel{min-height:65px;padding:12px 18px}[data-journey-progress]{width:calc(100% - 140px)}.journey-plan-slot{top:12px;right:18px}.journey-landmark{width:145px}.journey-progress-count b{font-size:22px}}
.journey-floor{position:absolute;z-index:0;left:50%;bottom:0;transform:translateX(-50%);width:100%;max-width:620px;height:auto;opacity:.52;pointer-events:none;user-select:none;-webkit-user-select:none;mask-image:linear-gradient(0deg,transparent,#000 18%,#000 83%,transparent);-webkit-mask-image:linear-gradient(0deg,transparent,#000 18%,#000 83%,transparent)}
#directory-content.learning-path-viewport{z-index:1}


