:root{--paper:#faf5ec;--paper-dark:#f3ead9;--ink:#3d3229;--ink-light:#7a6d5f;--accent:#c96f4a;--accent-dark:#a85535;--accent-soft:#f0d9cc;--green:#7a9b6d;--line:#d8ccb8;--shadow:rgba(61,50,41,.12)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:Georgia,Times New Roman,serif;background:var(--paper);background-image:radial-gradient(circle at 20% 30%,rgba(201,111,74,.04) 0,transparent 40%),radial-gradient(circle at 80% 70%,rgba(122,155,109,.04) 0,transparent 40%),repeating-linear-gradient(0deg,transparent,transparent 31px,hsla(38,29%,78%,.25) 0,hsla(38,29%,78%,.25) 32px);color:var(--ink);min-height:100vh;line-height:1.6}.hand{font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive}.wrap{max-width:780px;margin:0 auto;padding:24px 20px 80px}a{color:inherit;text-decoration:none}header{gap:12px;padding:18px 0 8px}.logo,header{display:flex;align-items:center}.logo{width:46px;height:46px;background:var(--accent);border-radius:10px 14px 8px 12px;justify-content:center;font-size:24px;transform:rotate(-4deg);box-shadow:2px 3px 0 var(--shadow);flex-shrink:0}header h1{font-size:26px;letter-spacing:.5px}header .tag{font-size:13px;color:var(--ink-light);margin-top:-4px}.hero{text-align:center;padding:48px 8px 30px}.hero h2{font-size:38px;line-height:1.25;margin-bottom:14px}.hero h2 .hl{color:var(--accent);position:relative;white-space:nowrap}.hero h2 .hl:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:9px;background:var(--accent-soft);z-index:-1;transform:rotate(-1deg);border-radius:4px}.hero p{color:var(--ink-light);max-width:520px;margin:0 auto 30px;font-size:17px}.btn{display:inline-block;background:var(--accent);color:#fff;border:none;cursor:pointer;font-size:18px;padding:14px 34px;min-height:48px;border-radius:12px 16px 10px 14px;box-shadow:3px 4px 0 var(--shadow);transform:rotate(-1deg);transition:transform .15s,box-shadow .15s;font-family:inherit;touch-action:manipulation}.btn:hover{transform:rotate(-1deg) translateY(-2px);box-shadow:3px 6px 0 var(--shadow);background:var(--accent-dark)}.btn.ghost{background:transparent;color:var(--accent-dark);border:2px dashed var(--accent);box-shadow:none}.btn.ghost:hover{background:var(--accent-soft)}.btn.small{font-size:15px;padding:10px 18px;min-height:44px}.btn:disabled{opacity:.55;cursor:not-allowed}.steps-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:52px}.step-card{background:#fff;border:1.5px solid var(--line);border-radius:6px;padding:18px 16px 14px;width:200px;text-align:left;position:relative;box-shadow:2px 3px 6px var(--shadow)}.step-card:first-child{transform:rotate(-1.5deg)}.step-card:nth-child(2){transform:rotate(1deg)}.step-card:nth-child(3){transform:rotate(-.8deg)}.step-card:before{content:"";position:absolute;top:-9px;left:50%;transform:translateX(-50%) rotate(-2deg);width:70px;height:18px;background:hsla(22,55%,87%,.85);border-left:1px dashed rgba(0,0,0,.08);border-right:1px dashed rgba(0,0,0,.08)}.step-card .num{font-size:22px;color:var(--accent)}.step-card h3{font-size:16px;margin:4px 0}.step-card p{font-size:13.5px;color:var(--ink-light);line-height:1.45}.saved{margin-top:46px}.saved h3{font-size:20px;margin-bottom:10px}.saved-item{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--line);border-radius:8px;padding:12px 16px;margin-bottom:10px;box-shadow:2px 2px 5px var(--shadow)}.saved-item .d{font-size:12.5px;color:var(--ink-light)}.saved-item a{color:var(--accent-dark);font-size:14px;white-space:nowrap}.chat-box{background:#fff;border:1.5px solid var(--line);border-radius:8px;box-shadow:3px 4px 10px var(--shadow);padding:26px 26px 22px;margin-top:18px}.progress-label{display:flex;justify-content:space-between;font-size:13px;color:var(--ink-light);margin-bottom:6px}.pbar{height:10px;background:var(--paper-dark);border-radius:6px;overflow:hidden;border:1px solid var(--line)}.pbar>div{height:100%;background:var(--accent);border-radius:6px;transition:width .35s ease}.chat-log{margin-top:22px;display:flex;flex-direction:column;gap:14px}.bubble{max-width:85%;padding:12px 16px;border-radius:4px 14px 14px 14px;font-size:16px}.bubble.bot{background:var(--paper-dark);border:1px solid var(--line);align-self:flex-start}.bubble.bot .hint{display:block;font-size:13px;color:var(--ink-light);margin-top:4px}.bubble.user{background:var(--accent-soft);border:1px solid #e0bfa9;align-self:flex-end;border-radius:14px 4px 14px 14px}.answer-area{margin-top:20px}.answer-area input[type=email],.answer-area input[type=text],.answer-area textarea{width:100%;font-family:inherit;font-size:16px;color:var(--ink);background:var(--paper);border:1.5px dashed var(--line);border-radius:8px;padding:12px 14px;resize:vertical;min-height:52px;outline:none}.answer-area input:focus,.answer-area textarea:focus{border-color:var(--accent)}.choices{display:flex;flex-wrap:wrap;gap:10px}.choice{background:var(--paper);border:1.5px solid var(--line);border-radius:10px 12px 9px 11px;padding:12px 18px;min-height:44px;cursor:pointer;font-size:15.5px;font-family:inherit;color:var(--ink);transition:all .15s;touch-action:manipulation}.choice:hover{border-color:var(--accent);background:var(--accent-soft);transform:rotate(-1deg)}.chat-actions{display:flex;justify-content:space-between;align-items:center;margin-top:16px;gap:10px}.link-btn{background:none;border:none;color:var(--ink-light);cursor:pointer;font-family:inherit;font-size:14px;-webkit-text-decoration:underline dashed;text-decoration:underline dashed;padding:8px 0}.link-btn:hover{color:var(--accent-dark)}.err{color:#b3492f;font-size:13.5px;margin-top:6px}.loading{text-align:center;padding:90px 20px}.pencil{font-size:52px;display:inline-block;animation:scribble 1.1s ease-in-out infinite}@keyframes scribble{0%,to{transform:rotate(-8deg) translateX(-6px)}50%{transform:rotate(8deg) translateX(6px)}}.loading h3{font-size:24px;margin-top:18px}.loading p{color:var(--ink-light);margin-top:6px}.plan-head{background:#fff;border:1.5px solid var(--line);border-radius:8px;padding:22px 24px;margin-top:18px;box-shadow:3px 4px 10px var(--shadow);position:relative}.plan-head:before{content:"";position:absolute;top:-10px;left:34px;width:88px;height:22px;transform:rotate(-3deg);background:hsla(22,55%,87%,.9);border-left:1px dashed rgba(0,0,0,.08);border-right:1px dashed rgba(0,0,0,.08)}.plan-head h2{font-size:26px;line-height:1.3}.plan-head .meta{color:var(--ink-light);font-size:14.5px;margin-top:6px}.plan-head .meta b{color:var(--accent-dark)}.total-progress{margin-top:16px}.badge{display:inline-block;font-size:12px;background:var(--paper-dark);border:1px dashed var(--line);border-radius:10px;padding:2px 10px;color:var(--ink-light);margin-top:8px}.phase{background:#fff;border:1.5px solid var(--line);border-radius:8px;margin-top:22px;box-shadow:2px 3px 8px var(--shadow);overflow:hidden}.phase-head{padding:16px 20px;gap:14px;border-bottom:1.5px dashed var(--line);background:var(--paper-dark)}.phase-head,.phase-num{display:flex;align-items:center}.phase-num{min-width:38px;height:38px;border-radius:50% 45% 52% 48%;background:var(--accent);color:#fff;justify-content:center;transform:rotate(-3deg);flex-shrink:0}.phase-head h3,.phase-num{font-size:19px}.phase-head .dur{margin-left:auto;font-size:13px;color:var(--ink-light);background:#fff;border:1px dashed var(--line);padding:3px 10px;border-radius:10px;white-space:nowrap}.phase-goal{padding:12px 20px 0;font-size:14.5px;color:var(--ink-light);font-style:italic}.tasks{padding:12px 14px 18px;display:flex;flex-direction:column;gap:6px}.task{display:flex;gap:12px;align-items:flex-start;padding:10px;border-radius:8px;cursor:pointer;transition:background .15s;touch-action:manipulation}.task:hover{background:var(--paper)}.task .box{min-width:24px;height:24px;border:2px solid var(--ink-light);border-radius:6px 8px 5px 7px;margin-top:2px;display:flex;align-items:center;justify-content:center;font-size:15px;color:#fff;transform:rotate(-2deg);transition:all .15s}.task.done .box{background:var(--green);border-color:var(--green)}.task.done .txt{text-decoration:line-through;color:var(--ink-light)}.task .txt{font-size:15.5px}.task .txt .tip{display:block;font-size:13px;color:var(--ink-light);margin-top:2px}.plan-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;justify-content:center}.note{margin-top:26px;text-align:center;font-size:13.5px;color:var(--ink-light);border-top:1.5px dashed var(--line);padding-top:16px}.save-box{margin-top:24px;background:#fff;border:1.5px dashed var(--accent);border-radius:8px;padding:18px 20px}.save-box h4{font-size:17px;margin-bottom:6px}.save-box p{font-size:14px;color:var(--ink-light);margin-bottom:12px}.save-row{display:flex;gap:10px;flex-wrap:wrap}.save-row input{flex:1 1;min-width:200px;font-family:inherit;font-size:16px;color:var(--ink);background:var(--paper);border:1.5px dashed var(--line);border-radius:8px;padding:11px 14px;outline:none}.save-row input:focus{border-color:var(--accent)}.ok-msg{color:var(--green);font-size:14px;margin-top:8px}@media(max-width:600px){.wrap{padding:16px 14px 60px}.hero{padding:32px 4px 20px}.hero h2{font-size:28px}.hero p{font-size:15.5px}.steps-row{gap:22px;margin-top:36px}.step-card{width:100%;max-width:320px}.chat-box{padding:18px 14px 16px}.bubble{max-width:95%;font-size:15.5px}.choices{flex-direction:column}.choice{width:100%;text-align:left}.chat-actions{flex-direction:row-reverse;flex-wrap:wrap}.plan-head{padding:18px 16px}.plan-head h2{font-size:21px}.phase-head{padding:13px 14px;flex-wrap:wrap}.phase-goal{padding:10px 14px 0}.plan-actions .btn{width:100%;text-align:center}.saved-item{flex-wrap:wrap}}@media print{body{background:#fff}.note,.plan-actions,.save-box,.total-progress,header{display:none!important}.phase,.plan-head{box-shadow:none;page-break-inside:avoid;break-inside:avoid}}