:root{color:#1a1f36;background:#f4f6fb;font-family:Noto Sans JP,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-height:100vh;margin:0}.shell{max-width:720px;margin:0 auto;padding:20px 16px 32px}.header,.option,.empty-card,.footer{background:#fff;border:1px solid #e3e8f3;border-radius:18px}.header{justify-content:space-between;align-items:center;margin-bottom:12px;padding:16px 18px;display:flex}.brand{align-items:center;gap:12px;display:flex}.logo{color:#fff;background:#3b5bfd;border-radius:14px;place-items:center;width:44px;height:44px;font-size:13px;font-weight:800;display:grid}.header h1{margin:0;font-size:22px}.header p{color:#5c647a;margin:2px 0 0;font-size:13px}.badge{color:#3b5bfd;background:#eef1ff;border-radius:18px;place-items:center;min-width:36px;height:36px;padding:0 10px;font-weight:700;display:grid}.option{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:14px 16px;display:flex}.option strong{font-size:14px;display:block}.option span{color:#5c647a;margin-top:2px;font-size:12px;display:block}.switch{flex-shrink:0;width:48px;height:28px;position:relative}.switch input{opacity:0;width:0;height:0}.switch span{background:#e3e8f3;border-radius:999px;transition:all .2s;position:absolute;inset:0}.switch span:before{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:all .2s;position:absolute;top:3px;left:3px}.switch input:checked+span{background:#a9b8ff}.switch input:checked+span:before{background:#3b5bfd;transform:translate(20px)}.empty-card{text-align:center;padding:32px 24px}.illus{margin-bottom:16px;font-size:28px}.empty-card h2{margin:0 0 10px}.empty-card p{color:#5c647a;margin:0}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.card{background:#fff;border:1px solid #e3e8f3;border-radius:18px;overflow:hidden}.thumb-wrap{aspect-ratio:1;background:#eef1f7;position:relative}.thumb-wrap img{object-fit:cover;width:100%;height:100%;display:block}.page{color:#fff;background:#1a1f36b8;border-radius:13px;place-items:center;min-width:26px;height:26px;padding:0 8px;font-size:12px;font-weight:700;display:grid;position:absolute;top:8px;left:8px}.actions{gap:8px;padding:10px 8px;display:flex}.actions button{color:#3b5bfd;cursor:pointer;background:#eef1ff;border:none;border-radius:10px;flex:1;height:34px;font-weight:700}.actions button:disabled{opacity:.35;cursor:not-allowed}.actions button.danger{color:#c03958;background:#ffe8ec;font-size:12px}.footer{padding:14px 16px 16px}.row{gap:10px;margin-bottom:10px;display:flex}.btn{cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.btn.primary{color:#fff;background:#3b5bfd}.btn.ghost{color:#1a1f36;background:#fff;border:1px solid #cfd7ea}.btn.wide{width:100%;height:52px;font-size:15px}.pick{flex:1;height:44px;padding:0 16px}.hint,.credit{text-align:center;color:#5c647a;font-size:12px}.hint{margin:10px 0 0}.credit{margin-top:18px}.credit a{color:#3b5bfd}.overlay{background:#1a1f3659;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.loading{text-align:center;background:#fff;border-radius:20px;width:min(100%,280px);padding:28px 24px}.spinner{border:3px solid #e3e8f3;border-top-color:#3b5bfd;border-radius:50%;width:36px;height:36px;margin:0 auto 12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toast{color:#145c42;background:#e6f7f1;border:1px solid #b8ead8;border-radius:14px;padding:12px 16px;font-size:14px;font-weight:600;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000014}@media (width<=520px){.grid{grid-template-columns:1fr}}
