*{margin:0;padding:0;box-sizing:border-box}:root{--bg:#f3f6ff;--card:#ffffff;--ink:#24304a;--ink-soft:#5b6a8c;--line:#e3e9f8;--primary:#4f6df5;--primary-soft:#e8edff;--accent:#ff8a3d;--accent-soft:#fff1e6;--green:#21a67a;--green-soft:#e4f7ef;--red:#e2554f;--red-soft:#fdeceb;--radius:18px;--shadow:0 6px 24px rgba(56,78,140,0.1)}body{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Segoe UI,Malgun Gothic,sans-serif;background:linear-gradient(160deg,#eef3ff,#f8f4ff 55%,#fff6ec);min-height:100vh;color:var(--ink);line-height:1.6}.container{max-width:780px;margin:0 auto;padding:24px 16px 80px}.header{text-align:center;padding:20px 0 26px}.header h1{font-size:30px;letter-spacing:-.5px}.header p{color:var(--ink-soft);margin-top:6px;font-size:15px}.header .notebook-link{margin-top:12px;display:inline-block}.journey{display:flex;gap:9px;justify-content:center;align-items:center;flex-wrap:wrap;margin-bottom:20px;font-size:13px}.journey-step{color:#a2aec6;font-weight:600}.journey-step:before{content:"→";color:#cdd5e6;margin-right:9px;font-weight:400}.journey-step:first-child:before{content:none}.journey-step.active{color:var(--primary);font-weight:800}.journey-step.done{color:var(--green)}.guide-back{display:inline-block;margin:8px 0 4px;color:var(--ink-soft);text-decoration:none;font-size:14px;font-weight:600}.guide-back:hover{color:var(--primary)}.guide-hero{text-align:center;padding:20px 0 26px}.guide-emoji{font-size:52px;display:block;margin-bottom:6px}.guide-hero h1{font-size:30px;letter-spacing:-.5px}.guide-hero p{color:var(--ink-soft);margin-top:10px;font-size:16px;max-width:34em;margin-left:auto;margin-right:auto}.guide .card h2{margin-bottom:12px}.guide-about p{font-size:15.5px;color:var(--ink-soft);line-height:1.75}.guide-steps{list-style:none;padding:0;display:flex;flex-direction:column;gap:14px}.guide-steps li{display:flex;gap:14px;align-items:flex-start}.gs-num{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--primary);color:#fff;font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center}.guide-steps b{font-size:15.5px}.guide-steps p{color:var(--ink-soft);font-size:14px;margin-top:2px}.guide-feats{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.gf{border:1.5px solid var(--line);border-radius:14px;padding:16px;background:#fbfcff}.gf-ico{font-size:24px;display:block;margin-bottom:6px}.gf b{font-size:15px}.gf p{font-size:13.5px;margin-top:4px}.gf p,.guide-tips{color:var(--ink-soft)}.guide-tips{margin:0;padding-left:20px;font-size:14.5px;line-height:1.9}.guide-nav{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 40px}.guide-nav .btn{flex:1 1;min-width:200px;text-align:center;text-decoration:none}@media (max-width:560px){.guide-feats{grid-template-columns:1fr}}.wiz-steps{display:flex;gap:8px;margin-bottom:16px}.wiz-step{flex:1 1;display:flex;align-items:center;justify-content:center;gap:7px;border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:11px 8px;font-size:14px;font-weight:700;font-family:inherit;color:var(--ink-soft);cursor:default;transition:all .15s}.wiz-step.done{cursor:pointer;color:var(--green);border-color:transparent;background:var(--green-soft)}.wiz-step.on{color:#fff;background:var(--primary);border-color:var(--primary);box-shadow:0 6px 16px rgba(79,109,245,.3)}.wiz-dot{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;background:#eef1fb;color:var(--ink-soft);flex-shrink:0}.wiz-step.on .wiz-dot{background:rgba(255,255,255,.25);color:#fff}.wiz-step.done .wiz-dot{background:var(--green);color:#fff}.wiz-nav{display:flex;gap:10px;margin-top:4px}.wiz-nav .btn{flex:1 1}.wiz-nav .btn-ghost{flex:0 0 auto;padding-left:26px;padding-right:26px}@media (max-width:520px){.wiz-step{font-size:12.5px;padding:9px 4px}}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;margin-bottom:18px}.card h2{font-size:19px;margin-bottom:4px}.card .hint{color:var(--ink-soft);font-size:13.5px;margin-bottom:14px}.field{margin-bottom:18px}.field:last-child{margin-bottom:0}.field label{display:block;font-weight:700;font-size:15px;margin-bottom:4px}.field .sub{font-size:13px;color:var(--ink-soft);margin-bottom:8px}input[type=text],textarea{width:100%;border:2px solid var(--line);border-radius:12px;padding:12px 14px;font-size:15px;font-family:inherit;color:var(--ink);background:#fbfcff;transition:border-color .15s}input[type=text]:focus,textarea:focus{outline:none;border-color:var(--primary);background:#fff}textarea{resize:vertical;min-height:80px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chip{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:6px 13px;font-size:13.5px;cursor:pointer;font-family:inherit;color:var(--ink);transition:all .12s}.chip.selected,.chip:hover{border-color:var(--primary);color:var(--primary)}.chip.selected{background:var(--primary-soft);font-weight:600}.chip.removable{background:var(--accent-soft);border-color:transparent;color:#c05f14;font-weight:600}.material-groups{margin-top:10px;max-height:320px;overflow-y:auto;padding:4px 6px 4px 2px;border:1.5px solid var(--line);border-radius:12px;background:#fbfcff}.material-group{margin-bottom:12px}.material-group:last-child{margin-bottom:2px}.material-group-label{font-size:12.5px;font-weight:700;color:var(--ink-soft);margin:6px 2px}.opt{font-size:12px;color:var(--ink-soft);font-weight:400}.eb-open{width:100%;border-style:dashed!important;color:var(--primary)!important;font-weight:700}.eb-modal{position:fixed;inset:0;z-index:1000;background:rgba(20,30,60,.5);display:none;padding:20px 14px;overflow-y:auto}.eb-modal.open{display:flex}.eb-modal-box{background:#fff;border-radius:20px;width:min(780px,100%);margin:auto;padding:0 20px 20px;box-shadow:0 24px 70px rgba(20,30,60,.4)}.eb-modal-head{position:-webkit-sticky;position:sticky;top:0;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:16px 0 12px;border-bottom:1.5px solid var(--line);margin-bottom:12px;z-index:2}.eb-modal-title{font-size:18px;font-weight:800;white-space:nowrap}.eb-done{width:auto!important;flex:0 0 auto;padding:10px 22px;font-size:15px}.eb-modal .eb-canvas{aspect-ratio:3/2}.eb-cats{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.eb-cat{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:6px 13px;font-size:13px;font-weight:600;font-family:inherit;color:var(--ink-soft);cursor:pointer;transition:all .12s}.eb-cat:hover{color:var(--primary)}.eb-cat.on,.eb-cat:hover{border-color:var(--primary)}.eb-cat.on{background:var(--primary);color:#fff}.eb-palette{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 12px}.eb-chip{display:flex;align-items:center;gap:5px;border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:5px 11px 5px 6px;font-size:13px;font-family:inherit;color:var(--ink);cursor:pointer;transition:all .12s}.eb-chip:hover{border-color:var(--primary);background:var(--primary-soft)}.eb-chip-ico{width:26px;height:30px;display:block;flex-shrink:0}.eb-chip-ico svg{width:100%;height:100%;display:block}.eb-custom-input{margin:0 0 10px!important}.eb-canvas{position:relative;width:100%;aspect-ratio:16/9;border:2px dashed var(--line);border-radius:16px;background:linear-gradient(180deg,#fbfdff,#eef3fb);overflow:hidden;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.eb-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#9fb0cc;font-size:15px;pointer-events:none}.eb-item{position:absolute;transform:translate(-50%,-50%);cursor:-webkit-grab;cursor:grab}.eb-item svg{width:100%;height:auto;display:block;pointer-events:none;filter:drop-shadow(0 3px 5px rgba(56,78,140,.18))}.eb-item.sel{outline:2.5px solid var(--primary);outline-offset:4px;border-radius:8px;cursor:-webkit-grabbing;cursor:grabbing}.eb-customcard{background:#fff;border:2px solid var(--accent);color:#9a5312;border-radius:12px;padding:8px 12px;font-weight:700;text-align:center;white-space:nowrap;box-shadow:0 3px 8px rgba(56,78,140,.15)}.eb-customcard:before{content:"✨ "}.eb-del{position:absolute;top:-12px;right:-12px;width:24px;height:24px;border-radius:50%;border:none;background:var(--red);color:#fff;font-size:12px;font-weight:800;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.2)}.eb-tools{display:flex;align-items:center;gap:7px;margin-top:10px;flex-wrap:wrap}.eb-hint{font-size:12.5px;color:var(--ink-soft)}.btn{border:none;border-radius:14px;padding:14px 24px;font-size:16px;font-weight:700;font-family:inherit;cursor:pointer;transition:transform .1s,opacity .15s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#5a78ff,#4f6df5);color:#fff;box-shadow:0 6px 16px rgba(79,109,245,.35);width:100%}.btn-accent{background:linear-gradient(135deg,#ff9d52,#ff8a3d);color:#fff;box-shadow:0 6px 16px rgba(255,138,61,.35);width:100%}.btn-ghost{background:#fff;border:2px solid var(--line);color:var(--ink-soft)}.btn-row{display:flex;gap:10px;margin-top:8px}.btn-row .btn{flex:1 1}.sim-header{text-align:center;padding:8px 0 4px}.sim-header .big-emoji{font-size:52px;display:block;margin-bottom:6px}.sim-header h2{font-size:22px}.ai-label{background:linear-gradient(135deg,#fff6e6,#fff1e6);border:2px dashed #ffc99a;color:#9a5312}.ai-label,.assumptions{border-radius:12px;padding:12px 16px;font-size:13.5px;margin-top:14px}.assumptions{background:var(--primary-soft);color:#3b55c9}.timeline{margin-top:10px}.tstep{display:flex;gap:14px;padding:14px 0;border-bottom:1.5px dashed var(--line);animation:rise .5s ease both}.tstep:last-child{border-bottom:none}.tstep .scene{font-size:28px;flex-shrink:0;width:72px;text-align:center;line-height:1.3}.tstep .time{display:inline-block;background:var(--accent-soft);color:#c05f14;font-size:12px;font-weight:700;border-radius:999px;padding:2px 10px;margin-bottom:4px}.tstep h3{font-size:15.5px;margin-bottom:2px}.tstep p{font-size:14.5px;color:var(--ink-soft)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.waiting-dots{text-align:center;color:var(--ink-soft);font-size:14px;padding:10px 0}.table-wrap{overflow-x:auto;margin-top:12px}table{width:100%;border-collapse:collapse;font-size:14px}th{background:var(--primary-soft);color:#3b55c9;padding:10px 12px;text-align:left;font-size:13px}th:first-child{border-radius:10px 0 0 10px}th:last-child{border-radius:0 10px 10px 0}td{padding:10px 12px;border-bottom:1.5px solid var(--line)}.chart-box{margin-top:14px}.chart-title{font-size:14px;font-weight:700;margin-bottom:8px}.bar-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.bar-label{width:110px;font-size:13px;text-align:right;flex-shrink:0;color:var(--ink-soft)}.bar-track{flex:1 1;background:#eef1fb;border-radius:8px;height:26px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,#7c96ff,#4f6df5);border-radius:8px;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;color:#fff;font-size:12px;font-weight:700;min-width:30px;animation:grow .8s ease both}@keyframes grow{0%{width:0!important}}.block{border-radius:14px;padding:16px 18px;margin-top:14px;font-size:14.5px}.block b.blabel{display:block;font-size:13px;margin-bottom:4px}.block-result{background:var(--green-soft);color:#15734f}.block-explain{background:var(--primary-soft);color:#33478f}.block-safety{background:var(--red-soft);color:#a63631}.block-predict{background:var(--accent-soft);color:#9a5312}.concepts{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.concept-tag{background:#fff;border:2px solid var(--primary-soft);color:var(--primary);font-weight:700;font-size:13px;border-radius:999px;padding:5px 14px}.feedback-box{background:linear-gradient(135deg,#f0edff,#e8edff);border-radius:14px;padding:18px;margin-top:14px;font-size:14.5px}.feedback-box .q{margin-top:10px;background:#fff;border-radius:10px;padding:12px 14px;font-weight:600;color:var(--primary)}.next-q{display:block;width:100%;text-align:left;background:#fff;border:2px solid var(--line);border-radius:12px;padding:12px 16px;font-size:14.5px;font-family:inherit;color:var(--ink);cursor:pointer;margin-top:8px;transition:all .12s}.next-q:hover{border-color:var(--accent);background:var(--accent-soft)}.draw-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.color-dot{width:26px;height:26px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1.5px var(--line);cursor:pointer;padding:0}.color-dot.on{box-shadow:0 0 0 3px var(--primary);transform:scale(1.1)}.tool-sep{width:1.5px;height:22px;background:var(--line);margin:0 2px}.draw-canvas{width:100%;aspect-ratio:4/3;border:2px solid var(--line);border-radius:14px;background:#fff;touch-action:none;cursor:crosshair;display:block}.before-after{display:flex;align-items:center;gap:10px;margin-top:16px}.before-after figure{flex:1 1;text-align:center;min-width:0}.before-after img{width:100%;border-radius:12px;border:2px solid var(--line);display:block}.before-after figcaption{font-size:13px;font-weight:700;color:var(--ink-soft);margin-top:6px}.before-after .arrow{font-size:22px;flex-shrink:0}.sim-photo{margin-top:14px;text-align:center}.sim-photo img{max-width:min(420px,100%);border-radius:14px;border:2px solid var(--line)}.sim-photo figcaption{font-size:13px;color:var(--ink-soft);margin-top:6px}@media (max-width:520px){.before-after{flex-direction:column}.before-after .arrow{transform:rotate(90deg)}}.note-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:2px solid var(--line);border-radius:14px;padding:14px 16px;font-family:inherit;cursor:pointer;margin-bottom:10px;transition:border-color .12s}.note-item:hover{border-color:var(--primary)}.note-item .emoji{font-size:26px}.note-item .t{font-weight:700;font-size:15px;color:var(--ink)}.note-item .d{font-size:12.5px;color:var(--ink-soft)}.note-del{margin-left:auto;border:none;background:none;color:#c3cbdd;font-size:16px;cursor:pointer;padding:4px}.note-del:hover{color:var(--red)}.coach-container{max-width:1100px}.coach-grid{display:grid;grid-template-columns:1fr 340px;grid-gap:18px;gap:18px;align-items:start}.chat-card{display:flex;flex-direction:column;min-height:60vh}.chat-scroll{flex:1 1;overflow-y:auto;max-height:58vh;padding:4px 4px 12px;margin-bottom:12px}.bubble{max-width:85%;border-radius:16px;padding:11px 15px;font-size:14.5px;margin-bottom:10px;white-space:pre-wrap}.bubble .who{display:block;font-size:11.5px;font-weight:700;color:var(--primary);margin-bottom:3px}.bubble.coach{background:var(--primary-soft);border-bottom-left-radius:4px}.bubble.mine{background:var(--accent-soft);margin-left:auto;border-bottom-right-radius:4px}.chat-input-row{display:flex;gap:8px}.chat-input-row input{flex:1 1}.send-btn{width:auto;padding:12px 20px;flex-shrink:0}.done-box{color:#15734f;border-radius:14px;padding:16px 18px;font-size:14.5px;font-weight:600}.done-box,.finish-chip{background:var(--green-soft)}.finish-chip{display:block;margin:0 0 10px auto;border-color:transparent;color:var(--green);font-weight:700}.undo-btn{display:inline-block;margin:0 0 10px;border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;font-family:inherit;color:var(--ink-soft);cursor:pointer}.undo-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.undo-btn:disabled{opacity:.5;cursor:not-allowed}.done-box .concept-q{margin-top:10px;background:#fff;border-radius:10px;padding:12px 14px;font-weight:500;color:var(--ink)}.note-panel{position:-webkit-sticky;position:sticky;top:16px}.method-badge{font-size:12.5px;font-weight:700;background:var(--primary-soft);color:var(--primary);border-radius:999px;padding:3px 11px;margin-left:8px;vertical-align:middle}.stepper{list-style:none;display:flex;gap:2px;margin:6px 0 14px;padding:0}.stepper .stp{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:4px;position:relative}.stepper .stp:before{content:"";position:absolute;top:11px;left:-50%;width:100%;height:2px;background:var(--line);z-index:0}.stepper .stp:first-child:before{display:none}.stepper .stp.active:before,.stepper .stp.done:before{background:var(--primary)}.stepper .dot{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;background:#fff;border:2px solid var(--line);color:var(--ink-soft);position:relative;z-index:1}.stepper .stp.done .dot{background:var(--primary);border-color:var(--primary);color:#fff}.stepper .stp.active .dot{border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.stepper .stp-label{font-size:10.5px;color:var(--ink-soft)}.stepper .stp.active .stp-label{color:var(--primary);font-weight:700}.note-field{border:1.5px solid var(--line);border-radius:12px;padding:9px 12px;margin-top:8px;background:#fbfcff;transition:all .2s}.note-field.focused{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-soft)}.nf-label{font-size:12px;font-weight:700;color:var(--ink-soft);display:flex;align-items:baseline;flex-wrap:wrap;gap:5px}.nf-hint{font-size:11.5px;font-weight:400;color:#94a1bb;margin-top:1px}.nf-now{font-size:10.5px;font-weight:800;color:#fff;background:var(--accent);border-radius:999px;padding:1px 8px;margin-left:auto}.note-more{font-size:12px;color:var(--ink-soft);text-align:center;margin-top:10px}.note-intro{font-size:12.5px;color:var(--ink-soft);background:var(--primary-soft);border-radius:10px;padding:8px 12px;margin:4px 0 10px;line-height:1.5}.note-intro b{color:var(--primary)}.nf-value{font-size:13.5px;white-space:pre-wrap}.note-field:not(.filled) .nf-value{color:#b6c0d6;font-size:12.5px}.print-only{display:none}@media print{.no-print{display:none!important}.print-only{display:block}body{background:#fff}.coach-grid{grid-template-columns:1fr}.note-panel{position:static;box-shadow:none}}@media (max-width:860px){.coach-grid{grid-template-columns:1fr}.note-panel{position:static;order:2}}.loading-card{text-align:center;padding:48px 24px}.loading-card .spin-emoji{font-size:54px;display:inline-block;animation:bounce 1s ease infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.loading-card p{margin-top:12px;color:var(--ink-soft);font-size:15px}.error-box{background:var(--red-soft);color:#a63631;border-radius:12px;padding:14px 16px;font-size:14px;margin-bottom:14px}.link-btn{background:none;border:none;color:var(--primary);font-weight:700;font-size:14px;cursor:pointer;font-family:inherit;text-decoration:underline}@media (max-width:520px){.card{padding:18px}.header h1{font-size:24px}.bar-label{width:80px}}