*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:#f4f6f3;color:#1d302a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;line-height:1.65}a{color:inherit}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #478b72;outline-offset:4px}button{cursor:pointer}button:active{transform:translateY(1px)}.shell{max-width:1100px;margin:auto;padding:0 36px}.topbar{min-height:108px;border-bottom:1px solid #dce3dc;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:18px;letter-spacing:.16em;font-weight:800;text-decoration:none;display:inline-flex;flex-direction:column;line-height:1.5}.brand span{font-weight:500;font-size:11px;letter-spacing:.08em;color:#64766b}.topbar nav{display:flex;align-items:center;gap:24px;font-size:13px}.topbar nav a{text-decoration:none}.topbar nav form{margin:0}.quiet{border:1px solid #cbd7cd;background:transparent;color:#334d40;border-radius:8px;padding:8px 14px}.intro{padding:64px 0 34px}.eyebrow{color:#597665;font-size:11px;font-weight:700;letter-spacing:.17em}h1{font-size:clamp(27px,3.5vw,39px);letter-spacing:.015em;line-height:1.5;margin:13px 0 15px;font-weight:700}.muted{color:#66766c;font-size:14px;overflow-wrap:anywhere}.app-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.app-card{position:relative;display:flex;align-items:flex-start;gap:22px;min-height:192px;padding:30px 34px 30px 26px;border:1px solid #dce4dc;border-radius:17px;background:#fff;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}.app-card:hover{border-color:#8aa894;box-shadow:0 7px 24px #21442b0b;transform:translateY(-2px)}.app-icon{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;font-size:23px}.green{background:#e5f1e9;color:#315d42}.blue{background:#e8eff8;color:#45668d}.amber{background:#faf0db;color:#8c6a2d}.purple{background:#eeebf8;color:#73618f}.app-card h2{font-size:18px;margin:4px 0 12px;padding-right:15px}.app-card p{font-size:13px;color:#6c7970;line-height:1.85;margin:0;max-width:240px}.arrow{position:absolute;right:20px;top:23px;color:#819384;font-size:19px}.footer{margin:50px 0 32px;font-size:12px;color:#7d8a80}.auth-layout{width:min(100% - 40px,460px);margin:7vh auto 40px}.auth-layout>.brand{margin-bottom:28px}.auth-card{padding:35px;background:#fff;border:1px solid #dce4dc;border-radius:19px;box-shadow:0 10px 40px #29462d05}.auth-card h1{font-size:28px;margin:10px 0}.auth-card label{display:block;font-size:13px;font-weight:650;margin:22px 0 7px}.label-note{font-size:10px;font-weight:400;display:block}.auth-card input{width:100%;min-height:48px;border:1px solid #cbd6cd;border-radius:9px;padding:10px 12px;background:#fcfdfb;color:#20352a}.primary{width:100%;border:0;background:#254d3b;color:#fff;padding:13px 16px;margin-top:28px;border-radius:9px;font-weight:650}.primary:hover{background:#1b3c2d}.footnote{font-size:12px;color:#738177;margin:14px 0 0;line-height:1.8}.auth-footer{text-align:center;font-size:11px;color:#7d8a80;margin-top:24px}.notice{font-size:13px;padding:12px 14px;border-radius:8px;overflow-wrap:anywhere}.error{color:#9a3232;background:#fff0ee;border:1px solid #f2d7d2}.success{color:#26583d;background:#eaf5ec;border:1px solid #c9dfcd}.back{display:inline-block;font-size:12px;text-decoration:none;color:#597665;margin-bottom:14px}@media(max-width:680px){.shell{padding:0 20px}.topbar{min-height:95px;gap:15px}.topbar nav{gap:12px;font-size:11px}.brand{font-size:15px}.quiet{padding:7px 9px}.intro{padding:40px 0 25px}.app-grid{grid-template-columns:1fr;gap:14px}.app-card{min-height:145px;padding:24px 32px 24px 20px;gap:18px}.app-card h2{font-size:17px}.app-card p{max-width:none}.footer{margin-top:30px}.auth-layout{margin-top:35px}.auth-card{padding:27px 23px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
