:root{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif;color:#1e3436;background:#f4f5ef;font-size:16px;line-height:1.7;font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}header{padding:24px max(24px,calc((100vw - 1160px)/2));background:#fff;border-bottom:1px solid #d7dfd8}.brand{font-size:22px;font-weight:750;letter-spacing:-.6px;color:#183e3d;text-decoration:none}.brand span{display:inline-block;font-size:10px;letter-spacing:2px;margin-left:12px;color:#536e64}.tagline{font-size:12px;color:#596e68;margin-top:3px}main{max-width:1208px;margin:auto;padding:28px 24px 72px}h1{font-size:34px;line-height:1.45;margin:12px 0}h2{font-size:25px;line-height:1.55;margin:0 0 16px}h3{font-size:17px;margin:0 0 12px}p{margin:12px 0;overflow-wrap:anywhere}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#4b7562}.narrow{max-width:540px;margin:24px auto}.card{background:#fff;border:1px solid #d9e1d8;border-radius:18px;padding:28px;min-width:0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.project-heading,.row{display:flex;justify-content:space-between;align-items:center;gap:16px}.project-heading h1{font-size:29px}.badge{font-size:12px;padding:4px 10px;border-radius:8px;display:inline-block;background:#e8eee3;color:#344e3d;overflow-wrap:anywhere}nav{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}button{font:inherit;line-height:1.5;border:1px solid transparent;border-radius:10px;padding:12px 18px;background:#1f5550;color:white;cursor:pointer;font-weight:600;min-height:44px}button:hover{background:#17443f}button:disabled{opacity:.55;cursor:wait}button.secondary,nav button{color:#244942;background:#fff;border-color:#ccd8cf}nav button[aria-current=page]{color:white;background:#24584f}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #b87c2e;outline-offset:3px}.hero{padding:40px;border-radius:20px;background:#e3ead9;position:relative;overflow:hidden}.hero h2{font-size:36px;margin-top:14px}.hero p{color:#42564a}.hero button{margin-top:10px}label{display:block;font-size:14px;font-weight:600;margin:16px 0}input,textarea,select{font:inherit;color:#233b34;width:100%;padding:12px;border:1px solid #abbfb3;border-radius:8px;display:block;margin-top:7px;background:#fff;min-width:0}textarea{resize:vertical}input[type=checkbox]{width:20px;margin:0}.check{display:flex;align-items:flex-start;gap:10px}form{margin-bottom:20px}form button{margin:4px 6px 0 0}.small{font-size:12px;color:#586c62}.muted{color:#5c6d62}details{margin-top:20px}summary{cursor:pointer;padding:12px 0}.banner{padding:14px;background:#fff2d9;border-radius:10px;color:#684818;font-size:14px}.message{padding:18px;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere;margin:14px 0;max-width:95%}.message.user{background:#edf1e7;margin-left:auto}.message.assistant{background:#f5f5f1;border:1px solid #d9e1d8}.context-row{padding:22px 0;border-bottom:1px solid #d9e1d8}.context-row p{white-space:pre-wrap}.brief-section{padding:22px 0;border-bottom:1px solid #d9e1d8}li{overflow-wrap:anywhere;margin-bottom:8px}ul{padding-left:20px}#notice:not(:empty){padding:14px 18px;border:1px solid #b0c2a6;background:#f0f5e6;border-radius:10px;margin-bottom:20px}footer{padding:24px;text-align:center;font-size:12px;color:#596e68}#view-context>.card{margin-top:24px}@media(min-width:1000px){.hero{background:linear-gradient(110deg,#e3ead9 65%,#c7d7c6 65%)}.hero:after{content:'↗';position:absolute;right:12%;top:12%;font-size:150px;font-weight:200;color:#416953;pointer-events:none}}@media(max-width:600px){header{padding:18px 20px}.brand{font-size:20px}.brand span{margin-left:6px;font-size:9px}main{padding:20px 16px 48px}h1{font-size:29px}.project-heading{align-items:flex-start;flex-direction:column;gap:0}.project-heading h1{font-size:25px}.grid{grid-template-columns:1fr;gap:14px}.card{padding:22px;border-radius:14px}.hero{padding:28px 24px}.hero h2{font-size:29px}nav{gap:7px}nav button{padding:10px 13px;font-size:14px}.row{align-items:flex-start;flex-direction:column}.narrow{margin:12px auto}.message{max-width:100%;font-size:14px}}
