:root{color-scheme:light;--bg:#f1e9dc;--ink:#3b4938;--muted:#839075;--line:#cbd0b9;--green:#6c835a;--gold:#a58146}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top left,#fff9e9,#f1e7d7 70%);color:var(--ink);font:14px system-ui,-apple-system,sans-serif}main{max-width:1430px;margin:auto;padding:0 38px}button,select{font:inherit}button{cursor:pointer;color:var(--ink);border:1px solid var(--line);background:#fbf6e9;border-radius:7px;padding:10px 13px}button:hover:not(:disabled){background:#e3ebd3;border-color:#8a9d73}button:disabled{opacity:.4;cursor:default}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #bf9248;outline-offset:3px}a{color:#718258;text-underline-offset:3px}header{height:77px;border-bottom:1px solid #d2d4bc;display:flex;align-items:center;justify-content:space-between}header>a{font-size:14px;letter-spacing:2.5px;font-weight:750;text-decoration:none;color:#53684d}header>div{display:flex;align-items:center;gap:7px}header span{font:italic 14px Georgia;color:#a28e6c;margin-right:23px}header button{font-size:12px;background:transparent;border:0}.intro{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:29px 0 25px}.eyebrow{font-size:9px;letter-spacing:2px;color:#ab8650;font-weight:700;margin:0 0 10px}h1{font:400 43px/1.1 Georgia,serif;margin:0 0 11px;letter-spacing:-.8px}h1 em{color:#85956a}.intro p:not(.eyebrow){font-size:12px;color:#879078;margin:0}.chapter{display:flex;flex-direction:column;gap:8px;min-width:260px}.chapter label{font-size:9px;letter-spacing:1.5px;color:#869171}.chapter select{border:1px solid #bec8ac;background:#fbf6e9;border-radius:7px;padding:12px;color:#56674a}.chapter small{text-align:right;font-size:10px;color:#93a17c}.lane{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px}.cottage{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #d5d6bd;background:linear-gradient(140deg,#fcf9ee,#ebeccf);border-radius:12px;min-height:164px;position:relative;padding:12px;gap:5px}.cottage:nth-child(2){background:linear-gradient(140deg,#fbf6e9,#f0e0bd)}.cottage:nth-child(3){background:linear-gradient(140deg,#fff8ed,#ead8cf)}.cottage:nth-child(4){background:linear-gradient(140deg,#fcf9ee,#dce4db)}.house-number{font-size:8px;letter-spacing:1.8px;color:#8f9674}.roof{position:absolute;left:15px;top:9px;color:#aab08f;font-size:26px}.cottage img{width:65px;height:65px;border-radius:50%;border:3px solid #fdfae8;box-shadow:0 2px 8px #78864622;object-fit:cover}.cottage strong{font:400 18px Georgia}.cottage small{font-size:9px;color:#8b9578}.mystery{font:italic 46px Georgia;color:#a7b28d;font-weight:400}.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.workspace{background:#fcf8ed;border:1px solid #c7cfb4;border-radius:11px;overflow:hidden;position:relative}.topbar{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;background:#edf0dc;border-bottom:1px solid #d2d7bf}.topbar strong{font-size:13px;font-weight:550}.topbar span{font-size:11px;color:#96a07f}#boards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:24px 18px}.matrix-panel h3{font:400 21px Georgia;margin:0 0 12px;color:#7b8b64}.matrix{display:grid;grid-template-columns:64px repeat(4,minmax(0,1fr));gap:3px}.corner,.column-label{min-height:42px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:9px;color:#8a9577;line-height:1.3;overflow-wrap:anywhere}.resident{display:flex;flex-direction:column;align-items:start;justify-content:center;gap:2px;padding:2px 2px 2px 0}.resident img{width:32px;height:32px;border-radius:50%;object-fit:cover;border:1px solid #d1d4b9}.resident span{font-size:9px;color:#869175}.mark{padding:0;border-radius:4px;min-height:49px;min-width:0;font:400 21px/1 Georgia;background:#f5f4e3;border:1px solid #d6dcc2;color:#bbc1a7}.mark.yes{background:#a9be8c;color:#fffef2;border-color:#92ac74;font:500 22px/1 system-ui}.mark.no{background:#f4eedf;color:#c6b19a;font:400 21px/1 system-ui}.legend{padding:2px 20px 17px;display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#9ba585}.tools{display:flex;gap:8px;flex-wrap:wrap;padding:16px 20px;border-top:1px solid #d8ddc6;background:#f4f3e4}.tools button{font-size:11px;padding:9px 13px}#message{font-size:11px;color:#7c8c68;line-height:1.6;padding:12px 20px;border-top:1px solid #e0e2cf;min-height:43px}.card{border:1px solid #ccd3b8;border-radius:10px;padding:22px;background:#f9f6e9;margin-bottom:16px}h2{font:400 29px/1.2 Georgia;margin:0 0 11px}.small{font-size:11px;line-height:1.6;color:#929e80;margin:0 0 12px}#clues{padding:0;list-style:none;counter-reset:clues;margin:0}#clues li{margin:8px 0;counter-increment:clues}.clue{position:relative;text-align:left;padding:12px 12px 12px 32px;background:#f0f1df;font-size:11px;line-height:1.6;width:100%;border-color:#d8ddc4}.clue:before{content:counter(clues);position:absolute;left:12px;top:13px;font:italic 13px Georgia;color:#a2ad88}.clue.crossed{opacity:.5;text-decoration:line-through;background:#eeeddd}.tip p:not(.eyebrow){font-size:11px;line-height:1.7;color:#8c9978}.keys{font-size:9px!important;border-top:1px solid #d7ddc3;padding-top:11px}.primary{background:#7d9468;color:#fffdf0;border-color:#7d9468}.primary:hover:not(:disabled){background:#94a879;color:#fff}.hidden{display:none!important}#win{position:absolute;inset:10% 8%;background:#f9f6e7fa;border:1px solid #b3c29a;box-shadow:0 15px 60px #4a563344;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}#win h2{font-size:36px;max-width:380px}#win p:not(.eyebrow){font-size:12px;color:#91a07c}#win button{margin:6px}footer{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#9ba58b;padding:23px 0 30px}dialog{max-width:620px;width:calc(100% - 30px);border:1px solid #b6c29d;border-radius:15px;background:#faf6e8;color:#627552;padding:32px;font-size:13px;line-height:1.7;box-shadow:0 20px 80px #33452f77}dialog::backdrop{background:#2b4331a8;backdrop-filter:blur(5px)}dialog h2{font-size:33px}.close{position:absolute;top:8px;right:10px;font-size:23px;background:none;border:0;padding:0 7px}code{font-size:11px;overflow-wrap:anywhere}@media(max-width:1120px){main{padding:0 22px}.layout{grid-template-columns:minmax(0,1fr) 260px;gap:15px}#boards{grid-template-columns:1fr;gap:18px;padding:18px}.matrix{grid-template-columns:78px repeat(4,minmax(0,1fr));max-width:450px}.resident{flex-direction:row;align-items:center;gap:5px}.resident img{width:28px;height:28px}.mark{min-height:40px}.column-label{min-height:25px}.matrix-panel h3{font-size:19px;margin-bottom:5px}.legend{flex-direction:column;gap:4px}.card{padding:18px}header span{display:none}.lane{gap:10px}.cottage{min-height:150px}h1{font-size:39px}}@media(max-width:730px){main{padding:0 14px}header{height:63px}header>a{font-size:12px;letter-spacing:1.5px}header button{font-size:10px;padding:6px}.intro{align-items:start;gap:12px;padding:23px 0 20px}.intro .eyebrow{font-size:7px;letter-spacing:1.3px}h1{font-size:31px;max-width:215px}.intro p:not(.eyebrow){font-size:10px;line-height:1.5}.chapter{min-width:0;width:43%;max-width:210px;gap:6px}.chapter label{font-size:7px;letter-spacing:1px}.chapter select{font-size:10px;padding:9px 4px;width:100%}.chapter small{font-size:8px}.lane{gap:6px;margin-bottom:15px}.cottage{padding:9px 3px;min-height:123px;gap:4px;border-radius:8px}.roof{display:none}.house-number{font-size:6px;letter-spacing:1px}.cottage img{width:44px;height:44px;border-width:2px}.cottage strong{font-size:13px;text-align:center}.cottage small{font-size:7px;text-align:center}.mystery{font-size:37px}.layout{grid-template-columns:1fr;gap:13px}.topbar{padding:13px 15px}.topbar strong{font-size:12px}.topbar span{font-size:10px}#boards{padding:14px;gap:18px}.matrix{grid-template-columns:68px repeat(4,minmax(0,1fr))}.mark{min-height:43px}.column-label{font-size:9px;min-height:24px}.resident img{width:27px;height:27px}.resident span{font-size:9px}.matrix-panel h3{font-size:20px}.tools{padding:12px 14px;gap:6px}.tools button{font-size:10px;padding:8px 9px}.legend{font-size:8px;padding:0 14px 12px}#message{padding:11px 14px;font-size:10px}.card{padding:18px}.card h2{font-size:27px}aside{display:grid;grid-template-columns:1fr;gap:0}.clue{font-size:12px}#win{inset:20% 6%;max-height:460px}#win h2{font-size:29px}footer{flex-direction:column;gap:5px;font-size:9px}dialog{padding:25px}}
