:root{--forest:#204b38;--deep:#153e2c;--ink:#233f2e;--body:#61705e;--muted:#69765f;--pale:#eef3e6;--lime:#d6e9bb;--line:#dce3d3;--white:#fdfefa;--serif:"Songti TC","Noto Serif TC","PMingLiU",serif;--sans:"PingFang TC","Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:#f8faf4;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at 20% 65%,#eaf1df77,transparent 48%),linear-gradient(120deg,#fffefa 0%,#f6f9ef 70%,#f0f5e7);pointer-events:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button,a,input,textarea,select{ -webkit-tap-highlight-color:transparent}button{color:inherit}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #648743;outline-offset:4px}button{border:0}svg{display:block}p,h1,h2,h3{margin:0}a{color:inherit}.skip{position:fixed;top:-100px;left:16px;z-index:20;background:white;padding:16px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.masthead{height:107px;max-width:1600px;margin:auto;padding:0 5.2%;display:flex;align-items:center;gap:28px}.wordmark{font-family:Georgia,serif;font-size:49px;font-weight:700;letter-spacing:-3.6px;line-height:1;background:none;padding:0 0 5px}.brand-dot{font-family:var(--sans);font-size:11px;letter-spacing:0;vertical-align:top;display:inline-block;margin:10px 0 0 5px}.brand-note{font-size:8px;font-weight:600;letter-spacing:1.6px;line-height:1.7;border-left:1px solid #cbd6c2;padding-left:24px}.masthead nav{margin-left:auto;display:flex;align-items:center;gap:28px}.plain{background:transparent;padding:8px 0;font-size:12px}.plain span{margin-left:12px}.round-button{width:36px;height:36px;border:1px solid #cdd8c2;background:transparent;display:grid;place-items:center;border-radius:50%;font-size:24px}.round-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}.experience{max-width:1440px;margin:0 auto;min-height:calc(100svh - 184px);display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:5%;padding:24px 5.2% 30px}.companion{position:relative;min-width:0;align-self:center}.intro{padding-left:20px;position:relative;z-index:1}.eyebrow{font-size:9px;letter-spacing:2.5px;font-weight:600;color:#657653;margin-bottom:20px}.intro h1{font-family:var(--serif);font-size:clamp(38px,4vw,57px);font-weight:500;line-height:1.29;letter-spacing:-2px}.intro-copy{font-size:13px;letter-spacing:1px;color:var(--body);margin-top:18px}.scene{margin:-8px -25px 0;position:relative}.character-scene{width:100%;height:auto;max-height:445px;overflow:visible}.scene-note{position:absolute;top:12%;left:8%;font-size:10px;color:#59724b;display:flex;align-items:center;gap:7px;transform:rotate(-7deg)}.status-dot,.demo-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#688b51}.character-caption{display:flex;align-items:center;gap:12px;width:80%;margin:-8px auto 0}.mini-mark{width:33px;height:33px;border-radius:50%;background:#e4ecd7;display:grid;place-items:center;font-family:Georgia,serif;font-weight:bold;font-size:24px;letter-spacing:-2px;padding-bottom:3px}.character-caption strong{display:block;font-size:12px;letter-spacing:.4px}.character-caption div>span{font-size:9px;color:var(--body)}.caption-line{height:1px;flex:1;background:#cedac3;margin:0 2px 0 10px}.character-caption small{font-size:10px;color:#708266;white-space:nowrap}.work-panel{background:#fffff9ed;border:1px solid #fff;outline:1px solid #dfe6d650;border-radius:20px;box-shadow:0 20px 60px -30px #37502638,0 2px 10px #40513404;padding:31px 34px 24px;min-height:569px;position:relative;max-width:600px;scroll-margin-top:20px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.micro{font-size:9px;letter-spacing:1.7px;color:#687b59}.pill{font-size:9px;border:1px solid #d7e2cc;border-radius:30px;padding:5px 9px;color:#547044;white-space:nowrap}.greeting{font-family:var(--serif);font-size:26px;line-height:1.5;font-weight:500;letter-spacing:-.6px}.greeting-copy{font-size:12px;color:var(--body);line-height:1.9;margin-top:8px}.tasks{margin-top:25px}.task{width:100%;display:flex;align-items:center;text-align:left;background:transparent;padding:13px 0;border-bottom:1px solid #e6ebdf;gap:16px;transition:padding .2s,background .2s}.task:first-child{border-top:1px solid #e6ebdf}.task:hover{padding-left:9px;padding-right:9px;background:#f1f6e9}.task-num{font:10px Georgia,serif;color:#718166}.task-text{flex:1;font-size:13px;font-weight:500}.task-text small{font-size:10px;color:var(--body);font-weight:400;display:block;margin-top:4px}.task-arrow{font-size:18px;color:#6e845b;font-family:Georgia,serif}.task-badge{font-size:8px;padding:3px 5px;background:#e6efd9;border-radius:3px;font-weight:500;color:#446033;margin-left:8px;vertical-align:middle}.note-invite{display:flex;align-items:center;justify-content:space-between;margin-top:22px;padding:13px 14px;border:1px solid #d6dfcc;border-radius:7px;background:#f9fbf5;width:100%;text-align:left;font-size:11px;color:#607252;gap:12px}.note-invite:hover{background:#edf4e3}.note-invite svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6}.experience-footer{height:77px;max-width:1600px;margin:auto;padding:0 5.2%;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;color:#6c7a61;border-top:1px solid #dfe6d5}.experience-footer p{display:flex;gap:7px;align-items:center}.experience-footer ol{display:flex;gap:28px;list-style:none;padding:0}.experience-footer li{position:relative}.experience-footer li:not(:last-child):after{content:"·";position:absolute;right:-17px;color:#9aab8a}.experience-footer .plain{font-size:9px}.wave-arm{transform-origin:355px 244px;animation:wave 5s ease-in-out infinite}.eyes{transform-origin:327px 177px;animation:blink 7s infinite}.floating-doc{animation:float 6s ease-in-out infinite}.right-doc{animation-delay:-3s}.paused .floating-doc,.paused .block-person{animation-play-state:paused!important}.busy .floating-doc{animation-duration:1.6s}.busy .wave-arm{animation:none;transform:rotate(10deg)}@keyframes wave{0%,12%,25%,100%{transform:rotate(0)}6%,19%{transform:rotate(-9deg)}}@keyframes blink{0%,44%,47%,100%{transform:scaleY(1)}45%,46%{transform:scaleY(.1)}}@keyframes float{0%,100%{translate:0 0}50%{translate:0 -9px}}.panel-enter{animation:enter .3s ease-out}@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.back{background:none;padding:0;display:flex;gap:7px;align-items:center;font-size:10px;color:#637756}.stepper{display:flex;gap:5px;margin:20px 0 22px}.stepper span{height:3px;flex:1;background:#e6ecde;border-radius:3px}.stepper span.current{background:#315f40}.stepper span.done{background:#b5cc96}.work-title{font-family:var(--serif);font-size:26px;font-weight:500;line-height:1.4;margin-bottom:9px}.work-description{font-size:12px;line-height:1.9;color:var(--body);margin-bottom:22px}.files{display:grid;gap:10px;margin:20px 0}.file{padding:14px;border:1px solid #dfe7d5;border-radius:8px;background:#f7faf1;display:flex;align-items:center;gap:12px}.file-icon{width:30px;height:35px;background:#dceac9;border-radius:4px;display:grid;place-items:center;font-size:9px;color:#426136}.file strong{font-size:11px;display:block;font-weight:500}.file small{font-size:9px;color:#73816a;display:block;margin-top:4px}.file-check{margin-left:auto;font-size:12px;color:#54773d}.note{font-size:10px;line-height:1.9;color:#6c7c60;margin:16px 0}.primary{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--forest);color:#f8fbee;border-radius:7px;padding:14px 17px;font-size:12px;text-align:left;margin-top:20px;gap:12px;transition:background .15s}.primary:hover{background:#123723}.secondary{width:100%;border:1px solid #d3dfc6;border-radius:7px;background:transparent;padding:12px 14px;font-size:11px;margin-top:10px}.secondary:hover{background:#f2f6ec}.panel-footer{font-size:9px;color:#708064;margin-top:15px;line-height:1.7}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.metric{background:#eef4e5;padding:16px;border-radius:8px}.metric small{font-size:9px;color:#69795a}.metric strong{font-family:Georgia,serif;display:block;font-weight:400;font-size:30px;margin:6px 0}.metric span{font-size:9px;color:#586e47}.data-table{width:100%;border-collapse:collapse;font-size:10px;margin:18px 0}.data-table th{color:#738163;font-weight:400;text-align:right;padding:10px 5px;border-bottom:1px solid #d6e0ca;white-space:nowrap}.data-table td{padding:11px 5px;border-bottom:1px solid #e4ebda;text-align:right}.data-table th:first-child,.data-table td:first-child{text-align:left}.flag td{background:#f5f0df}.warning{padding:13px 15px;border-left:2px solid #a78f4f;background:#f8f5e9;font-size:11px;line-height:1.85;margin:16px 0;color:#746338}.evidence{border:1px solid #d8e2cc;border-radius:8px;padding:16px;margin:18px 0}.evidence h3{font-size:11px;margin-bottom:12px}.evidence dl{font-size:11px;margin:0;display:grid;grid-template-columns:1fr auto;gap:10px}.evidence dt{color:#68765f}.evidence dd{margin:0;font-variant-numeric:tabular-nums}.evidence .difference{padding-top:10px;border-top:1px solid #dce4d3;color:#735d28}.radio-choice{display:flex;gap:9px;align-items:flex-start;font-size:11px;line-height:1.7;margin-top:12px;cursor:pointer}.radio-choice input{accent-color:var(--forest);margin:3px 0 0}.success-seal{width:45px;height:45px;border:1px solid #b6cb9a;border-radius:50%;display:grid;place-items:center;background:#eef6e3;font-size:22px;margin:8px 0 18px}.report-lines{margin:20px 0;padding:0;list-style:none;display:grid;gap:13px}.report-lines li{font-size:11px;display:flex;gap:10px;line-height:1.7}.report-lines li:before{content:'✓';color:#587943}.deliverable{padding:14px 16px;background:#eef4e5;border-radius:8px;margin:18px 0;font-size:12px}.deliverable small{display:block;font-size:9px;color:#718164;margin-top:5px}.service-summary{display:grid;gap:16px;margin:23px 0}.service-summary section{border-top:1px solid #e1e8d8;padding-top:14px}.service-summary h3{font-size:10px;color:#617651;margin-bottom:8px}.service-summary p,.service-summary li{font-size:11px;line-height:1.9}.service-summary ul{margin:0;padding-left:16px}.field{display:block;font-size:11px;margin-top:17px}.field input,.field textarea,.field select{display:block;width:100%;margin-top:8px;border:1px solid #d3dec6;border-radius:6px;padding:11px;background:#fffef9;color:var(--ink);font-size:12px}.field textarea{resize:vertical;min-height:96px}.field-note{font-size:9px;color:#708164;margin-top:7px}.local-preview{white-space:pre-wrap;background:#f0f5e8;padding:18px;border-radius:8px;font-family:var(--sans);font-size:11px;line-height:1.9;max-height:360px;overflow:auto}.status-text{font-size:10px;line-height:1.8;color:#5a7445;margin-top:12px}.busy-steps{padding:8px 0 20px;list-style:none;display:grid;gap:22px;font-size:12px}.busy-steps li{display:flex;gap:14px;align-items:center}.busy-steps span{width:25px;height:25px;border-radius:50%;background:#e5efd7;display:grid;place-items:center;font-size:10px}.busy-line{height:3px;background:#e6eddd;border-radius:3px;overflow:hidden;margin-top:20px}.busy-line:after{content:'';display:block;width:40%;height:100%;background:#6e9653;animation:scan 1s infinite ease-in-out}@keyframes scan{from{translate:-100%}to{translate:350%}}dialog{width:min(660px,calc(100% - 32px));max-height:85svh;padding:40px;border:1px solid #dee5d4;border-radius:16px;background:#fffef8;color:var(--ink);box-shadow:0 25px 100px #163a2944}dialog::backdrop{background:#1e392650;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:16px;top:16px}.dialog-title{font-family:var(--serif);font-size:28px;font-weight:500;margin:10px 0 18px}.dialog-copy{font-size:13px;line-height:2;color:var(--body)}.service-directory{margin-top:25px}.directory-row{width:100%;padding:17px 0;border-bottom:1px solid #dce4d1;background:transparent;text-align:left;display:flex;gap:16px;align-items:center;font-size:13px}.directory-row small{font:10px Georgia;color:#738363}.directory-row span:last-child{margin-left:auto}.dialog-brief-title{font-family:var(--serif);font-size:24px;font-weight:400;margin:12px 0 15px}@media(min-width:1600px){.experience{min-height:calc(100svh - 184px);gap:7%}.work-panel{padding:37px 40px;min-height:590px}.character-scene{max-height:480px}}@media(max-width:1050px){.experience{gap:3%;padding-inline:4%}.masthead{padding-inline:4%}.intro{padding-left:6px}.work-panel{padding:25px 24px}.scene{margin-inline:-22px}.character-caption{width:83%;gap:8px}.character-caption small{display:none}.task-badge{font-size:7px}.experience-footer{padding-inline:4%}}@media(max-width:760px){.masthead{height:80px;padding:0 6%;gap:16px}.wordmark{font-size:40px}.brand-note{font-size:6px;padding-left:14px;letter-spacing:1px}.masthead nav{gap:17px}.masthead .plain{font-size:10px}.round-button{width:31px;height:31px}.experience{display:flex;flex-direction:column;padding:20px 6% 30px;gap:25px;min-height:auto}.companion{width:100%;display:grid;grid-template-columns:.95fr 1fr;align-items:center}.intro{padding:0}.eyebrow{font-size:7px;letter-spacing:1.6px;margin-bottom:13px}.intro h1{font-size:clamp(30px,5.7vw,41px);letter-spacing:-1px;line-height:1.4}.intro-copy{font-size:10px;letter-spacing:0;line-height:1.8;margin-top:12px;max-width:135px}.scene{margin:0 -17px 0 -25px}.character-scene{height:235px;width:100%;object-fit:contain}.scene-note,.character-caption{display:none}.work-panel{width:100%;max-width:none;min-height:0;padding:25px;border-radius:16px}.greeting{font-size:24px}.tasks{margin-top:22px}.task{padding-block:13px}.task-text{font-size:13px}.task-text small{font-size:10px}.panel-heading{margin-bottom:20px}.experience-footer{height:auto;flex-wrap:wrap;padding:18px 6%;gap:16px;font-size:8px}.experience-footer ol{order:3;width:100%;margin:0;justify-content:center;padding-top:6px;gap:36px}.experience-footer li:not(:last-child):after{right:-21px}.experience-footer .plain{font-size:8px}.active-work .companion{display:none}.active-work .experience{padding-top:15px;min-height:calc(100svh - 180px);justify-content:flex-start}.active-work .work-panel{flex:1}.panel-footer{font-size:9px}.work-title{font-size:25px}.data-table{font-size:10px}dialog{padding:35px 25px}.metrics{gap:9px}.metric{padding:14px}.metric strong{font-size:27px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Comfortable reading sizes in the compact workspace. */
.task-text{font-size:14px}.task-text small{font-size:11px}.greeting-copy,.work-description{font-size:13px}.note-invite{font-size:12px}.file strong,.service-summary p,.service-summary li,.radio-choice,.report-lines li{font-size:12px}.panel-footer,.note,.file small,.metric small,.metric span,.field-note{font-size:10px}.micro{font-size:10px}.data-table{font-size:11px}
@media(max-width:760px){.active-work .companion{display:flex;align-items:center;gap:12px;justify-content:flex-start;height:65px}.active-work .intro{display:none}.active-work .scene{display:flex;align-items:center;height:65px;width:100%;margin:0}.active-work .character-scene{width:110px;height:85px;margin-left:-22px}.active-work .character-caption{display:flex;margin:0;width:auto}.active-work .mini-mark,.active-work .caption-line,.active-work .character-caption small{display:none}.active-work .character-caption strong{font-size:13px}.active-work .character-caption div>span{font-size:10px}.active-work .experience{gap:14px}.task-text{font-size:14px}.task-text small{font-size:11px}.evidence dl{font-size:11px}.data-table{font-size:10px}}
@media(max-width:760px){.companion{grid-template-columns:1.1fr 1fr}.intro h1{font-size:28px;letter-spacing:-1.5px}.character-scene{height:205px}.masthead nav{gap:12px}.masthead .plain{white-space:nowrap}.masthead{gap:13px}.brand-note{padding-left:12px}}
@media(max-width:380px){.brand-note{display:none}.intro h1{font-size:26px}.work-panel{padding:22px}.greeting{font-size:22px}}

.block-person{transform-origin:330px 420px;animation:block-breathe 6s ease-in-out infinite}@keyframes block-breathe{0%,100%{transform:translateY(0) rotate(-.3deg)}50%{transform:translateY(-3px) rotate(.3deg)}}
@media(prefers-reduced-motion:reduce){.block-person{animation:none}}
