:root{font-family:Arial,'Noto Sans KR',sans-serif;color:#173d39;background:#f5f7f4;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:1200px;margin:auto}header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 28px}a{color:inherit;text-decoration:none}header>a:last-child{font-size:13px;color:#56716b}.brand{font-size:21px;font-weight:800;display:flex;align-items:center;gap:10px}.brand small{font-size:10px;letter-spacing:1.5px;color:#81948d}.logo{background:#24665a;color:white;border-radius:12px;padding:7px 10px}main{padding:0 28px}.hero{background:#e5eee6;border-radius:28px;min-height:360px;padding:48px;display:grid;grid-template-columns:1.5fr 1fr;overflow:hidden;position:relative}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1px;color:#528375}h1{font-size:42px;line-height:1.35;letter-spacing:-2px;margin:17px 0}h2{font-size:21px;letter-spacing:-.6px;margin:8px 0 16px}h3{font-size:18px}p{color:#698078;font-size:14px;line-height:1.8}.pills{display:flex;gap:10px;margin-top:26px}.pills span{font-size:11px;padding:8px 12px;border:1px solid #c4d6c9;border-radius:30px}.hero-art{display:flex;align-items:center;justify-content:center;position:relative}.orbit{width:225px;height:225px;border-radius:50%;border:1px solid #b3cbbd;outline:22px solid #dbe8de;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:11px;letter-spacing:3px;color:#557d69}.orbit strong{font-size:96px;line-height:1.15;font-weight:500;letter-spacing:-6px}.art-card{position:absolute;right:-12px;bottom:0;background:#fffef5;padding:20px 24px;border-radius:15px;box-shadow:0 12px 40px #46654d12;font-size:13px;line-height:1.9;transform:rotate(-5deg)}.panel{padding:28px;background:#fff;border:1px solid #e4eae5;border-radius:20px;margin-top:22px}.connect{display:flex;justify-content:space-between;align-items:center;gap:20px}.connect h2{margin-bottom:5px}.connect p{margin:0;max-width:390px;font-size:12px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}button,.button{font:inherit;font-size:13px;border:0;border-radius:9px;padding:13px 17px;cursor:pointer;display:inline-block;transition:background .15s}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:#24665a;color:white}.kakao{background:#fee500;color:#342f0b}.secondary{background:white;border:1px solid #d8e1da;color:#39584c}.text-button{background:transparent;color:#657b70;font-size:12px}.empty{text-align:center;padding:55px}.empty h2{line-height:1.6}.empty-icon{font-size:46px;color:#579482}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}label{font-size:13px;color:#536c60}input:not([type=checkbox]),textarea,select{display:block;font:inherit;border:1px solid #d5dfd7;border-radius:8px;padding:12px;width:100%;margin-top:8px;background:#fafcf9;color:#234439}.consent{display:flex;gap:8px;align-items:flex-start;margin:22px 0;line-height:1.7}#notice:not(:empty){padding:15px 20px;background:#fff3d4;color:#6b5121;margin-top:20px;border-radius:12px;font-size:14px}.result-heading,.section-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.result-heading{margin-top:38px}.badge{display:inline-block;background:#e5eee6;font-size:11px;padding:6px 10px;border-radius:6px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:15px}.stat{padding:24px;background:#eaf0e9;border-radius:16px}.stat span{font-size:12px;color:#65806f}.stat strong{display:block;font-size:28px;margin-top:12px}.calendar{display:grid;grid-template-columns:repeat(10,1fr);gap:8px;margin:25px 0}.year{background:#f5f7f5;text-align:center;border-radius:12px;padding:17px 4px;font-size:12px;color:#89938d}.year strong{display:block;font-size:15px;margin-bottom:12px;color:#66776b}.year.found{background:#e2f0e8;color:#2b6b54}.year.found strong{color:#2b6b54}.caption{font-size:12px;color:#79897e}.detail-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}.section-heading select{max-width:190px}.section-heading>span{font-size:12px;color:#718779}#chart svg{width:100%;height:auto;display:block}.chart-line{stroke:#3c8b70;stroke-width:3;fill:none}.chart-dot{fill:#3c8b70;stroke:white;stroke-width:3}.chart-label{fill:#6d8175;font-size:11px}.chart-grid{stroke:#e8eee9}.table-wrap{max-height:210px;overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;padding:12px;border-bottom:1px solid #edf1ed}th{color:#728177;font-weight:400}.consultation{background:#f1f5ec}#questions{padding-left:20px}#questions li{font-size:13px;line-height:1.9;margin-bottom:20px}details{border-top:1px solid #e6ece5;padding:18px 0}summary{cursor:pointer;font-size:14px;line-height:1.8}footer{padding:35px 28px;display:flex;justify-content:space-between;font-size:11px;color:#85968b}[hidden]{display:none!important}:focus-visible{outline:3px solid #78b49b;outline-offset:3px}@media(max-width:850px){.connect{align-items:flex-start;flex-direction:column}.hero{padding:35px;grid-template-columns:1.7fr 1fr}.hero-art{transform:scale(.8)}h1{font-size:34px}.detail-grid{grid-template-columns:1fr}.calendar{grid-template-columns:repeat(5,1fr)}}@media(max-width:540px){header,main{padding-left:16px;padding-right:16px}header{height:75px}.brand small{display:none}.brand{font-size:18px}.hero{padding:30px 24px;display:block;min-height:0}.hero-art{display:none}h1{font-size:30px}.pills{gap:6px}.pills span{padding:7px;font-size:10px}.panel{padding:22px}.actions{gap:8px}.stats{gap:8px}.stat{padding:16px 10px}.stat strong{font-size:20px}.form-grid{grid-template-columns:1fr}.result-heading{align-items:flex-start}.section-heading{align-items:flex-start}.section-heading h2{font-size:18px}.section-heading select{max-width:145px}.calendar{gap:5px}.year{font-size:10px}.empty{padding:35px 20px}footer{gap:20px}}

#login-form button{margin-top:18px}.subject-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #e4eae5;padding:18px 0}.subject-row p{margin:5px 0;font-size:12px}#snapshots{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}#save-memo{margin-top:12px}#history{padding-top:22px}@media(max-width:540px){.subject-row{align-items:flex-start;flex-direction:column}}

@media(max-width:540px){header{height:auto;min-height:75px;flex-wrap:wrap;gap:10px;padding-top:12px;padding-bottom:12px}#close-session{font-size:12px;padding:10px}}
