:root{font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif;color:#263d38;background:#f7f8f4;font-size:15px;line-height:1.7}*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:1120px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e0e6df}a{color:inherit;text-decoration:none}nav{display:flex;gap:22px;align-items:center}.logo{font-size:25px;font-weight:800}.logo span{font-size:10px;display:block;letter-spacing:2px;color:#6b8077}main{min-height:70vh}h1{font-size:clamp(30px,5vw,64px);line-height:1.25;letter-spacing:-1px;margin:20px 0}h2{font-size:24px;margin:30px 0 16px}h3{margin:0 0 8px}.eyebrow{color:#53836a;font-weight:700}.lead{font-size:20px;color:#597068}.fine{font-size:12px;color:#718078}button,.button{font:inherit;border:1px solid #d3ddd4;background:white;padding:9px 16px;border-radius:7px;cursor:pointer;display:inline-block}button:hover,.button:hover{background:#edf3eb}button:disabled{opacity:.5;cursor:wait}.primary,.button{background:#255e46;color:white;border-color:#255e46}.primary:hover,.button:hover{background:#174f37}#landing{padding-top:45px}#landing>.button{padding:13px 26px}.features,.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin:30px 0}.features{margin:70px 0}.features article{border-top:3px solid #a6bea5;padding:20px 0}.card{background:white;border:1px solid #dfe6dd;border-radius:10px;padding:22px;overflow-wrap:anywhere}.card.featured{border:2px solid #528a65}.price{font-size:32px;font-weight:800}section#plans{margin:70px 0}.page-title{display:flex;align-items:center;justify-content:space-between}.page-title h1{font-size:34px}.banner{background:#fff2d1;padding:16px;border-radius:8px}#account-panel{background:#edf2e9;padding:20px;border-radius:10px}label{display:block;margin:12px 0;font-size:13px;font-weight:600}input,select{display:block;font:inherit;font-size:16px;width:100%;min-width:0;border:1px solid #ccd7ce;border-radius:6px;background:white;padding:10px;color:#263d38}input[type=checkbox]{display:inline;width:auto;margin-right:7px}.check{display:flex;align-items:center;white-space:nowrap}.toolbar{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.toolbar>input{flex:1;min-width:150px}.toolbar label{margin:0}.shop-row{background:white;border-bottom:1px solid #e0e5dd;display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:20px;padding:20px;align-items:center}.shop-row h3{font-size:17px}.metric{font-size:24px;font-weight:700}.metric small{font-size:13px;font-weight:400}.muted{color:#7b8981;font-size:12px}.badge{display:inline-block;padding:2px 8px;font-size:12px;border-radius:4px;background:#e7f2e5;color:#286343}.shop-actions{display:flex;gap:8px}.empty{border:1px dashed #cbd6cc;padding:25px;color:#78867e;text-align:center;border-radius:8px}.party{display:grid;grid-template-columns:1fr 1fr;gap:20px}dialog{border:0;border-radius:12px;max-width:560px;width:calc(100% - 32px);padding:30px;max-height:90vh;overflow:auto;color:#263d38}dialog::backdrop{background:#16251b66}.close{float:right;padding:0 10px;font-size:24px;border:0}#auth,#token-panel{max-width:420px;margin:60px auto}#auth h1,#token-panel h1{font-size:32px}#auth-form button{width:100%;margin:15px 0}#auth>button{border:0;background:transparent;padding:8px;font-size:13px}#notice:not(:empty){background:#e6eedf;padding:14px;border-radius:7px;margin:15px 0}.time-buttons{display:flex;gap:8px}#qr-content{text-align:center}#qr-content img{width:250px;max-width:100%}footer{border-top:1px solid #dfe6dd;display:flex;flex-wrap:wrap;gap:20px;font-size:12px;color:#708074}footer p{width:100%;margin:0}svg.history{width:100%;height:auto}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:7px;border-bottom:1px solid #e4e8e1}[hidden]{display:none!important}@media(max-width:650px){header,main,footer{padding:18px}nav{gap:12px;font-size:12px}.shop-row{grid-template-columns:1fr 1fr;gap:10px}.shop-row>div:first-child{grid-column:1/-1}.shop-actions{grid-column:1/-1}.shop-actions button{flex:1}.page-title{align-items:flex-start;gap:12px}.page-title h1{font-size:28px}.page-title>button{font-size:12px}.cards{grid-template-columns:1fr}.features{grid-template-columns:1fr;margin:40px 0}.toolbar{gap:12px}#landing{padding-top:20px}dialog{padding:22px}.lead{font-size:17px}}
