:root{--green:#247e63;--dark:#183c32;--mint:#e9f5ef;--blue:#2266be;--text:#263b36;--muted:#6d7e77;--line:#e3ebe6;--bg:#f7f9f6}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;background:#edf2ee;color:var(--text);font-size:14px;line-height:1.7}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #edb762;outline-offset:3px}.shell{max-width:480px;margin:auto;background:var(--bg);min-height:100dvh;box-shadow:0 0 70px #243e3312}.header{display:flex;align-items:center;justify-content:space-between;padding:22px 22px 18px;background:#fff}.brand{display:flex;gap:10px;align-items:center;color:var(--dark);text-decoration:none;font-size:19px;font-weight:750;letter-spacing:-.5px}.brand small{display:block;font-size:10px;color:var(--muted);letter-spacing:0;font-weight:500}.logo{position:relative;background:var(--green);color:#fff;border-radius:12px;display:grid;place-items:center;font-size:28px;width:40px;height:40px}.logo i{position:absolute;font-size:12px;right:-4px;top:-9px;color:var(--green);font-style:normal}.icon-button{border:0;background:none;font-size:23px;color:var(--muted);padding:8px}.demo-strip{text-align:center;padding:5px;background:#f0f2eb;color:#74816b;font-size:10px;letter-spacing:.08em}main{padding:22px 20px 110px}h1{font-size:25px;line-height:1.5;letter-spacing:-.7px;margin:5px 0 10px}h2{font-size:18px;line-height:1.6;margin:0}h3{font-size:15px;margin:5px 0}.muted,small{color:var(--muted)}.muted{font-size:12px}.eyebrow{font-size:10px;color:var(--green);font-weight:700;letter-spacing:.13em}.hero{background:linear-gradient(135deg,#edf8f0,#f4f8e9);padding:24px;border:1px solid #dce9dc;border-radius:22px;position:relative;overflow:hidden}.hero .leaf{position:absolute;right:18px;top:15px;font-size:34px;opacity:.3}.hero h1{font-size:23px}.hero p{font-size:12px;max-width:255px;margin:10px 0 20px;color:#627a69}.stats{display:grid;grid-template-columns:1fr 1fr;background:#ffffffc9;border-radius:13px;padding:16px 10px;text-align:center}.stats>div+div{border-left:1px solid #dde7df}.stats small{display:block;font-size:10px}.stats strong{font-size:32px;color:var(--green);font-weight:650}.stats strong em{font-size:13px;font-style:normal;margin-left:5px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:27px 0 12px}.text-button{border:0;background:none;padding:5px;color:var(--green);font-size:12px}.recommend{display:block;text-align:left;width:100%;border:1px solid var(--line);border-radius:17px;background:#fff;padding:19px;margin-bottom:12px;box-shadow:0 4px 12px #16382903;color:inherit;transition:transform .15s}.recommend:hover{transform:translateY(-2px);border-color:#a4c9b7}.card-top{display:flex;align-items:center;gap:12px}.benefit-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:13px;background:#eef5ec;font-size:26px;flex-shrink:0}.education .benefit-icon{background:#edf2fa}.housing .benefit-icon{background:#faf1e6}.tag{color:var(--green);font-size:10px;background:var(--mint);padding:3px 8px;border-radius:5px;font-weight:600}.education .tag{background:#ebf1fa;color:#4775a4}.housing .tag{background:#fff0de;color:#9b702c}.card-top h3{font-size:15px;line-height:1.5;margin:4px 0}.recommend p{font-size:11px;color:var(--muted);margin:12px 0}.card-bottom{border-top:1px solid #eef2ee;padding-top:12px;display:flex;align-items:center;justify-content:space-between}.card-bottom strong{font-size:13px;color:var(--dark)}.arrow{font-size:17px;color:var(--green)}.events{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.event{text-align:center;padding:17px 6px;background:white;border:1px solid var(--line);border-radius:14px}.event b{display:block;font-size:27px;font-weight:400}.event strong{display:block;font-size:11px;margin-top:7px}.event small{font-size:9px}.footnote{font-size:10px;color:var(--muted);margin-top:18px}.bottom{position:fixed;bottom:0;width:min(480px,100%);display:grid;grid-template-columns:repeat(4,1fr);background:#fffffff5;border-top:1px solid var(--line);padding:8px 8px calc(9px + env(safe-area-inset-bottom));z-index:10;backdrop-filter:blur(12px)}.bottom button{border:0;background:none;font-size:24px;color:#829087;line-height:1.3;padding:4px}.bottom span{display:block;font-size:10px;padding-top:4px}.bottom button.active{color:var(--green);font-weight:700}.panel{background:#fff;border:1px solid var(--line);border-radius:17px;padding:20px;margin:13px 0}.primary,.secondary{display:block;width:100%;padding:13px 15px;border:1px solid var(--green);border-radius:11px;margin-top:10px;font-weight:600;text-align:center;text-decoration:none}.primary{background:var(--green);color:#fff}.secondary{background:#fff;color:var(--green)}button:disabled{opacity:.4;cursor:not-allowed}.back{background:none;border:0;padding:0 0 15px;color:var(--green);font-size:12px}.chips{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.chips button{border:1px solid var(--line);border-radius:30px;padding:6px 12px;background:#fff;color:var(--muted);font-size:12px}.chips button.active{background:var(--green);color:#fff}.list-item{padding:15px 0;border-bottom:1px solid var(--line)}.list-item a{font-size:13px}.list-item small{display:block;font-size:10px}input,select{width:100%;padding:11px;border:1px solid #cfdcd3;border-radius:8px;background:white;color:var(--text);margin-top:6px}label.field{display:block;font-size:12px;margin:15px 0}label.check{display:flex;align-items:flex-start;gap:10px;font-size:12px;margin:14px 0}input[type=checkbox]{width:19px;height:19px;margin:2px 0;accent-color:var(--green);flex-shrink:0}.chat-heading{position:sticky;top:0;background:var(--bg);z-index:2;padding:0 0 15px}.chat-heading h1{font-size:20px}.progress{height:4px;background:#e0e9e2;border-radius:4px;margin:10px 0}.progress i{display:block;height:4px;background:var(--green);border-radius:4px}.chat-line{display:flex;gap:8px;margin:16px 0;align-items:flex-start}.avatar{border-radius:10px;background:var(--green);color:white;padding:3px 7px;font-size:15px}.bubble{background:#fff;border:1px solid var(--line);border-radius:0 14px 14px;padding:14px;max-width:90%;font-size:13px}.chat-line.user{justify-content:flex-end}.user .bubble{background:#e3f1e8;border:0;border-radius:14px 0 14px 14px;white-space:pre-line}.prompt-card{background:#fff;border:1px solid #d5e3db;border-radius:17px;padding:20px;margin-top:14px}.prompt-card h2{font-size:17px}.info{background:#eef4fa;border-radius:9px;padding:12px;font-size:12px;color:#4a6887}.alert{background:#fff3df;color:#8b6535;border-radius:9px;padding:12px;font-size:12px}.success{background:var(--mint);color:var(--green);padding:14px;border-radius:10px;font-size:13px}.doc{border-bottom:1px solid var(--line);padding:13px 0}.doc strong{font-size:12px;display:block}.doc small{font-size:10px}.doc .actions{display:flex;gap:7px;margin-top:9px}.doc button,.file-label{font-size:11px;background:#f3f7f4;border:1px solid var(--line);padding:6px 9px;border-radius:7px;color:var(--green);cursor:pointer}.file-label input{display:none}.draft{white-space:pre-wrap;font:12px/1.9 inherit;padding:14px;background:#f7f9f6;border-radius:9px;overflow-wrap:anywhere}.source-status{color:var(--green);font-size:11px}.search-count{font-size:11px;color:var(--muted)}#toast{position:fixed;bottom:94px;left:50%;transform:translateX(-50%);background:#203c32;color:white;border-radius:10px;padding:12px 20px;font-size:12px;max-width:90vw;opacity:0;pointer-events:none;transition:opacity .2s;z-index:20}#toast.show{opacity:1}.loading{text-align:center;padding:60px 0}.empty{text-align:center;padding:30px 8px;color:var(--muted)}@media(min-width:700px){.shell{margin:25px auto;border-radius:24px 24px 0 0;overflow:clip;min-height:calc(100vh - 25px)}.header{padding-top:27px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.file-label input{display:block;position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;padding:0;border:0}.file-label:focus-within{outline:2px solid var(--green)}.prompt-card{scroll-margin-top:160px}.draft{font-family:inherit;font-size:12px;line-height:1.9}
