:root{--forest:#143e34;--deep:#102f29;--ivory:#f6f1e5;--gold:#e8c47f;--muted:#b9c9b9;--wine:#6e3744}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ivory);color:var(--deep);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.6}h1,h2,h3,.brand{font-family:Georgia,Times New Roman,serif;font-weight:400;line-height:1.1}h1{margin:20px 0;font-size:clamp(2.5rem,6vw,5.8rem)}h2{margin:12px 0 20px;font-size:clamp(2rem,4vw,3rem)}h3{font-size:1.7rem}em{color:var(--gold);font-weight:400}a{color:inherit;text-decoration:none}button,.button{background:var(--forest);color:var(--ivory);cursor:pointer;text-align:center;border:1px solid #0000;border-radius:6px;min-height:48px;padding:15px 24px;font:600 15px/1.4 Arial,sans-serif;display:inline-block}button:hover,.button:hover{filter:brightness(1.1)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #bf8d38}.gold{background:var(--gold);color:var(--deep)}.secondary{color:var(--deep);background:0 0;border-color:#637b70}nav{justify-content:space-between;align-items:center;gap:20px;padding:30px 0;display:flex}.brand{letter-spacing:-1.4px;font-size:32px}.brand i{color:var(--gold)}.brand span{letter-spacing:3px;margin-top:10px;font:9px Arial;display:block}.small{background:0 0;border:1px solid #638074;padding:10px 18px;font-size:13px}.eyebrow{letter-spacing:2.4px;font-size:11px;font-weight:700}.fine{opacity:.8;font-size:13px;line-height:1.6}.muted{color:#637168}.landing{background:var(--forest);color:var(--ivory);padding:0 max(6vw,24px)}.hero{border-bottom:1px solid #466458;padding:76px 0 94px;position:relative;overflow:hidden}.hero h1{z-index:1;position:relative}.hero .eyebrow{color:var(--gold)}.intro{color:#d7e0d4;margin:26px 0 32px;font-size:19px}.hero .fine{margin-top:22px}.orbit{color:var(--gold);opacity:.75;font:280px Georgia;position:absolute;top:13%;right:7%;transform:rotate(-18deg)}.orbit:before,.orbit:after{content:"";border:1px solid #dabc7055;border-radius:50%;position:absolute;inset:-45px}.orbit:after{inset:-75px}.orbit span{font-size:70px;position:absolute;top:45%;left:-60px}#bookshelf{padding:64px 0 75px}#bookshelf .muted{color:#c0cdbd}.books{grid-template-columns:repeat(3,1fr);gap:26px;margin-top:36px;display:grid}.book{text-align:center;border:1px solid #d6bd7955;border-radius:4px 12px 12px 4px;flex-direction:column;align-items:center;min-height:450px;padding:28px 30px 24px;transition:transform .2s;display:flex;position:relative;box-shadow:inset 8px 0 #0002,8px 14px 30px #0002}.book:before{content:"";pointer-events:none;border:1px solid #d6bd7944;position:absolute;inset:14px}.dragon{color:#244234;background:#e8d5a8}.manor{color:#ded2b6;background:#303b52}.haunted{color:#ebd8c7;background:#603f49}.book-tag,.book-footer{letter-spacing:1.6px;font-size:10px;font-weight:700}.book h3{margin:0 0 14px;font-size:clamp(1.4rem,2.4vw,2.2rem)}.book p{opacity:.85;font-size:14px;line-height:1.6}.book-footer{margin-top:auto;padding-top:25px}.cover-art{margin:22px 0;font:100px/1 Georgia;position:relative}.cover-art span{font-size:32px;position:absolute;top:5px;right:-30px}.book[href]:hover{transform:translateY(-7px)}.how{border-top:1px solid #466458;grid-template-columns:repeat(3,1fr);gap:48px;padding:50px 0 65px;display:grid}.how span{color:var(--gold);letter-spacing:1.6px;font-size:10px}.how h3{font-size:24px;line-height:1.3}.how p{color:#c0cdbd;font-size:14px}footer{border-top:1px solid #466458;justify-content:space-between;gap:25px;padding:35px 0;font-size:13px;display:flex}footer span{opacity:.7}.player-shell{max-width:880px;margin:auto;padding:0 24px 50px}.player-shell nav{border-bottom:1px solid #d3d9cd;margin-bottom:28px}.player-shell .brand i{color:#997139}.panel{background:#fffcf4;border:1px solid #d9dfd1;border-radius:12px;margin:20px 0;padding:32px 42px}.join{max-width:650px;margin:40px auto}.join h1{font-size:2.8rem}.join em{color:#816132}form{gap:18px;margin:24px 0;display:grid}label{gap:6px;font-size:14px;font-weight:600;display:grid}input,select{width:100%;font:inherit;color:var(--deep);background:#fffdf8;border:1px solid #85998c;border-radius:5px;min-height:48px;padding:13px}.two-col{grid-template-columns:1fr 1fr;gap:16px;display:grid}.demo-banner{background:#f2dbab;border:1px solid #b39049;border-radius:6px;padding:14px 18px;font-size:13px;font-weight:600}.error{color:#602332;background:#f7dfe0;border:1px solid #a65361;border-radius:6px;padding:16px}.connection{color:#516957;font-size:12px}.session-head{justify-content:space-between;align-items:center;margin:24px 0 15px;display:flex}.code{letter-spacing:4px;background:#e6e9dc;border-radius:6px;padding:6px 12px;font:700 20px monospace}.players{grid-template-columns:1fr 1fr;gap:12px;display:grid}.players>div{border:1px solid #cad2c4;border-radius:8px;grid-template-columns:40px 1fr;align-items:center;padding:12px;font-size:14px;display:grid}.players>div>span:last-child{color:#536654;grid-column:2;font-size:12px}.avatar{color:#967137;grid-row:span 2;font-size:25px}.panel>button{margin:6px 10px 6px 0}details{border:1px solid #d4d9c9;border-radius:5px;padding:15px}summary{cursor:pointer;font-size:14px}details label{margin-top:16px}.stats{margin-bottom:0}.story h1{font-size:clamp(2rem,5vw,3.3rem)}.scene-art{color:#eacb8e;background:radial-gradient(at 50% 120%,#b49a5b 0,#0000 60%),#244e41;border-radius:6px;place-items:center;height:170px;margin-bottom:28px;display:grid;position:relative;overflow:hidden}.scene-art:before,.scene-art:after{content:"✧";font-size:25px;position:absolute;top:15%;left:20%}.scene-art:after{font-size:16px;top:55%;left:auto;right:17%}.scene-art span{font:95px Georgia}.prose{font-size:19px;line-height:1.8}.clue,blockquote{background:#f0eddd;border-left:3px solid #bda05d;margin:25px 0;padding:20px 24px;font-size:16px}.choices{gap:12px;margin:26px 0;display:grid}.choices button{color:var(--deep);text-align:left;background:#f4f0e3;border:1px solid #9eaf99}.result{background:#e6eddf;border-radius:8px;margin:25px 0;padding:22px}.result p,.recap p{white-space:pre-line}.session-tools{flex-wrap:wrap;gap:12px;display:flex}.session-tools button{font-size:12px}.recap{border-bottom:1px solid #d3d9cd;padding:10px 0}.recap h3{font-size:22px}@media (max-width:700px){.landing{padding:0 22px}.hero{padding:50px 0}.orbit{opacity:.25;font-size:170px;top:12%;right:-75px}.hero h1{font-size:3.4rem}.books{grid-template-columns:1fr;max-width:420px;margin:30px auto}.book{min-height:420px}.book h3{font-size:32px}.how{grid-template-columns:1fr;gap:12px}footer{flex-direction:column}.panel{padding:24px}.player-shell{padding:0 16px 35px}.brand{font-size:27px}nav>.eyebrow{display:none}.players{gap:8px}.players>div{padding:10px}.prose{font-size:18px}.join h1{font-size:2.2rem}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.text-link{text-underline-offset:3px;text-decoration:underline}.tester-guide h1{font-size:clamp(2rem,5vw,3rem)}.tester-guide li{margin:12px 0}.tester-guide a:not(.brand){text-underline-offset:3px;text-decoration:underline}.story .prose{white-space:pre-line;overflow-wrap:anywhere;max-width:60ch}.story blockquote p{margin-bottom:0}.story blockquote strong{font-style:normal}.recap p{white-space:pre-line;overflow-wrap:anywhere;line-height:1.8}.keepsakes{border:1px solid;border-radius:12px;padding:20px}.story .result p{overflow-wrap:anywhere;line-height:1.8}.join-illustration{object-fit:cover;border-radius:12px 12px 0 0;width:calc(100% + 84px);max-width:none;height:230px;margin:-32px -42px 24px}.book-illustration{object-fit:cover;width:calc(100% + 60px);height:210px;margin:22px -30px}.experience{padding:0;overflow:hidden;box-shadow:0 14px 45px #143e3409}.chapter-art{background:#143e34;height:270px;position:relative;overflow:hidden}.chapter-art img{object-fit:cover;object-position:center 48%;width:100%;height:100%}.chapter-art:after{content:"";background:linear-gradient(#0000,#102f29d9);position:absolute;inset:60% 0 0}.chapter-stamp{z-index:1;color:#f5ddb0;letter-spacing:2px;font-size:11px;font-weight:700;position:absolute;bottom:20px;left:32px}.chapter-emblem{color:#e8c47f;background:radial-gradient(at 50% 100%,#4e6750,#0000 70%);flex-direction:column;justify-content:center;align-items:center;gap:10px;height:100%;display:flex}.chapter-emblem>span{font:90px/1 Georgia}.chapter-emblem>small{letter-spacing:5px;font-size:10px}.story-page{padding:30px 42px 38px;animation:.35s ease-out page-arrives}.story-page h1{outline:none;scroll-margin-top:24px}.journey{gap:7px;margin:2px 0 28px;display:flex}.journey span{background:#e2e4d9;border-radius:3px;flex:1;height:3px}.journey .visited{background:#94712e}.together-note{background:#eee8d6;border:1px solid #ddd0ae;border-radius:0 14px 14px;gap:16px;margin:28px 0;padding:20px 22px;display:flex}.together-note>span{color:#806126;font-size:26px}.together-note p{margin:6px 0 12px;line-height:1.7}.together-note small,.secret-note small{color:#53624e;font-size:12px}.secret-note{background:#fcf5e5;border:1px dashed #a88c52;border-radius:12px;margin:28px 0;padding:26px;box-shadow:0 5px #ede3ca}.choice-intro h2{margin:0;font-size:26px}.choice-intro p{color:#637168;margin:8px 0;font-size:14px}.choices button{background:#fffdf7;border-color:#b7c0ac;border-radius:12px;align-items:center;gap:16px;padding:18px;transition:transform .15s,background .15s;display:flex}.choices button:not(:disabled):hover{background:#eef1e5;transform:translateY(-2px)}.choice-letter{border:1px solid #aab798;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font:18px Georgia;display:grid}.choices button:disabled{opacity:.75}.choices button.sealed{opacity:1;background:#e4ebdb;border-color:#4a694f}.sealed-note{background:#eee8d6;border-radius:8px;padding:16px;font-size:14px}.reveal-stage{background:#edf1e5;border:1px solid #cbd5bd;border-radius:14px;margin:28px 0;padding:24px;animation:.35s ease-out page-arrives}.reveal-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.reveal-pair>div{background:#fffdf7;border-top:3px solid #b99a59;border-radius:10px;padding:18px}.reveal-pair p{overflow-wrap:anywhere;margin:12px 0 0;font-family:Georgia,serif;font-size:21px;line-height:1.4}.reveal-pair .eyebrow{letter-spacing:1px;overflow-wrap:anywhere}.result-prose{font-size:17px!important}.roll-stage{text-align:center;background:#f0eddd;border-radius:14px;margin:24px 0;padding:24px}.die{color:#294e3b;font:64px/1.3 Georgia}.roll-result{align-items:center;gap:22px;display:flex}.next-course{text-align:right;border-top:1px solid #d9dfcf;margin-top:28px;padding-top:14px}.keepsake-card{background:#f7efd9;border:1px solid #c5aa6c;border-radius:12px;margin-top:30px;padding:28px}.keepsake-card h2{font-size:30px}.keepsake-list{flex-wrap:wrap;gap:10px;margin:22px 0;display:flex}.keepsake-list span{border:1px solid #bdab7b;border-radius:40px;padding:8px 14px;font-size:14px}.evening-recap{background:#fffaf0}.session-tools{opacity:.85;margin-top:32px}.players strong{overflow-wrap:anywhere}.story .prose{white-space:pre-line}.finale .chapter-stamp{color:#ffe4a5}@keyframes page-arrives{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media (max-width:700px){.story-page{padding:24px 22px 30px}.chapter-art{height:225px}.chapter-stamp{left:22px}.join-illustration{width:calc(100% + 48px);height:190px;margin:-24px -24px 20px}.reveal-pair{grid-template-columns:1fr}.reveal-stage{padding:18px}.together-note{padding:18px 16px}.keepsake-card{padding:22px}.next-course button{width:100%}.book-illustration{height:230px}.experience{padding:0}}.dessert-machine{background:linear-gradient(130deg,#f6ecd6,#eee5cc);border:1px solid #b79b69;border-radius:18px;margin:28px 0;padding:28px}.machine-header h2{font-size:30px}.role-badge{background:#f9f7ec;border:1px solid #577055;border-radius:40px;padding:8px 14px;font-size:14px;font-weight:700;display:inline-block}.recipe-scroll{background:#fffaf0;border:1px dashed #bdab83;border-radius:12px;padding:20px;list-style:none}.recipe-scroll li{align-items:baseline;gap:18px;display:flex}.recipe-scroll li>span{color:#80632f;font:24px Georgia}.recipe-scroll p{margin:12px 0}.mixing-tray{grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0;display:grid}.mixing-tray>div{background:#fffaf0;border:1px solid #c3b48e;border-radius:12px;flex-direction:column;align-items:center;padding:14px 4px;display:flex}.mixing-tray span{font:40px/1.5 Georgia}.mixing-tray small{color:#706443;font:12px monospace}.mixing-tray strong{font-size:13px}.machine-controls{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.machine-controls button{color:var(--forest);background:#fffaf0;border:1px solid #8e9c7c;border-radius:12px;flex-direction:column;align-items:center;min-height:92px;padding:14px 8px;display:flex}.machine-controls button>span{font:36px Georgia}.machine-controls strong{margin-top:8px;font-size:13px}.machine-controls button:active{transform:translateY(2px)}.machine-actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.machine-feedback{background:#fffaf0;border-left:3px solid #687e50;border-radius:8px;padding:18px}.machine-wait{background:#e3e8d6;border-radius:10px;padding:16px;font-size:14px}@media (max-width:700px){.dessert-machine{padding:20px 16px}.machine-controls{grid-template-columns:repeat(2,1fr)}.machine-actions>button{width:100%}}.keepsake-actions{flex-wrap:wrap;gap:12px;margin:18px 0;display:flex}.keepsake-preview{white-space:pre-wrap;overflow-wrap:anywhere;background:#fff9ed;border-radius:12px;padding:16px}.return-visit{border-top:1px solid #b99c62;margin-top:24px;padding-top:20px}.keepsake-card h2{overflow-wrap:anywhere}.glasshouse{color:#203c2b;background:#edf1df;border:2px solid #92794e;border-radius:24px;margin:20px 0;padding:24px}.garden-window{text-align:center;max-width:420px;margin:16px auto}.garden-window svg{width:100%;display:block}.garden-window span{font-family:Georgia,serif}.plant-observation{white-space:pre-line;background:#fffaf0;border-radius:12px;padding:20px;line-height:1.8}.garden-console{background:#e1c995;border:4px solid #8e7045;border-radius:16px;padding:18px}.garden-console fieldset{border:0;margin:16px 0;padding:0}.garden-console legend{margin-bottom:12px;font-weight:700}.garden-settings{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.garden-settings button{gap:6px;padding:14px 4px;display:grid}.garden-settings button[aria-pressed=true]{outline-offset:2px;outline:3px solid #7b382b}.garden-settings small{font-size:12px}.glasshouse>button{margin:12px 8px 0 0}.blooming svg{filter:drop-shadow(0 0 12px #eacb77)}
