:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#17211b;background:#f3f0e8;font-synthesis:none;line-height:1.5}*{box-sizing:border-box}html{min-width:320px;background:#f3f0e8}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{min-height:44px;border:1px solid #264f3a;border-radius:999px;padding:.65rem 1rem;background:transparent;color:#173825;cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #d65a32;outline-offset:2px}button[aria-current=page],.primary{background:#173825;color:#fff}button:disabled{opacity:.45;cursor:not-allowed}a{color:#1f6040;overflow-wrap:anywhere}header{position:sticky;z-index:10;top:0;display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:.85rem max(1rem,env(safe-area-inset-right)) .85rem max(1rem,env(safe-area-inset-left));border-bottom:1px solid #cbc6ba;background:#fffdf8f5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand{min-height:44px;border:0;border-radius:.25rem;padding:.35rem 0;font-family:Georgia,serif;font-size:clamp(1.05rem,2vw,1.3rem);font-weight:700;white-space:nowrap}nav{display:flex;gap:.5rem}nav button{white-space:nowrap}main{width:min(720px,calc(100% - 2rem));min-height:calc(100vh - 190px);margin:clamp(2.5rem,8vh,6rem) auto}.eyebrow{margin-bottom:.75rem;color:#9b3d24;font-size:clamp(.78rem,2vw,.9rem);font-weight:700;text-transform:uppercase;letter-spacing:.08em}h1{max-width:100%;margin:0 0 1.5rem;font-family:Georgia,serif;font-size:clamp(2.25rem,8vw,4rem);line-height:.98;overflow-wrap:anywhere}h2{line-height:1.2}.clue{margin:1.25rem 0;padding:clamp(1rem,4vw,1.5rem);border-left:5px solid #d65a32;background:#fffdf8;font-size:clamp(1rem,3vw,1.2rem);overflow-wrap:anywhere}.clue p{margin:.4rem 0 0}.clue small{color:#9b3d24;font-size:.72em;font-weight:700;text-transform:uppercase}.error{padding:1rem;border-radius:.5rem;background:#fee4dd;color:#7b2114;overflow-wrap:anywhere}label{display:block;margin:1.5rem 0 .5rem;font-weight:700}input{width:100%;min-height:48px;padding:.85rem 1rem;border:1px solid #847f74;border-radius:.5rem;background:#fff;font-size:1rem}.suggestions{max-height:min(45vh,320px);margin:.25rem 0;padding:0;overflow-y:auto;border:1px solid #cbc6ba;background:#fff;list-style:none;overscroll-behavior:contain}.suggestions button{width:100%;border:0;border-radius:0;padding:.8rem 1rem;text-align:left;overflow-wrap:anywhere}.suggestions button[aria-selected=true],.suggestions button:focus-visible{background:#e5eee8;outline:2px solid #173825;outline-offset:-2px}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.actions button{flex:1 1 auto}.no-more-clues{flex:1 1 100%;margin:0;padding:.65rem 1rem;border-radius:.5rem;background:#e6e1d5;color:#574f42;text-align:center}footer{padding:2rem max(1rem,env(safe-area-inset-right)) max(2rem,env(safe-area-inset-bottom));color:#625f57;text-align:center}.position{margin:-1rem 0 1.5rem;color:#4f574f;font-size:clamp(1rem,3vw,1.1rem);overflow-wrap:anywhere}.result img,.photo-fallback{display:flex;width:min(100%,480px);aspect-ratio:4 / 3;align-items:center;justify-content:center;margin:1.5rem 0 .4rem;background:#dedbd2;color:#625f57;object-fit:cover}.result>small{display:block;max-width:480px;overflow-wrap:anywhere}.result-clue{margin:2rem 0;padding-top:1rem;border-top:1px solid #cbc6ba;overflow-wrap:anywhere}.result-clue ul{padding-left:1.25rem}.result-clue li{margin:.5rem 0}.stage{display:inline-block;margin:0;padding:.25rem .6rem;border-radius:999px;background:#e6e1d5;color:#574f42;font-size:.85rem;font-weight:700}@media(max-width:720px){header{position:static;align-items:stretch;flex-direction:column;gap:.65rem}.brand{align-self:flex-start}nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}nav button{width:100%;padding-inline:.6rem}main{width:min(100% - 1.5rem,680px);min-height:calc(100vh - 230px);margin:2.5rem auto}}@media(max-width:460px){header{padding:.65rem .75rem}main{width:calc(100% - 1.25rem);margin:1.75rem auto 2.5rem}h1{font-size:clamp(2.1rem,13vw,3rem)}.clue{border-left-width:4px}.actions{display:grid;grid-template-columns:1fr}.actions button,.result>button{width:100%}.result img,.photo-fallback{width:100%;aspect-ratio:1 / 1}.result-clue ul{padding-left:1rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
