:root{--color-text:#222;--color-border:#b7b7b7;--color-focus:#005fcc;--color-error:#b42318}*,:before,:after{box-sizing:border-box}body{color:var(--color-text);margin:0;font-family:Arial,sans-serif;line-height:1.5}a{color:#005fcc}button,input,textarea{font:inherit}input,textarea{border:1px solid var(--color-border);width:100%;padding:.6rem}button{padding:.6rem 1rem}input:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}h1,h2,p{margin-top:0}fieldset{border:0;margin:0 0 1rem;padding:0}legend{margin-bottom:.5rem;font-weight:700}.hidden{display:none!important}.skip-link{background:#fff;padding:.5rem;position:absolute;top:.5rem;left:.5rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.page-header,.page-content{width:min(100% - 2rem,42rem);margin:0 auto}.page-header{padding:1.5rem 0 1rem}.page-content{padding-bottom:2rem}.page-content>*+*,[data-detail-section]>*+*{margin-top:1rem}.cafe-list{margin:0;padding:0;list-style:none}.cafe-list li{border-bottom:1px solid var(--color-border);padding:.75rem 0}.cafe-list li:last-child{border-bottom:0}.review-list{margin:0;padding-left:1.25rem}.review-list li+li{margin-top:.5rem}.error-summary{color:var(--color-error);margin-bottom:1rem}.error-summary ul{margin:.5rem 0 0;padding-left:1.25rem}.error-summary li+li{margin-top:.25rem}form p{margin-bottom:1rem}.rating-options{align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.rating-options input{width:auto}.field-error{color:var(--color-error);margin-top:.25rem;display:block}.invalid{border-color:var(--color-error)}@media (width>=48rem){.page-header,.page-content{width:min(100% - 4rem,48rem)}}
